Skip to content

Webview: Slack full end-to-end parity with the native app #1016

Description

@graycyrus

Summary

Ensure the Slack webview (https://app.slack.com/client/) works identically to the native Slack desktop app: login, messaging, channels, threads, reactions, Huddles (voice/video), file sharing, native OS notifications, and continuous memory ingestion.

Problem

While Slack is a CDP-migrated provider (Network MITM + IDB + DOM snapshot scanner), there are gaps versus the native app experience: Huddle popup whitelisting needs verification under all edge cases, and end-to-end coverage of all Slack features has not been formally validated.

Solution

Validate and fix every Slack feature path. The scanner (slack_scanner/) uses CDP exclusively (zero JS injection). IDB scan interval is 30s. Messages are grouped by (channel_id, day) and upserted via openhuman.memory_doc_ingest.

Acceptance criteria

  • Auth — Google SSO, email/password, SAML SSO all complete without manual intervention; session persists across app restarts
  • Messaging — Send and receive messages in channels, DMs, and group DMs; threads render and are navigable
  • Reactions & emoji — Emoji picker opens, reactions post correctly
  • File sharing — Upload and download files; image previews render inline
  • Huddles — Huddle popup spawns correctly (about:blank → huddle URL whitelisted); audio/video functional; Huddle end cleans up popup
  • Notifications — Native OS notifications fire for new messages; respect per-channel mute settings; DND honored; notification_settings toggle works
  • Memory ingestion — IDB scanner extracts messages, users, channels, workspace name; memory_doc_ingest posts land in core; messages grouped by (channel_id, day)
  • DOM snapshot — dom_snapshot.rs fast-tick captures unread badges and channel list accurately
  • Multi-workspace — Switching workspaces within the same webview works; scanner tracks correct team_id
  • Session persistence — Tab switch away and back preserves warm session; no re-auth required
  • Search — Slack's built-in search functional within the webview
  • Navigation — External links open in system browser; internal links stay in webview; allowed hosts (slack.com, slack-edge.com, slack-imgs.com, slack-files.com) all resolve

Known issues / limitations

  • Huddle popup handling uses about:blank whitelisting which may break if Slack changes their popup flow
  • Scanner can be force-disabled via OPENHUMAN_DISABLE_SLACK_SCANNER=1 env var (dev escape hatch)
  • IDB scan interval is 30s — messages within that window may be delayed vs native push

Related

  • Scanner: app/src-tauri/src/slack_scanner/ (mod.rs, idb.rs, extract.rs, dom_snapshot.rs)
  • Huddle popup logic: app/src-tauri/src/webview_accounts/mod.rs
  • Manifest: app/src-tauri/recipes/slack/manifest.json

Activity

  1. moved this from Todo to In progress in Team Openhumanon Apr 29, 2026
  2. moved this from In progress to Done in Team Openhumanon Apr 30, 2026
  3. moved this from Done to In review in Team Openhumanon Apr 30, 2026
  4. graycyrus commented on Apr 30, 2026

    @graycyrus
    ContributorAuthor

    @oxoxDev will close after testing is done

  5. 2 remaining items

  6. changed the title [-][Feature] Webview: Slack full end-to-end parity with the native app[/-] [+]Webview: Slack full end-to-end parity with the native app[/+] on May 3, 2026
  7. added theissue type on May 3, 2026
  8. added
    featureNet-new user-facing capability or product behavior.
    tauri-shellDesktop host work in app/src-tauri: windowing, relay, sidecar lifecycle.
    notificationsIn-app, native, and webview notification flows.
    and removed on May 3, 2026
  9. oxoxDev commented on May 5, 2026

    @oxoxDev
    Member

    The huddle issue resolved in #1079.

  10. moved this from In review to Done in Team Openhumanon May 6, 2026
  11. closed this as completedby moving to Done in Team Openhumanon May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureNet-new user-facing capability or product behavior.notificationsIn-app, native, and webview notification flows.tauri-shellDesktop host work in app/src-tauri: windowing, relay, sidecar lifecycle.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions