Remove subscription levels; license valid = subscribed

This commit is contained in:
NeilClack
2026-08-15 00:54:24 -05:00
parent 8ca60de647
commit f14bf3e29a
19 changed files with 136 additions and 1534 deletions
+3 -2
View File
@@ -111,8 +111,9 @@ suite and need the `RWT_LIVE_*` secrets to pass.
provisioning flags. No globals — pass `AppState&` around.
- Device identity/state lives in the SQLite `system_kv` table. Canonical keys
are in `src/db/db_keys.h`: `email_address`, `license_key`,
`subscription_level_id/name/description`, `license_last_verified` (7-day
offline grace window for a known-good license).
`license_last_verified` (7-day offline grace window for a known-good license).
A successful `validateStoredLicense` is the "subscribed" flag — the license
is either active (valid) or inactive; there are no subscription levels.
- `ConfigManager` hot-reloads `config.yaml` from a watcher thread and fires
`onChanged` callbacks; `AudioManager` volume/device/`dynamic_audio` are read
from it.