· Since Soreno 1.0.0

Pull requests and merge requests, without leaving Soreno

Soreno 1.0.0 shows GitHub pull requests and GitLab merge requests in the Git panel: the list, the checks, a diff computed locally, then the merge, right next to your agents.

An agent finished its branch, CI is running, a teammate reviewed it. Until now, what came next happened in the browser. Since Soreno 1.0.0, the Git panel has a Pull requests view, or Merge requests for GitLab: you follow and merge your requests next to the agent that wrote them.

Every request in the repository, yours first

The view lists the repository’s requests, filtered as Open, Mine, Review requested or Closed / merged, with a search. Each row shows its branches, CI status, review and conflicts. The one for your current branch comes first, marked Current branch.

Soreno’s Git panel expanded on atelier-web’s Pull requests view. On the right, five open pull requests, with #134, Scroll the session tabs, first and marked Current branch. On the left, its details: approved by hugo-petit, ux label, and the Checks tab with three passing checks and e2e (webkit) failing, next to the Merge button.
The current branch’s pull request, first in line, and its checks.

The details bring together the Markdown description, the checks, the commits and the files. A failing check stands out right away, and clicking its name opens it in the browser.

The diff, computed locally

In the Files tab, the diff doesn’t come from GitHub or GitLab: Soreno uses Git to fetch the request’s commits the repository lacks, on your machine or on the SSH server, and compares from the point where the branch started. Your branches and files stay put. The diff shows just like the one for your own changes. Expand the panel, or press Ctrl+Shift+M (Cmd+Shift+M on macOS): the diff, the list of changed files and the pull requests sit side by side.

The Git panel expanded on the Files tab of pull request #134: the diff of SessionTabs.tsx, the list of the four changed files with their added and removed lines, and the pull requests on the right.
Three columns: the diff, the files, the requests.

Merge with your eyes open

Merge only offers the methods the repository allows: merge commit, squash or rebase. If the latest checks failed or are still running, Soreno says so, and the button becomes Merge unverified changes. A blocked request, a draft, in conflict or missing required approvals, keeps Merge greyed out, with the reason on hover.

The Merge #134 confirmation: feat/scrolling-tabs will be merged into main, the source branch will be deleted. A warning says the latest checks failed; Squash and merge is selected, next to Merge commit and Rebase and merge, and the confirm button reads Merge unverified changes.
A failing check: Soreno warns you before merging.

The … menu does the rest: Check out in a new worktree, to try the branch next to your own work, Check out in this worktree, or Close. And a draft is marked as ready in one click.

Your CLIs, no token

Soreno goes through gh and glab, installed where the project lives: locally, in WSL or on your SSH server. It stores no token: if the CLI isn’t signed in, Sign in to GitHub, or Sign in to GitLab, opens a terminal to authenticate. It works with github.com and gitlab.com, on the upstream remote, or origin if there is none.

All the details are in the Pull and merge requests page of the documentation.

All posts

Open your first project in Soreno

Soreno runs the CLIs already installed on your machine, in WSL or on your servers. Your notes, settings and local issues stay in your profile.
Open source, under the MIT license.

The macOS app is signed and notarized by Apple. The Windows installer isn’t signed yet: Windows may report an unknown publisher. On Linux, the AppImage updates itself; the .deb package, by installing the next one.