Skip to content

merge: upstream main d27c6067a9 into satellite-v2 - #95

Merged
RobertScholey98 merged 856 commits into
satellite-v2from
port/pr-11
Oct 21, 2026
Merged

RobertScholey98 merged 856 commits into
satellite-v2from
port/pr-11

Conversation

@RobertScholey98

@RobertScholey98 RobertScholey98 commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Problem

satellite-v2 was based on upstream at d8e9fd2. Upstream main has moved 853 commits beyond that. The 2026-10-21 rescope asks to bring in the latest T3 Code before the 2.0.0 review.

Change

There is one real merge commit, 27c93f7, of upstream main at d27c6067a9162150f654e38f455a7a936ef79178 (the tip on 2026-10-21). Upstream stays an ancestor. The previous base was d8e9fd2; the original pin was e58a485.

  • The orchestration protocol is unchanged (still 2).
  • Upstream adds migrations 64 to 67 and moves to pnpm 12.14.0.
  • The merge commit message lists all 94 conflicts and how each was resolved.
  • The footprint (upstream files modified or deleted relative to the upstream tip) went from 359 to 345.

Two follow-up commits:

  • fc065ab fixes the mobile client's release reads, which CI caught.
  • d324cb8 applies the comment review.

Resolution rules:

  • Upstream files take upstream's side, with Satellite's registration, identity and rebrand lines re-applied.
  • Files on the rebrand list were re-merged with the rebrand applied to both base and upstream, and scripts/rebrand.ts was rerun. The list moves to the new upstream base and adds the upstream files that newly name the product.
  • Workflows Satellite deleted stay deleted.
  • Upstream deleted many low-value tests. A pruned test file keeps only the cases Satellite added; cases Satellite had only rebranded stay pruned.

PR-08's pull request fixes

  • Bare repository containers. Upstream now resolves these itself (f7bef38). Satellite's duplicate code is dropped and both of PR-08's bare-container tests are kept. Their root-path expectation follows upstream: the git directory rather than the container.
  • Named-remote identity lookup. Rebuilt on upstream's RepositoryIdentityCacheKey as a RepositoryIdentityLookup data class. Tests kept.
  • Fork and includeUpstream listing, stats keys and detail lookups. PullRequestService hunks re-applied on upstream's Effect.fn rewrite. Tests kept.
  • Web side. Upstream moved the pull requests page into components/pullRequest/PullRequestsPage.tsx and PullRequestsColumn.tsx. includeUpstream (search, scope key, list inputs, Filters toggle) and the Issues work tab strip moved with it. The route keeps only the includeUpstream search key. The Filters test was recreated with PR-08's case only.

Upstream files the merge forced Satellite to touch beyond its earlier lines

  • Server and persistence.
    • server.ts keeps upstream's CloudLink layer plus SatelliteServer.layer.
    • RepositoryIdentityResolver.ts and PullRequestService.ts (above).
    • The dev-build fixture imports migrations 55 to 58 directly, since upstream no longer exports migrationEntries.
  • Web.
    • PullRequestsPage.tsx and PullRequestsColumn.tsx (above).
    • TimelineToolActivityIcon.tsx uses SatelliteMark.
  • Client-runtime and shared.
    • outdatedHostUpdate.ts, errorPresentation.ts: upstream's code with the product name the client supplies.
    • cliRelease.ts: Satellite's callers use a new releaseIndexPageUrl(repository, page). CLI_RELEASES_PAGE_URL and cliReleaseIndexPageUrl(page) stay on upstream's repository because only the unmodified apps/mobile reads them.
    • cli/update.ts passes RELEASE_REPOSITORY.
  • Identity seams.
    • build-desktop-artifact.ts takes upstream's camera and microphone usage strings from productIdentity.
    • scripts/dev-runner.ts seeds new worktrees from ~/.satellite-t3 instead of ~/.t3.
    • environmentHttp.ts points the T3 Connect troubleshooting link at the fork's docs.
  • Workflows and docs.
    • release-desktop.yml is upstream's, plus Satellite's wsl_runtime input.
    • ci.yml drops a desktop test upstream deleted.
    • AGENTS.md takes upstream's setup markers and dev seeding notes.
  • Lint. Upstream's new prefer-effect-fn lint rule meant converting Satellite's Issues, Azure boards host and legacy drain to Effect.fn.
  • Restored and deleted helpers. .github/scripts/ci-changes.cjs comes back because upstream's new vp run check:changed imports it. scripts/resolve-nightly-release.ts (upstream's release only) and vercel-deployment-output.test.cjs are deleted.

Ledger

  • SatelliteLedgerUpgrade.integration.test.ts now pins the upstream ledger tip at 67 and adds a case for a database repaired when upstream's ledger ended at 63. That case asserts the seed ends at 63 and then moves forward cleanly. The dev-build fixture (fork-numbered 63 to 66 under different names) repairs and then runs upstream's 64 to 67.
  • runSatelliteMigrations now rejects Revdoc's retired id 100, with a test. The next Satellite migration takes 102.

Verification

  • Unit tests. On the merge, persistence, satellite and issues passed (195 tests), plus every conflict-touched module's owning tests:
    • server: 859, of which 3 fail on macOS at upstream's tip too;
    • desktop, scripts, shared, client-runtime, contracts: 2029, of which 10 fail on macOS at upstream's tip too;
    • web: 743;
    • provider packages: 687.
      The baseline was a clean upstream-tip worktree.
  • Static checks. tsc-rs --noEmit passed in 14 packages including mobile. vp lint found no errors in Satellite's files. vp run knip:check and node scripts/rebrand.ts --check / --verify both pass.
  • Live, at 27c93f7, on a fresh snapshot in scratch homes with an invalid GH_TOKEN:
    • Lane 1: trunk's ledger runs 1..63 and head's runs 1..67, with every trunk row kept.
    • Forward from trunk: a database trunk repaired runs 64..67 only.
    • Lane 2: thread counts match per project.
    • Lane 3: a migrated Claude thread replied, using context from earlier in the thread.
    • Lane 9: the dev-build fixture repairs to upstream's names, archives 2 threads, and is unchanged on its second start.
    • Lane 10: a second start leaves the ledger and schema unchanged.
    • Branding: Satellite name, mark, manifest and favicon, with no running animations.
    • Pull Requests: the Include upstream toggle sets includeUpstream=true.
    • Issues on a fake GitHub Enterprise host: connect, drag, and Start, which moved fix(ci): make packaging archive fixtures portable on Windows #11 to In progress.
  • Perf. Cold start median: trunk 3092.9 ms, head 3067.7 ms (ratio 0.992, under 15 s).
  • Release dry run. Run 39672241553 at fc065ab succeeded. It produced SatelliteT3-2.0.0 exe, dmg and zip for x64 and arm64, plus latest.yml and SHA256SUMS. No tag or release was created; releases/latest is still v1.2.1.

Model and harness: Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

t3dotgg and others added 30 commits October 19, 2026 22:35
…ires (beta) (pingdotgg#21682)

Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… tabs (pingdotgg#19533)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#18823)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…g#19589)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ovals (pingdotgg#15464)

Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#18322)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…odel (pingdotgg#20413)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…22152)

Co-authored-by: Julius Marminge <julius@marminge.se>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…st comments (pingdotgg#20894)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pingdotgg#15036)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…#19796)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gdotgg#20886)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#18392)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…g#14859)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…any resize (pingdotgg#22154)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ly running (pingdotgg#15672)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…9646)

Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com>
Co-authored-by: Claude Opus 5.5, independent investigation and sanity review <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…#19201)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ws (pingdotgg#20415)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ecks off (pingdotgg#19581)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ic (pingdotgg#22174)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
t3dotgg and others added 27 commits October 21, 2026 02:43
… setting (pingdotgg#22841)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nstall (pingdotgg#22855)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
…s AGENTS.md (pingdotgg#22848)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… shell (pingdotgg#22856)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…t found" (pingdotgg#22850)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…t for 3 minutes (pingdotgg#22903)

On desktop, an abandoned browser sign-in blocked every T3 Connect sign-in for 3 minutes. A new attempt now replaces the stale Clerk flow, and a Cancel bar resets the sheet. Takeover of pingdotgg#22708.

Co-authored-by: steve-ai-vibe <steve.ai.vibe@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…character catalog dump (pingdotgg#22889)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…s junctions point to (pingdotgg#21099)

Co-authored-by: sheehanmunim <80079528+sheehanmunim@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#22686)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merges pingdotgg/t3code main at d27c606 into
satellite-v2, whose upstream base was d8e9fd2
(853 upstream commits). No orchestration protocol bump (still 2). Upstream adds
migrations 64 to 67 and moves the package manager to pnpm 12.14.0.

Conflicts (94) and their resolutions:
- Workflows and helpers Satellite deleted stay deleted (11): check-nightly-release
  test, thread-transfer-report and its test, deploy-relay, desktop-macos-preview,
  mobile-android-apk, mobile-eas-production, publish-aur, web-preview,
  notify-discord-release test. ci-changes.cjs comes back from upstream, because
  upstream's new `vp run check:changed` imports it.
- Upstream deleted tests Satellite had only rebranded (9): DesktopSshEnvironment,
  updateProgress, bootstrap, CloudEnvironmentConnectList, desktopUpdate.toast,
  SidebarUpdateReleaseNotes, clientMetadata, pullRequestDiffHttp,
  orchestrationInstructions. Deletion kept.
- Upstream deleted tests that carried Satellite cases (4): ServerEnvironmentLabel,
  branding, brand-assets, PullRequestListFilters. Recreated with only Satellite's
  cases.
- Rebrand-listed files (37 clean): re-merged with the rebrand applied to base
  and upstream, then node scripts/rebrand.ts.
- Rebrand-listed files with real conflicts (9): electron-launcher test,
  DesktopEnvironment test, CodexDeveloperInstructions test, release.md (Satellite's
  runbook), opencode textGeneration v1 and v2 (upstream code, rebrand:keep title),
  MessagesTimeline (upstream; its Satellite lines moved with upstream's split),
  _chat.pull-requests.tsx (upstream route plus includeUpstream; the page moved to
  components/pullRequest), build-desktop-artifact.ts (both imports; camera and
  microphone usage strings now come from productIdentity).
- Other test files (17): upstream's version plus the cases Satellite added, with
  Satellite's identity expectations re-applied to cases both sides kept. Upstream
  cases Satellite had only rebranded and upstream pruned stay pruned.
- server.ts: upstream's CloudLink layer plus SatelliteServer.layer.
- RepositoryIdentityResolver.ts: upstream's (it now resolves bare repositories
  itself) plus the named-remote lookup PR-08 added; its test keeps PR-08's cases.
- PullRequestService.ts: upstream's Effect.fn rewrite with PR-08's fork, stats
  and includeUpstream hunks re-applied.
- outdatedHostUpdate.ts, errorPresentation.ts, cliRelease.ts: upstream's code
  with Satellite's product name and release repository.
- release-desktop.yml: upstream's, plus Satellite's wsl_runtime input.
- release.yml, ci.yml, AGENTS.md: Satellite's, with upstream's changes that apply.

Beyond conflicts: TimelineToolActivityIcon uses SatelliteMark; the dev runner
seeds from ~/.satellite-t3; the T3 Connect troubleshooting link uses the fork's
repository; resolve-nightly-release.ts is deleted with upstream's release
workflow. scripts/rebrand-files.txt moves to the new upstream base and lists
the upstream files that newly name the product.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ository

apps/mobile is upstream's client and checks upstream's releases, so the
release page and index it shares with the CLI default to upstream. Satellite's
own CLI update passes RELEASE_REPOSITORY.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… index helper

runSatelliteMigrations now refuses Revdoc's retired id 100, so the rule no
longer lives only in a comment. Satellite's CLI calls releaseIndexPageUrl with
its repository; cliReleaseIndexPageUrl remains the upstream wrapper the
unmodified mobile client imports. Comment fixes from the review.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@RobertScholey98
RobertScholey98 merged commit 34e6595 into satellite-v2 Oct 21, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.