gitoriaLog in with ident

gitoria

All repositories: gitoria

ReadmeCodePull requestsReleasesTicketsSettings
Commit4f47843e4f47843egate: ticket links use the tickets short URL (/<slug>/<n>, tickets#25)mre4f47843e/missions/001-gitoria-revendor-and-webex-routes.md

3.3 KB

  1. # Mission 001 (old 033) — gitoria: re-vendor Hybriel from master, then real hl:webex repo pages (gitoria#16)
  2. Tickets: https://tickets.worldapi.org/projects/gitoria.worldapi.org/16 (read it fully) · hybriel#74 (the `host` member).
  3. The creator is waiting: "gitoria still loads wrong".
  4. ## Step 1 — re-vendor Hybriel from master
  5. - Source: `loreana:/media/STORAGE/projects/hybriel` (Anton's repo, branch master). **Do not touch that repo**: no
  6. checkout, no build, no git writes in it — Anton works there. Export read-only: `git -C … archive master | tar -x -C
  7. <your scratch dir>` and build there. Find out from its README/STATUS/tools how the `hybriel` binary is built and
  8. how apps vendor `bin/hybriel` + `plugins/`.
  9. - Target: `loreana:/media/STORAGE/projects/gitoria.worldapi.org` — replace `bin/hybriel` and the plugins it uses
  10. (core crypto data fetch fs http http1 mpackdb proc time web webex). Back up the old `bin/` and `plugins/` in
  11. `.scratch/pre-033/` first.
  12. - Local patches in the old copy (`grep -rn "LOCAL PATCH" plugins`): drop each one that master now has upstream
  13. (XSS seed escaping hybriel#34, var() tokens hybriel#39); KEEP and re-apply what master lacks — at least the session
  14. cookie Domain patch in `plugins/webex/sessions.hl` (one login across <slug>.gitoria…). Check each by testing.
  15. - hl:webex may be renamed to hl:web on master (hybriel#45): follow master, change gitoria's imports if needed.
  16. - Remove gitoria workarounds master makes unnecessary where it is simple and gated (see
  17. `/CONTAINERS/projects/antcolony/STATUS.md` "Re-vendor" list); don't start unrelated refactors.
  18. - The gate `node tests/browser.mjs` must pass before step 2.
  19. ## Step 2 — gitoria#16
  20. Every repo view (Readme, Code, Branch, Commit, Tickets, Pull requests, Releases) is its own hl:webex page component on
  21. its own route, rendered on the SERVER with its content, reading the repo from `host = null` (hybriel#74). Navigation
  22. inside a repo goes through hl:webex (no full reload, no "Loading…"). Delete `host.js` and its polling, the hidden
  23. #hostslug input, and the hand-built HTML pages (`htmlPage` in project.hl) → components. The main address keeps the
  24. repo list. Login button's `?next=` and the identity selector (login.js, gitoria#14) must keep working.
  25. If hl:webex lacks something: STOP that part and write it down (it becomes a hybriel ticket) — no new workaround.
  26. ## Rules and tests
  27. - ssh loreana (user mre, fish → wrap in `bash -c`). No git in app folders. Never read/print `.env`. Do NOT deploy.
  28. - Hybriel pitfalls: `/CONTAINERS/projects/antcolony/docs/hybriel-for-app-workers.md`.
  29. - Ports: 8710-8739 for anything you start. Leave no Chrome/servers running.
  30. - Gate (real Chrome, `tests/browser.mjs`), add checks: `curl` of `<repo>/code` (Host header) contains the file list in
  31. the first HTML and no "Loading…"; in Chrome, click Readme → Code → Releases: no full page load (a window marker
  32. survives), address bar follows, content right; direct load of every view; unknown repo → "No such repository";
  33. login + selector still pass. All existing checks keep passing (update ones that tested host.js behaviour).
  34. - Update gitoria README (how it works, test section), STATUS.md.
  35. ## Report back
  36. Step 1: hybriel master commit used, how built, which patches dropped/kept, gate count. Step 2: files changed, gate
  37. count, new checks, anything stopped for hl:webex.

Branches

Latest commits

  • 4f47843egate: ticket links use the tickets short URL (/<slug>/<n>, tickets#25)mre
  • 86605446mission 002 (code order) 4/4: README file map + import order + 'Same output' test + gate run with a tickets HEAD copy, STATUS (entry, lessons), LOG, report; tests/realdata-baseline.mjs + realdata-compare.py (a cleanup answers the same on live data: pages, modules, API, git over HTTPS and SSH, faces), tests/letcount.pymre
  • cc7bf7bamission 002 (code order) 3/4: let only where a variable is reassigned or re-bound in a loop body (289 lets → plain declarations; 213 left: 125 reassigned, 88 loop-bound; no member/import/param clash). gates 200/0, 46/0, 44/0; real-data reads + writes identical (browser modules: var → const only)mre
  • 090a20c6mission 002 (code order) 2/4: one lib/ file per topic — git.hl split into git (calls, branches, init, temp folder) / homepage / code / pulls / releases (+ git-helpers: paths, ids, |||PR/|||RL markers); repos-helpers, tickets-helpers, transport-helpers; util.hl = localtime + env, storage dir, addresses, lists, text checks, one newest-first sort (was 3 copies); the function routes out of project.hl into lib/api.hl (thin; plumbing in api-helpers.hl), sshgate.hl folded into api.hl + sshkeys.hl keyLine + repos.hl mayPush; 'Make main' and the merge answer out of the faces (code.hl makeMain, pulls.hl pullsView), one login helper (users.hl userOfLoginCode); project.hl is the map. Session-writing routes get &req + &server.sessions. gates 200/0, 46/0, 44/0; real-data identical except /login/failed now shows the parked reason for a browser that already had a session (the old copy-of-req lost it)mre
  • 110c2799mission 002 (code order) 1/4: .hl files out of the root — lib/ (api, git, localtime, markdown, repos, sshgate, sshkeys, tickets, tokens, transport, users), components/styles.hl; jsoncheck.hl removed (imported nowhere); import paths only. gates 200/0, 46/0, 44/0; real-data reads + writes identicalmre
  • fdfb4b1bgitoria: Hybriel master 06617221 (plugin allocators 3a781359 + 413f60e4, mpackdb 2cb7ae5e, http1 773de63e); gates 200/0, 46/0, 44/0mre
  • 5b46ac84antcolony#40: LOG.md — missions 069/072 are antcolony missions (report paths on Byrodin)mre
  • 5602ff41gitoria: Hybriel master 190aa11d (fc838894 GC correctness, #127 mountKids by reference, #126, #48) — tracker README flat; gates 200/0, 46/0, 44/0mre
  • e85eaf01gitoria: 069 round 2 — hybriel 1a096ad3 not adopted (Markdown SSR still grows); browser gate waits for the server-side logout before restartmre
  • 09ce4f3fgitoria: mission 069 re-vendor hybriel 8efba065 stopped (big SSR pages grow + slow down); lambda audit clean; old vendor keptmre
  • 3dc43108antcolony#40: mission references point to the moved missionsmre
  • 8d9450fdantcolony#40: history (LOG.md), worker briefs (missions/) and reports moved here from antcolony, numbered per project; old numbers in antcolony docs/mission-map.mdmre
  • 205d5fe4gitoria: Hybriel master ff51cf46; ssh keys/tokens no double rows (session sync); gates follow #20mre
  • 9b27cb26gitoria#21: installable app (manifest, service worker, offline start page), own iconmre
  • 68dcb603deploy.sh: back up live storage/.sessions/.env before every deploy (newest 5 kept)mre
  • e2deed6dgitoria#20: "Add code" only on the Code page of an empty repository, no collapsiblemre
  • 8bb97ffddeploy.sh: never send .git or .gitignore to Byrodinmre
  • fd981932State of 2026-09-27; bin/ no longer tracked (Hybriel commit is in README)mre
  • 4a2d7125initial commitmre