fixup: scrub failed API-key ping from checklist diigo-ping never authenticated (Diigo 401); the working path is the session-cookie dump worker. Renumber steps, note the scrub with the reason, and drop the ping how-to. Generated-by: opencode (GLM)
39 lines
2.0 KiB
Markdown
39 lines
2.0 KiB
Markdown
# capsite checklist
|
|
|
|
Goal ladder toward "an EmDash site collecting diigo.com bookmarks, credentials
|
|
held by the host, never inside the plugin" (see capsite-notes.md).
|
|
Start small; each step must pass before moving down.
|
|
|
|
- [x] **1. Cookie-path dump worker** (`diigo-dump/`): port of
|
|
`mm-diigo/projects/diigo-bak/diigo-dump.mjs` — one page-number field +
|
|
button, GET `interact_api/load_user_items?sort=updated&count=24&page_num=N`
|
|
with the browser session cookie (`DIIGO_COOKIE` secret).
|
|
**Result (2026-10-06):** manual integration test PASSES —
|
|
status 200, `total: 1674`, page-1 items returned. GET / is inert; dump
|
|
only on POST submit.
|
|
(2026-10-06, scrubbed: a static API-key ping worker, `diigo-ping/`,
|
|
was tried first and failed — Diigo rejected the key pair with 401.
|
|
The session-cookie / interact_api path is the one that works.)
|
|
- [ ] **2. Real credentials in madmode/.dev.vars**: replace the placeholder
|
|
`DIIGO_API_KEY="dckc-madmode"` with a key from
|
|
https://www.diigo.com/settings/api; confirm the EmDash plugin's
|
|
"Sync now" returns success (status 200, bookmarks stored).
|
|
- [ ] **3. `/bookmarks` page renders real data** after a sync — titles/tags
|
|
visible at `http://localhost:4321/bookmarks`.
|
|
- [ ] **4. Cron sync works** locally without errors (`0 */6 * * *` task in
|
|
`_emdash_cron_tasks`).
|
|
- [ ] **5. Deploy**: madmode to Workers `pnpm wrangler deploy`, secrets via
|
|
`wrangler secret put`; plugin "Sync now" against prod.
|
|
- [ ] **6. bib sync #195**: repeat the pattern for the next read-access need.
|
|
|
|
## Step 1 how-to: diigo-dump (session-cookie path)
|
|
|
|
```bash
|
|
cd diigo-dump
|
|
# .dev.vars: DIIGO_COOKIE="<paste Cookie header from diigo.com devtools>"
|
|
npx wrangler dev --port 8788 # → http://localhost:8788
|
|
wrangler restarts pick up .dev.vars edits only at startup
|
|
```
|
|
|
|
Enter a page number, click dump → status + `total` + JSON items. GET `/` is
|
|
inert (no accidental fetches); dumps happen only on POST submits. |