Commit Graph

3257 Commits (v0.12.12)

Author SHA1 Message Date
Shlee 715d539e7e
Enhance password visibility toggle functionality
Updated password toggle button functionality to reveal password on press and hold, and added accessibility features.
1 week ago
Your Name 7fe3eb141a feat(login): add show/hide password toggle (#7255) 1 week ago
Your Name 7a39e8c70c polish 1 week ago
Shlee 9ec46005df
Merge pull request #7309 from pixelfed/feature/laravel-cap
Refactor: Captcha provider - HCaptcha, Turnstile and Cap
1 week ago
Your Name 2669035ff0 polish 1 week ago
Your Name 067e9c1244 polish 1 week 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
Your Name d2534180cc polish 1 week ago
Your Name 648a901aae polish 1 week ago
Your Name afe2bb6d1d polish 1 week ago
Your Name 136e79885b polish 1 week ago
Your Name 566c5503d3 polish 1 week ago
Your Name abb2d8e5e9 polish 1 week ago
Your Name 163cd9f589 polish 1 week ago
Daniel Supernault 4053439e7a
Update i18n 1 week ago
Daniel Supernault 075aa781a3
Build compiled assets 1 week ago
Your Name a14fba166f Fix cached-page 500s and flaky smoke/API tests
- terms/privacy/community-guidelines views accessed the cached page as an
  object ($page->title), but cachedPage() returns an array, causing a 500
  whenever a custom Page row existed. Switch to array access.
- PublicRouteSmokeTest: enable open_registration before hitting /register,
  which 404s by default when registration is disabled.
- Api/AccountTest: derive sanctum.stateful domain from app.url instead of
  hardcoding pixelfed.test, so the first-party auth test is environment
  independent.
1 week ago
Your Name f4dbddd8b5 Use locale_get_display_name for language labels
locale_get_display_language reads only the language subtag and ignores
the region, so zh-cn and zh-tw both rendered as 'Chinese - 中文'.
Switching to locale_get_display_name disambiguates region variants
(Chinese (China) / Chinese (Taiwan)) while leaving all region-less
locales unchanged.

Updated the settings language dropdown and the /i/lang picker.
1 week ago
Arnaud 6537787c4e More translatable strings : landing, privacy policy, terms 1 week ago
Arnaud ac790b1d8a Fix last untranslated strings on the login + explore pages 1 week ago
Arnaud 443962c92b Make the landing page translatable 1 week ago
Shlee 2f9f8ecd1b
Merge pull request #7244 from pixelfed/fix/curated-register-details-xss
Escape message in curated register details email to fix reflected XSS
1 week ago
Daniel Supernault 1cead5cf60
Update in-app registration 1 week ago
Your Name 623f03bb68 Escape message in curated register details email to fix reflected XSS 1 week ago
Your Name 9d839f7b5a Fix missing email verification dispatch on settings email change 1 week ago
Your Name ce073ffc92 Merge remote-tracking branch 'origin/staging' into feature/honeypot-spam-protection
# Conflicts:
#	routes/web.php
2 weeks ago
Daniel Supernault 1d96c94054
Refactor Auth, remove expensive middleware 2 weeks ago
Your Name 4df40cb772 Escape user-provided content in curated register admin emails 2 weeks ago
Your Name ce4343e3e2 Replace custom register token with spatie/laravel-honeypot
Swap the custom 'rt' register token anti-spam mechanism for
spatie/laravel-honeypot on the registration and parental-controls
invite flows.

- Add spatie/laravel-honeypot and publish config/honeypot.php
- Remove getRegisterToken() and the rt validation rule from RegisterController
- Replace the rt hidden field with the @honeypot directive in both forms
- Attach ProtectAgainstSpam middleware to POST /register and the
  parental-controls invite register route
- Update RegisterTest to disable honeypot for the valid registration case
2 weeks ago
Daniel Supernault d7cfd07204
Fix PostEditModal. Closes #7084 2 weeks ago
Shlee b1422f7a6a
Merge pull request #7063 from pixelfed/chore/rename-bootstrap3-pagination
Laravel 13 Prep: Rename Bootstrap 3 pagination templates
3 weeks ago
Shift 938f0cf205 Rename Bootstrap 3 pagination templates 3 weeks ago
Your Name 042ab0a6e4 Convert optional() to nullsafe operator
Applies patch 2/21 from pixelfed-staging PR #9: replaces optional($x)->y
with $x?->y across 16 files. Pint-clean.
3 weeks ago
Your Name 9db2218ca6 chore: move resources/lang to top-level lang/ per Laravel 9+ convention
- Relocate translation files from resources/lang to lang/ via git mv
- Update PHP references to use the lang_path() helper
- Update crowdin.yml source/translation paths
- Update phpstan.neon translationDirectories
3 weeks ago
Your Name 40b323bca4 revert: remove emoji local-to-cloud storage changes
Back out all emoji cloud-storage work from staging so it can be reworked and
re-landed separately (the URL resolution flips to cloud on a global config
flag, which created a broken-URL window, and the migration approach needs
revisiting).

Reverts to pre-emoji state:
- CustomEmoji model URL/storage helpers (urlForPath, storageTarget, storeMedia,
  storeMediaFromFile, deleteMedia, url) and callers in ImportEmojis,
  CustomEmojiService, AdminController
- admin custom-emoji blade views back to local /storage URLs
- Remove admin:EmojiMoveStorageLocalToCloud command
- Remove the deploy migration and its scheduler entry

Media (and the already-reverted story) scheduler entries are untouched.
3 weeks ago
Your Name aa9bb868dd fix: emoji admin URLs and cloud-migration guard
Two issues prevented emoji from serving/migrating correctly on cloud:

- Admin custom-emoji views hardcoded url('storage/'.media_path), so they
  always showed local URLs and bypassed cloud resolution. Use $emoji->url().
- The migration/command guard relied solely on config_cache('pixelfed.cloud_storage'),
  which is DB/12h-cached and can read stale-false right after cloud is
  enabled, causing the migration to silently no-op. Treat cloud as enabled
  when either live config() or config_cache() is true.
3 weeks ago
Daniel Supernault 32ff6d48cd
Update Profile component 4 weeks ago
Your Name b3be61c47c Fix VueIntersect single-element warning in notifications section
The <intersect> in sections/Notifications.vue wrapped four <placeholder>
elements directly. vue-intersect requires exactly one child (it checks
$slots.default.length and observes $slots.default[0]), so it logged
'[VueIntersect] You may only wrap one element in a <intersect> component.'
and only observed the first placeholder. Wrap the placeholders in a single
<div> so the slot has one root element.
4 weeks ago
Shlee fc89c156b1
Merge pull request #6919 from pixelfed/fix/csrf-token-guest-pages
Fix CSRF token not found error on guest pages (login/register)
4 weeks ago
Your Name ea1a629b1a Add csrf-token meta to anon and app-guest layouts
These guest layouts also load app.js, which reads the csrf-token meta
tag to set the axios X-CSRF-TOKEN header. Without it, they logged the
same 'CSRF token not found' console error and had no CSRF header for
AJAX requests. Adds the meta tag to match the other layouts.
4 weeks ago
Your Name 32e391d267 Fix CSRF token not found error on guest pages (login/register)
The app layout renders separate head blocks for auth vs guest users.
The guest block was missing the <meta name="csrf-token"> tag that
app.js reads to set the axios X-CSRF-TOKEN header, causing a console
error on the login and register pages. Add the meta tag to the guest
head to match the authenticated head block.
4 weeks ago