Repository navigation
feat: get a desktop notification when a watched build finishes - #36
Open
enesccinar wants to merge 1 commit into
Open
enesccinar wants to merge 1 commit into
enesccinar wants to merge 1 commit into
Conversation
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.
Waiting on a build meant keeping its log pane open, or coming back and
pressing
runtil it finished. Nowaon a build — from the build list, apull request's gate runs, or the log pane — watches it, and boardwalk puts a
desktop notification up when it succeeds, fails, partially succeeds or is
canceled. Press
aagain to stop watching.Related to #19. That issue asks for a watch on new pull requests; this is the
build half of the same idea, and the notifier is its own package so a pull
request watch — or a
builds -watchsubcommand that works without the TUIopen — can reuse it.
internal/notify.Send(title, message), built the way the clipboard andbrowser actions are: a pure list of candidate commands per platform, first one
on PATH wins. macOS uses
terminal-notifierwhen it is installed, otherwiseosascript; Linux usesnotify-send; Windows says it is not supported. Amissing tool and a tool that refuses are reported differently.
The watch. Root owns it rather than a view, so a watch survives
escbackto the menu. Watched builds are checked every twenty seconds for as long as
boardwalk is open, and the header reads
· watching N. A finished build isdropped and announced — a failure names the first task that failed and its
first error, from the timeline — and the status line says the same. A check
that fails keeps the watch and retries next tick; a notifier that fails says
so on the status line. A build that has already finished is not watched.
Notes
arather thann:nis next-error on the log pane the build list opens.ais free on the build list, the log pane and the pull request panepopens. It is on the help panel, not the footer, so the short help still fits
at 80 columns.
The poll and the notifier run in a command, off the update loop, with the ids
copied out first so the command never reads the map Update writes.
Whether a macOS notification stays on screen is the app's alert style in
System Settings, not something the command can ask for — set terminal-notifier
(or Script Editor, for osascript) to Persistent to make them sticky.
go test ./...andgo vet ./...clean.🤖 Generated with Claude Code