Features

Source Pocket is built around three parts: pipelines, pull requests, and an inbox. The first release covers all three for Bitbucket Cloud.

Pre-release. This page describes the app we are building. Details can change before launch.

Pipelines

Bitbucket Pipelines, GitLab pipelines, GitHub Actions, and Gitea Actions share one run model in the app, so a failed step looks the same on every provider. Trigger forms stay specific to each provider because their options differ.

Trigger form

  1. Pick the repository, then a branch, tag, or commit. Recent and pinned targets are at the top.
  2. Pick the pipeline. On Bitbucket the list comes from the repository's pipeline configuration, including custom pipelines. On GitHub it lists workflows that accept manual dispatch.
  3. Fill in variables. Where the provider describes them, you get real fields: choice lists, toggles, and defaults. Secured variables are masked, never logged, and never cached.

Save any trigger as a named preset and start it later from a widget, a Shortcut, or a notification action. Pipelines marked as production ask for Face ID, Touch ID, or your Android biometric, and show the target, ref, and variables before anything is sent.

Run detail

Each run shows its status, ref, commit, who started it, duration, and time spent queued. Steps are listed with their own status and duration; parallel steps sit side by side on a tablet. Manual steps get a Run or Approve button where the provider supports it.

Re-run, re-run only the failed steps where supported, or stop a run. Stop and re-run always ask you to confirm. Run states are Queued, Running, Paused, Passed, Failed, Stopped, Expired, and Error, each shown with an icon and a word as well as a color.

Log viewer

Logs keep their ANSI colors and collapsible sections. A running step's log streams in, fetching only new bytes, and stops polling when the step ends. "Jump to first error" uses the provider's failed-step marker and common failure patterns to land you on the line that matters. Search, follow-tail, line wrap, and font size are all one tap away. Logs of 10 MB or more render only the lines on screen, and the full file can be downloaded on demand.

Logs are never uploaded to Source Pocket servers. When you share a range of lines, it goes out as text from your device.

Live Activities and ongoing notifications

On iPhone a run can appear as a Live Activity and in the Dynamic Island: repository, branch, run number, current step, steps completed, elapsed time, and the final result. On Android the same details appear in an ongoing progress notification, using Live Updates on Android 16 and later. Tracking starts when you tap "Track this run", and can start automatically for runs you trigger or for pinned repositories.

Pull requests

The app says "PR" or "MR" to match your provider. Lists are split into Awaiting my review, Mine, Participating, and All in repository, with filters for account, author, label, state, and build status.

Diffs

Choose unified or side by side; side by side is the default on iPad, tablets, and in landscape. Diffs have word-level highlighting and syntax colors. You can collapse files, jump to the next change, and hide whitespace changes. A 500-file pull request opens to its file list in under two seconds.

Inline comments

Tap a line to comment. Reply, edit, resolve threads, and suggest changes where the provider supports it. Comments written offline are queued, marked as pending, and sent when you reconnect. Where the provider allows a draft review, comments are batched until you submit.

Approve and merge

Approve, request changes, or withdraw an approval. Merge with the strategies your repository allows (merge commit, squash, fast-forward, or rebase) and optionally delete the source branch. The merge screen shows merge checks and failing builds before you confirm. If a branch restriction blocks an action, the app says which one.

Merge conflicts are not resolved in the app. You get a link to the provider's web page or a hand-off to a local repository app.

Inbox and home feed

Inbox

The inbox lists what needs you: review requests, mentions, comments on your pull requests, approvals and change requests, merged or declined pull requests, pipelines that failed on your commits or branches, finished deployments, and assigned issues.

Swipe to mark done, snooze until later today, tomorrow, or next week, or mute a thread. Every swipe has a menu alternative, and iPad and Android tablets have keyboard shortcuts. On GitHub, GitLab, and Gitea, "done" syncs back to the provider. Bitbucket has no notifications API, so its inbox entries come from the push relay; without the relay, Bitbucket history is marked as partial.

Home feed

The home feed is an overview rather than a to-do list, with sections for Needs your review, Your open PRs, Running now, Recently failed, and Recent deployments. Pinned repositories and branches sit at the top with a status icon. Data that has not refreshed recently shows its age.

Multiple accounts

Connect several accounts on the same provider or across providers. Give each one a color and a label, such as "Client A" or "Personal", and filter any list by account. Each account can have its inbox muted, push turned off, or be set to read-only so no write action can fire from it.

Sign-in uses the provider's OAuth page in the system browser, never an embedded web view. Where a provider uses tokens instead, the app lists the minimum scopes each feature needs. Credentials are kept in the iOS Keychain or Android Keystore on your device. Signing out of an account removes its credentials, its cached data, and its relay registration.