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>
This commit is contained in:
2026-03-20 15:56:16 +01:00
parent 43a7fda692
commit 3a5593f861
5 changed files with 421 additions and 5 deletions

View File

@@ -8,7 +8,7 @@ cat > /work/settings.json <<EOF
{
"source": { "url": "${OUTLINE_URL}", "token": "${OUTLINE_TOKEN}" },
"target": { "url": "${OUTLINE_URL}", "token": "${OUTLINE_TOKEN}" },
"local": { "url": "${LOCAL_OUTLINE_URL:-}", "token": "${LOCAL_OUTLINE_TOKEN:-}" },
"local": { "url": "${LOCAL_OUTLINE_URL:-}", "token": "${LOCAL_OUTLINE_TOKEN:-}", "host": "${LOCAL_OUTLINE_HOST:-}" },
"sync": { "allow_deletions": false }
}
EOF