hash_util: Set channel URL based on user setting.

We now render channel feed URL or channel topics list URL in
all elements based on user setting.
This commit is contained in:
Aman Agrawal
2025-05-02 16:15:23 +05:30
committed by Tim Abbott
parent 97c69e3038
commit 1ace8b80f5
23 changed files with 75 additions and 21 deletions

View File

@@ -4,12 +4,18 @@ const assert = require("node:assert/strict");
const {JSDOM} = require("jsdom");
const {zrequire} = require("./lib/namespace.cjs");
const {zrequire, mock_esm} = require("./lib/namespace.cjs");
const {run_test} = require("./lib/test.cjs");
const clipboard_handler = zrequire("clipboard_handler");
const stream_data = zrequire("stream_data");
const people = zrequire("people");
const settings_config = zrequire("settings_config");
mock_esm("../src/user_settings", {
user_settings: {
web_channel_default_view: settings_config.web_channel_default_view_values.channel_feed.code,
},
});
const hamlet = {
user_id: 15,

View File

@@ -64,12 +64,13 @@ const composebox_typeahead = zrequire("composebox_typeahead");
const settings_config = zrequire("settings_config");
const {set_current_user, set_realm} = zrequire("state_data");
const {initialize_user_settings} = zrequire("user_settings");
const current_user = {};
set_current_user(current_user);
const realm = {realm_empty_topic_display_name: REALM_EMPTY_TOPIC_DISPLAY_NAME};
set_realm(realm);
const user_settings = {};
const user_settings = {
web_channel_default_view: settings_config.web_channel_default_view_values.channel_feed.code,
};
initialize_user_settings({user_settings});
const ct = composebox_typeahead;

View File

@@ -58,11 +58,14 @@ const pygments_data = zrequire("pygments_data");
const {set_realm} = zrequire("state_data");
const stream_data = zrequire("stream_data");
const user_groups = zrequire("user_groups");
const settings_config = zrequire("settings_config");
const {initialize_user_settings} = zrequire("user_settings");
const REALM_EMPTY_TOPIC_DISPLAY_NAME = "general chat";
set_realm({realm_empty_topic_display_name: REALM_EMPTY_TOPIC_DISPLAY_NAME});
const user_settings = {};
const user_settings = {
web_channel_default_view: settings_config.web_channel_default_view_values.channel_feed.code,
};
initialize_user_settings({user_settings});
const emoji_params = {

View File

@@ -98,7 +98,7 @@ mock_esm("../src/compose_closed_ui", {
update_buttons_for_non_specific_views: noop,
});
mock_esm("../src/hash_util", {
by_stream_url: test_url,
channel_url_by_user_setting: test_url,
by_stream_topic_url: test_url,
by_channel_topic_permalink: test_permalink,
by_conversation_and_time_url: test_url,

View File

@@ -45,6 +45,12 @@ mock_esm("../src/settings_notifications", {
mock_esm("../src/overlays", {
streams_open: () => true,
});
const settings_config = zrequire("settings_config");
mock_esm("../src/user_settings", {
user_settings: {
web_channel_default_view: settings_config.web_channel_default_view_values.channel_feed.code,
},
});
const user_group_edit = mock_esm("../src/user_group_edit");
const user_profile = mock_esm("../src/user_profile");

View File

@@ -52,6 +52,7 @@ const settings_config = zrequire("settings_config");
// Start with always filtering out inactive streams.
const user_settings = {
demote_inactive_streams: settings_config.demote_inactive_streams_values.always.code,
web_channel_default_view: settings_config.web_channel_default_view_values.channel_feed.code,
};
initialize_user_settings({user_settings});
stream_list_sort.set_filter_out_inactives();

View File

@@ -13,7 +13,7 @@ const scroll_util = mock_esm("../src/scroll_util", {
});
mock_esm("../src/hash_util", {
by_stream_url() {},
channel_url_by_user_setting() {},
});
mock_esm("../src/browser_history", {

View File

@@ -2,11 +2,17 @@
const assert = require("node:assert/strict");
const {zrequire} = require("./lib/namespace.cjs");
const {zrequire, mock_esm} = require("./lib/namespace.cjs");
const {run_test} = require("./lib/test.cjs");
const topic_link_util = zrequire("topic_link_util");
const stream_data = zrequire("stream_data");
const settings_config = zrequire("settings_config");
mock_esm("../src/user_settings", {
user_settings: {
web_channel_default_view: settings_config.web_channel_default_view_values.channel_feed.code,
},
});
const sweden_stream = {
name: "Sweden",