Skip to content

Merge main into prod#2994

Merged
adityathebe merged 72 commits into
prodfrom
main
Apr 24, 2026
Merged

Merge main into prod#2994
adityathebe merged 72 commits into
prodfrom
main

Conversation

@adityathebe

Copy link
Copy Markdown
Member

No description provided.

adityathebe and others added 30 commits March 21, 2026 21:03
* feat(catalog): add global access summary page with filters

* feat(catalog): add grouped access view with drilldown fixes

Add grouped-by-user and grouped-by-config access summary queries and tables.

Support row-click drilldown into flat access filters using tristate-compatible URL values, hide Group By in drilldown mode, and preserve configType.

Fix dropdown layering by portaling SelectDropdown menus and normalize encoded tristate keys so user/role selections render correctly from URL params.

* refactor(config-access): extract access page into modular components

* fix(config-access): scope filter facets to active context

* refactor(api): split config access services from configs

* refactor(config-access): use shared tristate helpers

* refactor(config-access): centralize catalog access URL state

* feat(config-access): add user type filter and drop access column

* fix(config-access): scope grouped queries and refresh facets

* fix(access): remove invalid defaultSorting on access_count column

* refactor(access): use single RPC for filter dropdown options

Replace 4 separate queries that fetched the full config_access_summary
view and deduplicated client-side with a single call to the new
config_access_filter_options RPC that returns distinct values server-side.

Depends on flanksource/duty#1841

* refactor(access): filter by external_user_id instead of user name

- Drill-down and dropdown filters now use external_user_id (stable UUID)
- User dropdown shows name (email) as label, external_user_id as value
- URL param key changed from 'user' to 'external_user_id'
- Flat table user cell filters by external_user_id
- Types updated to include external_user_id on ConfigAccessSummary and ConfigAccessSummaryByUser

* fix: Keep manualPageCount synced with the active page size.
 The form's onSubmit handler crafts the POST payload from internal React
 state (this.state.values) and sends it to Kratos via the Ory SDK.

 The password submit button carries method=password via its name/value
 attributes.

**Bug**: initializeValues skipped all submit buttons, so method was never
 synced with the state. it was only added to React state inside the "Sign In" button's onClick handler.

 When 1Password submits the form, it triggers the native submit event
 directly. But method was never in state, so Kratos rejected the request.
* feat: Improve filters for insights page

* feat(insights): render analysis jsonb field as YAML in insight details modal

* fix(insights): normalize config_type filter, reset pageSize on filter change, and auto-close modal on error

* refactor(insights): remove component field from config insights query

* chore: remove ID from insights modal

* feat(insights): add message/analysis tabs and summary to insight details modal

* fix(insights): remove extra top padding between tab bar and content

* fix(insights): add top padding and styling to message tab content

* fix(insights): reset tab to message when modal opens

* fix: modal appearance

* fix(insights): improve loading skeleton and summary styling in insight details modal

* feat(insights): improve insights details modal and severity colors

* feat(insights): add summary column and fix badge image rendering

* fix(insights): enable server-side pagination in config insights table
* feat(auth): proxy OIDC endpoints for CLI login

fix: panic when no role is present. This happens on first sign up via oidc

* fix(auth): preserve return_to when Kratos session already exists

When Kratos returns `session_already_available` during login flow initialization, we were always redirecting to `/`.

This breaks OIDC/MCP continuation flows for already-authenticated users, because `return_to` (e.g. /oidc/kratos/callback?auth_request_id=...) was ignored.

Update both Kratos flow error handlers to prefer `return_to` when present, falling back to `/` otherwise.

* fix(auth): allow OIDC public routes and sanitize return_to

* fix(auth): harden return_to redirect sanitizer

* feat(mcp): add dual-mode MCP setup with OIDC configs

* feat(mcp): embed token flow into setup modal
The toast only shows error happened with no details
* feat(view): add heatmap panel with debug injection for views

* feat(view): support calendar and compact heatmap variants

* fix(views): remove injected debug heatmap panels
semantic-release-bot and others added 24 commits April 14, 2026 01:57
* chore: live tail mode for config changes

* chore: changes

* chore: update merge logic

* chore: fix build error

* chore: use from_inserted_at for live mode

* chore: refetch when live mode is turned off
…2984)

* fix(notifications): reduce summary query refetches

* fix: loading indicator
* feat: add jobs summary page with drilldown

- switch /settings/jobs to job_history_summary backed table

- add /settings/jobs/:jobName drilldown page with detailed history

- navigate summary row clicks to drilldown

- remove default !SUCCESS filter from drilldown

- hide job name column in drilldown table

* feat: refine jobs summary disable toggle

- persist disable switch with jobs.<name>.disabled property

- make disable switch destructive red

- move average duration to second column

- remove toggle success toasts

- remove warning/running/stale columns and rename action to disable

* fix: address PR review comments for jobs drilldown/toggle

- avoid double decoding jobName route param

- make legacy property cleanup non-fatal

- use allSettled for enable cleanup deletes

* feat: replace jobs disable toggle with overrides dialog

- add Action/Manage flow on jobs summary table

- add shadcn dialog for job property overrides

- include schedule, retention success/failed, log level, disable

- use switch for disable and select for supported log levels

- add field descriptions and prefill values from properties

* fix(settings): allow feature flags table to use full width

* fix: date range query in job history

* fix(jobs-history): handle duplicate key on override save

* fix(job-history): prevent overrides dialog render loop

* fix(jobs-history): handle range and override save edge cases
* feat: Permissions interactive settings

* chore: refactor workbench
The feature flags settings page could show stale values when revisited because it reused a shared cached query result. Users had to manually refresh to see backend updates.

Allow useGetFeatureFlagsFromAPI to accept optional query options and set refetchOnMount="always" in FeatureFlagsPage so each visit revalidates data immediately.

Also includes feature flag list table layout tweaks from current staged changes (column sizing and removal of description column).
…forms

AWS, AWS KMS, and AWS S3 connection forms were missing the URL input field. Additionally, insecure_tls was being read from and written to the properties JSON blob instead of the dedicated top-level DB column.

- Added URL field to AWS and AWS S3 form field definitions
- insecure_tls in convertToFormSpecificValue now reads only from the top-level data field
- preSubmitConverter now sets insecure_tls at top level and removes it from properties
@vercel

vercel Bot commented Apr 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
aws-preview Error Error Apr 24, 2026 10:24am
flanksource-ui (beta) Ready Ready Preview Apr 24, 2026 10:24am

Request Review

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​radix-ui/​react-switch@​1.2.6991007091100

View full report

@coderabbitai

coderabbitai Bot commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6817c64f-994b-4db4-9153-f3595bd5272a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch main
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch main

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.

@adityathebe adityathebe merged commit 196b397 into prod Apr 24, 2026
19 of 23 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.

5 participants