diff --git a/lib/admin/types.ts b/lib/admin/types.ts
index 57e8535b..09d496c9 100644
--- a/lib/admin/types.ts
+++ b/lib/admin/types.ts
@@ -106,6 +106,10 @@ export interface SettingsPolicy {
approvedPlugins: string[];
/** Theme IDs that are force-enabled (users cannot deactivate) */
forceEnabledThemes: string[];
+ /** Web Push relay base URL shown to users. Empty means the built-in default. */
+ pushRelayUrl?: string;
+ /** When true, users cannot change pushRelayUrl in notification settings. */
+ pushRelayUrlLocked?: boolean;
}
export const DEFAULT_POLICY: SettingsPolicy = {
@@ -116,6 +120,8 @@ export const DEFAULT_POLICY: SettingsPolicy = {
forceEnabledPlugins: [],
approvedPlugins: [],
forceEnabledThemes: [],
+ pushRelayUrl: '',
+ pushRelayUrlLocked: false,
};
export interface AuditEntry {
diff --git a/locales/cs/common.json b/locales/cs/common.json
index 6a989409..7a9eb55d 100644
--- a/locales/cs/common.json
+++ b/locales/cs/common.json
@@ -955,6 +955,8 @@
"reenable": "Znovu zaregistrovat",
"relay_desc": "Výchozí je hostovaný relay Bulwark. Změňte pouze pokud používáte vlastní hosting.",
"relay_label": "Push relay",
+ "relay_locked": "Nastaveno administrátorem",
+ "relay_locked_desc": "URL push relay byla nastavena administrátorem a nelze ji změnit.",
"relay_placeholder": "https://notifications.relay.example.com",
"status_active": "Aktivní na tomto zařízení",
"status_busy": "Pracuji…",
diff --git a/locales/en/common.json b/locales/en/common.json
index a7d3a38c..1dbba593 100644
--- a/locales/en/common.json
+++ b/locales/en/common.json
@@ -927,6 +927,8 @@
"description": "Receive system notifications for new mail when this site is closed. Delivered via the Bulwark push relay; the relay never sees mail content.",
"relay_label": "Push relay",
"relay_desc": "Defaults to the hosted Bulwark relay. Change only if you self-host.",
+ "relay_locked": "Set by administrator",
+ "relay_locked_desc": "The push relay URL has been set by your administrator and cannot be changed.",
"relay_placeholder": "https://notifications.relay.example.com",
"status_active": "Active on this device",
"status_inactive": "Not enabled on this device",
diff --git a/locales/nl/common.json b/locales/nl/common.json
index 351b56d7..43679c43 100644
--- a/locales/nl/common.json
+++ b/locales/nl/common.json
@@ -955,6 +955,8 @@
"reenable": "Opnieuw registreren",
"relay_desc": "Gebruikt standaard de gehoste Bulwark-relay. Wijzig alleen als je zelf hostt.",
"relay_label": "Push-relay",
+ "relay_locked": "Ingesteld door beheerder",
+ "relay_locked_desc": "De push-relay-URL is ingesteld door je beheerder en kan niet worden gewijzigd.",
"relay_placeholder": "https://notifications.relay.example.com",
"status_active": "Actief op dit apparaat",
"status_busy": "Bezig…",