left_sidebar: Rename All messages to Global Feed.

Fixes part of #27802.
This commit is contained in:
nimishmedatwal 2024-04-02 16:40:48 +05:30 committed by Tim Abbott
parent 561cc9eab3
commit 1594011b67
46 changed files with 87 additions and 85 deletions

View File

@ -266,7 +266,7 @@ Some scenarios to consider:
- Try clicking on any interactive elements, multiple times, in a variety of orders. - Try clicking on any interactive elements, multiple times, in a variety of orders.
- If the feature affects the **message view**, try it out in different types of - If the feature affects the **message view**, try it out in different types of
narrows: topic, stream, All messages, direct messages. narrows: topic, stream, Combined feed, direct messages.
- If the feature affects the **compose box** in the web app, try both ways of - If the feature affects the **compose box** in the web app, try both ways of
[resizing the compose box](https://zulip.com/help/resize-the-compose-box). [resizing the compose box](https://zulip.com/help/resize-the-compose-box).
Test both stream messages and direct messages. Test both stream messages and direct messages.

View File

@ -280,7 +280,7 @@ self-explanatory names.
- **ellipsis**: A small vertical three dot icon (technically called - **ellipsis**: A small vertical three dot icon (technically called
as ellipsis-v), present in sidebars as a menu icon. as ellipsis-v), present in sidebars as a menu icon.
It offers contextual options for global filters (All messages It offers contextual options for global filters (Combined feed
and Starred messages), stream filters and topics in left and Starred messages), stream filters and topics in left
sidebar and users in right sidebar. To avoid visual clutter sidebar and users in right sidebar. To avoid visual clutter
ellipsis only appears in the web UI upon hover. ellipsis only appears in the web UI upon hover.

View File

@ -54,11 +54,11 @@ streams.)
### Unnarrow: previous sequence ### Unnarrow: previous sequence
When you unnarrow using e.g. the `a` key, you will automatically be When you unnarrow using e.g. the `a` key, you will automatically be
taken to the same message that was selected in the All messages view before taken to the same message that was selected in the Combined feed view before
you narrowed, unless in the narrow you read new messages, in which you narrowed, unless in the narrow you read new messages, in which
case you will be jumped forward to the first unread and non-muted case you will be jumped forward to the first unread and non-muted
message in the All messages view (or the bottom of the feed if there is message in the Combined feed view (or the bottom of the feed if there is
none). This makes for a nice experience reading threads via the All messages none). This makes for a nice experience reading threads via the Combined feed
view in sequence. view in sequence.
### Forced reload: state preservation ### Forced reload: state preservation

View File

@ -53,7 +53,7 @@ Try using all the navigation hotkeys:
Try narrowing from the message view: Try narrowing from the message view:
- Hotkeys - Hotkeys
- use a to go to All messages - use a to go to Combined feed
- use s to narrow to a stream (select message first - use s to narrow to a stream (select message first
and verify in sidebar) and verify in sidebar)
- use S to narrow to the topic (and verify in sidebar) - use S to narrow to the topic (and verify in sidebar)
@ -184,7 +184,7 @@ For each of the above types of messages, you will want to cycle
through the following views for Cordelia (and have Hamlet send new through the following views for Cordelia (and have Hamlet send new
messages after each narrow): messages after each narrow):
- Go to All messages view. - Go to Combined feed view.
- Go to All direct messages view. - Go to All direct messages view.
- Go to Direct messages w/Hamlet. - Go to Direct messages w/Hamlet.
- Go to Direct messages w/Hamlet and Othello. - Go to Direct messages w/Hamlet and Othello.

View File

@ -48,11 +48,11 @@ You can set your own alert words for Zulip messages.
> Możesz ustawić powiadomienia dla wybranych fraz w Zulipie. > Możesz ustawić powiadomienia dla wybranych fraz w Zulipie.
**All messages**: wszystkie wiadomości **Combined feed**: wszystkie wiadomości
example: example:
You can see all messages in unmuted streams and topics with "All messages". You can see all messages in unmuted streams and topics with "Combined feed".
> Możesz zobaczyć pełną listę wiadomości poprzez widok "Wszystkie wiadomości". > Możesz zobaczyć pełną listę wiadomości poprzez widok "Wszystkie wiadomości".

View File

@ -1,4 +1,4 @@
# All messages # Combined feed
{!all-messages.md!} {!all-messages.md!}
@ -6,7 +6,7 @@
Use <kbd>S</kbd> (go to stream) or <kbd>Shift</kbd> + Use <kbd>S</kbd> (go to stream) or <kbd>Shift</kbd> +
<kbd>S</kbd> (go to conversation) to zoom in, and <kbd>A</kbd> to <kbd>S</kbd> (go to conversation) to zoom in, and <kbd>A</kbd> to
get back to **All messages**. get back to **Combined feed**.
## Related articles ## Related articles

View File

@ -4,7 +4,7 @@
Archiving a stream will immediately unsubscribe all users from the stream, Archiving a stream will immediately unsubscribe all users from the stream,
remove the stream from search and other typeaheads, and remove the stream's remove the stream from search and other typeaheads, and remove the stream's
messages from **All messages**. messages from **Combined feed**.
Archiving a stream does not delete a stream's messages. Users will still be Archiving a stream does not delete a stream's messages. Users will still be
able to find any given message by searching for it. However, links to able to find any given message by searching for it. However, links to

View File

@ -27,7 +27,7 @@ preference settings, including the following:
* [Home view](/help/configure-home-view) * [Home view](/help/configure-home-view)
([Inbox](/help/inbox) vs. ([Inbox](/help/inbox) vs.
[Recent conversations](/help/recent-conversations) vs. [Recent conversations](/help/recent-conversations) vs.
[All messages](/help/reading-strategies#all-messages)) [Combined feed](/help/reading-strategies#combined-feed))
* Notification settings: * Notification settings:
* What types of messages [trigger notifications][default-notifications] * What types of messages [trigger notifications][default-notifications]

View File

@ -7,7 +7,7 @@ keyboard shortcuts.
The home views available in Zulip are The home views available in Zulip are
[**Inbox**](/help/inbox), [**Inbox**](/help/inbox),
[Recent conversations](/help/recent-conversations), and [Recent conversations](/help/recent-conversations), and
[All messages](/help/all-messages). See [Combined feed](/help/all-messages). See
[Reading strategies](/help/reading-strategies) for recommendations [Reading strategies](/help/reading-strategies) for recommendations
on how to use these views. on how to use these views.
@ -22,14 +22,14 @@ Organization administrators can [configure the home view for their
organization](/help/configure-default-new-user-settings) to organization](/help/configure-default-new-user-settings) to
[**Inbox**](/help/inbox), [**Inbox**](/help/inbox),
[**Recent conversations**](/help/recent-conversations), or [**Recent conversations**](/help/recent-conversations), or
[**All messages**](/help/all-messages). [**Combined feed**](/help/all-messages).
- The **Inbox** view works best if you regularly clear all unread messages in - The **Inbox** view works best if you regularly clear all unread messages in
streams you follow. streams you follow.
- **Recent conversations** works well for getting an overview of recent activity. - **Recent conversations** works well for getting an overview of recent activity.
- **All messages** is convenient for low-traffic organizations, or for skimming - **Combined feed** is convenient for low-traffic organizations, or for skimming
messages as they come in. messages as they come in.
You can customize your personal home view regardless of You can customize your personal home view regardless of
@ -80,5 +80,5 @@ shortcut.
* [Reading strategies](/help/reading-strategies) * [Reading strategies](/help/reading-strategies)
* [Recent conversations](/help/recent-conversations) * [Recent conversations](/help/recent-conversations)
* [All messages](/help/all-messages) * [Combined feed](/help/all-messages)
* [Keyboard shortcuts](/help/keyboard-shortcuts) * [Keyboard shortcuts](/help/keyboard-shortcuts)

View File

@ -51,7 +51,7 @@ In the web app, you can control whether the **Inbox** includes all topics, just
* [Reading strategies](/help/reading-strategies) * [Reading strategies](/help/reading-strategies)
* [Recent conversations](/help/recent-conversations) * [Recent conversations](/help/recent-conversations)
* [All messages](/help/all-messages) * [Combined feed](/help/all-messages)
* [Mute or unmute a stream](/help/mute-a-stream) * [Mute or unmute a stream](/help/mute-a-stream)
* [Mute or unmute a topic](/help/mute-a-topic) * [Mute or unmute a topic](/help/mute-a-topic)
* [Browse and subscribe to streams](/help/browse-and-subscribe-to-streams) * [Browse and subscribe to streams](/help/browse-and-subscribe-to-streams)

View File

@ -1,8 +1,8 @@
The **All messages** view is a feed of all the unmuted messages you have The **Combined feed** view is a feed of all the unmuted messages you have
received, which combines stream messages and direct messages. It's a great way received, which combines stream messages and direct messages. It's a great way
to see new messages as they come in. to see new messages as they come in.
You can configure **All messages** to be the [home You can configure **Combined feed** to be the [home
view](/help/configure-home-view#configure-home-view) for the Zulip web app. view](/help/configure-home-view#configure-home-view) for the Zulip web app.
{start_tabs} {start_tabs}
@ -13,7 +13,7 @@ view](/help/configure-home-view#configure-home-view) for the Zulip web app.
{tab|mobile} {tab|mobile}
1. Tap the **All messages** 1. Tap the **Combined feed**
(<img src="/static/images/help/mobile-globe-icon.svg" alt="globe" class="help-center-icon"/>) (<img src="/static/images/help/mobile-globe-icon.svg" alt="globe" class="help-center-icon"/>)
tab in the upper left corner of the app. tab in the upper left corner of the app.

View File

@ -1,4 +1,4 @@
1. Click on <i class="zulip-icon zulip-icon-all-messages"></i> **All messages** 1. Click on <i class="zulip-icon zulip-icon-all-messages"></i> **Combined feed**
(or <i class="zulip-icon zulip-icon-all-messages"></i> if the **views** (or <i class="zulip-icon zulip-icon-all-messages"></i> if the **views**
section is collapsed) in the left sidebar, section is collapsed) in the left sidebar,
or use the <kbd>A</kbd> keyboard shortcut. or use the <kbd>A</kbd> keyboard shortcut.

View File

@ -8,7 +8,7 @@ Muting has the following effects:
- Messages in muted topics do not generate notifications (including [alert - Messages in muted topics do not generate notifications (including [alert
word](/help/dm-mention-alert-notifications#alert-words) notifications), unless word](/help/dm-mention-alert-notifications#alert-words) notifications), unless
you are [mentioned](/help/mention-a-user-or-group). you are [mentioned](/help/mention-a-user-or-group).
- Messages in muted topics do not appear in the [**All messages** - Messages in muted topics do not appear in the [**Combined feed**
view](/help/all-messages) or the mobile **Inbox** view. view](/help/all-messages) or the mobile **Inbox** view.
- Muted topics appear in the [**Recent conversations** - Muted topics appear in the [**Recent conversations**
view](/help/recent-conversations) only if the **Include muted** filter is view](/help/recent-conversations) only if the **Include muted** filter is

View File

@ -96,7 +96,7 @@
* [Reading strategies](/help/reading-strategies) * [Reading strategies](/help/reading-strategies)
* [Inbox](/help/inbox) * [Inbox](/help/inbox)
* [Recent conversations](/help/recent-conversations) * [Recent conversations](/help/recent-conversations)
* [All messages](/help/all-messages) * [Combined feed](/help/all-messages)
* [Message actions](/help/message-actions) * [Message actions](/help/message-actions)
* [Marking messages as read](/help/marking-messages-as-read) * [Marking messages as read](/help/marking-messages-as-read)
* [Marking messages as unread](/help/marking-messages-as-unread) * [Marking messages as unread](/help/marking-messages-as-unread)

View File

@ -103,7 +103,7 @@ in the Zulip app to add more to your repertoire as needed.
* **Cycle between stream views**: <kbd>Shift</kbd> + <kbd>A</kbd> * **Cycle between stream views**: <kbd>Shift</kbd> + <kbd>A</kbd>
(previous) and <kbd>Shift</kbd> + <kbd>D</kbd> (next) (previous) and <kbd>Shift</kbd> + <kbd>D</kbd> (next)
* **Go to All messages**: <kbd>A</kbd> — Shows all unmuted messages. * **Go to Combined feed**: <kbd>A</kbd> — Shows all unmuted messages.
* **Go to the conversation you are composing to**: <kbd>Ctrl</kbd> + <kbd>.</kbd> * **Go to the conversation you are composing to**: <kbd>Ctrl</kbd> + <kbd>.</kbd>

View File

@ -69,7 +69,7 @@ stream or topic as read**.
{tab|via-left-sidebar} {tab|via-left-sidebar}
1. Hover over a stream, topic, or **All messages** in the left sidebar. 1. Hover over a stream, topic, or **Combined feed** in the left sidebar.
1. Click on the **ellipsis** (<i class="zulip-icon zulip-icon-more-vertical"></i>). 1. Click on the **ellipsis** (<i class="zulip-icon zulip-icon-more-vertical"></i>).
@ -100,7 +100,7 @@ stream or topic as read**.
{tab|mobile} {tab|mobile}
1. Tap a stream, topic, or the **All messages** 1. Tap a stream, topic, or the **Combined feed**
(<img src="/static/images/help/mobile-globe-icon.svg" alt="globe" class="help-center-icon"/>) (<img src="/static/images/help/mobile-globe-icon.svg" alt="globe" class="help-center-icon"/>)
tab. tab.

View File

@ -8,11 +8,11 @@
You can mute any user you do not wish to interact with. Muting someone will You can mute any user you do not wish to interact with. Muting someone will
have the following effects: have the following effects:
* All messages sent by a muted user will automatically be [marked as * Combined feed sent by a muted user will automatically be [marked as
read](/help/marking-messages-as-read) for you, and will never read](/help/marking-messages-as-read) for you, and will never
generate any desktop, email, or mobile push notifications. generate any desktop, email, or mobile push notifications.
* All messages sent by muted users, including the name, profile * Combined feed sent by muted users, including the name, profile
picture, and message content, are hidden behind a **Click here to picture, and message content, are hidden behind a **Click here to
reveal** banner. A revealed message can later be [re-hidden](/help/mute-a-user#re-hide-a-message-that-has-been-revealed). reveal** banner. A revealed message can later be [re-hidden](/help/mute-a-user#re-hide-a-message-that-has-been-revealed).

View File

@ -45,7 +45,7 @@ workflows:
## Combined views ## Combined views
### All messages ### Combined feed
{!all-messages.md!} {!all-messages.md!}

View File

@ -37,5 +37,5 @@ containing the most recent messages.
* [Reading conversations](/help/reading-conversations) * [Reading conversations](/help/reading-conversations)
* [Reading strategies](/help/reading-strategies) * [Reading strategies](/help/reading-strategies)
* [Inbox](/help/inbox) * [Inbox](/help/inbox)
* [All messages](/help/all-messages) * [Combined feed](/help/all-messages)
* [Configure home view](/help/configure-home-view) * [Configure home view](/help/configure-home-view)

View File

@ -52,7 +52,7 @@ explored all the leading open-source team chat products. They found that while
Mattermost and Rocket.Chat were similar to Slack (but felt less polished), Zulip Mattermost and Rocket.Chat were similar to Slack (but felt less polished), Zulip
stood out. “Zulip had all the modern features we were looking for, like stood out. “Zulip had all the modern features we were looking for, like
reliable, flexible notifications. At the same time, the [extensive keyboard reliable, flexible notifications. At the same time, the [extensive keyboard
shortcuts](/help/keyboard-shortcuts) and the All messages shortcuts](/help/keyboard-shortcuts) and the Combined feed
view offered a UI that the IRC fans loved.” view offered a UI that the IRC fans loved.”
When End Point moved to Zulip, it was an immediate improvement over the When End Point moved to Zulip, it was an immediate improvement over the
@ -118,7 +118,7 @@ Jensen](https://www.endpointdev.com/team/jon-jensen/) has experienced them all.
“It is amazing that companies would use Teams in its current state,” Jon says, a “It is amazing that companies would use Teams in its current state,” Jon says, a
bit exasperated. “The UI is slow and inconsistent, and you have to do so much bit exasperated. “The UI is slow and inconsistent, and you have to do so much
clicking to get anywhere. Compared to Zulip, its missing key features like the clicking to get anywhere. Compared to Zulip, its missing key features like the
All messages view and topics.” Combined feed view and topics.”
> “It is amazing that companies would use Teams in its current state. The UI is > “It is amazing that companies would use Teams in its current state. The UI is
> slow and inconsistent, and compared to Zulip, its missing key features.” > slow and inconsistent, and compared to Zulip, its missing key features.”

View File

@ -79,7 +79,7 @@ customer, where team leaders post daily updates.
For agents, may of whom are not fully comfortable with modern software, Zulip For agents, may of whom are not fully comfortable with modern software, Zulip
being easy to use is invaluable. "We checked out Microsoft Teams and Mattermost, being easy to use is invaluable. "We checked out Microsoft Teams and Mattermost,
and most of our users didnt like these programs, because they didnt know how and most of our users didnt like these programs, because they didnt know how
to work with them,” Erik says. “In Zulip, agents love the “All messages” view,” to work with them,” Erik says. “In Zulip, agents love the “Combined feed” view,”
which combines direct messages and stream messages into a single feed. “Unlike which combines direct messages and stream messages into a single feed. “Unlike
other chat apps, you dont have to click on each channel separately to see other chat apps, you dont have to click on each channel separately to see
unreads,” Erik explains. unreads,” Erik explains.

View File

@ -135,7 +135,7 @@ async function test_send_multirecipient_pm_from_cordelia_pm_narrow(page: Page):
content: multiple_recipients_pm, content: multiple_recipients_pm,
}); });
// Go back to all messages view and make sure all messages are loaded. // Go back to the combined feed view and make sure all messages are loaded.
await page.click("#left-sidebar-navigation-list .top_left_all_messages"); await page.click("#left-sidebar-navigation-list .top_left_all_messages");
await page.waitForSelector(".message-list .message_row", {visible: true}); await page.waitForSelector(".message-list .message_row", {visible: true});

View File

@ -110,7 +110,7 @@ async function un_narrow(page: Page): Promise<void> {
await page.waitForSelector(".message-list .message_row", {visible: true}); await page.waitForSelector(".message-list .message_row", {visible: true});
// Assert that there is only one message list. // Assert that there is only one message list.
assert.equal((await page.$$(".message-list")).length, 1); assert.equal((await page.$$(".message-list")).length, 1);
assert.strictEqual(await page.title(), "All messages - Zulip Dev - Zulip"); assert.strictEqual(await page.title(), "Combined feed - Zulip Dev - Zulip");
} }
async function un_narrow_by_clicking_org_icon(page: Page): Promise<void> { async function un_narrow_by_clicking_org_icon(page: Page): Promise<void> {

View File

@ -32,7 +32,7 @@ async function test_narrow_to_starred_messages(page: Page): Promise<void> {
const message_list_id = await common.get_current_msg_list_id(page, true); const message_list_id = await common.get_current_msg_list_id(page, true);
await common.check_messages_sent(page, message_list_id, [["Verona > stars", [message]]]); await common.check_messages_sent(page, message_list_id, [["Verona > stars", [message]]]);
// Go back to all messages narrow. // Go back to the combined feed view.
await page.click("#left-sidebar-navigation-list .top_left_all_messages"); await page.click("#left-sidebar-navigation-list .top_left_all_messages");
await page.waitForSelector(".message-list .message_row", {visible: true}); await page.waitForSelector(".message-list .message_row", {visible: true});
} }

View File

@ -175,7 +175,7 @@ export function initialize() {
$(document).on("message_selected.zulip", () => { $(document).on("message_selected.zulip", () => {
if (narrow_state.is_message_feed_visible()) { if (narrow_state.is_message_feed_visible()) {
// message_selected events can occur with Recent Conversations // message_selected events can occur with Recent Conversations
// open due to "All messages" loading in the background, // open due to the combined feed view loading in the background,
// so we only update if message feed is visible. // so we only update if message feed is visible.
update_reply_recipient_label(); update_reply_recipient_label();
} }

View File

@ -162,7 +162,9 @@ export function initialize(): void {
let display_current_view; let display_current_view;
if (narrow_state.is_message_feed_visible()) { if (narrow_state.is_message_feed_visible()) {
if (narrow_filter === undefined) { if (narrow_filter === undefined) {
display_current_view = $t({defaultMessage: "Currently viewing all messages."}); display_current_view = $t({
defaultMessage: "Currently viewing your combined feed.",
});
} else if ( } else if (
_.isEqual(narrow_filter.sorted_term_types(), ["channel"]) && _.isEqual(narrow_filter.sorted_term_types(), ["channel"]) &&
compose_state.get_message_type() === "stream" && compose_state.get_message_type() === "stream" &&

View File

@ -574,7 +574,7 @@ export class Filter {
const parts: Part[] = []; const parts: Part[] = [];
if (terms.length === 0) { if (terms.length === 0) {
parts.push({type: "plain_text", content: "all messages"}); parts.push({type: "plain_text", content: "combined feed"});
return parts; return parts;
} }
@ -712,7 +712,7 @@ export class Filter {
} }
is_in_home(): boolean { is_in_home(): boolean {
// All messages view. // Combined feed view
return this._terms.length === 1 && this.has_operand("in", "home"); return this._terms.length === 1 && this.has_operand("in", "home");
} }
@ -852,7 +852,7 @@ export class Filter {
// This is used to control the behaviour for "exiting search" // This is used to control the behaviour for "exiting search"
// within a narrow (E.g. a stream/topic + search) to bring you to // within a narrow (E.g. a stream/topic + search) to bring you to
// the containing common narrow (stream/topic, in the example) // the containing common narrow (stream/topic, in the example)
// rather than "All messages". // rather than the "Combined feed" view.
// //
// Note from tabbott: The slug-based approach may not be ideal; we // Note from tabbott: The slug-based approach may not be ideal; we
// may be able to do better another way. // may be able to do better another way.
@ -1023,7 +1023,7 @@ export class Filter {
if (term_types.length === 1) { if (term_types.length === 1) {
switch (term_types[0]) { switch (term_types[0]) {
case "in-home": case "in-home":
return $t({defaultMessage: "All messages"}); return $t({defaultMessage: "Combined feed"});
case "in-all": case "in-all":
return $t({defaultMessage: "All messages including muted streams"}); return $t({defaultMessage: "All messages including muted streams"});
case "channels-public": case "channels-public":

View File

@ -146,7 +146,7 @@ export function initialize() {
}, },
}); });
// All messages popover // Combined feed popover
popover_menus.register_popover_menu(".all-messages-sidebar-menu-icon", { popover_menus.register_popover_menu(".all-messages-sidebar-menu-icon", {
...popover_menus.left_sidebar_tippy_options, ...popover_menus.left_sidebar_tippy_options,
onMount(instance) { onMount(instance) {

View File

@ -304,7 +304,7 @@ export function load_messages(opts, attempt = 1) {
const web_public_narrow = {negated: false, operator: "channels", operand: "web-public"}; const web_public_narrow = {negated: false, operator: "channels", operand: "web-public"};
if (!data.narrow) { if (!data.narrow) {
/* For the "All messages" feed, this will be the only operator. */ /* For the combined feed, this will be the only operator. */
data.narrow = JSON.stringify([web_public_narrow]); data.narrow = JSON.stringify([web_public_narrow]);
} else { } else {
// Otherwise, we append the operator. This logic is not // Otherwise, we append the operator. This logic is not

View File

@ -49,7 +49,7 @@ function get_message_view_header_context(filter: Filter | undefined): MessageVie
} }
if (filter === undefined) { if (filter === undefined) {
return { return {
title: $t({defaultMessage: "All messages"}), title: $t({defaultMessage: "Combined feed"}),
zulip_icon: "all-messages", zulip_icon: "all-messages",
}; };
} }

View File

@ -87,11 +87,9 @@ export function save_narrow(terms) {
} }
export function activate(raw_terms, opts) { export function activate(raw_terms, opts) {
/* Main entry point for switching to a new view / message list /* Main entry point for switching to a new view / message list.
(including all messages and home views).
The name is based on "narrowing to a subset of the user's Supported parameters:
messages.". Supported parameters:
raw_terms: Narrowing/search terms; used to construct raw_terms: Narrowing/search terms; used to construct
a Filter object that decides which messages belong in the a Filter object that decides which messages belong in the
@ -120,7 +118,7 @@ export function activate(raw_terms, opts) {
or rerendering due to server-side changes. or rerendering due to server-side changes.
*/ */
// The empty narrow is the All messages view. // No operators is an alias for the Combined Feed view.
if (raw_terms.length === 0) { if (raw_terms.length === 0) {
raw_terms = [{operator: "is", operand: "home"}]; raw_terms = [{operator: "is", operand: "home"}];
} }
@ -128,14 +126,13 @@ export function activate(raw_terms, opts) {
const is_narrowed_to_all_messages_view = narrow_state.filter()?.is_in_home(); const is_narrowed_to_all_messages_view = narrow_state.filter()?.is_in_home();
if (has_visited_all_messages && is_narrowed_to_all_messages_view && filter.is_in_home()) { if (has_visited_all_messages && is_narrowed_to_all_messages_view && filter.is_in_home()) {
// If we're already looking at the All messages view, exit without doing any work. // If we're already looking at the combined feed, exit without doing any work.
return; return;
} }
if (filter.is_in_home() && message_scroll_state.actively_scrolling) { if (filter.is_in_home() && message_scroll_state.actively_scrolling) {
// `All messages` narrow.
// TODO: Figure out why puppeteer test for this fails when run for narrows // TODO: Figure out why puppeteer test for this fails when run for narrows
// other than `All messages`. // other than `Combined feed`.
// There is no way to intercept in-flight scroll events, and they will // There is no way to intercept in-flight scroll events, and they will
// cause you to end up in the wrong place if you are actively scrolling // cause you to end up in the wrong place if you are actively scrolling
@ -146,7 +143,8 @@ export function activate(raw_terms, opts) {
return; return;
} }
// Use to determine if user read any unread messages in non-All Messages narrow. // Use to determine if user read any unread messages outside the combined feed.
// BUG: This doesn't check for the combined feed?
const was_narrowed_already = narrow_state.filter() !== undefined; const was_narrowed_already = narrow_state.filter() !== undefined;
// Since narrow.activate is called directly from various // Since narrow.activate is called directly from various
@ -155,7 +153,9 @@ export function activate(raw_terms, opts) {
if ( if (
page_params.is_spectator && page_params.is_spectator &&
raw_terms.length && raw_terms.length &&
// Allow spectator to access all messages view. // TODO: is:home is currently not permitted for spectators
// because they can't mute things; maybe that's the wrong
// policy?
!filter.is_in_home() && !filter.is_in_home() &&
raw_terms.some( raw_terms.some(
(raw_term) => !hash_parser.allowed_web_public_narrows.includes(raw_term.operator), (raw_term) => !hash_parser.allowed_web_public_narrows.includes(raw_term.operator),
@ -493,9 +493,11 @@ export function activate(raw_terms, opts) {
then_select_offset = message_lists.current.pre_narrow_offset; then_select_offset = message_lists.current.pre_narrow_offset;
id_info.final_select_id = message_lists.current.selected_id(); id_info.final_select_id = message_lists.current.selected_id();
} }
// We are navigating to the All messages view from another narrow, so we reset the // We are navigating to the combined feed from another
// reading state to allow user to read messages again in All messages view if user has // narrow, so we reset the reading state to allow user to
// marked some messages as unread in the last All messages session and thus prevented reading. // read messages again in the combined feed if user has
// marked some messages as unread in the last combined
// feed session and thus prevented reading.
message_lists.current.resume_reading(); message_lists.current.resume_reading();
// Reset the collapsed status of messages rows. // Reset the collapsed status of messages rows.
condense.condense_and_collapse(message_lists.current.view.$list.find(".message_row")); condense.condense_and_collapse(message_lists.current.view.$list.find(".message_row"));
@ -504,7 +506,7 @@ export function activate(raw_terms, opts) {
message_feed_top_notices.update_top_of_narrow_notices(msg_list); message_feed_top_notices.update_top_of_narrow_notices(msg_list);
// We may need to scroll to the selected message after swapping // We may need to scroll to the selected message after swapping
// the currently displayed center panel to All messages. // the currently displayed center panel to the combined feed.
message_viewport.maybe_scroll_to_selected(); message_viewport.maybe_scroll_to_selected();
} else { } else {
select_immediately = id_info.local_select_id !== undefined; select_immediately = id_info.local_select_id !== undefined;

View File

@ -11,7 +11,7 @@ import * as unread from "./unread";
export let has_shown_message_list_view = false; export let has_shown_message_list_view = false;
export function filter(): Filter | undefined { export function filter(): Filter | undefined {
// `All messages`, `Recent Conversations` and `Inbox` return undefined; // `Combined feed`, `Recent Conversations` and `Inbox` return undefined;
if (message_lists.current === undefined || message_lists.current.data.filter.is_in_home()) { if (message_lists.current === undefined || message_lists.current.data.filter.is_in_home()) {
return undefined; return undefined;
} }

View File

@ -16,8 +16,7 @@ export let narrow_title = "home";
export function compute_narrow_title(filter?: Filter): string { export function compute_narrow_title(filter?: Filter): string {
if (filter === undefined) { if (filter === undefined) {
// "All messages" and "Recent conversations" views have // Views without a message feed in the center pane.
// an `undefined` filter.
if (recent_view_util.is_visible()) { if (recent_view_util.is_visible()) {
return $t({defaultMessage: "Recent conversations"}); return $t({defaultMessage: "Recent conversations"});
} }

View File

@ -99,7 +99,7 @@ export const web_home_view_values = {
}, },
all_messages: { all_messages: {
code: "all_messages", code: "all_messages",
description: $t({defaultMessage: "All messages"}), description: $t({defaultMessage: "Combined feed"}),
}, },
}; };

View File

@ -137,9 +137,8 @@ export class TaskData {
}, },
inbound: (sender_id, data) => { inbound: (sender_id, data) => {
// All messages readers may add tasks. // All readers may add tasks. For legacy reasons, the
// for legacy reasons, the inbound idx is // inbound idx is called key in the event.
// called key in the event
const idx = data.key; const idx = data.key;
const task = data.task; const task = data.task;
const desc = data.desc; const desc = data.desc;

View File

@ -47,7 +47,7 @@ export function handle_topic_updates(user_topic_event) {
} }
setTimeout(0, () => { setTimeout(0, () => {
/* Rerender "all messages" if necessary, but defer until after /* Rerender the combined feed view if necessary, but defer until after
* the browser has rendered the DOM updates scheduled above. */ * the browser has rendered the DOM updates scheduled above. */
if (message_lists.current !== message_lists.home) { if (message_lists.current !== message_lists.home) {
message_lists.home.update_muting_and_rerender(); message_lists.home.update_muting_and_rerender();

View File

@ -50,7 +50,7 @@ function set_widget_in_message($row: JQuery, $widget_elem: JQuery): void {
// Avoid adding the $widget_elem if it already exists. // Avoid adding the $widget_elem if it already exists.
// This can happen when the app loads in the "Recent Conversations" // This can happen when the app loads in the "Recent Conversations"
// view and the user changes the view to "All messages". // view and the user changes the view to "Combined feed".
// This is important since jQuery removes all the event handlers // This is important since jQuery removes all the event handlers
// on `empty()`ing an element. // on `empty()`ing an element.
if ($content_holder.find(".widget-content").length === 0) { if ($content_holder.find(".widget-content").length === 0) {

View File

@ -81,7 +81,7 @@
<i class="zulip-icon zulip-icon-all-messages" aria-hidden="true"></i> <i class="zulip-icon zulip-icon-all-messages" aria-hidden="true"></i>
</span> </span>
{{~!-- squash whitespace --~}} {{~!-- squash whitespace --~}}
<span class="left-sidebar-navigation-label">{{t 'All messages' }}</span> <span class="left-sidebar-navigation-label">{{t 'Combined feed' }}</span>
<span class="unread_count"></span> <span class="unread_count"></span>
</a> </a>
<span class="arrow sidebar-menu-icon all-messages-sidebar-menu-icon hidden-for-spectators {{#if is_all_messages_home_view}}hide{{/if}}"> <span class="arrow sidebar-menu-icon all-messages-sidebar-menu-icon hidden-for-spectators {{#if is_all_messages_home_view}}hide{{/if}}">

View File

@ -13,7 +13,7 @@
<a tabindex="0" class="set-home-view" data-view-code="{{view_code}}"> <a tabindex="0" class="set-home-view" data-view-code="{{view_code}}">
<i class="fa fa-home" aria-hidden="true"></i> <i class="fa fa-home" aria-hidden="true"></i>
{{#tr}} {{#tr}}
Make <b>all messages</b> my home view Make <b>combined feed</b> my home view
{{/tr}} {{/tr}}
</a> </a>
</li> </li>

View File

@ -93,7 +93,7 @@
</template> </template>
<template id="all-message-tooltip-template"> <template id="all-message-tooltip-template">
<div class="views-tooltip-container" data-view-code="all_messages"> <div class="views-tooltip-container" data-view-code="all_messages">
<div>{{t 'All messages' }}</div> <div>{{t 'Combined feed' }}</div>
<div class="tooltip-inner-content views-tooltip-home-view-note italic hide">{{t 'This is your home view.' }}</div> <div class="tooltip-inner-content views-tooltip-home-view-note italic hide">{{t 'This is your home view.' }}</div>
</div> </div>
{{tooltip_hotkey_hints "A"}} {{tooltip_hotkey_hints "A"}}

View File

@ -1360,7 +1360,7 @@ test("describe", ({mock_template}) => {
assert.equal(Filter.search_description_as_html(narrow), string); assert.equal(Filter.search_description_as_html(narrow), string);
narrow = []; narrow = [];
string = "all messages"; string = "combined feed";
assert.equal(Filter.search_description_as_html(narrow), string); assert.equal(Filter.search_description_as_html(narrow), string);
}); });
@ -1682,7 +1682,7 @@ test("navbar_helpers", () => {
terms: in_home, terms: in_home,
is_common_narrow: true, is_common_narrow: true,
icon: "home", icon: "home",
title: "translated: All messages", title: "translated: Combined feed",
redirect_url_with_search: "#", redirect_url_with_search: "#",
}, },
{ {

View File

@ -22,7 +22,7 @@ const $ = require("./lib/zjquery");
// Future work includes making sure it actually does call `ui.foo()`. // Future work includes making sure it actually does call `ui.foo()`.
// Since all the tests here are based on narrow starting with all_messages. // Since all the tests here are based on narrow starting with all_messages.
// We set our default narrow to all messages here. // We set our default narrow to the combined feed here.
window.location.hash = "#all_messages"; window.location.hash = "#all_messages";
set_global("navigator", { set_global("navigator", {

View File

@ -789,7 +789,7 @@ run_test("narrow_compute_title", () => {
inbox_util.set_visible(false); inbox_util.set_visible(false);
filter = new Filter([{operator: "in", operand: "home"}]); filter = new Filter([{operator: "in", operand: "home"}]);
assert.equal(narrow_title.compute_narrow_title(filter), "translated: All messages"); assert.equal(narrow_title.compute_narrow_title(filter), "translated: Combined feed");
// Search & uncommon narrows // Search & uncommon narrows
filter = new Filter([{operator: "search", operand: "potato"}]); filter = new Filter([{operator: "search", operand: "potato"}]);

View File

@ -154,7 +154,7 @@ test("excludes_muted_topics", () => {
let filter = set_filter([["stream", "devel"]]); let filter = set_filter([["stream", "devel"]]);
assert.ok(filter.excludes_muted_topics()); assert.ok(filter.excludes_muted_topics());
// All messages view. // Combined feed view.
filter = set_filter([["in", "home"]]); filter = set_filter([["in", "home"]]);
assert.ok(filter.excludes_muted_topics()); assert.ok(filter.excludes_muted_topics());

View File

@ -156,7 +156,7 @@ recent_instructions = """
""" """
all_instructions = """ all_instructions = """
1. Click on <i class="fa fa-align-left"></i> **All messages** in the left 1. Click on <i class="fa fa-align-left"></i> **Combined feed** in the left
sidebar, or use the <kbd>A</kbd> keyboard shortcut. sidebar, or use the <kbd>A</kbd> keyboard shortcut.
""" """
@ -181,7 +181,7 @@ message_info = {
"drafts": ["Drafts", "/#drafts", draft_instructions], "drafts": ["Drafts", "/#drafts", draft_instructions],
"scheduled": ["Scheduled messages", "/#scheduled", scheduled_instructions], "scheduled": ["Scheduled messages", "/#scheduled", scheduled_instructions],
"recent": ["Recent conversations", "/#recent", recent_instructions], "recent": ["Recent conversations", "/#recent", recent_instructions],
"all": ["All messages", "/#all_messages", all_instructions], "all": ["Combined feed", "/#all_messages", all_instructions],
"starred": ["Starred messages", "/#narrow/is/starred", starred_instructions], "starred": ["Starred messages", "/#narrow/is/starred", starred_instructions],
"direct": ["All direct messages", "/#narrow/is/dm", direct_instructions], "direct": ["All direct messages", "/#narrow/is/dm", direct_instructions],
"inbox": ["Inbox", "/#inbox", inbox_instructions], "inbox": ["Inbox", "/#inbox", inbox_instructions],

View File

@ -10681,7 +10681,7 @@ paths:
- "recent_topics" - Recent conversations view - "recent_topics" - Recent conversations view
- "inbox" - Inbox view - "inbox" - Inbox view
- "all_messages" - All messages view - "all_messages" - Combined feed view
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this was **Changes**: New in Zulip 8.0 (feature level 219). Previously, this was
called `default_view`, which was new in Zulip 4.0 (feature level 42). called `default_view`, which was new in Zulip 4.0 (feature level 42).
@ -13464,7 +13464,7 @@ paths:
- "recent_topics" - Recent conversations view - "recent_topics" - Recent conversations view
- "inbox" - Inbox view - "inbox" - Inbox view
- "all_messages" - All messages view - "all_messages" - Combined feed view
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this was **Changes**: New in Zulip 8.0 (feature level 219). Previously, this was
called `default_view`, which was new in Zulip 4.0 (feature level 42). called `default_view`, which was new in Zulip 4.0 (feature level 42).
@ -15787,7 +15787,7 @@ paths:
- "recent_topics" - Recent conversations view - "recent_topics" - Recent conversations view
- "inbox" - Inbox view - "inbox" - Inbox view
- "all_messages" - All messages view - "all_messages" - Combined feed view
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this was **Changes**: New in Zulip 8.0 (feature level 219). Previously, this was
called `default_view`, which was new in Zulip 4.0 (feature level 42). called `default_view`, which was new in Zulip 4.0 (feature level 42).
@ -16922,7 +16922,7 @@ paths:
- "recent_topics" - Recent conversations view - "recent_topics" - Recent conversations view
- "inbox" - Inbox view - "inbox" - Inbox view
- "all_messages" - All messages view - "all_messages" - Combined feed view
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this was **Changes**: New in Zulip 8.0 (feature level 219). Previously, this was
called `default_view`, which was new in Zulip 4.0 (feature level 42). called `default_view`, which was new in Zulip 4.0 (feature level 42).
@ -19972,8 +19972,8 @@ components:
type: boolean type: boolean
description: | description: |
Whether the user has muted the stream. Muted streams do Whether the user has muted the stream. Muted streams do
not count towards your total unread count and do not show up in not count towards your total unread count and do not show
`All messages` view (previously known as `Home` view). up in the `Combined feed` view (previously known as `All messages`).
**Changes**: Prior to Zulip 2.1.0, this feature was **Changes**: Prior to Zulip 2.1.0, this feature was
represented by the more confusingly named `in_home_view` (with the represented by the more confusingly named `in_home_view` (with the