Upgrade to Better Auth 1.7 - #216
Merged
Merged
Conversation
Gel Doc and SpectraMax metadata columns were stretching the main pane past the sidebar because flex items would not shrink below the table's min-content width. Co-authored-by: Cursor <cursoragent@cursor.com>
This pulls Better Auth from 1.6.27 to 1.7.2, which is a breaking account-identity change handled in the next commit. Co-authored-by: Cursor <cursoragent@cursor.com>
1.7 keys accounts on (issuer, accountId). Seeded credential rows had no issuer, so Alice's password login failed with "Couldn't sign in with that email." Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The badge was copy-pasted identically across all eight runs tables, so RunIdCell now derives it from the run's deleted_at and no longer takes `children` or `labelClassName`. The dashboard badge picks up the default 12px size instead of 10px, so both views match. Its `labelClassName="text-sm"` was already inherited from `Table`, leaving the run ID label unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
Lockfile only; the `>=1.1.408` floor in `pyproject.toml` still holds and CI resolves the version through `uv sync`. Typecheck stays clean. Co-authored-by: Cursor <cursoragent@cursor.com>
The 1.7 bump landed without regenerating the OAuth provider schema, so dynamic client registration returned a 500 and the authorization-code flow was unusable. Adds the missing columns plus the three new tables, and swaps the removed `validAudiences` option for seeded `resources`. Also updates the DCR tests for 1.7's native-only loopback redirect rule and its 201 response. Co-authored-by: Cursor <cursoragent@cursor.com>
7 tasks
wasimxyz
added a commit
that referenced
this pull request
Sep 1, 2026
* Roll Better Auth back to 1.6 so MCP clients can register. 1.7 rejects Cursor and Claude Code because both omit application_type and send a non-https callback. Pin the packages to 1.6.27 and add a migration that lets 1.6 insert account rows again. Leave the UI and make-check work from #216 in place. Co-authored-by: Cursor <cursoragent@cursor.com> * Stop Next from writing a nested web/web folder. Next 16 treats the git repo as the Turbopack workspace, so make dev already running in web/ wrote assets to web/web/.next. Pin the app root and ignore any leftover copy. Co-authored-by: Cursor <cursoragent@cursor.com> * Re-apply the Turbopack root pin after withMicrofrontends. Keeps client assets in web/.next so a leftover cache cannot restore them into web/web/.next on make dev. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
npm audit fixpulled Better Auth from 1.6.27 to 1.7.2. That is a breaking upgrade, and it broke three things: email sign-in, MCP OAuth, and the type check. This PR finishes the upgrade so all three work again.Three unrelated runs-list changes were already in flight on this branch and rode along. They are described at the bottom.
What 1.7 broke
Email sign-in. 1.7 looks accounts up by issuer and account ID together. Existing rows had no issuer, so signing in failed with "user not found". Migration
0043_add_account_issuer.sqladds the column, fills it in for existing rows, then makes it required and unique.MCP OAuth. 1.7 reshaped the OAuth provider tables and ours were never regenerated, so registering a client returned a 500 and no MCP client could connect. Migration
0044_better_auth_17_oauth_tables.sqladds 18 missing columns and three new tables, and drops nothing. ThevalidAudiencessetting was removed in 1.7, so the MCP audience is now a seeded row in the newoauth_resourcetable.scripts/generate-auth-schema.tsknows about the new tables, so the next regeneration keeps them.The type check.
verifyAccessTokenwas renamed toverifyBearerToken.Drive-by changes
Wide tables. Wide instrument tables (SpectraMax, Gel Doc) stretched the whole page sideways instead of scrolling inside their own card. The table already had its own horizontal scroll, but the panes around it were allowed to grow to fit their content, so the page grew instead. Adding
min-w-0at each level of that chain (app layout, instrument page, loading skeleton, table-pending wrapper, runs-table shell) lets the main pane shrink beside the sidebar.Comment counts. Runs with comments gave no hint of that in any list. They now show a small grey speech-bubble icon and a count next to the run ID. The runs list query returns
comment_countper run from its own query, which runs alongside the attributions query so the file counts on each row are unaffected. Deleted comments are not counted. A newRunIdCellholds the status icon, run ID, and count, and all eight tables (seven instrument variants plus the dashboard) use it. Runs with no comments look unchanged. The field is also in the RESTRunListItemschema and the MCPsearch_runsoutput.Checkbox padding. Removed the shadcn
[&:has([role=checkbox])]:pr-0rule so the checkbox column has 6px on both sides instead of 6px and 0.Things a reviewer might want to know
0043is applied, Better Auth 1.7 cannot find any account row, so email and Google sign-in both fail on that environment. Until0044is applied, MCP OAuth registration fails.native. 1.7 turns away a loopback redirect URI unless the client sendsapplication_type: "native", and there is no server-side setting to relax that. Point a real client at a preview before this reaches production.comment_countis a new field on an existing response. Anything parsingRunListItemorsearch_runswith a strict schema will see the extra key.verifyBearerTokenrejects DPoP-bound tokens. Supporting them needs replay storage in the database, so it is left out.Test plan
make checkpasses, including the previously failing type checknpm run test:unit(360 pass)make fe-test-integration(391 pass), covering the MCP OAuth flow end to end and the newcomment_countassertionsapplication_typeruleMade with Cursor