All updates
ProductionQAFrontend

Fix: Inbox "Open in new tab" now lands on the correct mail page

PR #475shoumikssahuOct 6, 2025 · 03:07 UTC
QAOct 3, 2025
ProductionOct 6, 2025

Executive summary

Opening a mail in a new tab from the inbox row menu now routes to the correct mail page (/mails/{id}) instead of a broken /inbox/{id} URL. This change has reached the QA environment for testing.

Why this was needed

The inbox row action menu opened mail in a new browser tab using a stale /inbox/{id} path. That route does not map to a mail view, so users opening a message in a new tab would land on an incorrect or non-functional page. The correct, supported route is /mails/{id}.

Client / user impact

Users who open an inbox message in a new tab now reliably reach that message's page. The fix also marks the mail as read before opening, preserving existing read-status behavior. No other inbox actions (Comments, Share via Email, Share within System, Archive, Delete) change behavior.

Technical scope

Single-file change in src/components/common/drawer-actions/inbox-actions.ts (the inbox row action definitions). Wraps feature PR #474.

  • Corrected the "open in new tab" target from window.open('/inbox/{id}') to window.open('/mails/{id}').
  • Tightened TypeScript types: replaced any with unknown on the InboxData index signature, the router/error params, and gave updateReadStatus an explicit signature ({ mail_id, status } plus onSuccess/onError options).
  • Marked unused data params in visible(...) predicates as _data to satisfy lint rules.
  • Added a JSDoc comment documenting getInboxActions.

Risk & mitigation

Low risk. The change is isolated to one inbox helper module with a +15/-9 diff; it is a route-string correction plus type/lint cleanup with no logic or data-flow changes. Main risk is that the new /mails/{id} route must exist and accept the same id; mitigated by QA verification before promotion to production.

QA validation focus

  • From the inbox, use the row action menu "open in new tab" and confirm it opens /mails/{id} and renders the correct message.
  • Confirm the message is marked as read when opened this way.
  • Verify the other row actions (Comments, Share via Email, Share within System, Archive, Delete) still appear only when applicable and behave as before.
  • Spot-check that no console errors appear on the inbox grid.