Skip to content

Releases

GitHub Monitor 2.9.1

Choose a tag to compare

@sidler sidler released this 11 Nov 21:43
cb0e954

Mentions stopped disappearing

If you have a busy GitHub account, mentions were vanishing from the list
without anybody having read them. They were not being read — they were
being pushed off the one page the app asked for.

The app fetched the newest fifty unread notifications and nothing more.
On the account this was found on, that page held 27 review requests, 21
threads from watched repositories, and a single mention — while 55 more
mentions sat further down a stream 52 pages long. Page one reached back
to a quarter to two that same afternoon. Every new review request shoved
the window along and took a mention with it.

The app now reads the whole stream, following GitHub's own cursor until
there is no more of it. The list on that account went from 1 mention to
56.

It has not become expensive. GitHub answers "nothing changed" to the
first page when nothing in the stream has moved, and nothing having moved
means the pages behind it have not moved either — so the ordinary poll
still costs a single request. The walk is paid for only when there is
something new to walk. Where Repository I watch and Team mentions are
both switched off, it asks GitHub to leave out everything you are not
part of, which halves the walk again.

If the stream is longer than the app will walk in one go, the list says
so at the bottom rather than looking complete.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.9.0

Choose a tag to compare

@sidler sidler released this 11 Nov 16:49
190a0fb

The ticket, beside the code

A review window's right-hand strip now opens with what the pull request
answers. One line per linked ticket — number, title, and whether it is
still open — with the rest folded under it: its labels, who raised it,
how old it is, and the whole of what it says. From there you can jump to
it in a list or open it on GitHub.

It used to be in the title bar, behind a popover. A popover is a thing
you open, read and put away; the ticket is what the diff is being read
against, and wanting it beside the code for the length of a review is
wanting it on the strip. The popover stays for list rows, which have no
strip.

Folded by default, because a ticket with six headings would push the
branch, the checks and the reviewers off the screen. The fold line
carries the title, so closing one does not lose which ticket it was.

The reviewer tables count their own window again

Reviews given and Time to review were listing people who had not
reviewed anything in years, and a sixth of every number on them came from
before the window printed at the top.

GitHub has no way to search for "reviewed in March", so the app asks for
pull requests touched in the window and is meant to apply the window
itself afterwards — which it never did. One pull request opened in 2022
and labelled last week brought its whole reviewing history into this
year's figures.

On a repository of 5,415 pull requests over twelve months, 2,837 of the
17,091 reviews counted had been submitted before the window began, the
oldest in October 2021. Two of the twenty-one people listed had reviewed
nothing inside it at all. Expect names to disappear and counts to drop;
the medians rise a little, because the old reviews were quick ones and
were flattering the numbers.

While it was open: a pull request still being argued over had its
earliest thirty rounds read instead of its most recent.

A calmer menu bar panel

The pull request rows there have lost their labels and their reviewer
tallies. The panel is 380 points wide and shows five rows of a list of
sixty; what it is for is deciding whether to open the window. What is
left is what answers that — the review decision, the checks, a conflict,
and the draft mark. The window still shows everything.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.8.0

Choose a tag to compare

@sidler sidler released this 06 Nov 14:56
cbab68b

Issues: what they contain, and what they are part of

An issue's detail pane now lists the issues filed under it, with how far
through them it is — "6 of 11 done" and a bar — and names the one it is
filed under itself. Clicking either previews it in the same panel the
linked pull requests open, rather than sending you to a browser. Long
lists fold after the first twelve.

The rows carry the count too, so a list of epics can be read for who is
nearly done without opening any of them.

Press a label to see only those rows

In both lists. The same bargain the legend at the bottom of the window
makes: the mark you read a row by is the mark you press. What the list is
narrowed to is named at the top, beside the grouping and the sort, and can
be cleared from either end — press the label again, or the chip at the
top. It narrows alongside the legend rather than instead of it, so "tagged
Lloyds and nobody has answered" is one question.

Pull request rows carry their labels now too, at the right-hand end of the
line. Both kinds of row are laid out the same way: what the row is and
what has happened to it on the left, the labels at the far right.

A sixth trend chart: open pull requests

How many stand open at the end of each period, and how many of those were
still drafts. Counted from the events that moved each pull request in and
out of draft rather than read off today's flags, so a draft that has since
been marked ready still counts as the draft it was.

The reviewer bars say what they mean

A legend over the rows of Reviews given and Time to review gives the
bar its scale and names the three steps the speed table colours by.

Fixed

  • An issue with a lot in its detail pane made the window taller — an epic
    carrying twenty-two linked pull requests pushed it from 680 points to
    2067, off the bottom of the screen. The pane scrolls; it no longer has a
    say in how tall the window is.
  • A preview stopped after four paragraphs, often at an empty heading. It
    shows the whole text now; the panel scrolls and can be dragged taller.
  • Opening Workload before the token had been read left "No GitHub token
    configured" standing until you pressed Try again.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.7.0

Choose a tag to compare

@sidler sidler released this 05 Nov 12:52
7108b9c
  • Two new views under Workload: who does the reviewing, and how long
    the rest of the team waits.
    Reviews given ranks people by the pull
    requests they read; Time to review by how long an answer takes, with
    the mean, the slow tail and the requests that went unanswered beside
    it. Over 30 days, 90 days or 12 months.
  • All four Workload views are now one table. Named columns, a bar in
    the row, and a footer under each of them saying how its numbers are
    counted.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.6.0

Choose a tag to compare

@sidler sidler released this 05 Nov 09:32
dcedf5c
  • Press a symbol in the legend to show only those rows — the failing
    checks, the conflicts, the ones still waiting on a reviewer. What the
    list is narrowed to is named at the top of the window, beside the
    grouping and the sort, and can be cleared from either end. It lasts
    while you are looking and is not saved.

  • Side-by-side scrolls smoothly through a review of many small files.
    A pull request of more than sixty-four files threw away everything it
    had worked out, over and over, and redrew the whole window on every
    frame of a scroll.

  • Closing a review, or quitting, asks about remarks written but not
    added
    , and keeps them as unsent remarks if that is what you want.

  • Several remarks can be half-written at once, each on its own line,
    and they survive turning to another file: a box stays where it was
    opened, with what you typed still in it, and is there again when you
    come back.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.5.0

Choose a tag to compare

@sidler sidler released this 04 Nov 09:34
76b2a62
  • Remarks can be formatted without typing markdown. Buttons above the
    box for bold, italic, code, links, quotes and lists, with ⌘B, ⌘I,
    ⌘E and ⌘K, and a preview of what will be sent.
  • Backticks and accents can be typed in a remark again. A key that
    waits for the next one — which on a German keyboard is how a backtick
    is typed — was being dropped before it became a character.
  • Large diffs open and scroll faster, with files of a few thousand
    lines no longer juddering.
  • A diff of many files scrolls without stalling. What each file needs
    is worked out while you read the first one, starting with the file you
    opened.
  • A pull request that has been pushed to is fetched again, so the
    diff shows the same commit as the list of commits beside it.
  • An open diff says when the pull request has moved on, with a button
    to fetch it again.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.4.0

Choose a tag to compare

@sidler sidler released this 02 Nov 19:16
3eed496
  • The token's description in Settings lists everything the app writes
    with it: remarks and replies, reviews, resolving conversations, labels,
    viewed ticks and merges.

  • Reviews open in their own window, with the code running to the
    edges.

  • Several reviews at once, as tabs. A tab shows a dot while it holds
    remarks you have not sent.

  • The pull request's details beside the diff, on ⌥⌘I: description,
    conversation, commits, checks, reviewers and the merge button. The edge
    can be dragged, and the width is remembered.

  • The code around a hunk, fetched from GitHub. A row between the
    hunks says how many lines are hidden and brings them in on a press. The
    file header has a button for the whole file.

  • Conventional comment labels above the writing box — issue,
    suggestion, praise and nine more, with blocking, non-blocking
    and if-minor.

  • A shut conversation shows its opening remark beside the count.

  • The file tree marks the files that hold remarks, and your own
    unsent remarks in purple.

  • Badges in comments are drawn as badges.

  • Files with Windows line endings keep the usual line height.

  • The tab bar leaves the list's title visible.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.3.1

Choose a tag to compare

@sidler sidler released this 20 Oct 08:24
2870ca6
  • What was said about a pull request is now shown, not just counted.
    The pane read the conversation tab's total and stopped there, so a
    remark nobody had hung on a line of the diff -- a question about the
    approach, an objection, the sentence that decides whether the thing
    gets merged -- could only be read in a browser. It now reads the same
    way the issue pane always has: the newest few under the description,
    with "N older on GitHub" when there are more.

  • A remark that will not fit on one line takes two. Somebody else's
    comment was sometimes cut off at the right of the column with an
    ellipsis. The thread was never too narrow — a paragraph was told how
    wide it might be and nothing about growing downwards, so one holding
    something unbreakable, a URL or a long path or a code span, was given
    a single line's height and had to truncate. Ordinary prose wrapped,
    which is why it only happened sometimes.

  • Settling a conversation folds it there and then. Whether it
    arrived folded was decided once, when the diff was built, so a
    conversation resolved while you were looking at it stayed open until
    the next time. Unsettling opens it again, and the chevron still
    overrules both — a conversation you opened by hand stays open.

  • The folded line is blue, not grey. Drawn in the secondary label
    grey it sat among grey source-code comments and disappeared into
    them. It is a cyan now, far enough from the blue that marks an
    unsettled conversation that the two do not read as one mark, and dark
    enough to clear 4.5:1 on every ground the diff draws on.

  • The list of names is not painted over any more. Typing @ in a
    remark showed a list with the diff's coloured lines running through
    it, which read as transparency and was not: the list hangs out of the
    box it belongs to, and the rows below that box are painted after
    it, straight over the part that had escaped. Leaving your own bounds
    does not change where you sit in the painting order. The row holding
    an open box is lifted above its neighbours now, and so is a
    conversation being replied to, which holds the same box.

  • A comment in the code stays a comment. The prose inside a
    docblock was syntax-highlighted as code, so any word that happens to
    be a keyword — and, for, return — came out purple in the middle
    of a sentence. The diff hands the highlighter one line at a time, and
    every line after the opening /** arrived with no memory of being
    inside anything; it carries that now. A // inside a string still
    opens nothing, and a PHP attribute is still an attribute.

  • A diff with a conversation on it scrolls like one without. The
    arithmetic that works out which line each conversation hangs off was
    redone from the raw patch every time the view was drawn — and the
    view is drawn again whenever the pointer crosses a row. It is the one
    piece of a patch's reckoning that runs only when somebody has
    commented, which is exactly why a commented file scrolled worse than
    the same file without one. On a nine-hundred-line patch that was
    three quarters of a millisecond a go; it comes from the cache now, at
    a fiftieth of the cost, and the line numbers beside it with it.

  • The diff's header fits on one line. It led with 6 files changed
    in bold, which at any ordinary window width wrapped onto two lines
    and pushed the rest along. The number is already in the tick count
    beside it, in the pager, and in the tree down the side; the pager now
    carries the weight instead, and nothing in the bar may wrap.

  • Escape closes the box, and nothing further out. Unhandled, it
    travelled on to the diff, which took it for "put this away" and shut
    the whole overlay — with the half-written remark in it. It now means
    the innermost thing on screen: the list of names where one is up, the
    box once it is gone, the diff only when neither is.

  • The list of names is opaque. The window's own background colour
    is not, so the code behind it showed through the logins — unreadable
    in exactly the place it had to be read.

  • The caret is in the box when it opens. It is opened by somebody
    who means to write in it — the plus in the gutter, or Reply on a
    conversation — so asking for a click into it first was a click for
    nothing. In a box that already holds something, a reply being
    reworded or a remark being edited, the caret goes to the end of it.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.3.0

Choose a tag to compare

@sidler sidler released this 16 Oct 18:33
69bfc74
  • A pull request's commits, where they cost nothing until you ask.
    The count sits beside the other numbers under Changes — it comes
    free, since the pane's own query already reads the newest commit for
    its checks. The list underneath is shut when a pane opens and fetches
    on the first click, because a pane is opened by arrowing down a list
    and a request per row is a rate limit spent on nothing.

    Newest first, with the head commit marked: the question somebody
    coming back to a review asks is what arrived since. Each row carries
    that commit's own checks, which is what makes it more than a history
    — it says when the pull request went green. A click opens the commit
    on GitHub.

  • An issue's type and its milestone stop pretending to be labels.
    They sit in the same line of chips and used to open the label picker
    along with everything else — so clicking Epic opened a picker that
    neither held it nor could, GitHub having no way to set a type that
    way. Only the labels and the tag at the end open it now. They all
    still wrap as one line, which is what that line is for.

  • Taking a label off sometimes did nothing — on screen. The change
    was read from, and written to, the detail alone, while the pane falls
    back to the list's own copy of an issue's labels whenever the detail
    has none. So the chip could stay where it was while GitHub went ahead
    and removed the label: the app and the repository disagreed, and the
    app was the one that looked right. It now reads what the pane reads
    and writes to both, which also means the row in the list follows a
    change instead of waiting for the next refresh.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.

GitHub Monitor 2.2.0

Choose a tag to compare

@sidler sidler released this 16 Oct 12:12
81385a7
  • The list you are looking at, in the browser, from the bottom bar.
    A small button beside the refresh arrow opens the same list on
    github.com's own Pull requests or Issues page — for the things
    this app deliberately does not do: editing a query by hand, bulk
    actions, or showing somebody else what you are looking at. It is
    built from the search the app actually sent, so the two cannot
    disagree: the repository filter is in it, a relative date like
    "closed in the last week" is already resolved, the ordering is
    carried across where GitHub can be told it, and a list that hides
    drafts hides them there too. Standing on one repository's entry in
    the sidebar, the link opens that repository's share of the list
    rather than the whole of it. On Mentions it opens your notifications;
    on the chart pages, which have no search behind them, there is no
    button.

  • ⌘R reloads the page you are looking at. It always asked for the
    lists, whatever was on screen — so on Workload, Trends and My Trends
    it did something real and invisible: the lists came in behind a chart
    that did not move, which from the outside is a key that does nothing.
    Each of those pages already had its own reload button; ⌘R now makes
    exactly the call that button makes. Everywhere else it reads the
    lists, as before. Reported by @marcreichel in #1.

Install

brew tap sidler/tap
brew trust --cask sidler/tap/githubmonitor
brew install --cask githubmonitor

Already have it? brew upgrade --cask githubmonitor.

Or download the zip below, unpack it and move GitHubMonitor.app to
/Applications.

Signed with a Developer ID and notarised by Apple, with the ticket stapled
to the bundle.