notes
All repositories: gitoria
4.4 KB
# STATUS — notes.worldapi.org## 2026-09-26 — mission 039: ident#23 short ids — switch tool + gate, NOT deployed`users.hl`: the exchange answer is checked with the new `isIdentId` (lower-case letters/digits, 1–64) instead of`isHex(…, 64)`, which refused ident#23's short ids (`a68sz`) — without it nobody could log in after the switch (shown ontickets, whose code mission 039 could not change). New `tools/migrate-short-ids.hl` (users.identity old → short id viaident `POST /api/migrate-ids`, idempotent, never `finish`, prints `users seen / mapped / already short / unmapped /conflicts / failed`, key/secret from env only; non-zero exit on refusal/failed write/conflict). New gate`node tests/short-id-switch.mjs` (ports 8720/8721; old ident `ident.worldapi.org/.scratch/pre-023-ident` → data → copies →new ident → control copy = NEW empty user → tool twice → same user + same data, old session too): **18 passed, 0 failed**.`tests/browser.mjs` (ident#23 in the folder, ports 8730-8739): 42 passed, 0 failed. Docker proof of the runbook command(fake .env, copy): `.scratch/m039-docker-proof.sh`.Runbook (architect, one go for all four apps): Loreana `antcolony-docs/docs/short-id-switch.md`. Deploy this code BEFOREident#23 (accepts old ids too). Not deployed.## 2026-09-26 — mission 037: re-vendored Hybriel master e6720b1f`bin/hybriel` + `plugins/` = hybriel master e6720b1f (includes #103/#104, #105 f15a2f7f, #106, #94 c12065d8); old copy(13ef4f9b) in `.scratch/pre-037/`. No local patch, no app change. Gate `node tests/browser.mjs`: 42 passed, 0 failed.Dev server (`~/scratch-037/hashcheck.sh notes.worldapi.org NOTES /`, port 8720): `hl-runtime.js`, `web/client.js`, `app.css`all `?v=39f4c3bb5bd56621` (immutable), bare app.css no-cache, 0 unhashed refs. Not deployed.## 2026-09-25 — mission 035: re-vendored Hybriel master 13ef4f9b`bin/hybriel` + `plugins/` from hybriel master 13ef4f9b (old copy `.scratch/pre-035/`). No local patch existed.Gate (`NOTES_GATE_PORT=8720 NOTES_GATE_IDENT_PORT=8721 NOTES_GATE_CHROME=8722-8729 node tests/browser.mjs`): 42 passed,0 failed before, on 9d608332 (2 runs) and on 13ef4f9b. Dev server: `/__hl/app.css?v=<hash>`, `hl-runtime.js?v=`,`web/client.js?v=` (immutable); bare `/__hl/app.css` → no-cache. sw.js caches by full URL, so `?v=` needs no change.Not deployed (architect).## Ticket notes#1 — notes with a sidebar and the Markdown editor (2026-09-25) — built, not deployedBuilt: ident login (button + selector), sidebar by subject / last edited first, note on the right in `<md-editor>`,New note, Delete note (with a question), live sidebar across tabs, phone layout (list, then note), storage in`storage/mpackdb/`. `node tests/browser.mjs`: 33 checks green (own ident copy, real Chrome, 390 and 1280 pxscreenshots in `.scratch/gate-*.png`) — login, create, heading via "# ", edit moves to top, second tab follows,reload and server restart keep everything, another user sees nothing and cannot save/delete, size limit,delete with "Keep", phone and desktop layout, logout. `./deploy.sh --dry-run --skip-tests --target <dir>` shows aclean file list (no storage, no `.env`).Not done / next: the first deploy is the architect's (README "First deploy"). Not built because the concept does not ask: JSON / Markdown API, search,folders, display names.## Ticket notes#2 — notes offline, synced when back online (2026-09-25) — built, not deployedBuilt: the notes area is now client-side (`notes-offline.js`): IndexedDB copy per user, edits written there first, sentto `/api/notes`, pulled every 10 s / on online / on tab focus; `sw.js` keeps the page so a reload works offline; a notemade offline gets its server id at the first push; conflicts: later edit wins, the other version is kept as a copy;deletes are tombstones; log out sends the unsent and wipes the browser copy. The old hl faces for save/create/deleteand the `notesChanged` push are gone (old components in `.scratch/old/`). `node tests/browser.mjs`: 42 checks green —real Chrome, the server really stopped for "offline" (reload, edit, new note offline; back online → server and seconddevice; two devices editing one note → copy; delete; other user; phone/desktop; log out wipes).Not done: the service worker needs https (worldapi.org has it); no update-available prompt; Back button does not stepthrough notes (replaceState); a note is compared by its edit time from the device's clock (large clock skew can makethe "wrong" version the copy — nothing is lost).
Branches
- mainmain branch
Latest commits
- c8904061State of 2026-09-27, before the move to gitoriamre