verstak/cmd/verstak-gui
mirivlad fec35f55b8 Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge
=== Breaking ===
- CreateNote for unsupported parents (file/note/action/secret/worklog/link) -> error
- EnsureNotesFolder validates parent supports notes before creating Notes/

=== Templates (system_templates.json) ===
- folder.default: +notes module, +Notes folder in default_folders
- document.default: +notes module, +Notes folder, +Overview.md default file
- recipe.default: +Notes folder in default_folders
All container types now consistently declare notes support.

=== CreateNodeFromTemplate layout fix ===
- DefaultFolders created BEFORE DefaultFiles (so Notes/ exists)
- DefaultFile nodes now parented inside Notes folder, not the container
- File path, file record, notes record all canonical: Notes/Overview.md
- No root-level Overview.md created

=== ListItems (Files tab) ===
- bindings_files.go: ListItems now includes TypeNote (not just TypeFolder+TypeFile)
- Notes folder visible in Files tab tree
- Overview.md inside Notes shown with type='note', Mime='text/markdown'

=== ListNotes merge ===
- Collects from both Notes folder (canonical) and direct TypeNote children (compat)
- Duplicates excluded via seen set
- Canonical layout takes priority

=== RepairNotesLayout ===
- Moves direct TypeNote children into Notes folder via nodes.Move
- Updates files.path/files.filename for moved notes
- Skips non-container parents (file/note/etc)

=== Tests ===
- note_repair_test.go: 37 tests (24 old + 13 new)
  - SupportsNotes for containers/non-containers
  - EnsureNotesFolder rejects for unsupported parents
  - Create for file/note parent -> error, no state leak
  - Repair: skips non-containers, creates Notes folder, moves notes
  - Files tab: Notes folder visible, Overview content preserved after repair
- vault_layout_notes_files_test.go: 3 new ListItems/repair tests
  - ListItems shows Notes folder
  - ListItems inside Notes shows Overview with FileID
  - Repair moves direct children, ListItems reflects new layout
- Updated: suggest_test.go, trash_test.go, vault_layout_test.go expectations

=== Misc ===
- nodes/repository.go: ListByType helper for test use
- bindings_files.go: TypeNote in ListItems, Mime=text/markdown
2026-06-15 17:24:56 +08:00
..
frontend-dist fix: use Svelte dispatch for verstak-link events in MarkdownPreview 2026-06-15 12:36:32 +08:00
app.go feat: ШАГ 2 — Staging-таблица browser_events + Store 2026-06-06 18:27:00 +08:00
bindings_actions.go fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error 2026-06-04 00:37:14 +08:00
bindings_activity.go feat: плагин-система Lua + Calendar reference plugin 2026-06-07 14:59:46 +08:00
bindings_bridge.go feat: плагин-система Lua + Calendar reference plugin 2026-06-07 14:59:46 +08:00
bindings_browser.go feat: ШАГ 4 — UI для browser events в TodayScreen 2026-06-06 18:58:39 +08:00
bindings_capture.go fix: normalize bare URLs in capture flow 2026-06-05 12:29:19 +08:00
bindings_clipboard.go fix: normalize bare URLs in capture flow 2026-06-05 12:29:19 +08:00
bindings_config.go fix(plugins): restore plugin runtimes on startup + graceful shutdown 2026-06-08 11:45:35 +08:00
bindings_debug.go debug: add WriteDebugLog inside iframe to confirm calendar-data delivery + log.Printf to WriteDebugLog 2026-06-08 12:34:14 +08:00
bindings_files.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
bindings_inbox.go Today screen: tabs (feed, suggestions, in-progress, captured) + inbox sort/group 2026-06-05 16:17:22 +08:00
bindings_links.go fix: global search case-insensitive + keyboard layout swap 2026-06-15 10:52:34 +08:00
bindings_nodes.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
bindings_notes.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
bindings_plugins.go debug: add log.Printf in CallPluginFunction Go binding to trace calls 2026-06-08 12:26:43 +08:00
bindings_settings.go fix: global search case-insensitive + keyboard layout swap 2026-06-15 10:52:34 +08:00
bindings_suggest.go feat: aggregate journals across node subtrees 2026-06-05 12:37:25 +08:00
bindings_sync.go fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error 2026-06-04 00:37:14 +08:00
bindings_trash.go fix: stabilize markdown notes — internal link modal, rename UI, trash integration 2026-06-15 09:19:26 +08:00
bindings_watcher.go fix: исправление 6 пунктов из ревью 2026-06-07 00:15:34 +08:00
bindings_worklog.go feat: aggregate journals across node subtrees 2026-06-05 12:37:25 +08:00
capture_test.go fix: normalize bare URLs in capture flow 2026-06-05 12:29:19 +08:00
file_manager_test.go test: harden file manager regressions 2026-06-04 19:44:28 +08:00
inbox_test.go feat: resolve inbox links separately 2026-06-05 07:33:10 +08:00
main.go fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error 2026-06-04 00:37:14 +08:00
move_node_test.go fix: tree DnD — correct cycle detection, reactive indicators, canonical reload 2026-06-03 05:27:20 +08:00
plugins_lifecycle_test.go fix: rollback Enabled on activation failure + fatal on_init + rollback test 2026-06-08 00:14:49 +08:00
settings_test.go fix: keep default templates and plugins folder working 2026-06-04 03:28:32 +08:00
sigfix.go fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error 2026-06-04 00:37:14 +08:00
suggest_test.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
sync_apply.go feat: edit and delete worklog entries 2026-06-05 00:48:12 +08:00
trash_test.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
vault_check.go fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error 2026-06-04 00:37:14 +08:00
vault_layout_notes_files_test.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
vault_layout_test.go Notes: sync templates, fix Create layout, repair direct children, ListItems+ListNotes merge 2026-06-15 17:24:56 +08:00
vault_migrate.go fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error 2026-06-04 00:37:14 +08:00
wails.json chore: add wails.json, remove wails3 artifacts, rebuild binaries 2026-06-03 01:48:12 +08:00