From 77d4353a0a07b994a917b7d7fa2e63a48bd1a5c4 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 22:33:55 -0700 Subject: [PATCH 01/11] Update font icons, use font-display:swap --- resources/assets/sass/lib/fontawesome.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/assets/sass/lib/fontawesome.scss b/resources/assets/sass/lib/fontawesome.scss index c710c14b1..2a70ab85e 100644 --- a/resources/assets/sass/lib/fontawesome.scss +++ b/resources/assets/sass/lib/fontawesome.scss @@ -4255,7 +4255,7 @@ readers do not read off random characters that represent icons */ font-family: 'Font Awesome 5 Brands'; font-style: normal; font-weight: normal; - font-display: auto; + font-display: swap; src: url("/fonts/fa-brands-400.eot"); src: url("/fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("/fonts/fa-brands-400.woff2") format("woff2"), url("/fonts/fa-brands-400.woff") format("woff"), url("/fonts/fa-brands-400.ttf") format("truetype"), url("/fonts/fa-brands-400.svg#fontawesome") format("svg"); } @@ -4265,7 +4265,7 @@ readers do not read off random characters that represent icons */ font-family: 'Font Awesome 5 Free'; font-style: normal; font-weight: 400; - font-display: auto; + font-display: swap; src: url("/fonts/fa-regular-400.eot"); src: url("/fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("/fonts/fa-regular-400.woff2") format("woff2"), url("/fonts/fa-regular-400.woff") format("woff"), url("/fonts/fa-regular-400.ttf") format("truetype"), url("/fonts/fa-regular-400.svg#fontawesome") format("svg"); } @@ -4276,7 +4276,7 @@ readers do not read off random characters that represent icons */ font-family: 'Font Awesome 5 Free'; font-style: normal; font-weight: 900; - font-display: auto; + font-display: swap; src: url("/fonts/fa-solid-900.eot"); src: url("/fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("/fonts/fa-solid-900.woff2") format("woff2"), url("/fonts/fa-solid-900.woff") format("woff"), url("/fonts/fa-solid-900.ttf") format("truetype"), url("/fonts/fa-solid-900.svg#fontawesome") format("svg"); } From 001d410579191070e2e1b0bc89c948ce05952bd4 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 22:35:43 -0700 Subject: [PATCH 02/11] Update ComposeModal, limit visibility scope for private accounts --- .../assets/js/components/ComposeModal.vue | 46 +++++++++++++------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/resources/assets/js/components/ComposeModal.vue b/resources/assets/js/components/ComposeModal.vue index 729cc03aa..f700f0373 100644 --- a/resources/assets/js/components/ComposeModal.vue +++ b/resources/assets/js/components/ComposeModal.vue @@ -479,9 +479,26 @@
-
Public
-
Unlisted
-
Followers Only
+
+ Public +
+
+ Unlisted +
+
+ Followers Only +
@@ -641,7 +658,7 @@ export default { return { config: window.App.config, pageLoading: false, - profile: {}, + profile: window._sharedData.curUser, composeText: '', composeTextLength: 0, nsfw: false, @@ -708,20 +725,19 @@ export default { methods: { fetchProfile() { - let self = this; - if(window._sharedData.curUser) { - self.profile = window._sharedData.curUser; - if(self.profile.locked == true) { - self.visibility = 'private'; - self.visibilityTag = 'Followers Only'; + if(window._sharedData.curUser.id) { + this.profile = window._sharedData.curUser; + if(this.profile.locked == true) { + this.visibility = 'private'; + this.visibilityTag = 'Followers Only'; } } else { axios.get('/api/pixelfed/v1/accounts/verify_credentials').then(res => { - self.profile = res.data; - window.pixelfed.currentUser = res.data; - if(res.data.locked == true) { - self.visibility = 'private'; - self.visibilityTag = 'Followers Only'; + window._sharedData.currentUser = res.data; + this.profile = res.data; + if(this.profile.locked == true) { + this.visibility = 'private'; + this.visibilityTag = 'Followers Only'; } }).catch(err => { }); From f0e48a09a3687a6848b0911abf5f848869489f05 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 22:38:07 -0700 Subject: [PATCH 03/11] Update ComposeController, add autocomplete apis for hashtags and mentions --- app/Http/Controllers/ComposeController.php | 67 ++++++++++++++++++++++ routes/web.php | 2 + 2 files changed, 69 insertions(+) diff --git a/app/Http/Controllers/ComposeController.php b/app/Http/Controllers/ComposeController.php index a51e2ab04..001fc66c1 100644 --- a/app/Http/Controllers/ComposeController.php +++ b/app/Http/Controllers/ComposeController.php @@ -7,6 +7,7 @@ use Auth, Cache, Storage, URL; use Carbon\Carbon; use App\{ Avatar, + Hashtag, Like, Media, MediaTag, @@ -304,6 +305,72 @@ class ComposeController extends Controller return $places; } + public function searchMentionAutocomplete(Request $request) + { + abort_if(!$request->user(), 403); + + $this->validate($request, [ + 'q' => 'required|string|min:2|max:50' + ]); + + $q = $request->input('q'); + + if(Str::of($q)->startsWith('@')) { + if(strlen($q) < 3) { + return []; + } + } + + $blocked = UserFilter::whereFilterableType('App\Profile') + ->whereFilterType('block') + ->whereFilterableId($request->user()->profile_id) + ->pluck('user_id'); + + $blocked->push($request->user()->profile_id); + + $results = Profile::select('id','domain','username') + ->whereNotIn('id', $blocked) + ->where('username','like','%'.$q.'%') + ->groupBy('domain') + ->limit(15) + ->get() + ->map(function($profile) { + $username = $profile->domain ? substr($profile->username, 1) : $profile->username; + return [ + 'key' => '@' . str_limit($username, 30), + 'value' => $username, + ]; + }); + + return $results; + } + + public function searchHashtagAutocomplete(Request $request) + { + abort_if(!$request->user(), 403); + + $this->validate($request, [ + 'q' => 'required|string|min:2|max:50' + ]); + + $q = $request->input('q'); + + $results = Hashtag::select('slug') + ->where('slug', 'like', '%'.$q.'%') + ->whereIsNsfw(false) + ->whereIsBanned(false) + ->limit(5) + ->get() + ->map(function($tag) { + return [ + 'key' => '#' . $tag->slug, + 'value' => $tag->slug + ]; + }); + + return $results; + } + public function store(Request $request) { $this->validate($request, [ diff --git a/routes/web.php b/routes/web.php index 3606ae93d..91b088a90 100644 --- a/routes/web.php +++ b/routes/web.php @@ -113,6 +113,8 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact Route::delete('/media/delete', 'ComposeController@mediaDelete'); Route::get('/search/tag', 'ComposeController@searchTag'); Route::get('/search/location', 'ComposeController@searchLocation'); + Route::get('/search/mention', 'ComposeController@searchMentionAutocomplete'); + Route::get('/search/hashtag', 'ComposeController@searchHashtagAutocomplete'); Route::post('/publish', 'ComposeController@store') ->middleware('throttle:maxPostsPerHour,60') From 063558e3ace7dabe3998cf1152434878122e7eb3 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 22:41:07 -0700 Subject: [PATCH 04/11] Update comment apis --- app/Http/Controllers/InternalApiController.php | 8 +++++--- app/Http/Controllers/PublicApiController.php | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/InternalApiController.php b/app/Http/Controllers/InternalApiController.php index 1a0af7d1a..6766d9445 100644 --- a/app/Http/Controllers/InternalApiController.php +++ b/app/Http/Controllers/InternalApiController.php @@ -132,13 +132,15 @@ class InternalApiController extends Controller public function statusReplies(Request $request, int $id) { + $this->validate($request, [ + 'limit' => 'nullable|int|min:1|max:6' + ]); $parent = Status::whereScope('public')->findOrFail($id); - + $limit = $request->input('limit') ?? 3; $children = Status::whereInReplyToId($parent->id) ->orderBy('created_at', 'desc') - ->take(3) + ->take($limit) ->get(); - $resource = new Fractal\Resource\Collection($children, new StatusTransformer()); $res = $this->fractal->createData($resource)->toArray(); diff --git a/app/Http/Controllers/PublicApiController.php b/app/Http/Controllers/PublicApiController.php index 1402940ef..c1e8ef9f0 100644 --- a/app/Http/Controllers/PublicApiController.php +++ b/app/Http/Controllers/PublicApiController.php @@ -166,7 +166,7 @@ class PublicApiController extends Controller ->whereNull('reblog_of_id') ->whereIn('scope', $scope) ->whereNotIn('profile_id', $filtered) - ->select('id', 'caption', 'is_nsfw', 'rendered', 'profile_id', 'in_reply_to_id', 'type', 'reply_count', 'created_at') + ->select('id', 'caption', 'local', 'is_nsfw', 'rendered', 'profile_id', 'in_reply_to_id', 'type', 'reply_count', 'created_at') ->where('id', '>=', $request->min_id) ->orderBy('id', 'desc') ->paginate($limit); @@ -176,7 +176,7 @@ class PublicApiController extends Controller ->whereNull('reblog_of_id') ->whereIn('scope', $scope) ->whereNotIn('profile_id', $filtered) - ->select('id', 'caption', 'is_nsfw', 'rendered', 'profile_id', 'in_reply_to_id', 'type', 'reply_count', 'created_at') + ->select('id', 'caption', 'local', 'is_nsfw', 'rendered', 'profile_id', 'in_reply_to_id', 'type', 'reply_count', 'created_at') ->where('id', '<=', $request->max_id) ->orderBy('id', 'desc') ->paginate($limit); @@ -186,7 +186,7 @@ class PublicApiController extends Controller ->whereNull('reblog_of_id') ->whereIn('scope', $scope) ->whereNotIn('profile_id', $filtered) - ->select('id', 'caption', 'is_nsfw', 'rendered', 'profile_id', 'in_reply_to_id', 'type', 'reply_count', 'created_at') + ->select('id', 'caption', 'local', 'is_nsfw', 'rendered', 'profile_id', 'in_reply_to_id', 'type', 'reply_count', 'created_at') ->orderBy('id', 'desc') ->paginate($limit); } From 9c8a87c331ab2da71b1be28ba7c2e080a96a6b37 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 23:04:15 -0700 Subject: [PATCH 05/11] Update StatusController, invalidate profile embed cache on status delete --- app/Http/Controllers/StatusController.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/Http/Controllers/StatusController.php b/app/Http/Controllers/StatusController.php index 17ce59fb2..cda8c77ee 100644 --- a/app/Http/Controllers/StatusController.php +++ b/app/Http/Controllers/StatusController.php @@ -74,6 +74,12 @@ class StatusController extends Controller } $template = $status->in_reply_to_id ? 'status.reply' : 'status.show'; + // $template = $status->type === 'video' && + // $request->has('video_beta') && + // $request->video_beta == 1 && + // $request->user() ? + // 'status.show_video' : 'status.show'; + return view($template, compact('user', 'status')); } @@ -212,6 +218,7 @@ class StatusController extends Controller Cache::forget('_api:statuses:recent_9:' . $status->profile_id); Cache::forget('profile:status_count:' . $status->profile_id); + Cache::forget('profile:embed:' . $status->profile_id); StatusService::del($status->id); if ($status->profile_id == $user->profile->id || $user->is_admin == true) { Cache::forget('profile:status_count:'.$status->profile_id); From b2501bfcc3e73fe5d787719dbfa2f6d16c17b033 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 23:14:27 -0700 Subject: [PATCH 06/11] Update moderation api, invalidate profile embed --- app/Http/Controllers/InternalApiController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Http/Controllers/InternalApiController.php b/app/Http/Controllers/InternalApiController.php index 6766d9445..2df78dee3 100644 --- a/app/Http/Controllers/InternalApiController.php +++ b/app/Http/Controllers/InternalApiController.php @@ -312,6 +312,10 @@ class InternalApiController extends Controller } break; } + + Cache::forget('_api:statuses:recent_9:' . $status->profile_id); + Cache::forget('profile:embed:' . $status->profile_id); + return ['msg' => 200]; } From d200c12cf2d18fc4ac3d3fda9ecf89afdd50429a Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 28 Feb 2021 23:25:37 -0700 Subject: [PATCH 07/11] Update Nodeinfo util, use last_active_at for monthly active user count --- app/Util/Site/Nodeinfo.php | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/app/Util/Site/Nodeinfo.php b/app/Util/Site/Nodeinfo.php index 1c9920441..022615e37 100644 --- a/app/Util/Site/Nodeinfo.php +++ b/app/Util/Site/Nodeinfo.php @@ -12,24 +12,31 @@ class Nodeinfo { { $res = Cache::remember('api:nodeinfo', now()->addMinutes(15), function () { $activeHalfYear = Cache::remember('api:nodeinfo:ahy', now()->addHours(12), function() { + // todo: replace with last_active_at after July 9, 2021 (96afc3e781) $count = collect([]); $likes = Like::select('profile_id')->with('actor')->where('created_at', '>', now()->subMonths(6)->toDateTimeString())->groupBy('profile_id')->get()->filter(function($like) {return $like->actor && $like->actor->domain == null;})->pluck('profile_id')->toArray(); $count = $count->merge($likes); $statuses = Status::select('profile_id')->whereLocal(true)->where('created_at', '>', now()->subMonths(6)->toDateTimeString())->groupBy('profile_id')->pluck('profile_id')->toArray(); $count = $count->merge($statuses); - $profiles = Profile::select('id')->whereNull('domain')->where('created_at', '>', now()->subMonths(6)->toDateTimeString())->groupBy('id')->pluck('id')->toArray(); + $profiles = User::select('profile_id', 'last_active_at') + ->whereNotNull('last_active_at') + ->where('last_active_at', '>', now()->subMonths(6)) + ->pluck('profile_id') + ->toArray(); + $newProfiles = User::select('profile_id', 'last_active_at', 'created_at') + ->whereNull('last_active_at') + ->where('created_at', '>', now()->subMonths(6)) + ->pluck('profile_id') + ->toArray(); + $count = $count->merge($newProfiles); $count = $count->merge($profiles); return $count->unique()->count(); }); - $activeMonth = Cache::remember('api:nodeinfo:am', now()->addHours(12), function() { - $count = collect([]); - $likes = Like::select('profile_id')->where('created_at', '>', now()->subMonths(1)->toDateTimeString())->groupBy('profile_id')->get()->filter(function($like) {return $like->actor && $like->actor->domain == null;})->pluck('profile_id')->toArray(); - $count = $count->merge($likes); - $statuses = Status::select('profile_id')->whereLocal(true)->where('created_at', '>', now()->subMonths(1)->toDateTimeString())->groupBy('profile_id')->pluck('profile_id')->toArray(); - $count = $count->merge($statuses); - $profiles = Profile::select('id')->whereNull('domain')->where('created_at', '>', now()->subMonths(1)->toDateTimeString())->groupBy('id')->pluck('id')->toArray(); - $count = $count->merge($profiles); - return $count->unique()->count(); + $activeMonth = Cache::remember('api:nodeinfo:am', now()->addHours(2), function() { + return User::select('last_active_at') + ->where('last_active_at', '>', now()->subMonths(1)) + ->orWhere('created_at', '>', now()->subMonths(1)) + ->count(); }); return [ 'metadata' => [ From 3f8202e29a7995013bef9fb49fba783cd3b88f04 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 1 Mar 2021 00:08:10 -0700 Subject: [PATCH 08/11] Update PhotoPresenter, add width and height to images --- .../components/presenter/PhotoPresenter.vue | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/resources/assets/js/components/presenter/PhotoPresenter.vue b/resources/assets/js/components/presenter/PhotoPresenter.vue index 0ac4ef2e2..85f23e8a1 100644 --- a/resources/assets/js/components/presenter/PhotoPresenter.vue +++ b/resources/assets/js/components/presenter/PhotoPresenter.vue @@ -23,7 +23,13 @@
- +
@@ -67,6 +73,24 @@ toggleContentWarning(status) { this.$emit('togglecw'); + }, + + width() { + if( !this.status.media_attachments[0].meta || + !this.status.media_attachments[0].meta.original || + !this.status.media_attachments[0].meta.original.width ) { + return; + } + return this.status.media_attachments[0].meta.original.width; + }, + + height() { + if( !this.status.media_attachments[0].meta || + !this.status.media_attachments[0].meta.original || + !this.status.media_attachments[0].meta.original.height ) { + return; + } + return this.status.media_attachments[0].meta.original.height; } } } From 5f67a48442323ecdce87907c72f4afc48c12cc5c Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 1 Mar 2021 00:24:44 -0700 Subject: [PATCH 09/11] Timeline refactor --- resources/assets/js/components/Timeline.vue | 1900 +++++++++++-------- 1 file changed, 1119 insertions(+), 781 deletions(-) diff --git a/resources/assets/js/components/Timeline.vue b/resources/assets/js/components/Timeline.vue index c3dc423d0..1b13867df 100644 --- a/resources/assets/js/components/Timeline.vue +++ b/resources/assets/js/components/Timeline.vue @@ -1,416 +1,14 @@ - - + + + From 5cf8bee47afc9efd6bf65249d5fb5b81e080ddd4 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 1 Mar 2021 00:25:46 -0700 Subject: [PATCH 10/11] Update compiled assets --- public/css/app.css | Bin 387758 -> 369494 bytes public/css/appdark.css | Bin 384407 -> 366098 bytes public/css/landing.css | Bin 225633 -> 211719 bytes public/css/quill.css | Bin 22135 -> 22064 bytes public/js/compose.js | Bin 110157 -> 110376 bytes public/js/profile.js | Bin 109795 -> 110236 bytes public/js/rempos.js | Bin 72178 -> 72619 bytes public/js/status.js | Bin 86481 -> 86922 bytes public/js/timeline.js | Bin 136337 -> 176792 bytes public/mix-manifest.json | Bin 2139 -> 2139 bytes 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/css/app.css b/public/css/app.css index 9bde4d09c26ed0c28353620b2b5e7a4677266bc9..4d055ba6e3812f0d3ab45bc3f686eb4b751f44b7 100644 GIT binary patch delta 10849 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 delta 23365 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 R#U1dv3}USC`Tb(<{{y#y`d|P6 diff --git a/public/css/appdark.css b/public/css/appdark.css index b05ad48a65f70c83f1babad5ba3f161eeeaf7e78..4316e2ca49c863b40581b3a06224c17b600abbec 100644 GIT binary patch delta 10892 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 delta 22976 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 Bn3Dhi diff --git a/public/css/landing.css b/public/css/landing.css index 8403b1bde48cad34ee28045b42f4ce63e6632980..39b77f2c92770ef17ad4ada169cea0a071b7a982 100644 GIT binary patch delta 7177 zcma)>e{@vUwa3>!H#7M$`2{2pVN8Y}fdn!`Ccl}K2)a-K5fsEL6j;O2%-AyD+>68u%sZ}=ia$@Cb`kR zKbY+MJwNyPoW0Mvm;SREPYtAZrWvBU4P){B2cH{iDW{^|)c@+rOWV0WHPq@1)P{l$j;Q_po4P(fx&@Mi)V1N* zD~c7J`=O=l&JUYFs!j#*63T_pcda_9LKyvD z7f1cq3zMqEL&x>9=%!2M(X*G_tUQA6r+_8;^yP|Z-{qyzr31~;zJUjrJ+k#Ylu7n7 z(QEz&f6(O)S{psVP&gvn4y%2=O;Np0O|+M*Vri^esVdlGg4V1oCX}f)%434oM@3Ai zSid1QRAo%5RNGX=geq02jtSMOP!khsRAEL;n4t=Gb*}dKWVP8U(>0Rwv=m+bt1kg9 zcL}YDjaIpY7PyYqwlF!=VyzTQ>%U$?%j<}4zGP*gmgpH;<-oTFk}B1eHc-_HLB?im z@O!OP>Gb7FAy!4GN3$y4Hz12Ok*yY}j`j~&sJowEsWMVUyUeCWaKZZlvJ^N8K&Z~J zOh{K<)jSpb#TG;(Lz)f_X*xcn2}B!cYd9*@)g)0zi8LK3(sZmy)8QgbM~t)tXqgE^ z)7s#-5{%~dB=|(2Dok#1S=HbWcA3CL0U~TQMuZ&;6IqX;lx;O)urC=>WUehP!4>@} zAi$OxL`QNI6>3zeil9m*2~(rHX>E=p-JuBnrYLDui)S4mAunN@sX%3%pBrO*UoJ6zB6k?ZR9nYb^e~h$ zX*$NF=@^ryV@#T!F^M|Hr0E!wrejQ+jxlM&FczxjOPsNgiShJ2=vCr(tvAk?Y>hG5 z8e_6G#$;=Z$&ND~r!a=K(Y{L+^gH5ml|gi(oPc=Itl%|>w7fQY>T;E+GcbvMmkh`? zRjBz2R4TYJP;I0xG^hnC)B*vuU>K-WTL)G2Fcd0jI;f=SppvG8N}3)ji8`pH>7bIP zgG!nXDrv(&6{_Y-9IB87)Cq7s7ayyEb=))qtbmU>AjFGn;gUhV&O~c2Wb(zcVKZRh zznKx+b}$1z+D+G<8!nc@XWj;T;hsi+u*Dkmx7OJRRGn=NU8h{uu;1?udjcgkt@Pmr zIs-#fX9}9jhg6Gr-Hl;KWnk@kn zmx6HKURZ?PJy6K6^gw`VYb%Fm8dfzzCKf-%EV$?su;J$0nTebK1j~}LhRh1v-+`RU z;XJCd(S8{;)8U%Z9Q8oz(6$fqziaw5Ag+3ke7OBR$o>zN>Tu-&Fyb?RhIY()7gF*3 zJCKd$gA^}&_EQ&a2f>6b3s?sFX~DSd01QAyt@=I}2zq>BD`g#j(CT!pqFv;0uXQ$r zYxNSozmU4CJ_H%@bjMd6f)|r=D@zNf(?5&&r)48teiSC)_C=76x7-aWe9=+pG~)Iq zHX74ErUS>)M6q@F3ra@&Pf%K-ij+c6(9g~j5JKlBikX=wA(=Z*!g-L>Nn$>eUoW$3 zU=sgrFKm=D*SLdn#%T7qTy7tqc7~E~mVb!)c|X`0l%n}lSTgjT7XzO{a5&L{=Fh-B zT#21O{u#8U;rV|+qntk!cdlN9YMlEOn(9t|b55cQYf=Akp-8!mwf@Ryfi1?1qs@DQ^U3 z`3ZW@75JyJ_1k;dXrBEIB`A}eU?~Z-I_z?0<<6@x2j&Tk_EKUf|7alB+kDP7_0FJ` z{#Zi|6y9EPWUaN??P+QbJE|+!G}o#tZGFrkaxi99Kt4bBFDL+!2&ZDl4cdkKQ`uz2 zx{}H&6l=x^n&d1atHy8s1-o&Yi2_no9+xnf+PPzmC*-O3y78qOFb==TBp-{in3eCm z0guSzl;BFB?hdB13Ajt5q%4mkTk&zO-cZL81>ZZ)%Mwc*r$b`OI8(7RnR=J~ku7-~ z*%IS$@@Eu$Z_nG42lc!wnXQbi)EB8NlOITB&whUgy{U;E;JH+mj@>3!m^1kB^!erE zbG%^iY&y;P@pN`XEYNtIl|fCerm|AS`oRd6CO}ka^|lHc1#)Sg%3X(|Ka&-6qHruF zVV61c*nNy27|Tv3De6E0n}?5%r>)*-VH*^!W;~nBNn0r4N0Zn@sl~tUg+i9YOA1*B z;Or}4Mhcx|yf~S8@Gny+ZS0)FX42mEJHrlfC91{QMwWx4-7FKw7qMUS6Gd#EF@Bok z!cu1BEv4+aw6t|rkIzMygtA)PY-VHl$Xa&Lh!0K+e9R$=Py`rKfLZvw+gXo2%J#@AHGQisMl%u5fX*LIEY^Gosw~3|VTTinei?hR}93bCrqE)=- z8M=x6^cj{9;!-yXKYEt^L^PR#+n!^IcS*{cdH6sZD--qd@Xu}RAx`xgA@92~Berj* zq+%I;96xZnkLO#RfGfelEU#fM-1TcknIx{cP? zy^YpVSp4tX*c8D2|AiuRDB$t==%Ze}{9&QQrap@ljvJe$oWj*X`6B4B+bTn~PM?Rq z)6%`r>Ppnt^VApFf=rP!Gx5i-k*{=d9gTCl*;szzHD&{)WbO_&j#J5s*z?I9lv3a9 zq&6fL8v3T@NIzGtC#T9?2n96vYWhXbdePMSnB3>Lu*aq#ze< z9N%TH#r!<-Ud&G{JV0wpe5T>91FCav2UX`>2V>6RU58i-i@_2PvS*al53%M1&+h)q zAkUT`X2W?#AJcT6nX%D-ekcp6Q6VXwq|+D?- zPOF5L^^x_1K02S&s4^$hM-h28gZ5xH&Obv{RmY}io6d~c{Rz$#h=8g>G4pilsNP90 znI0cSxxC#v&N34}b(XDnMcdEi@ZcTN7m|EJ@Lltz@xUi7kV*{bx>xGuOBPFpBz*BU zmd*chzqE=n`h(Iekwh1YA2Tj{NU9h{E8u$`mM(!f6h`6yESK^W>+~a%5vw1OCJrg! zRM5q8#i^d~F@j!+R=4<2PVrm6q!;;$dZ~orHkZ_ZcDED}Y0ZSk+)^EPHA)#${QvUS X88Yy^M@rWezG{_}XW%>h(i`w^?RFuq delta 18651 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 diff --git a/public/css/quill.css b/public/css/quill.css index f113500237c8f815fac38a2d45dd8533414e3f5f..a1b638f27fda919c262e18a49b1222fea89beacc 100644 GIT binary patch delta 22 ccmeyqhH(QBZ8Mr&U@SWMol)H80%LY%0DBJ!b^rhX delta 68 zcmdn6hVlCv#tqwylyu8eld>~QbW4g7^NQ2*i*l{NtenJ>)JP3OgMtdp$y<#|IAF>q PYZ^;4T5r}gW>*FPu;CcU diff --git a/public/js/compose.js b/public/js/compose.js index eaf9b1b504634e1b76369bffac76cc7115b2a1dd..2eea9e6e7b31dd8939a025761da49324b44d3951 100644 GIT binary patch delta 1297 zcmZ`(Z)_7~7|*+v(o&QWhFwMI_0;XIz1;*hmFiJ9`IE&nh2UyGbdGEL&c1kD=iN)Y z28=5(BQZ|w8*@PtO%w@V#6L%}Xe7oM|L{SLi3v({*esEdVEEz}KA8AiDeHtRm;B!M zdEVdi`#sNlm;2#&@0mI8$Debapkog<=VtY0UQcSz zwqdq=Yh)RwLz{SKH1_stkGo~7rF(n|5qP(6C#3WvFRy3&C=cWf&O2L&29e6@FAHr+ zg?%#8>4c{~LP&Lfs$NGZ#lAeU1*O@IBRwlqGQ}1Zu-M(LGU=!SRr`)!0PLTB5BL|S z{XSRd^-X}CGcN9&=>sg!NN{{=<~ig`3YsWcO43-jL(Sp2Rn-r4G#JDI*!^+JxF$7gEVDfx{E+W1!F)vCxy(g9jU>P_yiC{VVLD&b& zj~@u6)21< z5Lw6LRH2flL>>|))w%jhTe}|$RpOaSkRdJy!|b+~@#)w+TD7qhk7*dXM}gHFQ-JezLO`2nckJOAhX_TvGx zZuZIL=@}8+pPkjuRcaDCS8;`}y^YI5#?X<~zpSlCpsoQIS|Z)r6Xb}E39v*t?l2G{t$XP5P&(w?pbTGKK? z{~!I%KDw6b!`7>)Yr(eDzEDML z8{X?Obi~k!MREQPcYD=7^njfxp$_}x6k5}_lsFILmNbf&nsTju>@Zr>u;VgxM^V>{ fWo%kp($Fino7%4(gLnVUVU&(7{C(^P&m!SJ8jQP? delta 1094 zcmaJ=TSyd980M^tu9pf!+p>$Zqu6XaPAV>uFPttm>|iZ0{sS@*=WYqO`_m5MYg z>LE!FH1!meMG$Eg7B0o%4PF_n)6L=lU}r zyvn?Il{2rGp31Z@_bpl2QR`*H9OtO43{_Nn0~KttYi*h&TszX_lPjJk5q?ja4D(CV zWI;(onsk@Q<9?OiR1=QIvCeu*I961;FfD2ETINo35P`Q8yqTCw<|Bm->=kT2nO&+YFpFDy5K_!XtwRX;*^Rc@sGfaoo1W*F zD2`D9yUWTHChnKPwQc`B!0H31K>zGOw!@#zY9<;$xM`sy3+F8V&baHbPDM5lXEUr*#SlX^81>eX<$n6%F%0IVBL{OwKCXHb_ zN_bjinW)|@KarISi?=I@VCgs*UG9W4cE!8{*xKs^!HHg1 z_E;r#txA_He`?Ff27{EeCSiVg=74dr zZ_jT5-h8nfaLmiwlYYBn0ae5PQT`7vZ5bdMdc7EMR(}nk-cJGF^-rA&HmTW)jYu@w zBm|h_{92ykBrR{!$#zw5=4*JP<2d4s@-|dxY-~m2vsUeF&`5wc zzBeEz8f_o54^8}!y}~^)eDZ4 zv}BVcGn3Tm6ABn*H%GtT$hleg`)x*6umuzC71%VCK=H8o)sHw%a70YsSiopDdCeJd mxYo(1&qPn&|5Xewu=(y+Q=kdCx%&Q-6WOJ=XD~5VuL1y*Ik->& delta 205 zcmbPpm+kRQwhgiDEM|#@g_AE{7N2eq#>mR-5*|MN0t;j3<{0)2P8OGv-1NyG_!U_} zij+1V6u7=?v-6o*lDxIGI{CI5c^XO}71KTA7~?1Bamh`tD&pI0^g^6@vj11M$%mNb zCa>)fo*eZ$ZZiJ~=gG2f7IPY=rX(2|7$+)CzQ8ZD`RSXDoM0ROF*5pcz~m;+ITJm7 r9TTG%Tx9zhCPq_6mh^m2kLf_A7Mm}ATfn$^!H+1;?TjppvsVEC;N48a diff --git a/public/js/rempos.js b/public/js/rempos.js index a5cd7c1bae7fa853703829fc567773249562ccf4..8c3861383a12a0aa559a3ae0b8dcc24222cd8167 100644 GIT binary patch delta 513 zcmeygnPv5MmJMrJH%GChb8ddezk;77Ak(OP^7}thEIB!mmXj~Ac5a>~Z^1G7i-zFl z`|6^MjA@&{YP4|jr)iYvq-t6hrIwTyo`z<1CQyAwX7S`iW?8P>)RIIsH5gYI#MR3$%1qD9OUyxt%cF?vflbteS_jjs zheb`TPDW~GdPWIlwkx2T3^5YjdL?X%YHMqCGHo@AHI%ZFv<)V2kf@#PJ&SL%nT0s> zR$tFo=CaIGT%E@kiYtzEX zTv+8j`J;{M<^>+!TUa4hC<@E-1FZu^oRVg(4mjRs$y-jgRTV)PaMG<1&e`nbZpyg% I^&fUw05<@-!2kdN delta 243 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 delta 10962 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 diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 167da845a32a49d9de842c34649de33359e11864..ef93cf5dda8d52aab178b9d0c0cbc87cdd0d488b 100644 GIT binary patch delta 205 zcmWN}v26n}3_wv_f;fOH!@eSQCg72hNG*{zKsrh!yNuus(rJg(FL{e4XbE<%}%Gv+L)OXNJhCzuyjD#F%KQ=wiWT*he)lq!ljF7A!gb7Uyz`}8r* z8cn#TqJm@nv^ZDm#Z@uCY9bLI4UV)AK%m1OaAX3Z~Kx*o^uEu5aJ68xSjSaxH bHwF{&aeTeL6|&@5J*fpXk`%)4+vD~D#y>lL delta 205 zcmWNLv2DaK3;^K-NdQ;I+r`&E0Vzr{xkTCrzN2WW%Lu Date: Mon, 1 Mar 2021 00:29:42 -0700 Subject: [PATCH 11/11] Update changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 586193a53..81e36c387 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,13 @@ - Updated MediaStorageService, improve head checks to fix failed jobs. ([1769cdfd](https://github.com/pixelfed/pixelfed/commit/1769cdfd)) - Updated user admin, remove expensive db query and add search. ([8feeadbf](https://github.com/pixelfed/pixelfed/commit/8feeadbf)) - Updated Compose apis, prevent private accounts from posting public or unlisted scopes. ([f53bfa6f](https://github.com/pixelfed/pixelfed/commit/f53bfa6f)) +- Updated font icons, use font-display:swap. ([77d4353a](https://github.com/pixelfed/pixelfed/commit/77d4353a)) +- Updated ComposeModal, limit visibility scope for private accounts. ([001d4105](https://github.com/pixelfed/pixelfed/commit/001d4105)) +- Updated ComposeController, add autocomplete apis for hashtags and mentions. ([f0e48a09](https://github.com/pixelfed/pixelfed/commit/f0e48a09)) +- Updated StatusController, invalidate profile embed cache on status delete. ([9c8a87c3](https://github.com/pixelfed/pixelfed/commit/9c8a87c3)) +- Updated moderation api, invalidate profile embed. ([b2501bfc](https://github.com/pixelfed/pixelfed/commit/b2501bfc)) +- Updated Nodeinfo util, use last_active_at for monthly active user count. ([d200c12c](https://github.com/pixelfed/pixelfed/commit/d200c12c)) +- Updated PhotoPresenter, add width and height to images. ([3f8202e2](https://github.com/pixelfed/pixelfed/commit/3f8202e2)) - ([](https://github.com/pixelfed/pixelfed/commit/)) ## [v0.10.10 (2021-01-28)](https://github.com/pixelfed/pixelfed/compare/v0.10.9...v0.10.10)