Various fixes: auth stability, CLI reliability, and docs alignment#1121
Merged
sqrrrl merged 8 commits intogoogle:masterfrom Feb 13, 2026
Merged
Various fixes: auth stability, CLI reliability, and docs alignment#1121sqrrrl merged 8 commits intogoogle:masterfrom
sqrrrl merged 8 commits intogoogle:masterfrom
Conversation
Ensure project settings persistence is awaited before command and MCP clone flows return success. This removes fire-and-forget writes so I/O failures are surfaced in-band instead of being lost. Add assertions that create/clone produce a persisted .clasp.json and add a real filesystem test that setProjectId propagates write failures.
Convert explicit missing config and ignore paths into controlled CLI errors instead of bubbling raw fs.stat ENOENT output. Treat both ENOENT and ENOTDIR as user path-not-found cases so directory/file mixups are handled consistently. Cover both error paths with real filesystem tests and validate the exact CLI messages via direct command execution.
Update MCP pull_project and clone_project status text to match the actual operation names. Correct create_project and clone_project error text that previously referenced push. Keep this scoped to user-facing response copy without changing command behavior.
Correct the deployment choice label in open-web-app by removing an extra closing brace from the rendered string. This prevents malformed output in the interactive deployment picker.
Remove stale --open and --setup flags from the tail-logs command summary so it matches the current CLI implementation. This keeps the command index aligned with supported options.
Apply biome formatting adjustments in Files core implementation to eliminate the pre-existing check failure. This is a non-functional change that only normalizes whitespace, indentation, and line wrapping. Keeps the combined PR green under npm run check.
Await credential store deletion in the logout command so write failures are surfaced before success output is emitted. Add a regression test with an unwritable auth file to verify logout exits with an error and does not print JSON success when deletion fails.
Stop writing access tokens into the id_token field when OAuth tokens refresh for loaded credentials and post-login credentials. Add auth-level regression tests that trigger refresh events through both code paths and verify the persisted id_token value matches token.id_token. Include import ordering updates in the new auth test to satisfy lint checks.
Contributor
Author
|
@sqrrrl Thank you for your previous quick reviews! Please see this and the other new PRs too when you can :) I combined the smaller fixes in this one - would be really cool if these could be reviewed and shipped in a new release soon - I stand ready to discuss and adjust as needed. |
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
This PR bundles several fixes across auth stability, command reliability, MCP messaging clarity, interactive output formatting, CLI documentation accuracy, and formatting hygiene.
Changes
tokens.id_tokenin theid_tokenfield (instead oftokens.access_token) in both:.clasp.jsonpersistence completes.--projectand--ignorepaths, replacing raw filesystem errors.}in the interactiveopen-web-appdeployment choice label formatting.tail-logsflags and match currently supported options.src/core/files.tsto eliminate a pre-existingnpm run checkfailure.Validation
npm run checknpx mocha test/commands/logout.ts test/auth/auth.ts --reporter dotnpx mocha test/commands/open-webapp.ts --reporter dotnpx mocha test/core/clasp.ts test/commands/create-script.ts test/commands/clone-script.ts --reporter dot