discourse/plugins/chat/test/javascripts/unit/services
Régis Hanol b9e762981a
FIX: Chat back button loses starred context after drawer reopen (#40219)
When the chat drawer is closed and reopened on a starred channel, the
back button took the user to the default channels list instead of the
starred-channels list they had originally come from.

Root cause: `chatHistory.visit(route)` always appended to history. When
the drawer reopens to `lastKnownChatURL` (the channel itself), the same
route is appended a second time, shifting `previousRoute` off the
original `chat.starred-channels` entry. The back-button fallback in
`drawer-routes/channel.gjs` then routed to `chat.channels`.

Fix: dedupe consecutive identical route visits in `chatHistory.visit` by
comparing name and params (via `deepEqual`). Reopening to the same URL
no longer clobbers the user's real navigation context.

Adds a unit test for the dedup behavior, a system spec covering the
close/reopen scenario, and a view-agnostic `open_channel_row` helper on
the drawer page object (the existing `open_channel` is scoped to the
channels-list view only and doesn't work from the starred view).

https://meta.discourse.org/t/403431
2026-05-21 17:55:46 +02:00
..
chat-channel-info-route-origin-manager-test.js DEV: Remove plugin names from test titles (#39418) 2026-04-21 19:19:52 +02:00
chat-channels-manager-test.js DEV: Remove plugin names from test titles (#39418) 2026-04-21 19:19:52 +02:00
chat-drafts-manager-test.js DEV: Remove plugin names from test titles (#39418) 2026-04-21 19:19:52 +02:00
chat-drawer-size-test.js DEV: Remove plugin names from test titles (#39418) 2026-04-21 19:19:52 +02:00
chat-guardian-test.js DEV: Remove plugin names from test titles (#39418) 2026-04-21 19:19:52 +02:00
chat-history-test.js FIX: Chat back button loses starred context after drawer reopen (#40219) 2026-05-21 17:55:46 +02:00
chat-state-manager-test.js DEV: Remove plugin names from test titles (#39418) 2026-04-21 19:19:52 +02:00
chat-test.js DEV: Remove obsolete chat code and tests (#39451) 2026-04-22 21:33:17 +02:00