Notechondria
Version: 0.1.9 Build Date: 2026-04-08T00:00
What's Changed
Registration wizard
-
Added
ValidateInvitationApiViewbackend endpoint (POST /api/v1/auth/validate-invitation/) that checks invitation code validity without consuming it. Returns{required, valid}. -
Replaced simple
_RegisterDialogwith multi-step_RegistrationWizardin all three apps (editor, planner, portal):- Step 0: Invitation code input with Back/Confirm.
- Step 1: Registration method selection (Email, Google, GitHub).
- Step 2: Email registration form with username, email, password (8+ chars, strength validation), confirm password, and Back/Register buttons. Post-registration shows verification prompt with resend cooldown.
-
Updated
register()client method signatures across all three apps to acceptusernameand optionalinvitationCode. -
Added
validateInvitation()client method to all three apps. -
OAuth callbacks now accept and persist invitation code through
SharedPreferencesso it survives the redirect flow.
Version-tagged Docker images
-
Created
VERSIONfile at repo root to define the project version. -
Updated
prepare_env.shto readVERSIONfile and produce image tags inv<VERSION>.<BUILD_NUMBER>format (e.g.v0.1.9.42). -
Updated
sample.envimage tags tov0.1.9.local. -
Updated
docs/deployment/deploy.mdwith version tagging documentation. -
Added versioning rule to
TASKS.mdso future agents increment the third digit on each update.
Splash screen fix
-
Fixed splash screen being skipped when local cached state existed. Replaced
_isLoading && !_hasRenderableLocalStatecondition with dedicated_showSplashflag in all three apps. - Splash now always displays on startup (including web with slow backend) and dismisses only when initial data loads or the 10-second timeout fires.
-
Removed unused
_hasRenderableLocalStategetter from all three apps.
Frontend deploy port conflict fix
-
Fixed
deploy_frontends.shusing root full-stackdocker-compose.ymlwhich pulled in db/app/nginx viadepends_onchains, causing port 9032 conflict with the already-running backend db container. -
deploy_frontends.shnow deploys each frontend from its own standalone Compose file (frontend/*/docker-compose.yml) which only defines the frontend service on the shared external network. -
deploy_gateway.shnow uses a standalone gateway Compose file (deployment/docker/gateway/docker-compose.yml) instead of the root compose. -
Added network aliases to backend nginx (
backend_nginx), editor (editor_frontend), planner (planner_frontend), and portal (portal_frontend) so the gateway can resolve services by name across separate Compose projects. -
Both frontend and gateway deploy scripts now call
ensure_shared_network.shbefore starting containers, preventing race conditions when backend and frontend deploy in parallel.
Files Changed
backend/creators/api.py-- Added ValidateInvitationApiViewbackend/notechondria/api_urls.py-- Added validate-invitation URL routebackend/docker-compose.yml-- Addedbackend_nginxnetwork alias to nginx serviceVERSION-- New: project version file (0.1.9)sample.env-- Updated image tags to version formatdeployment/jenkins/scripts/prepare_env.sh-- VERSION file reading and version-tagged image defaultsdeployment/jenkins/scripts/deploy_frontends.sh-- Use individual frontend compose files instead of root composedeployment/jenkins/scripts/deploy_gateway.sh-- Use standalone gateway compose instead of root composedeployment/docker/gateway/docker-compose.yml-- New: standalone gateway compose filedocs/deployment/deploy.md-- Version tagging and compose stack documentation updatesfrontend/editor_app/docker-compose.yml-- Addededitor_frontendnetwork aliasfrontend/editor_app/lib/core/client.dart-- Added validateInvitation, updated register signaturefrontend/editor_app/lib/components/auth_dialogs.dart-- Replaced _RegisterDialog with _RegistrationWizardfrontend/editor_app/lib/modules/settings.dart-- Wired onValidateInvitation, updated OAuth callback typesfrontend/editor_app/lib/app_shell.dart-- Added _showSplash flag, invitation code persistence in OAuth flow, removed _hasRenderableLocalStatefrontend/planner_app/docker-compose.yml-- Addedplanner_frontendnetwork aliasfrontend/planner_app/lib/core/client.dart-- Added validateInvitation, updated register signaturefrontend/planner_app/lib/modules/settings.dart-- Added _RegistrationWizard, updated _AuthHub and _SettingsPagefrontend/planner_app/lib/app_shell.dart-- Added _showSplash flag, updated register/OAuth signatures, removed _hasRenderableLocalStatefrontend/portal_app/docker-compose.yml-- Addedportal_frontendnetwork aliasfrontend/portal_app/lib/core/client.dart-- Added validateInvitation, updated register signaturefrontend/portal_app/lib/modules/settings.dart-- Added _RegistrationWizard, updated _AuthHub and _SettingsPagefrontend/portal_app/lib/app_shell.dart-- Added _showSplash flag, updated register/OAuth signatures, removed _hasRenderableLocalStatedocs/versions/0.1.9.md-- This version documentdocs/TASKS.md-- Marked registration wizard tasks complete, added versioning rule