Skip to main content

max / audiofiles

Add SyncKit parity todo items from GO end-to-end testing Four fixes needed: synckit.toml, callback CORS, callback not awaited (critical — auth result is lost), no poll loop. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author: Max J. <87768334+MaxJMath@users.noreply.github.com> · 2026-05-11 18:57 UTC
Commit: ff72d1ea52c09240c57a488fc9c2e23c4c00c9b8
Parent: 9d9447f
1 file changed, +9 insertions, -0 deletions
@@ -60,6 +60,15 @@ AF is PWYW (suggested $15, floor $0). Metadata sync is free. Blob sync (sample f
60 60 - [x] Annual billing messaging — already in sync_panel.rs:115-121 ("Annual saves you money — fewer Stripe transactions means less processing fees") + per-tier savings shown inline
61 61 - [ ] Test full checkout flow against live Stripe (end-to-end: subscribe → webhook → blob sync gate passes)
62 62
63 + ## SyncKit Parity with GoingsOn (2026-05-11)
64 +
65 + Fixes needed to match GO's working end-to-end SyncKit flow:
66 +
67 + - [ ] **synckit.toml** — create `synckit.toml` with AF's API key (need to create sync app on MNW dashboard first). Replace `option_env!("SYNCKIT_API_KEY")` / `EMBEDDED_API_KEY` in main.rs with `include_str!("../../../synckit.toml")` + parser. Current approach breaks silently on recompile without env var.
68 + - [ ] **OAuth callback CORS** — `audiofiles-sync/src/auth.rs` callback server responses missing `Access-Control-Allow-Origin: *` header. Blocks egui webview (if applicable) or external browser from polling result.
69 + - [ ] **OAuth callback not awaited (CRITICAL)** — `start_auth()` returns `AuthSession` with `code_rx` oneshot receiver, but nothing ever awaits `code_rx` or calls `complete_auth()`. The callback result is lost. Fix: spawn a background tokio task in `SyncManager::start_auth()` that awaits the callback and automatically calls `complete_auth()`, updating `SyncStatus` on success.
70 + - [ ] **No poll loop** — AF is egui (not Tauri/JS), so there's no browser-based poll. The OAuth flow needs to work via the oneshot channel + background task pattern described above.
71 +
63 72 ---
64 73
65 74 ## Classification Pipeline — Remaining