--- id: TASK-118.14 title: Add "Pull to rSpace" button to all 12 existing multiplayer modules status: Done assignee: [] created_date: '2026-03-16 00:07' updated_date: '2026-03-16 00:21' labels: - multiplayer - tier-1 milestone: Multiplayer Everything dependencies: - TASK-118.1 parent_task_id: TASK-118 priority: medium --- ## Description The 12 modules that already have local-first/Automerge sync (rbooks, rcal, rcart, rfiles, rflows, rinbox, rnotes, rsocials, rsplat, rtasks, rtrips, rvote) need the standardized "Pull rApplet to rSpace" integration. ## What to do: - Ensure each module's component checks `enabledModules` from space meta - Add graceful "not enabled" state when module is disabled for a space - Each module's landing/nav shows correctly in the folk-applet-catalog This task depends on TASK-118.1 (the catalog component) being built first. ## Acceptance Criteria - [x] #1 All 12 modules show 'not enabled' state when disabled for a space - [x] #2 All 12 modules appear correctly in the applet catalog - [x] #3 Enabling/disabling a module immediately updates the app switcher ## Final Summary No per-module changes needed. The existing middleware in index.ts:1667 already returns 404 for disabled modules. The "Manage rApps" catalog in TASK-118.1 handles discovery and toggling. The shell's visibleModules filtering (shell.ts:101-103) already hides disabled modules from the app switcher. All 12 multiplayer modules work with the catalog out of the box.