Commit Graph
654 Commits
Author SHA1 Message Date
sandrodach ff0c47fa15 Merge dev into main (v0.66.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 33s
2026-11-02 22:24:21 +01:00
sandrodachandClaude Opus 5.5 c0dc718919 chore: release v0.66.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m54s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:22:17 +01:00
sandrodachandClaude Opus 5.5 1767764912 feat(workspace): copy bullets as Markdown, Ctrl+A twice selects the whole note
Ctrl+C over a selection of several bullets now puts Markdown on the
clipboard (lib/outlineMarkdown.ts, the format of the Markdown export:
tab indent, - [ ] to-dos, headings, callouts, fenced code); pasting it
into a note gives the same bullets again. A second Ctrl+A in a bullet
selects the whole note. Copying goes through the browser's copy event,
so it works on plain HTTP too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:22:17 +01:00
sandrodach f0f7b50464 Merge dev into main (v0.65.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 22:13:14 +01:00
sandrodachandClaude Opus 5.5 da92ffa6b5 chore: release v0.65.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m56s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:11:10 +01:00
sandrodachandClaude Opus 5.5 2ff1549112 feat(tasks): with one Kanban row too, the first scroll step hides the bar above
On the desktop the board always works like with several rows: the first
row grows while the bar above scrolls away, and a spacer below as high as
what is still visible of the bar lets the page scroll even with one row.
Replaces the one-row overflow correction.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:11:10 +01:00
sandrodach 064c296937 Merge dev into main (v0.64.1)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 22:03:46 +01:00
sandrodachandClaude Opus 5.5 d52195ab75 chore: release v0.64.1
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m39s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:00:43 +01:00
sandrodachandClaude Opus 5.5 b3767ab387 feat(ui): back and forward also step through task lists and lists
The open task list and the open list are part of the place in the
browser history; the app's own choice of a first list replaces the
entry. Going back to a task list shows its tasks from memory right away.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:00:43 +01:00
sandrodachandClaude Opus 5.5 83bba8d20b test(import): a hand-edited backup cannot raise the role or reach other accounts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:52:00 +01:00
sandrodach 943ef5b076 Merge dev into main (v0.64.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 31s
2026-11-02 21:38:44 +01:00
sandrodachandClaude Opus 5.5 3c23d094ce chore: release v0.64.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m55s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:36:41 +01:00
sandrodachandClaude Opus 5.5 1eef388fa5 feat(ui): browser back and forward step through the app
The app's place (page, open note, workspace view, zoomed bullet, on phones
list or note) goes into the browser history (lib/navHistory.ts), so the
back button of the mouse, the browser or Android steps back inside the
app: out of a zoom, to the previous note, to the previous page. Changes
from one action become one entry, the app's own choice of a first note
replaces the entry, and following a step adds nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:36:41 +01:00
sandrodach d524b3d9ac Merge dev into main (v0.63.2)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 21:24:02 +01:00
sandrodachandClaude Opus 5.5 5b711730a7 chore: release v0.63.2
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m55s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:21:58 +01:00
sandrodachandClaude Opus 5.5 85f19fc447 fix(tasks): Kanban columns get their full height right after stretching the board
The one-row overflow correction was measured before the new height was
on the page, so the two tall rows from before counted as overflow and
squeezed the columns to their minimum until the window was resized. It
now runs after the new height is committed (layout effect), and the board
measures again when its width animation ends.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:21:58 +01:00
sandrodach 9b02d7cfa1 Merge dev into main (v0.63.1)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 29s
2026-11-02 21:17:58 +01:00
sandrodachandClaude Opus 5.5 20e662a1e1 chore: release v0.63.1
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m56s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:15:55 +01:00
sandrodachandClaude Opus 5.5 2f872c0590 feat(workspace): bullet action bubble only while the mouse moves
With a real pointer the bubble (zoom, extract, delete, to-do menu, type)
shows while the mouse moves over the row and for a second after; it
stays while the mouse rests on it, its to-do menu is open or a button
in it has keyboard focus. A resting mouse, also while typing, no longer
leaves it over the text. Touch devices keep showing it at the focused
bullet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:14:42 +01:00
sandrodach 91803bab87 Merge dev into main (v0.63.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 21:10:43 +01:00
sandrodachandClaude Opus 5.5 426b548fc7 chore: release v0.63.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m53s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:08:23 +01:00
sandrodachandClaude Opus 5.5 18709353cf feat(tasks): Kanban fills the screen row by row, on phones too; pages keep their scroll position
Desktop, several rows: the first row grows while the bar above the board
scrolls away (CSS variables follow the scroll position), so every row
fills the screen once snapped.

Phones: each column is as high as the room between header and bottom
bar; the page snaps column by column (the first column is lower by the
bar above the board and snaps at the page top). While a card is dragged
snapping is off; holding it at the top/bottom edge moves the page to the
previous/next column (useKanbanTouchDrag snapPoints).

Each app page (Triage, Workspace, Aufgaben, Listen) keeps its scroll
position when switching pages; it comes back once the page has loaded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:07:45 +01:00
sandrodach 40f38e36a2 Merge dev into main (v0.62.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 20:48:45 +01:00
sandrodachandClaude Opus 5.5 0b60ae6298 chore: release v0.62.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m2s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 20:46:12 +01:00
sandrodachandClaude Opus 5.5 044d858231 feat(tasks): Kanban columns keep one height across rows, wheel moves row by row
On the desktop every column, in every row, is as high as the room from
the board to the bottom of the scroll area (at least about three cards),
so the first row fits on opening and further rows fill one screen; the
first row no longer grows when a column wraps into a second row. With
several rows one wheel step moves to the next row or back (own logic:
the browser's snapping returned to the nearest point and never got past
the first row). Card lists that can scroll go first; Ctrl + wheel over
the board scrolls freely without zooming.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 20:45:10 +01:00
sandrodach dda9370b16 Merge dev into main (v0.61.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 32s
2026-11-02 20:14:11 +01:00
sandrodachandClaude Opus 5.5 e2d5140834 chore: release v0.61.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 3m16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 20:10:39 +01:00
sandrodachandClaude Opus 5.5 b26b07cfea feat(workspace): deleted folders go to the trash as a whole, after a confirmation
A deleted personal folder is kept in trashed_folders with its subfolders;
its notes are trashed and tied to it. The trash lists the folder as one
entry with its note count; restoring brings back the folder tree (empty
subfolders too) and all notes, deleting for good, emptying the trash and
the notes trash delay remove it with its notes. Folders in shared folders
keep the old way.

Deleting a folder now asks first, in a small popover at the click
(ConfirmPopover, documented in ui-patterns).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 19:36:22 +01:00
sandrodach 87411c42f7 Merge dev into main (v0.60.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 29s
2026-11-02 19:23:07 +01:00
sandrodachandClaude Opus 5.5 9dcfa6c27e chore: release v0.60.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m5s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 19:20:25 +01:00
sandrodachandClaude Opus 5.5 c7cff441a2 feat(ui): desktop scrolls inside, under a fixed header
On the desktop the window no longer scrolls: the area between header
and footer does, with room for its scrollbar kept on both sides so the
content stays centred and nothing shifts between pages. This replaces
the scrollbar-gutter tricks (header colour in the gutter, Chrome's
always-on scrollbar, which also let the sticky header scroll away in
Chrome). Triage fills the height: card and buttons stay, the queue takes
the rest and scrolls inside. The Kanban height fit and the Quick Dump
button use the scroll area. Phones keep scrolling the window.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 19:15:43 +01:00
sandrodach 1632569023 Merge dev into main (v0.59.3)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 18:48:39 +01:00
sandrodachandClaude Opus 5.5 c31eed5a3a chore: release v0.59.3
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 2m1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:46:09 +01:00
sandrodachandClaude Opus 5.5 e4bc6ead61 fix(ui): no white strip next to the page in Chrome
Chrome paints an empty scrollbar gutter white and takes the page
scrollbar's style from body, not html. It now always shows the page
scrollbar (an empty track where nothing scrolls), styled via
body::-webkit-scrollbar with the header and page colours; the header's
translucent bottom line is a layer of its own. Firefox keeps the gutter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:45:18 +01:00
sandrodach 1a03aaf3a6 Merge dev into main (v0.59.2)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 18:28:57 +01:00
sandrodachandClaude Opus 5.5 9473e2321a chore: release v0.59.2
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m51s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:26:45 +01:00
sandrodachandClaude Opus 5.5 fd62987df3 style(ui): header colour runs into the scrollbar gutter
The reserved gutter showed the page colour next to the header. On the
desktop the page background now carries the header colour and its
bottom line down to the header's measured height (--app-header-h),
fixed like the sticky header.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:26:45 +01:00
sandrodach f22a18c89d Merge dev into main (v0.59.1)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 18:14:33 +01:00
sandrodachandClaude Opus 5.5 0ba5140106 chore: release v0.59.1
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m54s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:12:19 +01:00
sandrodachandClaude Opus 5.5 92de62a620 fix(tasks): switching lists never shows the previous list's tasks
The new list's view (list or Kanban) appeared one render before its
tasks, so the board briefly showed the old list. Lists opened in this
session are kept in memory and shown in the same render; a list not
opened yet takes its share of "Alle Aufgaben", else the loading
placeholder shows. The reload brings them up to date.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:11:17 +01:00
sandrodachandClaude Opus 5.5 cce076b093 fix(ui): keep room for the scrollbar so pages do not shift
scrollbar-gutter: stable on the root: a page that scrolls (e.g. a wide
Kanban board) and one that does not have the same width, so switching
tabs no longer moves the layout. Overlay scrollbars are unaffected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 18:11:17 +01:00
sandrodach 1ce9d67e00 Merge dev into main (v0.59.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 30s
2026-11-02 17:07:54 +01:00
sandrodachandClaude Opus 5.5 9d2f37c7f6 chore: release v0.59.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m54s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 17:05:47 +01:00
sandrodachandClaude Opus 5.5 886fb2c711 feat(tasks): remember list or Kanban per task list
Each task list (and "Alle Aufgaben") keeps its own view on this device;
a single remembered Kanban view from before carries over to its list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 16:52:30 +01:00
sandrodach 14f63f0b3a Merge dev into main (v0.58.0)
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 31s
2026-11-02 13:58:38 +01:00
sandrodachandClaude Opus 5.5 c2aff2ced6 chore: release v0.58.0
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m53s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:56:31 +01:00
sandrodachandClaude Opus 5.5 d11c156ed7 style(ui): solid counters without the dark ring
The accent counter was a 10-16 % tint, so on the phone nav bar the icon
showed through; it now lies on an opaque panel. The ring in the page
colour looked like a black shadow in dark themes and is gone; text
counters overlap the word by 2 px instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:13:14 +01:00
sandrodachandClaude Opus 5.5 2cdfa45375 feat(tasks): group "Alle Aufgaben" by task list by default
Tasks without a list come first, then the lists in tab order. Single
lists keep no grouping by default and do not offer it. The open task
list, view and grouping, like the open shopping list, are now
remembered per device instead of per tab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:13:14 +01:00
sandrodachandClaude Opus 5.5 b04991ee23 fix(tasks): full-size fields in the task details on phones
Task list, people search, hashtag and subtask fields were 24-32 px with
12 px text on phones; they now match the other fields (44 px, 16 px text,
no zoom on iOS). The note button says just "Notiz" there, so the header
stays on one line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 12:59:16 +01:00
sandrodachandClaude Opus 5.5 92993c2dd2 style(ui): counters on labels sit right after the word
The counter hung at the label's right edge with a fixed 12 px gap, so
two-digit numbers covered part of the last letter. It now follows the
word in the text flow (position="text"): only its ring overlaps, the
same for any number of digits, and wide numbers widen the tab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 12:59:16 +01:00