Skip to content

chore(fork): sync stable v0.0.45 while preserving fork features - #48

Merged
YJJosh merged 69 commits into
mainfrom
sync/upstream-v0.0.45
Oct 2, 2026
Merged

YJJosh merged 69 commits into
mainfrom
sync/upstream-v0.0.45

Conversation

@YJJosh

@YJJosh YJJosh commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Brings upstream's latest stable release, v0.0.45 (66 commits since v0.0.44), into the fork. Where upstream and the fork changed the same thing, the fork's version wins.

What changed upstream

Threads without a project, restarting agent sessions from ⌘K to pick up new skills and plugins, one-click provider updates, Expo SDK 58 / React Native 0.88, vite-plus 1.0, a question-first preview for answered user-input rows, and CI split into parallel lint, typecheck and desktop-build jobs.

How the 7 conflicts were resolved

  • ci.yml: took upstream's new parallel job layout and reapplied the fork's only change: GitHub-hosted runners instead of Blacksmith, and dropping the two Blacksmith-only mirror lines.
  • release.yml: kept the fork's copy in full. It's hard-disabled (no triggers, every job if: false) because Dulli releases run through fork-desktop-release.yml, and keeping it whole avoids new upstream jobs slipping in without the disable.
  • apps/mobile/app.config.ts: upstream's version bump plus the fork's Dulli scheme and version override.
  • remoteRegistration.ts: the new Live Activity title uses the Dulli brand name, like the rest of the fork's mobile titles.
  • MessagesTimeline.tsx: upstream's question-first preview for user-input rows, plus the fork's tool headings and success indicator. They apply to different row types.
  • third-party-licenses.config.json: union of both lists, so the Pi package notices stay.
  • pnpm-lock.yaml: upstream's lockfile, then reinstalled so the fork's dependencies (Pi SDK, Workler) are back.

The three workflows that merged without conflicts (release-desktop.yml, desktop-macos-preview-publish.yml, mobile-eas-preview.yml) stay disabled. No README changes this time.

Pi needs nothing new for upstream's ⌘K session restart: it goes through the generic registry refresh and Pi resumes its conversation on restart.

Testing

  • Typecheck of every package, knip:check, and lint and format on the 249 files the fork changes relative to v0.0.45 are clean.
  • Tests for the conflicted areas plus the Pi, usage, migration and workflow suites pass. One ProviderRegistry test ("re-probes when settings change the codex binaryPath") fails locally on macOS, and also fails on current main: upstream's new provider-update check finds /opt/homebrew/bin/brew, which the Linux CI runner doesn't have.
  • build:desktop (including the strict license check) and release smoke pass. verify-preload-bundle fails locally with window is not defined, the same macOS-only quirk as last sync; the file matches upstream and it passes on Linux CI.
  • Dev server through Portler on a VACUUM INTO copy of the real Dulli database: migrations 44–55 ran cleanly, the app paired and loaded with Dulli branding, the Fork features settings and Pi (v1.0.0, authenticated) are intact, and the Agents and Shared terminals surfaces are in the surface menu. No console errors.

Release pipeline fix

The Dulli release run from today (37049262590) failed at Build WSL CLI runtime: the single-executable check rejected the server bundle's import("workler"), because a Node single-executable can't import() a file-backed package. Every desktop build waits on that job, so no artifacts were built, and nothing was tagged or published.

  • WorklerWorkspaceService now loads Workler through createRequire, the same way node-pty is loaded.
  • The packaged-bundle test now fails if any external package is imported with ESM syntax. It reproduces the CI error without the fix.
  • Verified locally on macOS with Node 26.8.2: the single executable builds, the CLI archive builds and passes smoke-cli-archive, and the macOS Dulli desktop build produces the .dmg and .zip. The Linux and Windows builds can only be confirmed by a real release run.

Workler 0.2.2

  • Bumped workler from 0.2.1 to 0.2.2. The release only adds an optional copyLinks workspace setting; the APIs Dulli calls are unchanged, so no code changes were needed. The lockfile diff is limited to Workler's own entries.
  • Server typecheck, the Workler tests (including the packaged-bundle test), the CLI packaging tests and release smoke pass.

Heads-up

v0.0.45 now requires Codex CLI >=0.159.0.


Made with Claude Opus 5.5 in the pi coding-agent harness

Yash-Singh1 and others added 30 commits September 29, 2026 15:28
…14311)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…dotgg#12900)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…2449)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
…otgg#8865)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…#14486)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ad busy (pingdotgg#14497)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…otgg#10154)

Co-authored-by: Khai Shern, Toh <khaishern8235@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ingdotgg#14028)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…otgg#14025)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…pingdotgg#14027)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…sh (pingdotgg#14029)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
t3-code Bot and others added 21 commits October 1, 2026 16:09
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
…tgg#14635)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…#14613)

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

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ched GraphQL (pingdotgg#14673)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g#14678)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
pingdotgg#13926)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
…ode browser (pingdotgg#14601)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…gdotgg#14532)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
…ns (pingdotgg#12615)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Merge upstream T3 Code v0.0.45 into the fork. Where upstream and the fork
touched the same code, the fork's behavior wins: Dulli branding and mobile
identity, the fork release pipeline, GitHub-hosted CI runners, and the fork's
timeline rows. Upstream features and fixes that do not conflict with those
come in as-is.

Integration notes:
- CI adopts upstream's split lint, typecheck and desktop-build jobs, on the
  fork's GitHub-hosted runners without the Blacksmith-only mirror steps.
- release.yml keeps the fork's disabled copy; Dulli releases run from
  fork-desktop-release.yml. The new upstream steps in the other auto-merged
  publish workflows stay behind their existing disabled jobs.
- The mobile Dulli fork identity and version override sit on top of
  upstream's Expo SDK 58 config, and the new local Live Activity title uses
  the Dulli brand.
- User-input rows in the timeline show upstream's question-first preview;
  the fork's tool row headings are unchanged.
- Pi needs no adapter change for upstream's "restart agent sessions" command:
  the fresh provider scan re-runs Pi discovery and resumes its sessions.
- README files keep the fork's content, as in previous syncs.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 1,000+ effective changed lines (test files excluded in mixed PRs). 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. labels Oct 2, 2026
@github-actions

github-actions Bot commented Oct 2, 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 13.5 KiB 13.5 KiB −40 B (−0.3%) 15.1 KiB ✅
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −3 B (−0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.5 KiB 6.4 KiB −37 B (−0.6%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 56.3 KiB 56.2 KiB −44 B (−0.1%) 66.4 KiB ✅
Codex Live turn messages 10 9 −1 (−10.0%) 21 ✅
Claude Total thread wire 13.5 KiB 13.5 KiB +7 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +9 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB −2 B (−0.0%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 57.0 KiB 57.0 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: 6ef69b6 · PR result: b20e0fd · 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: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

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

YJJosh added 2 commits October 2, 2026 21:21
… builds

The Dulli release failed at "Build WSL CLI runtime": the CLI single-executable
check rejected the server bundle's `import("workler")`, because a Node
single-executable cannot `import()` a file-backed package. That job gates
every desktop build, so no desktop artifacts were produced.

Load Workler through `createRequire`, the same way node-pty is loaded, and
assert in the packaged-bundle test that no external package is imported with
ESM syntax.
0.2.2 only adds an optional copyLinks workspace setting; the create and
workspace APIs Dulli calls are unchanged. The lockfile change is limited
to Workler's own entries.
@YJJosh
YJJosh merged commit 263817b into main Oct 2, 2026
22 of 23 checks passed
@YJJosh
YJJosh deleted the sync/upstream-v0.0.45 branch October 2, 2026 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. size:XXL 1,000+ effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.