-
f1033da75e
M9 S3 (backend): organize routes adopt toolkit + shared label reconciliation

bvandeusenandClaude Opus 4.8
2026-07-23 21:26:59 -04:00
-
e8e0d86413
M9 S2: fold raw multipart fetches into api.postForm

bvandeusenandClaude Opus 4.8
2026-07-23 21:18:37 -04:00
-
3a4c3c8164
S2: fix zip-bomb on import + SVG stored-XSS on attachment download

bvandeusenandClaude Opus 4.8
2026-07-23 19:47:53 -04:00
-
18ca4d4db4
S1: frontend infra — AsyncState/EmptyState + useNoteEditor, adopted in BoardView

bvandeusenandClaude Opus 4.8
2026-07-23 19:40:37 -04:00
-
61f7c40db7
S1: iso() datetime helper + one shared colour normalizer (colors.py)

bvandeusenandClaude Opus 4.8
2026-07-23 19:33:07 -04:00
-
6abc82c783
S1: unify error responses + id parsing (responses.py) across notes.py

bvandeusenandClaude Opus 4.8
2026-07-23 19:29:46 -04:00
-
2abed7132c
S1: shared value helpers (parse_dt/coerce_bool) + auto-Secure session cookie

bvandeusenandClaude Opus 4.8
2026-07-23 19:24:36 -04:00
-
3c78060051
Header: use the app icon instead of the "TS" text badge (links home)

bvandeusenandClaude Opus 4.8
2026-07-23 18:07:26 -04:00
-
1df70c53bd
Capture: Enter-to-start + on-board notice; dismiss discards a new note

bvandeusenandClaude Opus 4.8
2026-07-23 14:11:11 -04:00
-
675b3aa248
Capture UX: "+ New" header button + type-to-compose (two-mode board keys)

bvandeusenandClaude Opus 4.8
2026-07-23 13:59:23 -04:00
-
f9f1b77d37
Unify compose + edit onto one surface (modal-only editor)

bvandeusenandClaude Opus 4.8
2026-07-23 12:57:03 -04:00
-
d1bc91a54a
M6 1908b: foreground reminder delivery + recurrence/snooze UI (frontend)

bvandeusenandClaude Opus 4.8
2026-07-23 11:58:44 -04:00
-
882d4206aa
M6 1908a: recurring reminders + complete/snooze (backend, no web-push)

bvandeusenandClaude Opus 4.8
2026-07-23 11:53:07 -04:00
-
5c045aed63
M6 1902b: facet bar + saved views UI (frontend)

bvandeusenandClaude Opus 4.8
2026-07-23 08:45:56 -04:00
-
5fdc124c77
M6 1902a: richer facet query + saved-filters storage (backend)

bvandeusenandClaude Opus 4.8
2026-07-23 08:36:49 -04:00
-
69bf04e948
M6 1901: URL capture with link-preview unfurl (SSRF-hardened)

bvandeusenandClaude Opus 4.8
2026-07-23 08:05:24 -04:00
-
b5f545f655
M6 1900: any-file attachments + audio memos (broaden beyond images)

bvandeusenandClaude Opus 4.8
2026-07-22 23:37:43 -04:00
-
7dd74d2946
Sync 6: sync protocol doc (docs/sync.md)

bvandeusenandClaude Opus 4.8
2026-07-22 23:13:38 -04:00
-
0ca244be3d
Sync 5: attachment blob sync — client id + content hash (M8)

bvandeusenandClaude Opus 4.8
2026-07-22 23:12:21 -04:00
-
68abaa0f3f
Sync 4: push endpoint POST /api/sync/push (LWW + history snapshot)

bvandeusenandClaude Opus 4.8
2026-07-22 23:09:23 -04:00
-
8e40ea1188
Sync 3: pull endpoint GET /api/sync/changes (M8)

bvandeusenandClaude Opus 4.8
2026-07-22 23:03:06 -04:00
-
3c76b50a9c
Sync 2: device-token bearer auth + linked-devices UI (M8)

bvandeusenandClaude Opus 4.8
2026-07-22 22:59:52 -04:00
-
58b88d2622
Sync 1: revision + tombstone schema (M8 sync hub foundation)

bvandeusenandClaude Opus 4.8
2026-07-22 22:53:34 -04:00
-
333ab9ce74
Import: ThoughtSync-native round-trip + Google Keep Takeout

bvandeusenandClaude Opus 4.8
2026-07-22 21:24:02 -04:00
-
1417479729
Graph: label hubs cluster notes; unlinked notes float by default

bvandeusenandClaude Opus 4.8
2026-07-22 21:16:16 -04:00
-
cc828559ff
M6: export — download all your notes as a zip

bvandeusenandClaude Opus 4.8
2026-07-22 16:48:49 -04:00
-
efbf981a2a
M6: version history — note revisions + restore

bvandeusenandClaude Opus 4.8
2026-07-22 16:08:30 -04:00
-
47974f62ee
M7: editor keyboard + one-click card toolbars (live-pass fixes)

bvandeusenandClaude Opus 4.8
2026-07-22 14:53:18 -04:00
-
261d8fcac5
M6: lightweight markdown rendering on note cards

bvandeusenandClaude Opus 4.8
2026-07-22 14:44:03 -04:00
-
bb33d5c495
M7: unify compose + edit into one NoteEditor (DRY)

bvandeusenandClaude Opus 4.8
2026-07-22 14:05:00 -04:00
-
ae0c748507
M6: label management — usage counts + merge

bvandeusenandClaude Opus 4.8
2026-07-22 12:36:50 -04:00
-
95b0e30fc7
M6: browse notes by creation date (Timeline lens)

bvandeusenandClaude Opus 4.8
2026-07-22 12:26:35 -04:00
-
c4914fe587
m4.5: inline #tags — hashtags in a note become labels (two-way sync)

bvandeusenandClaude Opus 4.8
2026-07-22 08:39:20 -04:00
-
80324fba3b
m4.5: lists first-class — create a checklist straight from quick-add

bvandeusenandClaude Opus 4.8
2026-07-22 08:26:19 -04:00
-
0ae02858f7
m4.5: content-aware [[ linking — autocomplete searches note body

bvandeusenandClaude Opus 4.8
2026-07-22 08:19:05 -04:00
-
2b6a353666
m4.5: titles optional — every note gets an auto display name

bvandeusenandClaude Opus 4.8
2026-07-22 08:00:01 -04:00
-
1b6eb0053b
m4: perf pass — lazy-load note images

bvandeusenandClaude Opus 4.8
2026-07-21 08:37:44 -04:00
-
5e225075f3
m4: drag-to-reorder polish — grip handle + drop affordances

bvandeusenandClaude Opus 4.8
2026-07-21 08:33:29 -04:00
-
3e9b6095dd
m4: PWA install — manifest, icons, service worker

bvandeusenandClaude Opus 4.8
2026-07-21 08:25:41 -04:00
-
b7b37e5e1a
m4: settings-UI polish (dirty tracking + load-error state)

bvandeusenandClaude Opus 4.8
2026-07-21 00:13:17 -04:00
-
545f946754
m4: per-view error states (board / search / graph / reminders)

bvandeusenandClaude Opus 4.8
2026-07-21 00:10:40 -04:00
-
d3bb091f73
m4: global API-error surface (no more silent failures)

bvandeusenandClaude Opus 4.8
2026-07-21 00:07:04 -04:00
-
ecbdd12ba9
m4: mobile nav — hamburger + slide-in drawer

bvandeusenandClaude Opus 4.8
2026-07-21 00:03:15 -04:00
-
894dd4ac42
graph: interactive liveliness (drag/pan/zoom, unlinked toggle, label colors)

bvandeusenandClaude Opus 4.8
2026-07-20 22:40:28 -04:00
-
27b09e18e3
docs: add a copy-paste deploy compose to the README

bvandeusenandClaude Opus 4.8
2026-07-20 21:42:26 -04:00
-
fe12859ba2
ops: wait for the database on startup (no crash-loop on a slow DB)

bvandeusenandClaude Opus 4.8
2026-07-20 20:10:45 -04:00
-
08258f81d9
config: fix media path at /var/thoughtsync (no env knob)

bvandeusenandClaude Opus 4.8
2026-07-20 20:07:15 -04:00
-
d570939253
ui: capture polish — auto-grow quick-add + per-card color popover

bvandeusenandClaude Opus 4.8
2026-07-20 13:20:04 -04:00
-
9baa9217c7
ui: undo toast after trash / archive

bvandeusenandClaude Opus 4.8
2026-07-20 13:15:19 -04:00
-
f321c2bf70
labels: per-label color

bvandeusenandClaude Opus 4.8
2026-07-20 13:11:50 -04:00
-
f3145a5e3f
links: rename repoints inbound backlinks (fix orphaning)

bvandeusenandClaude Opus 4.8
2026-07-20 11:26:49 -04:00
-
9be8920362
links: clickable [[wiki-links]] on cards

bvandeusenandClaude Opus 4.8
2026-07-20 11:23:57 -04:00
-
2a06f7499a
links: [[ autocomplete in the note editor

bvandeusenandClaude Opus 4.8
2026-07-20 11:21:53 -04:00
-
4c72dfea0b
keyboard: board card navigation (j/k/arrows + actions)

bvandeusenandClaude Opus 4.8
2026-07-20 11:18:28 -04:00
-
b24316843e
keyboard: command palette (Cmd/Ctrl+K)

bvandeusenandClaude Opus 4.8
2026-07-20 11:05:50 -04:00
-
4bd4ce5a1f
keyboard: global shortcuts + ? cheat-sheet

bvandeusenandClaude Opus 4.8
2026-07-20 10:23:44 -04:00
-
d7c452ca2b
feel: float the card hover toolbar as a top-right pill

bvandeusenandClaude Opus 4.8
2026-07-20 10:16:34 -04:00
-
6b0ac7696f
feel: card resting spacing + editor Cmd/Ctrl+Enter

bvandeusenandClaude Opus 4.8
2026-07-20 10:14:11 -04:00
-
c57982d910
M3 reminders: notes.remind_at + Reminders view

bvandeusenandClaude Opus 4.8
2026-07-20 08:12:14 -04:00
-
ad006ccb58
M3 graph view: /api/graph + force-directed SVG

bvandeusenandClaude Opus 4.8
2026-07-20 08:05:45 -04:00
-
2d72dcc7cb
M3 wiki-links: [[links]] + backlinks

bvandeusenandClaude Opus 4.8
2026-07-20 08:00:08 -04:00
-
339cc5c2d2
M2 drag-reorder: notes.position + reorder API + native DnD

bvandeusenandClaude Opus 4.8
2026-07-19 22:28:43 -04:00
-
e4c898cd1b
M2 attachments: image upload + owner-scoped media serving

bvandeusenandClaude Opus 4.8
2026-07-19 22:21:26 -04:00
-
31be66ac60
M2 checklists: note kind + items backend + editor/card UI

bvandeusenandClaude Opus 4.8
2026-07-19 22:13:25 -04:00
-
ffc008bf4d
M2 search: Postgres FTS backend + top search bar + results

bvandeusenandClaude Opus 4.8
2026-07-19 22:03:19 -04:00
-
2046600a95
M2 labels frontend: sidebar shell + label filter, chips, picker, manage

bvandeusenandClaude Opus 4.8
2026-07-19 21:56:14 -04:00
-
4d1fc1bdf9
M2 labels backend: labels + note_labels, CRUD, note-label set, filter

bvandeusenandClaude Opus 4.8
2026-07-19 21:43:21 -04:00
-
fdaf5c370c
QoL: Shift+Enter save-and-continue + autofocus quick-add on landing

bvandeusenandClaude Opus 4.8
2026-07-19 21:31:48 -04:00
-
2ae533e967
Add hot-reload docker-compose.dev.yml

bvandeusenandClaude Opus 4.8
2026-07-19 20:57:09 -04:00
-
68f7b260de
M1.5 frontend: admin Settings UI + config store + register gating

bvandeusenandClaude Opus 4.8
2026-07-19 18:28:56 -04:00
-
b46bda38ee
M1.5 backend: admin role + DB-backed settings, DB-URL-only install

bvandeusenandClaude Opus 4.8
2026-07-19 18:25:04 -04:00
-
0f604f9a26
M1: masonry board UI — quick-add, note cards, editor, views

bvandeusenandClaude Opus 4.8
2026-07-19 16:08:53 -04:00
-
df59a30cca
M1: notes model + migration 0002 + notes API (CRUD, trash/restore)

bvandeusenandClaude Opus 4.8
2026-07-19 15:59:43 -04:00
-
05d5249e20
M0 CI: derive registry username from github.repository_owner

bvandeusenandClaude Opus 4.8
2026-07-19 13:32:37 -04:00
-
af8aa25464
M0: Docker + Fabled-Git CI (typecheck + lint + test + build)

bvandeusenandClaude Opus 4.8
2026-07-19 13:17:38 -04:00
-
bf3d403648
M0: Vue 3 + TypeScript frontend — auth views + authed board shell

bvandeusenandClaude Opus 4.8
2026-07-19 13:17:38 -04:00
-
04e3ab20cf
M0: backend skeleton — Quart factory, async DB, auth, ACL spine, migrations

bvandeusenandClaude Opus 4.8
2026-07-19 13:09:37 -04:00
-
cefffa2bd6
Initial commit
bvandeusen
2026-07-19 12:34:56 -04:00