feat: vault-aligned server v1 + UX polish
All checks were successful
CI / Windows build (push) Successful in 7m47s

Redesign the optional FastAPI companion around vault files (manifest /
PUT/GET/DELETE + OCR jobs) instead of legacy strokes_json notes. Wire a
client Server settings panel for health/login. Polish shell UX: l10n for
settings/home/board, sticky-board empty state, and a narrow-screen
diagnostics FAB.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-05 19:04:48 +08:00
parent d346cc2670
commit 198da00ecd
20 changed files with 1325 additions and 90 deletions

View File

@@ -14,6 +14,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
os.environ["BADNOTE_STORAGE_PATH"] = "/tmp/badnote_test_storage"
os.environ["BADNOTE_QUEUE_PATH"] = "/tmp/badnote_test_queue"
os.environ["BADNOTE_VAULT_PATH"] = "/tmp/badnote_test_vaults"
os.environ["BADNOTE_JWT_SECRET"] = "test-secret-key-for-testing-only"
from badnote_server.config import settings # noqa: E402
@@ -26,10 +27,13 @@ async def setup_db(tmp_path):
"""Fresh DB and clean queue for each test."""
db_path = str(tmp_path / "test.db")
settings.db_path = db_path
settings.vault_path = str(tmp_path / "vaults")
# Clean the queue directory before each test
queue_path = settings.queue_path
if os.path.exists(queue_path):
shutil.rmtree(queue_path)
if os.path.exists(settings.vault_path):
shutil.rmtree(settings.vault_path)
await init_db()
yield
await close_db()