FEATURE: Remove support for legacy navigation menu (#23752)

Why this change?

Back in May 17 2023 along with the release of Discourse 3.1, we announced
on meta that the legacy hamburger dropdown navigation menu is
deprecated and will be dropped in Discourse 3.2. This is the link to the announcement
on meta: https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274

## What does this change do?

This change removes the `legacy` option from the `navigation_menu` site
setting and migrates existing sites on the `legacy` option to the
`header dropdown` option.

All references to the `legacy` option in code and tests have been
removed as well.
This commit is contained in:
Alan Guo Xiang Tan 2023-10-09 07:24:10 +08:00 committed by GitHub
parent 2c346a1ba6
commit 832b3b9e60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 116 additions and 411 deletions

View File

@ -408,11 +408,7 @@ const SiteHeaderComponent = MountWidget.extend(
},
_dropDownHeaderEnabled() {
return (
(!this.sidebarEnabled &&
this.siteSettings.navigation_menu !== "legacy") ||
this.site.narrowDesktopView
);
return !this.sidebarEnabled || this.site.narrowDesktopView;
},
}
);

View File

@ -87,10 +87,7 @@ export default Controller.extend({
return true;
}
if (
navigationMenuQueryParamOverride === "legacy" ||
navigationMenuQueryParamOverride === "header_dropdown"
) {
if (navigationMenuQueryParamOverride === "header_dropdown") {
return false;
}

View File

@ -522,45 +522,45 @@ class PluginApi {
decorateWidget(name, fn);
}
/**
* This is a bridge to support the legacy hamburger widget links that are added by decorating the widgets. This can
* be removed once the legacy hamburger widget no longer exists.
*/
_deprecateDecoratingHamburgerWidgetLinks(name, fn) {
if (
name === "hamburger-menu:generalLinks" ||
name === "hamburger-menu:footerLinks"
) {
const siteSettings = this.container.lookup("service:site-settings");
if (siteSettings.navigation_menu !== "legacy") {
try {
const { href, route, label, rawLabel, className } = fn();
const textContent = rawLabel || I18n.t(label);
const args = {
name: className || textContent.replace(/\s+/g, "-").toLowerCase(),
title: textContent,
text: textContent,
};
if (href) {
if (DiscourseURL.isInternal(href)) {
args.href = href;
} else {
// Skip external links support for now
return;
}
} else {
args.route = route;
}
this.addCommunitySectionLink(args, name.match(/footerLinks/));
} catch {
deprecated(
`Usage of \`api.decorateWidget('hamburger-menu:generalLinks')\` is incompatible with the \`navigation_menu\` site setting when not set to "legacy". Please use \`api.addCommunitySectionLink\` instead.`,
{ id: "discourse.decorate-widget.hamburger-widget-links" }
);
deprecated(
`Usage of \`api.decorateWidget('${name}')\` is deprecated, please use \`api.addCommunitySectionLink\` instead.`,
{
id: "discourse.decorate-widget.hamburger-widget-links",
since: "3.2",
dropFrom: "3.3",
}
);
return;
const { href, route, label, rawLabel, className } = fn();
const textContent = rawLabel || I18n.t(label);
const args = {
name: className || textContent.replace(/\s+/g, "-").toLowerCase(),
title: textContent,
text: textContent,
};
if (href) {
if (DiscourseURL.isInternal(href)) {
args.href = href;
} else {
// Skip external links support for now
return;
}
} else {
args.route = route;
}
this.addCommunitySectionLink(args, name.match(/footerLinks/));
}
}

View File

@ -76,16 +76,14 @@
<span>{{i18n "user.preferences_nav.interface"}}</span>
</DNavigationItem>
{{#if (not-eq this.siteSettings.navigation_menu "legacy")}}
<DNavigationItem
@route="preferences.navigation-menu"
@ariaCurrentContext="subNav"
class="user-nav__preferences-navigation-menu"
>
{{d-icon "bars"}}
<span>{{i18n "user.preferences_nav.navigation_menu"}}</span>
</DNavigationItem>
{{/if}}
<DNavigationItem
@route="preferences.navigation-menu"
@ariaCurrentContext="subNav"
class="user-nav__preferences-navigation-menu"
>
{{d-icon "bars"}}
<span>{{i18n "user.preferences_nav.navigation_menu"}}</span>
</DNavigationItem>
<PluginOutlet
@name="user-preferences-nav-under-interface"

View File

@ -255,24 +255,6 @@ createWidget("header-icons", {
action: "toggleHamburger",
href: "",
classNames: ["hamburger-dropdown"],
contents() {
let { currentUser } = this;
if (
currentUser?.reviewable_count &&
this.siteSettings.navigation_menu === "legacy"
) {
return h(
"div.badge-notification.reviewables",
{
attributes: {
title: I18n.t("notifications.reviewable_items"),
},
},
this.currentUser.reviewable_count
);
}
},
});
if (!attrs.sidebarEnabled || this.site.mobileView) {
@ -483,9 +465,8 @@ export default createWidget("header", {
} else if (state.hamburgerVisible) {
if (
attrs.navigationMenuQueryParamOverride === "header_dropdown" ||
(attrs.navigationMenuQueryParamOverride !== "legacy" &&
this.siteSettings.navigation_menu !== "legacy" &&
(!attrs.sidebarEnabled || this.site.narrowDesktopView))
!attrs.sidebarEnabled ||
this.site.narrowDesktopView
) {
panels.push(this.attach("revamped-hamburger-menu-wrapper", {}));
} else {
@ -598,24 +579,15 @@ export default createWidget("header", {
},
toggleHamburger() {
if (
this.siteSettings.navigation_menu !== "legacy" &&
this.attrs.sidebarEnabled &&
!this.site.narrowDesktopView
) {
if (this.attrs.sidebarEnabled && !this.site.narrowDesktopView) {
this.sendWidgetAction("toggleSidebar");
} else {
this.state.hamburgerVisible = !this.state.hamburgerVisible;
this.toggleBodyScrolling(this.state.hamburgerVisible);
schedule("afterRender", () => {
if (this.siteSettings.navigation_menu !== "legacy") {
// Remove focus from hamburger toggle button
document.querySelector("#toggle-hamburger-menu")?.blur();
} else {
// auto focus on first link in dropdown
document.querySelector(".hamburger-panel .menu-links a")?.focus();
}
// Remove focus from hamburger toggle button
document.querySelector("#toggle-hamburger-menu")?.blur();
});
}
},

View File

@ -11,5 +11,9 @@ globalThis.deprecationWorkflow.config = {
},
{ handler: "silence", matchId: "discourse.select-kit" },
{ handler: "silence", matchId: "discourse.d-section" },
{
handler: "silence",
matchId: "discourse.decorate-widget.hamburger-widget-links",
},
],
};

View File

@ -25,9 +25,6 @@ acceptance("Enforce Second Factor", function (needs) {
});
});
});
needs.settings({
navigation_menu: "legacy",
});
test("as an admin", async function (assert) {
await visit("/u/eviltrout/preferences/second-factor");
@ -41,8 +38,9 @@ acceptance("Enforce Second Factor", function (needs) {
"it will not transition from second-factor preferences"
);
await click("#toggle-hamburger-menu");
await click("a.admin-link");
await click(
".sidebar-section[data-section-name='community'] .sidebar-section-link[data-link-name='admin']"
);
assert.strictEqual(
currentRouteName(),
@ -65,8 +63,13 @@ acceptance("Enforce Second Factor", function (needs) {
"it will not transition from second-factor preferences"
);
await click("#toggle-hamburger-menu");
await click("a.about-link");
await click(
".sidebar-section[data-section-name='community'] .sidebar-more-section-links-details-summary"
);
await click(
".sidebar-section[data-section-name='community'] .sidebar-section-link[data-link-name='about']"
);
assert.strictEqual(
currentRouteName(),
@ -90,8 +93,13 @@ acceptance("Enforce Second Factor", function (needs) {
"it will transition from second-factor preferences"
);
await click("#toggle-hamburger-menu");
await click("a.about-link");
await click(
".sidebar-section[data-section-name='community'] .sidebar-more-section-links-details-summary"
);
await click(
".sidebar-section[data-section-name='community'] .sidebar-section-link[data-link-name='about']"
);
assert.strictEqual(
currentRouteName(),

View File

@ -1,41 +0,0 @@
import {
acceptance,
exists,
query,
updateCurrentUser,
} from "discourse/tests/helpers/qunit-helpers";
import { click, triggerKeyEvent, visit } from "@ember/test-helpers";
import { test } from "qunit";
acceptance(
"Opening the hamburger menu with some reviewables",
function (needs) {
needs.user();
needs.settings({
navigation_menu: "legacy",
});
test("As a staff member", async function (assert) {
updateCurrentUser({ moderator: true, admin: false, reviewable_count: 3 });
await visit("/");
await click(".hamburger-dropdown");
assert.strictEqual(
query(".review .badge-notification.reviewables").innerText,
"3"
);
});
}
);
acceptance("Hamburger Menu accessibility", function (needs) {
needs.settings({
navigation_menu: "legacy",
});
test("Escape key closes hamburger menu", async function (assert) {
await visit("/");
await click("#toggle-hamburger-menu");
await triggerKeyEvent(".hamburger-panel", "keydown", "Escape");
assert.ok(!exists(".hamburger-panel"), "Esc closes the hamburger panel");
});
});

View File

@ -9,24 +9,6 @@ import {
} from "discourse/tests/helpers/qunit-helpers";
import Sinon from "sinon";
acceptance(
"Sidebar - Logged on user - Legacy navigation menu enabled",
function (needs) {
needs.user();
needs.settings({
navigation_menu: "legacy",
});
test("clicking header hamburger icon displays old hamburger dropdown", async function (assert) {
await visit("/");
await click(".hamburger-dropdown");
assert.ok(exists(".menu-container-general-links"));
});
}
);
acceptance(
"Sidebar - Logged on user - Mobile view - Header dropdown navigation menu enabled",
function (needs) {

View File

@ -37,16 +37,6 @@ module("Integration | Component | site-header", function (hooks) {
assert.strictEqual(unreadBadge.textContent, "5");
});
test("hamburger menu icon shows pending reviewables count", async function (assert) {
this.siteSettings.navigation_menu = "legacy";
this.currentUser.set("reviewable_count", 1);
await render(hbs`<SiteHeader />`);
let pendingReviewablesBadge = query(
".hamburger-dropdown .badge-notification"
);
assert.strictEqual(pendingReviewablesBadge.textContent, "1");
});
test("hamburger menu icon doesn't show pending reviewables count for non-legacy navigation menu", async function (assert) {
this.currentUser.set("reviewable_count", 1);
this.siteSettings.navigation_menu = "sidebar";

View File

@ -49,8 +49,6 @@ class ReviewableClaimedTopicsController < ApplicationController
MessageBus.publish("/reviewable_claimed", data, group_ids: group_ids.to_a)
if !SiteSetting.legacy_navigation_menu?
Jobs.enqueue(:refresh_users_reviewable_counts, group_ids: group_ids.to_a)
end
Jobs.enqueue(:refresh_users_reviewable_counts, group_ids: group_ids.to_a)
end
end

View File

@ -2013,20 +2013,18 @@ class UsersController < ApplicationController
permitted.concat UserUpdater::TAG_NAMES.keys
permitted << UserUpdater::NOTIFICATION_SCHEDULE_ATTRS
if !SiteSetting.legacy_navigation_menu?
if params.has_key?(:sidebar_category_ids) && params[:sidebar_category_ids].blank?
params[:sidebar_category_ids] = []
if params.has_key?(:sidebar_category_ids) && params[:sidebar_category_ids].blank?
params[:sidebar_category_ids] = []
end
permitted << { sidebar_category_ids: [] }
if SiteSetting.tagging_enabled
if params.has_key?(:sidebar_tag_names) && params[:sidebar_tag_names].blank?
params[:sidebar_tag_names] = []
end
permitted << { sidebar_category_ids: [] }
if SiteSetting.tagging_enabled
if params.has_key?(:sidebar_tag_names) && params[:sidebar_tag_names].blank?
params[:sidebar_tag_names] = []
end
permitted << { sidebar_tag_names: [] }
end
permitted << { sidebar_tag_names: [] }
end
if SiteSetting.enable_user_status

View File

@ -207,8 +207,7 @@ class AdminDashboardData
:unreachable_themes,
:watched_words_check,
:google_analytics_version_check,
:translation_overrides_check,
:legacy_navigation_menu_check
:translation_overrides_check
register_default_scheduled_problem_checks
@ -368,12 +367,6 @@ class AdminDashboardData
end
end
def legacy_navigation_menu_check
if SiteSetting.navigation_menu == "legacy"
I18n.t("dashboard.legacy_navigation_menu_deprecated", base_path: Discourse.base_path)
end
end
def image_magick_check
if SiteSetting.create_thumbnails && !system("command -v convert >/dev/null;")
I18n.t("dashboard.image_magick_warning")

View File

@ -3,7 +3,6 @@
class NavigationMenuSiteSetting < EnumSiteSetting
SIDEBAR = "sidebar"
HEADER_DROPDOWN = "header dropdown"
LEGACY = "legacy"
def self.valid_value?(val)
values.any? { |v| v[:value] == val }
@ -13,7 +12,6 @@ class NavigationMenuSiteSetting < EnumSiteSetting
@values ||= [
{ name: "admin.navigation_menu.sidebar", value: SIDEBAR },
{ name: "admin.navigation_menu.header_dropdown", value: HEADER_DROPDOWN },
{ name: "admin.navigation_menu.legacy", value: LEGACY },
]
end

View File

@ -257,10 +257,6 @@ class SiteSetting < ActiveRecord::Base
c.present? && c.to_i != SiteSetting.uncategorized_category_id.to_i
end
def self.legacy_navigation_menu?
SiteSetting.navigation_menu == "legacy"
end
protected
def self.clear_cache!

View File

@ -43,7 +43,7 @@ class TopicTrackingState
return unless topic.regular?
tag_ids, tags = nil
tag_ids, tags = topic.tags.pluck(:id, :name).transpose if SiteSetting.tagging_enabled
tag_ids, tags = topic.tags.pluck(:id, :name).transpose if include_tags_in_report?
payload = {
last_read_post_number: nil,
@ -71,7 +71,7 @@ class TopicTrackingState
return unless topic.regular?
tag_ids, tags = nil
tag_ids, tags = topic.tags.pluck(:id, :name).transpose if SiteSetting.tagging_enabled
tag_ids, tags = topic.tags.pluck(:id, :name).transpose if include_tags_in_report?
message = {
topic_id: topic.id,
@ -276,11 +276,7 @@ class TopicTrackingState
end
def self.include_tags_in_report?
SiteSetting.tagging_enabled && (@include_tags_in_report || !SiteSetting.legacy_navigation_menu?)
end
def self.include_tags_in_report=(v)
@include_tags_in_report = v
SiteSetting.tagging_enabled
end
# Sam: this is a hairy report, in particular I need custom joins and fancy conditions
@ -340,7 +336,7 @@ class TopicTrackingState
end
def self.tags_included_wrapped_sql(sql)
return <<~SQL if SiteSetting.tagging_enabled && TopicTrackingState.include_tags_in_report?
return <<~SQL if include_tags_in_report?
WITH tags_included_cte AS (
#{sql}
)

View File

@ -2048,7 +2048,6 @@ class User < ActiveRecord::Base
private
def set_default_sidebar_section_links(update: false)
return if SiteSetting.legacy_navigation_menu?
return if staged? || bot?
if SiteSetting.default_navigation_menu_categories.present?

View File

@ -16,33 +16,10 @@ module UserSidebarMixin
end
def include_sidebar_tags?
SiteSetting.tagging_enabled && sidebar_navigation_menu?
SiteSetting.tagging_enabled
end
def sidebar_category_ids
object.secured_sidebar_category_ids(scope)
end
def include_sidebar_category_ids?
sidebar_navigation_menu?
end
def sidebar_sections
object
.sidebar_sections
.order(created_at: :asc)
.includes(sidebar_section_links: :linkable)
.map { |section| SidebarSectionSerializer.new(section, root: false) }
end
def include_sidebar_sections?
sidebar_navigation_menu?
end
private
def sidebar_navigation_menu?
!SiteSetting.legacy_navigation_menu? ||
%w[sidebar header_dropdown].include?(options[:navigation_menu_param])
end
end

View File

@ -268,7 +268,7 @@ class SiteSerializer < ApplicationSerializer
end
def include_navigation_menu_site_top_tags?
!SiteSetting.legacy_navigation_menu? && SiteSetting.tagging_enabled
SiteSetting.tagging_enabled
end
def anonymous_default_navigation_menu_tags
@ -283,7 +283,7 @@ class SiteSerializer < ApplicationSerializer
end
def include_anonymous_default_navigation_menu_tags?
scope.anonymous? && !SiteSetting.legacy_navigation_menu? && SiteSetting.tagging_enabled &&
scope.anonymous? && SiteSetting.tagging_enabled &&
SiteSetting.default_navigation_menu_tags.present? &&
anonymous_default_navigation_menu_tags.present?
end

View File

@ -38,6 +38,9 @@ class WebHookUserSerializer < UserSerializer
use_logo_small_as_avatar
pending_posts_count
status
display_sidebar_tags
sidebar_category_ids
sidebar_tags
].each { |attr| define_method("include_#{attr}?") { false } }
def include_email?

View File

@ -1626,7 +1626,6 @@ ar:
unreachable_themes: "لم نتمكن من التحقُّق من وجود تحديثات للسمات التالية:"
watched_word_regexp_error: "التعبير العادي للكلمات المُراقَبة للإجراء \"%{action}\" غير صالح. يُرجى التحقُّق من <a href='%{base_path}/admin/customize/watched_words'>إعدادات الكلمات المُراقَبة</a>، أو إيقاف إعداد الموقع `watched words regular expressions`."
v3_analytics_deprecated: "يستخدم Discourse لديك حاليًا Google Analytics 3، والذي سيتوقف دعمه بعد يوليو 2023. <a href='https://meta.discourse.org/t/260498'>قم بالترقية إلى Google Analytics 4</a> الآن للاستمرار في تلقي رؤى وتحليلات قيمة لأداء موقعك الإلكتروني."
legacy_navigation_menu_deprecated: "يستخدم Discourse لديك حاليًا قائمة التنقل \"القديمة\"، والتي <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>ستتم إزالتها في الإصدار التجريبي الأول من Discourse 3.2</a>. انتقل إلى قائمة التنقل الجديدة عن طريق تحديث <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>إعداد موقع قائمة التنقل</a> إلى \"الشريط الجانبي\" أو \"القائمة المنسدلة للرأس\"."
site_settings:
allow_bulk_invite: "السماح بالدعوات الجماعية عن طريق تحميل ملف CSV"
disabled: "متوقف"

View File

@ -1415,7 +1415,6 @@ de:
unreachable_themes: "Wir konnten die folgenden Themes nicht auf Updates prüfen:"
watched_word_regexp_error: "Der reguläre Ausdruck für „%{action}“ überwachte Wörter ist ungültig. Bitte überprüfe deine <a href='%{base_path}/admin/customize/watched_words'>Einstellungen für überwachte Wörter</a> oder deaktiviere die Website-Einstellung „watched words regular expressions“."
v3_analytics_deprecated: "Dein Discourse verwendet derzeit Google Analytics 3, das ab Juli 2023 nicht mehr unterstützt wird. <a href='https://meta.discourse.org/t/260498'>Aktualisiere jetzt auf Google Analytics 4</a>, um weiterhin wertvolle Einblicke und Analysen zur Leistung deiner Website zu erhalten."
legacy_navigation_menu_deprecated: "Dein Discourse verwendet derzeit das „alte“ Navigationsmenü, das <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>in der ersten Betaversion von Discourse 3.2</a> entfernt wird. Stelle auf das neue Navigationsmenü um, indem du deine <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>Navigationsmenü-Website-Einstellung</a> auf „Seitenleiste“ oder „Kopfzeilen-Drop-down“ aktualisierst."
site_settings:
allow_bulk_invite: "Erlaube Masseneinladungen durch Hochladen einer CSV-Datei"
disabled: "deaktiviert"

View File

@ -1502,7 +1502,6 @@ en:
unreachable_themes: "We were unable to check for updates on the following themes:"
watched_word_regexp_error: "The regular expression for '%{action}' watched words is invalid. Please check your <a href='%{base_path}/admin/customize/watched_words'>Watched Word settings</a>, or disable the 'watched words regular expressions' site setting."
v3_analytics_deprecated: "Your Discourse is currently using Google Analytics 3, which will no longer be supported after July 2023. <a href='https://meta.discourse.org/t/260498'>Upgrade to Google Analytics 4</a> now to continue receiving valuable insights and analytics for your website's performance."
legacy_navigation_menu_deprecated: "Your Discourse is currently using the 'legacy' navigation menu which <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>will be removed in the first beta release of Discourse 3.2</a>. Migrate to the new navigation menu by updating your <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>navigation menu site setting</a> to 'sidebar' or 'header dropdown'."
site_settings:
allow_bulk_invite: "Allow bulk invites by uploading a CSV file"

View File

@ -1387,7 +1387,6 @@ es:
unreachable_themes: "No pudimos verificar actualizaciones de los siguientes temas:"
watched_word_regexp_error: "Expresión regular no válida para las palabras vigiladas con acción de «%{action}». Por favor, revisa los <a href='%{base_path}/admin/customize/watched_words'>ajustes sobre palabras vigiladas</a> o desactiva el ajuste «watched words regular expressions»."
v3_analytics_deprecated: "Tu Discourse utiliza actualmente Google Analytics 3, que dejará de ser compatible después de julio de 2023. <a href='https://meta.discourse.org/t/260498'>Actualízate a Google Analytics 4</a> ahora para seguir recibiendo información y análisis valiosos sobre el rendimiento de tu sitio web."
legacy_navigation_menu_deprecated: "Tu Discourse utiliza actualmente el menú de navegación «heredado» que <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>se eliminará en la primera versión beta de Discourse 3.2</a>. Migra al nuevo menú de navegación actualizando tu <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>configuración del menú de navegación del sitio</a> a «barra lateral» o «encabezado desplegable»."
site_settings:
allow_bulk_invite: "Permitir invitaciones en masa subiendo un archivo CSV"
disabled: "desactivado"

View File

@ -1406,7 +1406,6 @@ fi:
unreachable_themes: "Näille teemoille ei voitu tarkistaa päivityksiä:"
watched_word_regexp_error: "Säännöllinen lauseke %{action}-tyypin tarkkailuille sanoille ei kelpaa. Tarkista <a href='%{base_path}/admin/customize/watched_words'>tarkkailtujen sanojen asetukset</a> tai poista käytöstä \"watched words regular expressions\" -sivustoasetus."
v3_analytics_deprecated: "Discoursesi käyttää tällä hetkellä Google Analytics 3:a, jota ei enää tueta heinäkuun 2023 jälkeen. <a href='https://meta.discourse.org/t/260498'>Päivitä Google Analytics 4:ään</a> nyt, jotta saat jatkossakin arvokkaita tietoja ja analytiikkaa verkkosivustosi suoriutumisesta."
legacy_navigation_menu_deprecated: "Discoursesi käyttää tällä hetkellä vanhaa navigointivalikkoa, joka <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>poistetaan Discourse 3.2:n ensimmäisessä beetaversiossa</a>. Siirry uuteen navigointivalikkoon päivittämällä <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>navigation menu -sivustoasetukseksi</a> \"sidebar\" tai \"header dropdown\"."
site_settings:
allow_bulk_invite: "Salli joukkokutsut lataamalla CSV-tiedosto"
disabled: "poistettu käytöstä"

View File

@ -1401,7 +1401,6 @@ fr:
unreachable_themes: "Nous n'avons pas pu vérifier les mises à jour pour les thèmes suivants :"
watched_word_regexp_error: "L'expression régulière pour détecter des mots suivis et déclencher l'action « %{action} » n'est pas valide. Veuillez vérifier la <a href='%{base_path}/admin/customize/watched_words'>configuration des mots surveillés</a> ou désactiver le paramètre « watched words regular expressions »."
v3_analytics_deprecated: "Votre Discourse utilise actuellement Google Analytics 3, qui ne sera plus pris en charge après le mois de juillet 2023. <a href='https://meta.discourse.org/t/260498'>Passez à Google Analytics 4</a> dès maintenant pour continuer à recevoir des informations et des analyses précieuses sur les performances de votre site Web."
legacy_navigation_menu_deprecated: "Votre Discourse utilise actuellement le menu de navigation hérité qui <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>sera supprimé dans la première version bêta de Discourse 3.2</a>. Migrez vers le nouveau menu de navigation en mettant à jour le <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>paramètre du menu de navigation</a> sur « barre latérale » ou « menu déroulant d'en-tête »."
site_settings:
allow_bulk_invite: "Autoriser l'envoi d'invitations multiples via l'importation d'un fichier CSV"
disabled: "désactivé"

View File

@ -1521,7 +1521,6 @@ he:
unreachable_themes: "לא הצלחתי לבדוק אם יש עדכונים לערכות העיצוב הבאות:"
watched_word_regexp_error: "הביטוי הרגולרי למילים במעקב %{action} שגוי. נא לבדוק את <a href='%{base_path}/admin/customize/watched_words'>הגדרות המילים במעקב</a> או ךהשבית את הגדרת האתר ‚ביטוי רגולרי למילים במעקב’."
v3_analytics_deprecated: "ה־Discourse שלך משתמש כרגע ב־Google Analytics 3, שהתמיכה בו תיפסק אחרי יולי 2023. כדאי <a href='https://meta.discourse.org/t/260498'>לשדרג ל־Google Analytics 4</a> כעת כדי להמשיך לקבל תובנות מועילות בנוגע לביצועי האתר שלך."
legacy_navigation_menu_deprecated: "ה־Discourse שלך משתמש עדיין בתפריט הניווט ה‚מיושן’ ש<a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>יוסר במהדורת הבטא הראשונה של Discourse 3.2</a>. כדי לעבור לתפריט הניווט החדש על ידי עדכון <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>הגדרת תפריט הניווט באתר</a> שלך ל־sidebar (סרגל צד) או ל־header dropdown (תפריט נגלל משורת הכותרת)."
site_settings:
allow_bulk_invite: "לאפשר הזמנות במרוכז על ידי העלאת קובץ CSV"
disabled: "מושבת"

View File

@ -1186,7 +1186,6 @@ id:
other: "Email polling telah menghasilkan %{count} kesalahan dalam 24 jam terakhir. Lihatlah <a href='%{base_path}/logs' target='_blank'>log</a> untuk lebih jelasnya."
missing_mailgun_api_key: "Server dikonfigurasi untuk mengirim email melalui Mailgun tetapi Anda belum memberikan kunci API yang digunakan untuk memverifikasi pesan webhook."
v3_analytics_deprecated: "Wacana Anda saat ini menggunakan Google Analytics 3, yang tidak akan didukung lagi setelah Juli 2023.0 <a href='https://meta.discourse.org/t/260498'>ke Google Analytics 4</a> sekarang untuk terus menerima wawasan dan analitik berharga untuk kinerja situs web Anda."
legacy_navigation_menu_deprecated: "Discourse Anda saat ini menggunakan menu navigasi 'lama' yang <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>akan dihapus pada rilis beta pertama Discourse 3.2</a>. Migrasi ke menu navigasi yang baru dengan memperbarui pengaturan situs menu navigasi <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'></a> ke 'sidebar' atau 'header dropdown'."
site_settings:
disabled: "dinonaktifkan"
allow_user_locale: "Perbolehkan pengguna untuk memilih bahasa sendiri"

View File

@ -1408,7 +1408,6 @@ it:
unreachable_themes: "Non è stato possibile verificare la presenza di aggiornamenti per i seguenti temi:"
watched_word_regexp_error: "L'espressione regolare per le parole osservate %{action} non è valida. Per favore verifica le tue <a href='%{base_path}/admin/customize/watched_words'>Impostazioni sulle Parole Osservate</a>, o disabilita l'impostazione del sito 'watched words regular expressions'."
v3_analytics_deprecated: "Il tuo Discourse utilizza attualmente Google Analytics 3, che non sarà più supportato dopo luglio 2023. <a href='https://meta.discourse.org/t/260498'>Passa a Google Analytics 4</a> ora per continuare a ricevere preziose informazioni e analisi per le prestazioni del tuo sito web."
legacy_navigation_menu_deprecated: "Il tuo Discourse sta attualmente utilizzando il menu di navigazione \"legacy\" che <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>verrà rimosso nella prima versione beta di Discourse 3.2</a>. Passa al nuovo menu di navigazione aggiornando la tua impostazione <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>del sito del menu di navigazione</a> su \"barra laterale\" o \"elenco a discesa dell'intestazione\"."
site_settings:
allow_bulk_invite: "Consenti inviti di massa caricando un file CSV"
disabled: "disabilitato"

View File

@ -1334,7 +1334,6 @@ ja:
unreachable_themes: "次のテーマの更新を確認できませんでした:"
watched_word_regexp_error: "'%{action}' のウォッチ語の正規表現は無効です。<a href='%{base_path}/admin/customize/watched_words'>ウォッチ語の設定</a>を確認するか、'ウォッチ語の正規表現' サイト設定を無効にしてください。"
v3_analytics_deprecated: "あなたの Discourse は現在 Google Analytics 3 を使用していますが、2023 年 7 月以降はサポートされなくなります。今すぐ <a href='https://meta.discourse.org/t/260498'>Google Analytics 4 にアップグレード</a>して、ウェブサイトのパフォーマンスに関する貴重なインサイトと分析を引き続き受け取りましょう。"
legacy_navigation_menu_deprecated: "Discourse は現在「レガシー」ナビゲーションメニューを使用していますが、<a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>Discourse 3.2 の最初のベータリリースで削除されます</a>。<a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>ナビゲーションメニューのサイトの設定</a>を「サイドバー」または「ヘッダードロップダウン」に更新して、新しいナビゲーションメニューに移行してください。"
site_settings:
allow_bulk_invite: "CSV ファイルのアップロードによる一括招待を許可する"
disabled: "無効"

View File

@ -1401,7 +1401,6 @@ nl:
unreachable_themes: "We konden niet op updates controleren voor de volgende thema's:"
watched_word_regexp_error: "De reguliere expressie voor '%{action}' geobserveerde woorden is ongeldig. Controleer je <a href='%{base_path}/admin/customize/watched_words'>instellingen voor geobserveerde woorden</a> of schakel de website-instelling 'reguliere expressies voor geobserveerde woorden' uit."
v3_analytics_deprecated: "Je Discourse gebruikt momenteel Google Analytics 3, dat na juli 2023 niet meer wordt ondersteund. <a href='https://meta.discourse.org/t/260498'>Upgrade nu naar Google Analytics 4</a> om waardevolle inzichten en analyses te blijven ontvangen voor de prestaties van je website."
legacy_navigation_menu_deprecated: "Je Discourse gebruikt momenteel het 'verouderde' navigatiemenu dat <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>wordt verwijderd in de eerste bètaversie van Discourse 3.2</a>. Migreer naar het nieuwe navigatiemenu door de site-instelling van je <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>navigatiemenu</a> bij te werken naar 'Zijbalk' of 'Vervolgkeuzelijst kop'."
site_settings:
allow_bulk_invite: "Bulkuitnodigingen toestaan door een CSV-bestand te uploaden"
disabled: "uitgeschakeld"

View File

@ -1517,7 +1517,6 @@ pl_PL:
unreachable_themes: "Nie byliśmy w stanie sprawdzić aktualizacji następujących tematów:"
watched_word_regexp_error: "Wyrażenie regularne dla '%{action}' jest nieprawidłowe. Sprawdź ustawienia <a href='%{base_path}/admin/customize/watched_words'>obserwowanych słów</a> lub wyłącz ustawienie witryny „obserwowane słowa regularne”."
v3_analytics_deprecated: "Twój Discourse używa obecnie Google Analytics 3, które nie będzie już wspierane po lipcu 2023 roku. <a href='https://meta.discourse.org/t/260498'>Uaktualnij do Google Analytics 4</a> teraz, aby nadal otrzymywać cenne informacje i analizy dotyczące wydajności twojej strony."
legacy_navigation_menu_deprecated: "Twój Discourse używa obecnie \"starszego\" menu nawigacyjnego, które <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>zostanie usunięte w pierwszej wersji beta Discourse 3.2</a>. Przeprowadź migrację do nowego menu nawigacyjnego, aktualizując ustawienia witryny menu nawigacyjnego <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'></a> do 'sidebar' lub 'header dropdown'."
site_settings:
allow_bulk_invite: "Zezwalaj na zaproszenia zbiorcze, przesyłając plik CSV"
disabled: "wyłączone"

View File

@ -1401,7 +1401,6 @@ pt_BR:
unreachable_themes: "Não foi possível verificar se há atualizações para os seguintes temas:"
watched_word_regexp_error: "A expressão regular para \"%{action}\" palavras acompanhadas é inválida. Verifique as <a href='%{base_path}/admin/customize/watched_words'>configurações de palavras acompanhadas</a> ou desative as \"configurações do site para expressões regulares\"."
v3_analytics_deprecated: "Atualmente, seu Discourse está usando o Google Analytics 3, que não será mais compatível depois de julho de 2023. <a href='https://meta.discourse.org/t/260498'>Atualize para o Google Analytics 4</a> agora para continuar recebendo informações e análises valiosas para o desempenho do seu site."
legacy_navigation_menu_deprecated: "Atualmente, seu Discourse está usando o menu de navegação herdado, que <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>será removido no lançamento da primeira versão beta do Discourse 3.2</a>. Migre para o novo menu de navegação ao atualizar as <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>configurações do site do menu de navegação</a> para \"barra lateral\" ou \"menu de cascada do cabeçalho\"."
site_settings:
allow_bulk_invite: "Permitir convites em massa com o uso de um arquivo CSV"
disabled: "desativado(a)"

View File

@ -1493,7 +1493,6 @@ ru:
unreachable_themes: "Не удается проверить наличие обновлений для следующих тем:"
watched_word_regexp_error: "Недопустимое регулярное выражение для контролируемых слов типа «%{action}». Проверьте <a href='%{base_path}/admin/customize/watched_words'>параметры контролируемых слов</a> или отключите в настройках сайта пункт «Контролируемые слова представлены регулярными выражениями»."
v3_analytics_deprecated: "Ваша версия Discourse использует Google Аналитику 3, поддержка которой прекратится после июля 2023 года. <a href='https://meta.discourse.org/t/260498'>Обновитесь до Google Аналитики 4</a> — так вы сможете и в дальнейшем получать ценную информацию и статистику о работе веб-сайта."
legacy_navigation_menu_deprecated: "Ваша версия Discourse использует настройку меню навигации «Старая версия», которая <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>будет удалено в первой бета-версии Discourse 3.2</a>. Перейдите на новое меню навигации — измените <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>настройку сайта для меню навигации</a> на «Боковую панель» или «Выпадающий список заголовка»."
site_settings:
allow_bulk_invite: "Разрешить массовые приглашения путём загрузки CSV-файла"
disabled: "отключено"

View File

@ -1401,7 +1401,6 @@ sv:
unreachable_themes: "Vi kunde inte kontrollera uppdateringar för följande teman:"
watched_word_regexp_error: "Det reguljära uttrycket för '%{action}'-bevakade ord är ogiltigt. Kontrollera dina <a href='%{base_path}/admin/customize/watched_words'>inställningar för bevakade ord</a> eller inaktivera webbplatsinställningen 'Reguljära uttryck för bevakade ord'."
v3_analytics_deprecated: "Din Discourse använder för närvarande Google Analytics 3, som inte längre kommer att stödjas efter juli 2023. <a href='https://meta.discourse.org/t/260498'>Uppgradera till Google Analytics 4</a> nu för att fortsätta att få värdefulla insikter i, och analyser av, din webbplats prestanda."
legacy_navigation_menu_deprecated: "Din Discourse använder för närvarande den \"äldre\" navigeringsmenyn som <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>kommer att tas bort i den första betaversionen av Discourse 3.2</a>. Migrera till den nya navigeringsmenyn genom att uppdatera din <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>webbplatsinställning för navigeringsmenyer</a> till 'sidebar' eller 'header dropdown'."
site_settings:
allow_bulk_invite: "Tillåt massinbjudningar genom att ladda upp en CSV-fil"
disabled: "inaktiverade"

View File

@ -1398,7 +1398,6 @@ tr_TR:
unreachable_themes: "Aşağıdaki temalarda güncelleme olup olmadığını kontrol edemedik:"
watched_word_regexp_error: "\"%{action}\" izlenen sözcükler için normal ifade geçersiz. Lütfen <a href='%{base_path}/admin/customize/watched_words'>İzlenen Kelime ayarlarınızı</a>kontrol edin veya \"izlenen kelimeler sıradan ifadeler\" site ayarını devre dışı bırakın."
v3_analytics_deprecated: "Discourse'unuz şu anda Temmuz 2023'ten sonra artık desteklenmeyecek olan Google Analytics 3'ü kullanıyor. Web sitenizin performansı hakkında değerli bilgiler ve analizler almaya devam etmek için hemen <a href='https://meta.discourse.org/t/260498'>Google Analytics 4'e yükseltin</a>."
legacy_navigation_menu_deprecated: "Discourse'unuz şu anda <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>Discourse 3.2'nin</a>ilk beta sürümünde kaldırılacak olan \"eski\" gezinme menüsünü kullanıyor. <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>Gezinme menüsü site ayarınızı</a> \"yan çubuk\" veya \"başlık açılır menüsü\" olarak güncelleyerek yeni gezinme menüsüne geçiş yapın."
site_settings:
allow_bulk_invite: "Bir CSV dosyası yükleyerek toplu davetlere izin verin"
disabled: "devre dışı"

View File

@ -1521,7 +1521,6 @@ uk:
unreachable_themes: "Ми не змогли перевірити наявність оновлень для наступних тем:"
watched_word_regexp_error: "Неприпустимий регулярний вираз для '%{action}' контрольованих слів. Будь ласка, перевірте ваші <a href='%{base_path}/admin/customize/watched_words'>Налаштування контрольованих слів</a>, або вимкніть параметр 'контрольовані слова представлені регулярними виразами'."
v3_analytics_deprecated: "Ваш Discourse наразі використовує Google Analytics 3, яка більше не підтримуватиметься після липня 2023 року. <a href='https://meta.discourse.org/t/260498'>Оновіть Google Analytics 4</a> зараз, щоб і надалі отримувати цінну статистику та аналітику щодо ефективності вашого веб-сайту."
legacy_navigation_menu_deprecated: "У вашому Discourse наразі використовується «застаріле» навігаційне меню, <a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>буде видалено в першій бета-версії Discourse 3.2</a>. Перейдіть до нового навігаційного меню, оновивши налаштування сайту <a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>навігаційного меню</a> на «бічній панелі» або «випадаючому списку заголовка»."
site_settings:
allow_bulk_invite: "Дозволити масові запрошення, шляхом завантаження файлу CSV"
disabled: "вимкнуто"

View File

@ -1343,7 +1343,6 @@ zh_CN:
unreachable_themes: "我们无法检查以下主题的更新:"
watched_word_regexp_error: "'%{action}' 关注词的正则表达式无效。请检查您的<a href='%{base_path}/admin/customize/watched_words'>关注词设置</a>,或禁用“关注词正则表达式”站点设置。"
v3_analytics_deprecated: "您的 Discourse 目前使用的是 Google Analytics分析32023 年 7 月后该版本将不受支持。立即<a href='https://meta.discourse.org/t/260498'>升级到Google Analytics分析4</a> ,以继续接收有价值的见解和分析,了解您的网站性能。"
legacy_navigation_menu_deprecated: "您的 Discourse 目前使用的是“旧版”导航菜单,<a href='https://meta.discourse.org/t/removing-the-legacy-hamburger-navigation-menu-option/265274'>该菜单将在 Discourse 3.2 的第一个测试版中移除</a>。更新您的<a href='%{base_path}/admin/site_settings/category/all_results?filter=navigation_menu'>导航菜单站点设置</a>为 'sidebar' 或 'header dropdown',迁移到新的导航菜单。"
site_settings:
allow_bulk_invite: "允许通过上传 CSV 文件批量邀请"
disabled: "已禁用"

View File

@ -0,0 +1,11 @@
# frozen_string_literal: true
class MigrateLegacyNavigationMenuSiteSetting < ActiveRecord::Migration[7.0]
def up
execute "UPDATE site_settings SET value = 'header dropdown' WHERE name = 'navigation_menu' AND value = 'legacy'"
end
def down
raise ActiveRecord::IrreversibleMigration
end
end

View File

@ -6,7 +6,7 @@ RSpec.describe "List channels | no sidebar", type: :system do
let(:chat) { PageObjects::Pages::Chat.new }
before do
SiteSetting.navigation_menu = "legacy"
SiteSetting.navigation_menu = "header dropdown"
chat_system_bootstrap
sign_in(current_user)
end

View File

@ -13,7 +13,7 @@ RSpec.describe "Navigation", type: :system do
before do
chat_system_bootstrap(user, [category_channel, category_channel_2])
sign_in(user)
SiteSetting.navigation_menu = "legacy"
SiteSetting.navigation_menu = "header dropdown"
end
it "uses chat (not core) sidebar" do

View File

@ -45,18 +45,6 @@ RSpec.describe AdminDashboardData do
expect(problems.map(&:to_s)).to include("a problem was found")
end
end
describe "when `navigation_menu` site setting is `legacy`" do
it "should include the right problem message" do
SiteSetting.set(:navigation_menu, "legacy")
problem = AdminDashboardData.fetch_problems.last
expect(problem.message).to include(
I18n.t("dashboard.legacy_navigation_menu_deprecated", base_path: Discourse.base_path),
)
end
end
end
describe "adding scheduled checks" do

View File

@ -673,36 +673,20 @@ RSpec.describe TopicTrackingState do
)
end
it "includes tags when SiteSetting.navigation_menu is not legacy" do
SiteSetting.navigation_menu = "legacy"
report = TopicTrackingState.report(user)
expect(report.length).to eq(1)
row = report[0]
expect(row.respond_to?(:tags)).to eq(false)
it "includes tags based on the `tagging_enabled` site setting" do
SiteSetting.tagging_enabled = false
SiteSetting.navigation_menu = "sidebar"
report = TopicTrackingState.report(user)
expect(report.length).to eq(1)
row = report[0]
expect(row.tags).to contain_exactly("apples", "bananas")
end
it "includes tags when TopicTrackingState.include_tags_in_report option is enabled" do
SiteSetting.navigation_menu = "legacy"
report = TopicTrackingState.report(user)
expect(report.length).to eq(1)
row = report[0]
expect(row.respond_to? :tags).to eq(false)
TopicTrackingState.include_tags_in_report = true
SiteSetting.tagging_enabled = true
report = TopicTrackingState.report(user)
expect(report.length).to eq(1)
row = report[0]
expect(row.tags).to contain_exactly("apples", "bananas")
ensure
TopicTrackingState.include_tags_in_report = false
end
end

View File

@ -64,14 +64,6 @@ RSpec.describe User do
).to contain_exactly(tag.id, hidden_tag.id)
end
it "should not create any sidebar section link records when navigation_menu site setting is still legacy" do
SiteSetting.navigation_menu = "legacy"
user = Fabricate(:user)
expect(SidebarSectionLink.exists?(user_id: user.id)).to eq(false)
end
it "should not create any sidebar section link records for staged users" do
user = Fabricate(:user, staged: true)

View File

@ -324,6 +324,15 @@
"null"
]
},
"sidebar_tags": {
"type": "array"
},
"sidebar_category_ids": {
"type": "array"
},
"display_sidebar_tags": {
"type": "boolean"
},
"user_auth_tokens": {
"type": "array",
"items":

View File

@ -8,7 +8,6 @@ RSpec.describe "users" do
before do
SiteSetting.tagging_enabled = true
SiteSetting.navigation_menu = "legacy"
Jobs.run_immediately!
sign_in(admin)
end

View File

@ -389,12 +389,6 @@ RSpec.describe NotificationsController do
get "/notifications.json", params: { recent: true }
expect(response.status).to eq(200)
expect_correct_notifications(response)
SiteSetting.navigation_menu = "legacy"
get "/notifications.json", params: { recent: true }
expect(response.status).to eq(200)
expect_correct_notifications(response)
end
end
@ -405,12 +399,6 @@ RSpec.describe NotificationsController do
get "/notifications.json"
expect(response.status).to eq(200)
expect_correct_notifications(response)
SiteSetting.navigation_menu = "legacy"
get "/notifications.json"
expect(response.status).to eq(200)
expect_correct_notifications(response)
end
end
end

View File

@ -283,12 +283,6 @@ RSpec.describe CurrentUserSerializer do
)
end
it "is included when navigation menu is legacy" do
SiteSetting.navigation_menu = "legacy"
expect(serializer.as_json[:new_personal_messages_notifications_count]).to eq(1)
end
it "is included when sidebar is enabled" do
SiteSetting.navigation_menu = "sidebar"

View File

@ -155,13 +155,6 @@ RSpec.describe SiteSerializer do
expect(serialized[:anonymous_default_navigation_menu_tags]).to eq(nil)
end
it "is not included in the serialised object when navigation menu is legacy" do
SiteSetting.navigation_menu = "legacy"
serialized = described_class.new(Site.new(guardian), scope: guardian, root: false).as_json
expect(serialized[:anonymous_default_navigation_menu_tags]).to eq(nil)
end
it "is not included in the serialised object when user is not anonymous" do
guardian = Guardian.new(user)
@ -339,14 +332,6 @@ RSpec.describe SiteSerializer do
)
end
it "should not be serialized if `navigation_menu` site setting is set to `legacy`" do
SiteSetting.set(:navigation_menu, "legacy")
serialized = described_class.new(Site.new(guardian), scope: guardian, root: false).as_json
expect(serialized[:navigation_menu_site_top_tags]).to eq(nil)
end
it "should not be serialized if `tagging_enabled` site setting is set to false" do
SiteSetting.set(:tagging_enabled, false)

View File

@ -4,8 +4,6 @@ RSpec.describe TopicTrackingStateItemSerializer do
fab!(:user) { Fabricate(:user) }
fab!(:post) { create_post }
before { SiteSetting.navigation_menu = "legacy" }
it "serializes topic tracking state reports" do
report = TopicTrackingState.report(user)
serialized = described_class.new(report[0], scope: Guardian.new(user), root: false).as_json
@ -17,11 +15,10 @@ RSpec.describe TopicTrackingStateItemSerializer do
expect(serialized[:notification_level]).to eq(nil)
expect(serialized[:created_in_new_period]).to eq(true)
expect(serialized[:treat_as_new_topic_start_date]).to be_present
expect(serialized.has_key?(:tags)).to eq(false)
end
it "includes tags attribute when tags are present" do
TopicTrackingState.include_tags_in_report = true
it "includes tags attribute when `tagging_enabled` site setting is `true`" do
SiteSetting.tagging_enabled = true
post.topic.notifier.watch_topic!(post.topic.user_id)
@ -35,7 +32,5 @@ RSpec.describe TopicTrackingStateItemSerializer do
serialized = described_class.new(report[0], scope: Guardian.new(user), root: false).as_json
expect(serialized[:tags]).to contain_exactly("bananas", "apples")
ensure
TopicTrackingState.include_tags_in_report = false
end
end

View File

@ -13,8 +13,6 @@ RSpec.describe WebHookUserSerializer do
WebHookUserSerializer.new(user, scope: Guardian.new(admin), root: false)
end
before { SiteSetting.navigation_menu = "legacy" }
it "should include relevant user info" do
payload = serializer.as_json
expect(payload[:email]).to eq(user.email)

View File

@ -25,14 +25,6 @@ RSpec.shared_examples "User Sidebar Serializer Attributes" do |serializer_klass|
Fabricate(:category_sidebar_section_link, user: user, linkable: private_category)
end
it "is not included when navigation menu is legacy" do
SiteSetting.navigation_menu = "legacy"
json = serializer.as_json
expect(json[:sidebar_category_ids]).to eq(nil)
end
it 'serializes only the categories that the user can see when sidebar has been enabled"' do
SiteSetting.navigation_menu = "sidebar"
@ -73,15 +65,6 @@ RSpec.shared_examples "User Sidebar Serializer Attributes" do |serializer_klass|
Fabricate(:tag_sidebar_section_link, user: user, linkable: hidden_tag)
end
it "is not included when navigation menu is legacy" do
SiteSetting.navigation_menu = "legacy"
SiteSetting.tagging_enabled = true
json = serializer.as_json
expect(json[:sidebar_tags]).to eq(nil)
end
it "is not included when tagging has not been enabled" do
SiteSetting.navigation_menu = "sidebar"
SiteSetting.tagging_enabled = false
@ -117,13 +100,6 @@ RSpec.shared_examples "User Sidebar Serializer Attributes" do |serializer_klass|
describe "#display_sidebar_tags" do
fab!(:tag) { Fabricate(:tag) }
it "should not be included in serialised object when navigation menu is legacy" do
SiteSetting.tagging_enabled = true
SiteSetting.navigation_menu = "legacy"
expect(serializer.as_json[:display_sidebar_tags]).to eq(nil)
end
it "should not be included in serialised object when tagging has been disabled" do
SiteSetting.tagging_enabled = false

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
module PageObjects
module Components
class LegacyHeaderDropdown < PageObjects::Components::Base
def click
page.find(".hamburger-dropdown").click
end
def visible?
page.has_css?(".menu-container-general-links")
end
end
end
end

View File

@ -9,29 +9,6 @@ describe "Viewing sidebar as logged in user", type: :system do
before { sign_in(user) }
describe "when using the legacy navigation menu" do
before { SiteSetting.navigation_menu = "legacy" }
it "should display the sidebar when `navigation_menu` query param is 'sidebar'" do
visit("/latest?navigation_menu=sidebar")
expect(sidebar).to be_visible
expect(sidebar).to have_category_section_link(category_sidebar_section_link.linkable)
expect(page).not_to have_css(".hamburger-dropdown")
end
it "should display the sidebar dropdown menu when `navigation_menu` query param is 'header_dropdown'" do
visit("/latest?navigation_menu=header_dropdown")
expect(sidebar).to be_not_visible
header_dropdown = PageObjects::Components::SidebarHeaderDropdown.new
header_dropdown.click
expect(header_dropdown).to be_visible
end
end
describe "when using the header dropdown navigation menu" do
before { SiteSetting.navigation_menu = "header dropdown" }
@ -41,33 +18,11 @@ describe "Viewing sidebar as logged in user", type: :system do
expect(sidebar).to be_visible
expect(page).not_to have_css(".hamburger-dropdown")
end
it "should display the legacy dropdown menu when `navigation_menu` query param is 'legacy'" do
visit("/latest?navigation_menu=legacy")
expect(sidebar).to be_not_visible
legacy_header_dropdown = PageObjects::Components::LegacyHeaderDropdown.new
legacy_header_dropdown.click
expect(legacy_header_dropdown).to be_visible
end
end
describe "when using the sidebar navigation menu" do
before { SiteSetting.navigation_menu = "sidebar" }
it "should display the legacy dropdown menu when `navigation_menu` query param is 'legacy'" do
visit("/latest?navigation_menu=legacy")
expect(sidebar).to be_not_visible
legacy_header_dropdown = PageObjects::Components::LegacyHeaderDropdown.new
legacy_header_dropdown.click
expect(legacy_header_dropdown).to be_visible
end
it "should display the sidebar dropdown menu when `navigation_menu` query param is 'header_dropdown'" do
visit("/latest?navigation_menu=header_dropdown")