feat(web): improve web build configuration and accessibility
Test Suite / backend-pr-quick (push) Has been skipped
Test Suite / quick-import-pr-quick (push) Has been skipped
Test Suite / backend-full (push) Successful in 14m6s
Test Suite / flutter-quality (push) Failing after 4m44s

- Add source maps and web renderer build arguments with defaults
- Configure Caddy with CSP headers, cache policies, and service worker handling
- Defer loading of import screen for performance optimization
- Add semantic labels to icons for accessibility
- Update web index.html with Swedish language, meta tags, and description
- Add robots.txt and lighthouse configuration
- Add new planning documents and archive entries
This commit is contained in:
Nils-Johan Gynther
2026-05-23 18:04:27 +02:00
parent 30d27d6b8a
commit 69bcc3e342
16 changed files with 1847 additions and 301 deletions
@@ -0,0 +1,87 @@
# Session Checkpoint (2026-05-21)
> Föregående checkpoint: [SESSION_CHECKPOINT_2026-05-12.md](SESSION_CHECKPOINT_2026-05-12.md)
## Status
- Arbetsytan är ren (`git status --short` gav ingen output).
- Kritiska build-blockers för Flutter-l10n är åtgärdade.
- Backend build + backend tester + Flutter tester verifierade gröna i denna session.
## Klart i denna session
### 1. Felsökning och fix av Docker-fel i Flutter `gen-l10n`
**Problem:** Docker-bygg kraschade vid `flutter gen-l10n` p.g.a. ogiltig ARB-JSON och konflikt i locale-filer.
**Åtgärder:**
- `flutter/lib/l10n/app_en.arb` reparerad (felaktig JSON-struktur, saknade/utanförliggande nycklar).
- Krock mellan engelska locale-filer hanterad (dubbla `en`-källor var en del av tidigare felsymptom).
- `flutter gen-l10n` kördes om utan formatteringsfel.
### 2. Fix av Flutter test-fel: saknad l10n-nyckel `required`
**Problem:** `flutter test` föll på:
- `The getter 'required' isn't defined for the type 'AppLocalizations'`
- fel i `lib/features/admin/presentation/admin_users_panel.dart`.
**Åtgärder:**
- Återställde saknade nycklar i `flutter/lib/l10n/app_en.arb`:
- `required`
- `logoutAction`
- `adminAiDescription`
- `adminPagePrefix`
- Synkade svenska ARB-filen och la till saknad nyckel:
- `profileDatabaseDescription`
- Regenererade lokaliseringar med `flutter gen-l10n`.
### 3. Kvalitetsverifiering
Körda verifieringar:
```bash
# Backend
cd backend
npm run build
npm run test
# Flutter
cd ../flutter
flutter gen-l10n
flutter test --reporter compact
```
**Resultat:**
- Backend build: OK
- Backend tests: OK (29/29 suites, 245/245 tester)
- Flutter tests: OK (alla passerar)
## Viktig kontext inför nästa session
- Root-varningen från Flutter i Docker (`trying to run flutter as root`) är en varning och blockerar inte i sig.
- Den blockerande orsaken var ARB/l10n-konsistens, inte root-varningen.
- Nuvarande l10n-läge är stabilt efter regeneration.
## Rekommenderad snabbstart imorgon
```bash
# 1) Verifiera ren arbetsyta
git status --short
# 2) Reprova hela lokala verifieringen
cd backend
npm run build && npm run test
cd ../flutter
flutter gen-l10n
flutter test --reporter compact
# 3) Om allt är grönt, kör deploy/build-pipeline igen
```
## Ändrade filer i denna session (huvudsakligen)
- `flutter/lib/l10n/app_en.arb`
- `flutter/lib/l10n/app_sv.arb`
- genererade l10n-filer under `flutter/lib/l10n/generated/*`
- mindre korrigeringar i backend-test/service under felsökningen, slutläge verifierat grönt.