Skip to content

Webhook GET/HEAD Support, SSO Improvements, and Multiple Bug Fixes#129

Merged
Skyfay merged 21 commits into
mainfrom
dev
Jul 18, 2026
Merged

Webhook GET/HEAD Support, SSO Improvements, and Multiple Bug Fixes#129
Skyfay merged 21 commits into
mainfrom
dev

Conversation

@Skyfay

@Skyfay Skyfay commented Jul 18, 2026

Copy link
Copy Markdown
Owner

No description provided.

Shlok-Zanwar and others added 21 commits July 13, 2026 14:53
Resolves #123

- Adds GET and HEAD to GenericWebhookSchema enum
- Omits request body on GET and HEAD requests in GenericWebhookAdapter
- Verifies boolean return value from adapter.send() across SystemNotificationService and job completion pipeline to properly record delivery failures
- Adds explicit GET and HEAD unit tests
Resolves #123

This PR implements support for `GET` and `HEAD` methods in the Generic
Webhook notification adapter.

Changes:
- Added `GET` and `HEAD` to the `GenericWebhookSchema` enum.
- Modified `GenericWebhookAdapter` to explicitly omit the JSON request
body when sending `GET` or `HEAD` requests, preventing `fetch()` from
throwing a `TypeError`.
- Updated `SystemNotificationService` and job completion pipelines to
check for the explicit `boolean` return value from `adapter.send()`,
fixing a bug where webhook transmission failures (e.g. DNS errors or
timeouts) were falsely logged as successes.
- Added corresponding unit tests to verify behavior.
Updated the v0.31.0 changelog entries for webhook method support and notification logging fixes to explicitly thank @Shlok-Zanwar in the related #123 notes.
…igation (#127)

Resolves #126

This PR fixes a React state synchronization bug in the Database Explorer
where navigating via the browser's back or forward buttons failed to
update the internal UI state.

Changes:
- Added a `useEffect` hook in `database-explorer.tsx` that listens to
`useSearchParams()` and automatically updates the `selectedDatabase` and
`selectedTable` component states to match the current URL parameters.
This ensures full history API compatibility.
Ensure dashboard-created users can link with matching SSO identities by setting `emailVerified` to true in the auth user create hook and backfilling existing users via a Prisma migration. Also map better-auth `account_not_linked` errors to a dedicated login UI message instead of a generic unknown SSO error.
Adds a new Profile > SSO tab where users can view linked providers, disconnect accounts, and start a secure connect flow for additional providers. Introduces server actions for listing/unlinking/initiating SSO links, plus a callback route that validates a short-lived encrypted token to prevent accidental session switching to another user and logs connect/unlink audit events. Also adds `profile:manage_sso` permission wiring, a new `sso_link_mismatch` login error message, and sets auth session `freshAge: 0` so unlinking does not fail on older sessions.
Adds a pre-delete impact check for OIDC providers and surfaces affected users in the UI, including a lockout warning for users with no alternative login method. Provider deletion now also removes linked account records in a transaction to prevent stale/orphaned SSO connections. The profile SSO tab is now hidden when no provider exists and the user has no linked SSO account, and related SSO empty-state copy and changelog entries were updated.
Updates `adm-zip` from `^0.5.17` to `^0.6.0` to remediate GHSA-xcpc-8h2w-3j85, where crafted ZIP input could cause excessive (up to 4GB) memory allocation. The lockfile was refreshed accordingly, and the unreleased changelog now includes a dedicated Security entry for this dependency update.
Updated dependency versions across the main app, docs, and website workspaces. This includes minor and patch upgrades for key packages like better-auth, Next.js, React, Radix UI, Tailwind CSS, Vitest, Nodemailer, and Vue in docs. Added a changelog entry under vNEXT to document the dependency refresh.
Update the Dropbox, MongoDB, and MSSQL runtime dependencies in package.json and refresh the lockfile. The changelog now records these version bumps, including the related transitive dependency updates from the newer package releases.
Update the app and website dependency manifests to newer `@radix-ui/react-*` releases and `lucide-react` v1.25.0, with lockfiles refreshed accordingly. The changelog entry was also updated to record the dependency bump.
Refresh key runtime dependencies by bumping the AWS S3 SDK packages, node-cron, radix-ui, and react-hook-form. This keeps the stack current and records the dependency update in the changelog.
Bumps dependencies across app, website, and docs, including googleapis 173, rate-limiter-flexible 11.2, react-day-picker 10.0.1, next-mdx-remote 6.0.0, and vitepress-plugin-tabs 0.9.1, with lockfiles updated accordingly.

Also updates the calendar component class mapping from `table` to `month_grid` to align with react-day-picker v10 class names, and records the dependency updates in `docs/changelog.md`.
Updated `api-docs/openapi.yaml` and `public/openapi.yaml` to align with current API coverage, including dashboard calendar data, adapter version history, database table browsing endpoints, storage checksum verification (sync and async), and expanded Vault credential and OAuth flows. Also added missing reusable schema/response definitions (`BadRequest`, credential payload schemas, table/column metadata) and documented the sync in `docs/changelog.md`.
Add a permission gate to Dropbox, Google Drive, and OneDrive token validation routes so only super admins or users with `credentials:read` can validate stored OAuth credentials. Unauthorized access now returns 403, and both OpenAPI specs plus the changelog were updated to document the new forbidden response and security hardening.
Replaced five separate dependency update bullets in the changelog with a single combined entry that summarizes version bumps across app, website, and docs, while preserving key package versions and expanded Radix package coverage.
Disable React Compiler specific react-hooks ESLint rules that are noisy without Next.js React Compiler enabled, while keeping core hooks checks intact. Update OIDC provider deletion unit coverage to assert transactional cleanup of linked accounts before provider removal, and document the test update in the changelog.
Updates the app and docs package versions from 2.10.0 to 2.10.1, and syncs the OpenAPI spec version in both api-docs and public copies. Also promotes the changelog entry from vNEXT to the released v2.10.1 section with updated Docker image tags.
@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 51.61290% with 15 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/services/sso/oidc-provider-service.ts 26.66% 11 Missing ⚠️
src/lib/runner/steps/04-completion.ts 33.33% 1 Missing and 1 partial ⚠️
...vices/notifications/system-notification-service.ts 33.33% 1 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@Skyfay
Skyfay merged commit 09b8e7c into main Jul 18, 2026
9 checks passed
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.

2 participants