Skip to content

VOK-144 Attention deep links bypass the inbox route#156

Merged
rhymiz merged 1 commit into
mainfrom
lb/foreman/019dcc18-4d4a-7603-9fba-7edb622d6208
Apr 26, 2026
Merged

VOK-144 Attention deep links bypass the inbox route#156
rhymiz merged 1 commit into
mainfrom
lb/foreman/019dcc18-4d4a-7603-9fba-7edb622d6208

Conversation

@vkforeman
Copy link
Copy Markdown

@vkforeman vkforeman Bot commented Apr 26, 2026

Request

Prompt context:

<title>Attention deep links bypass the inbox route</title> ## Summary

Commit 8452116aef857a760540878779ba8071af9fec37 split notifications into a dedicated /workspace/inbox page, but attention deep links still send users to /workspace.

Concrete repo evidence

Commit:

  • 8452116aef857a760540878779ba8071af9fec37 added vertical left nav and fix structure of pages to match

New inbox route introduced in that commit:

  • foreman-desktop/src/app/workspace/inbox/page.tsx:7-15
  • The route is explicitly documented as: notification list with task detail, while main /workspace is tasks only.

Attention deep links still route to the tasks page instead of the inbox page:

  • foreman-desktop/src/features/deep-link/DeepLinkNavigator.tsx:29-30
  • foreman-desktop/src/features/workspace/components/WorkspaceShell.tsx:148-158

Those two call sites both push '/workspace' for attention payloads even after the dedicated inbox route exists.

Why this is likely a bug

The same changeset introduces a dedicated notifications surface but leaves both attention deep-link paths hardcoded to the tasks route. That means attention links opened from desktop/proxy flows cannot land on the page that now owns the notifications list.

User-visible impact

  • Opening an attention deep link lands on the tasks view instead of the notifications view.
  • The user misses the dedicated inbox context that the new nav split introduced.
  • Any workflow expecting attention links to open the notifications surface now behaves inconsistently with the route structure.

Minimal safe fix

  • Route attention deep links to /workspace/inbox in DeepLinkNavigator.
  • Route payload.kind === 'attention' to /workspace/inbox in WorkspaceShell after selecting the project/task.
  • Keep task deep links on /workspace.

Suggested regression coverage

Add desktop tests that distinguish task deep links from attention deep links so the two route targets cannot drift again.

Validation performed

  • cd foreman-desktop && bun run typecheck
  • cargo test -p foreman-proxy linear_connection_start_can_force_user_link_without_existing_workspace_install -- --nocapture
  • cargo test -p foreman-proxy linear_connection_callback_requires_connection_session_state -- --nocapture
  • cargo test -p foreman-server post_message_steers_active_engineer_turn_without_queueing_conversation -- --nocapture
  • cargo test -p foreman-server steer_active_turn_sends_input_to_registered_engineer_session -- --nocapture

I did not find an existing Linear duplicate for inbox/attention deep-link routing after searching:

  • "workspace/inbox" attention deep link notifications route
  • "workspace inbox" "deep link" notifications
  • "attention deep link" inbox notifications workspace
Bug

Linear issue VOK-144: Attention deep links bypass the inbox route
Issue URL: https://linear.app/vokality/issue/VOK-144/attention-deep-links-bypass-the-inbox-route
Team: Vokality
State: Todo
Labels: Bug

Summary

Commit 8452116aef857a760540878779ba8071af9fec37 split notifications into a dedicated /workspace/inbox page, but attention deep links still send users to /workspace.

Concrete repo evidence

Commit:

  • 8452116aef857a760540878779ba8071af9fec37 added vertical left nav and fix structure of pages to match

New inbox route introduced in that commit:

  • foreman-desktop/src/app/workspace/inbox/page.tsx:7-15
  • The route is explicitly documented as: notification list with task detail, while main /workspace is tasks only.

Attention deep links still route to the tasks page instead of the inbox page:

  • foreman-desktop/src/features/deep-link/DeepLinkNavigator.tsx:29-30
  • foreman-desktop/src/features/workspace/components/WorkspaceShell.tsx:148-158

Those two call sites both push '/workspace' for attention payloads even after the dedicated inbox route exists.

Why this is likely a bug

The same changeset introduces a dedicated notifications surface but leaves both attention deep-link paths hardcoded to the tasks route. That means attention links opened from desktop/proxy flows cannot land on the page that now owns the notifications list.

User-visible impact

  • Opening an attention deep link lands on the tasks view instead of the notifications view.
  • The user misses the dedicated inbox context that the new nav split introduced.
  • Any workflow expecting attention links to open the notifications surface now behaves inconsistently with the route structure.

Minimal safe fix

  • Route attention deep links to /workspace/inbox in DeepLinkNavigator.
  • Route payload.kind === 'attention' to /workspace/inbox in WorkspaceShell after selecting the project/task.
  • Keep task deep links on /workspace.

Suggested regression coverage

Add desktop tests that distinguish task deep links from attention deep links so the two route targets cannot drift again.

Validation performed

  • cd foreman-desktop && bun run typecheck
  • cargo test -p foreman-proxy linear_connection_start_can_force_user_link_without_existing_workspace_install -- --nocapture
  • cargo test -p foreman-proxy linear_connection_callback_requires_connection_session_state -- --nocapture
  • cargo test -p foreman-server post_message_steers_active_engineer_turn_without_queueing_conversation -- --nocapture
  • cargo test -p foreman-server steer_active_turn_sends_input_to_registered_engineer_session -- --nocapture

I did not find an existing Linear duplicate for inbox/attention deep-link routing after searching:

  • "workspace/inbox" attention deep link notifications route
  • "workspace inbox" "deep link" notifications
  • "attention deep link" inbox notifications workspace

Session comment:
This thread is for an agent session with foreman.

Summary

Routed attention deep links to /workspace/inbox and added startup/workspace regression tests

Checks

  • foreman-server-format: passed (exit status 0)
  • foreman-server-checks: passed (exit status 0)
  • foreman-server-tests: passed (exit status 0)

Foreman Metadata

  • Task ID: 019dcc18-4d4a-7603-9fba-7edb622d6208
  • Delivery ID: 019dcc1a-0377-7b00-9554-9044d60d87f6
  • Run ID: 019dcc1a-0202-7961-8c18-dc81ad50a2bf
  • Attempt: 1
  • Branch: lb/foreman/019dcc18-4d4a-7603-9fba-7edb622d6208

@vkforeman vkforeman Bot requested review from foreman-vk and rhymiz as code owners April 26, 2026 23:33
@rhymiz rhymiz merged commit 62ff84d into main Apr 26, 2026
2 checks passed
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