Skip to content

feat(admin-ui): surface error/warning logs in production for environment diagnostics (#2811)#2876

Open
faisalsiddique4400 wants to merge 3 commits into
mainfrom
admin-ui-issue-2811
Open

feat(admin-ui): surface error/warning logs in production for environment diagnostics (#2811)#2876
faisalsiddique4400 wants to merge 3 commits into
mainfrom
admin-ui-issue-2811

Conversation

@faisalsiddique4400

Copy link
Copy Markdown
Contributor

feat(admin-ui): surface error/warning logs in production for environment diagnostics (#2811)

Summary

This PR introduces a unified logging strategy that surfaces important warnings and errors in production environments while preserving development-only diagnostic logging behavior.

Previously, Admin UI logging relied on devLogger, which is disabled in production builds. As a result, configuration issues, initialization failures, and environment-specific problems could become effectively invisible to administrators and support teams operating deployed Flex installations.

This update introduces a structured logging approach that separates development diagnostics from operational warnings and errors, improving observability without exposing sensitive information.


Fix Summary

  • Introduced a unified logging infrastructure for Admin UI
  • Added support for audience-based logging:
    • dev
    • prod
    • both
  • Preserved existing development-only logging behavior for verbose diagnostics
  • Enabled production visibility for operational warnings and errors
  • Improved diagnostics for:
    • Cedarling initialization and configuration issues
    • License-related failures
    • Config API connectivity issues
    • Unexpected runtime states
    • Application initialization failures
  • Updated core logging consumers to use the new logger API
  • Maintained separation between user-facing notifications and diagnostic logs
  • Continued using toasts only for concise actionable user feedback
  • Prevented raw exception details, stack traces, and sensitive information from being surfaced through UI notifications
  • Established a foundation for future diagnostics and support tooling
  • Improved troubleshooting capabilities for deployed customer environments

Verification

npm run check:all
npm run test:all
npm run build

passes successfully.

  • Verified production warnings are visible through browser developer tools
  • Verified production errors are surfaced correctly for troubleshooting
  • Verified development-only logs remain gated to development environments
  • Verified existing toast behavior remains unchanged
  • Verified no regressions in application initialization flows
  • Verified Cedarling-related warnings are available for production diagnostics

🔗 Ticket

Closes: #2811

Signed-off-by: faisalsiddique4400 <faisalsiddique10886@gmail.com>
…ent diagnostics (#2811)

Signed-off-by: faisalsiddique4400 <faisalsiddique10886@gmail.com>
Signed-off-by: faisalsiddique4400 <faisalsiddique10886@gmail.com>
@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@faisalsiddique4400, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 25 minutes and 4 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9004f52f-5ae0-429c-ac4b-e68b2669e0ab

📥 Commits

Reviewing files that changed from the base of the PR and between 98056ef and 7ad32f5.

📒 Files selected for processing (102)
  • admin-ui/app/cedarling/hooks/useCedarling.ts
  • admin-ui/app/components/App/PermissionsPolicyInitializer.tsx
  • admin-ui/app/components/Wizard/Wizard.tsx
  • admin-ui/app/context/theme/themeContext.tsx
  • admin-ui/app/i18n.ts
  • admin-ui/app/layout/default.tsx
  • admin-ui/app/redux/api/backend-api.ts
  • admin-ui/app/redux/listeners/authListener.ts
  • admin-ui/app/redux/listeners/licenseListener.ts
  • admin-ui/app/redux/listeners/sessionListener.ts
  • admin-ui/app/routes/Apps/Gluu/GluuAppSidebar.tsx
  • admin-ui/app/routes/Apps/Gluu/GluuCommitDialog.tsx
  • admin-ui/app/routes/Apps/Gluu/GluuScriptErrorModal.tsx
  • admin-ui/app/routes/Apps/Gluu/GluuSessionTimeout.tsx
  • admin-ui/app/routes/Apps/Gluu/ThemeDropdown.tsx
  • admin-ui/app/routes/Apps/Profile/hooks/useProfileDetails.ts
  • admin-ui/app/routes/License/hooks/useLicenseDetails.ts
  • admin-ui/app/routes/Pages/ByeBye.tsx
  • admin-ui/app/routes/index.tsx
  • admin-ui/app/utils/AppAuthProvider.tsx
  • admin-ui/app/utils/apiErrorMessage.ts
  • admin-ui/app/utils/devLogger.ts
  • admin-ui/app/utils/logLevel.ts
  • admin-ui/app/utils/logger.ts
  • admin-ui/app/utils/menuFilters.ts
  • admin-ui/app/utils/pagingUtils.ts
  • admin-ui/app/utils/storage.ts
  • admin-ui/app/utils/triggerWebhookForFeature.ts
  • admin-ui/app/utils/types/LoggerTypes.ts
  • admin-ui/app/utils/types/index.ts
  • admin-ui/orval/__tests__/interceptors.test.ts
  • admin-ui/orval/interceptors.ts
  • admin-ui/plugins/PluginMenuResolver.ts
  • admin-ui/plugins/admin/components/Assets/JansAssetListPage.tsx
  • admin-ui/plugins/admin/components/Assets/hooks/useAssetAudit.ts
  • admin-ui/plugins/admin/components/Assets/hooks/useAssetMutations.ts
  • admin-ui/plugins/admin/components/Cedarling/CedarlingConfigPage.tsx
  • admin-ui/plugins/admin/components/Settings/SettingsPage.tsx
  • admin-ui/plugins/admin/components/Webhook/WebhookForm.tsx
  • admin-ui/plugins/admin/components/Webhook/WebhookListPage.tsx
  • admin-ui/plugins/admin/components/Webhook/hooks/useWebhookAudit.ts
  • admin-ui/plugins/admin/components/Webhook/hooks/useWebhookMutations.ts
  • admin-ui/plugins/auth-server/__tests__/api/setup.ts
  • admin-ui/plugins/auth-server/components/AuthServerProperties/components/AuthServerPropertiesPage.tsx
  • admin-ui/plugins/auth-server/components/AuthServerProperties/hooks/useAuthServerScripts.ts
  • admin-ui/plugins/auth-server/components/Authentication/Acrs/AcrsEditPage.tsx
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaFlows.tsx
  • admin-ui/plugins/auth-server/components/Authentication/AgamaFlows/AgamaProjectConfigModal.tsx
  • admin-ui/plugins/auth-server/components/Authentication/Aliases/Aliases.tsx
  • admin-ui/plugins/auth-server/components/Authentication/DefaultAcr/DefaultAcr.tsx
  • admin-ui/plugins/auth-server/components/ConfigApiProperties/components/ConfigApiPropertiesForm.tsx
  • admin-ui/plugins/auth-server/components/ConfigApiProperties/components/ConfigApiPropertiesPage.tsx
  • admin-ui/plugins/auth-server/components/ConfigApiProperties/utils/valueUtils.ts
  • admin-ui/plugins/auth-server/components/JsonViewer/components/JsonViewerDialog.tsx
  • admin-ui/plugins/auth-server/components/Keys/hooks/useJwkApi.ts
  • admin-ui/plugins/auth-server/components/Logging/components/LoggingPage.tsx
  • admin-ui/plugins/auth-server/components/Logging/hooks/useLoggingApi.ts
  • admin-ui/plugins/auth-server/components/OidcClients/__tests__/hooks/useClientUmaResources.test.ts
  • admin-ui/plugins/auth-server/components/OidcClients/components/ClientAddPage.tsx
  • admin-ui/plugins/auth-server/components/OidcClients/components/ClientCibaParUmaPanel.tsx
  • admin-ui/plugins/auth-server/components/OidcClients/components/ClientEditPage.tsx
  • admin-ui/plugins/auth-server/components/OidcClients/components/ClientListPage.tsx
  • admin-ui/plugins/auth-server/components/OidcClients/helper/utils.ts
  • admin-ui/plugins/auth-server/components/OidcClients/hooks/useClientTokens.ts
  • admin-ui/plugins/auth-server/components/OidcClients/hooks/useClientUmaResources.ts
  • admin-ui/plugins/auth-server/components/OidcClients/hooks/useCreateClient.ts
  • admin-ui/plugins/auth-server/components/OidcClients/hooks/useDeleteClient.ts
  • admin-ui/plugins/auth-server/components/OidcClients/hooks/useUpdateClient.ts
  • admin-ui/plugins/auth-server/components/Scopes/components/ScopeAddPage.tsx
  • admin-ui/plugins/auth-server/components/Scopes/components/ScopeEditPage.tsx
  • admin-ui/plugins/auth-server/components/Scopes/components/ScopeListPage.tsx
  • admin-ui/plugins/auth-server/components/Scopes/hooks/useScopeMutations.ts
  • admin-ui/plugins/auth-server/components/Sessions/components/SessionListPage.tsx
  • admin-ui/plugins/auth-server/components/Sessions/hooks/useSessionMutations.ts
  • admin-ui/plugins/auth-server/components/Ssa/components/SsaAddPage.tsx
  • admin-ui/plugins/auth-server/components/Ssa/components/SsaListPage.tsx
  • admin-ui/plugins/auth-server/components/Ssa/helper/utils.ts
  • admin-ui/plugins/auth-server/components/Ssa/hooks/useSsaApi.ts
  • admin-ui/plugins/auth-server/components/Ssa/hooks/useSsaMutations.ts
  • admin-ui/plugins/auth-server/services/jsonPropertiesService.ts
  • admin-ui/plugins/auth-server/utils/sessionExpiredRedirect.ts
  • admin-ui/plugins/fido/hooks/useFidoApi.ts
  • admin-ui/plugins/internal/loadPluginMetadata.ts
  • admin-ui/plugins/saml/components/WebsiteSsoIdentityBrokeringList.tsx
  • admin-ui/plugins/saml/components/WebsiteSsoServiceProviderList.tsx
  • admin-ui/plugins/saml/components/hooks/useSamlApi.ts
  • admin-ui/plugins/scripts/components/CustomScriptListPage.tsx
  • admin-ui/plugins/scripts/components/helper/auditUtils.ts
  • admin-ui/plugins/scripts/components/hooks/useCustomScriptApi.ts
  • admin-ui/plugins/services/Components/CachePage.tsx
  • admin-ui/plugins/services/Components/hooks/useCacheAudit.ts
  • admin-ui/plugins/smtp/components/SmtpEditPage.tsx
  • admin-ui/plugins/user-claims/components/UserClaimsListPage.tsx
  • admin-ui/plugins/user-claims/hooks/useAttributeApi.ts
  • admin-ui/plugins/user-claims/hooks/useSchemaAuditLogger.ts
  • admin-ui/plugins/user-claims/hooks/useSchemaWebhook.ts
  • admin-ui/plugins/user-management/__tests__/api/Users.test.ts
  • admin-ui/plugins/user-management/components/PasswordChangeModal.tsx
  • admin-ui/plugins/user-management/components/UserEditPage.tsx
  • admin-ui/plugins/user-management/components/UserList.tsx
  • admin-ui/plugins/user-management/helper/utils.ts
  • admin-ui/plugins/user-management/hooks/useUserMutations.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch admin-ui-issue-2811

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@faisalsiddique4400 faisalsiddique4400 changed the title ### feat(admin-ui): surface error/warning logs in production for environment diagnostics (#2811) feat(admin-ui): surface error/warning logs in production for environment diagnostics (#2811) Jun 10, 2026
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(admin-ui): surface error/warning logs in production for environment diagnostics

1 participant