Repository navigation
Releases: christhomas/pullbar
Release list
pullbar v0.4.3
Changes since v0.4.2.
Point the README badges at this fork (#13)
By @christhomas, merged 2026-09-27.
The Build badge used lucaspal/Pullbar's build.yml. That workflow does not exist there until lucaspal#5 merges, so GitHub returned 404 and the badge showed as a broken image. The Release badge said "no releases found" for the same reason.
This fork is where builds and releases run, so the Build and Release badges and the releases link in the install section now point at christhomas/Pullbar. Upstream PR #5 keeps the lucaspal/Pullbar URLs, which work once it merges.
Checked: the fork badge URL returns "Build - passing" and the release badge shows the latest release.
Summary by CodeRabbit
- Documentation
- Updated the README’s Build and Release badges and GitHub Releases link to point to the
christhomas/Pullbarrepository. The license badge and other existing repository references remain unchanged.
- Updated the README’s Build and Release badges and GitHub Releases link to point to the
Use relative links for the README badges and releases (#14)
By @christhomas, merged 2026-09-27.
Replaces the absolute christhomas/Pullbar URLs from #13 with relative ones, the same change now in lucaspal#5.
GitHub resolves ../../actions/workflows/build.yml/badge.svg and ../../releases against the repository that shows the README, so the fork and upstream each show their own build status and releases with no edits. Checked on a scratch branch: the badge rendered as /christhomas/Pullbar/actions/workflows/build.yml/badge.svg.
The release and license badges are now static shields, because a shields.io version badge needs a fixed owner/repo.
Remove PR Inbox.app on make install (#15)
By @christhomas, merged 2026-09-27.
Brings lucaspal#28 (fixes lucaspal#26) into the fork.
make install now quits a running PR Inbox and removes ~/Applications/PR Inbox.app, so a Launch at login registration from before the rename can no longer start it.
Keep the GitHub token when upgrading from PR Inbox (#16)
By @christhomas, merged 2026-09-27.
Brings lucaspal#27 (fixes lucaspal#25) into the fork, merged with the fork's Keychain service: seam from #15.
When pullbar has no token of its own, it moves a token PR Inbox saved under PRInbox GitHub token to pullbar GitHub token and deletes the old item.
Tests: KeychainTests checks the move with throwaway items: nothing to move, token moved and trimmed, old item deleted, second run moves nothing. Two new mutations (old item kept, wrong item read) must be caught. 122 tests pass locally.
pullbar v0.4.2
Changes since v0.4.1.
Ask for 100 search results per page instead of 50 (#10)
By @christhomas, merged 2026-09-27.
For lucaspal#18. This PR is on my fork first, to try the change in my own build; it will go upstream once #15 is merged there.
Searches asked for first: 50, so more than 50 matching pull requests needed a second request on every refresh. A real account with 67 authored pull requests needed 2 pages for that search. 100 is GitHub's maximum page size, and a search costs the same for 100 results as for 50 (measured: 1 point each). Busy accounts get half the requests, at no extra cost. The four-page cap now covers 400 pull requests per search instead of 200.
GitHubClient.searchPullRequests:first: 100, and the doc comment updated.- The test now expects 100, and the "wrong page size" mutation now flips 100 back to 50.
- The README's data-fetching section says 100 per page and 400 per search.
swift test: 99 tests pass.
Summary by CodeRabbit
- New Features
- Searches can now retrieve up to 400 pull requests per source per refresh, up from 200.
Group pull requests by owner, with the owner in bold (#11)
By @christhomas, merged 2026-09-27.
Each section now groups pull requests by owner (the user or organisation, e.g. acme in acme/api):
- A bold subheading per owner, with that owner's rows indented underneath.
- The owner in bold in each row's details line.
- Time-first ordering: groups are ordered by their most recently updated pull request, ties by owner name, and rows within a group are newest first.
The grouping is a pure function, Inbox.groupedByOwner, backed by the new PullRequest.owner. The showcase fixture now uses four made-up owners so the grouping is visible. Tests cover the owner, group order (including ties), subheadings and indentation, and the bold owner. swift test: 104 pass. All 5 new mutation entries are caught.
Summary by CodeRabbit
- New Features
- Pull requests are now grouped under repository-owner headings in the menu. Groups are ordered by the most recently updated pull request, with owner names used to break ties.
- Within each group, pull requests appear newest first. Owner names are highlighted in the headings and in each pull-request row, while the remaining details stay visible, making it easier to scan entries by owner.
Show how much of the GitHub API budget pullbar has used (#12)
By @christhomas, merged 2026-09-27.
For lucaspal#21. This PR is on my fork first; it will go upstream once #15 is merged there.
- The Refresh line shows
API 627 of 5,000 used, resets 14:05. When less than 10% is left it turns orange ("API budget low"), and the menu bar tooltip mentions it too. - The Refresh line's tooltip shows what the last refresh cost, e.g. "2 API points in 1 request", so #17 and lucaspal#18 can be measured directly.
- A clear error at the limit: a request refused because the budget is used up (HTTP 403 with
x-ratelimit-remaining: 0, HTTP 429, or aRATE_LIMITEDGraphQL error) now shows "GitHub API limit reached. It resets at 14:05." - Fixes "Updated in 0 seconds" right after a refresh: it now reads "Updated just now".
The live query was checked against GitHub: rateLimit { limit remaining used cost resetAt }. swift test: 115 pass (16 new). The 9 new mutation entries are all caught, including the edge the first version of the tests missed.
pullbar v0.4.1
First release.
No pull requests were merged in this release.
pullbar v0.4.0
First release.
No pull requests were merged in this release.
pullbar v0.3.0
First release.
No pull requests were merged in this release.