Files
discourse/plugins/chat/assets/javascripts/discourse/routes/chat-channel-from-params.js
Roman Rizzi 5c699e4384 DEV: Pass messageId as a dynamic segment instead of a query param (#20013)
* DEV: Rnemae channel path to just c

Also swap the channel id and channel slug params to be consistent with core.

* linting

* channel_path

* Drop slugify helper and channel route without slug

* Request slug and route models through the channel model if possible

* DEV: Pass messageId as a dynamic segment instead of a query param

* Ensure change is backwards-compatible

* drop query param from oneboxes

* Correctly extract channelId from routes

* Better route organization using siblings for regular and near-message

* Ensures sessions are unique even when using parallelism

* prevents didReceiveAttrs to clear input mid test

* we disable animations in capybara so sometimes the message was barely showing

* adds wait

* ensures finished loading

* is it causing more harm than good?

* this check is slowing things for no reason

* actually target the button

* more resilient select chat message

* apply similar fix to bookmark

* fix

---------

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2023-02-01 12:39:23 -03:00

19 lines
494 B
JavaScript

import DiscourseRoute from "discourse/routes/discourse";
import { inject as service } from "@ember/service";
export default class ChatChannelFromParamsRoute extends DiscourseRoute {
@service router;
async model() {
return this.modelFor("chat-channel");
}
afterModel(model) {
const { channelTitle } = this.paramsFor("chat.channel");
if (channelTitle !== model.slugifiedTitle) {
this.router.replaceWith("chat.channel.from-params", ...model.routeModels);
}
}
}