You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Four live, UI-facing system objects were registered but never added to their
package's i18n extract config, so non-English admins saw raw English `label`
metadata. Adds sys_sso_provider, sys_scim_provider, sys_import_job
(platform-objects) and sys_user_position (plugin-security) to their extract
configs with real zh-CN/ja-JP/es-ES translations across all four locale
bundles, and extends the bundle-ownership guards' OWNED_OBJECTS to cover them.
sys_import_job is included after confirming it is genuinely UI-surfaced (the
objectui plugin-grid Import Wizard's import-history view, the Setup import
grid, and dashboards) and consistent with its already-translated siblings
sys_job / sys_job_run.
The orphan-only guards from #3502 could not catch this
"owned-and-live-but-never-extracted" gap.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
help: "Stable provider identifier (unique within the environment)"
1681
+
},
1682
+
issuer: {
1683
+
label: "Issuer",
1684
+
help: "IdP issuer URL"
1685
+
},
1686
+
domain: {
1687
+
label: "Email Domain",
1688
+
help: "Email domain routed to this IdP (e.g. acme.com)"
1689
+
},
1690
+
domain_verified: {
1691
+
label: "Domain Verified",
1692
+
help: "Whether DNS ownership of the email domain has been proven (ADR-0024 ②). Set by “Verify Domain” after the DNS TXT record resolves. Managed by better-auth — not directly editable. Only enforced when domain verification is enabled for the environment."
help: "JSON: entryPoint, cert, identifierFormat, mapping (managed by better-auth)"
1701
+
},
1702
+
user_id: {
1703
+
label: "Registered By",
1704
+
help: "User who registered this provider"
1705
+
},
1706
+
organization_id: {
1707
+
label: "Organization",
1708
+
help: "Organization scope (when org-scoped SSO is used)"
1709
+
},
1710
+
created_at: {
1711
+
label: "Created At"
1712
+
},
1713
+
updated_at: {
1714
+
label: "Updated At"
1715
+
}
1716
+
},
1717
+
_views: {
1718
+
all: {
1719
+
label: "All",
1720
+
emptyState: {
1721
+
title: "No SSO providers yet",
1722
+
message: "Register your organization’s external IdP — OIDC (Okta, Entra, Auth0, …) with “Register SSO Provider”, or SAML 2.0 with “Register SAML Provider”. Members whose email domain matches can then sign in through it."
1723
+
}
1724
+
}
1725
+
},
1726
+
_actions: {
1727
+
register_sso_provider: {
1728
+
label: "Register SSO Provider",
1729
+
params: {
1730
+
providerId: {
1731
+
label: "Provider ID",
1732
+
helpText: "Stable identifier, e.g. \"okta\" or \"acme-entra\"."
1733
+
},
1734
+
issuer: {
1735
+
label: "Issuer URL",
1736
+
helpText: "IdP issuer, e.g. https://acme.okta.com. Discovery is fetched from here unless an explicit URL is given below."
1737
+
},
1738
+
domain: {
1739
+
label: "Email Domain",
1740
+
helpText: "Users with this email domain are routed to this IdP, e.g. acme.com."
1741
+
},
1742
+
clientId: {
1743
+
label: "Client ID",
1744
+
helpText: "OAuth client ID issued by the IdP for this environment."
1745
+
},
1746
+
clientSecret: {
1747
+
label: "Client Secret",
1748
+
helpText: "OAuth client secret (stored encrypted by better-auth)."
0 commit comments