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
Tracking issue for feature 003-settings-default-tags (branch 003-settings-default-tags).
Summary
Move the default audio-tag values (Artist, Album, Genre, Comment, Languages — never Title) out of environment configuration and into the Settings tab, persisted in-app and surviving restarts.
Clarified decision (2026-06-21)
Environment configuration is removed entirely — the NUXT_DEFAULT_TAG_* variables are no longer read; the Settings tab is the sole source. No fallback, no migration of prior env values (operators re-enter once after upgrade).
Design
Core (src/core/settings/default-tags.ts): store-backed getDefaultTags / setDefaultTags / clearDefaultTags over the existing app_config table via the AppConfigRepository port. Non-secret → plain JSON, no encryption / no NUXT_APP_SECRET. Title never stored; reads total (corrupt row → {}).
REST: GET re-sourced + new PUT / DELETE on /api/settings/defaults.
✅ Full suite: 161 passed / 25 files (new unit test, rewritten integration over real SQLite, new Settings component test, existing pre-fill test still green)
Tracking issue for feature 003-settings-default-tags (branch
003-settings-default-tags).Summary
Move the default audio-tag values (Artist, Album, Genre, Comment, Languages — never Title) out of environment configuration and into the Settings tab, persisted in-app and surviving restarts.
Clarified decision (2026-06-21)
Environment configuration is removed entirely — the
NUXT_DEFAULT_TAG_*variables are no longer read; the Settings tab is the sole source. No fallback, no migration of prior env values (operators re-enter once after upgrade).Design
src/core/settings/default-tags.ts): store-backedgetDefaultTags/setDefaultTags/clearDefaultTagsover the existingapp_configtable via theAppConfigRepositoryport. Non-secret → plain JSON, no encryption / noNUXT_APP_SECRET. Title never stored; reads total (corrupt row →{}).GETre-sourced + newPUT/DELETEon/api/settings/defaults.useDefaultTags()composable +DefaultTagsSettings.vuesection (Save/Clear/status); i18n en+hu.NUXT_DEFAULT_TAG_*from.env.example,docker-compose.yml, README.Tasks (all complete — see
specs/003-settings-default-tags/tasks.md)Verification
nuxt typecheckandeslintcleanNUXT_DEFAULT_TAG_*read anywhere (grep-confirmed); en/hu i18n parity (16 keys each)Artifacts
specs/003-settings-default-tags/spec.mdspecs/003-settings-default-tags/plan.mdspecs/003-settings-default-tags/tasks.mdspecs/003-settings-default-tags/contracts/{rest-api,core-api}.md🤖 Generated with Claude Code