Skip to content

feat(pull-requests): show GitHub merge and branch events - #1069

Open
incognitojam wants to merge 5 commits into
mainfrom
styal/github-lifecycle-events
Open

incognitojam wants to merge 5 commits into
mainfrom
styal/github-lifecycle-events

Conversation

@incognitojam

@incognitojam incognitojam commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

GitHub’s merge entry was reduced to a generic “Pull request merged” timestamp, and branch deletion and restoration were absent. This adds the actual GitHub events to the web/desktop and mobile timelines, including the actor, merge commit, target branch and time.

The history uses a separate bounded, paginated read. An actual merge event replaces the inferred entry; missing actors and commits remain omitted, and failed or truncated history reads preserve the conversation and show the existing incomplete-activity notice. Older servers and unsupported hosts retain their previous behavior. Copy follows GitHub’s public merge/deletion and restoration entries; restoration omits the branch name because GitHub does not provide its historical value.

Verification:

  • Opened the public React PR in the running web app and Android client. Both showed the reported actor, merge commit and deletion event. The web/desktop deletion event uses the same trash symbol as mobile. Compact markers align with the primary text line, with a browser geometry regression checking that alignment. Web’s oldest/newest ordering worked, and the merge link opened the exact host-reported commit.
  • Exercised synthetic restoration, a target branch differing from the current base, missing actors/commits, incomplete history and the older-server fallback in the running web app. The merge entry appeared once, unavailable metadata was not invented, and the incomplete-history notice appeared only when appropriate.
  • Android’s Comments filter excluded lifecycle events; the Commits filter retained the source commit without including lifecycle events. Focused API, provider, service, contract and interaction tests cover pagination, errors, ordering and compatibility.

Separate Electron, iOS and relay/tunnel runs were not performed; verification used web and Android.

Before

Before: a generic merge timestamp with no branch-deletion event

After

After: factual merge and branch history with aligned markers

Android: merge and deletion history in All activity


Written by an agent (Codex, gpt-6.1-sol).

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Upstream divergence

Both sides are compared with upstream at the in-order tip 771fd93fc5. Excludes .repos/ and pnpm-lock.yaml.

Measure Base This PR Change
Upstream files the fork changes 1,676 1,679 +3
Lines changed in them 89,469 90,456 +987
Upstream files the fork removes 49 49 0
Fork-only files 659 662 +3
Fork-only lines 118,175 118,542 +367

Upstream files that start to differ (3)

  • apps/mobile/src/features/pull-requests/PullRequestTimeline.tsx: +68 −3 from upstream
  • apps/mobile/src/features/pull-requests/pullRequestActivityFilter.test.ts: +28 −0 from upstream
  • apps/mobile/src/features/pull-requests/pullRequestActivityFilter.ts: +4 −1 from upstream
Upstream files whose difference changes (19)
File Change Now differs by
packages/source-control-github/src/server/pullRequestReads.graphql.ts +197 928 lines
packages/source-control-github/src/server/GitHubPullRequestApi.test.ts +157 1,375 lines
apps/web/src/components/pullRequest/PullRequestTimelineTab.tsx +89 119 lines
packages/source-control-github/src/server/GitHubPullRequestProvider.test.ts +65 320 lines
apps/web/src/components/pullRequest/pullRequestDetail.logic.ts +59 91 lines
packages/source-control-github/src/server/pullRequestReads.graphql +54 506 lines
apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts +49 133 lines
packages/source-control-github/src/server/gitHubPullRequestJson.ts +46 483 lines
packages/source-control-github/src/server/GitHubPullRequestApi.ts +45 824 lines
apps/server/src/pullRequest/PullRequestService.test.ts +42 583 lines
packages/contracts/src/pullRequest.ts +27 132 lines
packages/contracts/src/pullRequest.test.ts +26 41 lines
packages/source-control-github/src/server/GitHubPullRequestProvider.ts +8 239 lines
apps/server/src/pullRequest/PullRequestService.ts +6 254 lines
packages/client-runtime/package.json +4 44 lines
packages/source-control-core/src/server/PullRequestProvider.ts +3 85 lines
apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx +2 390 lines
docs/user/source-control.md +2 90 lines
docs/user/telemetry.md +2 110 lines

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 4.9 KiB 5.0 KiB +23 B (+0.5%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB +23 B (+1.9%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.8 KiB 20.9 KiB +41 B (+0.2%) 29.3 KiB ✅
Codex Live turn messages 1 2 +1 (+100.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB −24 B (−0.5%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB −24 B (−2.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB −41 B (−0.2%) 29.3 KiB ✅
Claude Live turn messages 2 1 −1 (−50.0%) 8 ✅

Baseline: c85ea7f · PR result: 4394bf8 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@incognitojam
incognitojam marked this pull request as ready for review October 25, 2026 21:20

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant