Skip to content

Update Beta branch - #46

Merged
Jordonbc merged 23 commits into
Betafrom
Dev
Apr 23, 2026
Merged

Update Beta branch#46
Jordonbc merged 23 commits into
Betafrom
Dev

Conversation

@Jordonbc

Copy link
Copy Markdown
Contributor

No description provided.

Jordonbc and others added 12 commits April 11, 2026 10:22
Bumps [actions/github-script](https://github.com/actions/github-script) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@ed59741...3a2844b)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the actions-minor-patch group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 4.35.1 to 4.35.2
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@c10b806...95e58e9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the npm-minor-patch group with 2 updates in the / directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [typescript](https://github.com/microsoft/TypeScript).


Updates `@types/node` from 25.5.2 to 25.6.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `typescript` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v6.0.2...v6.0.3)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor-patch
- dependency-name: typescript
  dependency-version: 6.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…minor-patch-9f544d7337

Bump the npm-minor-patch group across 1 directory with 2 updates
…tions-minor-patch-f3e34333ea

Bump github/codeql-action from 4.35.1 to 4.35.2 in the actions-minor-patch group
…tions/github-script-9.0.0

Bump actions/github-script from 8.0.0 to 9.0.0
@opencode-agent

Copy link
Copy Markdown
Contributor

Based on my review of the codebase and the PR changes, here's my analysis:

Code Review: PR Dev -> Beta

Code Quality Issues

  1. menu.ts:369-371 - Inconsistent error handling:

    • invoke() returns a rejected Promise when OpenVCS is unavailable
    • notify() (line 375-378) silently fails with optional chaining
    • These should have consistent behavior
  2. menu.ts:61 - Module-level mutable global state (menus, menuOrder, actionHandlers, syntheticId) could cause issues with:

    • Server-side rendering/hot-reloading
    • Multiple plugin instances in the same process
    • Consider using a proper context pattern
  3. vcs-delegate-base.ts:42 - The base class uses .bind(this) in a loop which creates a new function on every call. Consider caching bound handlers for performance.

Potential Bugs

  1. menu.ts:331 - When addMenuItem is called with a non-existent menuId, it defaults to using the menuId as the label (via createMenuHandle()). This could produce confusing UI labels. Consider requiring an explicit label for new menus.

  2. plugin.ts:71-76 - PluginHandleActionParams has both id and action_id fields that appear to serve the same purpose. This dual support could cause confusion in action dispatching. The code in menu.ts:387 handles both, but having two similarly-named fields increases risk of bugs.

Improvements

  1. menu.ts:318 - The surface parameter is now required (good!), but the type uses MenuSurface which is a type alias rather than a const object. Consider using a const system for stricter type safety:

    const MENU_SURFACE = {
      MENUBAR: 'menubar',
      SETTINGS: 'settings',
    } as const;
  2. plugin.ts:26 - Consider adding JSDoc to PluginMenuSurface explaining the difference between 'menubar' and 'settings' surfaces.

  3. Error messages - No issues found; error messages are clear and actionable.

Documentation

  • The documentation updates look appropriate for the surface feature additions.
  • No CHANGELOG entry visible - ensure one is added before publishing to Beta.

CI/Workflow

  • Workflow changes look good.
  • Consider documenting the OPENCODE_REVIEW_MODEL and OPENCODE_REVIEW_MODEL_FALLBACK variable names in the repository settings.

New%20session%20-%202026-04-23T01%3A47%3A23.641Z
opencode session  |  github run

@opencode-agent

Copy link
Copy Markdown
Contributor

Build and tests pass. Here's a summary of my review:

Code Review Summary

Fixes Applied (3 issues)

  1. menu.ts:331 - Added null check to addMenuItem() to prevent runtime crash when menuId is empty/whitespace-only
  2. menu.ts:336 - Added null check to addMenuSeparator() for same reason
  3. menu.ts:375-378 - Made notify() consistent with invoke() by throwing on missing OpenVCS instead of silently failing

Observations (No action needed)

  • vcs-delegate-base.ts:42 - The .bind(this) in a loop is intentional; toDelegates() is called once per delegate registration, not hot path
  • PluginHandleActionParams dual fields (id and action_id) - Backwards compatibility with host transport; documented in JSDoc

Documentation

  • Consider adding a CHANGELOG entry before Beta release as mentioned in prior review
  • The surface feature additions are well-documented in type JSDoc

New%20session%20-%202026-04-23T18%3A45%3A29.501Z
opencode session  |  github run

@opencode-agent

Copy link
Copy Markdown
Contributor

User opencode-agent[bot] does not have write permissions

github run

1 similar comment
@opencode-agent

Copy link
Copy Markdown
Contributor

User opencode-agent[bot] does not have write permissions

github run

@opencode-agent

Copy link
Copy Markdown
Contributor

PR Review: Dev -> Beta

Based on my analysis of the changes and verified build/test results:

Summary

Build and tests pass (64/64). The PR contains well-structured changes for the surface feature.

Changes Applied Correctly

  • menu.ts:349-357 - Null checks on addMenuItem/addMenuSeparator prevent implicit menu creation from empty IDs
  • menu.ts:397-401 - notify() now throws consistently with invoke() when OpenVCS is unavailable
  • plugin.ts:71 - action_id field is properly documented
  • Type safety and JSDoc look appropriate

Minor Observations (No Action Needed)

  1. vcs-delegate-base.ts:64 - The .bind(this) in a loop (line 64) is intentional per the comment; it's called once per delegate registration
  2. Workflow files - Changes look appropriate for the publish pipeline

Recommendations for Beta Release

  • Consider adding a CHANGELOG entry documenting the surface feature before publishing
  • The surface feature (menubar vs settings) is well-documented in JSDoc

No code edits needed from this review.

New%20session%20-%202026-04-23T18%3A53%3A19.805Z
opencode session  |  github run

@Open-VCS Open-VCS deleted a comment from opencode-agent Bot Apr 23, 2026
@Open-VCS Open-VCS deleted a comment from opencode-agent Bot Apr 23, 2026
@Jordonbc
Jordonbc merged commit bbddd65 into Beta Apr 23, 2026
10 of 11 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

Development

Successfully merging this pull request may close these issues.

1 participant