Notechondria
Version: 0.1.11 Build Date: 2026-04-08T00:00
What's Changed
Course icon selector
-
Added
iconfield (IntegerField, nullable) to the backend Course model storing Material Icons codePoint values. -
Created migration
0014_course_icon.pyfor the new field. -
Updated
CourseSerializerandCourseWriteSerializerto include theiconfield. - Updated POST (create) and PATCH (update) course endpoints to accept and persist icon.
-
Added curated icon picker dialog (
_showIconPickerDialog) with 30 Material Icons in a grid layout. -
Added
_courseIcon()helper that resolves a course map to its custom icon or a type-based default. -
Replaced
_promptCreateCategoryand_promptEditCategorywith stateful dialog widgets (_CreateCategoryDialog,_EditCategoryDialog) that include icon selection. -
Updated
_createCategoryand replaced_renameCategorywith_updateCategoryto handle both title and icon changes for local and remote courses. - Sidebar category rows now display the user-selected icon.
Compact view navbar title
- Replaced static "Notechondria Editor" title in the compact (mobile) AppBar with the current folder name: shows category title when a category is selected, "All Notes" when viewing all notes, and the app title for other pages.
Inbox folder fixes
- Fixed duplicate Inbox folders appearing when remote courses include a default category and the local offline starter Inbox already exists. The local default is now removed when remote courses are loaded.
- Default Inbox folder long-press/right-click now shows an informational dialog explaining it cannot be renamed or deleted, instead of a dismissive SnackBar.
Social link URL validation
- Added URL validation to the social link field in settings across all three apps (editor, planner, portal).
-
Social links must be empty or a valid
http://orhttps://URL; invalid values are blocked before save with an inline error message. - Editor and portal TextField decorations updated with hint text and error display; error clears on edit.
Files Changed
backend/notes/models.py-- AddediconIntegerField to Course modelbackend/notes/migrations/0014_course_icon.py-- New migration for icon fieldbackend/notes/api.py-- Added icon to CourseSerializer, CourseWriteSerializer; updated create/update endpointsfrontend/editor_app/lib/core/helpers.dart-- Added _kCourseIcons map, _courseIcon helper, _showIconPickerDialogfrontend/editor_app/lib/app_shell.dart-- Icon picker in create/edit dialogs, _updateCategory, compact navbar title, inbox dedup, default inbox dialogfrontend/editor_app/lib/modules/settings.dart-- Social link URL validation with error displayfrontend/planner_app/lib/modules/settings.dart-- Social link URL validationfrontend/portal_app/lib/modules/settings.dart-- Social link URL validation with error displayVERSION-- Bumped from 0.1.10 to 0.1.11sample.env-- Updated image tags to v0.1.11.localdocs/versions/0.1.11.md-- This version documentdocs/TASKS.md-- Marked completed items