fix(notifications): a confirm names its user and channel again; t() and a notice's text are kept apart by a contract

The value sweep wrapped two plain t() values in raw(), so the delete-user and the YouTube subscribe
confirms read "[object Object]" where the email or the channel was. tsc cannot see that seam, so a
syntax contract now refuses a notice value handed to t() and an already-said text kept in a notice.
The raw() doc says what it is: text kept as fetched (a Plex title in the language it was fetched in).
seasonTitleText's no-number branches are tested.
This commit is contained in:
2026-10-30 01:54:00 +01:00
parent 046dde44a4
commit 2bdcebdb34
7 changed files with 180 additions and 7 deletions
@@ -54,7 +54,7 @@ export function useWatchedChannelActions(onOpenWizard: () => void) {
const onSubscribe = async (c: WatchedChannel): Promise<boolean> => {
const ok = await confirm({
title: t("channels.discovery.subscribe"),
message: t("channels.discovery.confirmSubscribe", { name: raw(nameOf(c)) }),
message: t("channels.discovery.confirmSubscribe", { name: nameOf(c) }),
confirmLabel: t("channels.discovery.subscribe"),
});
if (ok) subscribe.mutate(c);