diff --git a/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap b/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap
index de9a302163..dfc4a1355d 100644
--- a/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap
+++ b/src/features/preferences/__snapshots__/navigation-to-application-preferences.test.tsx.snap
@@ -861,37 +861,6 @@ exports[`preferences - navigation to application preferences given in preference
>
Application
-
-
-
- Some application-preference item
-
-
-
-
-
-
-
-
@@ -1307,6 +1276,37 @@ exports[`preferences - navigation to application preferences given in preference
+
+
+
+
+ Some application-preference item
+
+
+
+
+
+
+
{
expect(rendered.container).toMatchSnapshot();
});
- it("shows preference items of the extension", () => {
+ it("shows preference items of the extension as last", () => {
const { attributeValues } =
discover.queryAllElements("preference-item");
- expect(attributeValues).toContain("preference-item-for-extension-some-test-extension-name-item-some-application-preference-item-id");
+ expect(attributeValues.at(-1)).toBe("preference-item-for-extension-some-test-extension-name-item-some-application-preference-item-id");
});
});
});
diff --git a/src/features/preferences/renderer/compliance-for-legacy-extension-api/registrator-for-preference-items.injectable.tsx b/src/features/preferences/renderer/compliance-for-legacy-extension-api/registrator-for-preference-items.injectable.tsx
index 351fc7a893..c69ee37e80 100644
--- a/src/features/preferences/renderer/compliance-for-legacy-extension-api/registrator-for-preference-items.injectable.tsx
+++ b/src/features/preferences/renderer/compliance-for-legacy-extension-api/registrator-for-preference-items.injectable.tsx
@@ -113,6 +113,12 @@ const registratorForPreferenceItemsInjectable = getInjectable({
const items = extension.appPreferences.map((registration, i) => {
const itemId = `${commonId}-item-${registration.id ?? i}`;
+ const itemIsInSpecialTab =
+ registration.showInPreferencesTab &&
+ ["telemetry", "application"].includes(
+ registration.showInPreferencesTab,
+ );
+
return getInjectable({
id: itemId,
@@ -122,12 +128,12 @@ const registratorForPreferenceItemsInjectable = getInjectable({
// Note: Legacy extensions considered telemetry and application as magic strings, and so does this code
parentId: registration.showInPreferencesTab
- ? ["telemetry", "application"].includes(registration.showInPreferencesTab)
+ ? itemIsInSpecialTab
? `${registration.showInPreferencesTab}-page`
: `${commonId}-additional-page-${registration.showInPreferencesTab}`
: primaryPageId,
- orderNumber: i * 10,
+ orderNumber: i * 10 + (itemIsInSpecialTab ? 1000 : 0),
Component: () => (