From 7987383026f2698455ca575303f9bff816f95228 Mon Sep 17 00:00:00 2001 From: Lioh Moeller Date: Mon, 6 Jan 2025 17:18:24 +0100 Subject: [PATCH 01/23] Update .env.docker Registry has changed. Old registry has been discontinued in August 2024. New Registry added, format of Docker tag has been adjusted as it now contains the Debian Release as well. Sample Version is set to current stable but can be adjusted to any of the available branches. --- .env.docker | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.env.docker b/.env.docker index cdc5ad9c6..e9ab054a3 100644 --- a/.env.docker +++ b/.env.docker @@ -964,7 +964,7 @@ TZ="${APP_TIMEZONE}" # Combined with [DOCKER_APP_RUNTIME] and [PHP_VERSION] configured # elsewhere in this file, the final Docker tag is computed. # @dottie/validate required -DOCKER_APP_RELEASE="branch-jippi-fork" +DOCKER_APP_RELEASE="v0.12.4" # The PHP version to use for [web] and [worker] container # @@ -981,7 +981,7 @@ DOCKER_APP_RELEASE="branch-jippi-fork" # *only* the version part. The rest of the full tag is derived from # the [DOCKER_APP_RUNTIME] and [PHP_DEBIAN_RELEASE] settings # @dottie/validate required -DOCKER_APP_PHP_VERSION="8.2" +DOCKER_APP_PHP_VERSION="8.3" # The container runtime to use. # @@ -993,7 +993,7 @@ DOCKER_APP_RUNTIME="apache" # # Examlpe: [bookworm] or [bullseye] # @dottie/validate required,oneof=bookworm bullseye -DOCKER_APP_DEBIAN_RELEASE="bullseye" +DOCKER_APP_DEBIAN_RELEASE="bookworm" # The [php] Docker image base type # @@ -1010,13 +1010,13 @@ DOCKER_APP_BASE_TYPE="apache" # * "your/fork" to pull from a custom fork # # @dottie/validate required -DOCKER_APP_IMAGE="ghcr.io/jippi/pixelfed" +DOCKER_APP_IMAGE="ghcr.io/jippi/docker-pixelfed" # Pixelfed version (image tag) to pull from the registry. # # @see https://github.com/pixelfed/pixelfed/pkgs/container/pixelfed # @dottie/validate required -DOCKER_APP_TAG="${DOCKER_APP_RELEASE:?error}-${DOCKER_APP_RUNTIME:?error}-${DOCKER_APP_PHP_VERSION:?error}" +DOCKER_APP_TAG="${DOCKER_APP_RELEASE:?error}-${DOCKER_APP_RUNTIME:?error}-${DOCKER_APP_PHP_VERSION:?error}-${DOCKER_APP_DEBIAN_RELEASE:?error}" # Path (on host system) where the [app] + [worker] container will write # its [storage] data (e.g uploads/images/profile pictures etc.). From e0b5636d7b72512b85ccb0008557274299375f56 Mon Sep 17 00:00:00 2001 From: Lioh Moeller Date: Mon, 6 Jan 2025 18:02:17 +0100 Subject: [PATCH 02/23] Update .env.docker Stick major.minor according to https://jippi.github.io/docker-pixelfed/customize/tags/#pixelfed-version Disable Debian Release Check until it's solved in dottie. Closes https://github.com/pixelfed/pixelfed/issues/5264 --- .env.docker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.docker b/.env.docker index e9ab054a3..d97beea8f 100644 --- a/.env.docker +++ b/.env.docker @@ -964,7 +964,7 @@ TZ="${APP_TIMEZONE}" # Combined with [DOCKER_APP_RUNTIME] and [PHP_VERSION] configured # elsewhere in this file, the final Docker tag is computed. # @dottie/validate required -DOCKER_APP_RELEASE="v0.12.4" +DOCKER_APP_RELEASE="v0.12" # The PHP version to use for [web] and [worker] container # @@ -1016,7 +1016,7 @@ DOCKER_APP_IMAGE="ghcr.io/jippi/docker-pixelfed" # # @see https://github.com/pixelfed/pixelfed/pkgs/container/pixelfed # @dottie/validate required -DOCKER_APP_TAG="${DOCKER_APP_RELEASE:?error}-${DOCKER_APP_RUNTIME:?error}-${DOCKER_APP_PHP_VERSION:?error}-${DOCKER_APP_DEBIAN_RELEASE:?error}" +DOCKER_APP_TAG="${DOCKER_APP_RELEASE:?error}-${DOCKER_APP_RUNTIME:?error}-${DOCKER_APP_PHP_VERSION:?error}" # Path (on host system) where the [app] + [worker] container will write # its [storage] data (e.g uploads/images/profile pictures etc.). From 2f17577b321288e81c1cf5f8edb8aa2c33babe29 Mon Sep 17 00:00:00 2001 From: daniel Date: Fri, 17 Jan 2025 04:07:55 -0700 Subject: [PATCH 03/23] New translations web.php (Finnish) [ci skip] --- resources/lang/fi/web.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/lang/fi/web.php b/resources/lang/fi/web.php index 3b9062230..a48ccc915 100644 --- a/resources/lang/fi/web.php +++ b/resources/lang/fi/web.php @@ -13,7 +13,7 @@ return [ 'shared' => 'Jaettu', 'shares' => 'Jaot', 'unshare' => 'Peru jakaminen', - 'bookmark' => 'Bookmark', + 'bookmark' => 'Kirjanmerkki', 'cancel' => 'Peruuta', 'copyLink' => 'Kopioi linkki', @@ -24,10 +24,10 @@ return [ 'other' => 'Muu', 'readMore' => 'Lue lisää', 'success' => 'Onnistui', - 'proceed' => 'Proceed', - 'next' => 'Next', - 'close' => 'Close', - 'clickHere' => 'click here', + 'proceed' => 'Jatka', + 'next' => 'Seuraava', + 'close' => 'Sulje', + 'clickHere' => 'klikkaa tästä', 'sensitive' => 'Sensitiivinen', 'sensitiveContent' => 'Sensitiivinen sisältö', @@ -82,12 +82,12 @@ return [ 'notifications' => [ 'liked' => 'tykkäsi sinun', 'commented' => 'kommentoi sinun', - 'reacted' => 'reacted to your', - 'shared' => 'shared your', - 'tagged' => 'tagged you in a', + 'reacted' => 'reagoi sinun', + 'shared' => 'jakoi sinun', + 'tagged' => 'merkitsi sinut', - 'updatedA' => 'updated a', - 'sentA' => 'sent a', + 'updatedA' => 'päivitetty', + 'sentA' => 'lähetti', 'followed' => 'followed', 'mentioned' => 'mentioned', From f3adf721a2aff7a42c87725981c2cfc513a4ae54 Mon Sep 17 00:00:00 2001 From: daniel Date: Sat, 18 Jan 2025 04:25:27 -0700 Subject: [PATCH 04/23] New translations web.php (Finnish) [ci skip] --- resources/lang/fi/web.php | 82 +++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/resources/lang/fi/web.php b/resources/lang/fi/web.php index a48ccc915..e91a9c36f 100644 --- a/resources/lang/fi/web.php +++ b/resources/lang/fi/web.php @@ -89,59 +89,59 @@ return [ 'updatedA' => 'päivitetty', 'sentA' => 'lähetti', - 'followed' => 'followed', - 'mentioned' => 'mentioned', - 'you' => 'you', + 'followed' => 'seuraa', + 'mentioned' => 'mainittu', + 'you' => 'sinä', - 'yourApplication' => 'Your application to join', - 'applicationApproved' => 'was approved!', - 'applicationRejected' => 'was rejected. You can re-apply to join in 6 months.', + 'yourApplication' => 'Liittymistä koskeva hakemuksesi', + 'applicationApproved' => 'oli hyväksytty!', + 'applicationRejected' => 'oli hylätty. Voit hakea uudelleen 6 kuukauden kuluttua.', - 'dm' => 'dm', - 'groupPost' => 'group post', + 'dm' => 'yv', + 'groupPost' => 'ryhmäviesti', 'modlog' => 'modlog', - 'post' => 'post', - 'story' => 'story', - 'noneFound' => 'No notifications found', + 'post' => 'viesti', + 'story' => 'tarina', + 'noneFound' => 'Ilmoituksia ei löytynyt', ], 'post' => [ - 'shareToFollowers' => 'Share to followers', - 'shareToOther' => 'Share to other', - 'noLikes' => 'No likes yet', - 'uploading' => 'Uploading', + 'shareToFollowers' => 'Jaa seuraajille', + 'shareToOther' => 'Jaa muille', + 'noLikes' => 'Tykkäyksiä ei ole vielä', + 'uploading' => 'Siirretään', ], 'profile' => [ - 'posts' => 'Posts', - 'followers' => 'Followers', - 'following' => 'Following', - 'admin' => 'Admin', - 'collections' => 'Collections', - 'follow' => 'Follow', - 'unfollow' => 'Unfollow', - 'editProfile' => 'Edit Profile', - 'followRequested' => 'Follow Requested', - 'joined' => 'Joined', - - 'emptyCollections' => 'We can\'t seem to find any collections', - 'emptyPosts' => 'We can\'t seem to find any posts', + 'posts' => 'Julkaisut', + 'followers' => 'Seuraajat', + 'following' => 'Seurataan', + 'admin' => 'Ylläpitäjä', + 'collections' => 'Kokoelmat', + 'follow' => 'Seuraa', + 'unfollow' => 'Lopeta seuraaminen', + 'editProfile' => 'Muokkaa profiilia', + 'followRequested' => 'Seuraamista pyydetty', + 'joined' => 'Liittynyt', + + 'emptyCollections' => 'Emme näytä löytävän yhtään kokoelmaa', + 'emptyPosts' => 'Emme näytä löytävän yhtään viestiä', ], 'menu' => [ - 'viewPost' => 'View Post', - 'viewProfile' => 'View Profile', - 'moderationTools' => 'Moderation Tools', - 'report' => 'Report', - 'archive' => 'Archive', - 'unarchive' => 'Unarchive', - 'embed' => 'Embed', - - 'selectOneOption' => 'Select one of the following options', - 'unlistFromTimelines' => 'Unlist from Timelines', - 'addCW' => 'Add Content Warning', - 'removeCW' => 'Remove Content Warning', - 'markAsSpammer' => 'Mark as Spammer', + 'viewPost' => 'Näytä viesti', + 'viewProfile' => 'Näytä profiili', + 'moderationTools' => 'Moderointityökalut', + 'report' => 'Ilmoita', + 'archive' => 'Arkisto', + 'unarchive' => 'Palauta arkistosta', + 'embed' => 'Upota', + + 'selectOneOption' => 'Valitse yksi seuraavista vaihtoehdoista', + 'unlistFromTimelines' => 'Poista aikajanalta', + 'addCW' => 'Lisää sisältövaroitus', + 'removeCW' => 'Poista sisältövaroitus', + 'markAsSpammer' => 'Merkitse roskapostittajaksi', 'markAsSpammerText' => 'Unlist + CW existing and future posts', 'spam' => 'Spam', 'sensitive' => 'Sensitive Content', From 2de9c70a0cba605a245801fe541ae36b0a2f5eaf Mon Sep 17 00:00:00 2001 From: Christian Winther Date: Mon, 20 Jan 2025 12:40:43 +0100 Subject: [PATCH 05/23] fix: don't restore memory limit after cities import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since this command can only be invoked by CLI, the process will exit after a successful import, so restoring the transient PHP memory limit doesn't really have any affect. In PHP 8.4, this throws the following error (which doesn't happen in 8.3 and below) > [entrypoint / 11-first-time-setup.sh] - (stderr) 128769/128769 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%[2025-01-20 11:29:23] production.ERROR: Failed to set memory limit to 134217728 bytes (Current memory usage is 134746112 bytes) {"exception":"[object] (ErrorException(code: 0): Failed to set memory limit to 134217728 bytes (Current memory usage is 134746112 bytes) at /var/www/app/Console/Commands/ImportCities.php:140) It seems to be a 8.4 behavior change, so removing the logic would make it go away --- app/Console/Commands/ImportCities.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/Console/Commands/ImportCities.php b/app/Console/Commands/ImportCities.php index 1056f5ce2..6d5a31aac 100644 --- a/app/Console/Commands/ImportCities.php +++ b/app/Console/Commands/ImportCities.php @@ -74,7 +74,6 @@ class ImportCities extends Command */ public function handle() { - $old_memory_limit = ini_get('memory_limit'); ini_set('memory_limit', '256M'); $path = storage_path('app/cities.json'); @@ -137,7 +136,6 @@ class ImportCities extends Command $this->line(''); $this->info('Successfully imported ' . $cityCount . ' entries!'); $this->line(''); - ini_set('memory_limit', $old_memory_limit); return; } From 6a803f7ca9ad8110538a09f158b29c0349b893f9 Mon Sep 17 00:00:00 2001 From: daniel Date: Mon, 20 Jan 2025 09:15:09 -0700 Subject: [PATCH 06/23] New translations web.php (Finnish) [ci skip] --- resources/lang/fi/web.php | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/resources/lang/fi/web.php b/resources/lang/fi/web.php index e91a9c36f..aa5aa3bb6 100644 --- a/resources/lang/fi/web.php +++ b/resources/lang/fi/web.php @@ -99,7 +99,7 @@ return [ 'dm' => 'yv', 'groupPost' => 'ryhmäviesti', - 'modlog' => 'modlog', + 'modlog' => 'modelogi', 'post' => 'viesti', 'story' => 'tarina', 'noneFound' => 'Ilmoituksia ei löytynyt', @@ -142,11 +142,11 @@ return [ 'addCW' => 'Lisää sisältövaroitus', 'removeCW' => 'Poista sisältövaroitus', 'markAsSpammer' => 'Merkitse roskapostittajaksi', - 'markAsSpammerText' => 'Unlist + CW existing and future posts', - 'spam' => 'Spam', - 'sensitive' => 'Sensitive Content', - 'abusive' => 'Abusive or Harmful', - 'underageAccount' => 'Underage Account', + 'markAsSpammerText' => 'Unlist + SV olevat ja tulevat julkaisut', + 'spam' => 'Roskaposti', + 'sensitive' => 'Arkaluonteista sisältöä', + 'abusive' => 'Hyökkäävä tai haitallinen', + 'underageAccount' => 'Alaikäisen tili', 'copyrightInfringement' => 'Tekijänoikeusloukkaus', 'impersonation' => 'Väärennetty henkilöllisyys', 'scamOrFraud' => 'Huijaus tai petos', @@ -182,27 +182,27 @@ return [ ], 'timeline' => [ - 'peopleYouMayKnow' => 'People you may know', + 'peopleYouMayKnow' => 'Ihmisiä, jotka saatat tuntea', 'onboarding' => [ - 'welcome' => 'Welcome', - 'thisIsYourHomeFeed' => 'This is your home feed, a chronological feed of posts from accounts you follow.', - 'letUsHelpYouFind' => 'Let us help you find some interesting people to follow', - 'refreshFeed' => 'Refresh my feed', + 'welcome' => 'Tervetuloa', + 'thisIsYourHomeFeed' => 'Tämä on kotisyötteesi. Aikajärjestyksessä oleva syöte seuraamiesi käyttäjien julkaisuista.', + 'letUsHelpYouFind' => 'Anna meidän auttaa löytämään mielenkiintoisia ihmisiä seurattavaksi', + 'refreshFeed' => 'Päivitä syötteeni', ], ], 'hashtags' => [ - 'emptyFeed' => 'We can\'t seem to find any posts for this hashtag' + 'emptyFeed' => 'Emme näytä löytävän yhtään viestiä tälle aihetunnisteelle' ], 'report' => [ - 'report' => 'Report', - 'selectReason' => 'Select a reason', - 'reported' => 'Reported', - 'sendingReport' => 'Sending report', - 'thanksMsg' => 'Thanks for the report, people like you help keep our community safe!', - 'contactAdminMsg' => 'If you\'d like to contact an administrator about this post or report', + 'report' => 'Ilmoita', + 'selectReason' => 'Valitse syy', + 'reported' => 'Ilmoitettu', + 'sendingReport' => 'Lähetetään ilmoitusta', + 'thanksMsg' => 'Kiitos ilmoituksesta. Sinä ja kaltaisesi autatte pitämään yhteisön turvallisena!', + 'contactAdminMsg' => 'Jos haluaisit ottaa yhteyttä ylläpitoom tästä julkaisusta tai ilmoittaa sen', ], ]; From f64248a3542cd5fa293b3533417f26a4f6078b44 Mon Sep 17 00:00:00 2001 From: daniel Date: Tue, 21 Jan 2025 09:42:06 -0700 Subject: [PATCH 07/23] New translations web.php (Finnish) [ci skip] --- resources/lang/fi/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/fi/web.php b/resources/lang/fi/web.php index aa5aa3bb6..73b5fb2fb 100644 --- a/resources/lang/fi/web.php +++ b/resources/lang/fi/web.php @@ -3,7 +3,7 @@ return [ 'common' => [ - 'comment' => 'Kommentti', + 'comment' => 'Kommentoi', 'commented' => 'Kommentoitu', 'comments' => 'Kommentit', 'like' => 'Tykkää', From c24dcbd290124d4c1c13204da5d44b726ee539c8 Mon Sep 17 00:00:00 2001 From: daniel Date: Thu, 23 Jan 2025 14:05:35 -0700 Subject: [PATCH 08/23] New translations web.php (Portuguese) [ci skip] --- resources/lang/pt/web.php | 54 +++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/resources/lang/pt/web.php b/resources/lang/pt/web.php index 9729c0ba3..14f279902 100644 --- a/resources/lang/pt/web.php +++ b/resources/lang/pt/web.php @@ -20,7 +20,7 @@ return [ 'delete' => 'Eliminar', 'error' => 'Erro', 'errorMsg' => 'Algo correu mal. Por favor, tente novamente mais tarde.', - 'oops' => 'Opa!', + 'oops' => 'Oops!', 'other' => 'Outro', 'readMore' => 'Ler mais', 'success' => 'Sucesso', @@ -31,33 +31,33 @@ return [ 'sensitive' => 'Sensível', 'sensitiveContent' => 'Conteúdo sensível', - 'sensitiveContentWarning' => 'Este post pode conter conteúdo sensível', + 'sensitiveContentWarning' => 'Esta publicação pode conter conteúdo sensível', ], 'site' => [ - 'terms' => 'Termos de Uso', + 'terms' => 'Termos de Utilização', 'privacy' => 'Política de Privacidade', ], 'navmenu' => [ - 'search' => 'Pesquisa', - 'admin' => 'Painel de Administração', + 'search' => 'Pesquisar', + 'admin' => 'Painel de administração', // Timelines - 'homeFeed' => 'Inicio', + 'homeFeed' => 'Início', 'localFeed' => 'Feed local', 'globalFeed' => 'Feed global', // Core features 'discover' => 'Descobrir', - 'directMessages' => 'Mensagens Diretas', + 'directMessages' => 'Mensagens diretas', 'notifications' => 'Notificações', 'groups' => 'Grupos', 'stories' => 'Stories', // Self links 'profile' => 'Perfil', - 'drive' => 'Drive', + 'drive' => 'Disco', 'settings' => 'Definições', 'compose' => 'Criar novo', 'logout' => 'Terminar Sessão', @@ -70,7 +70,7 @@ return [ 'terms' => 'Termos', // Temporary links - 'backToPreviousDesign' => 'Voltar ao design anterior' + 'backToPreviousDesign' => 'Voltar ao design antigo' ], 'directMessages' => [ @@ -80,13 +80,13 @@ return [ ], 'notifications' => [ - 'liked' => 'curtiu seu', - 'commented' => 'comentou em seu', + 'liked' => 'gostou do seu', + 'commented' => 'comentou no seu', 'reacted' => 'reagiu ao seu', - 'shared' => 'compartilhou seu', - 'tagged' => 'marcou você em um', + 'shared' => 'Partilhou o seu', + 'tagged' => 'marcou você numa publicação', - 'updatedA' => 'atualizou um(a)', + 'updatedA' => 'atualizou', 'sentA' => 'enviou um', 'followed' => 'seguiu', @@ -95,13 +95,13 @@ return [ 'yourApplication' => 'A sua candidatura para se juntar', 'applicationApproved' => 'foi aprovado!', - 'applicationRejected' => 'foi rejeitado. Você pode se inscrever novamente para participar em 6 meses.', + 'applicationRejected' => 'foi rejeitado. Você pode inscrever-se novamente em 6 meses.', - 'dm' => 'mensagem direta', - 'groupPost' => 'postagem do grupo', + 'dm' => 'dm', + 'groupPost' => 'publicação de grupo', 'modlog' => 'histórico de moderação', 'post' => 'publicação', - 'story' => 'história', + 'story' => 'story', 'noneFound' => 'Nenhuma notificação encontrada', ], @@ -116,7 +116,7 @@ return [ 'posts' => 'Publicações', 'followers' => 'Seguidores', 'following' => 'A seguir', - 'admin' => 'Administrador', + 'admin' => 'Admin', 'collections' => 'Coleções', 'follow' => 'Seguir', 'unfollow' => 'Deixar de seguir', @@ -141,14 +141,14 @@ return [ 'unlistFromTimelines' => 'Remover das cronologias', 'addCW' => 'Adicionar aviso de conteúdo', 'removeCW' => 'Remover aviso de conteúdo', - 'markAsSpammer' => 'Marcar como Spammer', + 'markAsSpammer' => 'Marcar como spammer', 'markAsSpammerText' => 'Remover das cronologias e adicionar um aviso de conteúdo às publicações existentes e futuras', - 'spam' => 'Lixo Eletrônico', + 'spam' => 'Spam', 'sensitive' => 'Conteúdo Sensível', 'abusive' => 'Abusivo ou prejudicial', 'underageAccount' => 'Conta de menor de idade', 'copyrightInfringement' => 'Violação de direitos de autor', - 'impersonation' => 'Roubo de identidade', + 'impersonation' => 'Roubo de Identidade', 'scamOrFraud' => 'Esquema ou fraude', 'confirmReport' => 'Confirmar denúncia', 'confirmReportText' => 'Tem a certeza que deseja denunciar esta mensagem?', @@ -162,15 +162,15 @@ return [ 'modRemoveCWSuccess' => 'Removeu com sucesso o aviso de conteúdo', 'modUnlistConfirm' => 'Tem a certeza que pretende deslistar este post?', 'modUnlistSuccess' => 'Deslistou com sucesso este post', - 'modMarkAsSpammerConfirm' => 'Você realmente quer denunciar este usuário por spam? Todas as suas publicações anteriores e futuras serão marcadas com um aviso de conteúdo e removidas das linhas do tempo.', + 'modMarkAsSpammerConfirm' => 'Tem a certeza que deseja marcar este utilizador como spammer? Todos os posts existentes e futuros serão deslistados da timeline e o alerta de conteúdo será aplicado.', 'modMarkAsSpammerSuccess' => 'Marcou com sucesso esta conta como spammer', - 'toFollowers' => 'para seguidores', + 'toFollowers' => 'para Seguidores', 'showCaption' => 'Mostar legenda', 'showLikes' => 'Mostrar Gostos', 'compactMode' => 'Modo compacto', - 'embedConfirmText' => 'Ao usar de forma “embed”, você concorda com nossas', + 'embedConfirmText' => 'Ao utilizar este conteúdo, aceita os nossos', 'deletePostConfirm' => 'Tem a certeza que pretende apagar esta publicação?', 'archivePostConfirm' => 'Tem a certeza que pretende arquivar esta publicação?', @@ -178,7 +178,7 @@ return [ ], 'story' => [ - 'add' => 'Adicionar Story' + 'add' => 'Adicionar Storie' ], 'timeline' => [ @@ -193,7 +193,7 @@ return [ ], 'hashtags' => [ - 'emptyFeed' => 'Não encontramos nenhuma publicação com esta hashtag' + 'emptyFeed' => 'Não conseguimos encontrar publicações com essa hashtag' ], 'report' => [ From b717404333db7bec7be900e1b9290c3dc51b46c4 Mon Sep 17 00:00:00 2001 From: daniel Date: Fri, 24 Jan 2025 14:02:15 -0700 Subject: [PATCH 09/23] New translations web.php (Portuguese) [ci skip] --- resources/lang/pt/web.php | 76 +++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/resources/lang/pt/web.php b/resources/lang/pt/web.php index 14f279902..6b6c8aded 100644 --- a/resources/lang/pt/web.php +++ b/resources/lang/pt/web.php @@ -19,7 +19,7 @@ return [ 'copyLink' => 'Copiar link', 'delete' => 'Eliminar', 'error' => 'Erro', - 'errorMsg' => 'Algo correu mal. Por favor, tente novamente mais tarde.', + 'errorMsg' => 'Algo correu mal. Tenta novamente mais tarde.', 'oops' => 'Oops!', 'other' => 'Outro', 'readMore' => 'Ler mais', @@ -27,7 +27,7 @@ return [ 'proceed' => 'Continuar', 'next' => 'Seguinte', 'close' => 'Fechar', - 'clickHere' => 'clique aqui', + 'clickHere' => 'clica aqui', 'sensitive' => 'Sensível', 'sensitiveContent' => 'Conteúdo sensível', @@ -60,7 +60,7 @@ return [ 'drive' => 'Disco', 'settings' => 'Definições', 'compose' => 'Criar novo', - 'logout' => 'Terminar Sessão', + 'logout' => 'Terminar sessão', // Nav footer 'about' => 'Sobre', @@ -74,7 +74,7 @@ return [ ], 'directMessages' => [ - 'inbox' => 'Caixa de Entrada', + 'inbox' => 'Caixa de entrada', 'sent' => 'Enviadas', 'requests' => 'Pedidos' ], @@ -83,25 +83,25 @@ return [ 'liked' => 'gostou do seu', 'commented' => 'comentou no seu', 'reacted' => 'reagiu ao seu', - 'shared' => 'Partilhou o seu', - 'tagged' => 'marcou você numa publicação', + 'shared' => 'partilhou o teu', + 'tagged' => 'etiquetou-te numa publicação', - 'updatedA' => 'atualizou', - 'sentA' => 'enviou um', + 'updatedA' => 'atualizou uma', + 'sentA' => 'enviou uma', - 'followed' => 'seguiu', - 'mentioned' => 'mencionou', - 'you' => 'você', + 'followed' => 'seguiu-te', + 'mentioned' => 'mencionou-te', + 'you' => 'tu', - 'yourApplication' => 'A sua candidatura para se juntar', + 'yourApplication' => 'O teu pedido de adesão', 'applicationApproved' => 'foi aprovado!', - 'applicationRejected' => 'foi rejeitado. Você pode inscrever-se novamente em 6 meses.', + 'applicationRejected' => 'foi rejeitado. Podes voltar a candidatar-te dentro de 6 meses.', - 'dm' => 'dm', + 'dm' => 'md', 'groupPost' => 'publicação de grupo', 'modlog' => 'histórico de moderação', 'post' => 'publicação', - 'story' => 'story', + 'story' => 'estória', 'noneFound' => 'Nenhuma notificação encontrada', ], @@ -115,12 +115,12 @@ return [ 'profile' => [ 'posts' => 'Publicações', 'followers' => 'Seguidores', - 'following' => 'A seguir', - 'admin' => 'Admin', + 'following' => 'Seguindo', + 'admin' => 'Administrador', 'collections' => 'Coleções', 'follow' => 'Seguir', 'unfollow' => 'Deixar de seguir', - 'editProfile' => 'Editar Perfil', + 'editProfile' => 'Editar perfil', 'followRequested' => 'Pedido para seguir enviado', 'joined' => 'Juntou-se', @@ -137,29 +137,29 @@ return [ 'unarchive' => 'Retirar do arquivo', 'embed' => 'Incorporar', - 'selectOneOption' => 'Selecione uma das seguintes opções', + 'selectOneOption' => 'Seleciona uma das seguintes opções', 'unlistFromTimelines' => 'Remover das cronologias', 'addCW' => 'Adicionar aviso de conteúdo', 'removeCW' => 'Remover aviso de conteúdo', 'markAsSpammer' => 'Marcar como spammer', 'markAsSpammerText' => 'Remover das cronologias e adicionar um aviso de conteúdo às publicações existentes e futuras', 'spam' => 'Spam', - 'sensitive' => 'Conteúdo Sensível', + 'sensitive' => 'Conteúdo sensível', 'abusive' => 'Abusivo ou prejudicial', 'underageAccount' => 'Conta de menor de idade', 'copyrightInfringement' => 'Violação de direitos de autor', - 'impersonation' => 'Roubo de Identidade', + 'impersonation' => 'Roubo de identidade', 'scamOrFraud' => 'Esquema ou fraude', 'confirmReport' => 'Confirmar denúncia', - 'confirmReportText' => 'Tem a certeza que deseja denunciar esta mensagem?', + 'confirmReportText' => 'Tens a certeza que desejas denunciar esta mensagem?', 'reportSent' => 'Denúncia enviada!', - 'reportSentText' => 'Recebemos com sucesso a sua denúncia.', + 'reportSentText' => 'Recebemos com sucesso a tua denúncia.', 'reportSentError' => 'Ocorreu um erro ao denunciar este conteúdo.', - 'modAddCWConfirm' => 'Tem a certeza que pretende adicionar um aviso de conteúdo à publicação?', - 'modCWSuccess' => 'Adicionou com sucesso um aviso de conteúdo', - 'modRemoveCWConfirm' => 'Tem a certeza que pretende remover o aviso de conteúdo desta publicação?', - 'modRemoveCWSuccess' => 'Removeu com sucesso o aviso de conteúdo', + 'modAddCWConfirm' => 'Tens a certeza que pretendes adicionar um aviso de conteúdo à publicação?', + 'modCWSuccess' => 'Adicionaste com sucesso um aviso de conteúdo', + 'modRemoveCWConfirm' => 'Tens a certeza que pretendes remover o aviso de conteúdo desta publicação?', + 'modRemoveCWSuccess' => 'Removeste com sucesso o aviso de conteúdo', 'modUnlistConfirm' => 'Tem a certeza que pretende deslistar este post?', 'modUnlistSuccess' => 'Deslistou com sucesso este post', 'modMarkAsSpammerConfirm' => 'Tem a certeza que deseja marcar este utilizador como spammer? Todos os posts existentes e futuros serão deslistados da timeline e o alerta de conteúdo será aplicado.', @@ -168,12 +168,12 @@ return [ 'toFollowers' => 'para Seguidores', 'showCaption' => 'Mostar legenda', - 'showLikes' => 'Mostrar Gostos', + 'showLikes' => 'Mostrar gostos', 'compactMode' => 'Modo compacto', - 'embedConfirmText' => 'Ao utilizar este conteúdo, aceita os nossos', + 'embedConfirmText' => 'Ao utilizar este conteúdo, concordas com:', - 'deletePostConfirm' => 'Tem a certeza que pretende apagar esta publicação?', - 'archivePostConfirm' => 'Tem a certeza que pretende arquivar esta publicação?', + 'deletePostConfirm' => 'Tens a certeza que pretendes eliminar esta publicação?', + 'archivePostConfirm' => 'Tens a certeza que pretendes arquivar esta publicação?', 'unarchivePostConfirm' => 'Tem a certeza que pretende desarquivar este post?', ], @@ -182,13 +182,13 @@ return [ ], 'timeline' => [ - 'peopleYouMayKnow' => 'Pessoas que talvez conheça', + 'peopleYouMayKnow' => 'Pessoas que talvez conheças', 'onboarding' => [ 'welcome' => 'Bem-vindo', - 'thisIsYourHomeFeed' => 'Este é o seu feed pessoal, com publicações em ordem cronológica das contas que segue.', - 'letUsHelpYouFind' => 'Deixe-nos ajudar a encontrar algumas pessoas interessantes para seguir', - 'refreshFeed' => 'Atualizar o meu feed', + 'thisIsYourHomeFeed' => 'Este é a tua cronologia inicial pessoal, com publicações em ordem cronológica das contas que segue.', + 'letUsHelpYouFind' => 'Deixa-nos ajudar-te a encontrar algumas pessoas interessantes para seguires', + 'refreshFeed' => 'Atualizar a minha cronologia', ], ], @@ -198,11 +198,11 @@ return [ 'report' => [ 'report' => 'Denunciar', - 'selectReason' => 'Selecione uma razão', + 'selectReason' => 'Seleciona um motivo', 'reported' => 'Denunciado', 'sendingReport' => 'A enviar denúncia', - 'thanksMsg' => 'Obrigado pela denúncia, pessoas como você ajudam a manter a nossa comunidade segura!', - 'contactAdminMsg' => 'Se quiser entrar em contato com um administrador acerca desta publicação ou denúncia', + 'thanksMsg' => 'Obrigado pela denúncia, as pessoas como tu ajudam a manter a nossa comunidade segura!', + 'contactAdminMsg' => 'Se quiseres entrar em contacto com um administrador sobre esta publicação ou denúncia', ], ]; From f896e5514aa40a9ed6d827a355e0f78d981eced9 Mon Sep 17 00:00:00 2001 From: Taye Adeyemi Date: Wed, 22 Jan 2025 22:18:05 +0100 Subject: [PATCH 10/23] fix(compose-modal): avoid WebGL if it's not needed --- .../assets/js/components/ComposeModal.vue | 79 ++++++++++++++----- 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/resources/assets/js/components/ComposeModal.vue b/resources/assets/js/components/ComposeModal.vue index 1ec98c64f..389eba782 100644 --- a/resources/assets/js/components/ComposeModal.vue +++ b/resources/assets/js/components/ComposeModal.vue @@ -1015,19 +1015,29 @@ export default { }, created() { - this.editor = new MediaEditor({ - effects: filterEffects, - onEdit: (index, {effect, intensity, crop}) => { - if (index >= this.files.length) return - const file = this.files[index] - - this.$set(file, 'editState', { effect, intensity, crop }) - }, - onRenderPreview: (sourceIndex, previewUrl) => { - const media = this.media[sourceIndex] - if (media) media.preview_url = previewUrl - }, - }) + try { + this.editor = new MediaEditor({ + effects: filterEffects, + onEdit: (sourceIndex, {effect, intensity, crop}) => { + if (sourceIndex >= this.files.length) return + const file = this.files[sourceIndex] + + this.$set(file, 'editState', { effect, intensity, crop }) + }, + onRenderPreview: (sourceIndex, previewUrl) => { + if (sourceIndex >= this.files.length) return + const file = this.files[sourceIndex] + const { editState } = file + const media = this.media[sourceIndex] + + // If the image was edited, use the preview image from the editor. + if (editState && (editState.crop || editState.effect !== -1)) media.preview_url = previewUrl + // When no edits are applied, use the original media URL. + // This limits broken previews with firefox's resistFingerprinting setting. + else media.preview_url = media.url + }, + }) + } catch {} }, computed: { @@ -1054,8 +1064,9 @@ export default { }, destroyed() { - this.files.forEach(fileInfo => { - URL.revokeObjectURL(fileInfo.url); + this.media.forEach(media => { + URL.revokeObjectURL(media.url); + URL.revokeObjectURL(media.preview_url); }) this.files.length = this.media.length = 0 this.editor = undefined @@ -1161,7 +1172,7 @@ export default { const type = file.type.replace(/\/.*/, '') const url = URL.createObjectURL(file) - const preview_url = type === 'image' ? url : '/storage/no-preview.png' + const preview_url = type === 'image' ? URL.createObjectURL(file) : '/storage/no-preview.png' this.files.push({ file, editState: undefined }) this.media.push({ url, preview_url, type }) @@ -1182,7 +1193,16 @@ export default { const media = this.media[i] if (media.type === 'image' && fileInfo.editState) { - file = await this.editor.toBlob(i) + const { editState, cropperBlob } = fileInfo + + // If the WebGL editor is supported by the browser, apply the edits and use the resulting blob + if (this.editor && (editState.effect !== -1 || !!editState.crop)) { + file = await this.editor.toBlob(i) + } + // Otherwise, only the cropped result from cropper.js may be used + else if (cropperBlob) { + file = cropperBlob + } } let form = new FormData(); @@ -1555,12 +1575,29 @@ export default { break; case 'cropPhoto': - const { editState } = this.files[this.carouselCursor] + const file = this.files[this.carouselCursor] + const { cropper } = this.$refs + + // update the file state in this vue component const croppedState = { - ...editState, - crop: this.$refs.cropper.getData() + ...file.editState, + crop: cropper.getData() + } + + if (this.editor) { + // also update the file state in the WebGL editor + this.editor.setEditState(this.carouselCursor, croppedState) + } else { + // if the browser can't run the WebGL editor, get the cropped image from cropper.js + cropper.getCroppedCanvas().toBlob((blob) => { + const { media } = this.media[this.carouselCursor] + + file.croppedBlob = blob + URL.revokeObjectURL(media.preview_url) + media.preview_url = URL.createObjectURL(blob) + }) } - this.editor.setEditState(this.carouselCursor, croppedState) + this.page = 2; break; From 8db158c82b1def2b849807890bed64f651ad762d Mon Sep 17 00:00:00 2001 From: Taye Adeyemi Date: Wed, 22 Jan 2025 22:54:54 +0100 Subject: [PATCH 11/23] fix(compose-modal): update webgl-media-editor --- package-lock.json | 37 ++++++++++++++++++++++++++++++++----- package.json | 2 +- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2c64259da..1c495f4a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "vue-loading-overlay": "^3.3.3", "vue-timeago": "^5.1.2", "vue-tribute": "^1.0.7", - "webgl-media-editor": "^0.0.1", + "webgl-media-editor": "^0.0.6", "zuck.js": "^1.6.0" }, "devDependencies": { @@ -2323,6 +2323,12 @@ "m3u8-parser": "~4.7.1" } }, + "node_modules/@reactively/core": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@reactively/core/-/core-0.0.8.tgz", + "integrity": "sha512-5uAnNf2gQSm3gM7z6Lx079H1/MuDQQI+5aYfwyDFGR9nHZj8yblLY/6aOJVWp+NcBwXVBKuWQ28qWHD9F1qN1w==", + "license": "ISC" + }, "node_modules/@thaunknown/simple-peer": { "version": "10.0.11", "resolved": "https://registry.npmjs.org/@thaunknown/simple-peer/-/simple-peer-10.0.11.tgz", @@ -5645,6 +5651,15 @@ "node": ">=8" } }, + "node_modules/fine-jsx": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/fine-jsx/-/fine-jsx-0.0.5.tgz", + "integrity": "sha512-UKQ0ymyZnA605yf7np/wAv3iTs6i9oRKgyYmz+dX+F3VanYEBr60zRQ+WPcYzXMtl9NghNxT736qHfDBjoXVDg==", + "license": "AGPL-3.0-only", + "dependencies": { + "@reactively/core": "^0.0.8" + } + }, "node_modules/fizzy-ui-utils": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz", @@ -10749,16 +10764,28 @@ "node": ">= 8" } }, + "node_modules/webgl-effects": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/webgl-effects/-/webgl-effects-0.0.3.tgz", + "integrity": "sha512-P+qxcO0QyydUnHHwnsge2ckou85Pnsdgn0BKAjrhD9LiPFz5i2hq8rT8AdS7wNdXrXyqlM1Y0id+AB0gKTDtpQ==", + "license": "AGPL-3.0-only", + "dependencies": { + "gl-matrix": "^3.4.3", + "twgl.js": "^5.5.4" + } + }, "node_modules/webgl-media-editor": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/webgl-media-editor/-/webgl-media-editor-0.0.1.tgz", - "integrity": "sha512-TxnuRl3rpWa1Cia/pn+vh+0iz3yDNwzsrnRGJ61YkdZAYuimu2afBivSHv0RK73hKza6Y/YoRCkuEcsFmtxPNw==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/webgl-media-editor/-/webgl-media-editor-0.0.6.tgz", + "integrity": "sha512-hqpIY+a+ay3QzXKECC4pFSHS0dVogV3GlBWzuSwBzEeGZcs7MeEYxLhFdqUa1D2xFtNnXb0pAo+1lCndYDKP2A==", "license": "AGPL-3.0-only", "dependencies": { "cropperjs": "^1.6.2", + "fine-jsx": "^0.0.5", "gl-matrix": "^3.4.3", "throttle-debounce": "^5.0.2", - "twgl.js": "^5.5.4" + "twgl.js": "^5.5.4", + "webgl-effects": "^0.0.3" } }, "node_modules/webidl-conversions": { diff --git a/package.json b/package.json index 691972ced..46f3839c5 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "vue-loading-overlay": "^3.3.3", "vue-timeago": "^5.1.2", "vue-tribute": "^1.0.7", - "webgl-media-editor": "^0.0.1", + "webgl-media-editor": "^0.0.6", "zuck.js": "^1.6.0" }, "collective": { From c5751b36691d8ab712868d192156793f9219618b Mon Sep 17 00:00:00 2001 From: daniel Date: Wed, 29 Jan 2025 03:51:58 -0700 Subject: [PATCH 12/23] New translations web.php (Hungarian) [ci skip] --- resources/lang/hu/web.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/lang/hu/web.php b/resources/lang/hu/web.php index f3b8e8452..4e25b4745 100644 --- a/resources/lang/hu/web.php +++ b/resources/lang/hu/web.php @@ -44,7 +44,7 @@ return [ 'admin' => 'Admin irányítópult', // Timelines - 'homeFeed' => 'Kezdőlap', + 'homeFeed' => 'Saját idővonal', 'localFeed' => 'Helyi idővonal', 'globalFeed' => 'Globális idővonal', @@ -63,7 +63,7 @@ return [ 'logout' => 'Kijelentkezés', // Nav footer - 'about' => 'Rólunk', + 'about' => 'Névjegy', 'help' => 'Súgó', 'language' => 'Nyelv', 'privacy' => 'Adatvédelem', @@ -186,9 +186,9 @@ return [ 'onboarding' => [ 'welcome' => 'Üdvözöljük', - 'thisIsYourHomeFeed' => 'Ez a kezdőlap, az Ön által követett fiókok bejegyzései időrendi sorrendben.', + 'thisIsYourHomeFeed' => 'Ez a saját idővonala, az Ön által követett fiókok bejegyzései időrendi sorrendben.', 'letUsHelpYouFind' => 'Keressünk érdekes, követhető embereket', - 'refreshFeed' => 'Kezdőlap frissítése', + 'refreshFeed' => 'Idővonal frissítése', ], ], From 1f5d4b21866f127a77a14c61160588d43ec3cc53 Mon Sep 17 00:00:00 2001 From: daniel Date: Fri, 31 Jan 2025 08:15:33 -0700 Subject: [PATCH 13/23] New translations web.php (Russian) [ci skip] --- resources/lang/ru/web.php | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/resources/lang/ru/web.php b/resources/lang/ru/web.php index ab469fc12..e927f76a9 100644 --- a/resources/lang/ru/web.php +++ b/resources/lang/ru/web.php @@ -31,7 +31,7 @@ return [ 'sensitive' => 'Чувствительный', 'sensitiveContent' => 'Чувствительный контент', - 'sensitiveContentWarning' => 'Этот пост может содержать чувствительный контент', + 'sensitiveContentWarning' => 'Эта запись может содержать вызывающее содержимое', ], 'site' => [ @@ -98,9 +98,9 @@ return [ 'applicationRejected' => 'было отклонено. Вы можете повторно подать заявку на регистрацию в течение 6 месяцев.', 'dm' => 'сообщение', - 'groupPost' => 'пост в группе', + 'groupPost' => 'запись в группе', 'modlog' => 'журнал модерации', - 'post' => 'пост', + 'post' => 'запись', 'story' => 'история', 'noneFound' => 'Уведомления не найдены', ], @@ -108,12 +108,12 @@ return [ 'post' => [ 'shareToFollowers' => 'Поделиться с подписчиками', 'shareToOther' => 'Поделиться с другими', - 'noLikes' => 'Пока никому не понравилось', + 'noLikes' => 'Пока нет лайков', 'uploading' => 'Загружается', ], 'profile' => [ - 'posts' => 'Посты', + 'posts' => 'Записи', 'followers' => 'Подписчики', 'following' => 'Подписки', 'admin' => 'Администратор', @@ -129,7 +129,7 @@ return [ ], 'menu' => [ - 'viewPost' => 'Показать пост', + 'viewPost' => 'Показать запись', 'viewProfile' => 'Посмотреть профиль', 'moderationTools' => 'Инструменты модерации', 'report' => 'Пожаловаться', @@ -146,23 +146,23 @@ return [ 'spam' => 'Спам', 'sensitive' => 'Деликатный контент', 'abusive' => 'Жестокое обращение или причинение вреда', - 'underageAccount' => 'Несовершеннолетний аккаунт', + 'underageAccount' => 'Профиль несовершеннолетнего', 'copyrightInfringement' => 'Нарушение авторских прав', 'impersonation' => 'Представление себя за другого человека', 'scamOrFraud' => 'Обман или мошенничество', 'confirmReport' => 'Подтвердить жалобу', - 'confirmReportText' => 'Вы действительно хотите пожаловаться на этот пост?', + 'confirmReportText' => 'Вы действительно хотите пожаловаться на эту запись?', 'reportSent' => 'Жалоба отправлена!', 'reportSentText' => 'Мы успешно получили Вашу жалобу.', - 'reportSentError' => 'При отправке жалобы на этот пост произошла ошибка.', + 'reportSentError' => 'При отправке жалобы на эту запись произошла ошибка.', - 'modAddCWConfirm' => 'Вы действительно хотите добавить предупреждение о контенте на этот пост?', + 'modAddCWConfirm' => 'Вы действительно хотите добавить предупреждение о содержимом на этой записи?', 'modCWSuccess' => 'Предупреждение о контенте успешно добавлено', - 'modRemoveCWConfirm' => 'Вы действительно хотите удалить предупреждение о контенте с этого поста?', + 'modRemoveCWConfirm' => 'Вы действительно хотите удалить предупреждение о содержимом с этой записи?', 'modRemoveCWSuccess' => 'Предупреждение о контенте успешно удалено', - 'modUnlistConfirm' => 'Вы действительно хотите скрыть этот пост из лент?', - 'modUnlistSuccess' => 'Пост удален', - 'modMarkAsSpammerConfirm' => 'Вы уверены, что хотите отметить этого пользователя спамом? Все существующие и будущие сообщения будут исключены из списка в сроки, и будет применяться предупреждение о содержании.', + 'modUnlistConfirm' => 'Вы действительно хотите скрыть эту запись со всех лент?', + 'modUnlistSuccess' => 'Запись скрыта', + 'modMarkAsSpammerConfirm' => 'Вы уверены, что хотите отметить этого пользователя как спамера? Все существующие и будущие сообщения будут скрыты в лентах и будет применяться предупреждение о содержании.', 'modMarkAsSpammerSuccess' => 'Аккаунт успешно помечен как спаммер', 'toFollowers' => 'подписчикам', @@ -186,7 +186,7 @@ return [ 'onboarding' => [ 'welcome' => 'Добро пожаловать', - 'thisIsYourHomeFeed' => 'Это ваша домашняя лента, где хронологически собраны посты с аккаунтов, на которые вы подписаны.', + 'thisIsYourHomeFeed' => 'Это ваша домашняя лента, где хронологически собраны записи от профилей на которые вы подписаны.', 'letUsHelpYouFind' => 'Давайте мы поможем вам найти интересных людей, на которых можно подписаться', 'refreshFeed' => 'Обновить мою ленту', ], @@ -202,7 +202,7 @@ return [ 'reported' => 'Жалоба отправлена', 'sendingReport' => 'Отправка жалобы', 'thanksMsg' => 'Спасибо за обращение! Такие, как вы, помогают сделать сообщество безопаснее!', - 'contactAdminMsg' => 'Хотите ли вы связаться с администратором по поводу этой публикации или жалобы', + 'contactAdminMsg' => 'Хотите ли вы связаться с администратором по поводу этой публикации или пожаловаться', ], ]; From 27082023ce0f36f8f0cd326cb9ec5e4234645e16 Mon Sep 17 00:00:00 2001 From: daniel Date: Sat, 1 Feb 2025 08:18:48 -0700 Subject: [PATCH 14/23] New translations web.php (Russian) [ci skip] --- resources/lang/ru/web.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lang/ru/web.php b/resources/lang/ru/web.php index e927f76a9..b8a850c07 100644 --- a/resources/lang/ru/web.php +++ b/resources/lang/ru/web.php @@ -29,8 +29,8 @@ return [ 'close' => 'Закрыть', 'clickHere' => 'нажмите здесь', - 'sensitive' => 'Чувствительный', - 'sensitiveContent' => 'Чувствительный контент', + 'sensitive' => 'Вызывающий', + 'sensitiveContent' => 'Вызывающее содержимое', 'sensitiveContentWarning' => 'Эта запись может содержать вызывающее содержимое', ], From 43a89a17462ff704ea0f621d1e3f1e06e4705151 Mon Sep 17 00:00:00 2001 From: stemy2 Date: Mon, 3 Feb 2025 22:44:14 +0000 Subject: [PATCH 15/23] Update .env.example Adding the parameter INSTANCE_DISCOVER_PUBLIC="true" to prevent a HTTP 403 error at the explorer tab in the instance preview. --- .env.example | 1 + 1 file changed, 1 insertion(+) diff --git a/.env.example b/.env.example index 79ce65337..959c00e9f 100644 --- a/.env.example +++ b/.env.example @@ -9,6 +9,7 @@ ENFORCE_EMAIL_VERIFICATION="false" PF_MAX_USERS="1000" OAUTH_ENABLED="true" ENABLE_CONFIG_CACHE=true +INSTANCE_DISCOVER_PUBLIC="true" # Media Configuration PF_OPTIMIZE_IMAGES="true" From 9731ce854936c347d7bbc4eb3bf57e8f21b62eb5 Mon Sep 17 00:00:00 2001 From: Uthanien Date: Mon, 3 Feb 2025 21:17:14 -0300 Subject: [PATCH 16/23] New variable for lang spanish --- resources/lang/es/auth.php | 6 +++--- resources/lang/es/exception.php | 11 +++++++++++ resources/lang/es/notification.php | 7 +++++-- 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 resources/lang/es/exception.php diff --git a/resources/lang/es/auth.php b/resources/lang/es/auth.php index c0d26842f..06594d1d4 100644 --- a/resources/lang/es/auth.php +++ b/resources/lang/es/auth.php @@ -13,7 +13,7 @@ return [ | */ - 'failed' => 'Los datos introducidos no son válidos.', - 'throttle' => 'Demasiados intentos de iniciar sesión. Por favor, inténtalo de nuevo en :seconds segundos.', - + 'failed' => 'These credentials do not match our records.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + 'verifyYourEmailAddress' => ' - Verica Tu Correo Electronico', ]; diff --git a/resources/lang/es/exception.php b/resources/lang/es/exception.php new file mode 100644 index 000000000..292bd2808 --- /dev/null +++ b/resources/lang/es/exception.php @@ -0,0 +1,11 @@ + [ + 'invalid' => [ + 'album' => 'Debe contener solo una foto o video, o multiples.', + ], + ], + +]; \ No newline at end of file diff --git a/resources/lang/es/notification.php b/resources/lang/es/notification.php index 599a0ab09..ea8ffd8c8 100644 --- a/resources/lang/es/notification.php +++ b/resources/lang/es/notification.php @@ -2,7 +2,10 @@ return [ - 'likedPhoto' => 'le gustó tu foto.', + 'likedPhoto' => 'le gustó tu foto.', + 'likedComment' => 'le gustó tu comentario.', 'startedFollowingYou' => 'empezó a seguirte.', - + 'commented' => 'comentó tu foto.', + 'mentionedYou' => 'te menciono.', + 'shared' => 'compartir tu foto.', ]; From 397c88319a14e808c79b5ba7a2e9864bdd0c1145 Mon Sep 17 00:00:00 2001 From: Uthanien Date: Mon, 3 Feb 2025 21:20:12 -0300 Subject: [PATCH 17/23] Variable for lang spanish --- resources/lang/es/auth.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/lang/es/auth.php b/resources/lang/es/auth.php index 06594d1d4..fec9df86f 100644 --- a/resources/lang/es/auth.php +++ b/resources/lang/es/auth.php @@ -13,7 +13,7 @@ return [ | */ - 'failed' => 'These credentials do not match our records.', - 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', - 'verifyYourEmailAddress' => ' - Verica Tu Correo Electronico', + 'failed' => 'Los datos introducidos no son vlidos.', + 'throttle' => 'Demasiados intentos de iniciar sesin. Por favor, intntalo de nuevo en :seconds segundos.', + ]; From 99a44a1c9c8586e2601a6d3a635e2c885c2504f4 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 3 Feb 2025 20:27:32 -0700 Subject: [PATCH 18/23] Update Dockerfile, fixes #5535 #5559 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3f27c84a2..29d22f611 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,11 +28,11 @@ ARG DOTTIE_VERSION="v0.9.5" ### # See: https://hub.docker.com/_/php/tags -ARG PHP_VERSION="8.1" +ARG PHP_VERSION="8.3" # See: https://github.com/docker-library/docs/blob/master/php/README.md#image-variants ARG PHP_BASE_TYPE="apache" -ARG PHP_DEBIAN_RELEASE="bullseye" +ARG PHP_DEBIAN_RELEASE="bookworm" ARG RUNTIME_UID=33 # often called 'www-data' ARG RUNTIME_GID=33 # often called 'www-data' From a05524e834a542e5a85f9a7e281ce1a1e3dfde32 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 3 Feb 2025 22:36:42 -0700 Subject: [PATCH 19/23] Fix #5582 --- app/Console/Commands/TransformImports.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Console/Commands/TransformImports.php b/app/Console/Commands/TransformImports.php index 6b6efa6e3..fe793ce40 100644 --- a/app/Console/Commands/TransformImports.php +++ b/app/Console/Commands/TransformImports.php @@ -103,7 +103,7 @@ class TransformImports extends Command continue; } - $caption = $ip->caption; + $caption = $ip->caption ?? ""; $status = new Status; $status->profile_id = $pid; $status->caption = $caption; From a9c6d64c52b7619c0a27728fdbff8e234c6b08f3 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 3 Feb 2025 22:49:49 -0700 Subject: [PATCH 20/23] Fix #5632 --- .../views/admin/diagnostics/home.blade.php | 1793 +++++++++-------- 1 file changed, 914 insertions(+), 879 deletions(-) diff --git a/resources/views/admin/diagnostics/home.blade.php b/resources/views/admin/diagnostics/home.blade.php index b23652b51..0bc6cc07a 100644 --- a/resources/views/admin/diagnostics/home.blade.php +++ b/resources/views/admin/diagnostics/home.blade.php @@ -1,887 +1,922 @@ @extends('admin.partial.template-full') @section('section') -
-

Diagnostics

- -
-

- Information - Copy -

- -
- - -
    -

    - Troubleshooting -

    - -
  • - Bootstrap: - {{is_writable(base_path('bootstrap/')) ? 'Writable ✅' : 'Not writable ❌'}} -
  • -
  • - Storage: - {{is_writable(base_path('storage/')) ? 'Writable ✅' : 'Not writable ❌'}} -
  • - - @foreach([ - 'bcmath', - 'gd', - 'imagick', - 'ctype', - 'curl', - 'intl', - 'json', - 'mbstring', - 'openssl', - 'redis' - ] as $ext) - @if(!extension_loaded($ext)) -
  • - PHP Module {{$ext}}: - Not installed/Not loaded ❌ -
  • - @endif - @endforeach - -
  • - DATABASE Ping: - {{ \DB::connection()->getPDO() ? 'Pong! Connected to DB "' . \DB::connection()->getDatabaseName() . '" ✅' : 'DB Not Responding ❌' }} -
  • -
  • - REDIS Ping: - {{ \Illuminate\Support\Facades\Redis::command('ping') ? 'Pong! Connected to Redis ✅' : 'Redis Not Responding ❌' }} -
  • -
  • - ACTIVITYPUB instance actor created: - {{ \App\Models\InstanceActor::count() ? '✅ true' : '❌ false' }} -
  • -
  • - ACTIVITYPUB instance actor cached: - {{ Cache::get(\App\Models\InstanceActor::PROFILE_KEY) ? '✅ true' : '❌ false' }} -
  • -
  • - OAUTH enabled: - {{ (bool) config_cache('pixelfed.oauth_enabled') ? '✅ true' : '❌ false' }} -
  • -
  • - OAUTH token_expiration - {{ config_cache('instance.oauth.token_expiration') }} days -
  • -
  • - OAUTH public key exists: - {{ file_exists(storage_path('oauth-public.key')) || config_cache('passport.public_key') ? '✅ true' : '❌ false' }} -
  • -
  • - OAUTH private key exists: - {{ file_exists(storage_path('oauth-private.key')) || config_cache('passport.private_key') ? '✅ true' : '❌ false' }} -
  • - -
    -

    - Important Information -

    - - - @if(function_exists('shell_exec')) -
  • - Version: - {{config('pixelfed.version')}}-{{ @shell_exec('git log --pretty="%h" -n1 HEAD') ?? 'unknown git commit' }} -
  • - @else -
  • - Version: - {{config('pixelfed.version')}} -
  • - @endif - -
  • - Database: - @php($v = explode(' ', DB::select('select version() as version')[0]->version)) - {{config('database.default')}} ({{count($v) == 1 ? $v[0] : $v[1]}}) -
  • -
  • - APP_URL: - {{config_cache('app.url')}} -
  • -
  • - APP_DOMAIN: - {{config_cache('pixelfed.domain.app')}} -
  • -
  • - ADMIN_DOMAIN: - {{config_cache('pixelfed.domain.admin')}} -
  • -
  • - SESSION_DOMAIN: - {{config_cache('session.domain')}} -
  • - -
    -

    - PHP Variables -

    -
  • - PHP: - {{phpversion()}} -
  • -
  • - PHP INI memory_limit: - {{ ini_get('memory_limit') }} -
  • -
  • - PHP INI post_max_size: - {{ ini_get('post_max_size') }} -
  • -
  • - PHP INI upload_max_filesize: - {{ ini_get('upload_max_filesize') }} -
  • -
  • - PHP INI max_file_uploads: - {{ ini_get('max_file_uploads') }} -
  • -
  • - PHP INI max_execution_time: - {{ ini_get('max_execution_time') }} -
  • -
  • - PHP INI max_input_time: - {{ ini_get('max_input_time') }} -
  • - -
  • - PHP INI file_uploads (On): - {{ ini_get('file_uploads') }} -
  • -
  • - PHP INI - Security allow_url_fopen (true): - {{ ini_get('allow_url_fopen') }} -
  • -
  • - PHP INI - Security allow_url_include (false): - {{ ini_get('allow_url_include') }} -
  • -
  • - PHP INI - Security expose_php (false): - {{ ini_get('expose_php') }} -
  • -
  • - PHP INI - Security display_errors (false): - {{ ini_get('display_errors') }} -
  • -
  • - PHP INI - Security display_startup_errors (false): - {{ ini_get('display_startup_errors') }} -
  • -
  • - PHP INI - Security log_errors (true): - {{ ini_get('log_errors') }} -
  • -
  • - PHP INI - Security ignore_repeated_errors (false): - {{ ini_get('ignore_repeated_errors') }} -
  • -
  • - PHP INI - Security disable_functions: - {{ ini_get('disable_functions') }} -
  • - -
    -

    - Pixelfed Variables (No Secrets) -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CONFIGVariable NameDetails
    APPAPP_NAME"{{config_cache('app.name')}}"
    APPAPP_ENV"{{config_cache('app.env')}}"
    APPAPP_DEBUG{{config_cache('app.debug') ? '✅ true' : '❌ false' }}
    APPAPP_URL"{{config_cache('app.url')}}"
    APPAPP_LOCALE"{{config_cache('app.locale')}}"
    APPAPP_FALLBACK_LOCALE"{{config_cache('app.fallback_locale')}}"
    BROADCASTINGBROADCAST_DRIVER"{{config_cache('broadcasting.default')}}"
    CACHECACHE_DRIVER"{{config_cache('cache.default')}}"
    CAPTCHACAPTCHA_ENABLED{{ config_cache('captcha.enabled') ? '✅ true' : '❌ false' }}
    DATABASEDB_CONNECTION"{{config_cache('database.default')}}"
    DATABASEREDIS_CLIENT"{{config_cache('database.redis.client')}}"
    EXPEXP_LC{{config_cache('exp.lc') ? '✅ true' : '❌ false' }}
    EXPEXP_TOP{{config_cache('exp.top') ? '✅ true' : '❌ false' }}
    EXPEXP_POLLS{{config_cache('exp.polls') ? '✅ true' : '❌ false' }}
    EXPEXP_CPT{{config_cache('exp.cached_public_timeline') ? '✅ true' : '❌ false' }}
    EXPEXP_GPS{{config_cache('exp.gps') ? '✅ true' : '❌ false' }}
    EXPEXP_EMC{{config_cache('exp.emc') ? '✅ true' : '❌ false' }}
    FEDERATIONACTIVITY_PUB{{(bool) config_cache('federation.activitypub.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_OUTBOX{{config_cache('federation.activitypub.outbox') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_INBOX{{config_cache('federation.activitypub.inbox') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_SHAREDINBOX{{config_cache('federation.activitypub.sharedInbox') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_REMOTE_FOLLOW{{config_cache('federation.activitypub.remoteFollow') ? '✅ true' : '❌ false' }}
    FEDERATIONACTIVITYPUB_DELIVERY_TIMEOUT"{{config_cache('federation.activitypub.delivery.timeout')}}"
    FEDERATIONACTIVITYPUB_DELIVERY_CONCURRENCY"{{config_cache('federation.activitypub.delivery.concurrency')}}"
    FEDERATIONAP_LOGGER_ENABLED{{config_cache('federation.activitypub.delivery.logger.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONATOM_FEEDS{{config_cache('federation.atom.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONREMOTE_AVATARS{{config_cache('federation.avatars.store_local') ? '✅ true' : '❌ false' }}
    FEDERATIONNODEINFO{{config_cache('federation.nodeinfo.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONWEBFINGER{{config_cache('federation.webfinger.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONPF_NETWORK_TIMELINE{{(bool) config_cache('federation.network_timeline') ? '✅ true' : '❌ false' }}
    FEDERATIONPF_NETWORK_TIMELINE_DAYS_FALLOFF{{config('federation.network_timeline_days_falloff') }}
    FEDERATIONCUSTOM_EMOJI{{(bool) config_cache('federation.custom_emoji.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONCUSTOM_EMOJI_MAX_SIZE"{{config_cache('federation.custom_emoji.max_size')}}"
    FILESYSTEMSFILESYSTEM_DRIVER"{{config_cache('filesystems.default')}}"
    FILESYSTEMSFILESYSTEM_CLOUD"{{config_cache('filesystems.cloud')}}"
    HASHINGBCRYPT_COST"{{config_cache('hashing.bcrypt.rounds')}}"
    HORIZONHORIZON_PREFIX"{{config_cache('horizon.prefix')}}"
    HORIZONHORIZON_MEMORY_LIMIT"{{config_cache('horizon.memory_limit')}}"
    HORIZONHORIZON_BALANCE_STRATEGY"{{config_cache('horizon.environments.production.supervisor-1.balance')}}"
    HORIZONHORIZON_MIN_PROCESSES"{{config_cache('horizon.environments.production.supervisor-1.minProcesses')}}"
    HORIZONHORIZON_MAX_PROCESSES"{{config_cache('horizon.environments.production.supervisor-1.maxProcesses')}}"
    HORIZONHORIZON_SUPERVISOR_MEMORY"{{config_cache('horizon.environments.production.supervisor-1.memory')}}"
    HORIZONHORIZON_SUPERVISOR_TRIES"{{config_cache('horizon.environments.production.supervisor-1.tries')}}"
    HORIZONHORIZON_SUPERVISOR_NICE"{{config_cache('horizon.environments.production.supervisor-1.nice')}}"
    HORIZONHORIZON_SUPERVISOR_TIMEOUT"{{config_cache('horizon.environments.production.supervisor-1.timeout')}}"
    HORIZONHORIZON_DARKMODE{{config_cache('horizon.darkmode') ? '✅ true' : '❌ false' }}
    IMAGEIMAGE_DRIVER "{{config_cache('image.driver')}}"
    INSTANCEINSTANCE_DESCRIPTION"{{config_cache('instance.description')}}"
    INSTANCEINSTANCE_CONTACT_FORM{{config_cache('instance.contact.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_CONTACT_MAX_PER_DAY"{{config_cache('instance.contact.max_per_day')}}"
    INSTANCEINSTANCE_DISCOVER_PUBLIC{{config_cache('instance.discover.public') ? '✅ true' : '❌ false' }}
    INSTANCEEXP_LOOPS{{config_cache('instance.discover.loops.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_PUBLIC_HASHTAGS{{config_cache('instance.discover.tags.is_public') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_CONTACT_EMAIL"{{config_cache('instance.email')}}"
    INSTANCEINSTANCE_PUBLIC_LOCAL_TIMELINE{{config_cache('instance.timeline.local.is_public') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_NETWORK_TIMELINE_CACHED{{config('instance.timeline.network.cached') }}
    INSTANCEINSTANCE_NETWORK_TIMELINE_CACHE_DROPOFF{{config('instance.timeline.network.cache_dropoff') }}
    INSTANCEINSTANCE_NETWORK_TIMELINE_CACHE_MAX_HOUR_INGEST{{config('instance.timeline.network.max_hours_old') }}
    INSTANCEPAGE_404_HEADER"{{config_cache('instance.page.404.header')}}"
    INSTANCEPAGE_404_BODY"{{config_cache('instance.page.404.body')}}"
    INSTANCEPAGE_503_HEADER"{{config_cache('instance.page.503.header')}}"
    INSTANCEPAGE_503_BODY"{{config_cache('instance.page.503.body')}}"
    INSTANCEBANNED_USERNAMES"{{config_cache('instance.username.banned')}}"
    INSTANCEUSERNAME_REMOTE_FORMAT"{{config_cache('instance.username.remote.format')}}"
    INSTANCEUSERNAME_REMOTE_CUSTOM_TEXT"{{config_cache('instance.username.remote.custom')}}"
    INSTANCESTORIES_ENABLED{{(bool) config_cache('instance.stories.enabled') ? '✅ true' : '❌ false' }}
    INSTANCERESTRICTED_INSTANCE{{config_cache('instance.restricted.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEOAUTH_TOKEN_DAYS"{{config_cache('instance.oauth.token_expiration')}}"
    INSTANCEOAUTH_REFRESH_DAYS"{{config_cache('instance.oauth.refresh_expiration')}}"
    INSTANCEOAUTH_PAT_ENABLED{{config_cache('instance.oauth.pat.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEOAUTH_PAT_ID"{{config_cache('instance.oauth.pat.id')}}"
    INSTANCEENABLE_COVID_LABEL{{config_cache('instance.label.covid.enabled') ? '✅ true' : '❌ false' }}
    INSTANCECOVID_LABEL_URL"{{config_cache('instance.label.covid.url')}}"
    INSTANCECOVID_LABEL_ORG"{{config_cache('instance.label.covid.org')}}"
    INSTANCEENABLE_CONFIG_CACHE{{config_cache('instance.enable_cc') ? '✅ true' : '❌ false' }}
    LDAPLDAP_CONNECTION"{{config_cache('ldap.default')}}"
    LDAPLDAP_LOGGING{{config_cache('ldap.logging') ? '✅ true' : '❌ false' }}
    LDAPLDAP_CACHE{{config_cache('ldap.cache.enabled') ? '✅ true' : '❌ false' }}
    LOGGINGLOG_CHANNEL"{{config_cache('logging.default')}}"
    LOGGINGLOG_LEVEL (stack)"{{config_cache('logging.channels.single.level')}}"
    MAILMAIL_DRIVER"{{config_cache('mail.driver')}}"
    MAILMAIL_HOST"{{config_cache('mail.host')}}"
    MAILMAIL_PORT"{{config_cache('mail.port')}}"
    MAILMAIL_FROM_ADDRESS"{{config_cache('mail.from.address')}}"
    MAILMAIL_FROM_NAME"{{config_cache('mail.from.name')}}"
    MAILMAIL_ENCRYPTION"{{config_cache('mail.encryption')}}"
    MEDIAMEDIA_EXIF_DATABASE{{config_cache('media.exif.database') ? '✅ true' : '❌ false' }}
    PIXELFEDADMIN_DOMAIN"{{config_cache('pixelfed.domain.admin')}}"
    PIXELFEDAPP_DOMAIN"{{config_cache('pixelfed.domain.app')}}"
    PIXELFEDMEMORY_LIMIT"{{config_cache('pixelfed.memory_limit')}}"
    PIXELFEDOPEN_REGISTRATION{{config_cache('pixelfed.open_registration') ? '✅ true' : '❌ false' }}
    PIXELFEDMAX_ACCOUNT_SIZE (KB)"{{config_cache('pixelfed.max_account_size')}}"
    PIXELFEDMAX_PHOTO_SIZE (KB)"{{config_cache('pixelfed.max_photo_size')}}"
    PIXELFEDMAX_AVATAR_SIZE (KB)"{{config_cache('pixelfed.max_avatar_size')}}"
    PIXELFEDMAX_CAPTION_LENGTH"{{config_cache('pixelfed.max_caption_length')}}"
    PIXELFEDMAX_BIO_LENGTH"{{config_cache('pixelfed.max_bio_length')}}"
    PIXELFEDMAX_NAME_LENGTH"{{config_cache('pixelfed.max_name_length')}}"
    PIXELFEDMIN_PASSWORD_LENGTH"{{config_cache('pixelfed.min_password_length')}}"
    PIXELFEDMAX_ALBUM_LENGTH"{{config_cache('pixelfed.max_album_length')}}"
    PIXELFEDENFORCE_EMAIL_VERIFICATION{{config_cache('pixelfed.enforce_email_verification') ? '✅ true' : '❌ false' }}
    PIXELFEDIMAGE_QUALITY (1-100)"{{config_cache('pixelfed.image_quality')}}"
    PIXELFEDACCOUNT_DELETION{{config_cache('pixelfed.account_deletion') ? '✅ true' : '❌ false' }}
    PIXELFEDACCOUNT_DELETE_AFTER{{config_cache('pixelfed.account_delete_after') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_ENABLE_CLOUD{{(bool) config_cache('pixelfed.cloud_storage') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_MAX_USERS{{config_cache('pixelfed.max_users') ? config('pixelfed.max_users') : '❌ false'}}
    PIXELFEDPF_OPTIMIZE_IMAGES{{(bool) config_cache('pixelfed.optimize_image') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_OPTIMIZE_VIDEOS{{(bool) config_cache('pixelfed.optimize_video') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_USER_INVITES{{config_cache('pixelfed.user_invites.enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_USER_INVITES_TOTAL_LIMIT"{{config_cache('pixelfed.user_invites.limit.total')}}"
    PIXELFEDPF_USER_INVITES_DAILY_LIMIT"{{config_cache('pixelfed.user_invites.limit.daily')}}"
    PIXELFEDPF_USER_INVITES_MONTHLY_LIMIT"{{config_cache('pixelfed.user_invites.limit.monthly')}}"
    PIXELFEDPF_MAX_COLLECTION_LENGTH"{{config_cache('pixelfed.max_collection_length')}}"
    PIXELFEDMEDIA_TYPES"{{config_cache('pixelfed.media_types')}}"
    PIXELFEDLIMIT_ACCOUNT_SIZE{{config_cache('pixelfed.enforce_account_limit') ? '✅ true' : '❌ false' }}
    PIXELFEDIMPORT_INSTAGRAM{{config_cache('pixelfed.import.instagram.enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDIMPORT_INSTAGRAM_POST_LIMIT"{{config_cache('pixelfed.import.instagram.limits.posts')}}"
    PIXELFEDIMPORT_INSTAGRAM_SIZE_LIMIT"{{config_cache('pixelfed.import.instagram.limits.size')}}"
    PIXELFEDOAUTH_ENABLED{{ (bool) config_cache('pixelfed.oauth_enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_BOUNCER_ENABLED{{(bool) config_cache('pixelfed.bouncer.enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_MEDIA_FAST_PROCESS{{config_cache('pixelfed.media_fast_process') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_MEDIA_MAX_ALTTEXT_LENGTH"{{config_cache('pixelfed.max_altext_length')}}"
    PURIFYRESTRICT_HTML_TYPESBROKEN
    QUEUEQUEUE_DRIVER"{{config_cache('queue.default')}}"
    SESSIONSESSION_DRIVER"{{config_cache('session.driver')}}"
    SESSIONSESSION_LIFETIME"{{config_cache('session.lifetime')}}"
    SESSIONSESSION_DOMAIN"{{config_cache('session.domain')}}"
    TRUSTEDPROXYTRUST_PROXIES"{{config_cache('trustedproxy.proxies')}}"
    -
- - +
+
+ +
-
-
-
- - -

The payload is from the "Something went wrong" page, anyone can copy the payload for you to decrypt.
Contents are encrypted due to potential sensitive information.

-
-
- - -
-
- -
-
+
+
+
+
+
+
    +

    + Troubleshooting +

    + +
  • + Bootstrap: + {{is_writable(base_path('bootstrap/')) ? 'Writable ✅' : 'Not writable ❌'}} +
  • +
  • + Storage: + {{is_writable(base_path('storage/')) ? 'Writable ✅' : 'Not writable ❌'}} +
  • + + @foreach([ + 'bcmath', + 'gd', + 'imagick', + 'ctype', + 'curl', + 'intl', + 'json', + 'mbstring', + 'openssl', + 'redis' + ] as $ext) + @if(!extension_loaded($ext)) +
  • + PHP Module {{$ext}}: + Not installed/Not loaded ❌ +
  • + @endif + @endforeach + +
  • + DATABASE Ping: + {{ \DB::connection()->getPDO() ? 'Pong! Connected to DB "' . \DB::connection()->getDatabaseName() . '" ✅' : 'DB Not Responding ❌' }} +
  • +
  • + REDIS Ping: + {{ \Illuminate\Support\Facades\Redis::command('ping') ? 'Pong! Connected to Redis ✅' : 'Redis Not Responding ❌' }} +
  • +
  • + ACTIVITYPUB instance actor created: + {{ \App\Models\InstanceActor::count() ? '✅ true' : '❌ false' }} +
  • +
  • + ACTIVITYPUB instance actor cached: + {{ Cache::get(\App\Models\InstanceActor::PROFILE_KEY) ? '✅ true' : '❌ false' }} +
  • +
  • + OAUTH enabled: + {{ (bool) config_cache('pixelfed.oauth_enabled') ? '✅ true' : '❌ false' }} +
  • +
  • + OAUTH token_expiration + {{ config_cache('instance.oauth.token_expiration') }} days +
  • +
  • + OAUTH public key exists: + {{ file_exists(storage_path('oauth-public.key')) || config_cache('passport.public_key') ? '✅ true' : '❌ false' }} +
  • +
  • + OAUTH private key exists: + {{ file_exists(storage_path('oauth-private.key')) || config_cache('passport.private_key') ? '✅ true' : '❌ false' }} +
  • + +
    +

    + Important Information +

    + + + @if(function_exists('shell_exec')) +
  • + Version: + {{config('pixelfed.version')}}-{{ @shell_exec('git log --pretty="%h" -n1 HEAD') ?? 'unknown git commit' }} +
  • + @else +
  • + Version: + {{config('pixelfed.version')}} +
  • + @endif + +
  • + Database: + @php($v = explode(' ', DB::select('select version() as version')[0]->version)) + {{config('database.default')}} ({{count($v) == 1 ? $v[0] : $v[1]}}) +
  • +
  • + APP_URL: + {{config_cache('app.url')}} +
  • +
  • + APP_DOMAIN: + {{config_cache('pixelfed.domain.app')}} +
  • +
  • + ADMIN_DOMAIN: + {{config_cache('pixelfed.domain.admin')}} +
  • +
  • + SESSION_DOMAIN: + {{config_cache('session.domain')}} +
  • + +
    +

    + PHP Variables +

    +
  • + PHP: + {{phpversion()}} +
  • +
  • + PHP INI memory_limit: + {{ ini_get('memory_limit') }} +
  • +
  • + PHP INI post_max_size: + {{ ini_get('post_max_size') }} +
  • +
  • + PHP INI upload_max_filesize: + {{ ini_get('upload_max_filesize') }} +
  • +
  • + PHP INI max_file_uploads: + {{ ini_get('max_file_uploads') }} +
  • +
  • + PHP INI max_execution_time: + {{ ini_get('max_execution_time') }} +
  • +
  • + PHP INI max_input_time: + {{ ini_get('max_input_time') }} +
  • + +
  • + PHP INI file_uploads (On): + {{ ini_get('file_uploads') }} +
  • +
  • + PHP INI - Security allow_url_fopen (true): + {{ ini_get('allow_url_fopen') }} +
  • +
  • + PHP INI - Security allow_url_include (false): + {{ ini_get('allow_url_include') }} +
  • +
  • + PHP INI - Security expose_php (false): + {{ ini_get('expose_php') }} +
  • +
  • + PHP INI - Security display_errors (false): + {{ ini_get('display_errors') }} +
  • +
  • + PHP INI - Security display_startup_errors (false): + {{ ini_get('display_startup_errors') }} +
  • +
  • + PHP INI - Security log_errors (true): + {{ ini_get('log_errors') }} +
  • +
  • + PHP INI - Security ignore_repeated_errors (false): + {{ ini_get('ignore_repeated_errors') }} +
  • +
  • + PHP INI - Security disable_functions: + {{ ini_get('disable_functions') }} +
  • + +
    +

    + Pixelfed Variables (No Secrets) +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CONFIGVariable NameDetails
    APPAPP_NAME"{{config_cache('app.name')}}"
    APPAPP_ENV"{{config_cache('app.env')}}"
    APPAPP_DEBUG{{config_cache('app.debug') ? '✅ true' : '❌ false' }}
    APPAPP_URL"{{config_cache('app.url')}}"
    APPAPP_LOCALE"{{config_cache('app.locale')}}"
    APPAPP_FALLBACK_LOCALE"{{config_cache('app.fallback_locale')}}"
    BROADCASTINGBROADCAST_DRIVER"{{config_cache('broadcasting.default')}}"
    CACHECACHE_DRIVER"{{config_cache('cache.default')}}"
    CAPTCHACAPTCHA_ENABLED{{ config_cache('captcha.enabled') ? '✅ true' : '❌ false' }}
    DATABASEDB_CONNECTION"{{config_cache('database.default')}}"
    DATABASEREDIS_CLIENT"{{config_cache('database.redis.client')}}"
    EXPEXP_LC{{config_cache('exp.lc') ? '✅ true' : '❌ false' }}
    EXPEXP_TOP{{config_cache('exp.top') ? '✅ true' : '❌ false' }}
    EXPEXP_POLLS{{config_cache('exp.polls') ? '✅ true' : '❌ false' }}
    EXPEXP_CPT{{config_cache('exp.cached_public_timeline') ? '✅ true' : '❌ false' }}
    EXPEXP_GPS{{config_cache('exp.gps') ? '✅ true' : '❌ false' }}
    EXPEXP_EMC{{config_cache('exp.emc') ? '✅ true' : '❌ false' }}
    FEDERATIONACTIVITY_PUB{{(bool) config_cache('federation.activitypub.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_OUTBOX{{config_cache('federation.activitypub.outbox') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_INBOX{{config_cache('federation.activitypub.inbox') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_SHAREDINBOX{{config_cache('federation.activitypub.sharedInbox') ? '✅ true' : '❌ false' }}
    FEDERATIONAP_REMOTE_FOLLOW{{config_cache('federation.activitypub.remoteFollow') ? '✅ true' : '❌ false' }}
    FEDERATIONACTIVITYPUB_DELIVERY_TIMEOUT"{{config_cache('federation.activitypub.delivery.timeout')}}"
    FEDERATIONACTIVITYPUB_DELIVERY_CONCURRENCY"{{config_cache('federation.activitypub.delivery.concurrency')}}"
    FEDERATIONAP_LOGGER_ENABLED{{config_cache('federation.activitypub.delivery.logger.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONATOM_FEEDS{{config_cache('federation.atom.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONREMOTE_AVATARS{{config_cache('federation.avatars.store_local') ? '✅ true' : '❌ false' }}
    FEDERATIONNODEINFO{{config_cache('federation.nodeinfo.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONWEBFINGER{{config_cache('federation.webfinger.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONPF_NETWORK_TIMELINE{{(bool) config_cache('federation.network_timeline') ? '✅ true' : '❌ false' }}
    FEDERATIONPF_NETWORK_TIMELINE_DAYS_FALLOFF{{config('federation.network_timeline_days_falloff') }}
    FEDERATIONCUSTOM_EMOJI{{(bool) config_cache('federation.custom_emoji.enabled') ? '✅ true' : '❌ false' }}
    FEDERATIONCUSTOM_EMOJI_MAX_SIZE"{{config_cache('federation.custom_emoji.max_size')}}"
    FILESYSTEMSFILESYSTEM_DRIVER"{{config_cache('filesystems.default')}}"
    FILESYSTEMSFILESYSTEM_CLOUD"{{config_cache('filesystems.cloud')}}"
    HASHINGBCRYPT_COST"{{config_cache('hashing.bcrypt.rounds')}}"
    HORIZONHORIZON_PREFIX"{{config_cache('horizon.prefix')}}"
    HORIZONHORIZON_MEMORY_LIMIT"{{config_cache('horizon.memory_limit')}}"
    HORIZONHORIZON_BALANCE_STRATEGY"{{config_cache('horizon.environments.production.supervisor-1.balance')}}"
    HORIZONHORIZON_MIN_PROCESSES"{{config_cache('horizon.environments.production.supervisor-1.minProcesses')}}"
    HORIZONHORIZON_MAX_PROCESSES"{{config_cache('horizon.environments.production.supervisor-1.maxProcesses')}}"
    HORIZONHORIZON_SUPERVISOR_MEMORY"{{config_cache('horizon.environments.production.supervisor-1.memory')}}"
    HORIZONHORIZON_SUPERVISOR_TRIES"{{config_cache('horizon.environments.production.supervisor-1.tries')}}"
    HORIZONHORIZON_SUPERVISOR_NICE"{{config_cache('horizon.environments.production.supervisor-1.nice')}}"
    HORIZONHORIZON_SUPERVISOR_TIMEOUT"{{config_cache('horizon.environments.production.supervisor-1.timeout')}}"
    HORIZONHORIZON_DARKMODE{{config_cache('horizon.darkmode') ? '✅ true' : '❌ false' }}
    IMAGEIMAGE_DRIVER "{{config_cache('image.driver')}}"
    INSTANCEINSTANCE_DESCRIPTION"{{config_cache('instance.description')}}"
    INSTANCEINSTANCE_CONTACT_FORM{{config_cache('instance.contact.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_CONTACT_MAX_PER_DAY"{{config_cache('instance.contact.max_per_day')}}"
    INSTANCEINSTANCE_DISCOVER_PUBLIC{{config_cache('instance.discover.public') ? '✅ true' : '❌ false' }}
    INSTANCEEXP_LOOPS{{config_cache('instance.discover.loops.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_PUBLIC_HASHTAGS{{config_cache('instance.discover.tags.is_public') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_CONTACT_EMAIL"{{config_cache('instance.email')}}"
    INSTANCEINSTANCE_PUBLIC_LOCAL_TIMELINE{{config_cache('instance.timeline.local.is_public') ? '✅ true' : '❌ false' }}
    INSTANCEINSTANCE_NETWORK_TIMELINE_CACHED{{config('instance.timeline.network.cached') }}
    INSTANCEINSTANCE_NETWORK_TIMELINE_CACHE_DROPOFF{{config('instance.timeline.network.cache_dropoff') }}
    INSTANCEINSTANCE_NETWORK_TIMELINE_CACHE_MAX_HOUR_INGEST{{config('instance.timeline.network.max_hours_old') }}
    INSTANCEPAGE_404_HEADER"{{config_cache('instance.page.404.header')}}"
    INSTANCEPAGE_404_BODY"{{config_cache('instance.page.404.body')}}"
    INSTANCEPAGE_503_HEADER"{{config_cache('instance.page.503.header')}}"
    INSTANCEPAGE_503_BODY"{{config_cache('instance.page.503.body')}}"
    INSTANCEBANNED_USERNAMES"{{config_cache('instance.username.banned')}}"
    INSTANCEUSERNAME_REMOTE_FORMAT"{{config_cache('instance.username.remote.format')}}"
    INSTANCEUSERNAME_REMOTE_CUSTOM_TEXT"{{config_cache('instance.username.remote.custom')}}"
    INSTANCESTORIES_ENABLED{{(bool) config_cache('instance.stories.enabled') ? '✅ true' : '❌ false' }}
    INSTANCERESTRICTED_INSTANCE{{config_cache('instance.restricted.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEOAUTH_TOKEN_DAYS"{{config_cache('instance.oauth.token_expiration')}}"
    INSTANCEOAUTH_REFRESH_DAYS"{{config_cache('instance.oauth.refresh_expiration')}}"
    INSTANCEOAUTH_PAT_ENABLED{{config_cache('instance.oauth.pat.enabled') ? '✅ true' : '❌ false' }}
    INSTANCEOAUTH_PAT_ID"{{config_cache('instance.oauth.pat.id')}}"
    INSTANCEENABLE_COVID_LABEL{{config_cache('instance.label.covid.enabled') ? '✅ true' : '❌ false' }}
    INSTANCECOVID_LABEL_URL"{{config_cache('instance.label.covid.url')}}"
    INSTANCECOVID_LABEL_ORG"{{config_cache('instance.label.covid.org')}}"
    INSTANCEENABLE_CONFIG_CACHE{{config_cache('instance.enable_cc') ? '✅ true' : '❌ false' }}
    LDAPLDAP_CONNECTION"{{config_cache('ldap.default')}}"
    LDAPLDAP_LOGGING{{config_cache('ldap.logging') ? '✅ true' : '❌ false' }}
    LDAPLDAP_CACHE{{config_cache('ldap.cache.enabled') ? '✅ true' : '❌ false' }}
    LOGGINGLOG_CHANNEL"{{config_cache('logging.default')}}"
    LOGGINGLOG_LEVEL (stack)"{{config_cache('logging.channels.single.level')}}"
    MAILMAIL_DRIVER"{{config_cache('mail.default')}}"
    MAILMAIL_HOST"{{config_cache('mail.mailers.smtp.host')}}"
    MAILMAIL_PORT"{{config_cache('mail.mailers.smtp.port')}}"
    MAILMAIL_FROM_ADDRESS"{{config_cache('mail.from.address')}}"
    MAILMAIL_FROM_NAME"{{config_cache('mail.from.name')}}"
    MAILMAIL_ENCRYPTION"{{config_cache('mail.mailers.smtp.encryption')}}"
    MEDIAMEDIA_EXIF_DATABASE{{config_cache('media.exif.database') ? '✅ true' : '❌ false' }}
    PIXELFEDADMIN_DOMAIN"{{config_cache('pixelfed.domain.admin')}}"
    PIXELFEDAPP_DOMAIN"{{config_cache('pixelfed.domain.app')}}"
    PIXELFEDMEMORY_LIMIT"{{config_cache('pixelfed.memory_limit')}}"
    PIXELFEDOPEN_REGISTRATION{{config_cache('pixelfed.open_registration') ? '✅ true' : '❌ false' }}
    PIXELFEDMAX_ACCOUNT_SIZE (KB)"{{config_cache('pixelfed.max_account_size')}}"
    PIXELFEDMAX_PHOTO_SIZE (KB)"{{config_cache('pixelfed.max_photo_size')}}"
    PIXELFEDMAX_AVATAR_SIZE (KB)"{{config_cache('pixelfed.max_avatar_size')}}"
    PIXELFEDMAX_CAPTION_LENGTH"{{config_cache('pixelfed.max_caption_length')}}"
    PIXELFEDMAX_BIO_LENGTH"{{config_cache('pixelfed.max_bio_length')}}"
    PIXELFEDMAX_NAME_LENGTH"{{config_cache('pixelfed.max_name_length')}}"
    PIXELFEDMIN_PASSWORD_LENGTH"{{config_cache('pixelfed.min_password_length')}}"
    PIXELFEDMAX_ALBUM_LENGTH"{{config_cache('pixelfed.max_album_length')}}"
    PIXELFEDENFORCE_EMAIL_VERIFICATION{{config_cache('pixelfed.enforce_email_verification') ? '✅ true' : '❌ false' }}
    PIXELFEDIMAGE_QUALITY (1-100)"{{config_cache('pixelfed.image_quality')}}"
    PIXELFEDACCOUNT_DELETION{{config_cache('pixelfed.account_deletion') ? '✅ true' : '❌ false' }}
    PIXELFEDACCOUNT_DELETE_AFTER{{config_cache('pixelfed.account_delete_after') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_ENABLE_CLOUD{{(bool) config_cache('pixelfed.cloud_storage') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_MAX_USERS{{config_cache('pixelfed.max_users') ? config('pixelfed.max_users') : '❌ false'}}
    PIXELFEDPF_OPTIMIZE_IMAGES{{(bool) config_cache('pixelfed.optimize_image') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_OPTIMIZE_VIDEOS{{(bool) config_cache('pixelfed.optimize_video') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_USER_INVITES{{config_cache('pixelfed.user_invites.enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_USER_INVITES_TOTAL_LIMIT"{{config_cache('pixelfed.user_invites.limit.total')}}"
    PIXELFEDPF_USER_INVITES_DAILY_LIMIT"{{config_cache('pixelfed.user_invites.limit.daily')}}"
    PIXELFEDPF_USER_INVITES_MONTHLY_LIMIT"{{config_cache('pixelfed.user_invites.limit.monthly')}}"
    PIXELFEDPF_MAX_COLLECTION_LENGTH"{{config_cache('pixelfed.max_collection_length')}}"
    PIXELFEDMEDIA_TYPES"{{config_cache('pixelfed.media_types')}}"
    PIXELFEDLIMIT_ACCOUNT_SIZE{{config_cache('pixelfed.enforce_account_limit') ? '✅ true' : '❌ false' }}
    PIXELFEDIMPORT_INSTAGRAM{{config_cache('pixelfed.import.instagram.enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDIMPORT_INSTAGRAM_POST_LIMIT"{{config_cache('pixelfed.import.instagram.limits.posts')}}"
    PIXELFEDIMPORT_INSTAGRAM_SIZE_LIMIT"{{config_cache('pixelfed.import.instagram.limits.size')}}"
    PIXELFEDOAUTH_ENABLED{{ (bool) config_cache('pixelfed.oauth_enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_BOUNCER_ENABLED{{(bool) config_cache('pixelfed.bouncer.enabled') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_MEDIA_FAST_PROCESS{{config_cache('pixelfed.media_fast_process') ? '✅ true' : '❌ false' }}
    PIXELFEDPF_MEDIA_MAX_ALTTEXT_LENGTH"{{config_cache('pixelfed.max_altext_length')}}"
    PURIFYRESTRICT_HTML_TYPESBROKEN
    QUEUEQUEUE_DRIVER"{{config_cache('queue.default')}}"
    SESSIONSESSION_DRIVER"{{config_cache('session.driver')}}"
    SESSIONSESSION_LIFETIME"{{config_cache('session.lifetime')}}"
    SESSIONSESSION_DOMAIN"{{config_cache('session.domain')}}"
    TRUSTEDPROXYTRUST_PROXIES"{{config_cache('trustedproxy.proxies')}}"
    +
    +
+
+
+
+
+
+ + +

The payload is from the "Something went wrong" page, anyone can copy the payload for you to decrypt.
Contents are encrypted due to potential sensitive information.

+
+
+ + +
+
+ +
+
+
+
+
@endsection From 9a5a9f558368e570f5135ec0c4daf5666a100530 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 4 Feb 2025 04:47:23 -0700 Subject: [PATCH 21/23] Update status twitter:card to summary_large_image for images/albums --- resources/views/status/show.blade.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/views/status/show.blade.php b/resources/views/status/show.blade.php index d9743c92f..9914e32eb 100644 --- a/resources/views/status/show.blade.php +++ b/resources/views/status/show.blade.php @@ -48,12 +48,15 @@ if($displayName && $captionPreview) { @push('meta')@if($mediaCount && $s['pf_type'] === "photo" || $s['pf_type'] === "photo:album") + @elseif($mediaCount && $s['pf_type'] === "video" || $s['pf_type'] === "video:album") + + @else + @endif - @endpush From f2f2dc7a4feb30c3b169e9d962690f22635ee401 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 4 Feb 2025 04:47:46 -0700 Subject: [PATCH 22/23] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c805e84ae..6fabcd1d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - Update ComposeController, add max_media_attachments attribute ([17918cbe](https://github.com/pixelfed/pixelfed/commit/17918cbe)) - Fix GroupController, move groups enabled check to each method to fix route:list ([f260572e](https://github.com/pixelfed/pixelfed/commit/f260572e)) - Update MediaStorageService, handle local media deletes after successful S3 upload ([280f63dc](https://github.com/pixelfed/pixelfed/commit/280f63dc)) +- Update status twitter:card to summary_large_image for images/albums ([9a5a9f55](https://github.com/pixelfed/pixelfed/commit/9a5a9f55)) - ([](https://github.com/pixelfed/pixelfed/commit/)) ## [v0.12.4 (2024-11-08)](https://github.com/pixelfed/pixelfed/compare/v0.12.4...dev) From dc4e683f0a0927c8a71b53fd93a2de54111da940 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 4 Feb 2025 18:22:40 -0700 Subject: [PATCH 23/23] Update MediaController, fix redirect bug --- app/Http/Controllers/MediaController.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php index cbc08cb5a..15c470220 100644 --- a/app/Http/Controllers/MediaController.php +++ b/app/Http/Controllers/MediaController.php @@ -9,7 +9,6 @@ class MediaController extends Controller { public function index(Request $request) { - //return view('settings.drive.index'); abort(404); } @@ -20,13 +19,21 @@ class MediaController extends Controller public function fallbackRedirect(Request $request, $pid, $mhash, $uhash, $f) { - abort_if(! (bool) config_cache('pixelfed.cloud_storage'), 404); + if (! (bool) config_cache('pixelfed.cloud_storage')) { + return redirect('/storage/no-preview.png', 302); + } + $path = 'public/m/_v2/'.$pid.'/'.$mhash.'/'.$uhash.'/'.$f; + $media = Media::whereProfileId($pid) ->whereMediaPath($path) ->whereNotNull('cdn_url') - ->firstOrFail(); + ->first(); + + if (! $media) { + return redirect('/storage/no-preview.png', 302); + } - return redirect()->away($media->cdn_url); + return redirect()->away($media->cdn_url, 302); } }