M10: cleanup sprint + community parity#178
Merged
Jesssullivan merged 26 commits intomainfrom Apr 5, 2026
Merged
Conversation
…aflow-ai#2600) The npm package was renamed from oh-my-opencode to oh-my-openagent. The hardcoded old name in the shadow package.json causes a legacy-name warning on every startup and breaks symlinked opencode.json files via automatic migration.
- Update config filenames (oh-my-opencode.json → oh-my-openagent.json) - Update all user-facing error messages and status strings - Update all comments - Add legacy plugin name cleanup to prevent duplicate registration when upgrading from oh-my-opencode to oh-my-openagent
Existing users may only have oh-my-opencode.json in their config dir. Add fallback logic to symlink and read legacy filenames when the new oh-my-openagent.json is not present, in both Swift and Go paths.
try? Data(contentsOf: a) ?? Data(contentsOf: b) is parsed as try? (Data(...) ?? Data(...)), so the fallback never fires. Use explicit parentheses: (try? Data(...)) ?? (try? Data(...))
…rt mirroring - Remove deprecated index params from workspace.reorder (socket.zig) - Remove index params from Python client (reorder_workspace, move_surface, reorder_surface) - Update test_workspace_reorder to use before_workspace instead of index - Remove remoteForwardedPorts property and forwarded_ports payload field - Update SSH remote tests to assert forwarded_ports field is absent - Mark 19 of 27 TODO items as complete (reflecting actual state)
Each close confirmation dialog can now be independently toggled in Settings > App: - Confirm Close Running Process (workspace with running command) - Confirm Close Pinned Workspace - Confirm Close Window - Confirm Batch Close (multiple tabs/workspaces) All default to enabled, preserving existing behavior. Also configurable via `defaults write com.cmuxterm.app <key> -bool false`.
When batch confirmation is disabled, each workspace should still get its own running-process confirmation check. Previously, requiresConfirmation was always false after the batch dialog, which silently skipped per-workspace checks when the batch dialog was disabled.
When batch confirmation is disabled, route each workspace through closeWorkspaceWithConfirmation so pinned workspace and running-process confirmations are each independently honored.
- Change %lld to %@ in Localizable.xcstrings for port and PR keys to match the new String argument type - Wrap PR label Text in String(localized:) for localization consistency - Add sidebar.pullRequest.label key to xcstrings
The previous replace_all on %2$lld inadvertently changed the accessibility.workspacePosition key across 18 locales. Reverted since the Swift source still passes Int for that key.
Settings window now has a 160px sidebar with: - Search field to filter sections by keyword - Section list with icons for quick navigation - Active section tracking based on scroll position The sidebar search matches against section titles and individual setting labels within each section. Non-matching sections are hidden from both the sidebar list and the main content area. Window width increased from 640 to 800 to accommodate the sidebar.
markUnread(forTabId:) now moves newly-unread notifications to index 0, matching addNotification() behavior. Previously it only flipped isRead without reordering.
Ring flash fix: - Add shared PanelFlashOverlayNSView with CAKeyframeAnimation in Panel.swift - Replace SwiftUI withAnimation flash in BrowserPanelView (was coalescing to 1 flash) - Replace SwiftUI withAnimation flash in MarkdownPanelView (same bug) - Both panels now flash twice consistently, matching terminal behavior Notification polish: - Add hover/focus outline on notification rows (accent border) - Add right-click context menu with Mark Read/Unread + Clear actions TODO.md: - Mark ring flash, question mark icon, tab rename as done (23/27 complete)
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
indexparams fromworkspace.reorder(socket.zig), Python client (reorder_workspace,move_surface,reorder_surface), and testremoteForwardedPortsproperty,forwarded_portspayload field, updated test assertionsTest plan
before_workspace/after_workspace(noindex)forwarded_ports