Skip to content

feat(packaging): add deb and rpm desktop targets - #5139

Closed
bigpod98 wants to merge 28 commits into
pingdotgg:mainfrom
bigpod98:main
Closed

bigpod98 wants to merge 28 commits into
pingdotgg:mainfrom
bigpod98:main

Conversation

@bigpod98

@bigpod98 bigpod98 commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

What Changed
Added additional outputs to packaging script.

Why
Allows output of 2 linux packaging systems Deb and RPM
issue #4030

Checklist
This PR is small and focused
I explained what changed and why
I included before/after screenshots for any UI changes
I included a video for animation/interaction changes


Open in Devin Review

Note

Medium Risk
Touches the release workflow and artifact matrix; a packaging or rpmbuild failure blocks Linux release assets, but changes are confined to desktop distribution with no auth or data-path impact.

Overview
Linux desktop releases now ship .deb and .rpm installers alongside the existing AppImage, using one electron-builder run per Linux matrix job instead of separate jobs per format (avoids upload-artifact name collisions).

The desktop packager accepts comma-separated Linux targets (AppImage,deb,rpm) via resolveLinuxTargets, adds deb/rpm dependency lists and Linux package metadata (maintainer, vendor, synopsis), and enriches staged package metadata for fpm. Release CI switches the Linux x64 target to the combined list, ensures rpmbuild when RPM is requested, and collects/publishes *.deb and *.rpm on GitHub Releases. Root npm scripts (dist:desktop:deb / rpm → packaging-output/), marketing download cards, and release/docs note that in-app Linux updates remain AppImage-only; deb/rpm users upgrade via their package manager.

Reviewed by Cursor Bugbot for commit a223032. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add .deb and .rpm Linux desktop packaging targets to the release pipeline

  • Extends the Linux electron-builder config in scripts/build-desktop-artifact.ts to accept comma-separated targets (e.g. AppImage,deb,rpm) and emit all formats in a single run, with appropriate metadata and dependency declarations for each format.
  • Updates the release workflow to build and publish .deb and .rpm artifacts alongside the AppImage, and installs rpmbuild when the RPM target is included.
  • Adds .deb and .rpm download cards to the marketing downloads page.
  • Documents the new dist:desktop:deb and dist:desktop:rpm npm scripts and updated release artifact behavior.

Macroscope summarized a223032.

bigpod98 and others added 14 commits July 16, 2026 21:12
Install a t3 launcher in DEB and RPM artifacts that runs the bundled server through Electron's Node mode, while preserving t3code as the desktop command. Cover both package mappings and production/nightly install paths with tests.
Pin electron-builder's standard RPM requirements and add alsa-lib, libsecret, and mesa-libgbm so desktop and headless commands work on minimal installations without relying on weak dependencies.
@coderabbitai

coderabbitai Bot commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9178547b-d5c6-4529-97ac-13eb8bbb0712

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched Author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Jul 31, 2026
# Conflicts:
#	scripts/build-desktop-artifact.test.ts
#	scripts/build-desktop-artifact.ts
Comment thread scripts/build-desktop-artifact.ts Resolved
@raulferrodrigues

Copy link
Copy Markdown

we have 4 different prs open to add .deb releases.

Like I really want this, but we should at least try to like keep just one of these and discuss it. @bigpod98 @benthecarman @NaveDanan @chukfinley

You seem to also want this @LouisDeconinck.

how about we keep just one of these open and talk about it. much higher likelihood it would be merged then.

@bigpod98

bigpod98 commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor Author

we have 4 different prs open to add .deb releases.

Like I really want this, but we should at least try to like keep just one of these and discuss it. @bigpod98 @benthecarman @NaveDanan @chukfinley

You seem to also want this @LouisDeconinck.

how about we keep just one of these open and talk about it. much higher likelihood it would be merged then.

Agreed mine also contains rpm code and specific t3 entrypoint for server, happy to bring some of this work to another as mine doesnt contian an actions as i was planning to build action seperately to split the concerns across multiple prs as they are seperate concerns afterall if you guys wanna help out with this one im fine with that as well

@benthecarman

Copy link
Copy Markdown
Contributor

It seems like all of our prs have been ignored so I'm not sure unifying will do anything

@raulferrodrigues

Copy link
Copy Markdown

we have 4 different prs open to add .deb releases.

Like I really want this, but we should at least try to like keep just one of these and discuss it. @bigpod98 @benthecarman @NaveDanan @chukfinley
You seem to also want this @LouisDeconinck.
how about we keep just one of these open and talk about it. much higher likelihood it would be merged then.

Agreed mine also contains rpm code and specific t3 entrypoint for server, happy to bring some of this work to another as mine doesnt contian an actions as i was planning to build action seperately to split the concerns across multiple prs as they are seperate concerns afterall if you guys wanna help out with this one im fine with that as well

Nice! Ok if we can work together we stand a better chance in having this merged. Theo and co have their own work so if we do this together this we might get noticed. We should probably look into someone that has already worked something related to the existing targets and thus is vouched. Not the main maintainer team like Theo, Jullius and co, but other maintainers. Reach out and ask for help. Probably not just @ them here tho.

@raulferrodrigues

Copy link
Copy Markdown

It seems like all of our prs have been ignored so I'm not sure unifying will do anything

I don't think it's a case of being ignored. It's just the high volume of prs open that makes prioritizing difficult. Let's reach out to someone that has already worked on stuff like targets and talk to them. That would very likely increase out chances of having our pr seen over the other prs. Again, let's not just start @ ing people tho. Im going to check out who else work on this. But for now let's centralize our attention on this pr I think.

chukfinley added a commit to chukfinley/t3code that referenced this pull request Aug 6, 2026
The desktop build script already accepts `--target deb`; the target string is
passed through to electron-builder untouched and the artifact copy step is
target-agnostic. A deb build fails only because app-builder-lib's FpmTarget
requires two metadata fields the staged package.json omits: `homepage`
(control "Homepage:") and `maintainer` (control "Maintainer:", otherwise
derived from `author`, which carries no email). AppImage needs neither, so
nothing surfaced this.

Rather than add a second Linux matrix entry -- whose upload artifact name
`desktop-linux-x64` would collide with the AppImage entry's -- let the existing
Linux entry emit both targets from one electron-builder run. `--target` now
takes a comma-separated list, and artifactName's ${ext} already keeps the output
files distinct, so there is one artifact name, one runner, and no collision.

The .deb also has to be listed in the collect step and in both
action-gh-release file lists, or it builds and never ships.

Packages declare Electron's shared-library dependencies per format, so a
minimal Debian/Ubuntu install pulls them in instead of the app failing to
start. The same wiring covers `rpm`, exposed as `dist:desktop:rpm` for local
builds; the release workflow stays AppImage+deb because the runners have no
`rpmbuild`.

Consolidates the overlapping .deb work from pingdotgg#4887, pingdotgg#4900 and pingdotgg#5139: the
dependency lists and the rpm target come from @bigpod98's pingdotgg#5139, the docs and
the download-page card from @benthecarman's pingdotgg#4900.

The .deb is not an updater payload -- in-app updates on Linux stay
AppImage-only, so .deb installs upgrade through dpkg/apt. Documented in
docs/operations/release.md.
@chukfinley

Copy link
Copy Markdown
Contributor

Agreed on consolidating, and I'm fine with this one being the base — I have no attachment to my PR being the one that lands.

Concrete state of mine (#4071) so it's useful input rather than a fifth opinion: I just rebased it onto current main (it had gone stale and conflicting) and folded in the pieces it was missing, so it's now MERGEABLE with green checks and covers:

  • --target accepts a comma-separated list, so the existing Linux matrix entry emits AppImage,deb from one electron-builder run
  • homepage + maintainer on the staged package.json (FpmTarget errors without both)
  • deb/rpm depends lists — taken from this PR, credit to @bigpod98
  • release workflow: collect step + both action-gh-release file lists get *.deb
  • docs + the download-page .deb card — taken from feat(desktop): Add a Linux .deb to releases #4900, credit to @benthecarman
  • unit tests over the target split, maintainer format, and per-format depends

The piece that only exists in mine is the release-workflow wiring, and it's the part with the non-obvious trap: adding a second Linux matrix entry (linux/deb/x64) makes the upload step produce desktop-linux-x64 twice, which is the artifact-name collision that #1655 got closed over. Building both targets in the one existing entry avoids it by construction — same runner, same artifact name, no extra release wall-clock, and artifactName's ${ext} keeps the files apart. Also easy to miss: there are two softprops/action-gh-release blocks (first release / subsequent releases) and both need *.deb, otherwise the package builds and never ships.

So whichever PR ends up as the base: if it's this one, I'm happy to open the workflow wiring as the follow-up PR you mentioned you'd planned, or just hand the diff over — say the word. If a maintainer would rather take the one that's already end-to-end, #4071 is rebased and ready today.

On finding someone who has touched this area — git log on the two files, excluding the core team:

Agreed on not mass-@ing people. #4824 and #3816 look like the two non-core folks who've actually shipped in this file, so one of them reviewing is probably the realistic path.

One open question that applies to whichever PR lands: Maintainer: is a mandatory Debian control field, so it needs a real address. I used [email protected] as a placeholder rather than invent a mailbox that bounces; this PR uses [email protected]. Worth having a maintainer just tell us which one they want — it's a one-line change either way.

@chukfinley chukfinley mentioned this pull request Aug 6, 2026
3 tasks done
@raulferrodrigues

Copy link
Copy Markdown

ok from what I could find most of the stuff was done by the main team, theo, jullius and maria and co. of those 3 I think maria might be our best bet to get this looked at (please don't be mad I said this maria, I love you, I just think you are the most approachable right now hahah).

Other than maria I found this chuks-qua guy that did some work on making sure the desktop building tooling worked on windows. Not exactly what we were looking for but might be adjacent enough. I will try to reach out to them.

Comment thread scripts/build-desktop-artifact.ts Resolved
@macroscopeapp

macroscopeapp Bot commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR introduces new Linux distribution formats (deb/rpm packages) as download options. While the changes are well-tested packaging configuration that doesn't alter application runtime behavior, adding new user-facing distribution channels represents a new capability that warrants human review.

You can customize Macroscope's approvability policy. Learn more.

Comment thread scripts/build-desktop-artifact.ts Resolved

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 703f72c. Configure here.

Comment thread scripts/build-desktop-artifact.ts Resolved
@bigpod98

bigpod98 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

@raulferrodrigues i am thinking of how to format the t3 entrypoint my 2 options right now is 1 exactly like done in this repo or a seperate server package that depends on this one that adds t3 entrypoint

@bigpod98

bigpod98 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

got a response from theo:

I’m not slowing down our ci even more for a bunch of special distros.

Happy to support others setting up an automatic mirror, but this is a slippery slope I don’t want to be on

https://x.com/theo/status/2085661076054827451

@raulferrodrigues

Copy link
Copy Markdown

I’m not slowing down our ci even more for a bunch of special distros.

well damn... well at least we have an answer.

let's keep the PR open, we might come back to this in the future, he might change his mind.

also keep in mind he fucking hates github right at this moment, the entire github actions thing was down for 8 hours straight, so it could be just a temporary thing, it would be worth it to ask again in like couple months.

he's right about the automatic mirror tho, let's set it up and use it I guess. not ideal, but it will have to do for now.

@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Aug 7, 2026
@bgmulinari

Copy link
Copy Markdown

While this PR is not merged, I've put together a repo to automate .deb and .rpm builds based on the patch from this PR. If anyone is interested: https://github.com/bgmulinari/t3code-linux-packages

Not sure if this is what @t3dotgg meant by "automatic mirror", so any feedback/contribution is welcome.

@bigpod98

bigpod98 commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor Author

i have also been working on one automated build system for RPM and Deb and may include others are well. and i have a hosted Repository as well it is still not linked to it but i personally would recommend mine as i have gone the other way and forgo the building methods for packages of this repo and used most basic output of it in Standard RPM and DEB packaging system that allows for several benefits including partial autonomy when it comes to things like them changing the building TS script which as been a problem few times trough the life time of this and previous version of this PR and is likely to be a problem in future as well

https://github.com/bigpod98/t3code-packages

@benthecarman

Copy link
Copy Markdown
Contributor

I switched to https://paseo.sh/ which has actual linux releases

@t3dotgg

t3dotgg commented Aug 23, 2026

Copy link
Copy Markdown
Member

Note

🤖 GPT-5.6 Sol responding on behalf of Theo

Closing this PR after an automated pass over open pull requests. Theo already rejected adding more Linux package formats to release CI. External package mirrors exist.

@t3dotgg t3dotgg closed this Aug 23, 2026
@bigpod98

Copy link
Copy Markdown
Contributor Author

t3dotgg added a commit that referenced this pull request Sep 25, 2026
The Linux release build now also makes a .deb in the same electron-builder
run as the AppImage, and the release publishes it. electron-builder lists it
in latest-linux.yml and writes resources/package-type into it, so the app
updates a .deb install through electron-updater, which installs the new .deb
with dpkg. The desktop updater now allows that path.

The .deb uses xz in threaded mode (XZ_DEFAULTS=-T0): 113 MB in place of
141 MB with gzip. The Linux arm64 release job moves to a 16-vCPU Blacksmith
arm64 runner. The download page, README, install guide, and release docs
list the .deb.

Based on community work in #4071, #5139, #4900, and #4887.

Co-authored-by: chukfinley <[email protected]>
Co-authored-by: Primož Ajdišek <[email protected]>
Co-authored-by: benthecarman <[email protected]>
Co-authored-by: NaveDanan <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
ZytriuNks added a commit to ZytriuNks/t3code that referenced this pull request Sep 28, 2026
* test(relay): remove constant-restating database mode test (pingdotgg#13932)

* fix(server): let agents use simctl and adb alongside device tools (pingdotgg#13908)

* feat(observability): honor OTEL_*_EXPORTER=none per signal (pingdotgg#13736)

Signed-off-by: Yordis Prieto <[email protected]>

* fix(clients): hide duplicate Cursor Keychain prompts (pingdotgg#13870)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(build): validate Linux node-pty prebuilds in Windows artifacts (pingdotgg#13867)

* test(usage): assert contract mismatch details (pingdotgg#13861)

* fix(usage): identify client version mismatches (pingdotgg#8208)

* fix(usage): omit Cursor warning when no login is saved (pingdotgg#13820)

* fix(usage): tolerate newer provider variants (pingdotgg#10076)

* fix(server): background git status fetches no longer fill the disk with failed repacks (pingdotgg#13812)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): cut idle wakeups from the Connect relay and session reaper (pingdotgg#13774)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(clients): saving the thread list cache no longer freezes the UI (pingdotgg#13767)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): background sweeps only read threads that can still settle (pingdotgg#13765)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(observability): the renderer trace proxy stops tracing itself (pingdotgg#13761)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(clients): sort projects and settled threads without re-parsing dates per comparison (pingdotgg#13759)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): opening Diagnostics no longer loads the whole trace ring into memory (pingdotgg#13763)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(observability): stop writing empty spans on spawns, projected events, and idle polls (pingdotgg#13756)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): let Antigravity inspect unsupported files by path (pingdotgg#13339)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* Show a focus ring on sidebar thread and draft rows (pingdotgg#13344)

* fix(server): bump node-pty to 1.2.0-beta.15 for linux-arm64 prebuild (pingdotgg#13748)

* fix(server): prune expired replay-protection files from the secrets directory (pingdotgg#13695)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): installed editors no longer vanish when discovery is slow (pingdotgg#13669)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(editors): stop treating the agy CLI as the Antigravity IDE (pingdotgg#7079)

* fix(opencode): accept v2 serve ready line when spawning server (pingdotgg#13651)

* fix(usage): hide the Cursor keychain prompt when Cursor isn't set up (pingdotgg#13714)

* perf(server): stop re-running git for every project each minute (pingdotgg#13689)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(observability): record event loop stalls in the server trace (pingdotgg#13697)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): per-thread settlement and PR checks no longer rebuild the whole thread list (pingdotgg#13691)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(client): slow servers finish loading the thread list instead of loading it twice (pingdotgg#13683)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): build the thread list snapshot without decoding it twice (pingdotgg#13693)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(observability): write a server heap snapshot on SIGUSR2 (pingdotgg#13694)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): pull request sync reads only threads with linked pull requests (pingdotgg#13704)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(cli): summarize the server trace file from the command line (pingdotgg#13698)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): the SQLite WAL file shrinks back after large writes (pingdotgg#13684)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(cli): t3 triage points agents at log files that exist (pingdotgg#13685)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(observability): name the command on subprocess spans (pingdotgg#13701)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* perf(server): stop remapping every thread on each thread event (pingdotgg#13720)

Co-authored-by: Claude <[email protected]>

* refactor(observability): name each service after its application (pingdotgg#13699)

Signed-off-by: Yordis Prieto <[email protected]>

* fix(usage): price Cursor cache savings by base model (pingdotgg#13731)

* perf(server): avoid rereading unchanged files in review previews (pingdotgg#13395)

* fix(server): load Cursor keyring with createRequire (pingdotgg#13678)

* fix(terminal): settling a thread closes its idle shells (pingdotgg#13673)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(observability): honor the standard OTLP endpoint, headers, and protocol variables (pingdotgg#13492)

Signed-off-by: Yordis Prieto <[email protected]>

* fix(sqlite): retry failed statement preparations (pingdotgg#10584)

Co-authored-by: shivam <[email protected]>

* feat(usage): read cursor, opencode, and antigravity history (pingdotgg#10409)

Co-authored-by: Yash Singh <[email protected]>

* fix(usage): price Claude fast-mode requests at the fast rate (pingdotgg#13599)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(dev): one t3.json setup action that works on every OS (pingdotgg#13589)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(release): ship a Linux .deb that updates itself (pingdotgg#13575)

The Linux release build now also makes a .deb in the same electron-builder
run as the AppImage, and the release publishes it. electron-builder lists it
in latest-linux.yml and writes resources/package-type into it, so the app
updates a .deb install through electron-updater, which installs the new .deb
with dpkg. The desktop updater now allows that path.

The .deb uses xz in threaded mode (XZ_DEFAULTS=-T0): 113 MB in place of
141 MB with gzip. The Linux arm64 release job moves to a 16-vCPU Blacksmith
arm64 runner. The download page, README, install guide, and release docs
list the .deb.

Based on community work in pingdotgg#4071, pingdotgg#5139, pingdotgg#4900, and pingdotgg#4887.

Co-authored-by: chukfinley <[email protected]>
Co-authored-by: Primož Ajdišek <[email protected]>
Co-authored-by: benthecarman <[email protected]>
Co-authored-by: NaveDanan <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

* fix(clients): a preview app no longer knocks the desktop's own server offline (pingdotgg#13577)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(mcp): preview errors tell agents what to do instead (pingdotgg#13559)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(mcp): preview snapshots fit in the agent's tool output again (pingdotgg#13558)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): newer Codex models get T3 Code's instructions again (pingdotgg#13547)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(clients): sync status no longer flickers when opening running threads (pingdotgg#13551)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* ci(relay): add a forced manual relay deploy (pingdotgg#13550)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): report the Grok account email so usage limits merge across environments (pingdotgg#12588)

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>

* fix(server): Grok accounts with no usage yet no longer vanish from Limits (pingdotgg#12799)

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>

* fix(relay): export tunnel cleanup counters to Axiom (pingdotgg#13528)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* feat(grok): offer one-click updates through `grok update` (pingdotgg#13523)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(connect): remove tunnels after hosts go offline (pingdotgg#9386)

Co-authored-by: Claude Fable 5.1 <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* feat(codex): require Codex 0.156 and regenerate its protocol (pingdotgg#13481)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(codex): the protocol generator runs again on Effect rc.115 (pingdotgg#13480)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(antigravity): keep Windows runtime unpacking under MAX_PATH (pingdotgg#13389)

Co-authored-by: javiergusart <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(acp): keep one answer when a running tool reports progress (pingdotgg#13386)

Co-authored-by: adeebahmad01 <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(marketing): use the official OpenCode and Antigravity logos (pingdotgg#13365)

Co-authored-by: Claude Opus 5.5 <[email protected]>

* fix(observability): a malformed OTEL_RESOURCE_ATTRIBUTES no longer stops startup (pingdotgg#13469)

Signed-off-by: Yordis Prieto <[email protected]>

* feat(server): show and redeem Claude banked resets (pingdotgg#13118)

Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: Julius Marminge <[email protected]>

* chore(ci): use GPT 6 Sol Max for check agents (pingdotgg#13473)

* fix(server): keep Codex's reset answer when the re-probe fails (pingdotgg#13363)

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>

* fix(server): preserve racy edits in review diff previews (pingdotgg#12613)

Co-authored-by: shivam <[email protected]>

* feat(observability): honor the OpenTelemetry kill switch (pingdotgg#13355)

Co-authored-by: Yordis Prieto <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Signed-off-by: Yordis Prieto <[email protected]>

* fix(shared): preserve final quoted empty CSV records (pingdotgg#11425)

Co-authored-by: Simone <[email protected]>

* fix(server): stop replaying old agent alerts on restart (pingdotgg#13340)

* fix(providers): restore compatibility ranges for every harness (pingdotgg#13328)

* fix(ci): shard release tests like pull request CI (pingdotgg#13321)

* fix(sync): resolve wave1 test/build fallout from upstream rebase

After rebase of 78 upstream commits (78 picks, 70 drops) onto c37294d,
the following merge-conflict artefacts remained because the rebase
strategy kept fork-exclusive V2/Pi source while picking upstream
implementations of shared files:

- packages/shared/src/usageMerge.test.ts: removed orphan nested it()
  declaration from commit 9, removed dangling expect+}) from rebase
  residue, and renamed staleEnvironments -> contractMismatches to
  match the upstream field that commit 9/11/13 introduced (the fork
  exclusively uses the contractMismatches field name).
- apps/server/src/usage/usagePricing.ts: collapsed the doubly-nested
  conflict markers left by commits 61 and 75 in cacheSavingsUsd into
  the upstream clause that resolves to rateModel ?? record.model.
- apps/server/src/provider/Drivers/CursorDriver.ts: replaced with the
  upstream main implementation so the file matches the upstream
  auth/modelDiscovery shape; the fork V2 Cursor path was already
  covered by PiAdapterV2.test.ts (61/61 green) and is not touched.
- apps/server/src/provider/Layers/CursorProvider.test.ts: restored
  the fork-main version (252 lines) because the upstream version
  exercises a CursorProvider path that this fork does not implement
  (fork ships only the V2 Pi adapter and the legacy Cursor provider
  layer tests); 7/7 green.

Wave1 critical-point verification (vp test):
  packages/shared/src/usageMerge.test.ts                       30/30
  apps/server/src/orchestration-v2/Adapters/PiAdapterV2.test.ts 61/61
  apps/server/src/usage/UsageService.test.ts                  14/14
  apps/server/src/provider/Layers/CursorProvider.test.ts        7/7
  apps/server/src/provider/cursorCredentialStore.test.ts        1/1
  packages/shared/src/usageFormat.test.ts                      9/9
  packages/client-runtime/src/state/usage.test.ts              9/9
  apps/server/src/serverLogger.test.ts                         6/6
                                                              137/137

---------

Signed-off-by: Yordis Prieto <[email protected]>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: Yordis Prieto <[email protected]>
Co-authored-by: Yash Singh <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: Tristan Knight <[email protected]>
Co-authored-by: Theo Browne <[email protected]>
Co-authored-by: Bilal Bakr <[email protected]>
Co-authored-by: Ryan Ilano <[email protected]>
Co-authored-by: Ephraim <[email protected]>
Co-authored-by: Bob Fowler <[email protected]>
Co-authored-by: Ishaan Kothari <[email protected]>
Co-authored-by: Shirish Pothi <[email protected]>
Co-authored-by: Guillermo Casanova <[email protected]>
Co-authored-by: shivam <[email protected]>
Co-authored-by: Aditya Garud <[email protected]>
Co-authored-by: maria <[email protected]>
Co-authored-by: chukfinley <[email protected]>
Co-authored-by: Primož Ajdišek <[email protected]>
Co-authored-by: benthecarman <[email protected]>
Co-authored-by: NaveDanan <[email protected]>
Co-authored-by: Jake Leventhal <[email protected]>
Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <[email protected]>
Co-authored-by: javiergusart <[email protected]>
Co-authored-by: adeebahmad01 <[email protected]>
Co-authored-by: oliver <[email protected]>
Co-authored-by: Simone <[email protected]>
Co-authored-by: Simone <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched Author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants