DEV: Include deprecation link in warning banner (#25839)

This commit is contained in:
David Taylor 2024-02-23 14:28:23 +00:00 committed by GitHub
parent 1ac8922013
commit 20a36f0b8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 9 deletions

View File

@ -58,10 +58,10 @@ export default class DeprecationWarningHandler extends Service {
return;
}
this.maybeNotifyAdmin(opts.id, source);
this.maybeNotifyAdmin(opts, source);
}
maybeNotifyAdmin(id, source) {
maybeNotifyAdmin(opts, source) {
if (this.#adminWarned) {
return;
}
@ -74,17 +74,26 @@ export default class DeprecationWarningHandler extends Service {
return;
}
if (CRITICAL_DEPRECATIONS.some((pattern) => pattern.test(id))) {
this.notifyAdmin(id, source);
if (CRITICAL_DEPRECATIONS.some((pattern) => pattern.test(opts.id))) {
this.notifyAdmin(opts, source);
}
}
notifyAdmin(id, source) {
notifyAdmin({ id, url }, source) {
this.#adminWarned = true;
let notice = I18n.t("critical_deprecation.notice", {
id: escapeExpression(id),
});
let notice = I18n.t("critical_deprecation.notice") + " ";
if (url) {
notice += I18n.t("critical_deprecation.linked_id", {
id: escapeExpression(id),
url: escapeExpression(url),
});
} else {
notice += I18n.t("critical_deprecation.id", {
id: escapeExpression(id),
});
}
if (this.siteSettings.warn_critical_js_deprecations_message) {
notice += " " + this.siteSettings.warn_critical_js_deprecations_message;

View File

@ -226,7 +226,9 @@ en:
broken_plugin_alert: "Caused by plugin '%{name}'"
critical_deprecation:
notice: "<b>[Admin Notice]</b> One of your themes or plugins needs updating for compatibility with upcoming Discourse core changes (id:<em>%{id}</em>)."
notice: "<b>[Admin Notice]</b> One of your themes or plugins needs updating for compatibility with upcoming Discourse core changes."
id: "(id:<em>%{id}</em>)"
linked_id: "(id:<a href='%{url}' target='_blank'><em>%{id}</em></a>)"
theme_source: "Identified theme: <a target='_blank' href='%{path}'>'%{name}'</a>."
plugin_source: "Identified plugin: '%{name}'"