show contextual help on settings pages#2766
Merged
wojcik91 merged 19 commits intorelease/2.0from Apr 22, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds update-service–driven “Contextual Help” (FAQ / related docs / best practices) as a sidebar helper on relevant Settings pages, similar to how video tutorials are served.
Changes:
- Introduce ContextualHelp data model, schema validation, version-based resolution, and a sidebar UI component.
- Add a React Query fetch + parse pipeline for contextual help mappings from the update service.
- Wire the sidebar into multiple Settings/Support/Enrollment pages via
SettingsLayout.suggestionand i18n cleanup for Locations Migration wizard text.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| web/src/shared/video-tutorials/resolver.ts | Switches video tutorials to reuse the shared version resolver utility. |
| web/src/shared/utils/resolveVersion.ts | Introduces a generic resolveVersion<T>() utility for newest-eligible version selection. |
| web/src/shared/query.ts | Adds contextualHelpQueryOptions to fetch/parse contextual help from update service. |
| web/src/shared/components/ContextualHelp/types.ts | Defines contextual help keys and mapping/content types. |
| web/src/shared/components/ContextualHelp/schema.ts | Adds Zod schema to validate update-service contextual help payload. |
| web/src/shared/components/ContextualHelp/resolver.ts | Resolves a page’s contextual help by app version + page key. |
| web/src/shared/components/ContextualHelp/index.ts | Exposes the sidebar component and key constants. |
| web/src/shared/components/ContextualHelp/hooks.ts | Adds useContextualHelp() hook to fetch + resolve per page. |
| web/src/shared/components/ContextualHelp/data.ts | Defines update-service path + re-exports the parser. |
| web/src/shared/components/ContextualHelp/ContextualHelpSidebar/ContextualHelpSidebar.tsx | Implements the sidebar UI for FAQs, related docs, and best practices. |
| web/src/shared/components/ContextualHelp/ContextualHelpSidebar/ContextualHelpSidebar.scss | Styles for the contextual help sidebar sections/cards. |
| web/src/pages/settings/SettingsSmtpPage/SettingsSmtpPage.tsx | Adds contextual help sidebar to SMTP settings. |
| web/src/pages/settings/SettingsLdapPage/SettingsLdapPage.tsx | Adds contextual help sidebar to LDAP settings. |
| web/src/pages/settings/SettingsInstancePage/SettingsInstancePage.tsx | Adds contextual help sidebar to Instance settings. |
| web/src/pages/settings/SettingsIndexPage/tabs/SettingsNotificationsTab.tsx | Adds contextual help sidebar to Notifications tab. |
| web/src/pages/settings/SettingsIndexPage/tabs/SettingsLicenseTab/SettingsLicenseTab.tsx | Adds contextual help sidebar to License tab. |
| web/src/pages/settings/SettingsIndexPage/tabs/SettingsGeneralTab.tsx | Adds contextual help sidebar to General tab. |
| web/src/pages/settings/SettingsIndexPage/tabs/SettingsExternalProvidersTab.tsx | Adds contextual help sidebar to Identity/External providers tab. |
| web/src/pages/settings/SettingsIndexPage/tabs/SettingsCertificatesTab/SettingsCertificatesTab.tsx | Adds contextual help sidebar to Certificates tab. |
| web/src/pages/settings/SettingsGatewayNotificationsPage/SettingsGatewayNotificationsPage.tsx | Adds contextual help sidebar to Gateway notifications settings. |
| web/src/pages/settings/SettingsExternalOpenIdPage/SettingsExternalOpenIdPage.tsx | Adds contextual help sidebar to OpenID settings. |
| web/src/pages/settings/SettingsClientPage/SettingsClientPage.tsx | Adds contextual help sidebar to Client settings. |
| web/src/pages/settings/SettingsCertificatesPage/SettingsCertificatesPage.tsx | Adds contextual help sidebar to Certificates page. |
| web/src/pages/settings/SettingsCaPage/SettingsCaPage.tsx | Adds contextual help sidebar to CA settings. |
| web/src/pages/settings/SettingsActivityLogStreamingPage/SettingsActivityStreamingTab.tsx | Adds contextual help sidebar to Activity settings. |
| web/src/pages/SupportPage/SupportPage.tsx | Adds contextual help sidebar to Support page. |
| web/src/pages/EnrollmentPage/tabs/GeneralTab.tsx | Adds contextual help sidebar to Enrollment general tab. |
| web/src/pages/LocationsMigrationWizardPage/LocationsMigrationWizardPage.tsx | Replaces hardcoded strings with i18n messages. |
| web/messages/en/migration_wizard.json | Adds i18n strings for Locations Migration wizard. |
| web/messages/en/components.json | Adds i18n strings for contextual help section titles. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
filipslezaklab
requested changes
Apr 22, 2026
filipslezaklab
previously approved these changes
Apr 22, 2026
filipslezaklab
approved these changes
Apr 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Show contextual help (faqs, related docs, best practices) in the sidebar on relevant settings pages.
The content itself is served by the update service similar to tutorial videos.
Closes #2709