Skip to content

feat(web): copy branch name via right-click in the branch selector - #4275

Merged
juliusmarminge merged 2 commits into
mainfrom
feat/copy-branch-name-context-menu
Jul 22, 2026
Merged

juliusmarminge merged 2 commits into
mainfrom
feat/copy-branch-name-context-menu

fix(web): allow copying branch name while the trigger is disabled

f9749bf
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Jul 22, 2026 in 38s

Effect Service Conventions: No issues found

All clear

Details

Note

Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.

The changed file apps/web/src/components/BranchToolbarBranchSelector.tsx is React UI code that adds a right-click context menu to copy a branch name. It consumes the imperative readLocalApi() Promise-based bridge and the plain async writeTextToClipboard helper at a React/application boundary — it does not create, move, refactor, or consume an Effect service (no Context.Service, make, layer, or Effect dependency acquisition is touched). The writeTextToClipboard errors in useCopyToClipboard.ts already use Schema.TaggedErrorClass with structured attributes and derived messages, and are unchanged by this PR. No Effect service convention violations were introduced or retained in the changed scope.


🔍 Agent activity — reasoning, no tool calls

💭 Looking at this PR diff, I'm examining a React component update that adds a context menu for copying branch names. The changes involve importing utilities for clipboard operations and local API access, then implementing callback handlers for the context menu interaction and copy functionality, along with corresponding UI updates. Now I need to verify whether this involves any Effect service patterns. The imports like readLocalApi and writeTextToClipboard appear to be standard utility functions rather than Effect service definitions or consumption, so this looks like straightforward React UI code without Effect service concerns. This is a React UI component that uses imperative Promise-based APIs like readLocalApi and writeTextToClipboard—there's no Effect service definition or Layer being introduced here, so using .then on promises is appropriate for this application boundary. Since there are no Effect service convention violations found, the check should return success with "All clear" as the summary in the JSON response.


Agent Credits: 25 credits