From 6036dc981223b7a7f7aff90c056c9c01280c3c3f Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Fri, 18 Jul 2025 18:14:12 -0700 Subject: [PATCH] subscribers: Use _html in content inserted as HTML. This makes it easier for maintainers to verify that code using `{{{` is already rendered HTML, intended for insertion into the DOM. --- web/src/stream_edit_subscribers.ts | 18 ++++---- web/src/user_group_edit_members.ts | 42 ++++++++++--------- .../stream_subscription_request_result.hbs | 6 +-- .../user_group_membership_request_result.hbs | 16 +++---- 4 files changed, 42 insertions(+), 40 deletions(-) diff --git a/web/src/stream_edit_subscribers.ts b/web/src/stream_edit_subscribers.ts index ec19cee8db..4c459ae303 100644 --- a/web/src/stream_edit_subscribers.ts +++ b/web/src/stream_edit_subscribers.ts @@ -75,9 +75,9 @@ function generate_subscribe_success_messages( already_subscribed_users: User[], ignored_deactivated_users: User[], ): { - subscribed_users_message: string; - already_subscribed_users_message: string; - ignored_deactivated_users_message: string; + subscribed_users_message_html: string; + already_subscribed_users_message_html: string; + ignored_deactivated_users_message_html: string; } { const subscribed_user_links = subscribed_users.map( (user) => @@ -92,22 +92,22 @@ function generate_subscribe_success_messages( `${Handlebars.Utils.escapeExpression(user.full_name)}`, ); - const subscribed_users_message = util.format_array_as_list_with_conjunction( + const subscribed_users_message_html = util.format_array_as_list_with_conjunction( subscribed_user_links, "long", ); - const already_subscribed_users_message = util.format_array_as_list_with_conjunction( + const already_subscribed_users_message_html = util.format_array_as_list_with_conjunction( already_subscribed_user_links, "long", ); - const ignored_deactivated_users_message = util.format_array_as_list_with_conjunction( + const ignored_deactivated_users_message_html = util.format_array_as_list_with_conjunction( ignored_deactivated_user_links, "long", ); return { - subscribed_users_message, - already_subscribed_users_message, - ignored_deactivated_users_message, + subscribed_users_message_html, + already_subscribed_users_message_html, + ignored_deactivated_users_message_html, }; } diff --git a/web/src/user_group_edit_members.ts b/web/src/user_group_edit_members.ts index 0200835232..9b053a875a 100644 --- a/web/src/user_group_edit_members.ts +++ b/web/src/user_group_edit_members.ts @@ -181,12 +181,12 @@ export function rerender_members_list({ }); } -function generate_group_link(group: UserGroup): string { +function generate_group_link_html(group: UserGroup): string { const group_name = user_groups.get_display_group_name(group.name); return `${Handlebars.Utils.escapeExpression(group_name)}`; } -function generate_user_link(user: User): string { +function generate_user_link_html(user: User): string { return `${Handlebars.Utils.escapeExpression(user.full_name)}`; } @@ -198,41 +198,43 @@ function generate_members_added_success_messages( ignored_deactivated_groups: UserGroup[], ignored_deactivated_users: User[], ): { - newly_added_members_message: string; - already_added_members_message: string; - ignored_deactivated_users_message: string; - ignored_deactivated_groups_message: string; + newly_added_members_message_html: string; + already_added_members_message_html: string; + ignored_deactivated_users_message_html: string; + ignored_deactivated_groups_message_html: string; } { - const new_user_links = newly_added_users.map((user) => generate_user_link(user)); - const new_group_links = newly_added_subgroups.map((group) => generate_group_link(group)); - const old_user_links = already_added_users.map((user) => generate_user_link(user)); - const old_group_links = already_added_subgroups.map((group) => generate_group_link(group)); + const new_user_links = newly_added_users.map((user) => generate_user_link_html(user)); + const new_group_links = newly_added_subgroups.map((group) => generate_group_link_html(group)); + const old_user_links = already_added_users.map((user) => generate_user_link_html(user)); + const old_group_links = already_added_subgroups.map((group) => generate_group_link_html(group)); const ignored_group_links = ignored_deactivated_groups.map((group) => - generate_group_link(group), + generate_group_link_html(group), + ); + const ignored_user_links = ignored_deactivated_users.map((user) => + generate_user_link_html(user), ); - const ignored_user_links = ignored_deactivated_users.map((user) => generate_user_link(user)); - const newly_added_members_message = util.format_array_as_list_with_conjunction( + const newly_added_members_message_html = util.format_array_as_list_with_conjunction( [...new_user_links, ...new_group_links], "long", ); - const already_added_members_message = util.format_array_as_list_with_conjunction( + const already_added_members_message_html = util.format_array_as_list_with_conjunction( [...old_user_links, ...old_group_links], "long", ); - const ignored_deactivated_users_message = util.format_array_as_list_with_conjunction( + const ignored_deactivated_users_message_html = util.format_array_as_list_with_conjunction( ignored_user_links, "long", ); - const ignored_deactivated_groups_message = util.format_array_as_list_with_conjunction( + const ignored_deactivated_groups_message_html = util.format_array_as_list_with_conjunction( ignored_group_links, "long", ); return { - newly_added_members_message, - already_added_members_message, - ignored_deactivated_users_message, - ignored_deactivated_groups_message, + newly_added_members_message_html, + already_added_members_message_html, + ignored_deactivated_users_message_html, + ignored_deactivated_groups_message_html, }; } diff --git a/web/templates/stream_settings/stream_subscription_request_result.hbs b/web/templates/stream_settings/stream_subscription_request_result.hbs index 0567bd11c8..9afd72e209 100644 --- a/web/templates/stream_settings/stream_subscription_request_result.hbs +++ b/web/templates/stream_settings/stream_subscription_request_result.hbs @@ -17,13 +17,13 @@ {{else}} {{#if (not is_total_subscriber_more_than_five) }} {{#if subscribed_users}} - {{t "Subscribed:" }} {{{subscribe_success_messages.subscribed_users_message}}}. + {{t "Subscribed:" }} {{{subscribe_success_messages.subscribed_users_message_html}}}. {{/if}} {{#if already_subscribed_users}} - {{t "Already a subscriber:" }} {{{subscribe_success_messages.already_subscribed_users_message}}}. + {{t "Already a subscriber:" }} {{{subscribe_success_messages.already_subscribed_users_message_html}}}. {{/if}} {{#if ignored_deactivated_users}} - {{t "Ignored deactivated users:" }} {{{subscribe_success_messages.ignored_deactivated_users_message}}}. + {{t "Ignored deactivated users:" }} {{{subscribe_success_messages.ignored_deactivated_users_message_html}}}. {{/if}} {{else}} {{#if subscribed_users}} diff --git a/web/templates/user_group_settings/user_group_membership_request_result.hbs b/web/templates/user_group_settings/user_group_membership_request_result.hbs index 75789965bb..35a0d45507 100644 --- a/web/templates/user_group_settings/user_group_membership_request_result.hbs +++ b/web/templates/user_group_settings/user_group_membership_request_result.hbs @@ -20,17 +20,17 @@ {{/if}} {{else}} {{#if (not total_member_count_exceeds_five)}} - {{#if addition_success_messages.newly_added_members_message}} - {{t "Added:" }} {{{addition_success_messages.newly_added_members_message}}}.  + {{#if addition_success_messages.newly_added_members_message_html}} + {{t "Added:" }} {{{addition_success_messages.newly_added_members_message_html}}}.  {{/if}} - {{#if addition_success_messages.already_added_members_message}} - {{t "Already a member:"}} {{{addition_success_messages.already_added_members_message}}}. + {{#if addition_success_messages.already_added_members_message_html}} + {{t "Already a member:"}} {{{addition_success_messages.already_added_members_message_html}}}. {{/if}} - {{#if addition_success_messages.ignored_deactivated_users_message}} - {{t "Ignored deactivated users:"}} {{{addition_success_messages.ignored_deactivated_users_message}}}. + {{#if addition_success_messages.ignored_deactivated_users_message_html}} + {{t "Ignored deactivated users:"}} {{{addition_success_messages.ignored_deactivated_users_message_html}}}. {{/if}} - {{#if addition_success_messages.ignored_deactivated_groups_message}} - {{t "Ignored deactivated groups:"}} {{{addition_success_messages.ignored_deactivated_groups_message}}}. + {{#if addition_success_messages.ignored_deactivated_groups_message_html}} + {{t "Ignored deactivated groups:"}} {{{addition_success_messages.ignored_deactivated_groups_message_html}}}. {{/if}} {{else}} {{#if newly_added_member_count}}