Skip to content

[pull] dev from KelvinTegelaar:dev - #108

Open
pull[bot] wants to merge 666 commits into
isgq-github01:devfrom
KelvinTegelaar:dev
Open

[pull] dev from KelvinTegelaar:dev#108
pull[bot] wants to merge 666 commits into
isgq-github01:devfrom
KelvinTegelaar:dev

Conversation

@pull

@pull pull Bot commented Aug 13, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

KelvinTegelaar and others added 30 commits July 19, 2026 20:08
…dev/axios-1.18.1

chore(deps): bump axios from 1.16.1 to 1.18.1
…dev/diff-9.0.0

chore(deps): bump diff from 8.0.4 to 9.0.0
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.9 to 3.4.12.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.4.9...3.4.12)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Normalize `results.Results` so the compare-policies page can handle both array and single-object API responses. This wraps a non-array result into an array and keeps only object rows, preventing invalid entries from being rendered.
…dev/dompurify-3.4.12

chore(deps): bump dompurify from 3.4.9 to 3.4.12
Replace digest-based running/remote comparison with version strings and add UTC build date display for both running and remote container images. Removes the running digest from the info card and adds an 'Image Built (UTC)' field.
Set `AutoUpdate` to `true` in the container management form defaults so automatic update checks are enabled by default. Also update the UI copy to clearly state the default behavior (hourly checks and auto-restart at 23:00), reducing ambiguity for admins configuring container updates.
Handle `ssoMigration.status === 'error'` separately so failed automatic SSO migrations are shown even if the earlier setup prompt was dismissed. Add a dedicated error dialog that explains the failure, keeps dismissals isolated per state, and sends admins to the SSO settings page to review the error and run Repair.
Add frontend validation and helper text for Autopilot profile display names so invalid characters are rejected before submission. This mirrors the backend name check and avoids Intune returning an unhelpful 500 error for unsupported names such as ones containing hyphens.
query-sync-storage-persister will save clientPrincipal:null into localstorage causing a 401 after a successful login.   added authmecipp as exclusion to stop this part, and second, added early return on private route to show loading page instead of 401 when user roles are still loading
invalidate previous caches to prevent 401 loops with changes in private route
Feat: Add applicationTemplateId to service principal query
chore: restore typescript devDependency, eslint-config-next flat config requires it
chore: Update repository links to new owner

Synced from CyberDrain/CIPP@15b92c3
Guard the forced SSO migration prompt behind initial setup completion. The setup wizard must run first and the SAM app must be configured before ExecSSOSetup can create the CIPP-SSO registration. Backend checks ApplicationID env var; frontend passes setupCompleted prop to ForcedSsoMigrationDialog.

Synced from CyberDrain/CIPP@805cd1b
Add a new Super Admin custom domains experience for the CIPP App Service. This includes a backend endpoint to list, validate, add, secure, and remove hostname bindings, plus a frontend wizard and tab entry to guide DNS setup and managed certificate provisioning.

Synced from CyberDrain/CIPP@48b0ca6
…lection

Add functionality to fetch the host tenant organization and determine partner status. Implement logic to clear tenant type selection if a non-partner is confirmed and a partner-only option was previously selected. Update option cards to disable selection based on partner status.

Synced from CyberDrain/CIPP@edba124
Updated the layout of the setup completion alert by removing unnecessary container elements and adjusting padding for improved styling and responsiveness.

Synced from CyberDrain/CIPP@98d34cc
Feat: Add EnableTeamsConsumerInbound to Teams external access standards

Synced from CyberDrain/CIPP@f3044d5
Feat: Add group assignment for Autopilot profiles

Synced from CyberDrain/CIPP@208607a
feat: CIPP Roles - Simple Mode + Impersonation

Synced from CyberDrain/CIPP@39767da
…ions

Fix: Include all assigned licenses in filter options

Synced from CyberDrain/CIPP@a30a20c
Fix(frontend): remove autocomplete prop spread, keep autocomplete props off input DOM node

Synced from CyberDrain/CIPP@c80ac4f
feat(mobile): Enhance mobile UI with responsive design and layout fixes

Synced from CyberDrain/CIPP@19fe49d
- Add CippExpandableAlert component that clamps long alert messages on mobile with a Show more/less toggle
- Fix duplicate page title on mobile when the tab picker already shows the same label
- Replace fixed percent-width Box/Stack splits with responsive widths in table-maintenance and CippRoleAddEdit
- Convert CippRoleAddEdit's side-by-side panes from Stack+Box to a responsive Grid
- Add lint rule detecting fixed percent-width flex splits that break on phones
- Update and expand CippPageCard tests to cover the title-suppression behavior

Synced from CyberDrain/CIPP@e5ee94b
Fix multiple components that caused horizontal page scroll on narrow viewports:

- CippChartCard: add minWidth: 0 to flex legend rows so long API labels (URLs, email addresses) shrink instead of overflowing
- CippImageCard: switch to responsive column/row direction and cap skeleton/image widths
- CippMap: replace fixed 600px width with 100%/maxWidth so the map fits its grid cell
- CippMessageViewer: wrap rendered HTML in an overflowX: auto box to contain fixed-width marketing table layouts
- CippVariableAutocomplete: clamp popper min/max width to viewport using CSS min()
- CippSSOSettings: wrap permission Table in TableContainer and add overflowWrap: anywhere to monospace names

Adds Storybook play-test stories for each fix.

Synced from CyberDrain/CIPP@c2ba5a9
Swap static MUI Alert components for CippExpandableAlert across multiple pages to allow users to collapse verbose informational and warning messages. Also tightens horizontal padding on settings page containers and CippPageCard to match table page card rhythm on small viewports.

Synced from CyberDrain/CIPP@0e6fe35
When a page is rendered inside a tabbed layout on mobile, the tab picker already displays the page title. This caused pages like 'SAM App Roles' and 'Worker Health' to show their name twice in a row.

Adds `useTitleClaimedByTabPicker` hook usage in `CippFormPage` and `worker-health` to suppress the h4 heading when the mobile tab picker already claims the same text. Also aligns the CIPP Users page title with its tab label so the claim works correctly, and updates tests to cover the new behavior.

Synced from CyberDrain/CIPP@d69cbd2
Adds a check in Test-CIPPGDAPRelationships to verify the SAM application can obtain a Partner Center API token with the required user_impersonation scope. Also improves loading skeleton UX in GDAP/permission results and fixes CippPropertyList skeleton width responsiveness.

Synced from CyberDrain/CIPP@3a07a4b
Adds CippUserSwitcher component that replaces the static title in user view pages with an interactive dropdown. Allows jumping between users in the same tenant without navigating back to the user list. Works on all user tabs (View, Edit, Exchange, BEC, Conditional Access). Uses a Popover on desktop and bottom sheet on mobile. Includes unit tests.

Synced from CyberDrain/CIPP@3a3303a
Remove actions from the extended-info drawer — they never dispatched reliably. The row context menu is the correct actions surface. The fix uses a final `actions={undefined}` after the config spread so it overrides any `actions` carried in page-level offCanvas configs (e.g., Users page).

Synced from CyberDrain/CIPP@1fc4d29
Update the inactive accounts report to include `lastSuccessfulSignInDateTime` when determining a user's most recent activity, preventing recently active users from being flagged as inactive. Also change `lastRefreshedDateTime` to use the users cache row timestamp (actual refresh time) instead of request time. Frontend report columns and generated OpenAPI schema were updated to expose the new field and refreshed metadata.

Synced from CyberDrain/CIPP@47170a6
a new alert for unlicensed OneDrive data nearing deletion was introduced in alerts.json, allowing for better monitoring of unlicensed accounts and accidental data loss.

Synced from CyberDrain/CIPP@eb3eb30
A saved AccountId with bearer auth off, or an out-of-range expiry value,
made New-Push throw at parameter binding. New-PwPushLink swallowed the
exception into $false, so the extension test reported "PWPush is not
enabled" while password flows fell back to plain text passwords in
notifications.

- Only pass AccountId to New-Push when bearer auth is on and the saved
  value is non-empty; a placeholder or stale selection no longer kills
  the push.
- Drop ExpireAfterDays/ExpireAfterViews values outside PassPushPosh's
  accepted ranges (1-90 / 1-100) with a logged warning instead of
  letting validation throw.
- ExecExtensionTest now checks Enabled explicitly and surfaces the real
  exception via a new -ThrowOnError switch instead of collapsing every
  failure into "PWPush is not enabled".
- Make placeholder dropdown rows with an empty id unselectable in
  integration settings so the poison value cannot be saved again.

Synced from CyberDrain/CIPP@07e0415
…rsions card

- New Update-CIPPVersionHistory warmup step persists version transitions
  (previous/new version, image tags, UTC timestamp) to the VersionHistory
  table. The event RowKey derives from the version pair, so nodes racing
  through warmup upsert one event instead of duplicating. Registered in
  all three appsettings WarmupScripts lists; soft-fail like the rest.
- Get-CIPPVersionHistory exposes the recorded history via GetVersion
  (VersionHistory/LastUpdate) and ExecContainerManagement Status
  (UpgradeHistory), rendered as a Last Updated row on the Versions card
  and an Update History card on the container management page.
- GetVersion also returns the hosting shape (hosting type, App Service
  SKU, runtime stack) read from the environment only, and degrades to
  Unknown fields instead of failing outright when the GitHub release
  check is rate-limited or unreachable.
- Versions card shows Hosting / SKU / Runtime Stack in a compact
  two-column layout with a Copy for Ticket button that produces a
  paste-ready plain-text block for support tickets.

Synced from CyberDrain/CIPP@2f35ff3
Introduce a generic CippEntitySwitcher component that renders the page title as a searchable dropdown to navigate between sibling entities without returning to the list view. Add preset wrappers for users, groups, devices, app registrations, enterprise apps, and GDAP relationships. Refactor CippUserSwitcher to delegate to CippEntitySwitcher.

Synced from CyberDrain/CIPP@bccbf57
Adds a 'Generate Support File' speed dial action that captures the current page's API traffic, instance version/hosting details, and signed-in user identity into a downloadable JSON bundle.

- New `CippSupportBundleDialog` component handles the collection lifecycle (options → collecting → ready/error)
- New `support-bundle.js` utility: axios interceptor for recording, redaction of emails/GUIDs/domains with consistent tokenisation, and JSON download
- `GetVersion` endpoint extended with `ResourceGroup`, `Domains`, and `DomainsAuthoritative` hosting fields via ARM helpers
- Redaction keeps the instance hostname intact so support can still identify the installation

Synced from CyberDrain/CIPP@4e53fc8
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants