Commit Graph

941 Commits (v0.14.1)

Author SHA1 Message Date
Your Name 4191f83c57 refresh i18n 5 days ago
Daniel Supernault 54f49e2ef9
Update compiled assets 6 days ago
Daniel Supernault c47a88342a
Fix typo in blurhash lang key 6 days ago
Your Name ec85ccf9f6 Fix #7347 6 days ago
Your Name 4c0bbe014e Translated French 1 week ago
Your Name 568edc866b polish 1 week ago
Your Name b24503a46c chore: rename Pirate English locale to BCP-47 en-x-pirate
Use the BCP-47 private-use subtag en-x-pirate instead of en-Pirate:
- rename lang/en-Pirate -> lang/en-x-pirate
- update crowdin.yml mapping (en-PT -> en-x-pirate)
- update ExportLanguages LOCALE_OVERRIDES key + display name
- bump locale code validation max length (6 -> 12) so the longer
  code passes in SpaController and HomeSettings
- regenerate locale exports/manifest and rebuild web assets
1 week ago
Your Name 253819a338 chore: regenerate i18n exports and rebuild web assets
Run i18n:export to refresh the locale JSON exports and locales.json
manifest (picks up all current lang/ folders, sorted by display name),
then rebuild frontend assets via Laravel Mix.
1 week ago
Your Name 47dd59367e polish 1 week ago
Your Name fcea9dc34b polish 1 week ago
Your Name beb980eb50 polish 1 week ago
Your Name eddafdf4e6 polish 1 week ago
Your Name 8f4add2f1e polish 1 week ago
Your Name 054d129479 fix(i18n): skip empty translation strings in i18n:export
Empty lang/x/web.php values (untranslated Crowdin placeholders) were
being exported as empty strings, overriding the English UI fallback and
breaking non-English languages. Recursively strip empty strings before
writing the JSON build files, then regenerate all language files.
1 week ago
Daniel Supernault 4053439e7a
Update i18n 1 week ago
Daniel Supernault 075aa781a3
Build compiled assets 1 week ago
Your Name 5a364be58b fix: remove deprecated Passport::personalAccessClientId() and enableImplicitGrant()
- Remove Passport::personalAccessClientId() (removed in Passport v13, auto-discovers now)
- Remove Passport::enableImplicitGrant() (legacy grant, no clients use it)
- Flatten config instance.oauth.pat to pat_enabled (remove dead pat.id key)
- Add OAUTH_PAT_ENABLED=false to .env.example and .env.docker.example
- Show swal alert when PATs disabled instead of hidden API error
- Improve store() error handling to surface 403 messages in the UI
- Remove OAUTH_PAT_ID row from admin diagnostics blade
4 weeks ago
Daniel Supernault b761107c71
Update ContextMenu, restore Edit button 4 weeks ago
Shlee 80271c9002
Update Clients.vue 4 weeks ago
Shlee 06e3351e92
Merge pull request #6778 from pixelfed/fix/prevent-pat-client-deletion-6630
Fix: Improve the web UX for deleting the OAuth Client and PAT
4 weeks ago
Shlee f2a019744c
Merge pull request #6776 from pixelfed/fix/oauth-client-secret-display-6630
Fix: OAuth client secret not displayed after creation
4 weeks ago
Your Name 53759e3ad6 Prevent deletion of personal access OAuth client
Fixes #6630 (partial — deletion causing broken PAT)

If a user deletes the OAuth client that serves as the personal access
client, all PAT creation breaks for the entire instance with a 500 error.

Changes:
- Add custom OAuthClientController@destroy that checks if the client
  has the personal_access grant type before allowing deletion
- Returns 403 with a clear error message if deletion is blocked
- Add confirmation dialog before client deletion in the frontend
- Add error handling to show server error messages to the user

This prevents accidental destruction of the PAT infrastructure.
4 weeks ago
Your Name 655d71ba5c Fix OAuth client secret not displayed after creation
Fixes #6630 (partial — client secret issue)

In Passport v13, client secrets are hashed at the model level and only
available as plain_secret on the response from the creation endpoint.
The previous code immediately re-fetched the client list after creation,
losing the plain secret since it's not stored or returned on GET.

Changes:
- Capture plain_secret from the POST response
- Show a dedicated modal with the client ID and secret after creation
- Warn users to copy the secret immediately (it won't be shown again)
- Add a Copy button for convenience
- Show 'Hidden (only shown at creation)' in the table for existing clients
4 weeks ago
Your Name 5eda130817 Show detailed upload error messages instead of generic error
Fixes #6657

When media uploads fail with a 422 validation error (e.g. file too large),
the error dialog now shows the actual validation message including the
filename, instead of the generic 'An unexpected error occurred.'

Example: 'DSCF0273.JPG: The file may not be greater than 15000 kilobytes'

Also improved the default error case to surface server-provided messages
when available. Applied to both ComposeModal and ComposeClassic components.
4 weeks ago
dansup 7354f63563
Merge branch 'staging' into remove-exp-rec 1 month ago
dansup ec38262338
Merge pull request #6576 from shleeable/covidremove
Clean up Covid/WHO
1 month ago
Daniel Supernault 5e79dbd332
Add alt tag to avatars. Fixes #6569 1 month ago
dansup 24697b77fc
Merge pull request #6579 from shleeable/remove-exp-loops
Remove deprecated legacy loops feature entirely
1 month ago
Daniel Supernault 0f781cba34
Update Personal Access Tokens 3 months ago
Daniel Supernault 8ca7770918
Update PersonalAccessTokens component 3 months ago
Daniel Supernault 4c803c2857
Reduce profile bio/website hidden logic to 10 followers from 100 and add a new check to bypass this if they have more than 10 posts 4 months ago
Daniel Supernault ef3fdeeca3
Update profile view 4 months ago
Your Name 715c671712 Remove deprecated Loops feature entirely
- Remove 'loops' from config/exp.php and instance.discover.loops from config/instance.php
- Remove loops API routes (loopsApi, loopWatch) from web-api.php
- Delete LoopComponent.vue, loops.js entry point, and loops blade view
- Remove EXP_LOOPS diagnostic row from admin diagnostics page

The Loops feature was deprecated and hardcoded to disabled.
5 months ago
Your Name 10a5eb7228 Remove exp.rec recommendations dead code
- Remove userRecommendations controller method and /api/local/exp/rec route
- Remove suggestions UI panel, data properties, and methods from Timeline.vue
- Remove commented-out suggestions card from feed template

The recommendations feature was deprecated and hardcoded to false/empty.
5 months ago
Your Name 41089fcccd Remove COVID label feature flag and related code
Remove ENABLE_COVID_LABEL, COVID_LABEL_URL, and COVID_LABEL_ORG env
vars and all associated backend/frontend code:

- config/instance.php: remove label.covid config block
- StatusLabelService: remove keyword matching, return static false
- Site/Config.php: remove label.covid from API response
- StatusCard.vue: remove COVID banner and labelRedirect method
- GroupStatus.vue: remove COVID banner and labelRedirect method
- diagnostics blade: remove COVID diagnostic rows
5 months ago
dansup 06521c38df
Merge pull request #6398 from nove-b/feat/embed-color-schemes
feat(embed): add color theme support
6 months ago
Rm Yakovenko a63dbd8436 [Server Bug]: app.logo is not used in code 9 months ago
nove-b 5596d84055 feat(embed): add color theme support 9 months ago
minadzki 80ef8c817b Minor wording adjustments to fit the layout 9 months ago
minadzki db7c48216c Fully localizing the soft-coded portions into Japanese 9 months ago
Daniel Supernault 5da201bb63
Update Hashtag component 1 year ago
Daniel Supernault 24273c28d5
Update Hashtag component 1 year ago
Daniel Supernault 13d4e8c128
Update ComposeModal 1 year ago
Daniel Supernault 19b0b9fc84
Update profile component, show likes + reblogs count on hover. Fixes #6100 1 year ago
(dan)iel (sup)ernault 54a40ab734
Merge pull request #6017 from mkljczk/patch-2
composemodal: do not display 1970 publication date for draft collections
1 year ago
nicole mikołajczyk 5a73b8bbfc
composemodal: do not display 1970 publication date for draft collections 1 year ago
nicole mikołajczyk a651a6aa85
fix typo 1 year ago
daniel 3861e7ddfe
Staging (#5978)
* Added current title as value for input so that the current value remains stored by default

* Added parameter 'show_legal_notice_link' => (bool) config_cache('instance.has_legal_notice'),

* Added conditional display of a link to legal notice if the page is active

* Added key 'legalNotice'

* feat translate story

* translate auth

- register
- login

* add remove follow

* Update ApiV1Controller.php

Co-Authored-By: Mathieu <385764+Casmo@users.noreply.github.com>

* New translations web.php (Chinese Simplified)
[ci skip]

* Added current title as value for input so that the current value remains stored by default

* Added parameter 'show_legal_notice_link' => (bool) config_cache('instance.has_legal_notice'),

* Added conditional display of a link to legal notice if the page is active

* Added key 'legalNotice'

* add missing key

* add missing keys

* New translations web.php (Portuguese, Brazilian)
[ci skip]

* New translations web.php (Turkish)
[ci skip]

* New translations web.php (Italian)
[ci skip]

* translate custom  filter

* New translations web.php (Italian)
[ci skip]

* use configured alt text length limit when uploading multiple photos

* in notifications sidebar, show popover on shared posts too, not just liked posts

* use case insensitive search when tagging accounts

* New translations web.php (Portuguese, Brazilian)
[ci skip]

* Generic OIDC Support

* Everything should be configurable by env variables
* Basic request tests

* Fixes for items highlighted by review.ai

* Consider using `hash_equals()` instead of `==` when comparing the state values to prevent timing attacks:
`abort_unless(hash_equals($request->input('state'), $request->session()->pull('oauth2state')), 400, 'invalid
state');`
* For better data integrity, consider adding a foreign key constraint to the user_id column: `$table-
>foreign('user_id')->references('id')->on('users')->onDelete('cascade');`
* Does the OIDC provider guarantee that the username field exists in the userInfo data? Consider adding a
null check or fallback: `$userInfoData[config('remote-auth.oidc.field_username')] ?? null`

* field isnt accessTokenResourceOwnerId but responseResourceOwnerId

* New translations web.php (Dutch)
[ci skip]

* Fix components

* Update LandingService and Config util to properly support the legal_notice setting

* Update footer to use legalNotice i18n

* Update i18n

* Update sidebar with gap padding for footer links

* Update compiled assets

* Update i18n json

* Update OIDC config with comments, and disable tests as we dont have db tests configured

* Update remove_from_followers api endpoint

* Update i18n

* Update compiled assets

* Update changelog

* New supported formats, Preserve ICC Color Profiles, libvips support

Update image pipeline to handle avif, heic and webp and preserve ICC color profiles and added libvips support.

* Fix tests

* Update CHANGELOG.md

---------

Co-authored-by: Samy Elshamy <elshamy@coderbutze.de>
Co-authored-by: Felipe Mateus <eu@felipemateus.com>
Co-authored-by: Mathieu <385764+Casmo@users.noreply.github.com>
Co-authored-by: Mackenzie Morgan <macoafi@gmail.com>
Co-authored-by: Gavin Mogan <git@gavinmogan.com>
1 year ago
Daniel Supernault d5835362ab
Update FilterModal, fix keyword delete bug 1 year ago
Daniel Supernault adc4cffc38
Add custom filter components 1 year ago