Notechondria

Version: 0.1.85 Build Date: 2026-04-28T16:00

What's Changed

Four bugs from the Bugs section of docs/TODO.md fixed.

Bug — Audit login-form autocomplete attributes

LoginForm in backend/creators/forms.py did not set autocomplete attributes on its username/password fields. Browser autofill overlays (e.g. Bitwarden) attempted to insert DOM nodes via insertBefore into the form's layout wrapper rather than the field's direct parent, causing a NotFoundError.

  • Added autocomplete="username" to the username field and autocomplete="current-password" to the password field in LoginForm.__init__.

Bug — Public note filter in All Notes shows local drafts

The learner page unconditionally rendered local drafts below the scope dropdown regardless of the selected filter. When the user selected "Public notes" or "Private notes", local drafts were still visible, making the filter appear broken.

  • _LearnerPage in editor_app/lib/modules/learner.dart now only renders the "Unsynced local drafts" card when effectiveScope == 'personal' (the workspace view), and only renders the local-drafts list when effectiveScope == 'local' || effectiveScope == 'personal'. Filters "public", "private", and "all" now correctly show cloud notes only.

Bug — Default inbox not found on offline initial login

When a user authenticated for the first time while offline, _ensureStarterWorkspace seeded a local Inbox and set _selectedCourse, but _loadInitialData's course lookup could fail to find it in edge cases (cloud fetch failed, cached data empty). The Inbox was then lost from the selected course state.

  • _loadInitialData in editor_app/lib/core/initial_data.dart now falls back to the existing _selectedCourse when _chooseDefaultCourse returns null during offline conditions, preventing the Inbox from being overwritten.

Bug — Cover image in horizontal mode too high

_LearnerNoteCard used aspectRatio: 4/6 for the cover image in horizontal mode. Since the cover column takes 40% of card width, the 4:6 ratio (width:height = 2:3) produced a cover height of 1.5× its column width, driving the entire card height far beyond what the body content needed.

  • Changed horizontal aspect ratio from 4/6 to 4/3 in editor_app/lib/modules/learner.dart. The cover now renders as a compact landscape thumbnail (height = 75% of column width) that no longer dominates card height.

Files Changed

  • VERSION — 0.1.84 → 0.1.85.
  • backend/creators/forms.py — added autocomplete attributes to LoginForm fields.
  • frontend/editor_app/lib/modules/learner.dart — local drafts gated on scope; horizontal cover aspect ratio changed to 4/3.
  • frontend/editor_app/lib/core/initial_data.dart_chooseDefaultCourse fallback guard for offline course lookup.
  • docs/TODO.md — four bug entries removed (Bugs section now empty).

Notes

  • All four fixes are contained to the editor app (3 files) and one backend forms file. Planner and portal are unaffected.