Notechondria
Version: 0.1.2 Build Date: 2026-04-07T05:30
What's Changed
Note editor
-
Remove block editor, current markdown editor is sufficient. Removed
_BlockDraftclass,_BlockInsertZonewidget,_blockTypeLabel,_markdownFromBlockDraftRows, all block-editor fields/methods, and 'B' dropdown item from editor mode selector and settings. Notes previously set to block mode ('B') auto-migrate to live markdown ('G') on load. -
Live parsing insert slot visible only on hover. Replaced always-visible 2px grey hairline with
_HoverInsertSlotStatefulWidgetthat usesMouseRegion+AnimatedOpacityto fade in on hover; clicking still inserts an empty paragraph.
Note preview
-
<details>rendered as grey panel filling page instead of collapsible dropdown. AddedbackgroundColor: Colors.transparent,collapsedBackgroundColor: Colors.transparent,shape: const Border(),collapsedShape: const Border()toExpansionTilein_DetailsBuilder; wrappedMarkdownBodyinif (body.isNotEmpty)guard; addedclipBehavior: Clip.antiAliason container. -
Restore template course set
vibe-coding-101as default category. Changedis_default: TruetoFalseforvibe-coding-101inbootstrap_platform.py; local starter Inbox now created with'is_default': true; added assertion to existing template-restore test. -
Local edit locked without login. Backend
NoteListCreateApiViewGET now usesAllowAnypermission; anonymous users see public notes only. Frontend_loadLearnerNotesand_loadInitialDatafetch public notes withscope=allwhen unauthenticated. Learner page restructured to show local drafts above public notes for all users.
Editor Settings
-
Removed redundant "Settings" page header from app shell wide layout.
_showWidePageHeadernow returnsfalse; the settings page already has its own "Editor settings" heading. -
Removed "Block editor" option from default editor dropdown in settings. Added
'B' -> 'G'migration in settingsinitState.
Files Changed
backend/notes/api.py—NoteListCreateApiViewGET nowAllowAny, anonymous users see public notesbackend/notes/management/commands/bootstrap_platform.py—vibe-coding-101is_defaultset toFalsebackend/notes/tests.py— template-restore test asserts no template courses areis_defaultdocs/TASKS.md— checked off completed itemsfrontend/editor_app/lib/app_shell.dart— starter Inboxis_default: true,_showWidePageHeaderalways false,_loadLearnerNotes+_loadInitialDatafetch public notes without authfrontend/editor_app/lib/core/helpers.dart—_DetailsBuildertransparent background/shape, empty body guardfrontend/editor_app/lib/modules/learner.dart— unified note list layout for auth/anon usersfrontend/editor_app/lib/modules/note_editor.dart— removed_BlockInsertZone,_blockTypeLabel,_markdownFromBlockDraftRows; added_HoverInsertSlotfrontend/editor_app/lib/modules/settings.dart— removed 'B' dropdown item, added'B' -> 'G'migration