mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 16:14:02 +00:00
compose_state: Rename private_message_recipient to clarify it stores emails.
This will add clarity as we move towards using ids more and emails less.
This commit is contained in:
@@ -49,7 +49,9 @@ export const pm_recipient = {
|
||||
},
|
||||
|
||||
async expect(page: Page, expected: string): Promise<void> {
|
||||
const actual_recipients = await page.evaluate(() => zulip_test.private_message_recipient());
|
||||
const actual_recipients = await page.evaluate(() =>
|
||||
zulip_test.private_message_recipient_emails(),
|
||||
);
|
||||
assert.equal(actual_recipients, expected);
|
||||
},
|
||||
};
|
||||
|
@@ -93,7 +93,7 @@ export function create_message_object(message_content = compose_state.message_co
|
||||
|
||||
if (message.type === "private") {
|
||||
// TODO: this should be collapsed with the code in composebox_typeahead.ts
|
||||
const recipient = compose_state.private_message_recipient();
|
||||
const recipient = compose_state.private_message_recipient_emails();
|
||||
const emails = util.extract_pm_recipients(recipient);
|
||||
message.to = emails;
|
||||
message.reply_to = recipient;
|
||||
|
@@ -272,7 +272,8 @@ function same_recipient_as_before(opts: ComposeActionsOpts): boolean {
|
||||
opts.stream_id === compose_state.stream_id() &&
|
||||
opts.topic === compose_state.topic()) ||
|
||||
(opts.message_type === "private" &&
|
||||
opts.private_message_recipient === compose_state.private_message_recipient()))
|
||||
opts.private_message_recipient ===
|
||||
compose_state.private_message_recipient_emails()))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -361,7 +362,7 @@ export let start = (raw_opts: ComposeActionsStartOpts): void => {
|
||||
compose_recipient.update_topic_displayed_text(opts.topic);
|
||||
|
||||
// Set the recipients with a space after each comma, so it looks nice.
|
||||
compose_state.private_message_recipient(
|
||||
compose_state.private_message_recipient_emails(
|
||||
opts.private_message_recipient.replaceAll(/,\s*/g, ", "),
|
||||
);
|
||||
|
||||
|
@@ -34,7 +34,9 @@ export function set_focused_recipient(msg_type?: "private" | "stream"): void {
|
||||
} else if (msg_type === "private") {
|
||||
// Normalize the recipient list so it matches the one used when
|
||||
// adding the message (see message_helper.process_new_message()).
|
||||
const reply_to = util.normalize_recipients(compose_state.private_message_recipient());
|
||||
const reply_to = util.normalize_recipients(
|
||||
compose_state.private_message_recipient_emails(),
|
||||
);
|
||||
const to_user_ids = people.reply_to_to_user_ids_string(reply_to);
|
||||
focused_recipient = {
|
||||
type: msg_type,
|
||||
@@ -83,7 +85,7 @@ function fade_messages(): void {
|
||||
if (
|
||||
message_lists.current !== expected_msg_list ||
|
||||
!compose_state.composing() ||
|
||||
compose_state.private_message_recipient() !== expected_recipient
|
||||
compose_state.private_message_recipient_emails() !== expected_recipient
|
||||
) {
|
||||
return;
|
||||
}
|
||||
@@ -101,7 +103,7 @@ function fade_messages(): void {
|
||||
},
|
||||
0,
|
||||
message_lists.current,
|
||||
compose_state.private_message_recipient(),
|
||||
compose_state.private_message_recipient_emails(),
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -37,7 +37,7 @@ function composing_to_current_topic_narrow(): boolean {
|
||||
}
|
||||
|
||||
function composing_to_current_private_message_narrow(): boolean {
|
||||
const compose_state_recipient = compose_state.private_message_recipient();
|
||||
const compose_state_recipient = compose_state.private_message_recipient_emails();
|
||||
const narrow_state_recipient = narrow_state.pm_emails_string();
|
||||
if (narrow_state_recipient === undefined) {
|
||||
return false;
|
||||
@@ -72,7 +72,7 @@ export let update_narrow_to_recipient_visibility = (): void => {
|
||||
return;
|
||||
}
|
||||
} else if (message_type === "private") {
|
||||
const recipients = compose_state.private_message_recipient();
|
||||
const recipients = compose_state.private_message_recipient_emails();
|
||||
if (
|
||||
recipients &&
|
||||
!composing_to_current_private_message_narrow() &&
|
||||
@@ -152,7 +152,7 @@ function switch_message_type(message_type: MessageType): void {
|
||||
trigger: "switch_message_type",
|
||||
stream_id: compose_state.stream_id()!,
|
||||
topic: compose_state.topic(),
|
||||
private_message_recipient: compose_state.private_message_recipient(),
|
||||
private_message_recipient: compose_state.private_message_recipient_emails(),
|
||||
};
|
||||
update_compose_for_message_type(opts);
|
||||
update_compose_area_placeholder_text();
|
||||
@@ -287,7 +287,7 @@ function on_hidden_callback(): void {
|
||||
// after updating the stream.
|
||||
ui_util.place_caret_at_end(util.the($("input#stream_message_recipient_topic")));
|
||||
} else {
|
||||
if (compose_state.private_message_recipient().length === 0) {
|
||||
if (compose_state.private_message_recipient_emails().length === 0) {
|
||||
$("#private_message_recipient").trigger("focus").trigger("select");
|
||||
} else {
|
||||
$("textarea#compose-textarea").trigger("focus");
|
||||
|
@@ -215,7 +215,7 @@ export function focus_in_empty_compose(
|
||||
// Check whether the current input element is empty for each input type.
|
||||
switch (focused_element_id) {
|
||||
case "private_message_recipient":
|
||||
return private_message_recipient().length === 0;
|
||||
return private_message_recipient_emails().length === 0;
|
||||
case "stream_message_recipient_topic":
|
||||
return topic() === "";
|
||||
case "compose_select_recipient_widget_wrapper":
|
||||
@@ -225,9 +225,9 @@ export function focus_in_empty_compose(
|
||||
return false;
|
||||
}
|
||||
|
||||
export function private_message_recipient(): string;
|
||||
export function private_message_recipient(value: string): undefined;
|
||||
export function private_message_recipient(value?: string): string | undefined {
|
||||
export function private_message_recipient_emails(): string;
|
||||
export function private_message_recipient_emails(value: string): undefined;
|
||||
export function private_message_recipient_emails(value?: string): string | undefined {
|
||||
if (typeof value === "string") {
|
||||
compose_pm_pill.set_from_emails(value);
|
||||
return undefined;
|
||||
@@ -253,11 +253,11 @@ export function has_full_recipient(): boolean {
|
||||
const has_topic = topic() !== "" || !realm.realm_mandatory_topics;
|
||||
return stream_id() !== undefined && has_topic;
|
||||
}
|
||||
return private_message_recipient() !== "";
|
||||
return private_message_recipient_emails() !== "";
|
||||
}
|
||||
|
||||
export function update_email(user_id: number, new_email: string): void {
|
||||
let reply_to = private_message_recipient();
|
||||
let reply_to = private_message_recipient_emails();
|
||||
|
||||
if (!reply_to) {
|
||||
return;
|
||||
@@ -265,7 +265,7 @@ export function update_email(user_id: number, new_email: string): void {
|
||||
|
||||
reply_to = people.update_email_in_reply_to(reply_to, user_id, new_email);
|
||||
|
||||
private_message_recipient(reply_to);
|
||||
private_message_recipient_emails(reply_to);
|
||||
}
|
||||
|
||||
let _can_restore_drafts = true;
|
||||
|
@@ -904,7 +904,8 @@ function validate_private_message(show_banner = true): boolean {
|
||||
const user_ids = compose_pm_pill.get_user_ids();
|
||||
const user_ids_string = util.sorted_ids(user_ids).join(",");
|
||||
const $banner_container = $("#compose_banners");
|
||||
const missing_direct_message_recipient = compose_state.private_message_recipient().length === 0;
|
||||
const missing_direct_message_recipient =
|
||||
compose_state.private_message_recipient_emails().length === 0;
|
||||
|
||||
if (missing_direct_message_recipient) {
|
||||
report_validation_error(
|
||||
|
@@ -314,7 +314,7 @@ export function snapshot_message(): LocalStorageDraft | undefined {
|
||||
updatedAt: getTimestamp(),
|
||||
};
|
||||
if (message.type === "private") {
|
||||
const recipient = compose_state.private_message_recipient();
|
||||
const recipient = compose_state.private_message_recipient_emails();
|
||||
return {
|
||||
...message,
|
||||
type: "private",
|
||||
@@ -484,7 +484,7 @@ export function current_recipient_data(): {
|
||||
return {
|
||||
stream_name: undefined,
|
||||
topic: undefined,
|
||||
private_recipients: compose_state.private_message_recipient(),
|
||||
private_recipients: compose_state.private_message_recipient_emails(),
|
||||
};
|
||||
}
|
||||
return {
|
||||
|
@@ -1463,7 +1463,7 @@ export function to_compose_target(): void {
|
||||
}
|
||||
|
||||
if (compose_state.get_message_type() === "private") {
|
||||
const recipient_string = compose_state.private_message_recipient();
|
||||
const recipient_string = compose_state.private_message_recipient_emails();
|
||||
const emails = util.extract_pm_recipients(recipient_string);
|
||||
const invalid = emails.filter((email) => !people.is_valid_email_for_compose(email));
|
||||
// If there are no recipients or any recipient is
|
||||
|
@@ -69,7 +69,9 @@ function preserve_state(send_after_reload: boolean, save_compose: boolean): void
|
||||
url += "+topic=" + encodeURIComponent(compose_state.topic());
|
||||
} else if (msg_type === "private") {
|
||||
url += "+msg_type=private";
|
||||
url += "+recipient=" + encodeURIComponent(compose_state.private_message_recipient());
|
||||
url +=
|
||||
"+recipient=" +
|
||||
encodeURIComponent(compose_state.private_message_recipient_emails());
|
||||
}
|
||||
|
||||
if (msg_type) {
|
||||
|
@@ -3,7 +3,7 @@
|
||||
// Puppeteer tests. It should not be used in the code itself.
|
||||
|
||||
export {set_wildcard_mention_threshold, wildcard_mention_threshold} from "./compose_validate.ts";
|
||||
export {private_message_recipient} from "./compose_state.ts";
|
||||
export {private_message_recipient_emails} from "./compose_state.ts";
|
||||
export {current as current_msg_list} from "./message_lists.ts";
|
||||
export {get_stream_id, get_sub, get_subscriber_count} from "./stream_data.ts";
|
||||
export {get_by_user_id as get_person_by_user_id, get_user_id_from_name} from "./people.ts";
|
||||
|
@@ -109,7 +109,7 @@ function assert_hidden(sel) {
|
||||
assert.ok(!$(sel).visible());
|
||||
}
|
||||
|
||||
function override_private_message_recipient({override}) {
|
||||
function override_private_message_recipient_emails({override}) {
|
||||
let recipient;
|
||||
override(compose_pm_pill, "set_from_emails", (value) => {
|
||||
recipient = value;
|
||||
@@ -146,7 +146,7 @@ test("initial_state", () => {
|
||||
|
||||
test("start", ({override, override_rewire, mock_template}) => {
|
||||
mock_banners();
|
||||
override_private_message_recipient({override});
|
||||
override_private_message_recipient_emails({override});
|
||||
override_rewire(compose_actions, "autosize_message_content", noop);
|
||||
override_rewire(compose_actions, "expand_compose_box", noop);
|
||||
override_rewire(compose_actions, "complete_starting_tasks", noop);
|
||||
@@ -259,7 +259,7 @@ test("start", ({override, override_rewire, mock_template}) => {
|
||||
assert_hidden("input#stream_message_recipient_topic");
|
||||
assert_visible("#compose-direct-recipient");
|
||||
|
||||
assert.equal(compose_state.private_message_recipient(), "foo@example.com");
|
||||
assert.equal(compose_state.private_message_recipient_emails(), "foo@example.com");
|
||||
assert.equal($("textarea#compose-textarea").val(), "hello");
|
||||
assert.equal(compose_state.get_message_type(), "private");
|
||||
assert.ok(compose_state.composing());
|
||||
@@ -272,7 +272,7 @@ test("start", ({override, override_rewire, mock_template}) => {
|
||||
|
||||
start(opts);
|
||||
|
||||
assert.equal(compose_state.private_message_recipient(), "");
|
||||
assert.equal(compose_state.private_message_recipient_emails(), "");
|
||||
assert.equal(compose_state.get_message_type(), "private");
|
||||
assert.ok(compose_state.composing());
|
||||
|
||||
@@ -310,7 +310,7 @@ test("respond_to_message", ({override, override_rewire, mock_template}) => {
|
||||
|
||||
override_rewire(compose_recipient, "on_compose_select_recipient_update", noop);
|
||||
override_rewire(compose_recipient, "check_posting_policy_for_compose_box", noop);
|
||||
override_private_message_recipient({override});
|
||||
override_private_message_recipient_emails({override});
|
||||
mock_template("inline_decorated_channel_name.hbs", false, noop);
|
||||
|
||||
override(realm, "realm_direct_message_permission_group", nobody.id);
|
||||
@@ -336,7 +336,7 @@ test("respond_to_message", ({override, override_rewire, mock_template}) => {
|
||||
};
|
||||
|
||||
respond_to_message(opts);
|
||||
assert.equal(compose_state.private_message_recipient(), "alice@example.com");
|
||||
assert.equal(compose_state.private_message_recipient_emails(), "alice@example.com");
|
||||
|
||||
// Test stream
|
||||
const denmark = {
|
||||
@@ -373,7 +373,7 @@ test("reply_with_mention", ({override, override_rewire, mock_template}) => {
|
||||
$elem.set_find_results(".message-textarea", $textarea);
|
||||
$elem.set_find_results(".message-limit-indicator", $indicator);
|
||||
|
||||
override_private_message_recipient({override});
|
||||
override_private_message_recipient_emails({override});
|
||||
override_rewire(compose_recipient, "check_posting_policy_for_compose_box", noop);
|
||||
mock_template("inline_decorated_channel_name.hbs", false, noop);
|
||||
|
||||
@@ -448,7 +448,7 @@ test("quote_message", ({disallow, override, override_rewire}) => {
|
||||
|
||||
override_rewire(compose_actions, "complete_starting_tasks", noop);
|
||||
override_rewire(compose_actions, "clear_textarea", noop);
|
||||
override_private_message_recipient({override});
|
||||
override_private_message_recipient_emails({override});
|
||||
|
||||
let selected_message;
|
||||
override(message_lists.current, "get", (id) => (id === 100 ? selected_message : undefined));
|
||||
|
@@ -15,7 +15,7 @@ const {set_realm} = zrequire("state_data");
|
||||
const realm = {};
|
||||
set_realm(realm);
|
||||
|
||||
run_test("private_message_recipient", ({override}) => {
|
||||
run_test("private_message_recipient_emails", ({override}) => {
|
||||
let emails;
|
||||
override(compose_pm_pill, "set_from_emails", (value) => {
|
||||
emails = value;
|
||||
@@ -23,8 +23,8 @@ run_test("private_message_recipient", ({override}) => {
|
||||
|
||||
override(compose_pm_pill, "get_emails", () => emails);
|
||||
|
||||
compose_state.private_message_recipient("fred@fred.org");
|
||||
assert.equal(compose_state.private_message_recipient(), "fred@fred.org");
|
||||
compose_state.private_message_recipient_emails("fred@fred.org");
|
||||
assert.equal(compose_state.private_message_recipient_emails(), "fred@fred.org");
|
||||
});
|
||||
|
||||
run_test("has_full_recipient", ({override}) => {
|
||||
@@ -51,9 +51,9 @@ run_test("has_full_recipient", ({override}) => {
|
||||
assert.equal(compose_state.has_full_recipient(), true);
|
||||
|
||||
compose_state.set_message_type("private");
|
||||
compose_state.private_message_recipient("");
|
||||
compose_state.private_message_recipient_emails("");
|
||||
assert.equal(compose_state.has_full_recipient(), false);
|
||||
|
||||
compose_state.private_message_recipient("foo@zulip.com");
|
||||
compose_state.private_message_recipient_emails("foo@zulip.com");
|
||||
assert.equal(compose_state.has_full_recipient(), true);
|
||||
});
|
||||
|
@@ -229,7 +229,7 @@ test_ui("validate", ({mock_template, override}) => {
|
||||
|
||||
initialize_pm_pill(mock_template);
|
||||
add_content_to_compose_box();
|
||||
compose_state.private_message_recipient("");
|
||||
compose_state.private_message_recipient_emails("");
|
||||
let pm_recipient_error_rendered = false;
|
||||
override(realm, "realm_direct_message_permission_group", everyone.id);
|
||||
override(realm, "realm_direct_message_initiator_group", everyone.id);
|
||||
@@ -246,7 +246,7 @@ test_ui("validate", ({mock_template, override}) => {
|
||||
pm_recipient_error_rendered = false;
|
||||
|
||||
people.add_active_user(bob);
|
||||
compose_state.private_message_recipient("bob@example.com");
|
||||
compose_state.private_message_recipient_emails("bob@example.com");
|
||||
assert.ok(compose_validate.validate());
|
||||
assert.ok(!pm_recipient_error_rendered);
|
||||
|
||||
@@ -280,7 +280,7 @@ test_ui("validate", ({mock_template, override}) => {
|
||||
|
||||
initialize_pm_pill(mock_template);
|
||||
add_content_to_compose_box();
|
||||
compose_state.private_message_recipient("welcome-bot@example.com");
|
||||
compose_state.private_message_recipient_emails("welcome-bot@example.com");
|
||||
$("#send_message_form").set_find_results(".message-textarea", $("textarea#compose-textarea"));
|
||||
assert.ok(compose_validate.validate());
|
||||
|
||||
@@ -301,7 +301,7 @@ test_ui("validate", ({mock_template, override}) => {
|
||||
return "<banner-stub>";
|
||||
});
|
||||
initialize_pm_pill(mock_template);
|
||||
compose_state.private_message_recipient("welcome-bot@example.com");
|
||||
compose_state.private_message_recipient_emails("welcome-bot@example.com");
|
||||
$("textarea#compose-textarea").toggleClass = (classname, value) => {
|
||||
assert.equal(classname, "invalid");
|
||||
assert.equal(value, expected_invalid_state);
|
||||
@@ -851,7 +851,7 @@ test_ui("test_warn_if_guest_in_dm_recipient", ({mock_template, override}) => {
|
||||
|
||||
compose_state.set_message_type("private");
|
||||
initialize_pm_pill(mock_template);
|
||||
compose_state.private_message_recipient("guest@example.com");
|
||||
compose_state.private_message_recipient_emails("guest@example.com");
|
||||
const classname = compose_banner.CLASSNAMES.guest_in_dm_recipient_warning;
|
||||
let $banner = $(`#compose_banners .${CSS.escape(classname)}`);
|
||||
|
||||
@@ -883,7 +883,7 @@ test_ui("test_warn_if_guest_in_dm_recipient", ({mock_template, override}) => {
|
||||
people.add_active_user(new_guest);
|
||||
|
||||
initialize_pm_pill(mock_template);
|
||||
compose_state.private_message_recipient("guest@example.com, new_guest@example.com");
|
||||
compose_state.private_message_recipient_emails("guest@example.com, new_guest@example.com");
|
||||
$banner = $(`#compose_banners .${CSS.escape(classname)}`);
|
||||
$banner.length = 1;
|
||||
let is_updated = false;
|
||||
|
Reference in New Issue
Block a user