hero_collab: Slack feature parity — depends on hero_proxy auth (home#118) #119

Open
opened 2026-04-14 12:22:57 +00:00 by sameh-farouk · 0 comments
Member

Summary

hero_collab is being built as a Slack alternative for the Hero OS ecosystem. A comprehensive feature gap analysis, Slack-to-collab feature map, and 7-phase implementation plan has been created and verified against actual code.

Full plan and progress: lhumina_code/hero_collab#9

Current status

Phase 0 (bug fixes) — Complete, pushed to development

  • Fixed reaction toggle bug (added atomic message.toggle_react RPC)
  • Wired attachment button with compose-with-files flow (pending uploads, workspace-scoped paths, 25MB limit)
  • Updated OpenRPC spec (65 methods)
  • Fixed WebSocket base-path prefix in chat.html

Phase 1 (auth) — Starting

Depends on home#118 (Move authentication to hero_proxy). hero_collab's auth approach:

  1. Read X-Hero-User / X-Hero-Context / X-Hero-Claims headers injected by hero_proxy
  2. Map X-Hero-User to a local collab user (via external_id column, auto-create on first visit)
  3. Inject as caller_id to activate existing permission system
  4. Call hero_proxy users.list RPC for invite/member dropdowns
  5. COLLAB_AUTH_MODE=proxy|dev feature flag for safe rollback

This aligns with home#118's model where hero_proxy is the single edge-auth surface and downstream services trust injected headers.

Known issue

WebSocket connects (101 via curl) but browser sees immediate disconnect. hero_router has WS tunnel support (commit d1632cd) and the handshake succeeds, but the connection drops. Does not block RPC-based features.

Remaining phases

  • Phase 2: Chat UI completion (unread counts, typing, presence, inline edit)
  • Phase 3: Search, notifications, pins, channel browse
  • Phase 4: Canvases & document editor
  • Phase 5: Voice/video huddles (optional)
  • Phase 6: Hardening, load testing, monitoring
  • hero_collab#9 — Full implementation plan with Slack feature map
  • home#118 — Move authentication to hero_proxy (auth architecture hero_collab depends on)
  • hero_proxy#8 — Auth gateway implementation (OAuth enforcement, identity injection)
  • hero_proxy#23 — Context injection from authenticated user (closed, implemented)
## Summary hero_collab is being built as a Slack alternative for the Hero OS ecosystem. A comprehensive feature gap analysis, Slack-to-collab feature map, and 7-phase implementation plan has been created and verified against actual code. **Full plan and progress:** https://forge.ourworld.tf/lhumina_code/hero_collab/issues/9 ## Current status ### Phase 0 (bug fixes) — Complete, pushed to development - Fixed reaction toggle bug (added atomic `message.toggle_react` RPC) - Wired attachment button with compose-with-files flow (pending uploads, workspace-scoped paths, 25MB limit) - Updated OpenRPC spec (65 methods) - Fixed WebSocket base-path prefix in chat.html ### Phase 1 (auth) — Starting Depends on **home#118** (Move authentication to hero_proxy). hero_collab's auth approach: 1. Read `X-Hero-User` / `X-Hero-Context` / `X-Hero-Claims` headers injected by hero_proxy 2. Map `X-Hero-User` to a local collab user (via `external_id` column, auto-create on first visit) 3. Inject as `caller_id` to activate existing permission system 4. Call hero_proxy `users.list` RPC for invite/member dropdowns 5. `COLLAB_AUTH_MODE=proxy|dev` feature flag for safe rollback This aligns with home#118's model where hero_proxy is the single edge-auth surface and downstream services trust injected headers. ### Known issue WebSocket connects (101 via curl) but browser sees immediate disconnect. hero_router has WS tunnel support (commit d1632cd) and the handshake succeeds, but the connection drops. Does not block RPC-based features. ## Remaining phases - Phase 2: Chat UI completion (unread counts, typing, presence, inline edit) - Phase 3: Search, notifications, pins, channel browse - Phase 4: Canvases & document editor - Phase 5: Voice/video huddles (optional) - Phase 6: Hardening, load testing, monitoring ## Related issues - **hero_collab#9** — Full implementation plan with Slack feature map - **home#118** — Move authentication to hero_proxy (auth architecture hero_collab depends on) - **hero_proxy#8** — Auth gateway implementation (OAuth enforcement, identity injection) - **hero_proxy#23** — Context injection from authenticated user (closed, implemented)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/home#119
No description provided.