66 Commits

Author SHA1 Message Date
CI
ed7ed4fd9e chore: bump version to 0.1.23 [skip ci] 2026-03-20 15:58:34 +00:00
1b1cb4e989 feat: render document previews with marked.js instead of raw pre tags
All checks were successful
Deploy / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 16:58:27 +01:00
CI
0c55d1892f chore: bump version to 0.1.22 [skip ci] 2026-03-20 15:50:08 +00:00
fbc8bce972 fix: swap _page args in review endpoint (body was passed as title)
All checks were successful
Deploy / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 16:50:03 +01:00
CI
4317b5e453 chore: bump version to 0.1.21 [skip ci] 2026-03-20 15:03:09 +00:00
466cf03419 fix: use command param instead of undefined job variable in run_sync_job
All checks were successful
Deploy / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 16:03:00 +01:00
CI
18d0685ccf chore: bump version to 0.1.20 [skip ci] 2026-03-20 14:56:27 +00:00
3a5593f861 feat: add two-instance compare review UI (Phase 2)
All checks were successful
Deploy / deploy (push) Successful in 12s
- outline_sync.py: write compare results to /tmp/compare_results.json
  with full doc maps for parent-chain lookup during copy operations
- webui.py: /review page with remote-only, local-only, conflict tables;
  /review/content endpoint to fetch doc text from either instance;
  /review/apply endpoint for copy_to_local, copy_to_remote, keep_remote,
  keep_local, skip actions; "Compare Instances" button on dashboard;
  "Review Differences" link shown after compare completes
- entrypoint.sh: include local block in generated settings.json
- docker-compose.yml: pass LOCAL_OUTLINE_URL/TOKEN/HOST env vars
- deploy.yml: write LOCAL_* secrets to .env file

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 15:56:20 +01:00
CI
43a7fda692 chore: bump version to 0.1.19 [skip ci] 2026-03-19 19:19:51 +00:00
ce9051c348 fix: close previous EventSource before starting new sync job
All checks were successful
Deploy / deploy (push) Successful in 12s
Prevents output from a previous run bleeding into the next panel when
two sync operations are triggered in quick succession.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 20:19:42 +01:00
CI
7bbb459c6c chore: bump version to 0.1.18 [skip ci] 2026-03-18 23:14:47 +00:00
98db899d57 fix: show LOCAL_OUTLINE_URL and LOCAL_OUTLINE_TOKEN in dashboard config
All checks were successful
Deploy / deploy (push) Successful in 12s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 00:14:39 +01:00
CI
036d876c3f chore: bump version to 0.1.17 [skip ci] 2026-03-18 23:12:39 +00:00
644fe29eaf fix: pass LOCAL_OUTLINE_URL and LOCAL_OUTLINE_TOKEN to container
All checks were successful
Deploy / deploy (push) Successful in 12s
Both the deploy workflow (.env generation) and docker-compose were
missing the local instance env vars, so entrypoint.sh never had them
to write into settings.json.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 00:12:31 +01:00
CI
7e353afd3e chore: bump version to 0.1.16 [skip ci] 2026-03-18 22:50:27 +00:00
f20d41355b feat: add compare endpoint to webui, fix duplicate Done. line
All checks were successful
Deploy / deploy (push) Successful in 13s
- Add /compare POST endpoint that runs the two-instance diff
- Add "Compare Instances" button to the dashboard
- Fix double "Done." output: the summary line was logged both as a
  regular log event and as the done event message

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:50:21 +01:00
CI
89797e7d42 chore: bump version to 0.1.15 [skip ci] 2026-03-18 22:42:05 +00:00
41b126947a fix: write local instance config to settings.json from env vars
All checks were successful
Deploy / deploy (push) Successful in 12s
Adds LOCAL_OUTLINE_URL and LOCAL_OUTLINE_TOKEN to the generated
settings.json so the compare command can reach the outline-web container.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:41:57 +01:00
CI
fd1d4351da chore: bump version to 0.1.14 [skip ci] 2026-03-18 22:35:59 +00:00
14af83a52a feat: add compare command for two-instance diff (Phase 1)
All checks were successful
Deploy / deploy (push) Successful in 13s
Adds read-only `compare` command that fetches both the remote Outline
instance (via Tailscale) and a local instance (outline-web container),
matches documents by canonical path key, and reports in_sync / remote_only /
local_only / conflict status. Also adds PRD for the full two-instance sync
workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 23:35:52 +01:00
CI
6352fbb03f chore: bump version to 0.1.13 [skip ci] 2026-03-16 21:42:44 +00:00
56b141e301 feat: add step-by-step connectivity diagnostics to health_check
All checks were successful
Deploy / deploy (push) Successful in 13s
Break connectivity check into three stages — DNS resolution, TCP connect,
and API auth — each reported separately so failures pinpoint the exact layer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 22:42:35 +01:00
CI
d85c0d4780 chore: bump version to 0.1.12 [skip ci] 2026-03-16 21:06:21 +00:00
4b438f0312 fix: move extra_hosts to outline-sync-ts container
All checks were successful
Deploy / deploy (push) Successful in 17s
extra_hosts is incompatible with network_mode: service:... — move it to the
Tailscale sidecar container whose network namespace is shared with outline-sync-ui.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 22:06:13 +01:00
CI
7e3ea85f12 chore: bump version to 0.1.11 [skip ci] 2026-03-16 21:05:16 +00:00
859d41279d fix: map outline hostname to Tailscale IP of domverse
Some checks failed
Deploy / deploy (push) Failing after 11s
outline-sync runs on domverse-berlin and connects to Outline on domverse.de
via Tailscale. Docker DNS does not cross hosts, so map the hostname via
extra_hosts to the Tailscale IP 100.104.53.109.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 22:05:07 +01:00
CI
0d1f2d30f1 chore: bump version to 0.1.10 [skip ci] 2026-03-16 20:57:58 +00:00
a7cf2ea05f fix: enable manual workflow_dispatch trigger in Gitea
All checks were successful
Deploy / deploy (push) Successful in 13s
- Add inputs block to workflow_dispatch so Gitea shows the Run button
- Skip version bump on manual triggers to allow redeployment without bumping
- Fall back to VERSION file for APP_VERSION on manual runs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 21:57:49 +01:00
CI
3e6e126db8 chore: bump version to 0.1.9 [skip ci] 2026-03-15 11:45:14 +00:00
650600d7a3 fix: use outline container name in CI .env
All checks were successful
Deploy / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 12:45:08 +01:00
CI
c8c80747a8 chore: bump version to 0.1.8 [skip ci] 2026-03-15 11:42:17 +00:00
84f7b05c7a fix: use outline container name instead of Tailscale IP
All checks were successful
Deploy / deploy (push) Successful in 12s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 12:42:09 +01:00
CI
b20e872c54 chore: bump version to 0.1.7 [skip ci] 2026-03-13 18:35:46 +00:00
49ab2a1599 feat: add vault download button and markdown viewer PRD to /files page
All checks were successful
Deploy / deploy (push) Successful in 12s
Adds GET /files/download endpoint that streams all vault files (excl.
.git) as a deflate-compressed vault.zip. Adds Download All button to
the /files page header. Also adds FILES_VIEWER_PRD.md planning doc.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 19:35:25 +01:00
CI
9e143a8156 chore: bump version to 0.1.6 [skip ci] 2026-03-08 11:27:46 +00:00
Claude
2a4d15fd94 fix: preserve document hierarchy in vault during pull
All checks were successful
Deploy / deploy (push) Successful in 11s
New documents now placed in parent's subdirectory (coll/Parent/Child.md)
instead of flat in the collection dir. Parent paths registered immediately
so nested children resolve correctly within the same pull.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 12:27:39 +01:00
CI
8c95bb141f chore: bump version to 0.1.5 [skip ci] 2026-03-08 11:18:09 +00:00
Claude
275af0d12d fix: use \$\$ in sidecar entrypoint so vars expand in container shell not compose
All checks were successful
Deploy / deploy (push) Successful in 13s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 12:18:03 +01:00
CI
aac0d45fcc chore: bump version to 0.1.4 [skip ci] 2026-03-08 11:08:37 +00:00
Claude
0f31b90d1a debug: print sidecar config to stdout on startup
All checks were successful
Deploy / deploy (push) Successful in 12s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 12:08:30 +01:00
CI
8967065373 chore: bump version to 0.1.3 [skip ci] 2026-03-08 11:07:08 +00:00
Claude
258990894d fix: show OUTLINE_TOKEN in full, drop TS_AUTHKEY from UI config panel
All checks were successful
Deploy / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 12:07:03 +01:00
CI
4efc3cb4af chore: bump version to 0.1.2 [skip ci] 2026-03-08 10:59:40 +00:00
Claude
614b0114b4 feat: show masked config/secrets on dashboard for deployment debugging
All checks were successful
Deploy / deploy (push) Successful in 12s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 11:59:33 +01:00
CI
f59ae520bd chore: bump version to 0.1.1 [skip ci] 2026-03-08 10:58:22 +00:00
Claude
a1ec0e482b fix: bake APP_VERSION into image as build arg instead of runtime env
All checks were successful
Deploy / deploy (push) Successful in 13s
- Dockerfile: ARG/ENV APP_VERSION, copies VERSION file
- compose: passes build arg, removes runtime env var
- webui: reads VERSION file as fallback if env not set
- deploy: explicit build step with --build-arg

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 11:58:14 +01:00
Claude
89d21408e6 feat: add semver auto-increment and version display
- Add VERSION file (starts at 0.1.0)
- Deploy workflow bumps patch on every push, commits back [skip ci]
- APP_VERSION passed into container via env
- Version shown in page header next to title

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 11:51:35 +01:00
Claude
7553790b5a fix: keep log panel persistent and scrollable after sync completes
All checks were successful
Deploy / deploy (push) Successful in 12s
- Remove auto-reload after job completion
- Re-enable button and refresh stats in-place via /status fetch
- Increase log panel max-height to 600px, add resize:vertical
- Add IDs to stat cells for targeted DOM updates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 11:47:19 +01:00
Claude
889c26fffe fix: route Outline API via Tailscale subnet instead of Docker DNS
All checks were successful
Deploy / deploy (push) Successful in 11s
- Add TS_EXTRA_ARGS=--accept-routes so sidecar uses VPS-advertised subnet
- Use direct container IP (172.29.0.13) instead of unresolvable hostname

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 11:43:07 +01:00
Claude
bf9b555e21 fix: use outline hostname instead of hardcoded IP in deploy workflow
All checks were successful
Deploy / deploy (push) Successful in 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 11:23:34 +01:00