You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
User and admin documentation under docs/ (overview with Android screenshots, install, configuration); root README shortened as the entry point
Structured server logging via log/slog with configurable logging.level (debug/info/warn/error) and logging.format (text/json); HTTP access logs through Gin middleware
Unexpected API 500s log the underlying error (with request id when available); panic recovery goes through slog
Auth signals: login_failed / user_registered / register_conflict (passwords never logged)
Federation publish logs inbox-list failures and track/media read warnings instead of failing silently
Strava import result reports media_missing: photo files referenced in activities.csv but absent from the ZIP archive
Branded app icons and web favicon from the Grom logo (Android, iOS, web)
Equipment list shows accumulated distance (km) per item; updated automatically when workouts change or after Strava bulk import
Changed
Breaking: Default autocert ACME cache is acme-cache next to the grom binary (no longer {storage.location}/acme-cache). Move an existing cache or set server.tls.autocert.cache_dir to the old path before upgrading
Equipment navigation menu icon: inventory (inventory_2) instead of sports whistle
Workout list cards no longer show equipment; detail view shows it below the stats table
Workout track overlay on interactive maps and static map previews uses orange (#F45E1E) instead of blue
Fixed
Returning from workout detail keeps the home feed/list scroll position and loaded pages