diff --git a/app/assets/javascripts/discourse/app/components/site-header.js b/app/assets/javascripts/discourse/app/components/site-header.js
index 8490dec6394..4d8d3c0bd33 100644
--- a/app/assets/javascripts/discourse/app/components/site-header.js
+++ b/app/assets/javascripts/discourse/app/components/site-header.js
@@ -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;
},
}
);
diff --git a/app/assets/javascripts/discourse/app/controllers/application.js b/app/assets/javascripts/discourse/app/controllers/application.js
index 5df4c9cb548..e0ea6bfa27b 100644
--- a/app/assets/javascripts/discourse/app/controllers/application.js
+++ b/app/assets/javascripts/discourse/app/controllers/application.js
@@ -87,10 +87,7 @@ export default Controller.extend({
return true;
}
- if (
- navigationMenuQueryParamOverride === "legacy" ||
- navigationMenuQueryParamOverride === "header_dropdown"
- ) {
+ if (navigationMenuQueryParamOverride === "header_dropdown") {
return false;
}
diff --git a/app/assets/javascripts/discourse/app/lib/plugin-api.js b/app/assets/javascripts/discourse/app/lib/plugin-api.js
index 0dd28cf8762..c3db4806157 100644
--- a/app/assets/javascripts/discourse/app/lib/plugin-api.js
+++ b/app/assets/javascripts/discourse/app/lib/plugin-api.js
@@ -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/));
}
}
diff --git a/app/assets/javascripts/discourse/app/templates/preferences.hbs b/app/assets/javascripts/discourse/app/templates/preferences.hbs
index 6309d5ae0a9..121210f1d2c 100644
--- a/app/assets/javascripts/discourse/app/templates/preferences.hbs
+++ b/app/assets/javascripts/discourse/app/templates/preferences.hbs
@@ -76,16 +76,14 @@
{{i18n "user.preferences_nav.interface"}}
- {{#if (not-eq this.siteSettings.navigation_menu "legacy")}}
-
- {{/if}}
+
{
- 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();
});
}
},
diff --git a/app/assets/javascripts/discourse/config/deprecation-workflow.js b/app/assets/javascripts/discourse/config/deprecation-workflow.js
index 853946bd7e2..d56b9f017ec 100644
--- a/app/assets/javascripts/discourse/config/deprecation-workflow.js
+++ b/app/assets/javascripts/discourse/config/deprecation-workflow.js
@@ -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",
+ },
],
};
diff --git a/app/assets/javascripts/discourse/tests/acceptance/enforce-second-factor-test.js b/app/assets/javascripts/discourse/tests/acceptance/enforce-second-factor-test.js
index 95aeecf176c..c672aa1109f 100644
--- a/app/assets/javascripts/discourse/tests/acceptance/enforce-second-factor-test.js
+++ b/app/assets/javascripts/discourse/tests/acceptance/enforce-second-factor-test.js
@@ -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(),
diff --git a/app/assets/javascripts/discourse/tests/acceptance/hamburger-menu-test.js b/app/assets/javascripts/discourse/tests/acceptance/hamburger-menu-test.js
deleted file mode 100644
index d6ff32033e6..00000000000
--- a/app/assets/javascripts/discourse/tests/acceptance/hamburger-menu-test.js
+++ /dev/null
@@ -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");
- });
-});
diff --git a/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-test.js b/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-test.js
index 2bb6c7858ff..bf50a98ee2e 100644
--- a/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-test.js
+++ b/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-test.js
@@ -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) {
diff --git a/app/assets/javascripts/discourse/tests/integration/components/site-header-test.js b/app/assets/javascripts/discourse/tests/integration/components/site-header-test.js
index 4dc3e8203fd..54cc3c07d18 100644
--- a/app/assets/javascripts/discourse/tests/integration/components/site-header-test.js
+++ b/app/assets/javascripts/discourse/tests/integration/components/site-header-test.js
@@ -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``);
- 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";
diff --git a/app/controllers/reviewable_claimed_topics_controller.rb b/app/controllers/reviewable_claimed_topics_controller.rb
index 8d5cc4a25dd..bce77f3be65 100644
--- a/app/controllers/reviewable_claimed_topics_controller.rb
+++ b/app/controllers/reviewable_claimed_topics_controller.rb
@@ -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
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 9d0789121e3..0b1f1e62b50 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -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
diff --git a/app/models/admin_dashboard_data.rb b/app/models/admin_dashboard_data.rb
index 1e3c3c75356..a57b4d7c1b4 100644
--- a/app/models/admin_dashboard_data.rb
+++ b/app/models/admin_dashboard_data.rb
@@ -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")
diff --git a/app/models/navigation_menu_site_setting.rb b/app/models/navigation_menu_site_setting.rb
index bc7b38540de..45f71631085 100644
--- a/app/models/navigation_menu_site_setting.rb
+++ b/app/models/navigation_menu_site_setting.rb
@@ -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
diff --git a/app/models/site_setting.rb b/app/models/site_setting.rb
index b6f0636f3e9..fc751d6d0ea 100644
--- a/app/models/site_setting.rb
+++ b/app/models/site_setting.rb
@@ -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!
diff --git a/app/models/topic_tracking_state.rb b/app/models/topic_tracking_state.rb
index b2ef7441428..bde60d24ccf 100644
--- a/app/models/topic_tracking_state.rb
+++ b/app/models/topic_tracking_state.rb
@@ -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}
)
diff --git a/app/models/user.rb b/app/models/user.rb
index c6d49bfddcd..0963b485c8a 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -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?
diff --git a/app/serializers/concerns/user_sidebar_mixin.rb b/app/serializers/concerns/user_sidebar_mixin.rb
index 549ca54c695..263be614691 100644
--- a/app/serializers/concerns/user_sidebar_mixin.rb
+++ b/app/serializers/concerns/user_sidebar_mixin.rb
@@ -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
diff --git a/app/serializers/site_serializer.rb b/app/serializers/site_serializer.rb
index ee8b027ebc9..06fe0478d03 100644
--- a/app/serializers/site_serializer.rb
+++ b/app/serializers/site_serializer.rb
@@ -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
diff --git a/app/serializers/web_hook_user_serializer.rb b/app/serializers/web_hook_user_serializer.rb
index 5de175413ef..5459d86f0a6 100644
--- a/app/serializers/web_hook_user_serializer.rb
+++ b/app/serializers/web_hook_user_serializer.rb
@@ -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?
diff --git a/config/locales/server.ar.yml b/config/locales/server.ar.yml
index a75a584b932..07f825cedb9 100644
--- a/config/locales/server.ar.yml
+++ b/config/locales/server.ar.yml
@@ -1626,7 +1626,6 @@ ar:
unreachable_themes: "لم نتمكن من التحقُّق من وجود تحديثات للسمات التالية:"
watched_word_regexp_error: "التعبير العادي للكلمات المُراقَبة للإجراء \"%{action}\" غير صالح. يُرجى التحقُّق من إعدادات الكلمات المُراقَبة، أو إيقاف إعداد الموقع `watched words regular expressions`."
v3_analytics_deprecated: "يستخدم Discourse لديك حاليًا Google Analytics 3، والذي سيتوقف دعمه بعد يوليو 2023. قم بالترقية إلى Google Analytics 4 الآن للاستمرار في تلقي رؤى وتحليلات قيمة لأداء موقعك الإلكتروني."
- legacy_navigation_menu_deprecated: "يستخدم Discourse لديك حاليًا قائمة التنقل \"القديمة\"، والتي ستتم إزالتها في الإصدار التجريبي الأول من Discourse 3.2. انتقل إلى قائمة التنقل الجديدة عن طريق تحديث إعداد موقع قائمة التنقل إلى \"الشريط الجانبي\" أو \"القائمة المنسدلة للرأس\"."
site_settings:
allow_bulk_invite: "السماح بالدعوات الجماعية عن طريق تحميل ملف CSV"
disabled: "متوقف"
diff --git a/config/locales/server.de.yml b/config/locales/server.de.yml
index 10c652b229d..b25b771e1cd 100644
--- a/config/locales/server.de.yml
+++ b/config/locales/server.de.yml
@@ -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 Einstellungen für überwachte Wörter 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. Aktualisiere jetzt auf Google Analytics 4, um weiterhin wertvolle Einblicke und Analysen zur Leistung deiner Website zu erhalten."
- legacy_navigation_menu_deprecated: "Dein Discourse verwendet derzeit das „alte“ Navigationsmenü, das in der ersten Betaversion von Discourse 3.2 entfernt wird. Stelle auf das neue Navigationsmenü um, indem du deine Navigationsmenü-Website-Einstellung auf „Seitenleiste“ oder „Kopfzeilen-Drop-down“ aktualisierst."
site_settings:
allow_bulk_invite: "Erlaube Masseneinladungen durch Hochladen einer CSV-Datei"
disabled: "deaktiviert"
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 6823a6b8918..7e234103ed7 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -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 Watched Word settings, 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. Upgrade to Google Analytics 4 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 will be removed in the first beta release of Discourse 3.2. Migrate to the new navigation menu by updating your navigation menu site setting to 'sidebar' or 'header dropdown'."
site_settings:
allow_bulk_invite: "Allow bulk invites by uploading a CSV file"
diff --git a/config/locales/server.es.yml b/config/locales/server.es.yml
index 6960dfbad56..741dafa180a 100644
--- a/config/locales/server.es.yml
+++ b/config/locales/server.es.yml
@@ -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 ajustes sobre palabras vigiladas 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. Actualízate a Google Analytics 4 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 se eliminará en la primera versión beta de Discourse 3.2. Migra al nuevo menú de navegación actualizando tu configuración del menú de navegación del sitio a «barra lateral» o «encabezado desplegable»."
site_settings:
allow_bulk_invite: "Permitir invitaciones en masa subiendo un archivo CSV"
disabled: "desactivado"
diff --git a/config/locales/server.fi.yml b/config/locales/server.fi.yml
index bc3a2e0cce9..cd0bce70024 100644
--- a/config/locales/server.fi.yml
+++ b/config/locales/server.fi.yml
@@ -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 tarkkailtujen sanojen asetukset 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. Päivitä Google Analytics 4:ään nyt, jotta saat jatkossakin arvokkaita tietoja ja analytiikkaa verkkosivustosi suoriutumisesta."
- legacy_navigation_menu_deprecated: "Discoursesi käyttää tällä hetkellä vanhaa navigointivalikkoa, joka poistetaan Discourse 3.2:n ensimmäisessä beetaversiossa. Siirry uuteen navigointivalikkoon päivittämällä navigation menu -sivustoasetukseksi \"sidebar\" tai \"header dropdown\"."
site_settings:
allow_bulk_invite: "Salli joukkokutsut lataamalla CSV-tiedosto"
disabled: "poistettu käytöstä"
diff --git a/config/locales/server.fr.yml b/config/locales/server.fr.yml
index d214d77619e..0d909afad0e 100644
--- a/config/locales/server.fr.yml
+++ b/config/locales/server.fr.yml
@@ -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 configuration des mots surveillés 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. Passez à Google Analytics 4 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 sera supprimé dans la première version bêta de Discourse 3.2. Migrez vers le nouveau menu de navigation en mettant à jour le paramètre du menu de navigation 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é"
diff --git a/config/locales/server.he.yml b/config/locales/server.he.yml
index 92c6825e53b..6e499e75f4a 100644
--- a/config/locales/server.he.yml
+++ b/config/locales/server.he.yml
@@ -1521,7 +1521,6 @@ he:
unreachable_themes: "לא הצלחתי לבדוק אם יש עדכונים לערכות העיצוב הבאות:"
watched_word_regexp_error: "הביטוי הרגולרי למילים במעקב ‚%{action}’ שגוי. נא לבדוק את הגדרות המילים במעקב או ךהשבית את הגדרת האתר ‚ביטוי רגולרי למילים במעקב’."
v3_analytics_deprecated: "ה־Discourse שלך משתמש כרגע ב־Google Analytics 3, שהתמיכה בו תיפסק אחרי יולי 2023. כדאי לשדרג ל־Google Analytics 4 כעת כדי להמשיך לקבל תובנות מועילות בנוגע לביצועי האתר שלך."
- legacy_navigation_menu_deprecated: "ה־Discourse שלך משתמש עדיין בתפריט הניווט ה‚מיושן’ שיוסר במהדורת הבטא הראשונה של Discourse 3.2. כדי לעבור לתפריט הניווט החדש על ידי עדכון הגדרת תפריט הניווט באתר שלך ל־‚sidebar’ (סרגל צד) או ל־‚header dropdown’ (תפריט נגלל משורת הכותרת)."
site_settings:
allow_bulk_invite: "לאפשר הזמנות במרוכז על ידי העלאת קובץ CSV"
disabled: "מושבת"
diff --git a/config/locales/server.id.yml b/config/locales/server.id.yml
index 22f7959b20b..dd9b09952bc 100644
--- a/config/locales/server.id.yml
+++ b/config/locales/server.id.yml
@@ -1186,7 +1186,6 @@ id:
other: "Email polling telah menghasilkan %{count} kesalahan dalam 24 jam terakhir. Lihatlah log 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 ke Google Analytics 4 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 akan dihapus pada rilis beta pertama Discourse 3.2. Migrasi ke menu navigasi yang baru dengan memperbarui pengaturan situs menu navigasi ke 'sidebar' atau 'header dropdown'."
site_settings:
disabled: "dinonaktifkan"
allow_user_locale: "Perbolehkan pengguna untuk memilih bahasa sendiri"
diff --git a/config/locales/server.it.yml b/config/locales/server.it.yml
index 72057c67616..34a01dfc3b7 100644
--- a/config/locales/server.it.yml
+++ b/config/locales/server.it.yml
@@ -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 Impostazioni sulle Parole Osservate, 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. Passa a Google Analytics 4 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 verrà rimosso nella prima versione beta di Discourse 3.2. Passa al nuovo menu di navigazione aggiornando la tua impostazione del sito del menu di navigazione su \"barra laterale\" o \"elenco a discesa dell'intestazione\"."
site_settings:
allow_bulk_invite: "Consenti inviti di massa caricando un file CSV"
disabled: "disabilitato"
diff --git a/config/locales/server.ja.yml b/config/locales/server.ja.yml
index 70b956b1aff..e39ba90dcc1 100644
--- a/config/locales/server.ja.yml
+++ b/config/locales/server.ja.yml
@@ -1334,7 +1334,6 @@ ja:
unreachable_themes: "次のテーマの更新を確認できませんでした:"
watched_word_regexp_error: "'%{action}' のウォッチ語の正規表現は無効です。ウォッチ語の設定を確認するか、'ウォッチ語の正規表現' サイト設定を無効にしてください。"
v3_analytics_deprecated: "あなたの Discourse は現在 Google Analytics 3 を使用していますが、2023 年 7 月以降はサポートされなくなります。今すぐ Google Analytics 4 にアップグレードして、ウェブサイトのパフォーマンスに関する貴重なインサイトと分析を引き続き受け取りましょう。"
- legacy_navigation_menu_deprecated: "Discourse は現在「レガシー」ナビゲーションメニューを使用していますが、Discourse 3.2 の最初のベータリリースで削除されます。ナビゲーションメニューのサイトの設定を「サイドバー」または「ヘッダードロップダウン」に更新して、新しいナビゲーションメニューに移行してください。"
site_settings:
allow_bulk_invite: "CSV ファイルのアップロードによる一括招待を許可する"
disabled: "無効"
diff --git a/config/locales/server.nl.yml b/config/locales/server.nl.yml
index 8d9d1a5ea8d..a738899af70 100644
--- a/config/locales/server.nl.yml
+++ b/config/locales/server.nl.yml
@@ -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 instellingen voor geobserveerde woorden 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. Upgrade nu naar Google Analytics 4 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 wordt verwijderd in de eerste bètaversie van Discourse 3.2. Migreer naar het nieuwe navigatiemenu door de site-instelling van je navigatiemenu bij te werken naar 'Zijbalk' of 'Vervolgkeuzelijst kop'."
site_settings:
allow_bulk_invite: "Bulkuitnodigingen toestaan door een CSV-bestand te uploaden"
disabled: "uitgeschakeld"
diff --git a/config/locales/server.pl_PL.yml b/config/locales/server.pl_PL.yml
index 92f8937af68..a12c9f0a269 100644
--- a/config/locales/server.pl_PL.yml
+++ b/config/locales/server.pl_PL.yml
@@ -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 obserwowanych słów 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. Uaktualnij do Google Analytics 4 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 zostanie usunięte w pierwszej wersji beta Discourse 3.2. Przeprowadź migrację do nowego menu nawigacyjnego, aktualizując ustawienia witryny menu nawigacyjnego do 'sidebar' lub 'header dropdown'."
site_settings:
allow_bulk_invite: "Zezwalaj na zaproszenia zbiorcze, przesyłając plik CSV"
disabled: "wyłączone"
diff --git a/config/locales/server.pt_BR.yml b/config/locales/server.pt_BR.yml
index b925b676ef9..0024727b6d7 100644
--- a/config/locales/server.pt_BR.yml
+++ b/config/locales/server.pt_BR.yml
@@ -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 configurações de palavras acompanhadas 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. Atualize para o Google Analytics 4 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 será removido no lançamento da primeira versão beta do Discourse 3.2. Migre para o novo menu de navegação ao atualizar as configurações do site do menu de navegação 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)"
diff --git a/config/locales/server.ru.yml b/config/locales/server.ru.yml
index 11200730e45..143037af146 100644
--- a/config/locales/server.ru.yml
+++ b/config/locales/server.ru.yml
@@ -1493,7 +1493,6 @@ ru:
unreachable_themes: "Не удается проверить наличие обновлений для следующих тем:"
watched_word_regexp_error: "Недопустимое регулярное выражение для контролируемых слов типа «%{action}». Проверьте параметры контролируемых слов или отключите в настройках сайта пункт «Контролируемые слова представлены регулярными выражениями»."
v3_analytics_deprecated: "Ваша версия Discourse использует Google Аналитику 3, поддержка которой прекратится после июля 2023 года. Обновитесь до Google Аналитики 4 — так вы сможете и в дальнейшем получать ценную информацию и статистику о работе веб-сайта."
- legacy_navigation_menu_deprecated: "Ваша версия Discourse использует настройку меню навигации «Старая версия», которая будет удалено в первой бета-версии Discourse 3.2. Перейдите на новое меню навигации — измените настройку сайта для меню навигации на «Боковую панель» или «Выпадающий список заголовка»."
site_settings:
allow_bulk_invite: "Разрешить массовые приглашения путём загрузки CSV-файла"
disabled: "отключено"
diff --git a/config/locales/server.sv.yml b/config/locales/server.sv.yml
index 4faf446cdd2..ee6c00c4871 100644
--- a/config/locales/server.sv.yml
+++ b/config/locales/server.sv.yml
@@ -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 inställningar för bevakade ord 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. Uppgradera till Google Analytics 4 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 kommer att tas bort i den första betaversionen av Discourse 3.2. Migrera till den nya navigeringsmenyn genom att uppdatera din webbplatsinställning för navigeringsmenyer till 'sidebar' eller 'header dropdown'."
site_settings:
allow_bulk_invite: "Tillåt massinbjudningar genom att ladda upp en CSV-fil"
disabled: "inaktiverade"
diff --git a/config/locales/server.tr_TR.yml b/config/locales/server.tr_TR.yml
index b9b50c6df99..771514a9a5d 100644
--- a/config/locales/server.tr_TR.yml
+++ b/config/locales/server.tr_TR.yml
@@ -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 İzlenen Kelime ayarlarınızı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 Google Analytics 4'e yükseltin."
- legacy_navigation_menu_deprecated: "Discourse'unuz şu anda Discourse 3.2'ninilk beta sürümünde kaldırılacak olan \"eski\" gezinme menüsünü kullanıyor. Gezinme menüsü site ayarınızı \"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ışı"
diff --git a/config/locales/server.uk.yml b/config/locales/server.uk.yml
index b5205ecb87a..57cbbebc63d 100644
--- a/config/locales/server.uk.yml
+++ b/config/locales/server.uk.yml
@@ -1521,7 +1521,6 @@ uk:
unreachable_themes: "Ми не змогли перевірити наявність оновлень для наступних тем:"
watched_word_regexp_error: "Неприпустимий регулярний вираз для '%{action}' контрольованих слів. Будь ласка, перевірте ваші Налаштування контрольованих слів, або вимкніть параметр 'контрольовані слова представлені регулярними виразами'."
v3_analytics_deprecated: "Ваш Discourse наразі використовує Google Analytics 3, яка більше не підтримуватиметься після липня 2023 року. Оновіть Google Analytics 4 зараз, щоб і надалі отримувати цінну статистику та аналітику щодо ефективності вашого веб-сайту."
- legacy_navigation_menu_deprecated: "У вашому Discourse наразі використовується «застаріле» навігаційне меню, буде видалено в першій бета-версії Discourse 3.2. Перейдіть до нового навігаційного меню, оновивши налаштування сайту навігаційного меню на «бічній панелі» або «випадаючому списку заголовка»."
site_settings:
allow_bulk_invite: "Дозволити масові запрошення, шляхом завантаження файлу CSV"
disabled: "вимкнуто"
diff --git a/config/locales/server.zh_CN.yml b/config/locales/server.zh_CN.yml
index 7786b02ba08..4f92637d4b1 100644
--- a/config/locales/server.zh_CN.yml
+++ b/config/locales/server.zh_CN.yml
@@ -1343,7 +1343,6 @@ zh_CN:
unreachable_themes: "我们无法检查以下主题的更新:"
watched_word_regexp_error: "'%{action}' 关注词的正则表达式无效。请检查您的关注词设置,或禁用“关注词正则表达式”站点设置。"
v3_analytics_deprecated: "您的 Discourse 目前使用的是 Google Analytics(分析)3,2023 年 7 月后该版本将不受支持。立即升级到Google Analytics(分析)4 ,以继续接收有价值的见解和分析,了解您的网站性能。"
- legacy_navigation_menu_deprecated: "您的 Discourse 目前使用的是“旧版”导航菜单,该菜单将在 Discourse 3.2 的第一个测试版中移除。更新您的导航菜单站点设置为 'sidebar' 或 'header dropdown',迁移到新的导航菜单。"
site_settings:
allow_bulk_invite: "允许通过上传 CSV 文件批量邀请"
disabled: "已禁用"
diff --git a/db/migrate/20231004020328_migrate_legacy_navigation_menu_site_setting.rb b/db/migrate/20231004020328_migrate_legacy_navigation_menu_site_setting.rb
new file mode 100644
index 00000000000..ff55ac7a275
--- /dev/null
+++ b/db/migrate/20231004020328_migrate_legacy_navigation_menu_site_setting.rb
@@ -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
diff --git a/plugins/chat/spec/system/list_channels/no_sidebar_spec.rb b/plugins/chat/spec/system/list_channels/no_sidebar_spec.rb
index 79b64eb18c2..9d5017a6e1b 100644
--- a/plugins/chat/spec/system/list_channels/no_sidebar_spec.rb
+++ b/plugins/chat/spec/system/list_channels/no_sidebar_spec.rb
@@ -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
diff --git a/plugins/chat/spec/system/sidebars_spec.rb b/plugins/chat/spec/system/sidebars_spec.rb
index d1df0415164..075da0db7a8 100644
--- a/plugins/chat/spec/system/sidebars_spec.rb
+++ b/plugins/chat/spec/system/sidebars_spec.rb
@@ -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
diff --git a/spec/models/admin_dashboard_data_spec.rb b/spec/models/admin_dashboard_data_spec.rb
index fec93548322..4f93c786fd3 100644
--- a/spec/models/admin_dashboard_data_spec.rb
+++ b/spec/models/admin_dashboard_data_spec.rb
@@ -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
diff --git a/spec/models/topic_tracking_state_spec.rb b/spec/models/topic_tracking_state_spec.rb
index 6e0a692d639..ecfe4d269cc 100644
--- a/spec/models/topic_tracking_state_spec.rb
+++ b/spec/models/topic_tracking_state_spec.rb
@@ -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
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index f0e47e8f8e5..e7d72a01d54 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -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)
diff --git a/spec/requests/api/schemas/json/user_get_response.json b/spec/requests/api/schemas/json/user_get_response.json
index ed539d524f3..06df91371d5 100644
--- a/spec/requests/api/schemas/json/user_get_response.json
+++ b/spec/requests/api/schemas/json/user_get_response.json
@@ -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":
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb
index e3a44901362..90b22cc3140 100644
--- a/spec/requests/api/users_spec.rb
+++ b/spec/requests/api/users_spec.rb
@@ -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
diff --git a/spec/requests/notifications_controller_spec.rb b/spec/requests/notifications_controller_spec.rb
index c940bf129b6..972ef1c2550 100644
--- a/spec/requests/notifications_controller_spec.rb
+++ b/spec/requests/notifications_controller_spec.rb
@@ -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
diff --git a/spec/serializers/current_user_serializer_spec.rb b/spec/serializers/current_user_serializer_spec.rb
index 6a681915eb9..3153d3075eb 100644
--- a/spec/serializers/current_user_serializer_spec.rb
+++ b/spec/serializers/current_user_serializer_spec.rb
@@ -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"
diff --git a/spec/serializers/site_serializer_spec.rb b/spec/serializers/site_serializer_spec.rb
index 54a1a035c43..e01c3182178 100644
--- a/spec/serializers/site_serializer_spec.rb
+++ b/spec/serializers/site_serializer_spec.rb
@@ -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)
diff --git a/spec/serializers/topic_tracking_state_item_serializer_spec.rb b/spec/serializers/topic_tracking_state_item_serializer_spec.rb
index be576393f39..39ac9598a2f 100644
--- a/spec/serializers/topic_tracking_state_item_serializer_spec.rb
+++ b/spec/serializers/topic_tracking_state_item_serializer_spec.rb
@@ -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
diff --git a/spec/serializers/web_hook_user_serializer_spec.rb b/spec/serializers/web_hook_user_serializer_spec.rb
index 98da0fde644..b21a1aa0961 100644
--- a/spec/serializers/web_hook_user_serializer_spec.rb
+++ b/spec/serializers/web_hook_user_serializer_spec.rb
@@ -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)
diff --git a/spec/support/user_sidebar_serializer_attributes.rb b/spec/support/user_sidebar_serializer_attributes.rb
index 3e4b0647beb..7045227f6ca 100644
--- a/spec/support/user_sidebar_serializer_attributes.rb
+++ b/spec/support/user_sidebar_serializer_attributes.rb
@@ -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
diff --git a/spec/system/page_objects/components/legacy_header_dropdown.rb b/spec/system/page_objects/components/legacy_header_dropdown.rb
deleted file mode 100644
index 8273e16940e..00000000000
--- a/spec/system/page_objects/components/legacy_header_dropdown.rb
+++ /dev/null
@@ -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
diff --git a/spec/system/viewing_sidebar_spec.rb b/spec/system/viewing_sidebar_spec.rb
index 80d8487f3dc..89942cc8d63 100644
--- a/spec/system/viewing_sidebar_spec.rb
+++ b/spec/system/viewing_sidebar_spec.rb
@@ -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")