* 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>
28 lines
772 B
JavaScript
28 lines
772 B
JavaScript
import DiscourseRoute from "discourse/routes/discourse";
|
|
import { ajax } from "discourse/lib/ajax";
|
|
import { defaultHomepage } from "discourse/lib/utilities";
|
|
import { inject as service } from "@ember/service";
|
|
|
|
export default class ChatMessageRoute extends DiscourseRoute {
|
|
@service chat;
|
|
|
|
async model(params) {
|
|
return ajax(`/chat/message/${params.messageId}.json`)
|
|
.then((response) => {
|
|
this.transitionTo(
|
|
"chat.channel.near-message",
|
|
response.chat_channel_title,
|
|
response.chat_channel_id,
|
|
params.messageId
|
|
);
|
|
})
|
|
.catch(() => this.replaceWith("/404"));
|
|
}
|
|
|
|
beforeModel() {
|
|
if (!this.chat.userCanChat) {
|
|
return this.transitionTo(`discovery.${defaultHomepage()}`);
|
|
}
|
|
}
|
|
}
|