Skip to content

feat: editable shared lists, domain proxying, VC provenance#136

Merged
brianorwhatever merged 1 commit intofeat/did-resource-sharingfrom
feat/did-sharing-v2
Feb 19, 2026
Merged

feat: editable shared lists, domain proxying, VC provenance#136
brianorwhatever merged 1 commit intofeat/did-resource-sharingfrom
feat/did-sharing-v2

Conversation

@krusty-agent
Copy link
Copy Markdown
Collaborator

Builds on PR #135 with the three follow-up items.

1. Domain Proxying (server.ts)

Replaces bunx serve dist -s with a Bun server that:

  • Proxies /user-*/did.jsonl and /user-*/resources/* to the Convex HTTP backend
  • Serves static files from dist/ with proper cache headers
  • SPA fallback for all other routes

This means trypoo.app/user-abc123/did.jsonl now resolves correctly without needing Cloudflare Workers or hosting rewrites.

Railway config updated: bun run server.ts instead of bunx serve dist -s

2. Editable Shared Lists

Anyone with a shared list link can now:

  • ✅ Check/uncheck items (optimistic UI)
  • ✅ Add new items
  • 🔄 Auto-refresh every 5s for real-time sync

New Convex mutations:

  • checkSharedItem / uncheckSharedItem — toggle item status
  • addSharedItem — add items to shared lists

New HTTP routes:

  • POST /{userPath}/resources/list-{id}/items — add item
  • POST /{userPath}/resources/list-{id}/items/{itemId}/check — check
  • POST /{userPath}/resources/list-{id}/items/{itemId}/uncheck — uncheck

3. VC Provenance

  • ListPublished VC issued when sharing a list (stored in publications.credential)
  • ItemCreated and ItemCompleted VC helpers ready (src/lib/credentials.ts)
  • VCs are unsigned for now — signing with the user's did:webvh key is next
  • Schema updated: publications table has new credential field

Still needed

  • VC signing with user's Ed25519 key
  • Rate limiting on public mutation endpoints
  • Convex real-time subscriptions for shared views (currently polling)

1. Domain proxying (server.ts):
   - Replace 'bunx serve' with Bun server that proxies
     /user-*/did.jsonl and /user-*/resources/* to Convex
   - Static file serving with proper caching for dist/
   - SPA fallback for all other routes

2. Editable shared lists:
   - Check/uncheck items via POST .../items/{id}/check|uncheck
   - Add items via POST .../items with {name} body
   - Optimistic UI updates + 5s polling for real-time sync
   - SharedListResource component now interactive with add input

3. VC provenance:
   - ListPublished VC issued when sharing a list
   - VC stored in publications table (credential field)
   - ItemCreated/ItemCompleted VC helpers ready for use
   - Unsigned VCs for now — signing integration next
@brianorwhatever brianorwhatever merged commit 2ee32fa into feat/did-resource-sharing Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants