timerender: Reword user activity info from "Last active:" to "Active".

Fixes #22758.
This commit is contained in:
Ujjawal Modi 2023-04-07 21:54:15 +05:30 committed by GitHub
parent 9ccc45b700
commit 915084fe82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 40 deletions

View File

@ -108,10 +108,9 @@ export function user_last_seen_time_status(user_id) {
} }
const last_active_date = presence.last_active_date(user_id); const last_active_date = presence.last_active_date(user_id);
let last_seen;
if (page_params.realm_is_zephyr_mirror_realm) { if (page_params.realm_is_zephyr_mirror_realm) {
// We don't send presence data to clients in Zephyr mirroring realms // We don't send presence data to clients in Zephyr mirroring realms
last_seen = $t({defaultMessage: "Unknown"}); return $t({defaultMessage: "Activity unknown"});
} else if (last_active_date === undefined) { } else if (last_active_date === undefined) {
// There are situations where the client has incomplete presence // There are situations where the client has incomplete presence
// history on a user. This can happen when users are deactivated, // history on a user. This can happen when users are deactivated,
@ -120,11 +119,9 @@ export function user_last_seen_time_status(user_id) {
// //
// We give this vague status for such users; we will get to // We give this vague status for such users; we will get to
// delete this code when we finish rewriting the presence API. // delete this code when we finish rewriting the presence API.
last_seen = $t({defaultMessage: "More than 2 weeks ago"}); return $t({defaultMessage: "Active more than 2 weeks ago"});
} else {
last_seen = timerender.last_seen_status_from_date(last_active_date);
} }
return $t({defaultMessage: "Last active: {last_seen}"}, {last_seen}); return timerender.last_seen_status_from_date(last_active_date);
} }
export function info_for(user_id) { export function info_for(user_id) {

View File

@ -194,10 +194,10 @@ export function last_seen_status_from_date(
): string { ): string {
const minutes = differenceInMinutes(current_date, last_active_date); const minutes = differenceInMinutes(current_date, last_active_date);
if (minutes <= 2) { if (minutes <= 2) {
return $t({defaultMessage: "Just now"}); return $t({defaultMessage: "Active just now"});
} }
if (minutes < 60) { if (minutes < 60) {
return $t({defaultMessage: "{minutes} minutes ago"}, {minutes}); return $t({defaultMessage: "Active {minutes} minutes ago"}, {minutes});
} }
const days_old = differenceInCalendarDays(current_date, last_active_date); const days_old = differenceInCalendarDays(current_date, last_active_date);
@ -205,17 +205,17 @@ export function last_seen_status_from_date(
if (hours < 24) { if (hours < 24) {
if (hours === 1) { if (hours === 1) {
return $t({defaultMessage: "An hour ago"}); return $t({defaultMessage: "Active an hour ago"});
} }
return $t({defaultMessage: "{hours} hours ago"}, {hours}); return $t({defaultMessage: "Active {hours} hours ago"}, {hours});
} }
if (days_old === 1) { if (days_old === 1) {
return $t({defaultMessage: "Yesterday"}); return $t({defaultMessage: "Active yesterday"});
} }
if (days_old < 90) { if (days_old < 90) {
return $t({defaultMessage: "{days_old} days ago"}, {days_old}); return $t({defaultMessage: "Active {days_old} days ago"}, {days_old});
} else if ( } else if (
days_old > 90 && days_old > 90 &&
days_old < 365 && days_old < 365 &&
@ -223,7 +223,7 @@ export function last_seen_status_from_date(
) { ) {
// Online more than 90 days ago, in the same year // Online more than 90 days ago, in the same year
return $t( return $t(
{defaultMessage: "{last_active_date}"}, {defaultMessage: "Active {last_active_date}"},
{ {
last_active_date: get_localized_date_or_time_for_format( last_active_date: get_localized_date_or_time_for_format(
last_active_date, last_active_date,
@ -233,7 +233,7 @@ export function last_seen_status_from_date(
); );
} }
return $t( return $t(
{defaultMessage: "{last_active_date}"}, {defaultMessage: "Active {last_active_date}"},
{ {
last_active_date: get_localized_date_or_time_for_format( last_active_date: get_localized_date_or_time_for_format(
last_active_date, last_active_date,

View File

@ -321,7 +321,7 @@ test("title_data", () => {
expected_data = { expected_data = {
first_line: "Old User", first_line: "Old User",
second_line: "translated: Last active: translated: More than 2 weeks ago", second_line: "translated: Active more than 2 weeks ago",
third_line: "", third_line: "",
show_you: false, show_you: false,
}; };
@ -459,24 +459,24 @@ test("user_last_seen_time_status", ({override}) => {
page_params.realm_is_zephyr_mirror_realm = true; page_params.realm_is_zephyr_mirror_realm = true;
assert.equal( assert.equal(
buddy_data.user_last_seen_time_status(old_user.user_id), buddy_data.user_last_seen_time_status(old_user.user_id),
"translated: Last active: translated: Unknown", "translated: Activity unknown",
); );
page_params.realm_is_zephyr_mirror_realm = false; page_params.realm_is_zephyr_mirror_realm = false;
assert.equal( assert.equal(
buddy_data.user_last_seen_time_status(old_user.user_id), buddy_data.user_last_seen_time_status(old_user.user_id),
"translated: Last active: translated: More than 2 weeks ago", "translated: Active more than 2 weeks ago",
); );
presence.presence_info.set(old_user.user_id, {last_active: 1526137743}); presence.presence_info.set(old_user.user_id, {last_active: 1526137743});
override(timerender, "last_seen_status_from_date", (date) => { override(timerender, "last_seen_status_from_date", (date) => {
assert.deepEqual(date, new Date(1526137743000)); assert.deepEqual(date, new Date(1526137743000));
return "May 12"; return "translated: Active May 12";
}); });
assert.equal( assert.equal(
buddy_data.user_last_seen_time_status(old_user.user_id), buddy_data.user_last_seen_time_status(old_user.user_id),
"translated: Last active: May 12", "translated: Active May 12",
); );
set_presence(selma.user_id, "idle"); set_presence(selma.user_id, "idle");

View File

@ -175,8 +175,7 @@ test_ui("sender_hover", ({override, mock_template}) => {
user_time: undefined, user_time: undefined,
user_type: $t({defaultMessage: "Member"}), user_type: $t({defaultMessage: "Member"}),
user_circle_class: "user_circle_empty", user_circle_class: "user_circle_empty",
user_last_seen_time_status: user_last_seen_time_status: "translated: Active more than 2 weeks ago",
"translated: Last active: translated: More than 2 weeks ago",
pm_with_url: "#narrow/pm-with/42-Alice-Smith", pm_with_url: "#narrow/pm-with/42-Alice-Smith",
sent_by_uri: "#narrow/sender/42-Alice-Smith", sent_by_uri: "#narrow/sender/42-Alice-Smith",
private_message_class: "respond_personal_button", private_message_class: "respond_personal_button",

View File

@ -471,49 +471,49 @@ run_test("last_seen_status_from_date", () => {
assert.equal(actual_status, expected_status); assert.equal(actual_status, expected_status);
} }
assert_same({seconds: -20}, $t({defaultMessage: "Just now"})); assert_same({seconds: -20}, $t({defaultMessage: "Active just now"}));
assert_same({minutes: -1}, $t({defaultMessage: "Just now"})); assert_same({minutes: -1}, $t({defaultMessage: "Active just now"}));
assert_same({minutes: -2}, $t({defaultMessage: "Just now"})); assert_same({minutes: -2}, $t({defaultMessage: "Active just now"}));
assert_same({minutes: -30}, $t({defaultMessage: "30 minutes ago"})); assert_same({minutes: -30}, $t({defaultMessage: "Active 30 minutes ago"}));
assert_same({hours: -1}, $t({defaultMessage: "An hour ago"})); assert_same({hours: -1}, $t({defaultMessage: "Active an hour ago"}));
assert_same({hours: -2}, $t({defaultMessage: "2 hours ago"})); assert_same({hours: -2}, $t({defaultMessage: "Active 2 hours ago"}));
assert_same({hours: -20}, $t({defaultMessage: "20 hours ago"})); assert_same({hours: -20}, $t({defaultMessage: "Active 20 hours ago"}));
assert_same({hours: -24}, $t({defaultMessage: "Yesterday"})); assert_same({hours: -24}, $t({defaultMessage: "Active yesterday"}));
assert_same({hours: -48}, $t({defaultMessage: "2 days ago"})); assert_same({hours: -48}, $t({defaultMessage: "Active 2 days ago"}));
assert_same({days: -2}, $t({defaultMessage: "2 days ago"})); assert_same({days: -2}, $t({defaultMessage: "Active 2 days ago"}));
assert_same({days: -61}, $t({defaultMessage: "61 days ago"})); assert_same({days: -61}, $t({defaultMessage: "Active 61 days ago"}));
assert_same({days: -300}, $t({defaultMessage: "May 6, 2015"})); assert_same({days: -300}, $t({defaultMessage: "Active May 6, 2015"}));
assert_same({days: -366}, $t({defaultMessage: "Mar 1, 2015"})); assert_same({days: -366}, $t({defaultMessage: "Active Mar 1, 2015"}));
assert_same({years: -3}, $t({defaultMessage: "Mar 1, 2013"})); assert_same({years: -3}, $t({defaultMessage: "Active Mar 1, 2013"}));
// Set base_date to May 1 2016 12.30 AM (months are zero based) // Set base_date to May 1 2016 12.30 AM (months are zero based)
base_date = new Date(2016, 4, 1, 0, 30); base_date = new Date(2016, 4, 1, 0, 30);
assert_same({days: -91}, $t({defaultMessage: "Jan 31"})); assert_same({days: -91}, $t({defaultMessage: "Active Jan 31"}));
// Set base_date to May 1 2016 10.30 PM (months are zero based) // Set base_date to May 1 2016 10.30 PM (months are zero based)
base_date = new Date(2016, 4, 2, 23, 30); base_date = new Date(2016, 4, 2, 23, 30);
assert_same({hours: -1}, $t({defaultMessage: "An hour ago"})); assert_same({hours: -1}, $t({defaultMessage: "Active an hour ago"}));
assert_same({hours: -2}, $t({defaultMessage: "2 hours ago"})); assert_same({hours: -2}, $t({defaultMessage: "Active 2 hours ago"}));
assert_same({hours: -12}, $t({defaultMessage: "12 hours ago"})); assert_same({hours: -12}, $t({defaultMessage: "Active 12 hours ago"}));
assert_same({hours: -24}, $t({defaultMessage: "Yesterday"})); assert_same({hours: -24}, $t({defaultMessage: "Active yesterday"}));
}); });
run_test("set_full_datetime", () => { run_test("set_full_datetime", () => {