From 6276d3539a42d1d7580ef06c24e157ef24b558ca Mon Sep 17 00:00:00 2001 From: daniel Date: Tue, 4 Feb 2025 04:48:48 -0700 Subject: [PATCH] Staging (#5674) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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. * 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 * New translations web.php (Finnish) [ci skip] * New translations web.php (Finnish) [ci skip] * fix: don't restore memory limit after cities import 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 * New translations web.php (Finnish) [ci skip] * New translations web.php (Finnish) [ci skip] * New translations web.php (Portuguese) [ci skip] * New translations web.php (Portuguese) [ci skip] * fix(compose-modal): avoid WebGL if it's not needed * fix(compose-modal): update webgl-media-editor * New translations web.php (Hungarian) [ci skip] * New translations web.php (Russian) [ci skip] * New translations web.php (Russian) [ci skip] * Update .env.example Adding the parameter INSTANCE_DISCOVER_PUBLIC="true" to prevent a HTTP 403 error at the explorer tab in the instance preview. * New variable for lang spanish * Variable for lang spanish * Update Dockerfile, fixes #5535 #5559 * Fix #5582 * Fix #5632 * Update status twitter:card to summary_large_image for images/albums * Update changelog --------- Co-authored-by: Lioh Moeller Co-authored-by: Christian Winther Co-authored-by: Taye Adeyemi Co-authored-by: stemy2 Co-authored-by: Uthanien --- .env.docker | 8 +- .env.example | 1 + CHANGELOG.md | 1 + Dockerfile | 4 +- app/Console/Commands/ImportCities.php | 2 - app/Console/Commands/TransformImports.php | 2 +- package-lock.json | 37 +- package.json | 2 +- .../assets/js/components/ComposeModal.vue | 77 +- resources/lang/es/auth.php | 4 +- resources/lang/es/exception.php | 11 + resources/lang/es/notification.php | 7 +- resources/lang/fi/web.php | 136 +- resources/lang/hu/web.php | 8 +- resources/lang/pt/web.php | 108 +- resources/lang/ru/web.php | 36 +- .../views/admin/diagnostics/home.blade.php | 1787 +++++++++-------- resources/views/status/show.blade.php | 5 +- 18 files changed, 1176 insertions(+), 1060 deletions(-) create mode 100644 resources/lang/es/exception.php diff --git a/.env.docker b/.env.docker index cdc5ad9c6..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="branch-jippi-fork" +DOCKER_APP_RELEASE="v0.12" # 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,7 +1010,7 @@ 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. # 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" 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) 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' 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; } 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; 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": { 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] + 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) => { - const media = this.media[sourceIndex] - if (media) media.preview_url = previewUrl - }, - }) + 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() } - this.editor.setEditState(this.carouselCursor, croppedState) + + 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.page = 2; break; diff --git a/resources/lang/es/auth.php b/resources/lang/es/auth.php index c0d26842f..fec9df86f 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' => 'Los datos introducidos no son vlidos.', + 'throttle' => 'Demasiados intentos de iniciar sesin. Por favor, intntalo de nuevo en :seconds segundos.', ]; 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.', ]; diff --git a/resources/lang/fi/web.php b/resources/lang/fi/web.php index 3b9062230..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ää', @@ -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,71 +82,71 @@ 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', - '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', - 'modlog' => 'modlog', - 'post' => 'post', - 'story' => 'story', - 'noneFound' => 'No notifications found', + 'dm' => 'yv', + 'groupPost' => 'ryhmäviesti', + 'modlog' => 'modelogi', + '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', + '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' => 'We can\'t seem to find any collections', - 'emptyPosts' => 'We can\'t seem to find any posts', + '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', + 'viewPost' => 'Näytä viesti', + 'viewProfile' => 'Näytä profiili', + 'moderationTools' => 'Moderointityökalut', + 'report' => 'Ilmoita', + 'archive' => 'Arkisto', + 'unarchive' => 'Palauta arkistosta', + 'embed' => 'Upota', - 'selectOneOption' => 'Select one of the following options', - 'unlistFromTimelines' => 'Unlist from Timelines', - 'addCW' => 'Add Content Warning', - 'removeCW' => 'Remove Content Warning', - 'markAsSpammer' => 'Mark as Spammer', - 'markAsSpammerText' => 'Unlist + CW existing and future posts', - 'spam' => 'Spam', - 'sensitive' => 'Sensitive Content', - 'abusive' => 'Abusive or Harmful', - 'underageAccount' => 'Underage Account', + 'selectOneOption' => 'Valitse yksi seuraavista vaihtoehdoista', + 'unlistFromTimelines' => 'Poista aikajanalta', + 'addCW' => 'Lisää sisältövaroitus', + 'removeCW' => 'Poista sisältövaroitus', + 'markAsSpammer' => 'Merkitse roskapostittajaksi', + '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', ], ]; 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', ], ], diff --git a/resources/lang/pt/web.php b/resources/lang/pt/web.php index 9729c0ba3..6b6c8aded 100644 --- a/resources/lang/pt/web.php +++ b/resources/lang/pt/web.php @@ -19,48 +19,48 @@ return [ 'copyLink' => 'Copiar link', 'delete' => 'Eliminar', 'error' => 'Erro', - 'errorMsg' => 'Algo correu mal. Por favor, tente novamente mais tarde.', - 'oops' => 'Opa!', + 'errorMsg' => 'Algo correu mal. Tenta novamente mais tarde.', + 'oops' => 'Oops!', 'other' => 'Outro', 'readMore' => 'Ler mais', 'success' => 'Sucesso', 'proceed' => 'Continuar', 'next' => 'Seguinte', 'close' => 'Fechar', - 'clickHere' => 'clique aqui', + 'clickHere' => 'clica aqui', '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', + 'logout' => 'Terminar sessão', // Nav footer 'about' => 'Sobre', @@ -70,38 +70,38 @@ return [ 'terms' => 'Termos', // Temporary links - 'backToPreviousDesign' => 'Voltar ao design anterior' + 'backToPreviousDesign' => 'Voltar ao design antigo' ], 'directMessages' => [ - 'inbox' => 'Caixa de Entrada', + 'inbox' => 'Caixa de entrada', 'sent' => 'Enviadas', 'requests' => 'Pedidos' ], '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 teu', + 'tagged' => 'etiquetou-te numa publicação', - 'updatedA' => 'atualizou um(a)', - '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 se inscrever novamente para participar em 6 meses.', + 'applicationRejected' => 'foi rejeitado. Podes voltar a candidatar-te dentro de 6 meses.', - 'dm' => 'mensagem direta', - 'groupPost' => 'postagem do grupo', + 'dm' => 'md', + 'groupPost' => 'publicação de grupo', 'modlog' => 'histórico de moderação', 'post' => 'publicação', - 'story' => 'história', + 'story' => 'estória', 'noneFound' => 'Nenhuma notificação encontrada', ], @@ -115,12 +115,12 @@ return [ 'profile' => [ 'posts' => 'Publicações', 'followers' => 'Seguidores', - 'following' => 'A seguir', + '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,72 +137,72 @@ 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', + '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', - 'sensitive' => 'Conteúdo Sensível', + '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', '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' => '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', + 'showLikes' => 'Mostrar gostos', 'compactMode' => 'Modo compacto', - 'embedConfirmText' => 'Ao usar de forma “embed”, você concorda com nossas', + '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?', ], 'story' => [ - 'add' => 'Adicionar Story' + 'add' => 'Adicionar Storie' ], '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', ], ], 'hashtags' => [ - 'emptyFeed' => 'Não encontramos nenhuma publicação com esta hashtag' + 'emptyFeed' => 'Não conseguimos encontrar publicações com essa hashtag' ], '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', ], ]; diff --git a/resources/lang/ru/web.php b/resources/lang/ru/web.php index ab469fc12..b8a850c07 100644 --- a/resources/lang/ru/web.php +++ b/resources/lang/ru/web.php @@ -29,9 +29,9 @@ return [ 'close' => 'Закрыть', 'clickHere' => 'нажмите здесь', - 'sensitive' => 'Чувствительный', - 'sensitiveContent' => 'Чувствительный контент', - 'sensitiveContentWarning' => 'Этот пост может содержать чувствительный контент', + 'sensitive' => 'Вызывающий', + 'sensitiveContent' => 'Вызывающее содержимое', + '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' => 'Хотите ли вы связаться с администратором по поводу этой публикации или пожаловаться', ], ]; 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

+
+
+
+
+
+

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')}}"
    -
- - + + + Mobile App Test + +
+
+
+
+
-
-
-
- - -

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 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