Repository navigation
feat(macos): show the closed window again when Buzz becomes active - #2658
Merged
Merged
Conversation
Closing the main window hides it, and only a Dock or Finder reopen showed it again. Cmd-Tab, Spotlight and other app switches activated Buzz with no window on screen. Observe NSApplicationDidBecomeActiveNotification and show the main window when the person closed it. The launch window stays hidden until the page shows it, and a minimized window stays in the Dock. Co-authored-by: Claude <f725270ba290dcfb6eb60126196e794d967db9b27cccfcf571bf59a33a271b18@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Dean Wyatte <[email protected]>
dwyatte
force-pushed
the
dwyatte/reshow-on-activate
branch
from
November 5, 2026 19:50
b3aa296 to
35b11e3
Compare
dwyatte
marked this pull request as ready for review
November 5, 2026 19:52
kazemek21
approved these changes
Nov 5, 2026
kazemek21
left a comment
Contributor
There was a problem hiding this comment.
Kyle reviewed this PR and the Nexus review-tracker notes and approves with no comments.
Posted by Codex (gpt-6.1-sol) on behalf of kylez
wpfleger96
added a commit
that referenced
this pull request
Nov 5, 2026
…-service * origin/main: (29 commits) fix(agents): treat what an agent reads as information, and give answering rules only to mentions (#2456) feat: add up arrow message editing preference (#2659) fix(channels): move focus to channel settings opened from the header menu (#2526) fix(window): restore position before size and never fall back to a sub-minimum window (#2405) fix(messages): pick the latest message with the shared ordering (#2403) fix(channels): let shift+escape through the channel settings panel (#2402) fix(builderlab): clarify signed-out agent settings (#2602) feat(builderlab): preselect the catalog's recommended model (#2552) feat(host-process): set BUZZ_VERSION for every spawned process (#2674) fix(agents): finish Delete for a synced agent with no config (#2692) ci(flake-check): select related tests within a 9-minute lane budget (#2607) feat(macos): show the closed window again when Buzz becomes active (#2658) fix(channels): show channel actions as soon as the menu opens (#2657) fix(huddles): confirm before starting a huddle from the header (#2687) perf(composer): reuse per-keystroke projections, snapshots and reference scans (#2590) perf(agents): skip the activity snapshot compare for unrelated channel traffic (#2586) test(solo): wait for the live header before opening a joined viewer's access (#2599) fix(messages): show who reacted in channels where you can't react (#2601) feat(agents): clarify remote execution across desktop (#2600) perf(relay): size paged history with the cached per-event sizes (#2597) ... # Conflicts: # src-tauri/src/host_process/tests.rs
baxen
added a commit
that referenced
this pull request
Nov 6, 2026
* origin/main: (36 commits) perf(mentions): rank only the shown rows and skip empty-query Space work (#2298) fix(messages): stop bare links at fullwidth and CJK punctuation (#2404) fix(agents): treat what an agent reads as information, and give answering rules only to mentions (#2456) feat: add up arrow message editing preference (#2659) fix(channels): move focus to channel settings opened from the header menu (#2526) fix(window): restore position before size and never fall back to a sub-minimum window (#2405) fix(messages): pick the latest message with the shared ordering (#2403) fix(channels): let shift+escape through the channel settings panel (#2402) fix(builderlab): clarify signed-out agent settings (#2602) feat(builderlab): preselect the catalog's recommended model (#2552) feat(host-process): set BUZZ_VERSION for every spawned process (#2674) fix(agents): finish Delete for a synced agent with no config (#2692) ci(flake-check): select related tests within a 9-minute lane budget (#2607) feat(macos): show the closed window again when Buzz becomes active (#2658) fix(channels): show channel actions as soon as the menu opens (#2657) fix(huddles): confirm before starting a huddle from the header (#2687) perf(composer): reuse per-keystroke projections, snapshots and reference scans (#2590) perf(agents): skip the activity snapshot compare for unrelated channel traffic (#2586) test(solo): wait for the live header before opening a joined viewer's access (#2599) fix(messages): show who reacted in channels where you can't react (#2601) ... # Conflicts: # docs/buzz-help.md
nathan-thillairajah
added a commit
that referenced
this pull request
Nov 6, 2026
…page * origin/main: (49 commits) fix(browser): recheck the FI session when the app viewer exchange returns 401 (#2678) fix(members): find verified people who have no profile (#2554) fix(dev): clear React's dev render measures so long sessions do not grow (#2495) Move app navigation to a dock and unify conversation headers (#2626) perf(mentions): rank only the shown rows and skip empty-query Space work (#2298) fix(messages): stop bare links at fullwidth and CJK punctuation (#2404) fix(agents): treat what an agent reads as information, and give answering rules only to mentions (#2456) feat: add up arrow message editing preference (#2659) fix(channels): move focus to channel settings opened from the header menu (#2526) fix(window): restore position before size and never fall back to a sub-minimum window (#2405) fix(messages): pick the latest message with the shared ordering (#2403) fix(channels): let shift+escape through the channel settings panel (#2402) fix(builderlab): clarify signed-out agent settings (#2602) feat(builderlab): preselect the catalog's recommended model (#2552) feat(host-process): set BUZZ_VERSION for every spawned process (#2674) fix(agents): finish Delete for a synced agent with no config (#2692) ci(flake-check): select related tests within a 9-minute lane budget (#2607) feat(macos): show the closed window again when Buzz becomes active (#2658) fix(channels): show channel actions as soon as the menu opens (#2657) fix(huddles): confirm before starting a huddle from the header (#2687) ... Signed-off-by: Nathan Thillairajah <[email protected]> # Conflicts: # docs/browser.md # src-tauri/src/browser/builderlab.rs
nathan-thillairajah
added a commit
that referenced
this pull request
Nov 6, 2026
…dylan/browser-unavailable-page * origin/dylan/browser-denied-page: (49 commits) fix(browser): recheck the FI session when the app viewer exchange returns 401 (#2678) fix(members): find verified people who have no profile (#2554) fix(dev): clear React's dev render measures so long sessions do not grow (#2495) Move app navigation to a dock and unify conversation headers (#2626) perf(mentions): rank only the shown rows and skip empty-query Space work (#2298) fix(messages): stop bare links at fullwidth and CJK punctuation (#2404) fix(agents): treat what an agent reads as information, and give answering rules only to mentions (#2456) feat: add up arrow message editing preference (#2659) fix(channels): move focus to channel settings opened from the header menu (#2526) fix(window): restore position before size and never fall back to a sub-minimum window (#2405) fix(messages): pick the latest message with the shared ordering (#2403) fix(channels): let shift+escape through the channel settings panel (#2402) fix(builderlab): clarify signed-out agent settings (#2602) feat(builderlab): preselect the catalog's recommended model (#2552) feat(host-process): set BUZZ_VERSION for every spawned process (#2674) fix(agents): finish Delete for a synced agent with no config (#2692) ci(flake-check): select related tests within a 9-minute lane budget (#2607) feat(macos): show the closed window again when Buzz becomes active (#2658) fix(channels): show channel actions as soon as the menu opens (#2657) fix(huddles): confirm before starting a huddle from the header (#2687) ... Signed-off-by: Nathan Thillairajah <[email protected]> # Conflicts: # src-tauri/src/browser/builderlab.rs
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.
Why
On macOS, closing the main window hides it, and Buzz and its agents keep running (#349). Only a Dock or Finder reopen (
RunEvent::Reopen) showed the window again. When you switch to Buzz with ⌘Tab, Spotlight or any other app switch, macOS makes Buzz the active app but shows no window, because AppKit sendsapplicationShouldHandleReopenonly for Dock and Finder reopens. Slack shows its window again when you ⌘Tab back. This matters more once #2443 lets ⌘W close the window.What
visible: falseintauri.macos.conf.json).How
src-tauri/src/reshow.rsobservesNSApplicationDidBecomeActiveNotification. Tao and Tauri expose no app-activation event, andWindowEvent::Focusednever fires for a hidden window.CloseRequestedhandler records a successful hide in a flag. The observer consumes that flag on each activation. It shows the window, through the existingnotifications::focus, only if the window is still hidden and not minimized.docs/buzz-help.mddescribes the close and reshow behavior.Expected interactions:
Reopen. Both run the samefocuscalls, which have no effect the second time.Validation
At
35b11e3(same tree as theb3aa296checks ran on; only the commit subject changed), on macOS (Apple Silicon):bin/cargo clippy -p Buzz --locked --all-targets -- -D warnings,cargo fmt --checkandgit diff --checkpass.bin/cargo test --manifest-path src-tauri/Cargo.toml --locked: 894 passed and 2 ignored, with one test skipped.reshowtest covers the launch window, reshowing after a close, the flag being consumed, and minimized windows.window_state::tests::onboarding_snapshot_is_kept_until_next_launch_restore, crashes (SIGSEGV) every time on unmodifiedorigin/main6d5e054too. It is not related to this change.Not yet done
BUZZ_DEV_VIEWER= just desktop. Steps:🤖 Generated with Claude Code