- Add /meeting-intelligence route with aggregate knowledge (action items,
decisions, topics) and space-scoped meeting cards
- Add Meeting Intelligence link to hub page and in-room MI dropdown
- Prefix Jitsi room names with space slug for conference_id scoping
- Add shareaudio and meetingintelligence to embed toolbar buttons
- Recordings route now filters by conference_prefix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 2-3 of the rNotes/rDocs split. Rewrites rNotes from a full TipTap
editor (~1800 lines) into a lightweight Obsidian/Logseq vault sync and
browse module (~560 lines). Rich editing features remain in rDocs.
rNotes vault browser:
- VaultDoc schema: metadata-only in Automerge (title, tags, hash, wikilinks)
- ZIP vault uploads stored on disk at /data/files/uploads/vaults/
- File tree browser, search, read-only markdown preview
- Wikilink graph data endpoint for visualization
- 5 MCP tools: list_vaults, browse_vault, search_vault, get_vault_note, sync_status
- Browser extension compat shim redirects old API calls to rDocs
Cleanup:
- Removed dead editor files from rnotes (converters, components, local-first-client)
- Updated MI integration to use getRecentVaultNotesForMI
- Updated ONTOLOGY.md with new module descriptions
- Bumped JS cache versions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds ViewHistory integration to 9 additional modules (rtime, rswag, rwallet,
rbnb, rvnb, rnetwork, crowdsurf, rtube, rflows-mortgage), bringing the total
to 17 modules. Browser back now navigates within the current rApp tab before
falling through to tab switching.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
FreeCAD, KiCad, and Blender shapes were permanently disabling the
generate button when their sidecar containers were stopped. Since these
are on-demand sidecars that start via ensureSidecar() when generate is
clicked, the health check should not disable the button.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New folk-makereal shape converts hand-drawn wireframes into functional
HTML/CSS using Gemini Flash 2.5 vision. Drawing canvas + live iframe
preview with framework selector (HTML/Tailwind/React), code view toggle,
and copy/open-tab actions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements $1 Unistroke Recognizer for detecting circles, rectangles,
triangles, lines, arrows, and checkmarks from freehand strokes. Detected
gestures are converted to clean geometric shapes with a confidence badge.
Fixes applyData() to restore strokes, prompt text, and generated images
from Automerge sync data, enabling collaborative drawing across clients.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Split layout: drawing canvas (left) + AI result (right)
- Prompt input with Generate button using /api/image-gen/img2img
- Auto-generate toggle: debounced generation after each stroke
- Provider selector (fal.ai / Gemini) and strength slider
- Loading spinner overlay with shimmer animation
- Image preloading before display for smooth transitions
- Port descriptors for folk-arrow connections (prompt, sketch, image)
- Wider default size (700x520) for split view
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The rsheet→rsheets rename was partially applied - server/index.ts
imported rsheets/mod but the files still lived at rsheet/. This
caused a crash on startup: "Cannot find module '../modules/rsheets/mod'".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds Figma-style threaded comment markers anchored to data-collab-id
elements across all module pages. Comments stored in per-space Automerge
doc, synced via existing local-first stack. Bell is now context-aware
(canvas pins on canvas, module pins on module pages). Notifications
route through existing WS/push/email system with new module_comment
and module_mention event types.
New files: module-comment-types, module-comment-schemas,
rstack-module-comments component. Updated: shell, comment bell,
notification routes. Added data-collab-id to crowdsurf, rtime, rmeets.
Fixed pre-existing SKILL_LABELS import error in rtime/mod.ts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These schemas are imported by the MCP tool files and module mod.ts
but were never committed, causing a crash on deploy.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add interactive concentric zone visualization showing Personal (encrypted/local),
Permissioned, and Public data membranes. Drag-and-drop objects between zones
triggers permission change confirmations. Mobile-optimized with tap-to-select,
responsive node sizing, and scroll prevention.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add interactive concentric zone visualization showing Personal (encrypted/local),
Permissioned, and Public data membranes. Drag-and-drop objects between zones
triggers permission change confirmations. Mobile-optimized with tap-to-select,
responsive node sizing, and scroll prevention.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds a ✕ button next to the + tab button that closes all open rApp tabs
and returns to the user dashboard. Shows a confirm() prompt with tab count
before proceeding.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Broadcasts in-app, push, and email notifications to all space members
when a comment pin is created or replied to. @mentioned users get their
specific mention notification instead (no double-notify). Fixes pre-existing
TS error in rtasks local-first-client (missing dueDate default).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a small bug icon (bottom-right) that opens a modal to collect
errors, device info, comments, and optional screenshots, then emails
the report to jeff@jeffemmett.com via the existing SMTP transport.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The oven/bun:1-slim image lacks system CA certs, causing TLS verification
failures on outbound HTTPS for link-preview. Also implements the
/api/design-agent SSE endpoint — Gemini Flash tool loop driving the
Scribus bridge for DTP layout generation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The collab overlay was running a 5s setInterval GC timer on every page
load even with zero peers. Now the timer starts only when the first
peer arrives and stops when all peers are garbage collected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
HMAC-signed stateless tokens let external respondents vote on rChoices
polls or RSVP to rCal events via a single tap — no account required.
Routes mounted at /respond/:token bypass space auth. Typed EventAttendee
schema replaces unknown[] on CalendarEvent.attendees. Invite endpoints
on both modules generate tokens and optionally send email invitations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When 3+ events land on the same day in month view, individual event
labels collapse into spatial summary chips showing where the user
needs to be (e.g. "Berlin 3", "Amsterdam 2"). Chip granularity
auto-adapts: city → country → continent as location diversity grows.
Virtual events shown separately. ≤2 events still show full labels.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Docker Engine 29.0.4 on Netcup requires minimum API version 1.44,
causing all sidecar starts (Blender, FreeCAD, KiCad, Ollama) to fail
with "client version 1.43 is too old".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>