Merge branch 'dev'
This commit is contained in:
commit
bedc5652dc
|
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
id: TASK-79
|
||||
title: Fix guardian invitation acceptance — server-initiated WebAuthn flow
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-03-03 00:56'
|
||||
labels:
|
||||
- bugfix
|
||||
- encryptid
|
||||
- webauthn
|
||||
dependencies: []
|
||||
priority: high
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Guardian invitation acceptance and auth.rspace.online login were broken. The guardian page and main login page used the client-side SDK's `authenticatePasskey()`/`registerPasskey()` which generate their own challenge, then tried to send `result.challenge` and `result.credential` to the server — but `AuthenticationResult` doesn't have those properties (both undefined). The postgres driver threw `UNDEFINED_VALUE` on `getChallenge(undefined)`, resulting in a raw 500 "Internal Server Error" that the client couldn't parse as JSON.
|
||||
|
||||
Fixed by replacing with the proper server-initiated flow (matching rstack-identity.ts): `/api/auth/start` → WebAuthn → `/api/auth/complete`, and same for registration. Also fixed Dockerfile.encryptid to include `shared/local-first/` in the build context (needed by login-button.ts importing encryptid-bridge).
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [ ] #1 Guardian invitation acceptance completes without JSON parse error
|
||||
- [ ] #2 auth.rspace.online login/register works with server-initiated WebAuthn
|
||||
- [ ] #3 Dockerfile.encryptid builds successfully with shared/local-first context
|
||||
<!-- AC:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
Fixed 500 error on guardian invitation acceptance caused by client sending `undefined` challenge/credential to server.
|
||||
|
||||
**Root cause:** Guardian page and auth.rspace.online login used client-side SDK functions (`authenticatePasskey()`/`registerPasskey()`) which return `AuthenticationResult` — but code referenced `.challenge` and `.credential` properties that don't exist on that type. Both were `undefined`, causing postgres `UNDEFINED_VALUE` error → 500 plain text → client JSON parse failure.
|
||||
|
||||
**Fix:** Replaced with server-initiated WebAuthn flow matching `rstack-identity.ts`:
|
||||
1. `POST /api/auth/start` → get server challenge
|
||||
2. `navigator.credentials.get()` with that challenge
|
||||
3. `POST /api/auth/complete` with `{ challenge, credential: { credentialId } }`
|
||||
|
||||
Also fixed `Dockerfile.encryptid` to COPY `shared/local-first/` (needed by `login-button.ts` → `encryptid-bridge.ts`).
|
||||
|
||||
Commits: 88118cd (WebAuthn flow), 4dd212e (Dockerfile fix). Both rspace-online and encryptid containers rebuilt and deployed.
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
id: TASK-80
|
||||
title: People online panel — live peer presence on canvas
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-03-03 00:57'
|
||||
labels:
|
||||
- feature
|
||||
- canvas
|
||||
- presence
|
||||
dependencies: []
|
||||
priority: medium
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Add real-time people online panel to the canvas showing who's currently viewing the same space. Includes peer announcements, join/leave broadcasts, avatar dots badge, expandable panel, and ping-user relay for "come here" notifications.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [ ] #1 People online badge shows in canvas with colored dots
|
||||
- [ ] #2 Panel expands showing usernames and avatars
|
||||
- [ ] #3 Peer join/leave events broadcast in real-time
|
||||
- [ ] #4 Ping button relays viewport coordinates to target peer
|
||||
<!-- AC:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
Committed pre-existing people online feature:
|
||||
|
||||
- **community-sync.ts**: Re-announce on reconnect, handle peer-list/joined/left/ping-user events, `setAnnounceData()` API
|
||||
- **presence.ts**: Export `peerIdToColor` helper
|
||||
- **server/index.ts**: Track `peerAnnouncements` map, broadcast peer-joined/left, relay ping-user to target
|
||||
- **canvas.html**: People online badge (bottom-right), expandable panel with avatar dots and ping button
|
||||
|
||||
Commit: 5ee59f8. Deployed to production.
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
id: TASK-81
|
||||
title: 'rStack.online landing page — ontology, branding, and OSS logos'
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-03-03 02:10'
|
||||
updated_date: '2026-03-03 02:10'
|
||||
labels:
|
||||
- rstack-online
|
||||
- branding
|
||||
- documentation
|
||||
dependencies: []
|
||||
references:
|
||||
- 'https://rstack.online'
|
||||
- 'https://github.com/rspace-online/rspace-online/blob/main/ONTOLOGY.md'
|
||||
priority: medium
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Major update to the rstack.online landing page to align with the new ONTOLOGY.md three-layer architecture model and establish consistent branding across all rApps and open source dependencies.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 Architecture section reflects 3-layer ontology (rApps → rSpace → rStack)
|
||||
- [x] #2 Hero subtitle uses ontology framing
|
||||
- [x] #3 x402 micropayments and Gnosis Safe added to value architecture section
|
||||
- [x] #4 Tech references updated: Y.js→Automerge, tldraw→FolkJS, ERC-4337→Gnosis Safe
|
||||
- [x] #5 EncryptID flow diagram shows full HKDF key hierarchy
|
||||
- [x] #6 Link to full ONTOLOGY.md on GitHub
|
||||
- [x] #7 All 22 rApp cards use branded badge icons (rS, rN, rV, etc.) with emoji after name
|
||||
- [x] #8 All 7 demo cards use branded badge variant
|
||||
- [x] #9 13 OSS tool cards have actual SVG/PNG logos from official sources
|
||||
- [x] #10 All 13 OSS tool cards are clickable links to repos/websites
|
||||
- [x] #11 rIDs renamed to rIdentity across the site
|
||||
- [x] #12 Nav header shows [rS] badge + (you)rStack branding
|
||||
- [x] #13 Browser tab title is clean 'rStack' without (you) prefix
|
||||
<!-- AC:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
## Summary
|
||||
|
||||
Comprehensive update to rstack.online across 8 commits:
|
||||
|
||||
### Architecture & Content (from ONTOLOGY.md)
|
||||
- Rewrote architecture section from 4 generic layers to the ontology's 3-tier model (rStack Foundation / rSpace Platform / rApps)
|
||||
- Updated hero subtitle: "composable, local-first platform for collaborative knowledge work, democratic governance, and programmable economic flows"
|
||||
- Added x402 micropayments as lead card in value architecture, Gnosis Safe treasury, governance tokens, rollup strategy
|
||||
- Replaced EncryptID flow diagram with precise HKDF key hierarchy (passkey → PRF → HKDF → AES-256-GCM / Ed25519 / ECDSA P-256 / secp256k1)
|
||||
- Updated all tech references: Y.js→Automerge, tldraw→FolkJS, ERC-4337→Gnosis Safe, Hono→Hono+x402
|
||||
- Added link to full ontology doc on GitHub
|
||||
|
||||
### Branding & Icons
|
||||
- 22 app cards: replaced emoji icons with branded badge abbreviations (rS on teal, rN on amber, etc.) matching app-switcher palette, with emoji retained after name for visual scanning
|
||||
- 7 demo cards: same badge treatment at larger 56x56 size
|
||||
- 13 OSS tool cards: added actual project logos (10 from Simple Icons CDN, Automerge brandmark SVG, Safe white SVG, FolkJS PNG)
|
||||
- All 13 OSS cards now clickable links to official repos/websites
|
||||
- Renamed rIDs → rIdentity across all 5 occurrences
|
||||
- Nav header: [rS] teal badge + "(you)rStack" with dimmed pun
|
||||
- Browser tab: clean "rStack — Open-Source Community Infrastructure"
|
||||
|
||||
### Commits
|
||||
- `257a1b2` feat: update landing page with ontology-derived architecture info
|
||||
- `a796bb4` feat: branded badge icons for all rApps and OSS tool logos
|
||||
- `723d674` feat: use actual SVG/PNG logos for OSS tools section
|
||||
- `584b3fc` feat: add emoji indicators next to rApp names in card headers
|
||||
- `676c118` brand: rename rIDs → rIdentity across the site
|
||||
- `df2de33` feat: make OSS tool cards clickable links to repos/websites
|
||||
- `087e60d` brand: update nav header to show [rS] badge + "rStack" text
|
||||
- `e547783` brand: add (you)rStack branding to nav header
|
||||
- `b6d464d` brand: remove (you) from browser tab title
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
Loading…
Reference in New Issue