Repository navigation
Merge upstream v2 through executor@2.0.0-beta.36 - #76
Merged
Merged
Conversation
Brings in the six commits since cd6048d, released as executor@2.0.0-beta.36: - a14e2fa, 2070377, d59655b, 12aa620: cloud v1-import rework and app-slug tightening - 40e983b: host protocol 14 (underscores in hosts) and apps 0.0.1-beta.120 - 04f358c: better-auth 1.7.5 to 1.7.16, patches regenerated, @better-auth/core patch dropped Conflicts: - packages/apps/package.json: version is 0.0.1-beta.120.shuv.1, the fork's .shuv.N suffix on the new base - bun.lock: regenerated with bun install so it holds better-auth 1.7.16, Playwright 1.64.1, and apps 0.0.1-beta.120.shuv.1 The fork's own changes stay, including the #74 CLI short-name fix (1e3a5ff). Co-authored-by: shuv <shuv1337@users.noreply.github.com>
…nd 14 Upstream froze protocol 13 without the fields the fork already records in that snapshot. The frozen module matches the snapshot again, and protocol 14's record includes the same fields on the live protocol. Co-authored-by: shuv <shuv1337@users.noreply.github.com>
An owner can make a connection again with a revoked connection's id, which revives that row. A second import of the same toolkit copy must not do that: the revoked copy keeps its id, and the new copy takes the next generation. Co-authored-by: shuv <shuv1337@users.noreply.github.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
… dead Decrypt proxy state with better-auth 1.7.16's purpose keys and refuse a package that will not decrypt, so production cannot be sent to an unchecked target. A failed v1-import retry keeps the id it already saved and does not revive a revoked generation, including an artifact app. Co-authored-by: shuv <shuv1337@users.noreply.github.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.
Merges UsefulSoftwareCo/executor
v2at04f358c97(executor@2.0.0-beta.36) into the fork with a merge commit. Does not tag, release, or deploy.Incoming commits
Merge-base
cd6048d26. Six commits:a14e2fac1Export f0ca0ceb2070377d0Export 649546ded59655b0fExport 36110f4212aa620f8Export 87285251Cloud v1-import rework and app-slug tightening (
appSlugFits, addresses cut to a DNS label).40e983b04Export a94fb31eHost protocol 14, which allows underscores in credential hosts, plus
apps0.0.1-beta.120.protocols/14.json,gates.json, andreleased.tsmove with that version. Protocol 13 is frozen.04f358c97Export 8668df23better-authand@better-auth/*1.7.5to1.7.16. Patches regenerated. The@better-auth/corepatch is dropped.The fork's own changes stay, including the #74 CLI short-name fix (
1e3a5ff).apps/clistays at upstream's2.0.0-beta.35.Conflict resolutions
Git reported two conflicts:
packages/apps/package.json: version is0.0.1-beta.120.shuv.1, the fork's.shuv.Nsuffix on the new base. No0.0.1-beta.120.shuvrelease exists yet, so N is 1.bun.lock: regenerated withbun install.better-auth@1.7.16was published the same day, so the install used--minimum-release-age=0once;bun install --frozen-lockfilethen succeeded with the age gate on. The lock holdsbetter-auth@1.7.16, Playwright1.64.1, andapps@0.0.1-beta.120.shuv.1. NopatchedDependenciesselector remains on1.7.5.patches:checkreports 22 applied patches.Two further resolutions were not git conflicts:
humanon approval failures. Upstream's new frozen module did not. The module now matches that snapshot, andprotocols/14.jsonwas re-recorded so the live protocol includes the same fields.gates.jsonandreleased.tsare upstream's.bun run apps:protocolspasses: protocols 1–13 unchanged, protocol 14 recorded, older bundles still accepted. The version,protocols/14.json,gates.json, andreleased.tsmove together relative to forkv2.importToolkitskips a generation whose id is still held by that owner's revoked connection.fork-cidid not need a suite-list change. The new test-plan scenarios arecredentialHostsUnderscore(self-host) andv1ImportLongNames,v1ImportToolkitScale,v1ImportIntoEnterprise(cloud). They live in spec files those jobs already run when those targets run. fork-ci's self-contained suites (pglite,typecheck-runner,prepare-cache,emulator-failures,dashboard-file-names,release-archives) gained no scenarios.Review fixes (
ce08ca21a)better-auth@1.7.16patch exportsderivePurposeKeyfrombetter-auth/crypto(HKDF-SHA256, saltbetter-auth:oauth-encryption:v1, infobetter-auth:<purpose>:v1, 32 bytes, hex). The guard uses purposesoauth-proxy-packageandoauth-proxy-state. A decrypt or parse failure throws in the before hook, so the plugin never redirects. A 32-character own sign-in token is still passed through.cloudOAuthProxyRefusalcovers an untrusted redirect (403), a trusted one, and malformed or undecryptable state (400).v2_id(14_v1_import_failed_keeps_idrelaxes the map check sofailedmay keep an id;importedstill requires one). Toolkit copies with anyv2_idstaysaved. The generation walk, used forunsavedandunmapped, always skips an id a revoked connection still holds. Artifact retries reuse that app id.v1ImportRevokedRetryimports, rolls back, then imports a twin whose toolkit rows are the failed-with-null-id state a dropped id would leave, and checks generation 0 stays revoked.0.0.1-beta.95; protocol 13 is0.0.1-beta.119, which is not locked). The credential-hosts pin was left out.Upstream
04f358c97has the same OAuth proxy bug:apps/hosted/cloud/src/implementation/oauth-proxy-guard.tsdecrypts withkey: secretat lines 93 and 103.Test results
bun run check: passed, including typecheck (9 of 9 projects).go testinapps/hosted/self-host/native: passed. That is the only unit suite; other tests are end to end.bun apps/hosted/server/scripts/check-better-auth-security.mjs: passed.node scripts/check-patches.ts: passed (22 patches, none on better-auth 1.7.5).credential-hosts(the underscore host),app-package(supported protocols through 14), the OAuth and API-key scenarios scheduled on self-host, andself-host-short-names(fix: restore app short-name lookup for older CLI clients (#71) #74). After the review commit, that self-host selection was run again and passed.local-oauth, both local callback scenarios, local renewal interruption, andoauth-refresh-redirect-uri.cloud-passkey-moved, passkey enrollment refresh, onboarding registers a passkey, onboarding can skip a passkey).cloud-v1-import-runandcloud-v1-importran together: 37 passed, 3 failed. Isolated rerun: the WorkOS emulator 500 and the 60s timeout both passed.v1ImportIntoCopyfailed again because a rolled-back copy was revived under its old id. After the import fix, that scenario passed alone.cloudOAuthProxyRefusalandv1ImportRevokedRetrypassed.ce08ca21a: success.Still to run after deploy