code review
overview
the review tab is a full github code review experience built into atlas. open it from the “open review” link on any workspace that has a pull request.
pr header & description
the top of the review tab shows your pull request at a glance:
- state badge — open, draft, merged, or closed
- branch info — head branch → base branch with additions/deletions and changed file count
- pr description — rendered markdown, expandable for long descriptions
- commits — collapsible commit history with SHAs linking to github
- checks & ci — status checks with pass/fail/pending counts
reviewers
manage who reviews your pull request:
- review states — approved, changes requested, commented, dismissed, or pending — shown as colored badges next to each reviewer
- add reviewers — search for collaborators or org teams (formatted as
owner/team-slug) - re-request review — hover over a reviewer who has already submitted to re-request their review
review threads
inline code review threads with full context:
- diff snippets — each thread shows the exact lines that were commented on
- file:line links — click to jump to the file in the diff viewer
- tabbed view — switch between open and resolved threads
- resolve / unresolve — toggle thread state (updates optimistically)
- outdated badge — marks threads on lines that have since changed
- nested replies — threaded conversations with collapsible sections
conversation
top-level pr discussion, separate from inline review threads. includes a compose box for new comments with the full markdown editor.
submitting a review
the submit panel is fixed at the bottom of the review tab. three actions:
- approve — no body required (disabled on your own PRs)
- request changes — requires a body explaining what needs to change (disabled on your own PRs)
- comment — requires a body, for general feedback without approving or blocking
reactions
all review comments support github’s 8 emoji reactions: 👍 👎 😄 🎉 😕 ❤️ 🚀 👀
- click an existing reaction to toggle yours on or off
- click the
+button to open the reaction picker
merge & pr management
once a pr is ready, you can merge it without leaving atlas:
- merge method — squash, merge commit, or rebase (only shows methods your repo allows)
- editable commit message — pre-filled based on the merge strategy (squash uses a bullet list of commits, merge uses the pr title)
- delete branch — checkbox to delete the branch after merge, respects the repo default
- draft toggle — convert an open pr to draft, or mark a draft as ready for review
labels & assignees
- labels — add or remove labels from your repo’s label set (cached with 6-hour TTL)
- assignees — add or remove assignees from the collaborator list
markdown editor
every comment field in the review tab uses a shared markdown editor:
- formatting toolbar — bold, italic, code, link, list, heading, quote
- keyboard shortcuts —
cmd+bfor bold,cmd+ifor italic - live preview — toggle to see rendered markdown before submitting
- @mentions — autocomplete from collaborators and org teams, rendered as accent-colored links
- #issue references —
#42links directly to the issue or pr - image lightbox — click any image to view full-size
- auto-growing — textareas expand as you type, up to 300px
draft persistence
comment text is auto-saved to localStorage on every keystroke:
- restored when you navigate away and come back
- cleared after a successful submit
- 24-hour expiry, max 50 drafts, purged on app start
- works on review submission, pr comments, and thread replies
caching & performance
the review tab is designed to minimize github api usage:
- sqlite caching — pr info, review threads, comments, and commits are cached per workspace. switching workspaces with a fresh cache costs zero api calls
- smart polling — pr info refreshes every 60 seconds, review data every 3 minutes. a countdown shows seconds until the next refresh
- api cost — ~120 points/hour/workspace (down from ~3,200 before optimization)
- rest-first — nearly all calls use rest instead of graphql to keep point costs low
rate limit handling
atlas monitors your github api rate limits:
- sidebar indicator — warning at less than 20% remaining, error when exhausted
- settings page — progress bars for graphql and rest limits with remaining counts and reset countdown
- review tab banner — shows “rate limited” with a retry button and auto-retry when the limit resets
- graceful fallback — graphql review threads fall back to rest when rate limited (loses resolved/outdated state but keeps comments visible)