Pontoporeia
033ea90684
Fix lint warnings: arrow functions in admin-acces.js, duplicate gap in admin.css, biome formatting
2026-07-08 13:50:03 +02:00
Pontoporeia
3e93150c76
justfile: standardise test recipes to lint-php/lint-css/lint-js/test + add fix recipe
...
- Removed ambiguous aliases: phpstan, cs-check, syntax
- Split lint-biome into lint-css and lint-js with correct paths
- Added lint meta-recipe and fix recipe (biome --unsafe + php-cs-fixer)
- Fixed FormBootstrap dead null check, CSS shorthand override bug
- Updated phpstan baseline, suppressed noDescendingSpecificity/noInnerDeclarations
- Applied ~74 biome auto-fixes across CSS/JS
2026-07-05 11:07:41 +02:00
Pontoporeia
34b5d3e585
justfile: standardise test recipes to lint-php/lint-css/lint-js/test + add fix recipe
...
- Removed ambiguous aliases: phpstan, cs-check (both pointed to lint-php which
also ran php-cs-fixer, making the names misleading)
- Removed syntax (php -l) — redundant, phpstan already catches parse errors
- Split lint-biome into lint-css and lint-js with correct paths
- Added lint meta-recipe that runs all three linters
- Added fix recipe: biome check --write (CSS/JS format+lint) + php-cs-fixer fix (PHP)
- Updated build-lint to delegate to lint-css + lint-js
2026-07-05 10:50:42 +02:00
Pontoporeia
99125cc8e3
Add autosave draft system for partage form with HTMX-based session persistence
...
- New fragment endpoint POST/GET /partage/fragments/draft.php:
saves all form fields to PHP session, excludes file/csrf/slug fields
GET returns JSON for JS hydration on page load
rotates both global CSRF and share CSRF tokens in sync
- form.php accepts optional $formExtraAttrs and $showAutosaveStatus:
allows injecting HTMX attributes and 'Brouillon enregistré' indicator
- renderShareLinkForm adds hx-post with change/input debounce trigger,
loads autosave-handler.js, hydrate fields from draft on page load
- Draft cleared on successful form submission in handleShareLinkSubmission
- autosave-handler.js now also updates share_link_token hidden input
when rotating CSRF token (partage form uses both csrf_token and share_link_token)
- Added .autosave-status CSS to form.css (was admin.css-only)
- Updated fragment routing to accept GET requests (needed for draft hydration)
2026-06-11 11:04:49 +02:00
Pontoporeia
a0cda5b55d
Phase 3: Replace SmtpRelay SMTP socket with PHPMailer
2026-05-20 01:17:44 +02:00
Pontoporeia
ba57820016
Phase 2: Replace PeerTubeService HTTP client with Guzzle
2026-05-20 01:07:41 +02:00
Pontoporeia
5e75cacad7
Phase 1: Replace Parsedown with league/commonmark (4 call sites)
2026-05-20 01:02:09 +02:00
Pontoporeia
728f05502c
Combine phpstan, cs-check, cs-fix into lint-php recipe; fix lint issues + test failures + duplicate detection bug
2026-05-20 00:31:19 +02:00
Pontoporeia
2e75a3b35c
Fix beforeunload dialog appearing on edit.php when no changes made
2026-05-19 23:59:07 +02:00
Pontoporeia
e3896811c4
Fix migrations and deploy issues + errors + linting
...
- scan both pending/ and applied/ dirs so remote catch-up works
- fix remote 500s: run.php handles per-statement errors so VIEW rebuilds run after duplicate columns; replace mb_strimwidth with substr (no mbstring extension on server)
- add missing migration: 015_license_custom.sql (column existed in schema.sql but was never migrated)
- remote: fgetcsv enclosure single-char + AdminLogger permission-denied
guard + deploy always migrates
- fix admin-filters wrapping: restore flex-wrap, flex-basis on
inputs/selects, shrink-protect buttons
- fix phpstan: remove redundant ?? [] after isset guard in
ThesisEditController
- biome: exclude vendored min.js via includes patterns;
lint whole js dir; modernise beforeunload-guard.js
2026-05-08 22:58:05 +02:00
Pontoporeia
d6e30ec9cd
Enhance serve recipe to automatically open the browser
...
- use xdg-open firefox
- keep serve recipe in foreground
2026-05-05 11:04:52 +02:00