Skip to content

[pull] master from supabase:master - #1206

Merged
pull[bot] merged 6 commits into
code:masterfrom
supabase:master
Aug 31, 2026
Merged

[pull] master from supabase:master#1206
pull[bot] merged 6 commits into
code:masterfrom
supabase:master

Conversation

@pull

@pull pull Bot commented Aug 31, 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 : )

myerekapan and others added 6 commits August 31, 2026 10:22
…#49765)

## Summary

Adds a narrow knip suppression so
`hooks/misc/useTrackExperimentExposure.ts` isn't flagged as an unused
file when no experiment is currently consuming it.

## Why

Different from the other files #49719 cleaned up. Those were one-off
feature code (specific banners, mutations, table rows) — genuinely dead
when their feature was removed. This hook is **shared experiment
plumbing**: every A/B experiment plugs into it, and we run experiments
frequently. Gaps between experiments are normal.

Deleting and re-adding it each cycle:
- Churns the codebase for no real cleanup value
- Adds review surface to every next experiment PR (has to also add the
hook back)
- Caused a stacked-merge race today — #49719 deleted it, #49534
reintroduced a usage in `plan-presentation.ts`. Both PRs' CI ran green
on their own bases, but merging both broke master's typecheck + Studio
deploy. Fixed in #49763.

## What this changes

One entry in `knip.jsonc` under
`workspaces["apps/studio"].ignoreIssues`:

\`\`\`jsonc
"hooks/misc/useTrackExperimentExposure.ts": ["files"]
\`\`\`

`ignoreIssues` (not `ignore`) is the right knob per the config's own
guidance — it suppresses only the "unused file" issue for this specific
path, while knip still traces the file's imports so anything it depends
on stays honestly tracked.

## Test plan

- [ ] `pnpm knip --workspace apps/studio` still clean
- [ ] With no experiment referencing the hook, knip does not report it
)

Fixes the master-push failures in the Selfhosted Studio E2E workflow
(e.g. [this
run](https://github.com/supabase/supabase/actions/runs/33383940726))
where all shards die in ~30s at the `dorny/paths-filter` step with:

```
fatal: Not a valid object name <github.event.before>^{commit}
fatal: could not read Username for 'https://github.com': No such device or address
```

On push events, paths-filter diffs against `github.event.before` using
local git. With the default depth-1 checkout that commit usually isn't
present, so the action falls back to a `git fetch` — which runs
unauthenticated because we set `persist-credentials: false`, and GitHub
rejects unauthenticated git fetches from the runner IPs. Whether a job
passed depended on whether the runner's shared git cache happened to
contain the previous master tip, which is why shards fail
nondeterministically and re-runs partially recover.

**Changed:**
- `fetch-depth: 50` on the checkout preceding paths-filter in the three
workflows that run it on push (`studio-e2e-test`, `studio-unit-tests`,
`studio-docker-build`), so the comparison base is always fetched with
the checkout action's own credentials and no fallback fetch happens.
`persist-credentials: false` stays.

PR events are unaffected either way — paths-filter uses the GitHub API
there, not git.

## To test

- CI on this PR passes (PR path exercises the API code path)
- After merge, the next few master pushes run Selfhosted Studio E2E
without the paths-filter step failing

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Improved automated build, end-to-end test, and unit test workflows by
ensuring sufficient Git history is available for change detection.
  * Increased reliability of workflow runs triggered by code pushes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
## Problem

The `<RadioGroupCard>` component has an accessibility issue: duplicate
ids on the items.
Besides, its usage in the Design System app has additional issue: no
label on the group itself when used outside a react-hook-form.
Finally, the form example wrap each item in a `FormField` and
`FormControl` which is unnecessary and causes another accessibility
issue as all items are then injected the same `id` prop.

## Solution

- Fix the duplicate ids issue
- Fix all design system example
- Fix the only wrong usage we have in studio

No visual changes

## Notes

When used outside a form, I added aria-label attributes on the group and
they are announced by Mac Voice Over.
However, when used in a form, our components adds a label with the
correct for attribute but it seems that Mac Voice Over does not announce
it.

Not sure about how this should be handled.

## How to test

On
https://design-system-git-fix-radio-group-card-a11y-supabase.vercel.app/design-system/docs/components/radio-group-card,
with Voice Over enabled:
- tab to the first radio group, it should announce the value and the
label of group itself, _Size_
- tab to the second, same but label is _Theme_

On
https://design-system-git-fix-radio-group-card-a11y-supabase.vercel.app/design-system/docs/components/radio-group-card#form
(Form example):
- select any option and submit
- check the correct option is submitted

On
https://studio-staging-git-fix-radio-group-card-a11y-supabase.vercel.app:
- Go to your organization settings, Audit Log Drains, open your devtool
network tab
- Create a new custom endpoint and select the HTTP version
- Check in the network tab that the correct http version is passed

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Accessibility**
* Improved labeling for radio card groups, including size, spacing,
theme, and webhook version selections.
* Radio options now use stable or automatically generated identifiers
with reliable label associations.

* **Bug Fixes**
* Simplified radio option structure in forms for more consistent
behavior.
* Improved ID handling across radio card, stacked, and large radio
options.
* Updated the themed radio card example to use the dark theme by
default.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…49675)

## Context

Adds the prettify SQL CTA to Explorer Notebook and Query Tab

Query tab: Prettify CTA is within the dropdown menu here
<img width="1092" height="272" alt="image"
src="https://github.com/user-attachments/assets/3b4f3514-69cc-4c24-a127-da1555ee905e"
/>

Query cell: Prettify CTA sits between the buttons in the toolbar
<img width="1085" height="306" alt="image"
src="https://github.com/user-attachments/assets/e503ad6c-5dda-4c2b-a824-8c1049d5e9fb"
/>

Also added shortcut tooltip for the run button
<img width="183" height="103" alt="image"
src="https://github.com/user-attachments/assets/729055b8-8e2c-4cf7-8f2e-c5726e828644"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added SQL prettification to Explorer query editors through the
overflow menu, query toolbar, editor action, and keyboard shortcut.
* Displays the configured formatting shortcut alongside the prettify
action.
  * Prevents formatting while an AI proposal is pending.
  * Added a keyboard shortcut hint to the query run action.
  * Enhanced toolbar tooltips to support richer formatted content.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@pull pull Bot locked and limited conversation to collaborators Aug 31, 2026
@pull pull Bot added the ⤵️ pull label Aug 31, 2026
@pull
pull Bot merged commit 143f141 into code:master Aug 31, 2026
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants