sandrodach and Claude Opus 5.5
51f90eb7e4
feat(notes): browser sync engine with offline queue; editor saves through the operation log
...
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m26s
Phase 2 of the collaboration plan:
- frontend/src/lib/docSync: TypeScript port of the block tree, operations,
effects and order keys (kept identical to Go via shared test vectors),
diff from the editor's flat list to operations, IndexedDB persistence,
HTTP transport and DocSyncEngine (one request in flight, idempotent
resends, backoff, 3 s/30 s polling, keepalive flush and leave on exit,
block leases for focus, 20 s grace and new blocks).
- Text changes carry the version the user saw when typing (first change
wins when coalescing; a stale focused field keeps its old base), so a
concurrent edit becomes a conflict copy instead of a silent overwrite.
- DocumentEditor uses the engine instead of the 800 ms whole-document PUT;
editors (not only owners) can edit, remote changes appear live.
- Server: task IDs of linked blocks are delivered again, linked tasks follow
ticked/deleted blocks after sync, note tags are derived, title changes
notify other users; block IDs already used in another note are renamed
(starter content with fixed IDs was empty for every further user).
- Fix: unlinking tasks from blocks wrote to non-existent columns and never
worked (error was swallowed).
- Tests: Go/TS order key vectors, diff round trips, engine races (lost
responses, offline + reload, edits arriving between typing and sending,
stale focused field, duplicate first block), plus a Playwright test with
two browsers against the real image (e2e/run.sh).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 12:28:15 +01:00
sandrodach and Claude Opus 5.5
106a34d260
test(frontend): set up Vitest with jsdom and run tests in the image build
...
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 43s
- Add vitest, jsdom and Testing Library as dev dependencies,
replace the placeholder test:run script with vitest run.
- Add outliner tests for Backspace merging and caret placement on click.
- Run the frontend tests in the Dockerfile before the Vite build.
- Update docs (README, architecture, FLAW-19).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 09:25:10 +01:00
sandrodach and Claude Opus 5.5
2b5291dc7b
fix(workspace): caret at click position, no grey row highlight, hover-only collapse toggles
...
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
- Clicking into a bullet places the caret where the mouse was, mapped
from the rendered markdown layer back to the raw text, instead of
always jumping to the end.
- Remove the grey background on focused and hovered rows and on the
bullet handle.
- Collapse/expand chevrons are only shown while hovering the row.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-28 09:19:35 +01:00
sandrodach and Claude Sonnet 5.5
b4c8577a61
fix(workspace): make Backspace merge work for untyped blocks and blocks with children
...
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
The merge only applied to a fixed list of block types, so legacy blocks
without a type were ignored, and blocks with children were rejected.
Now only code/divider/table/progress are excluded and children move up
under the previous block. The focused bullet dot is also neutral now.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 08:53:35 +01:00
sandrodach and Claude Sonnet 5.5
c7e05b385c
feat(workspace): merge bullet on Backspace, render hashtags inline
...
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m8s
- Backspace at the start of a non-empty bullet appends its text to the
previous visible bullet (skipped for blocks with children and for
code/divider/table/progress blocks).
- Hashtags are rendered inline as clickable chips instead of a badge row
below the text, so lines no longer grow taller.
- Targeted/highlighted bullets use a neutral background instead of accent.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 08:31:25 +01:00
sandrodach
6896a29285
chore(workspace): remove placeholder text from first bulletpoint
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 21:48:43 +01:00
sandrodach
554029a099
fix(workspace): group text and code blocks cleanly under headings on paste
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 58s
2026-10-27 21:40:51 +01:00
sandrodach
c85f31eee5
fix(workspace): enable clicking into empty bulletpoint to focus cursor
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 21:33:18 +01:00
sandrodach
1c71b09f20
feat(workspace): hide bullet point on empty blocks unless hovered
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m0s
2026-10-27 21:29:05 +01:00
sandrodach
6a261e3453
feat(workspace): intelligent multi-line clipboard paste with markdown prefix & indentation parsing
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
2026-10-27 21:27:01 +01:00
sandrodach
fdbf691a8d
feat(workspace): split bulletpoint paragraph at cursor position on Enter
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 21:17:12 +01:00
sandrodach
5cf6b59377
feat(tasks): refine enhanced task linking, outliner badge positioning, completion sync and unlink behavior
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 21:09:25 +01:00
sandrodach
63a5885155
fix(workspace): place cursor at end of line when jumping or clicking into bullet point
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 20:55:07 +01:00
sandrodach
94acb2638e
fix(workspace): fix outliner cursor focus, enhanced task linking, nav order and Hauptebene drop zone
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 19s
2026-10-27 20:26:45 +01:00
sandrodach
d39d1d1122
feat: complete workspace, triage, outliner and sharing overhaul (tasks 1-26)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 19:46:46 +01:00
sandrodach
bce103e2c6
feat(outliner): prevent creating extra empty block on enter on last empty root bullet
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 17:43:20 +01:00
sandrodach
122ebccf8d
refactor(outliner): make bullet point the drag handle and remove separate grip icon
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
2026-10-27 17:41:25 +01:00
sandrodach
fd89f92b0c
feat(outliner): outdent empty bulletpoint on enter
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
2026-10-27 17:31:08 +01:00
sandrodach
04fa774d10
refactor(collab): remove live document collaboration and enforce strictly read-only sharing
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
2026-10-27 17:08:38 +01:00
sandrodach
aea05e868a
feat(outliner): indent and outdent entire subtree with all children on Tab and Shift+Tab
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
2026-10-27 16:06:31 +01:00
sandrodach
1bdd7d245d
fix(outliner): move entire subtree with all children during drag and drop
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m4s
2026-10-27 16:00:03 +01:00
sandrodach
266026da4c
fix(workspace): make note editor use full available width instead of centering at max-w-4xl
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m1s
2026-10-27 15:49:40 +01:00
sandrodach
183199401d
fix(collab): continuous document text synchronization preserving local cursor
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s
2026-10-27 15:48:17 +01:00
sandrodach
ee8d586e2f
style(collab): right-align lock badge without shifting lines and highlight locked block with grey background
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 15:33:38 +01:00
sandrodach
a1c7a65d84
fix(collab): fix corporate SSE fallback, realtime lock propagation and prevent stale overwrite
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m1s
2026-10-27 15:21:05 +01:00
sandrodach
996f27133c
fix(collab): fix self-lockout, stuck live sessions, block locking propagation and reactive hashtags
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 58s
2026-10-27 14:57:30 +01:00
sandrodach
0e06cc5577
feat(collab): redesign note collaboration with REST auto-save, opt-in live session, and block locking
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 14:02:38 +01:00
sandrodach
f7e70b649f
style: expand Workspace To-Dos and Hashtags views to full container width
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m1s
2026-10-27 11:54:56 +01:00
sandrodach
f74ff7c63b
feat(workspace): hide folder sidebar in todos and tags, keep toggle button fixed and disabled
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 11:33:47 +01:00
sandrodach
37948d3a6a
feat(workspace): move connection status indicator to top tabs header
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 11:32:25 +01:00
sandrodach
3d780856b0
refactor(workspace): remove duplicate new note button from top tabs
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 56s
2026-10-27 11:11:44 +01:00
sandrodach
894a2e3b76
style(workspace): move sidebar toggle to the left as icon-only button
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 11:02:28 +01:00
sandrodach
59ddca91f3
feat(workspace): align workspace UI with tasks and lists, add top tabs and collapsible sidebar
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 58s
2026-10-27 10:55:42 +01:00
sandrodach
7baab8faa2
fix(workspace): eliminate hover height shift on folder tree row with fixed height and opacity fade
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 58s
2026-10-27 08:49:08 +01:00
sandrodach
5a931e9bb6
style(workspace): style selected note with panel background and accent border matching task list selection
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 08:47:58 +01:00
sandrodach
60fd1c9ae7
feat(workspace): add hashtag tabs matching tasks view style and interactive tile grid with search and sorting
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 08:46:10 +01:00
sandrodach
23eff21520
style(workspace): style '+ Notiz' button in sidebar matching 'Neue Liste' dashed style
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-27 08:41:09 +01:00
sandrodach
d11153309f
fix(frontend): resolve TS2448 filteredDocs TDZ and import missing DocumentBlock in WorkspaceView
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 59s
2026-10-27 08:14:39 +01:00
sandrodach
7a8d759bf2
feat(workspace): real-time live child block resolution and interactive checkboxes in hashtag overview
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 18s
2026-10-27 07:27:12 +01:00
sandrodach
149cfdc244
fix(workspace): select and focus exact block line when jumping from todos or tags
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 18s
2026-10-27 07:23:23 +01:00
sandrodach
928cc72491
feat(workspace): enhance todo view switcher and add note-level collapsible cards in folder_note mode
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 17s
2026-10-27 07:21:31 +01:00
sandrodach
5144f7b01b
fix(workspace): ensure immediate cursor autofocus and select on note title creation
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 19s
2026-10-27 07:19:47 +01:00
sandrodach
ffa14b01a2
style(workspace): remove any border or box from doc title emoji
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 17s
2026-10-27 07:17:27 +01:00
sandrodach
d3dd4c8cc6
fix(workspace): refine folder row drop target, depth-first tree sorting & auto-expansion
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 19s
2026-10-27 07:16:20 +01:00
sandrodach
27b3567008
style(workspace): align LinkModal 1:1 with UnifiedShareModal design language
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 17s
2026-10-27 07:11:28 +01:00
sandrodach
4850f9dfad
feat(workspace): recursive folder tree, link modal redesign, todo grouping & line jumping, hashtag child listing
MindSift CI & Docker Release / Build, Test in Container & Push (push) Failing after 23s
2026-10-27 07:09:48 +01:00
sandrodach
6c1898d489
feat(workspace): decouple folder sharing with independent mount points & real-time sync
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 58s
2026-10-26 22:53:51 +01:00
sandrodach
634195b629
style(workspace): align UI styling with ListsView (rounded-full avatars, dark canvas borders, unified Radio live badge, unified Users share button)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 56s
2026-10-26 22:36:32 +01:00
sandrodach
cedf5aebff
fix(sync): eliminate zombie focus, flush debounced state on window blur, remove stale closures and buffer ws messages
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 57s
2026-10-26 22:27:11 +01:00
sandrodach
06f5f7043c
feat(workspace): add /link slash command with note selector and web link modal
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 58s
2026-10-26 22:19:53 +01:00