Преглед изворни кода

Merge branch 'staging' into translate-notifications

Felipe Mateus пре 4 месеци
родитељ
комит
c93c5c1550
100 измењених фајлова са 657 додато и 767 уклоњено
  1. 3 0
      CHANGELOG.md
  2. 6 0
      README.md
  3. 2 2
      app/Http/Controllers/Api/ApiV1Controller.php
  4. 3 3
      app/Services/LikeService.php
  5. 100 100
      composer.json
  6. 261 437
      composer.lock
  7. 1 1
      config/backup.php
  8. 1 1
      config/filesystems.php
  9. 279 223
      package-lock.json
  10. 1 0
      package.json
  11. BIN
      public/_lang/de.json
  12. BIN
      public/_lang/fi.json
  13. BIN
      public/_lang/id.json
  14. BIN
      public/_lang/pt.json
  15. BIN
      public/js/account-import.js
  16. BIN
      public/js/activity.js
  17. BIN
      public/js/admin.js
  18. BIN
      public/js/admin_invite.js
  19. BIN
      public/js/app.js
  20. BIN
      public/js/changelog.bundle.d40f01eba00c9885.js
  21. BIN
      public/js/changelog.bundle.efd3d17aee17020e.js
  22. BIN
      public/js/collectioncompose.js
  23. BIN
      public/js/collections.js
  24. BIN
      public/js/compose-classic.js
  25. BIN
      public/js/compose.chunk.80e32f21442c8a91.js
  26. 0 0
      public/js/compose.chunk.80e32f21442c8a91.js.LICENSE.txt
  27. BIN
      public/js/compose.chunk.a98574fc749d74ec.js
  28. BIN
      public/js/compose.js
  29. BIN
      public/js/daci.chunk.61b540b1630f8445.js
  30. BIN
      public/js/daci.chunk.8cf1cb07ac8a9100.js
  31. BIN
      public/js/developers.js
  32. BIN
      public/js/direct.js
  33. BIN
      public/js/discover.chunk.00d9b5656d32080e.js
  34. BIN
      public/js/discover.chunk.0ca404627af971f2.js
  35. BIN
      public/js/discover.js
  36. BIN
      public/js/discover~findfriends.chunk.6d494abb9e464081.js
  37. BIN
      public/js/discover~findfriends.chunk.bf787612b58e5473.js
  38. BIN
      public/js/discover~hashtag.bundle.93ce902dca5b65e3.js
  39. BIN
      public/js/discover~hashtag.bundle.c8eb86fb63ede45e.js
  40. BIN
      public/js/discover~memories.chunk.9541b66de9d5d907.js
  41. BIN
      public/js/discover~memories.chunk.9621c5ecf4482f0a.js
  42. BIN
      public/js/discover~myhashtags.chunk.e2ca0db60346d0c2.js
  43. BIN
      public/js/discover~myhashtags.chunk.f4257bc65189fde3.js
  44. BIN
      public/js/discover~serverfeed.chunk.138d9d53d1debac1.js
  45. BIN
      public/js/discover~serverfeed.chunk.4e135dd1c07c17dd.js
  46. BIN
      public/js/discover~settings.chunk.295935b63f9c0971.js
  47. BIN
      public/js/discover~settings.chunk.b1b5642ccef06123.js
  48. BIN
      public/js/dms.chunk.602ea23f0f63b894.js
  49. BIN
      public/js/dms.chunk.e7e428d4df2a00a6.js
  50. BIN
      public/js/dms~message.chunk.4e68bb824f396d86.js
  51. BIN
      public/js/dms~message.chunk.f0d6ccb6f2f1cbf7.js
  52. BIN
      public/js/error404.bundle.e2f43f5006962e80.js
  53. BIN
      public/js/error404.bundle.f5958c1713b4ab7c.js
  54. BIN
      public/js/group-status.js
  55. BIN
      public/js/group-topic-feed.js
  56. BIN
      public/js/group.create.38102523ebf4cde9.js
  57. BIN
      public/js/group.create.72c3a1e5c1dc00dc.js
  58. BIN
      public/js/groups-page-about.16d96a32748daa93.js
  59. BIN
      public/js/groups-page-about.76a616aa7e1a367b.js
  60. BIN
      public/js/groups-page-media.056a7bbc46b79034.js
  61. BIN
      public/js/groups-page-media.526b66b27a0bd091.js
  62. BIN
      public/js/groups-page-members.a8ea4f209fcbe238.js
  63. BIN
      public/js/groups-page-members.c59de89c3b8e3a02.js
  64. BIN
      public/js/groups-page-topics.d279a2438ee20311.js
  65. BIN
      public/js/groups-page-topics.f69667c933f7d122.js
  66. BIN
      public/js/groups-page.4a77f2a4e0024224.js
  67. BIN
      public/js/groups-page.d484dab549a033ca.js
  68. BIN
      public/js/groups-post.e160e406bdb4a1b0.js
  69. BIN
      public/js/groups-profile.1bb8be935d1f108a.js
  70. BIN
      public/js/groups-profile.58b5bf1af4d0722e.js
  71. BIN
      public/js/groups.js
  72. BIN
      public/js/hashtag.js
  73. BIN
      public/js/home.chunk.3d9801a7722f4dfb.js
  74. 0 0
      public/js/home.chunk.3d9801a7722f4dfb.js.LICENSE.txt
  75. BIN
      public/js/home.chunk.acf96f52790bffa6.js
  76. BIN
      public/js/i18n.bundle.85976a3b9d6b922a.js
  77. BIN
      public/js/i18n.bundle.951c52d1740442f6.js
  78. BIN
      public/js/landing.js
  79. BIN
      public/js/manifest.js
  80. BIN
      public/js/notifications.chunk.a882b19f4469ed55.js
  81. BIN
      public/js/notifications.chunk.bd37ed834e650fd7.js
  82. BIN
      public/js/portfolio.js
  83. BIN
      public/js/post.chunk.70d3758a59ef3742.js
  84. BIN
      public/js/post.chunk.c699382772550b42.js
  85. 0 0
      public/js/post.chunk.c699382772550b42.js.LICENSE.txt
  86. BIN
      public/js/profile-directory.js
  87. BIN
      public/js/profile.chunk.239231da0003f8d9.js
  88. BIN
      public/js/profile.chunk.5c642d2321d67652.js
  89. BIN
      public/js/profile.js
  90. BIN
      public/js/profile~followers.bundle.9d2008cfa13a6f17.js
  91. BIN
      public/js/profile~followers.bundle.a595bbddf5b02150.js
  92. BIN
      public/js/profile~following.bundle.1c64fbecaa81a368.js
  93. BIN
      public/js/profile~following.bundle.8ebe39a19638db1b.js
  94. BIN
      public/js/remote_auth.js
  95. BIN
      public/js/search.js
  96. BIN
      public/js/spa.js
  97. BIN
      public/js/status.js
  98. BIN
      public/js/stories.js
  99. BIN
      public/js/story-compose.js
  100. BIN
      public/js/timeline.js

+ 3 - 0
CHANGELOG.md

@@ -48,6 +48,9 @@
 - Update CuratedOnboarding, add new app:curated-onboarding command, extend email verification window to 7 days and fix resend verification mails ([49604210](https://github.com/pixelfed/pixelfed/commit/49604210))
 - Update DirectMessageController, fix performance issue ([4ec9f99](https://github.com/pixelfed/pixelfed/commit/4ec9f99))
 - Update App Register to expire codes after 4 hours instead of 60 minutes ([0844094b](https://github.com/pixelfed/pixelfed/commit/0844094b))
+- Update ApiV1Controller, fix max_id pagination on home and public timeline feeds ([38e17a06e](https://github.com/pixelfed/pixelfed/commit/38e17a06e))
+- Update Post component, rewrite local post urls ([d2f2a1b1c](https://github.com/pixelfed/pixelfed/commit/d2f2a1b1c))
+- Update Profile component, rewrite local profile urls ([dfbccaa19](https://github.com/pixelfed/pixelfed/commit/dfbccaa19))
 -  ([](https://github.com/pixelfed/pixelfed/commit/))
 
 ## [v0.12.4 (2024-11-08)](https://github.com/pixelfed/pixelfed/compare/v0.12.4...dev)

+ 6 - 0
README.md

@@ -51,6 +51,12 @@ Discovery](https://nlnet.nl/discovery/), part of the [Next Generation
 Internet](https://ngi.eu) initiative.
 
 <p>This project is supported by:</p>
+<p>
+  <a href="https://www.fastly.com/fast-forward">
+    <img src="https://github.com/user-attachments/assets/f1499b1f-c05f-480a-a5d5-dbebcb0e20fd">
+  </a>
+</p>
+
 <p>
   <a href="https://www.digitalocean.com/?utm_medium=opensource&utm_source=pixelfed">
     <img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px">

+ 2 - 2
app/Http/Controllers/Api/ApiV1Controller.php

@@ -2554,7 +2554,7 @@ class ApiV1Controller extends Controller
                 $minId = null;
             }
 
-            if ($maxId) {
+            if ($maxId && $res->count() >= $limit) {
                 $link = '<'.$baseUrl.'max_id='.$minId.'>; rel="next"';
             }
 
@@ -2977,7 +2977,7 @@ class ApiV1Controller extends Controller
             $minId = null;
         }
 
-        if ($maxId) {
+        if ($maxId && $res->count() >= $limit) {
             $link = '<'.$baseUrl.'max_id='.$minId.'>; rel="next"';
         }
 

+ 3 - 3
app/Services/LikeService.php

@@ -79,13 +79,13 @@ class LikeService {
 
 		$res = Cache::remember('pf:services:likes:liked_by:' . $status->id, 86400, function() use($status, $empty) {
 			$like = Like::whereStatusId($status->id)->first();
-			if(!$like) {
+			if(!$like || !$like->profile_id) {
 				return $empty;
 			}
 			$id = $like->profile_id;
-			$profile = ProfileService::get($id, true);
+			$profile = AccountService::get($id, true);
 			if(!$profile) {
-				return [];
+				return $empty;
 			}
 			$profileUrl = "/i/web/profile/{$profile['id']}";
 			$res = [

+ 100 - 100
composer.json

@@ -1,105 +1,105 @@
 {
-	"name": "pixelfed/pixelfed",
-	"description": "Open and ethical photo sharing platform, powered by ActivityPub federation.",
-	"keywords": ["framework", "laravel", "pixelfed", "activitypub", "social", "network", "federation"],
-	"license": "AGPL-3.0-only",
-	"type": "project",
-	"require": {
-		"php": "^8.2|^8.3",
-		"ext-bcmath": "*",
-		"ext-ctype": "*",
-		"ext-curl": "*",
-		"ext-intl": "*",
-		"ext-json": "*",
-		"ext-mbstring": "*",
-		"ext-openssl": "*",
-		"bacon/bacon-qr-code": "^3.0",
-		"brick/math": "^0.9.3",
-		"buzz/laravel-h-captcha": "^1.0.4",
-		"doctrine/dbal": "^3.0",
-		"endroid/qr-code": "^6.0",
-		"intervention/image": "^2.4",
-		"jenssegers/agent": "^2.6",
-		"laravel-notification-channels/expo": "~1.3.0|~2.0.0",
-		"laravel-notification-channels/webpush": "^8.0",
-		"laravel/framework": "^11.0",
-		"laravel/helpers": "^1.1",
-		"laravel/horizon": "^5.0",
-		"laravel/passport": "^12.0",
-		"laravel/pulse": "^1.3",
-		"laravel/tinker": "^2.9",
-		"laravel/ui": "^4.2",
-		"league/flysystem-aws-s3-v3": "^3.0",
-		"league/iso3166": "^2.1|^4.0",
-		"league/uri": "^7.4",
-		"pbmedia/laravel-ffmpeg": "^8.0",
-		"phpseclib/phpseclib": "~2.0",
-		"pixelfed/fractal": "^0.18.0",
-		"pixelfed/laravel-snowflake": "^2.0",
-		"pragmarx/google2fa": "^8.0",
-		"predis/predis": "^2.0",
-		"pusher/pusher-php-server": "^7.2",
-		"resend/resend-php": "^0.13.0",
-		"spatie/laravel-backup": "^8.0.0",
-		"spatie/laravel-image-optimizer": "^1.8.0",
-		"stevebauman/purify": "^6.2.0",
-		"symfony/http-client": "^6.1",
-		"symfony/mailgun-mailer": "^6.1"
-	},
-	"require-dev": {
-		"fakerphp/faker": "^1.23",
-		"laravel/pint": "^1.13",
-		"laravel/telescope": "^5.0",
-		"mockery/mockery": "^1.6",
-		"nunomaduro/collision": "^8.1",
-		"phpunit/phpunit": "^11.0.1"
-	},
-	"autoload": {
-		"classmap": [
-			"database/seeds",
-			"database/factories"
-		],
-		"psr-4": {
-			"App\\": "app/"
-		},
-		"files": [
-			"app/helpers.php"
-		]
-	},
-	"autoload-dev": {
-		"psr-4": {
-			"Tests\\": "tests/"
-		},
-		"files": [
-			"app/helpers.php"
-		]
-	},
-	"extra": {
-		"laravel": {
-			"dont-discover": [
-				"laravel/passport"
-			]
-		}
-	},
-	"scripts": {
-		"post-root-package-install": [
-			"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
-		],
-		"post-create-project-cmd": [
-			"@php artisan key:generate --ansi"
-		],
+    "name": "pixelfed/pixelfed",
+    "description": "Open and ethical photo sharing platform, powered by ActivityPub federation.",
+    "keywords": ["framework", "laravel", "pixelfed", "activitypub", "social", "network", "federation"],
+    "license": "AGPL-3.0-only",
+    "type": "project",
+    "require": {
+        "php": "^8.2|^8.3|^8.4",
+        "ext-bcmath": "*",
+        "ext-ctype": "*",
+        "ext-curl": "*",
+        "ext-intl": "*",
+        "ext-json": "*",
+        "ext-mbstring": "*",
+        "ext-openssl": "*",
+        "bacon/bacon-qr-code": "^3.0",
+        "brick/math": "^0.11",
+        "buzz/laravel-h-captcha": "^1.0.4",
+        "doctrine/dbal": "^3.0",
+        "endroid/qr-code": "^6.0",
+        "intervention/image": "^2.4",
+        "jenssegers/agent": "^2.6",
+        "laravel-notification-channels/expo": "^2.0.0",
+        "laravel-notification-channels/webpush": "^10.2",
+        "laravel/framework": "^12.0",
+        "laravel/helpers": "^1.1",
+        "laravel/horizon": "^5.0",
+        "laravel/passport": "^12.0",
+        "laravel/pulse": "^1.3",
+        "laravel/tinker": "^2.9",
+        "laravel/ui": "^4.2",
+        "league/flysystem-aws-s3-v3": "^3.0",
+        "league/iso3166": "^2.1|^4.0",
+        "league/uri": "^7.4",
+        "pbmedia/laravel-ffmpeg": "^8.0",
+        "phpseclib/phpseclib": "~2.0",
+        "pixelfed/fractal": "^0.18.0",
+        "pixelfed/laravel-snowflake": "^2.0",
+        "pragmarx/google2fa": "^8.0",
+        "predis/predis": "^2.0",
+        "pusher/pusher-php-server": "^7.2",
+        "resend/resend-php": "^0.13.0",
+        "spatie/laravel-backup": "^9.2.9",
+        "spatie/laravel-image-optimizer": "^1.8.2",
+        "stevebauman/purify": "^6.2.0",
+        "symfony/http-client": "^6.1",
+        "symfony/mailgun-mailer": "^6.1"
+    },
+    "require-dev": {
+        "fakerphp/faker": "^1.23",
+        "laravel/pint": "^1.13",
+        "laravel/telescope": "^5.5",
+        "mockery/mockery": "^1.6",
+        "nunomaduro/collision": "^8.1",
+        "phpunit/phpunit": "^11.0.1"
+    },
+    "autoload": {
+        "classmap": [
+            "database/seeds",
+            "database/factories"
+        ],
+        "psr-4": {
+            "App\\": "app/"
+        },
+        "files": [
+            "app/helpers.php"
+        ]
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Tests\\": "tests/"
+        },
+        "files": [
+            "app/helpers.php"
+        ]
+    },
+    "extra": {
+        "laravel": {
+            "dont-discover": [
+                "laravel/passport"
+            ]
+        }
+    },
+    "scripts": {
+        "post-root-package-install": [
+            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+        ],
+        "post-create-project-cmd": [
+            "@php artisan key:generate --ansi"
+        ],
         "post-update-cmd": [
             "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
         ],
-		"post-autoload-dump": [
-			"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
-			"@php artisan package:discover --ansi"
-		]
-	},
-	"config": {
-		"preferred-install": "dist",
-		"sort-packages": true,
-		"optimize-autoloader": true
-	},
-	"prefer-stable": true
+        "post-autoload-dump": [
+            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+            "@php artisan package:discover --ansi"
+        ]
+    },
+    "config": {
+        "preferred-install": "dist",
+        "sort-packages": true,
+        "optimize-autoloader": true
+    },
+    "prefer-stable": true
 }

Разлика између датотеке није приказан због своје велике величине
+ 261 - 437
composer.lock


+ 1 - 1
config/backup.php

@@ -152,7 +152,7 @@ return [
         'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
 
         'mail' => [
-            'to' => env('BACKUP_EMAIL_ADDRESS', ''),
+            'to' => env('BACKUP_EMAIL_ADDRESS', 'noreply@example.com'),
 
             'from' => [
                 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),

+ 1 - 1
config/filesystems.php

@@ -53,7 +53,7 @@ return [
                 ],
                 'dir' => [
                     'public' => 0755,
-                    'private' => 0700,
+                    'private' => 0711,
                 ],
             ],
         ],

Разлика између датотеке није приказан због своје велике величине
+ 279 - 223
package-lock.json


+ 1 - 0
package.json

@@ -13,6 +13,7 @@
 		"axios": ">=1.6.0",
 		"bootstrap": "^4.5.2",
 		"cross-env": "^5.2.1",
+		"esbuild": "^0.25.1",
 		"jquery": "^3.6.0",
 		"laravel-echo": "^1.12.0",
 		"laravel-mix-make-file-hash": "^2.2.0",

BIN
public/_lang/de.json


BIN
public/_lang/fi.json


BIN
public/_lang/id.json


BIN
public/_lang/pt.json


BIN
public/js/account-import.js


BIN
public/js/activity.js


BIN
public/js/admin.js


BIN
public/js/admin_invite.js



BIN
public/js/changelog.bundle.d40f01eba00c9885.js


BIN
public/js/changelog.bundle.efd3d17aee17020e.js


BIN
public/js/collectioncompose.js


BIN
public/js/collections.js


BIN
public/js/compose-classic.js


BIN
public/js/compose.chunk.80e32f21442c8a91.js


+ 0 - 0
public/js/compose.chunk.a98574fc749d74ec.js.LICENSE.txt → public/js/compose.chunk.80e32f21442c8a91.js.LICENSE.txt


BIN
public/js/compose.chunk.a98574fc749d74ec.js


BIN
public/js/compose.js


BIN
public/js/daci.chunk.61b540b1630f8445.js


BIN
public/js/daci.chunk.8cf1cb07ac8a9100.js


BIN
public/js/developers.js


BIN
public/js/direct.js


BIN
public/js/discover.chunk.00d9b5656d32080e.js


BIN
public/js/discover.chunk.0ca404627af971f2.js


BIN
public/js/discover.js


BIN
public/js/discover~findfriends.chunk.6d494abb9e464081.js


BIN
public/js/discover~findfriends.chunk.bf787612b58e5473.js


BIN
public/js/discover~hashtag.bundle.93ce902dca5b65e3.js


BIN
public/js/discover~hashtag.bundle.c8eb86fb63ede45e.js


BIN
public/js/discover~memories.chunk.9541b66de9d5d907.js


BIN
public/js/discover~memories.chunk.9621c5ecf4482f0a.js


BIN
public/js/discover~myhashtags.chunk.e2ca0db60346d0c2.js


BIN
public/js/discover~myhashtags.chunk.f4257bc65189fde3.js


BIN
public/js/discover~serverfeed.chunk.138d9d53d1debac1.js


BIN
public/js/discover~serverfeed.chunk.4e135dd1c07c17dd.js


BIN
public/js/discover~settings.chunk.295935b63f9c0971.js


BIN
public/js/discover~settings.chunk.b1b5642ccef06123.js


BIN
public/js/dms.chunk.602ea23f0f63b894.js


BIN
public/js/dms.chunk.e7e428d4df2a00a6.js


BIN
public/js/dms~message.chunk.4e68bb824f396d86.js


BIN
public/js/dms~message.chunk.f0d6ccb6f2f1cbf7.js


BIN
public/js/error404.bundle.e2f43f5006962e80.js


BIN
public/js/error404.bundle.f5958c1713b4ab7c.js


BIN
public/js/group-status.js


BIN
public/js/group-topic-feed.js


BIN
public/js/group.create.38102523ebf4cde9.js


BIN
public/js/group.create.72c3a1e5c1dc00dc.js


BIN
public/js/groups-page-about.16d96a32748daa93.js


BIN
public/js/groups-page-about.76a616aa7e1a367b.js


BIN
public/js/groups-page-media.056a7bbc46b79034.js


BIN
public/js/groups-page-media.526b66b27a0bd091.js


BIN
public/js/groups-page-members.a8ea4f209fcbe238.js


BIN
public/js/groups-page-members.c59de89c3b8e3a02.js


BIN
public/js/groups-page-topics.d279a2438ee20311.js


BIN
public/js/groups-page-topics.f69667c933f7d122.js


BIN
public/js/groups-page.4a77f2a4e0024224.js


BIN
public/js/groups-page.d484dab549a033ca.js


BIN
public/js/groups-post.4c3d4860b029bbaf.js → public/js/groups-post.e160e406bdb4a1b0.js


BIN
public/js/groups-profile.1bb8be935d1f108a.js


BIN
public/js/groups-profile.58b5bf1af4d0722e.js


BIN
public/js/groups.js


BIN
public/js/hashtag.js


BIN
public/js/home.chunk.3d9801a7722f4dfb.js


+ 0 - 0
public/js/home.chunk.acf96f52790bffa6.js.LICENSE.txt → public/js/home.chunk.3d9801a7722f4dfb.js.LICENSE.txt


BIN
public/js/home.chunk.acf96f52790bffa6.js


BIN
public/js/i18n.bundle.85976a3b9d6b922a.js


BIN
public/js/i18n.bundle.951c52d1740442f6.js


BIN
public/js/landing.js


BIN
public/js/manifest.js


BIN
public/js/notifications.chunk.a882b19f4469ed55.js


BIN
public/js/notifications.chunk.bd37ed834e650fd7.js


BIN
public/js/portfolio.js


BIN
public/js/post.chunk.70d3758a59ef3742.js


BIN
public/js/post.chunk.c699382772550b42.js


+ 0 - 0
public/js/post.chunk.70d3758a59ef3742.js.LICENSE.txt → public/js/post.chunk.c699382772550b42.js.LICENSE.txt


BIN
public/js/profile-directory.js


BIN
public/js/profile.chunk.239231da0003f8d9.js


BIN
public/js/profile.chunk.5c642d2321d67652.js


BIN
public/js/profile.js


BIN
public/js/profile~followers.bundle.9d2008cfa13a6f17.js


BIN
public/js/profile~followers.bundle.a595bbddf5b02150.js


BIN
public/js/profile~following.bundle.1c64fbecaa81a368.js


BIN
public/js/profile~following.bundle.8ebe39a19638db1b.js


BIN
public/js/remote_auth.js


BIN
public/js/search.js



BIN
public/js/status.js


BIN
public/js/stories.js


BIN
public/js/story-compose.js


BIN
public/js/timeline.js


Неке датотеке нису приказане због велике количине промена