Skip to content

M10: cleanup sprint + community parity#178

Merged
Jesssullivan merged 26 commits intomainfrom
sid/m10-cleanup-sprint
Apr 5, 2026
Merged

M10: cleanup sprint + community parity#178
Jesssullivan merged 26 commits intomainfrom
sid/m10-cleanup-sprint

Conversation

@Jesssullivan
Copy link
Copy Markdown
Owner

Summary

Test plan

  • CI passes (fork-ci, linux-ci)
  • Verify workspace reorder works via before_workspace/after_workspace (no index)
  • Verify remote workspace status payload no longer includes forwarded_ports
  • Verify OMO integration picks up oh-my-openagent package name
  • Verify close confirmations respect new settings
  • Verify settings window has TOC sidebar and search

lark1115 and others added 26 commits April 5, 2026 13:42
…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)
@Jesssullivan Jesssullivan merged commit e8530f6 into main Apr 5, 2026
9 checks passed
@Jesssullivan Jesssullivan deleted the sid/m10-cleanup-sprint branch April 5, 2026 19:09
@Jesssullivan Jesssullivan mentioned this pull request Apr 5, 2026
2 tasks
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.

6 participants