Skip to content

Release v1.41.0 - #202

Merged
omriariav merged 8 commits into
mainfrom
codex/release-v1.41.0
Jul 9, 2026
Merged

Release v1.41.0#202
omriariav merged 8 commits into
mainfrom
codex/release-v1.41.0

Conversation

@omriariav

Copy link
Copy Markdown
Owner

Summary

Release workspace-cli v1.41.0 through the required PR path.

Changes

  • Bump google.golang.org/api to v0.287.1 and move the project baseline to Go 1.25/toolchain go1.25.5.
  • Add gws chat send quoted-message support with --quote and --quote-type reply|forward.
  • Add gws chat send notification control with --notify none|force|silent.
  • Add Drive approvals commands: approvals, approval, start-approval, approve, decline, reassign-approval, cancel-approval, comment-approval.
  • Update README, release notes, CLAUDE.md, source skills, and plugin skill mirrors.
  • Fix CI lint for Go 1.25 by moving golangci-lint-action to v9 and pinning golangci-lint v2.12.2.

Recovery note

This PR replaces the premature direct-main release attempt. The empty draft release and v1.41.0 tag were deleted, and main was restored before this branch was opened.

Local validation

  • make release-check: pass
  • local golangci-lint v1.64.8 is not authoritative for this branch; GitHub CI now runs golangci-lint v2.12.2 via golangci-lint-action@v9.

Issue scope

Closes #194.
Closes #195.
Closes #196.
Closes #197.

#62 remains untouched. #200 is already closed from v1.40.1.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary
Reviewed the PR-scoped merge diff relative to the base parent because origin/main...HEAD had no merge base in this checkout. The PR adds Drive approval commands, extends gws chat send with quote/notification options, bumps Go/API dependencies, and updates tests/docs/skills.

What Looks Good

  • Drive approval commands are registered in the existing Cobra style and added to commands_test.go.
  • README and both skills/*/references/commands.md copies were updated for the new command surface.
  • Chat quote handling is factored into helpers and has httptest coverage for the quoted-message GET plus message create request.
  • git diff --check passed.

Issues Found

  • Warning: --notify force|silent is wired into chat send, but the docs added in this PR say those modes require Chat app authentication, while this command path just sets the create-message notification option on the normal gws chat send flow. That makes the flags look supported even though they are likely unusable in the standard user-OAuth CLI path. Consider gating force/silent with a clear usage error until app auth is supported, or add the required app-auth path. See cmd/chat.go and README.md.

  • Warning: The new Drive approval mutation commands are mostly untested. The added httptest only covers list/start, and the start case calls the generated client directly instead of exercising runDriveStartApproval; there are no mock-server assertions for approve, decline, reassign-approval, cancel-approval, or comment-approval. These are the riskiest new command paths because a wrong endpoint/body/flag mapping would not be caught. See cmd/drive_test.go and the untested handlers starting at cmd/drive.go.

Verification

  • git diff --check passed.
  • Could not run go test ./cmd because the sandbox is read-only and Go failed before test execution while trying to create the module cache.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary

This PR adds Chat send quote/notification options, new Drive approval workflow commands, Go/API dependency bumps, and related README/skill/release docs updates.

What Looks Good

The new commands are registered in commands_test.go, README and skill command references were updated, and the changed code follows the existing Cobra/run-function/printer pattern. The Chat quote helper has httptest coverage, and Drive approval listing includes pagination and --max validation.

Issues Found

Critical: gws chat send --notify force|silent is exposed as supported, but the CLI only constructs Chat clients with the existing user OAuth token source. The new code passes createMessageNotificationOptions.notificationType at cmd/chat.go, while Factory only loads a user OAuth token at internal/client/factory.go and builds Chat with that token at internal/client/factory.go. Since the PR docs state force/silent require Chat app authentication, these flag values are nonfunctional in this CLI unless app auth is implemented. Fix by adding an app-auth client path for those modes, or reject force/silent with a usage error until supported.

Warning: Drive approval test coverage is thinner than the new command surface. cmd/drive_test.go verifies flags/helpers, calls listDriveApprovals, and then calls svc.Approvals.Start directly at cmd/drive_test.go, which bypasses runDriveStartApproval; there is no httptest coverage for the runner payloads/errors for approve, decline, reassign-approval, cancel-approval, or comment-approval. Add focused httptest coverage around the helper/request-building paths for each new approval action.

I could not run go test ./cmd because the sandbox is read-only and Go failed creating /home/runner/go for its module cache. git diff --check passed.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary: This PR adds Drive approval workflow commands, extends gws chat send with quote/notification-related flags, bumps Go/API dependencies, and updates docs/skills/release notes.

What looks good:

  • New Drive commands are registered in cmd/commands_test.go and covered with command/flag tests plus httptest API mocking.
  • Chat quote handling is factored into helpers and tested against a mock server.
  • README and skill command references were updated for the new command surface.
  • git diff --check passed.

Issues found:

Warning: cmd/drive.go accepts --due-time as “RFC3339” but never validates it before sending it through in StartApprovalRequest. Other time-accepting commands, such as calendar filters, return a usage error for malformed RFC3339 input. Add time.Parse(time.RFC3339, dueTime) when the flag is non-empty so users get a CLI validation error instead of a remote API failure.

Suggestion: RELEASES.md says gws chat send supports --notify none|force|silent, but the implementation intentionally rejects force and silent until Chat app auth exists. README is clear about this limitation; the release note should match that wording.

I could not run go test ./cmd in this sandbox because the filesystem is read-only and Go could not create a module/cache directory.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary
This PR bumps the Go/API/tooling baseline for v1.41.0, adds Chat send quote/notification options, and adds Drive approval list/get/mutation commands with docs and tests.

What Looks Good
The new Drive commands follow the existing Cobra pattern: command vars, init() registration, flags, required flag marking, runDriveXxx handlers, printer usage, and helper-level API wrappers.

Chat send validation is clean: invalid quote/notify combinations return usage errors, and quoted sends fetch the target message timestamp before creating the new message.

Test coverage was added in the right places: command presence in commands_test.go, flag/helper tests, and httptest coverage for Chat and Drive API payload/path behavior. README and both skills/*/references/commands.md trees were updated.

Issues Found
Critical: none.

Warning: none.

Suggestion: none.

I could not run go test because this sandbox is read-only and Go could not create module/cache directories, even under /tmp. git diff --check origin/main..HEAD passed. Source review found no issues; the PR looks clean and ready to merge once CI confirms the test suite.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary

This PR bumps the Go/API toolchain and release metadata, adds Chat send quoting/notification flags, and introduces Drive approval commands with docs and httptest coverage.

What Looks Good

The new Drive approval commands are registered in cmd/drive.go, included in cmd/commands_test.go, and documented in README.md plus the relevant skills/*/references/commands.md files. The implementation follows existing Cobra patterns: flag-based runners, helper functions for API calls/serialization, usageErrorf for user input errors, and printer-based output.

The Chat send changes are well-contained: quote metadata construction is tested with a mock server, invalid notification modes are rejected before making API calls, and docs reflect the current limitation around force/silent.

Issues Found

None. I did not find correctness, security, docs, or test coverage issues in the changed lines. The PR is clean and ready to merge, assuming CI passes.

Note: I could not run go test ./... locally because the sandbox is read-only and Go could not create its module/cache directories. git diff --check origin/main..HEAD passed.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary: The PR adds Chat quoted-message send support and Drive approval workflow commands, plus Go/API version bumps and updated README/skill docs/tests.

What Looks Good: Cobra registration and flag patterns are consistent with existing cmd/*.go style. The new Drive approvals paths have command structure tests and httptest coverage for list/start/mutation API payloads. Docs were updated in README and both skill command references. git diff --check is clean.

Issues Found:

  • Warning: RELEASES.md says gws chat send “supports notification control with --notify none|force|silent”, but the implementation intentionally rejects force and silent until Chat app authentication exists. README/skills explain the rejection correctly, so the release note should match that wording.

  • Suggestion: cmd/drive_test.go covers approval list/start/approve/decline/reassign/cancel/comment, but not the new drive approval <file-id> <approval-id> GET path. A small httptest case for svc.Approvals.Get would close that command’s direct coverage gap.

I could not run go test: the sandbox is read-only, including module cache/temp paths, and the installed Go is 1.24.13 while the PR requires Go 1.25.0.

@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Summary
The PR adds Chat send options for quoted messages and notification mode validation, plus Drive approval workflow commands. It also updates tests, command docs/skills, release notes, Go/API versions, and CI/lint config.

What Looks Good

  • New Drive approval commands are registered, documented in README and skills references, and included in commands_test.go.
  • Drive approval tests use httptest and cover list/get/start/approve/decline/reassign/cancel/comment request shapes.
  • Chat quote handling is covered with mock-server tests, including quote metadata and invalid notification modes.
  • git diff --check origin/main HEAD passes.

Issues Found
No Critical, Warning, or Suggestion findings.

I could not run go test ./... in this environment because the filesystem is read-only, including Go cache locations (/home/runner/go and /tmp). Based on the PR-scoped static review, the PR is clean and ready to merge once CI confirms the test suite.

@omriariav
omriariav merged commit 69e0430 into main Jul 9, 2026
3 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

1 participant