Notechondria
Version: 0.1.6 Build Date: 2026-04-07T07:00
What's Changed
Fix web package CI build failure
-
Replaced
package:web(v1.1.1, incompatible with CI Dart SDK) with conditional-import URL strategy (url_strategy.dartstub +url_strategy_web.dartusingdart:html). Tests now pass in both VM and browser. -
Removed
web: ^1.1.0frompubspec.yamlanddart:js_interopimport — eliminates the external dependency that caused the build failure.
Gitignore update
-
Added
backend/mediafiles/to.gitignoreto prevent generated test media files from being committed.
Invitation code and email verification (frontend completion)
-
Invitation code backend was already implemented (
InvitationCodemodel with SHA-256 hash, auto-hash on save, consume on use, required only when codes exist in DB). Marked as complete. -
Email verification backend was already implemented (
VerificationCodemodel with SHA-256 hashed 6-digit codes,ResendVerificationSerializerwith 60s cooldown, SMTP env vars). Marked as complete. -
Added
resendVerification(email)method to the frontend HTTP client interface and implementation, callingPOST /auth/resend-verification/. -
Added "Resend code" button with 60-second cooldown timer to the
_EmailCodeDialogverify dialog. Button is disabled during cooldown and shows remaining seconds. -
Wired
onResendVerificationcallback through_AuthHub→_SettingsPage→_AppShellStatefor the editor app.
Remove planner front page module
-
Deleted
frontend/planner_app/lib/modules/front.dartand itspartimport. -
Removed
_frontPagestate,_frontPageFallbackPayload(),_refreshFrontPageData(), andgetFrontPage()client method. -
Simplified
_chooseDefaultCourse()— no longer references front page default_course. -
Renumbered navigation indices (Learner=0, Course=1, Activity=2, Settings=3). Updated
_buildPage(),_showWidePageHeader,_showCompactPageHeader, and_hasRenderableLocalState. -
Removed
front_pagefrom local cache persistence and default cache template.
Files Changed
.gitignore-- Addedbackend/mediafiles/entryfrontend/editor_app/pubspec.yaml-- Removedweb: ^1.1.0dependencyfrontend/editor_app/lib/main.dart-- Replaceddart:js_interop+package:webwith conditional URL strategy importfrontend/editor_app/lib/core/url_strategy.dart-- New stub (no-op for VM/test)frontend/editor_app/lib/core/url_strategy_web.dart-- New web impl usingdart:htmlfrontend/editor_app/lib/app_shell.dart-- Usesurl_strategy.browserPushState/replaceState; added_resendVerificationhandlerfrontend/editor_app/lib/core/client.dart-- AddedresendVerification(email)to interface and HTTP implementationfrontend/editor_app/lib/components/auth_dialogs.dart-- AddedonResendcallback and 60s cooldown timer to_EmailCodeDialog; addedonResendVerificationto_AuthHubfrontend/editor_app/lib/modules/settings.dart-- AddedonResendVerificationparameter to_SettingsPagefrontend/planner_app/lib/main.dart-- Removedpart 'modules/front.dart'; updated initialIndex and visibleIndicesfrontend/planner_app/lib/modules/front.dart-- Deletedfrontend/planner_app/lib/app_shell.dart-- Removed front page state/methods/caching; renumbered nav indicesfrontend/planner_app/lib/core/client.dart-- RemovedgetFrontPage()from interface and implementationfrontend/planner_app/lib/core/local_store.dart-- Removedfront_pagefrom default cachedocs/TASKS.md-- Marked invitation code, email verification, and remove front page tasks as complete