2.2 KiB
2.2 KiB
Why
Local operators can configure platform/.env, but the platform process currently reads only inherited environment variables. This makes MySQL metadata storage look uninitialized even when the .env file contains the correct PLATFORM_STORAGE_BACKEND=mysql and PLATFORM_MYSQL_DSN settings.
The current personal configuration experience is embedded in the sidebar account popover, which is cramped for profile, theme, and background preferences. Operators need a normal first-party personal settings page that saves profile and theme changes through platform APIs so values are durable in the configured metadata store.
What Changes
- Load platform environment variables from local
.envfiles before building platform configuration, while preserving explicit process environment overrides. - Keep MySQL metadata initialization database-backed and make configured storage selection testable so operators can verify the remote metadata store is actually used.
- Replace the sidebar profile popover with a dedicated personal settings page for profile, theme palette, background preset, uploaded background, and logout actions.
- Add the personal settings route to the shell for authenticated users and keep account edits wired to
/api/v1/users/current/profileand/api/v1/users/current/theme. - Preserve the magical-girl crystal-moonlight visual system by reusing shared shell/page surfaces and theme tokens rather than adding a one-off UI style.
Capabilities
New Capabilities
platform-env-bootstrap: Platform startup loads local environment configuration and initializes the configured metadata backend predictably.personal-settings-workspace: Authenticated users manage their own profile and console theme preferences from a full settings page backed by platform APIs.
Modified Capabilities
- None.
Impact
- Affects
platform/configand platform startup tests for.envloading and storage backend selection. - Affects
platform_webroute definitions, page registry, shell account controls, session usage, API-bound personal settings UI, tests, and shared styling. - Does not add billing, cloud host sales, external marketplace behavior, raw AI key exposure, or plugin direct access to platform/run internals.