Commit graph

4 commits

Author SHA1 Message Date
Michael
53b29bd0e6 Release v1.0.1: installer locale detection from Step 1
User-facing improvements
- Installer detects browser language from the Accept-Language header
  on the very first request. de-* → Schneespur/DE, everything else
  (en-*, zh, ja, ar, it, fr, …) → Wintertrace/EN.
- DE/EN switcher in the installer layout header for manual override.
  The choice persists for the browser session.
- Step 5 (Config) now reflects the already-resolved locale instead of
  detecting again client-side, eliminating a brief "wrong language"
  flash between steps.

Under the hood
- New SetInstallerLocale middleware (Symfony's getPreferredLanguage
  with strict top-preference, list order ['en','de'] so non-matching
  browsers fall back to en/Wintertrace, not de/Schneespur).
- brand() helper resolves from the runtime locale when the app_brand
  setting is absent (pre-install). Post-install behaviour unchanged.
- Composer now declares ext-sodium explicitly (required by the Ed25519
  signature verification in the auto-update flow).

No DB migrations, no breaking changes, no config rewrites needed.
2026-05-17 17:35:02 +00:00
noschmarrn
d71e8717ec
Update README.md 2026-05-17 16:06:43 +02:00
Michael
b8e426ba2d Restructure: move code into schneespur/ subdirectory, fix Umlauts
- Move all application code into schneespur/ subdirectory for cleaner
  GitHub presentation (README, LICENSE, INSTALL guides stay in root)
- Fix German Umlaut encoding in INSTALL.de.md and README.md
  (ae→ä, oe→ö, ue→ü throughout)
- ZIP download structure remains flat (code in root) for easy deployment
2026-05-17 13:52:39 +00:00
Michael
ee3dbba6cc Initial release v1.0.0
Schneespur — Open-source winter service documentation software (PWA + Admin).
GPS tracking via OwnTracks, weather data, photo evidence, and legally
compliant service records for winter maintenance operators.

License: AGPL-3.0-or-later
2026-05-17 13:33:51 +00:00