FIX: nullify active channel only when not on a chat channel (#19319)

This would nullify the active channel when going from channel settings page to the channel.
This commit is contained in:
Joffrey JAFFEUX 2022-12-05 22:42:35 +01:00 committed by GitHub
parent 04acee5de3
commit 1d42cc94a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 5 deletions

View File

@ -36,10 +36,7 @@ export default class ChatRoute extends DiscourseRoute {
transition.abort();
let URL = transition.intent.url;
if (
transition.targetName === "chat.channel.index" ||
transition.targetName === "chat.channel"
) {
if (transition.targetName.startsWith("chat.channel")) {
URL ??= this.router.urlFor(
transition.targetName,
...transition.intent.contexts
@ -75,7 +72,9 @@ export default class ChatRoute extends DiscourseRoute {
@action
willTransition(transition) {
this.chat.setActiveChannel(null);
if (!transition?.to?.name?.startsWith("chat.channel")) {
this.chat.setActiveChannel(null);
}
if (!transition?.to?.name?.startsWith("chat.")) {
this.chatStateManager.storeChatURL();

View File

@ -278,6 +278,14 @@ RSpec.describe "Navigation", type: :system, js: true do
end
end
context "when going back to channel from channel settings in full page" do
it "activates the channel in the sidebar" do
visit("/chat/channel/#{category_channel.id}/#{category_channel.slug}/info/settings")
find(".chat-full-page-header__back-btn").click
expect(page).to have_content(message.message)
end
end
context "when clicking logo from a channel in full page" do
it "deactivates the channel in the sidebar" do
visit("/chat/channel/#{category_channel.id}/#{category_channel.slug}")