mirror of https://github.com/zulip/zulip.git
settings: Rename default_view and escape_navigates_to_default_view.
This commit renames default_view and escape_navigates_to_default_view settings to web_home_view and web_escape_navigates_to_home_view in database and API to match with our recent renaming of user facing strings related to this. We also rename the variables, functions, comments in code and class names and IDs for elements related to this.
This commit is contained in:
parent
67dbaaff91
commit
c9fccf476a
|
@ -20,6 +20,14 @@ format used by the Zulip server that they are interacting with.
|
||||||
|
|
||||||
## Changes in Zulip 8.0
|
## Changes in Zulip 8.0
|
||||||
|
|
||||||
|
**Feature level 219**
|
||||||
|
|
||||||
|
* [`PATCH /realm/user_settings_defaults`](/api/update-realm-user-settings-defaults)
|
||||||
|
[`POST /register`](/api/register-queue), [`GET /events`](/api/get-events),
|
||||||
|
[`PATCH /settings`](/api/update-settings): Renamed `default_view` and
|
||||||
|
`escape_navigates_to_default_view` settings to `web_home_view` and
|
||||||
|
`web_escape_navigates_to_home_view` respectively.
|
||||||
|
|
||||||
**Feature level 218**
|
**Feature level 218**
|
||||||
|
|
||||||
* [`POST /messages`](/api/send-message): Added an optional
|
* [`POST /messages`](/api/send-message): Added an optional
|
||||||
|
|
|
@ -33,7 +33,7 @@ DESKTOP_WARNING_VERSION = "5.9.3"
|
||||||
# Changes should be accompanied by documentation explaining what the
|
# Changes should be accompanied by documentation explaining what the
|
||||||
# new level means in api_docs/changelog.md, as well as "**Changes**"
|
# new level means in api_docs/changelog.md, as well as "**Changes**"
|
||||||
# entries in the endpoint's documentation in `zulip.yaml`.
|
# entries in the endpoint's documentation in `zulip.yaml`.
|
||||||
API_FEATURE_LEVEL = 218
|
API_FEATURE_LEVEL = 219
|
||||||
|
|
||||||
# Bump the minor PROVISION_VERSION to indicate that folks should provision
|
# Bump the minor PROVISION_VERSION to indicate that folks should provision
|
||||||
# only when going from an old version of the code to a newer version. Bump
|
# only when going from an old version of the code to a newer version. Bump
|
||||||
|
|
|
@ -184,7 +184,7 @@ export function build_page() {
|
||||||
web_stream_unreads_count_display_policy_values:
|
web_stream_unreads_count_display_policy_values:
|
||||||
settings_config.web_stream_unreads_count_display_policy_values,
|
settings_config.web_stream_unreads_count_display_policy_values,
|
||||||
color_scheme_values: settings_config.color_scheme_values,
|
color_scheme_values: settings_config.color_scheme_values,
|
||||||
default_view_values: settings_config.default_view_values,
|
web_home_view_values: settings_config.web_home_view_values,
|
||||||
settings_object: realm_user_settings_defaults,
|
settings_object: realm_user_settings_defaults,
|
||||||
display_settings: settings_config.get_all_display_settings(),
|
display_settings: settings_config.get_all_display_settings(),
|
||||||
settings_label: settings_config.realm_user_settings_defaults_labels,
|
settings_label: settings_config.realm_user_settings_defaults_labels,
|
||||||
|
|
|
@ -82,7 +82,7 @@ export function update(new_hash: string): void {
|
||||||
export function exit_overlay(): void {
|
export function exit_overlay(): void {
|
||||||
if (hash_parser.is_overlay_hash(window.location.hash) && !state.changing_hash) {
|
if (hash_parser.is_overlay_hash(window.location.hash) && !state.changing_hash) {
|
||||||
ui_util.blur_active_element();
|
ui_util.blur_active_element();
|
||||||
const new_hash = state.hash_before_overlay || `#${user_settings.default_view}`;
|
const new_hash = state.hash_before_overlay || `#${user_settings.web_home_view}`;
|
||||||
update(new_hash);
|
update(new_hash);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,7 @@ export function update_hash_internally_if_required(hash: string): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function return_to_web_public_hash(): void {
|
export function return_to_web_public_hash(): void {
|
||||||
window.location.hash = state.spectator_old_hash ?? `#${user_settings.default_view}`;
|
window.location.hash = state.spectator_old_hash ?? `#${user_settings.web_home_view}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function get_full_url(hash: string): string {
|
export function get_full_url(hash: string): string {
|
||||||
|
@ -146,7 +146,7 @@ export function set_hash(hash: string): void {
|
||||||
// TODO: Delete this case if we don't see any error reports in a while.
|
// TODO: Delete this case if we don't see any error reports in a while.
|
||||||
if (hash === "" || hash === "#") {
|
if (hash === "" || hash === "#") {
|
||||||
// Setting empty hash here would scroll to the top.
|
// Setting empty hash here would scroll to the top.
|
||||||
hash = user_settings.default_view;
|
hash = user_settings.web_home_view;
|
||||||
}
|
}
|
||||||
|
|
||||||
blueslip.error("browser does not support pushState");
|
blueslip.error("browser does not support pushState");
|
||||||
|
|
|
@ -787,7 +787,7 @@ export function initialize() {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|
||||||
hashchange.set_hash_to_default_view();
|
hashchange.set_hash_to_home_view();
|
||||||
});
|
});
|
||||||
|
|
||||||
// MAIN CLICK HANDLER
|
// MAIN CLICK HANDLER
|
||||||
|
|
|
@ -61,13 +61,13 @@ function show_all_message_view() {
|
||||||
setTimeout(message_viewport.maybe_scroll_to_selected, 0);
|
setTimeout(message_viewport.maybe_scroll_to_selected, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function set_hash_to_default_view() {
|
export function set_hash_to_home_view() {
|
||||||
let default_view_hash = `#${user_settings.default_view}`;
|
let home_view_hash = `#${user_settings.web_home_view}`;
|
||||||
if (default_view_hash === "#recent_topics") {
|
if (home_view_hash === "#recent_topics") {
|
||||||
default_view_hash = "#recent";
|
home_view_hash = "#recent";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.location.hash !== default_view_hash) {
|
if (window.location.hash !== home_view_hash) {
|
||||||
// We want to set URL with no hash here. It is not possible
|
// We want to set URL with no hash here. It is not possible
|
||||||
// to do so with `window.location.hash` since it will set an empty
|
// to do so with `window.location.hash` since it will set an empty
|
||||||
// hash. So, we use `pushState` which simply updates the current URL
|
// hash. So, we use `pushState` which simply updates the current URL
|
||||||
|
@ -83,14 +83,14 @@ function hide_non_message_list_views() {
|
||||||
maybe_hide_recent_view();
|
maybe_hide_recent_view();
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_default_view() {
|
function show_home_view() {
|
||||||
hide_non_message_list_views();
|
hide_non_message_list_views();
|
||||||
// This function should only be called from the hashchange
|
// This function should only be called from the hashchange
|
||||||
// handlers, as it does not set the hash to "".
|
// handlers, as it does not set the hash to "".
|
||||||
//
|
//
|
||||||
// We only allow the primary recommended options for default views
|
// We only allow the primary recommended options for home views
|
||||||
// rendered without a hash.
|
// rendered without a hash.
|
||||||
switch (user_settings.default_view) {
|
switch (user_settings.web_home_view) {
|
||||||
case "recent_topics": {
|
case "recent_topics": {
|
||||||
recent_view_ui.show();
|
recent_view_ui.show();
|
||||||
break;
|
break;
|
||||||
|
@ -110,7 +110,7 @@ function show_default_view() {
|
||||||
// go back in browser history. See
|
// go back in browser history. See
|
||||||
// https://chat.zulip.org/#narrow/stream/9-issues/topic/Browser.20back.20button.20on.20RT
|
// https://chat.zulip.org/#narrow/stream/9-issues/topic/Browser.20back.20button.20on.20RT
|
||||||
// for detailed description of the issue.
|
// for detailed description of the issue.
|
||||||
window.location.hash = user_settings.default_view;
|
window.location.hash = user_settings.web_home_view;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -141,11 +141,11 @@ function do_hashchange_normal(from_reload) {
|
||||||
}
|
}
|
||||||
if (operators === undefined) {
|
if (operators === undefined) {
|
||||||
// If the narrow URL didn't parse,
|
// If the narrow URL didn't parse,
|
||||||
// send them to default_view.
|
// send them to web_home_view.
|
||||||
// We cannot clear hash here since
|
// We cannot clear hash here since
|
||||||
// it will block user from going back
|
// it will block user from going back
|
||||||
// in browser history.
|
// in browser history.
|
||||||
show_default_view();
|
show_home_view();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const narrow_opts = {
|
const narrow_opts = {
|
||||||
|
@ -171,7 +171,7 @@ function do_hashchange_normal(from_reload) {
|
||||||
}
|
}
|
||||||
case "":
|
case "":
|
||||||
case "#":
|
case "#":
|
||||||
show_default_view();
|
show_home_view();
|
||||||
break;
|
break;
|
||||||
case "#recent_topics":
|
case "#recent_topics":
|
||||||
// The URL for Recent Conversations was changed from
|
// The URL for Recent Conversations was changed from
|
||||||
|
@ -208,7 +208,7 @@ function do_hashchange_normal(from_reload) {
|
||||||
blueslip.error("overlay logic skipped for: " + hash);
|
blueslip.error("overlay logic skipped for: " + hash);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
show_default_view();
|
show_home_view();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -216,8 +216,8 @@ function do_hashchange_normal(from_reload) {
|
||||||
function do_hashchange_overlay(old_hash) {
|
function do_hashchange_overlay(old_hash) {
|
||||||
if (old_hash === undefined) {
|
if (old_hash === undefined) {
|
||||||
// The user opened the app with an overlay hash; we need to
|
// The user opened the app with an overlay hash; we need to
|
||||||
// show the user's default view behind it.
|
// show the user's home view behind it.
|
||||||
show_default_view();
|
show_home_view();
|
||||||
}
|
}
|
||||||
const base = hash_parser.get_current_hash_category();
|
const base = hash_parser.get_current_hash_category();
|
||||||
const old_base = hash_parser.get_hash_category(old_hash);
|
const old_base = hash_parser.get_hash_category(old_hash);
|
||||||
|
@ -225,7 +225,7 @@ function do_hashchange_overlay(old_hash) {
|
||||||
|
|
||||||
if (base === "groups" && (!page_params.development_environment || page_params.is_guest)) {
|
if (base === "groups" && (!page_params.development_environment || page_params.is_guest)) {
|
||||||
// The #groups settings page is unfinished, and disabled in production.
|
// The #groups settings page is unfinished, and disabled in production.
|
||||||
show_default_view();
|
show_home_view();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -350,10 +350,10 @@ export function process_escape_key(e) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The Ctrl+[ hotkey navigates to the default view
|
/* The Ctrl+[ hotkey navigates to the home view
|
||||||
* unconditionally; Esc's behavior depends on a setting. */
|
* unconditionally; Esc's behavior depends on a setting. */
|
||||||
if (user_settings.escape_navigates_to_default_view || e.which === 219) {
|
if (user_settings.web_escape_navigates_to_home_view || e.which === 219) {
|
||||||
hashchange.set_hash_to_default_view();
|
hashchange.set_hash_to_home_view();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -294,9 +294,9 @@ export function set_up_toggler() {
|
||||||
|
|
||||||
$(".informational-overlays .overlay-tabs").append($elem);
|
$(".informational-overlays .overlay-tabs").append($elem);
|
||||||
|
|
||||||
$("#go-to-default-view-hotkey-help").toggleClass(
|
$("#go-to-home-view-hotkey-help").toggleClass(
|
||||||
"notdisplayed",
|
"notdisplayed",
|
||||||
!user_settings.escape_navigates_to_default_view,
|
!user_settings.web_escape_navigates_to_home_view,
|
||||||
);
|
);
|
||||||
common.adjust_mac_kbd_tags(".hotkeys_table .hotkey kbd");
|
common.adjust_mac_kbd_tags(".hotkeys_table .hotkey kbd");
|
||||||
common.adjust_mac_kbd_tags("#markdown-instructions kbd");
|
common.adjust_mac_kbd_tags("#markdown-instructions kbd");
|
||||||
|
|
|
@ -142,17 +142,17 @@ export function highlight_inbox_view() {
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function handle_home_view_changed(new_default_view) {
|
export function handle_home_view_changed(new_home_view) {
|
||||||
const $recent_view_sidebar_menu_icon = $(".recent-view-sidebar-menu-icon");
|
const $recent_view_sidebar_menu_icon = $(".recent-view-sidebar-menu-icon");
|
||||||
const $all_messages_sidebar_menu_icon = $(".all-messages-sidebar-menu-icon");
|
const $all_messages_sidebar_menu_icon = $(".all-messages-sidebar-menu-icon");
|
||||||
if (new_default_view === settings_config.default_view_values.all_messages.code) {
|
if (new_home_view === settings_config.web_home_view_values.all_messages.code) {
|
||||||
$recent_view_sidebar_menu_icon.removeClass("hide");
|
$recent_view_sidebar_menu_icon.removeClass("hide");
|
||||||
$all_messages_sidebar_menu_icon.addClass("hide");
|
$all_messages_sidebar_menu_icon.addClass("hide");
|
||||||
} else if (new_default_view === settings_config.default_view_values.recent_topics.code) {
|
} else if (new_home_view === settings_config.web_home_view_values.recent_topics.code) {
|
||||||
$recent_view_sidebar_menu_icon.addClass("hide");
|
$recent_view_sidebar_menu_icon.addClass("hide");
|
||||||
$all_messages_sidebar_menu_icon.removeClass("hide");
|
$all_messages_sidebar_menu_icon.removeClass("hide");
|
||||||
} else {
|
} else {
|
||||||
// Inbox is default view.
|
// Inbox is home view.
|
||||||
$recent_view_sidebar_menu_icon.removeClass("hide");
|
$recent_view_sidebar_menu_icon.removeClass("hide");
|
||||||
$all_messages_sidebar_menu_icon.removeClass("hide");
|
$all_messages_sidebar_menu_icon.removeClass("hide");
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,12 @@ import * as unread_ops from "./unread_ops";
|
||||||
import {user_settings} from "./user_settings";
|
import {user_settings} from "./user_settings";
|
||||||
|
|
||||||
function common_click_handlers() {
|
function common_click_handlers() {
|
||||||
$("body").on("click", ".set-default-view", (e) => {
|
$("body").on("click", ".set-home-view", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
const default_view = $(e.currentTarget).attr("data-view-code");
|
const web_home_view = $(e.currentTarget).attr("data-view-code");
|
||||||
const data = {default_view};
|
const data = {web_home_view};
|
||||||
channel.patch({
|
channel.patch({
|
||||||
url: "/json/settings",
|
url: "/json/settings",
|
||||||
data,
|
data,
|
||||||
|
@ -116,11 +116,11 @@ export function initialize() {
|
||||||
},
|
},
|
||||||
onShow(instance) {
|
onShow(instance) {
|
||||||
popovers.hide_all();
|
popovers.hide_all();
|
||||||
const view_code = settings_config.default_view_values.inbox.code;
|
const view_code = settings_config.web_home_view_values.inbox.code;
|
||||||
instance.setContent(
|
instance.setContent(
|
||||||
parse_html(
|
parse_html(
|
||||||
render_left_sidebar_inbox_popover({
|
render_left_sidebar_inbox_popover({
|
||||||
is_default_view: user_settings.default_view === view_code,
|
is_home_view: user_settings.web_home_view === view_code,
|
||||||
view_code,
|
view_code,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
@ -138,11 +138,11 @@ export function initialize() {
|
||||||
onShow(instance) {
|
onShow(instance) {
|
||||||
popover_menus.popover_instances.left_sidebar_all_messages_popover = instance;
|
popover_menus.popover_instances.left_sidebar_all_messages_popover = instance;
|
||||||
popovers.hide_all();
|
popovers.hide_all();
|
||||||
const view_code = settings_config.default_view_values.all_messages.code;
|
const view_code = settings_config.web_home_view_values.all_messages.code;
|
||||||
instance.setContent(
|
instance.setContent(
|
||||||
parse_html(
|
parse_html(
|
||||||
render_left_sidebar_all_messages_popover({
|
render_left_sidebar_all_messages_popover({
|
||||||
is_default_view: user_settings.default_view === view_code,
|
is_home_view: user_settings.web_home_view === view_code,
|
||||||
view_code,
|
view_code,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
@ -160,11 +160,11 @@ export function initialize() {
|
||||||
onShow(instance) {
|
onShow(instance) {
|
||||||
popover_menus.popover_instances.left_sidebar_recent_view_popover = instance;
|
popover_menus.popover_instances.left_sidebar_recent_view_popover = instance;
|
||||||
popovers.hide_all();
|
popovers.hide_all();
|
||||||
const view_code = settings_config.default_view_values.recent_topics.code;
|
const view_code = settings_config.web_home_view_values.recent_topics.code;
|
||||||
instance.setContent(
|
instance.setContent(
|
||||||
parse_html(
|
parse_html(
|
||||||
render_left_sidebar_recent_view_popover({
|
render_left_sidebar_recent_view_popover({
|
||||||
is_default_view: user_settings.default_view === view_code,
|
is_home_view: user_settings.web_home_view === view_code,
|
||||||
view_code,
|
view_code,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
export type RealmDefaultSettings = {
|
export type RealmDefaultSettings = {
|
||||||
color_scheme: number;
|
color_scheme: number;
|
||||||
default_language: string;
|
default_language: string;
|
||||||
default_view: string;
|
web_home_view: string;
|
||||||
desktop_icon_count_display: number;
|
desktop_icon_count_display: number;
|
||||||
demote_inactive_streams: number;
|
demote_inactive_streams: number;
|
||||||
dense_mode: boolean;
|
dense_mode: boolean;
|
||||||
|
@ -27,7 +27,7 @@ export type RealmDefaultSettings = {
|
||||||
enable_followed_topic_email_notifications: boolean;
|
enable_followed_topic_email_notifications: boolean;
|
||||||
enable_followed_topic_wildcard_mentions_notify: boolean;
|
enable_followed_topic_wildcard_mentions_notify: boolean;
|
||||||
enter_sends: boolean;
|
enter_sends: boolean;
|
||||||
escape_navigates_to_default_view: boolean;
|
web_escape_navigates_to_home_view: boolean;
|
||||||
fluid_layout_width: boolean;
|
fluid_layout_width: boolean;
|
||||||
high_contrast_mode: boolean;
|
high_contrast_mode: boolean;
|
||||||
message_content_in_email_notifications: boolean;
|
message_content_in_email_notifications: boolean;
|
||||||
|
|
|
@ -688,12 +688,12 @@ export function dispatch_normal_event(event) {
|
||||||
const user_display_settings = [
|
const user_display_settings = [
|
||||||
"color_scheme",
|
"color_scheme",
|
||||||
"default_language",
|
"default_language",
|
||||||
"default_view",
|
"web_home_view",
|
||||||
"demote_inactive_streams",
|
"demote_inactive_streams",
|
||||||
"dense_mode",
|
"dense_mode",
|
||||||
"web_mark_read_on_scroll_policy",
|
"web_mark_read_on_scroll_policy",
|
||||||
"emojiset",
|
"emojiset",
|
||||||
"escape_navigates_to_default_view",
|
"web_escape_navigates_to_home_view",
|
||||||
"fluid_layout_width",
|
"fluid_layout_width",
|
||||||
"high_contrast_mode",
|
"high_contrast_mode",
|
||||||
"timezone",
|
"timezone",
|
||||||
|
@ -708,7 +708,7 @@ export function dispatch_normal_event(event) {
|
||||||
"send_read_receipts",
|
"send_read_receipts",
|
||||||
];
|
];
|
||||||
|
|
||||||
const original_default_view = user_settings.default_view;
|
const original_home_view = user_settings.web_home_view;
|
||||||
if (user_display_settings.includes(event.property)) {
|
if (user_display_settings.includes(event.property)) {
|
||||||
user_settings[event.property] = event.value;
|
user_settings[event.property] = event.value;
|
||||||
}
|
}
|
||||||
|
@ -721,21 +721,19 @@ export function dispatch_normal_event(event) {
|
||||||
// present in the backend/Jinja2 templates.
|
// present in the backend/Jinja2 templates.
|
||||||
settings_display.set_default_language_name(event.language_name);
|
settings_display.set_default_language_name(event.language_name);
|
||||||
}
|
}
|
||||||
if (event.property === "default_view") {
|
if (event.property === "web_home_view") {
|
||||||
left_sidebar_navigation_area.handle_home_view_changed(event.value);
|
left_sidebar_navigation_area.handle_home_view_changed(event.value);
|
||||||
|
|
||||||
// If current hash is empty (default view), and the
|
// If current hash is empty (home view), and the
|
||||||
// user changes the default view while in settings,
|
// user changes the home view while in settings,
|
||||||
// then going back to an empty hash on closing the
|
// then going back to an empty hash on closing the
|
||||||
// overlay will not match the view currently displayed
|
// overlay will not match the view currently displayed
|
||||||
// under settings, so we set the hash to the previous
|
// under settings, so we set the hash to the previous
|
||||||
// value of the default view.
|
// value of the home view.
|
||||||
if (!browser_history.state.hash_before_overlay && overlays.settings_open()) {
|
if (!browser_history.state.hash_before_overlay && overlays.settings_open()) {
|
||||||
browser_history.state.hash_before_overlay =
|
browser_history.state.hash_before_overlay =
|
||||||
"#" +
|
"#" +
|
||||||
(original_default_view === "recent_topics"
|
(original_home_view === "recent_topics" ? "recent" : original_home_view);
|
||||||
? "recent"
|
|
||||||
: original_default_view);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (event.property === "twenty_four_hour_time") {
|
if (event.property === "twenty_four_hour_time") {
|
||||||
|
@ -809,8 +807,8 @@ export function dispatch_normal_event(event) {
|
||||||
if (event.property === "display_emoji_reaction_users") {
|
if (event.property === "display_emoji_reaction_users") {
|
||||||
message_live_update.rerender_messages_view();
|
message_live_update.rerender_messages_view();
|
||||||
}
|
}
|
||||||
if (event.property === "escape_navigates_to_default_view") {
|
if (event.property === "web_escape_navigates_to_home_view") {
|
||||||
$("#go-to-default-view-hotkey-help").toggleClass("notdisplayed", !event.value);
|
$("#go-to-home-view-hotkey-help").toggleClass("notdisplayed", !event.value);
|
||||||
}
|
}
|
||||||
if (event.property === "enter_sends") {
|
if (event.property === "enter_sends") {
|
||||||
user_settings.enter_sends = event.value;
|
user_settings.enter_sends = event.value;
|
||||||
|
|
|
@ -123,7 +123,7 @@ export function build_page() {
|
||||||
web_stream_unreads_count_display_policy_values:
|
web_stream_unreads_count_display_policy_values:
|
||||||
settings_config.web_stream_unreads_count_display_policy_values,
|
settings_config.web_stream_unreads_count_display_policy_values,
|
||||||
color_scheme_values: settings_config.color_scheme_values,
|
color_scheme_values: settings_config.color_scheme_values,
|
||||||
default_view_values: settings_config.default_view_values,
|
web_home_view_values: settings_config.web_home_view_values,
|
||||||
twenty_four_hour_time_values: settings_config.twenty_four_hour_time_values,
|
twenty_four_hour_time_values: settings_config.twenty_four_hour_time_values,
|
||||||
general_settings: settings_config.all_notifications(user_settings).general_settings,
|
general_settings: settings_config.all_notifications(user_settings).general_settings,
|
||||||
notification_settings: settings_config.all_notifications(user_settings).settings,
|
notification_settings: settings_config.all_notifications(user_settings).settings,
|
||||||
|
|
|
@ -87,7 +87,7 @@ export const web_stream_unreads_count_display_policy_values = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const default_view_values = {
|
export const web_home_view_values = {
|
||||||
inbox: {
|
inbox: {
|
||||||
code: "inbox",
|
code: "inbox",
|
||||||
description: $t({defaultMessage: "Inbox"}),
|
description: $t({defaultMessage: "Inbox"}),
|
||||||
|
@ -553,7 +553,7 @@ export const display_settings_labels = {
|
||||||
"Display names of reacting users when few users have reacted to a message",
|
"Display names of reacting users when few users have reacted to a message",
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
escape_navigates_to_default_view: $t({defaultMessage: "Escape key navigates to home view"}),
|
web_escape_navigates_to_home_view: $t({defaultMessage: "Escape key navigates to home view"}),
|
||||||
default_language_settings_label: $t({defaultMessage: "Language"}),
|
default_language_settings_label: $t({defaultMessage: "Language"}),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -166,7 +166,7 @@ export function set_up(settings_panel) {
|
||||||
.find(".setting_demote_inactive_streams")
|
.find(".setting_demote_inactive_streams")
|
||||||
.val(settings_object.demote_inactive_streams);
|
.val(settings_object.demote_inactive_streams);
|
||||||
$container.find(".setting_color_scheme").val(settings_object.color_scheme);
|
$container.find(".setting_color_scheme").val(settings_object.color_scheme);
|
||||||
$container.find(".setting_default_view").val(settings_object.default_view);
|
$container.find(".setting_web_home_view").val(settings_object.web_home_view);
|
||||||
$container
|
$container
|
||||||
.find(".setting_twenty_four_hour_time")
|
.find(".setting_twenty_four_hour_time")
|
||||||
.val(JSON.stringify(settings_object.twenty_four_hour_time));
|
.val(JSON.stringify(settings_object.twenty_four_hour_time));
|
||||||
|
|
|
@ -149,7 +149,7 @@ export function initialize() {
|
||||||
appendTo: () => document.body,
|
appendTo: () => document.body,
|
||||||
onShow(instance) {
|
onShow(instance) {
|
||||||
const $container = instance.popper.querySelector(".views-tooltip-container");
|
const $container = instance.popper.querySelector(".views-tooltip-container");
|
||||||
if ($($container).data("view-code") === user_settings.default_view) {
|
if ($($container).data("view-code") === user_settings.web_home_view) {
|
||||||
$($container).find(".views-tooltip-home-view-note").removeClass("hide");
|
$($container).find(".views-tooltip-home-view-note").removeClass("hide");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -164,10 +164,10 @@ function initialize_left_sidebar() {
|
||||||
const rendered_sidebar = render_left_sidebar({
|
const rendered_sidebar = render_left_sidebar({
|
||||||
is_guest: page_params.is_guest,
|
is_guest: page_params.is_guest,
|
||||||
development_environment: page_params.development_environment,
|
development_environment: page_params.development_environment,
|
||||||
is_all_messages_default_view:
|
is_all_messages_home_view:
|
||||||
user_settings.default_view === settings_config.default_view_values.all_messages.code,
|
user_settings.web_home_view === settings_config.web_home_view_values.all_messages.code,
|
||||||
is_recent_view_default_view:
|
is_recent_view_home_view:
|
||||||
user_settings.default_view === settings_config.default_view_values.recent_topics.code,
|
user_settings.web_home_view === settings_config.web_home_view_values.recent_topics.code,
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#left-sidebar-container").html(rendered_sidebar);
|
$("#left-sidebar-container").html(rendered_sidebar);
|
||||||
|
|
|
@ -26,7 +26,7 @@ export type UserSettings = (StreamNotificationSettings &
|
||||||
FollowedTopicNotificationSettings) & {
|
FollowedTopicNotificationSettings) & {
|
||||||
color_scheme: number;
|
color_scheme: number;
|
||||||
default_language: string;
|
default_language: string;
|
||||||
default_view: string;
|
web_home_view: string;
|
||||||
desktop_icon_count_display: number;
|
desktop_icon_count_display: number;
|
||||||
demote_inactive_streams: number;
|
demote_inactive_streams: number;
|
||||||
dense_mode: boolean;
|
dense_mode: boolean;
|
||||||
|
@ -39,7 +39,7 @@ export type UserSettings = (StreamNotificationSettings &
|
||||||
enable_marketing_emails: boolean;
|
enable_marketing_emails: boolean;
|
||||||
enable_online_push_notifications: boolean;
|
enable_online_push_notifications: boolean;
|
||||||
enter_sends: boolean;
|
enter_sends: boolean;
|
||||||
escape_navigates_to_default_view: boolean;
|
web_escape_navigates_to_home_view: boolean;
|
||||||
fluid_layout_width: boolean;
|
fluid_layout_width: boolean;
|
||||||
high_contrast_mode: boolean;
|
high_contrast_mode: boolean;
|
||||||
message_content_in_email_notifications: boolean;
|
message_content_in_email_notifications: boolean;
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="definition">{{t 'Go to home view' }}</td>
|
<td class="definition">{{t 'Go to home view' }}</td>
|
||||||
<td><span class="hotkey"><kbd>Ctrl</kbd> + <kbd>[</kbd><span id="go-to-default-view-hotkey-help"> or <kbd>Esc</kbd></span></span></td>
|
<td><span class="hotkey"><kbd>Ctrl</kbd> + <kbd>[</kbd><span id="go-to-home-view-hotkey-help"> or <kbd>Esc</kbd></span></span></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
{{~!-- squash whitespace --~}}
|
{{~!-- squash whitespace --~}}
|
||||||
<span class="left-sidebar-navigation-label">{{t 'Recent conversations' }}</span>
|
<span class="left-sidebar-navigation-label">{{t 'Recent conversations' }}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="arrow sidebar-menu-icon recent-view-sidebar-menu-icon hidden-for-spectators {{#if is_recent_view_default_view}}hide{{/if}}">
|
<span class="arrow sidebar-menu-icon recent-view-sidebar-menu-icon hidden-for-spectators {{#if is_recent_view_home_view}}hide{{/if}}">
|
||||||
<i class="zulip-icon zulip-icon-more-vertical" aria-hidden="true"></i>
|
<i class="zulip-icon zulip-icon-more-vertical" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
{{~!-- squash whitespace --~}}
|
{{~!-- squash whitespace --~}}
|
||||||
<span class="left-sidebar-navigation-label">{{t 'All messages' }}</span>
|
<span class="left-sidebar-navigation-label">{{t 'All messages' }}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="arrow sidebar-menu-icon all-messages-sidebar-menu-icon hidden-for-spectators {{#if is_all_messages_default_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}}">
|
||||||
<i class="zulip-icon zulip-icon-more-vertical" aria-hidden="true"></i>
|
<i class="zulip-icon zulip-icon-more-vertical" aria-hidden="true"></i>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<ul class="nav nav-list">
|
<ul class="nav nav-list">
|
||||||
<li>
|
<li>
|
||||||
<a tabindex="0" class="set-default-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>all messages</b> my home view
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
{{t "Mark all messages as read" }}
|
{{t "Mark all messages as read" }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{{#unless is_default_view}}
|
{{#unless is_home_view}}
|
||||||
<li>
|
<li>
|
||||||
<a tabindex="0" class="set-default-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>inbox</b> my home view
|
Make <b>inbox</b> my home view
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<ul class="nav nav-list">
|
<ul class="nav nav-list">
|
||||||
<li>
|
<li>
|
||||||
<a tabindex="0" class="set-default-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>recent conversation</b> my home view
|
Make <b>recent conversation</b> my home view
|
||||||
|
|
|
@ -125,18 +125,18 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-group thinner setting-next-is-related">
|
<div class="input-group thinner setting-next-is-related">
|
||||||
<label for="default_view" class="dropdown-title">{{t "Home view" }}
|
<label for="web_home_view" class="dropdown-title">{{t "Home view" }}
|
||||||
{{> ../help_link_widget link="/help/configure-home-view" }}
|
{{> ../help_link_widget link="/help/configure-home-view" }}
|
||||||
</label>
|
</label>
|
||||||
<select name="default_view" class="setting_default_view prop-element settings_select bootstrap-focus-style" id="{{prefix}}default_view" data-setting-widget-type="string">
|
<select name="web_home_view" class="setting_web_home_view prop-element settings_select bootstrap-focus-style" id="{{prefix}}web_home_view" data-setting-widget-type="string">
|
||||||
{{> dropdown_options_widget option_values=default_view_values}}
|
{{> dropdown_options_widget option_values=web_home_view_values}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{> settings_checkbox
|
{{> settings_checkbox
|
||||||
setting_name="escape_navigates_to_default_view"
|
setting_name="web_escape_navigates_to_home_view"
|
||||||
is_checked=settings_object.escape_navigates_to_default_view
|
is_checked=settings_object.web_escape_navigates_to_home_view
|
||||||
label=settings_label.escape_navigates_to_default_view
|
label=settings_label.web_escape_navigates_to_home_view
|
||||||
prefix=prefix}}
|
prefix=prefix}}
|
||||||
|
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|
|
@ -14,7 +14,7 @@ const browser_history = zrequire("browser_history");
|
||||||
|
|
||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (...args) => {
|
run_test(label, (...args) => {
|
||||||
user_settings.default_view = "recent";
|
user_settings.web_home_view = "recent";
|
||||||
window.location.hash = "#bogus";
|
window.location.hash = "#bogus";
|
||||||
browser_history.clear_for_testing();
|
browser_history.clear_for_testing();
|
||||||
f(...args);
|
f(...args);
|
||||||
|
|
|
@ -867,14 +867,14 @@ run_test("user_settings", ({override}) => {
|
||||||
dispatch(event);
|
dispatch(event);
|
||||||
assert_same(user_settings.default_language, "fr");
|
assert_same(user_settings.default_language, "fr");
|
||||||
|
|
||||||
event = event_fixtures.user_settings__escape_navigates_to_default_view;
|
event = event_fixtures.user_settings__web_escape_navigates_to_home_view;
|
||||||
user_settings.escape_navigates_to_default_view = false;
|
user_settings.web_escape_navigates_to_home_view = false;
|
||||||
let toggled = [];
|
let toggled = [];
|
||||||
$("#go-to-default-view-hotkey-help").toggleClass = (cls) => {
|
$("#go-to-home-view-hotkey-help").toggleClass = (cls) => {
|
||||||
toggled.push(cls);
|
toggled.push(cls);
|
||||||
};
|
};
|
||||||
dispatch(event);
|
dispatch(event);
|
||||||
assert_same(user_settings.escape_navigates_to_default_view, true);
|
assert_same(user_settings.web_escape_navigates_to_home_view, true);
|
||||||
assert_same(toggled, ["notdisplayed"]);
|
assert_same(toggled, ["notdisplayed"]);
|
||||||
|
|
||||||
let called = false;
|
let called = false;
|
||||||
|
@ -945,24 +945,24 @@ run_test("user_settings", ({override}) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
event = event_fixtures.user_settings__default_view_recent_topics;
|
event = event_fixtures.user_settings__web_home_view_recent_topics;
|
||||||
user_settings.default_view = "all_messages";
|
user_settings.web_home_view = "all_messages";
|
||||||
dispatch(event);
|
dispatch(event);
|
||||||
assert.equal(user_settings.default_view, "recent_topics");
|
assert.equal(user_settings.web_home_view, "recent_topics");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
event = event_fixtures.user_settings__default_view_all_messages;
|
event = event_fixtures.user_settings__web_home_view_all_messages;
|
||||||
user_settings.default_view = "recent_topics";
|
user_settings.web_home_view = "recent_topics";
|
||||||
dispatch(event);
|
dispatch(event);
|
||||||
assert.equal(user_settings.default_view, "all_messages");
|
assert.equal(user_settings.web_home_view, "all_messages");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
event = event_fixtures.user_settings__default_view_inbox;
|
event = event_fixtures.user_settings__web_home_view_inbox;
|
||||||
user_settings.default_view = "all_messages";
|
user_settings.web_home_view = "all_messages";
|
||||||
dispatch(event);
|
dispatch(event);
|
||||||
assert.equal(user_settings.default_view, "inbox");
|
assert.equal(user_settings.web_home_view, "inbox");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -166,7 +166,7 @@ function test_helper({override, override_rewire, change_tab}) {
|
||||||
|
|
||||||
run_test("hash_interactions", ({override, override_rewire}) => {
|
run_test("hash_interactions", ({override, override_rewire}) => {
|
||||||
$window_stub = $.create("window-stub");
|
$window_stub = $.create("window-stub");
|
||||||
user_settings.default_view = "recent_topics";
|
user_settings.web_home_view = "recent_topics";
|
||||||
|
|
||||||
const helper = test_helper({override, override_rewire, change_tab: true});
|
const helper = test_helper({override, override_rewire, change_tab: true});
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ run_test("hash_interactions", ({override, override_rewire}) => {
|
||||||
|
|
||||||
browser_history.clear_for_testing();
|
browser_history.clear_for_testing();
|
||||||
hashchange.initialize();
|
hashchange.initialize();
|
||||||
// If it's an unknown hash it should show the default view.
|
// If it's an unknown hash it should show the home view.
|
||||||
assert.equal(recent_view_ui_shown, true);
|
assert.equal(recent_view_ui_shown, true);
|
||||||
assert.equal(hide_all_called, true);
|
assert.equal(hide_all_called, true);
|
||||||
helper.assert_events([
|
helper.assert_events([
|
||||||
|
@ -273,7 +273,7 @@ run_test("hash_interactions", ({override, override_rewire}) => {
|
||||||
helper.clear_events();
|
helper.clear_events();
|
||||||
$window_stub.trigger("hashchange");
|
$window_stub.trigger("hashchange");
|
||||||
helper.assert_events([]);
|
helper.assert_events([]);
|
||||||
// If it's reload hash it shouldn't show the default view.
|
// If it's reload hash it shouldn't show the home view.
|
||||||
assert.equal(recent_view_ui_shown, false);
|
assert.equal(recent_view_ui_shown, false);
|
||||||
|
|
||||||
window.location.hash = "#keyboard-shortcuts/whatever";
|
window.location.hash = "#keyboard-shortcuts/whatever";
|
||||||
|
|
|
@ -913,27 +913,6 @@ exports.fixtures = {
|
||||||
language_name: "French",
|
language_name: "French",
|
||||||
},
|
},
|
||||||
|
|
||||||
user_settings__default_view_all_messages: {
|
|
||||||
type: "user_settings",
|
|
||||||
op: "update",
|
|
||||||
property: "default_view",
|
|
||||||
value: "all_messages",
|
|
||||||
},
|
|
||||||
|
|
||||||
user_settings__default_view_inbox: {
|
|
||||||
type: "user_settings",
|
|
||||||
op: "update",
|
|
||||||
property: "default_view",
|
|
||||||
value: "inbox",
|
|
||||||
},
|
|
||||||
|
|
||||||
user_settings__default_view_recent_topics: {
|
|
||||||
type: "user_settings",
|
|
||||||
op: "update",
|
|
||||||
property: "default_view",
|
|
||||||
value: "recent_topics",
|
|
||||||
},
|
|
||||||
|
|
||||||
user_settings__demote_inactive_streams: {
|
user_settings__demote_inactive_streams: {
|
||||||
type: "user_settings",
|
type: "user_settings",
|
||||||
op: "update",
|
op: "update",
|
||||||
|
@ -983,13 +962,6 @@ exports.fixtures = {
|
||||||
value: true,
|
value: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
user_settings__escape_navigates_to_default_view: {
|
|
||||||
type: "user_settings",
|
|
||||||
op: "update",
|
|
||||||
property: "escape_navigates_to_default_view",
|
|
||||||
value: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
user_settings__fluid_layout_width: {
|
user_settings__fluid_layout_width: {
|
||||||
type: "user_settings",
|
type: "user_settings",
|
||||||
op: "update",
|
op: "update",
|
||||||
|
@ -1053,6 +1025,34 @@ exports.fixtures = {
|
||||||
value: 2,
|
value: 2,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
user_settings__web_escape_navigates_to_home_view: {
|
||||||
|
type: "user_settings",
|
||||||
|
op: "update",
|
||||||
|
property: "web_escape_navigates_to_home_view",
|
||||||
|
value: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
user_settings__web_home_view_all_messages: {
|
||||||
|
type: "user_settings",
|
||||||
|
op: "update",
|
||||||
|
property: "web_home_view",
|
||||||
|
value: "all_messages",
|
||||||
|
},
|
||||||
|
|
||||||
|
user_settings__web_home_view_inbox: {
|
||||||
|
type: "user_settings",
|
||||||
|
op: "update",
|
||||||
|
property: "web_home_view",
|
||||||
|
value: "inbox",
|
||||||
|
},
|
||||||
|
|
||||||
|
user_settings__web_home_view_recent_topics: {
|
||||||
|
type: "user_settings",
|
||||||
|
op: "update",
|
||||||
|
property: "web_home_view",
|
||||||
|
value: "recent_topics",
|
||||||
|
},
|
||||||
|
|
||||||
user_settings__web_mark_read_on_scroll_policy: {
|
user_settings__web_mark_read_on_scroll_policy: {
|
||||||
type: "user_settings",
|
type: "user_settings",
|
||||||
op: "update",
|
op: "update",
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
# Generated by Django 4.2.6 on 2023-10-25 14:49
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
("zerver", "0482_automatically_follow_unmute_topics_policy_defaults"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="realmuserdefault",
|
||||||
|
old_name="escape_navigates_to_default_view",
|
||||||
|
new_name="web_escape_navigates_to_home_view",
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="realmuserdefault",
|
||||||
|
old_name="default_view",
|
||||||
|
new_name="web_home_view",
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="userprofile",
|
||||||
|
old_name="escape_navigates_to_default_view",
|
||||||
|
new_name="web_escape_navigates_to_home_view",
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="userprofile",
|
||||||
|
old_name="default_view",
|
||||||
|
new_name="web_home_view",
|
||||||
|
),
|
||||||
|
]
|
|
@ -1534,8 +1534,8 @@ class UserBaseSettings(models.Model):
|
||||||
default_language = models.CharField(default="en", max_length=MAX_LANGUAGE_ID_LENGTH)
|
default_language = models.CharField(default="en", max_length=MAX_LANGUAGE_ID_LENGTH)
|
||||||
# This setting controls which view is rendered first when Zulip loads.
|
# This setting controls which view is rendered first when Zulip loads.
|
||||||
# Values for it are URL suffix after `#`.
|
# Values for it are URL suffix after `#`.
|
||||||
default_view = models.TextField(default="recent_topics")
|
web_home_view = models.TextField(default="recent_topics")
|
||||||
escape_navigates_to_default_view = models.BooleanField(default=True)
|
web_escape_navigates_to_home_view = models.BooleanField(default=True)
|
||||||
dense_mode = models.BooleanField(default=True)
|
dense_mode = models.BooleanField(default=True)
|
||||||
fluid_layout_width = models.BooleanField(default=False)
|
fluid_layout_width = models.BooleanField(default=False)
|
||||||
high_contrast_mode = models.BooleanField(default=False)
|
high_contrast_mode = models.BooleanField(default=False)
|
||||||
|
@ -1732,7 +1732,7 @@ class UserBaseSettings(models.Model):
|
||||||
# Instead, see `modern_settings` below.
|
# Instead, see `modern_settings` below.
|
||||||
color_scheme=int,
|
color_scheme=int,
|
||||||
default_language=str,
|
default_language=str,
|
||||||
default_view=str,
|
web_home_view=str,
|
||||||
demote_inactive_streams=int,
|
demote_inactive_streams=int,
|
||||||
dense_mode=bool,
|
dense_mode=bool,
|
||||||
emojiset=str,
|
emojiset=str,
|
||||||
|
@ -1775,7 +1775,7 @@ class UserBaseSettings(models.Model):
|
||||||
# Add new general settings here.
|
# Add new general settings here.
|
||||||
display_emoji_reaction_users=bool,
|
display_emoji_reaction_users=bool,
|
||||||
email_address_visibility=int,
|
email_address_visibility=int,
|
||||||
escape_navigates_to_default_view=bool,
|
web_escape_navigates_to_home_view=bool,
|
||||||
send_private_typing_notifications=bool,
|
send_private_typing_notifications=bool,
|
||||||
send_read_receipts=bool,
|
send_read_receipts=bool,
|
||||||
send_stream_typing_notifications=bool,
|
send_stream_typing_notifications=bool,
|
||||||
|
|
|
@ -10032,25 +10032,29 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: boolean
|
type: boolean
|
||||||
example: false
|
example: false
|
||||||
- name: default_view
|
- name: web_home_view
|
||||||
in: query
|
in: query
|
||||||
description: |
|
description: |
|
||||||
The [default view](/help/configure-home-view) used when opening a new
|
The [home view](/help/configure-home-view) used when opening a new
|
||||||
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
||||||
|
|
||||||
- "recent_topics" - Recent conversations view
|
- "recent_topics" - Recent conversations view
|
||||||
- "inbox" - Inbox view
|
- "inbox" - Inbox view
|
||||||
- "all_messages" - All messages view
|
- "all_messages" - All messages view
|
||||||
|
|
||||||
|
**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).
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: all_messages
|
example: all_messages
|
||||||
- name: escape_navigates_to_default_view
|
- name: web_escape_navigates_to_home_view
|
||||||
in: query
|
in: query
|
||||||
description: |
|
description: |
|
||||||
Whether the escape key navigates to the
|
Whether the escape key navigates to the
|
||||||
[configured default view](/help/configure-home-view).
|
[configured home view](/help/configure-home-view).
|
||||||
|
|
||||||
**Changes**: New in Zulip 5.0 (feature level 107).
|
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this was called
|
||||||
|
`escape_navigates_to_default_view`, which was new in Zulip 5.0 (feature level 107).
|
||||||
schema:
|
schema:
|
||||||
type: boolean
|
type: boolean
|
||||||
example: true
|
example: true
|
||||||
|
@ -12369,22 +12373,27 @@ paths:
|
||||||
|
|
||||||
The value needs to be a standard language code that the Zulip server has
|
The value needs to be a standard language code that the Zulip server has
|
||||||
translation data for; for example, `"en"` for English or `"de"` for German.
|
translation data for; for example, `"en"` for English or `"de"` for German.
|
||||||
default_view:
|
web_home_view:
|
||||||
type: string
|
type: string
|
||||||
description: |
|
description: |
|
||||||
The [default view](/help/configure-home-view) used when opening a new
|
The [home view](/help/configure-home-view) used when opening a new
|
||||||
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
||||||
|
|
||||||
- "recent_topics" - Recent conversations view
|
- "recent_topics" - Recent conversations view
|
||||||
- "inbox" - Inbox view
|
- "inbox" - Inbox view
|
||||||
- "all_messages" - All messages view
|
- "all_messages" - All messages view
|
||||||
escape_navigates_to_default_view:
|
|
||||||
|
**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).
|
||||||
|
web_escape_navigates_to_home_view:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |
|
description: |
|
||||||
Whether the escape key navigates to the
|
Whether the escape key navigates to the
|
||||||
[configured default view](/help/configure-home-view).
|
[configured home view](/help/configure-home-view).
|
||||||
|
|
||||||
**Changes**: New in Zulip 5.0 (feature level 107).
|
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this
|
||||||
|
was called `escape_navigates_to_default_view`, which was new in Zulip
|
||||||
|
5.0 (feature level 107).
|
||||||
left_side_userlist:
|
left_side_userlist:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |
|
description: |
|
||||||
|
@ -13217,7 +13226,7 @@ paths:
|
||||||
client capability and access the `user_settings` object instead.
|
client capability and access the `user_settings` object instead.
|
||||||
|
|
||||||
[capabilities]: /api/register-queue#parameter-client_capabilities
|
[capabilities]: /api/register-queue#parameter-client_capabilities
|
||||||
default_view:
|
web_home_view:
|
||||||
deprecated: true
|
deprecated: true
|
||||||
type: string
|
type: string
|
||||||
description: |
|
description: |
|
||||||
|
@ -13225,7 +13234,7 @@ paths:
|
||||||
and only for clients that did not include `user_settings_object` in
|
and only for clients that did not include `user_settings_object` in
|
||||||
their [`client_capabilities`][capabilities] when registering the event queue.
|
their [`client_capabilities`][capabilities] when registering the event queue.
|
||||||
|
|
||||||
The [default view](/help/configure-home-view) in Zulip, represented
|
The [home view](/help/configure-home-view) in Zulip, represented
|
||||||
as the URL suffix after `#` to be rendered when Zulip loads.
|
as the URL suffix after `#` to be rendered when Zulip loads.
|
||||||
|
|
||||||
Currently supported values are `all_messages` and `recent_topics`.
|
Currently supported values are `all_messages` and `recent_topics`.
|
||||||
|
@ -13233,9 +13242,12 @@ paths:
|
||||||
See [PATCH /settings](/api/update-settings) for details on
|
See [PATCH /settings](/api/update-settings) for details on
|
||||||
the meaning of this setting.
|
the meaning of this setting.
|
||||||
|
|
||||||
**Changes**: Deprecated in Zulip 5.0 (feature level 89). Clients
|
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this was
|
||||||
connecting to newer servers should declare the `user_settings_object`
|
called `default_view`, which was new in Zulip 4.0 (feature level 42).
|
||||||
client capability and access the `user_settings` object instead.
|
|
||||||
|
**Deprecated** in Zulip 5.0 (feature level 89). Clients connecting to newer
|
||||||
|
servers should declare the `user_settings_object` client capability and
|
||||||
|
access the `user_settings` object instead.
|
||||||
|
|
||||||
[capabilities]: /api/register-queue#parameter-client_capabilities
|
[capabilities]: /api/register-queue#parameter-client_capabilities
|
||||||
high_contrast_mode:
|
high_contrast_mode:
|
||||||
|
@ -14562,22 +14574,27 @@ paths:
|
||||||
|
|
||||||
The value needs to be a standard language code that the Zulip server has
|
The value needs to be a standard language code that the Zulip server has
|
||||||
translation data for; for example, `"en"` for English or `"de"` for German.
|
translation data for; for example, `"en"` for English or `"de"` for German.
|
||||||
default_view:
|
web_home_view:
|
||||||
type: string
|
type: string
|
||||||
description: |
|
description: |
|
||||||
The [default view](/help/configure-home-view) used when opening a new
|
The [home view](/help/configure-home-view) used when opening a new
|
||||||
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
||||||
|
|
||||||
- "recent_topics" - Recent conversations view
|
- "recent_topics" - Recent conversations view
|
||||||
- "inbox" - Inbox view
|
- "inbox" - Inbox view
|
||||||
- "all_messages" - All messages view
|
- "all_messages" - All messages view
|
||||||
escape_navigates_to_default_view:
|
|
||||||
|
**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).
|
||||||
|
web_escape_navigates_to_home_view:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |
|
description: |
|
||||||
Whether the escape key navigates to the
|
Whether the escape key navigates to the
|
||||||
[configured default view](/help/configure-home-view).
|
[configured home view](/help/configure-home-view).
|
||||||
|
|
||||||
**Changes**: New in Zulip 5.0 (feature level 107).
|
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this
|
||||||
|
was called `escape_navigates_to_default_view`, which was new in Zulip
|
||||||
|
5.0 (feature level 107).
|
||||||
left_side_userlist:
|
left_side_userlist:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: |
|
description: |
|
||||||
|
@ -15627,30 +15644,35 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: en
|
example: en
|
||||||
- name: default_view
|
- name: web_home_view
|
||||||
in: query
|
in: query
|
||||||
description: |
|
description: |
|
||||||
The [default view](/help/configure-home-view) used when opening a new
|
The [home view](/help/configure-home-view) used when opening a new
|
||||||
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
Zulip web app window or hitting the `Esc` keyboard shortcut repeatedly.
|
||||||
|
|
||||||
- "recent_topics" - Recent conversations view
|
- "recent_topics" - Recent conversations view
|
||||||
- "inbox" - Inbox view
|
- "inbox" - Inbox view
|
||||||
- "all_messages" - All messages view
|
- "all_messages" - All messages view
|
||||||
|
|
||||||
**Changes**: Before Zulip 5.0 (feature level 80), this setting was managed by
|
**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).
|
||||||
|
|
||||||
|
Before Zulip 5.0 (feature level 80), this setting was managed by
|
||||||
the `PATCH /settings/display` endpoint.
|
the `PATCH /settings/display` endpoint.
|
||||||
|
|
||||||
Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 64).
|
Unnecessary JSON-encoding of this parameter was removed in Zulip 4.0 (feature level 64).
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: all_messages
|
example: all_messages
|
||||||
- name: escape_navigates_to_default_view
|
- name: web_escape_navigates_to_home_view
|
||||||
in: query
|
in: query
|
||||||
description: |
|
description: |
|
||||||
Whether the escape key navigates to the
|
Whether the escape key navigates to the
|
||||||
[configured default view](/help/configure-home-view).
|
[configured home view](/help/configure-home-view).
|
||||||
|
|
||||||
**Changes**: New in Zulip 5.0 (feature level 107).
|
**Changes**: New in Zulip 8.0 (feature level 219). Previously, this
|
||||||
|
was called `escape_navigates_to_default_view`, which was new in Zulip
|
||||||
|
5.0 (feature level 107).
|
||||||
schema:
|
schema:
|
||||||
type: boolean
|
type: boolean
|
||||||
example: true
|
example: true
|
||||||
|
|
|
@ -746,7 +746,7 @@ class TestRealmAuditLog(ZulipTestCase):
|
||||||
value: Union[bool, int, str]
|
value: Union[bool, int, str]
|
||||||
test_values = dict(
|
test_values = dict(
|
||||||
default_language="de",
|
default_language="de",
|
||||||
default_view="all_messages",
|
web_home_view="all_messages",
|
||||||
emojiset="twitter",
|
emojiset="twitter",
|
||||||
notification_sound="ding",
|
notification_sound="ding",
|
||||||
)
|
)
|
||||||
|
|
|
@ -3132,7 +3132,7 @@ class NormalActionsTest(BaseAction):
|
||||||
events = self.verify_action(
|
events = self.verify_action(
|
||||||
lambda: do_change_user_setting(
|
lambda: do_change_user_setting(
|
||||||
self.user_profile,
|
self.user_profile,
|
||||||
"default_view",
|
"web_home_view",
|
||||||
"all_messages",
|
"all_messages",
|
||||||
acting_user=self.user_profile,
|
acting_user=self.user_profile,
|
||||||
),
|
),
|
||||||
|
@ -3334,7 +3334,7 @@ class RealmPropertyActionTest(BaseAction):
|
||||||
bool_tests: List[bool] = [True, False, True]
|
bool_tests: List[bool] = [True, False, True]
|
||||||
test_values: Dict[str, Any] = dict(
|
test_values: Dict[str, Any] = dict(
|
||||||
color_scheme=UserProfile.COLOR_SCHEME_CHOICES,
|
color_scheme=UserProfile.COLOR_SCHEME_CHOICES,
|
||||||
default_view=["recent_topics", "inbox", "all_messages"],
|
web_home_view=["recent_topics", "inbox", "all_messages"],
|
||||||
emojiset=[emojiset["key"] for emojiset in RealmUserDefault.emojiset_choices()],
|
emojiset=[emojiset["key"] for emojiset in RealmUserDefault.emojiset_choices()],
|
||||||
demote_inactive_streams=UserProfile.DEMOTE_STREAMS_CHOICES,
|
demote_inactive_streams=UserProfile.DEMOTE_STREAMS_CHOICES,
|
||||||
web_mark_read_on_scroll_policy=UserProfile.WEB_MARK_READ_ON_SCROLL_POLICY_CHOICES,
|
web_mark_read_on_scroll_policy=UserProfile.WEB_MARK_READ_ON_SCROLL_POLICY_CHOICES,
|
||||||
|
@ -3417,7 +3417,7 @@ class UserDisplayActionTest(BaseAction):
|
||||||
test_changes: Dict[str, Any] = dict(
|
test_changes: Dict[str, Any] = dict(
|
||||||
emojiset=["twitter"],
|
emojiset=["twitter"],
|
||||||
default_language=["es", "de", "en"],
|
default_language=["es", "de", "en"],
|
||||||
default_view=["all_messages", "inbox", "recent_topics"],
|
web_home_view=["all_messages", "inbox", "recent_topics"],
|
||||||
demote_inactive_streams=[2, 3, 1],
|
demote_inactive_streams=[2, 3, 1],
|
||||||
web_mark_read_on_scroll_policy=[2, 3, 1],
|
web_mark_read_on_scroll_policy=[2, 3, 1],
|
||||||
user_list_style=[1, 2, 3],
|
user_list_style=[1, 2, 3],
|
||||||
|
|
|
@ -1336,7 +1336,7 @@ class RealmAPITest(ZulipTestCase):
|
||||||
bool_tests: List[bool] = [False, True]
|
bool_tests: List[bool] = [False, True]
|
||||||
test_values: Dict[str, Any] = dict(
|
test_values: Dict[str, Any] = dict(
|
||||||
color_scheme=UserProfile.COLOR_SCHEME_CHOICES,
|
color_scheme=UserProfile.COLOR_SCHEME_CHOICES,
|
||||||
default_view=["recent_topics", "inbox", "all_messages"],
|
web_home_view=["recent_topics", "inbox", "all_messages"],
|
||||||
emojiset=[emojiset["key"] for emojiset in RealmUserDefault.emojiset_choices()],
|
emojiset=[emojiset["key"] for emojiset in RealmUserDefault.emojiset_choices()],
|
||||||
demote_inactive_streams=UserProfile.DEMOTE_STREAMS_CHOICES,
|
demote_inactive_streams=UserProfile.DEMOTE_STREAMS_CHOICES,
|
||||||
web_mark_read_on_scroll_policy=UserProfile.WEB_MARK_READ_ON_SCROLL_POLICY_CHOICES,
|
web_mark_read_on_scroll_policy=UserProfile.WEB_MARK_READ_ON_SCROLL_POLICY_CHOICES,
|
||||||
|
|
|
@ -349,7 +349,7 @@ class ChangeSettingsTest(ZulipTestCase):
|
||||||
def do_test_change_user_setting(self, setting_name: str) -> None:
|
def do_test_change_user_setting(self, setting_name: str) -> None:
|
||||||
test_changes: Dict[str, Any] = dict(
|
test_changes: Dict[str, Any] = dict(
|
||||||
default_language="de",
|
default_language="de",
|
||||||
default_view="all_messages",
|
web_home_view="all_messages",
|
||||||
emojiset="google",
|
emojiset="google",
|
||||||
timezone="America/Denver",
|
timezone="America/Denver",
|
||||||
demote_inactive_streams=2,
|
demote_inactive_streams=2,
|
||||||
|
@ -400,7 +400,7 @@ class ChangeSettingsTest(ZulipTestCase):
|
||||||
def test_invalid_setting_value(self) -> None:
|
def test_invalid_setting_value(self) -> None:
|
||||||
invalid_values_dict = dict(
|
invalid_values_dict = dict(
|
||||||
default_language="invalid_de",
|
default_language="invalid_de",
|
||||||
default_view="invalid_view",
|
web_home_view="invalid_view",
|
||||||
emojiset="apple",
|
emojiset="apple",
|
||||||
timezone="invalid_US/Mountain",
|
timezone="invalid_US/Mountain",
|
||||||
demote_inactive_streams=10,
|
demote_inactive_streams=10,
|
||||||
|
|
|
@ -1212,7 +1212,7 @@ class UserProfileTest(ZulipTestCase):
|
||||||
hamlet = self.example_user("hamlet")
|
hamlet = self.example_user("hamlet")
|
||||||
|
|
||||||
do_change_user_setting(cordelia, "default_language", "de", acting_user=None)
|
do_change_user_setting(cordelia, "default_language", "de", acting_user=None)
|
||||||
do_change_user_setting(cordelia, "default_view", "all_messages", acting_user=None)
|
do_change_user_setting(cordelia, "web_home_view", "all_messages", acting_user=None)
|
||||||
do_change_user_setting(cordelia, "emojiset", "twitter", acting_user=None)
|
do_change_user_setting(cordelia, "emojiset", "twitter", acting_user=None)
|
||||||
do_change_user_setting(cordelia, "timezone", "America/Phoenix", acting_user=None)
|
do_change_user_setting(cordelia, "timezone", "America/Phoenix", acting_user=None)
|
||||||
do_change_user_setting(
|
do_change_user_setting(
|
||||||
|
@ -1284,7 +1284,7 @@ class UserProfileTest(ZulipTestCase):
|
||||||
realm = get_realm("zulip")
|
realm = get_realm("zulip")
|
||||||
realm_user_default = RealmUserDefault.objects.get(realm=realm)
|
realm_user_default = RealmUserDefault.objects.get(realm=realm)
|
||||||
|
|
||||||
realm_user_default.default_view = "recent_topics"
|
realm_user_default.web_home_view = "recent_topics"
|
||||||
realm_user_default.emojiset = "twitter"
|
realm_user_default.emojiset = "twitter"
|
||||||
realm_user_default.color_scheme = UserProfile.COLOR_SCHEME_LIGHT
|
realm_user_default.color_scheme = UserProfile.COLOR_SCHEME_LIGHT
|
||||||
realm_user_default.enable_offline_email_notifications = False
|
realm_user_default.enable_offline_email_notifications = False
|
||||||
|
@ -1299,7 +1299,7 @@ class UserProfileTest(ZulipTestCase):
|
||||||
with self.capture_send_event_calls(expected_num_events=0):
|
with self.capture_send_event_calls(expected_num_events=0):
|
||||||
copy_default_settings(realm_user_default, cordelia)
|
copy_default_settings(realm_user_default, cordelia)
|
||||||
|
|
||||||
self.assertEqual(cordelia.default_view, "recent_topics")
|
self.assertEqual(cordelia.web_home_view, "recent_topics")
|
||||||
self.assertEqual(cordelia.emojiset, "twitter")
|
self.assertEqual(cordelia.emojiset, "twitter")
|
||||||
self.assertEqual(cordelia.color_scheme, UserProfile.COLOR_SCHEME_LIGHT)
|
self.assertEqual(cordelia.color_scheme, UserProfile.COLOR_SCHEME_LIGHT)
|
||||||
self.assertEqual(cordelia.enable_offline_email_notifications, False)
|
self.assertEqual(cordelia.enable_offline_email_notifications, False)
|
||||||
|
|
|
@ -465,7 +465,7 @@ def realm_reactivation(request: HttpRequest, confirmation_key: str) -> HttpRespo
|
||||||
|
|
||||||
|
|
||||||
emojiset_choices = {emojiset["key"] for emojiset in RealmUserDefault.emojiset_choices()}
|
emojiset_choices = {emojiset["key"] for emojiset in RealmUserDefault.emojiset_choices()}
|
||||||
default_view_options = ["recent_topics", "inbox", "all_messages"]
|
web_home_view_options = ["recent_topics", "inbox", "all_messages"]
|
||||||
|
|
||||||
|
|
||||||
@require_realm_admin
|
@require_realm_admin
|
||||||
|
@ -490,10 +490,12 @@ def update_realm_user_settings_defaults(
|
||||||
),
|
),
|
||||||
translate_emoticons: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
translate_emoticons: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
||||||
display_emoji_reaction_users: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
display_emoji_reaction_users: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
||||||
default_view: Optional[str] = REQ(
|
web_home_view: Optional[str] = REQ(
|
||||||
str_validator=check_string_in(default_view_options), default=None
|
str_validator=check_string_in(web_home_view_options), default=None
|
||||||
|
),
|
||||||
|
web_escape_navigates_to_home_view: Optional[bool] = REQ(
|
||||||
|
json_validator=check_bool, default=None
|
||||||
),
|
),
|
||||||
escape_navigates_to_default_view: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
|
||||||
left_side_userlist: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
left_side_userlist: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
||||||
emojiset: Optional[str] = REQ(str_validator=check_string_in(emojiset_choices), default=None),
|
emojiset: Optional[str] = REQ(str_validator=check_string_in(emojiset_choices), default=None),
|
||||||
demote_inactive_streams: Optional[int] = REQ(
|
demote_inactive_streams: Optional[int] = REQ(
|
||||||
|
|
|
@ -127,7 +127,7 @@ def confirm_email_change(request: HttpRequest, confirmation_key: str) -> HttpRes
|
||||||
|
|
||||||
|
|
||||||
emojiset_choices = {emojiset["key"] for emojiset in UserProfile.emojiset_choices()}
|
emojiset_choices = {emojiset["key"] for emojiset in UserProfile.emojiset_choices()}
|
||||||
default_view_options = ["recent_topics", "inbox", "all_messages"]
|
web_home_view_options = ["recent_topics", "inbox", "all_messages"]
|
||||||
|
|
||||||
|
|
||||||
def check_settings_values(
|
def check_settings_values(
|
||||||
|
@ -188,10 +188,12 @@ def json_change_settings(
|
||||||
translate_emoticons: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
translate_emoticons: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
||||||
display_emoji_reaction_users: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
display_emoji_reaction_users: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
||||||
default_language: Optional[str] = REQ(default=None),
|
default_language: Optional[str] = REQ(default=None),
|
||||||
default_view: Optional[str] = REQ(
|
web_home_view: Optional[str] = REQ(
|
||||||
str_validator=check_string_in(default_view_options), default=None
|
str_validator=check_string_in(web_home_view_options), default=None
|
||||||
|
),
|
||||||
|
web_escape_navigates_to_home_view: Optional[bool] = REQ(
|
||||||
|
json_validator=check_bool, default=None
|
||||||
),
|
),
|
||||||
escape_navigates_to_default_view: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
|
||||||
left_side_userlist: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
left_side_userlist: Optional[bool] = REQ(json_validator=check_bool, default=None),
|
||||||
emojiset: Optional[str] = REQ(str_validator=check_string_in(emojiset_choices), default=None),
|
emojiset: Optional[str] = REQ(str_validator=check_string_in(emojiset_choices), default=None),
|
||||||
demote_inactive_streams: Optional[int] = REQ(
|
demote_inactive_streams: Optional[int] = REQ(
|
||||||
|
|
Loading…
Reference in New Issue