From db271b42e3c01992f535e90802866a930e0b6da3 Mon Sep 17 00:00:00 2001 From: Alexandra Dunn Date: Sat, 4 Jul 2020 01:09:32 -0700 Subject: [PATCH 01/11] docker: update horizon command for laravel 7.x --- contrib/docker/start.apache.sh | 4 ++-- contrib/docker/start.fpm.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/docker/start.apache.sh b/contrib/docker/start.apache.sh index 458d2561..a1680873 100755 --- a/contrib/docker/start.apache.sh +++ b/contrib/docker/start.apache.sh @@ -6,10 +6,10 @@ chown -R www-data:www-data storage/ bootstrap/ # Refresh the environment php artisan storage:link -php artisan horizon:assets +php artisan horizon:publish php artisan route:cache php artisan view:cache php artisan config:cache # Finally run Apache -exec apache2-foreground \ No newline at end of file +apache2-foreground diff --git a/contrib/docker/start.fpm.sh b/contrib/docker/start.fpm.sh index 2f228ecf..c6fe63d6 100755 --- a/contrib/docker/start.fpm.sh +++ b/contrib/docker/start.fpm.sh @@ -6,10 +6,10 @@ chown -R www-data:www-data storage/ bootstrap/ # Refresh the environment php artisan storage:link -php artisan horizon:assets +php artisan horizon:publish php artisan route:cache php artisan view:cache php artisan config:cache # Finally run FPM -exec php-fpm \ No newline at end of file +php-fpm From f81c642087ea13e75f23d7bb9418e2ba96d9bf17 Mon Sep 17 00:00:00 2001 From: dx7 Date: Thu, 9 Jul 2020 21:01:42 -0300 Subject: [PATCH 02/11] set session locale fallback using global config --- app/Listeners/AuthLogin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Listeners/AuthLogin.php b/app/Listeners/AuthLogin.php index bd38eee4..9d1ce4a9 100644 --- a/app/Listeners/AuthLogin.php +++ b/app/Listeners/AuthLogin.php @@ -136,6 +136,6 @@ class AuthLogin protected function userLanguage($user) { - session()->put('locale', $user->language ?? 'en'); + session()->put('locale', $user->language ?? config('app.locale')); } } From 693f530326f48df7d8cd357642958a85f3b533be Mon Sep 17 00:00:00 2001 From: dx7 Date: Wed, 8 Jul 2020 23:24:36 -0300 Subject: [PATCH 03/11] Improve username validation error for restricted names --- app/Http/Controllers/Auth/RegisterController.php | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index ec7e15b7..bc01b948 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -58,7 +58,6 @@ class RegisterController extends Controller $data['email'] = strtolower($data['email']); } - $this->validateUsername($data['username']); $this->validateEmail($data['email']); $usernameRules = [ @@ -87,6 +86,11 @@ class RegisterController extends Controller if(!ctype_alnum($val)) { return $fail('Username is invalid. Username must be alpha-numeric and may contain dashes (-), periods (.) and underscores (_).'); } + + $restricted = RestrictedNames::get(); + if (in_array($value, $restricted)) { + return $fail('Username cannot be used.'); + } }, ]; @@ -123,15 +127,6 @@ class RegisterController extends Controller ]); } - public function validateUsername($username) - { - $restricted = RestrictedNames::get(); - - if (in_array($username, $restricted)) { - return abort(403); - } - } - public function validateEmail($email) { $banned = EmailService::isBanned($email); From 913bf77ba4843c1eb36bd5c9bbb6ffdb795d1aca Mon Sep 17 00:00:00 2001 From: dx7 Date: Wed, 8 Jul 2020 23:58:31 -0300 Subject: [PATCH 04/11] Improve email validation error for restricted emails --- .../Controllers/Auth/RegisterController.php | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index bc01b948..40271f1f 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -58,8 +58,6 @@ class RegisterController extends Controller $data['email'] = strtolower($data['email']); } - $this->validateEmail($data['email']); - $usernameRules = [ 'required', 'min:2', @@ -94,11 +92,25 @@ class RegisterController extends Controller }, ]; + $emailRules = [ + 'required', + 'string', + 'email', + 'max:255', + 'unique:users', + function ($attribute, $value, $fail) { + $banned = EmailService::isBanned($value); + if($banned) { + return $fail('Email is invalid.'); + } + }, + ]; + $rules = [ 'agecheck' => 'required|accepted', 'name' => 'nullable|string|max:'.config('pixelfed.max_name_length'), 'username' => $usernameRules, - 'email' => 'required|string|email|max:255|unique:users', + 'email' => $emailRules, 'password' => 'required|string|min:12|confirmed', ]; @@ -127,14 +139,6 @@ class RegisterController extends Controller ]); } - public function validateEmail($email) - { - $banned = EmailService::isBanned($email); - if($banned) { - return abort(403, 'Invalid email.'); - } - } - /** * Show the application registration form. * From f33061642a67c396bd753170aa74934e975be96e Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 21 Jul 2020 19:14:48 -0600 Subject: [PATCH 05/11] Update comments, fix remote reply bug --- app/Http/Controllers/PublicApiController.php | 2 +- resources/assets/js/components/PostComponent.vue | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/PublicApiController.php b/app/Http/Controllers/PublicApiController.php index 41f6bf99..8dab9b65 100644 --- a/app/Http/Controllers/PublicApiController.php +++ b/app/Http/Controllers/PublicApiController.php @@ -110,7 +110,7 @@ class PublicApiController extends Controller ]); $limit = $request->limit ?? 10; - $profile = Profile::whereUsername($username)->whereNull('status')->firstOrFail(); + $profile = Profile::whereNull('status')->findOrFail($username); $status = Status::whereProfileId($profile->id)->whereCommentsDisabled(false)->findOrFail($postId); $this->scopeCheck($profile, $status); diff --git a/resources/assets/js/components/PostComponent.vue b/resources/assets/js/components/PostComponent.vue index 9b74c866..14bf2ad4 100644 --- a/resources/assets/js/components/PostComponent.vue +++ b/resources/assets/js/components/PostComponent.vue @@ -1120,7 +1120,7 @@ export default { }, fetchComments() { - let url = '/api/v2/comments/'+this.statusUsername+'/status/'+this.statusId; + let url = '/api/v2/comments/'+this.statusProfileId+'/status/'+this.statusId; axios.get(url) .then(response => { let self = this; @@ -1306,7 +1306,7 @@ export default { reply.thread = true; return; } - let url = '/api/v2/comments/'+reply.account.username+'/status/'+reply.id; + let url = '/api/v2/comments/'+reply.account.id+'/status/'+reply.id; axios.get(url) .then(response => { reply.replies = _.reverse(response.data.data); From e12cc6311d1f89f4d8f57396b2170dcdc6d820f3 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 21 Jul 2020 19:17:24 -0600 Subject: [PATCH 06/11] Update presenter components --- .../presenter/PhotoAlbumPresenter.vue | 13 +++++++++++-- .../js/components/presenter/PhotoPresenter.vue | 17 ++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue b/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue index 8628778f..93c481bf 100644 --- a/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue +++ b/resources/assets/js/components/presenter/PhotoAlbumPresenter.vue @@ -7,7 +7,7 @@ - + @@ -15,7 +15,7 @@
- +
@@ -52,6 +52,15 @@ this.$refs.carousel.goToPage(0); }, + altText(img) { + let desc = img.description; + if(desc) { + return desc; + } + + return 'Photo was not tagged with any alt text.'; + }, + keypressNavigation(e) { let ref = this.$refs.carousel; if (e.keyCode == "37") { diff --git a/resources/assets/js/components/presenter/PhotoPresenter.vue b/resources/assets/js/components/presenter/PhotoPresenter.vue index ac045b99..cd80b5f9 100644 --- a/resources/assets/js/components/presenter/PhotoPresenter.vue +++ b/resources/assets/js/components/presenter/PhotoPresenter.vue @@ -6,13 +6,13 @@

(click to show)

- +
- +
@@ -26,6 +26,17 @@ \ No newline at end of file From a452fae9b938de7d3476185c9e519077663c85ee Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 21 Jul 2020 19:18:35 -0600 Subject: [PATCH 07/11] Update sass, improve accessibility --- resources/assets/js/components/Timeline.vue | 22 ++++++++++++--------- resources/assets/sass/_variables.scss | 5 +++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/resources/assets/js/components/Timeline.vue b/resources/assets/js/components/Timeline.vue index e62f6e7e..48991ab7 100644 --- a/resources/assets/js/components/Timeline.vue +++ b/resources/assets/js/components/Timeline.vue @@ -42,7 +42,7 @@

- + avatar

@@ -97,7 +97,7 @@
@@ -164,7 +165,7 @@ - + Avatar @@ -257,10 +258,10 @@
- + avatar
- + avatar
@@ -269,7 +270,10 @@

{{profile.display_name || 'loading...'}}

@@ -313,7 +317,7 @@
- + avatar

@@ -510,7 +514,7 @@ body-class="p-0" >

- + lightbox media
Date: Tue, 21 Jul 2020 19:19:27 -0600 Subject: [PATCH 08/11] Update navbar, improve accessibility --- resources/views/layouts/partial/nav.blade.php | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/resources/views/layouts/partial/nav.blade.php b/resources/views/layouts/partial/nav.blade.php index a2a86869..2843db96 100644 --- a/resources/views/layouts/partial/nav.blade.php +++ b/resources/views/layouts/partial/nav.blade.php @@ -7,11 +7,11 @@ @endauth @guest @@ -32,23 +32,22 @@ @else