@bongos/core 1.21.68 → 1.21.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.bongos-core.json +36 -36
  2. package/.claude/skills/bongos-feedback/SKILL.md +10 -46
  3. package/clients/bongos-client/README.md +1 -1
  4. package/clients/bongos-client/bongos-client.global.js +6 -2
  5. package/clients/bongos-client/index.cjs +6 -2
  6. package/clients/bongos-client/index.d.ts +10 -3
  7. package/clients/bongos-client/index.mjs +6 -2
  8. package/docs/api/openapi.json +151 -15
  9. package/docs/api-reference.md +6 -4
  10. package/docs/copy-inventory.md +371 -366
  11. package/docs/copy-registry.json +457 -412
  12. package/docs/module-api-changelog.md +4 -0
  13. package/docs/page-inventory.json +2 -1
  14. package/docs/page-readings.json +718 -714
  15. package/modules/platform-identity/instance-feedback.js +108 -7
  16. package/modules/platform-identity/routes/sso.js +71 -0
  17. package/modules/public-landing/public/account.html +88 -1
  18. package/modules/public-landing/public/account.probes.json +9 -0
  19. package/modules/public-landing/public/account.states.json +2 -1
  20. package/modules/public-landing/public/assets/cosmos.css +3 -0
  21. package/modules/public-landing/public/projects.html +14 -81
  22. package/package-lock.json +2 -2
  23. package/package.json +1 -1
  24. package/release-notes.json +11 -0
  25. package/scripts/gds/feedback-send.js +144 -71
  26. package/src/bongos/platform-visibility-gate.js +3 -0
  27. package/src/bongos/routes/feedback.js +91 -77
  28. package/src/module-api.js +1 -1
  29. package/tests/card_apply_ui.mjs +0 -1
  30. package/tests/hub_account_page.mjs +132 -6
  31. package/tests/instance_feedback.mjs +267 -68
  32. package/tests/public_landing_projects.mjs +12 -13
@@ -515,24 +515,23 @@ test('a stamped asset still serves — the query string is not part of the filen
515
515
  assert.match(res.body, /\.shell\{/, 'and it must be the real stylesheet');
516
516
  });
517
517
 
518
- // ── #view-mine: invitations, projects-you-build-on, join-by-URL (task 1003774) ──
518
+ // ── #view-mine: the ways to /invitations and /account ──────────────────────────
519
519
  // The hall's my-projects page was deleted in task 1003308 on the owner's own
520
- // decision that this is a hub surface; these three reads/actions were left with
521
- // nowhere to live until now. loadMemberships() already fetched GET /my-projects
522
- // for the map's Apply button (R10, task 1002286) — this just renders the rest
523
- // of what that same read carries, plus the separate invites list.
524
- // The invitations and the join-by-address field moved to their own page with task
525
- // 1004276 (the owner's call, ADR 0337 D5); tests/hub_invitations_page.mjs holds that
526
- // page as served. What stays here: building-on with Leave, and a door to the page.
527
- test('#view-mine keeps building-on with Leave, and points at /invitations for the invitations and the join field', async () => {
520
+ // decision that this is a hub surface, and task 1003774 brought its lists here.
521
+ // They have since moved on: the invitations and the join-by-address field to their
522
+ // own page (task 1004276, ADR 0337 D5; tests/hub_invitations_page.mjs), and the
523
+ // projects you build on, with Leave, to /account (task 1004277;
524
+ // tests/hub_account_page.mjs). What stays here: a door to each, and the map card's
525
+ // Apply, which still posts the join relay.
526
+ test('#view-mine points at /invitations and /account, and keeps neither list', async () => {
528
527
  const { body } = await request('/projects', 'game.test.local');
529
- assert.match(body, /id="buildingList"/);
530
- assert.match(body, /\/my-projects\/'\s*\+\s*encodeURIComponent/, 'Leave must address the project by its own client id');
531
- for (const gone of ['invitesList', 'guildInviteList', 'engageList', 'guildRequestList', 'joinOrigin', 'joinNote', 'joinBtn', 'mineInvites']) {
532
- assert.doesNotMatch(body, new RegExp(`id="${gone}"`), `#${gone} moved to /invitations`);
528
+ for (const gone of ['buildingList', 'buildingEmpty', 'invitesList', 'guildInviteList', 'engageList', 'guildRequestList', 'joinOrigin', 'joinNote', 'joinBtn', 'mineInvites']) {
529
+ assert.doesNotMatch(body, new RegExp(`id="${gone}"`), `#${gone} moved off this page`);
533
530
  }
534
531
  assert.doesNotMatch(body, /\/my-projects\/invites/, 'the invitations are read on their own page now');
532
+ assert.doesNotMatch(body, /\/my-projects\/'\s*\+\s*encodeURIComponent/, 'and Leave is the account page’s');
535
533
  assert.match(body, /<h2 id="mineToInvitesH">Invitations<\/h2>\s*<p class="lede">[^<]*<a href="\/invitations">Open your invitations<\/a><\/p>/, 'the mine view says where they went');
534
+ assert.match(body, /<h2 id="mineToAccountH">Projects you build on<\/h2>\s*<p class="lede">[^<]*<a href="\/account#aBuilding">Open your account<\/a><\/p>/);
536
535
  assert.match(body, /\/my-projects\/join/, 'the map card’s Apply to join still posts the join relay');
537
536
  });
538
537