Title: Cmd+F / `app.search` shortcut doesn't activate session search (works only via the sidebar button) · Issue #43 · modelstudioai/openwork · GitHub
Open Graph Title: Cmd+F / `app.search` shortcut doesn't activate session search (works only via the sidebar button) · Issue #43 · modelstudioai/openwork
X Title: Cmd+F / `app.search` shortcut doesn't activate session search (works only via the sidebar button) · Issue #43 · modelstudioai/openwork
Description: Summary The Search action (app.search, bound to Cmd/Ctrl+F) does not activate the session-list search box when triggered by its keyboard shortcut — reported to fail from any screen, including the chat view. The same search does work when...
Open Graph Description: Summary The Search action (app.search, bound to Cmd/Ctrl+F) does not activate the session-list search box when triggered by its keyboard shortcut — reported to fail from any screen, including the c...
X Description: Summary The Search action (app.search, bound to Cmd/Ctrl+F) does not activate the session-list search box when triggered by its keyboard shortcut — reported to fail from any screen, including the c...
Opengraph URL: https://github.com/modelstudioai/openwork/issues/43
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Cmd+F / `app.search` shortcut doesn't activate session search (works only via the sidebar button)","articleBody":"## Summary\n\nThe **Search** action (`app.search`, bound to `Cmd/Ctrl+F`) does not activate the\nsession-list search box when triggered by its keyboard shortcut — reported to fail\nfrom **any** screen, including the chat view. The same search **does** work when\ninvoked from the sidebar's in-navigator \"Search\" menu item.\n\nBecause the command palette (#41 / #42) invokes the app's own `app.search` action,\nits **Search** entry inherits this bug too. This issue is about the underlying\n`app.search` defect, which pre-dates and is independent of the command palette.\n\n## Repro\n\n1. Open the app.\n2. Press `Cmd+F` (macOS) / `Ctrl+F` anywhere (chat view, etc.).\n - **Expected:** the session-list search box appears and is focused.\n - **Actual:** nothing happens.\n3. Contrast: open the sidebar's Chats filter dropdown → click **Search**.\n - The search box appears correctly.\n\n## Investigation so far\n\nStatic analysis shows the two paths *should* be identical, yet they diverge:\n\n- There is exactly **one** `app.search` handler\n (`AppShell.tsx:1309` → `() =\u003e setSearchActive(true)`) and exactly **one**\n `searchActive` state (`AppShell.tsx:1225`). The working sidebar button\n (`AppShell.tsx:4584`) calls the **same** `setSearchActive(true)`.\n- `useSessionSearch.ts:377` focuses the search input whenever `searchActive`\n flips to `true`, regardless of who set it.\n- No native-menu `Cmd+F` accelerator and no `before-input-event` /\n `globalShortcut` interception exists in the main process, so the keystroke\n should reach the renderer's capture-phase `keydown` listener in the action\n registry.\n\nSo by code the shortcut *should* behave like the button. The divergence must be a\nruntime condition (focus/zone/render state) that a headless CI run can't\nreproduce — the e2e sandbox has **no sessions**, so `SessionList` doesn't render\nthe search header even when `searchActive` is set, making this invisible to the\nexisting harness.\n\n## Plan\n\n- Reproduce locally with a **seeded session** so `SessionList` actually renders\n the search header, then diff the button path vs. the `app.search` /\n registry-`execute` path to find the real cause (likely focus/zone or a\n re-render/reset timing difference).\n- Fix `app.search` so it robustly activates + focuses search from any context\n (keyboard shortcut and command palette), and add a CDP assertion that seeds a\n session and asserts the search box appears from the shortcut.\n- Ship as its own PR (not folded into the command-palette PR).\n\nPart of the autonomous desktop-feature loop (`loop-bot`).","author":{"url":"https://github.com/DragonnZhang","@type":"Person","name":"DragonnZhang"},"datePublished":"2026-07-01T06:30:02.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/43/openwork/issues/43"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:12c6dda2-7992-9fea-69b2-03a68171d2ec |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9D0E:3BEAD8:2385E:2D6A7:6A52494B |
| html-safe-nonce | 48426dd9ecf422c22f6b669a0f36c80a1e7eca053a187ce9a88ec57a1288c3ca |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RDBFOjNCRUFEODoyMzg1RToyRDZBNzo2QTUyNDk0QiIsInZpc2l0b3JfaWQiOiIzNzgwNjMyMjY3MDM4NTc5OTYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 4ba3215613c751589f0d21e6c935ce2868272d7604b21c11f6d4a58ba9ee81a1 |
| hovercard-subject-tag | issue:4783072006 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/modelstudioai/openwork/43/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d74739a7e906cfdc45012f8b0f7d0149611d5076363ae22af73cc4fbba129856/modelstudioai/openwork/issues/43 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d74739a7e906cfdc45012f8b0f7d0149611d5076363ae22af73cc4fbba129856/modelstudioai/openwork/issues/43 |
| og:image:alt | Summary The Search action (app.search, bound to Cmd/Ctrl+F) does not activate the session-list search box when triggered by its keyboard shortcut — reported to fail from any screen, including the c... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | DragonnZhang |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/modelstudioai/openwork git https://github.com/modelstudioai/openwork.git |
| octolytics-dimension-user_id | 283556804 |
| octolytics-dimension-user_login | modelstudioai |
| octolytics-dimension-repository_id | 1256697754 |
| octolytics-dimension-repository_nwo | modelstudioai/openwork |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1256697754 |
| octolytics-dimension-repository_network_root_nwo | modelstudioai/openwork |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width