Repository navigation
Sync to v0.1.2-nightly.20261021.3457 conflicts - #168
Merged
Merged
Conversation
pingdotgg#18332) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…mote (pingdotgg#17340) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…names (pingdotgg#18389) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…es (pingdotgg#19938) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…19974) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19701) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…#19499) Co-authored-by: Julius Marminge <julius0216@outlook.com>
… in a prompt (pingdotgg#19485) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gg#7894) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gdotgg#19300) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ngdotgg#19813) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…g#19195) Co-authored-by: dan <dan@bw-hq-linuxws01.bellwetherit.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#21114) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pingdotgg#18552) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ge (pingdotgg#18603) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#20046) Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ingdotgg#19154) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ngdotgg#19936) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gg#21007) Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19706) Co-authored-by: Ronak Guliani <ronakguliani@microsoft.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ls (pingdotgg#20382) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…15623) Co-authored-by: Julius Marminge <julius0216@outlook.com>
…or screen (pingdotgg#20999) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Joaquin Alfian <joaquinalfian@Joaquins-MacBook-Pro.local> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…0037) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
…g#22588) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#22589) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#22591) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#22592) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#22593) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#22599) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#22556) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rts (pingdotgg#22602) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…gdotgg#22559) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#22613) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merges upstream's v0.1.2-nightly.20261021.3457 into main by hand. Upstream pruned low-value tests in this range. Where the fork had only renamed identity values in a deleted test, the deletion wins. Fork tests that assert the fork stays apart from upstream (profile folders, launcher link, URL schemes, launchd label) are kept, with the imports upstream dropped put back. electron-launcher no longer exports resolveMacBundleInfoPlistStrings, so the fork's launcher tests read the display name through resolveMacLauncherPaths. bootService.ts keeps the fork's launchd label under upstream's new exports, and server.ts carries FactoryLayer beside upstream's idle compaction worker. Issue: #167
Upstream now sets publish to null so electron-builder cannot infer a GitHub feed from GH_TOKEN. The fork's test still expected the property to be missing and failed on main as well as on the merge. Issue: #167
On v0.1.2-nightly.20261021.3457 the forked consumer subscribed after A's run.created, so it saw four of A's five status changes and timed out waiting for the fifth, every run. Stream.toPull opens the subscription in the test's own fiber before anything is launched. Issue: #167
…label serverOwnership.ts, new in this sync, finds an older boot service through BOOT_SERVICE_PLIST_FILE and BOOT_SERVICE_LAUNCHD_LABEL, which carry the fork's label. Its tests planted upstream's com.t3tools.t3code.service plist, so the two darwin refusal cases failed and the allow cases never reached the label check. The tests now take both from bootService.ts. SEAMS gains that test and drops DesktopEarlyElectronStartup.test.ts, which the merge left identical to upstream. Issue: #167
…r model id The merge took upstream's deletion of the tests whose fork copies were the only checks on these values. One small test each puts them back: createBuildConfig's appId, productName and mac protocols, the nightly product name, and DesktopEnvironment's default appUserModelId. Each fails when upstream's value is put back in the code. Issue: #167
…Pull Stream.toPull does not open the subscription: Channel.unwrap reads the start position on the first pull, inside the forked consumer, so the previous fix only moved the race. The test now launches a run that fails fast and waits for its id, which shows the stream is live, before it launches A. The probe's later status may interleave and is skipped. Issue: #167
rawphp
marked this pull request as ready for review
October 21, 2026 10:30
Author
|
Factory gate: passed (attempt 1, run by the factory in a fresh checkout of the pull request's head
|
…leeping and overriding timeouts Upstream's new lint rules reject Date.now() reads, real-clock polls and per-test timeouts in tests. Polls for subprocess side effects wait with vi.waitFor; clock reads come from a fixed or injected clock; the two 20 s and one 120 s overrides go, since the project ceiling is 120 s. The install health-check test observes the script's post-failure sleep through a PATH shim instead of sleeping itself.
Upstream's require-disposable-render and no-frame-waits rules reject react-dom/client roots, React's act, lifecycle hooks and vi.useFakeTimers in browser tests. The fork helper now sits on apps/web/test/render.tsx and each test acquires its fixture with using. The router mocks spread the real module so the helper can load; that also revives the 21 tests in factoryEnvironment.browser.test.tsx, which had failed to import since the page started reading its search params.
Upstream's prefer-effect-fn rule flags a function whose body is one Effect.gen. The 147 fork sites now use Effect.fn with a Module.name span, pipe combinators passed as extra builder arguments, and Effect.fn.Return where callers need the declared type.
Author
|
Factory gate: passed again (attempt 2, run by the factory in a fresh checkout of the pull request's head
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #167
Merging upstream's
v0.1.2-nightly.20261021.3457intomainconflicted in 16 files, so the daily sync stopped. This branch does that merge by hand and records the tag infactory/UPSTREAM.Most conflicts came from upstream pruning low-value tests (pingdotgg#22557, pingdotgg#22589, pingdotgg#22592, pingdotgg#22593) that the fork had edited to expect its own identity values. The rule I used: when the fork's copy of a deleted test only renamed identity values, upstream's deletion wins. When the fork's test checks that the fork stays apart from upstream (profile folders, the upstream launcher link, URL schemes, the launchd label), it stays. Imports that upstream dropped are put back where needed.
bootService.tskeeps the fork's launchd label under upstream's new exports.server.tskeepsFactoryLayernext to upstream's new idle compaction worker.Issues the merge exposed, each fixed in its own commit:
serverOwnership.tsfinds an older boot service byBOOT_SERVICE_PLIST_FILE, which is the fork's label. Its tests planted upstream'scom.t3tools.t3code.serviceplist, so two darwin cases failed and the others passed without reaching the label check. The tests now import the constants.appId, product name, mac URL schemes andappUserModelId. Two small fork-only tests bring them back. Each fails when the upstream value is put back.factory/t3/events.contract.test.tstimed out on every run. Its forked consumer subscribed after run A's first status. It now launches a probe run that fails fast and waits for the probe's id before launching A. Passed 30 runs in a row.main. Upstream now setspublish: nullon purpose, and the test asserts that.The branch is
t3/factory-issue-167, the factory's worktree branch, notsync/<tag>.Contract
origin/mainmerged--no-ffwithv0.1.2-nightly.20261021.3457. All 16 conflicts are resolved and keep the fork's seams and identity.factory/UPSTREAMnames the tag ande64766c56ac6fc1678e6107052feb0047a35337f.factory/scripts/check.shexits 0. Draft PR.apps/web/src/routeTree.gen.ts(no conflict, not regenerated). Fork behavior changes beyond carrying the existing seams. ThreeDesktopLinuxUrlHandlertests that fail the same way onorigin/mainon macOS (case-insensitive file system).factory/scripts/check.sh→ pass. The 16 touched test files plusserverRuntimeState.test.ts→ pass, except the three macOS-onlyDesktopLinuxUrlHandlerfailures thatorigin/mainhas too.Acceptance criteria
mainand the tag: merge6002e58f2has parentsc4114b83a(origin/main) ande64766c56(the tag)git show --remerge-diff 6002e58f2, and no conflict markers remainregenerate-routes.shwas not neededfactory/UPSTREAM:v0.1.2-nightly.20261021.3457 e64766c56ac6fc1678e6107052feb0047a35337fGate
factory/scripts/check.sh→ exit 0, at7fe5a0a9dModels
modelsblock in.dw/config.yml, so Tom's roster applies)Review
main. Merging installs nothing, since the fork binary is built and installed by hand.serverRuntimeState.test.tsused upstream's label). maintainability-2 (stale SEAMS entry). testing-1 and blind-reader-2 (dropped fork-identity guards). testing-2 (toPulldid not open the subscription).origin/mainor outside this issue.FactoryLayerdropped fromserver.ts, mac schemes back tot3code,appUserModelIdback tocom.t3tools.t3code, product name traced by the testing seat)vp checkenforces, and thefactory-ciLint job failed on 197 errors in fork code: 147prefer-effect-fn, 24require-disposable-render, 12no-wall-clock-in-tests, 8no-real-time-wait-in-tests, 3no-test-timeout-or-unreasoned-skip, 3no-frame-waits-in-browser-tests. Three follow-up commits fix them:refactor(factory): reusable Effect functions use Effect.fn,test(factory): server and mobile tests stop reading the wall clock, sleeping and overriding timeouts,test(factory): web browser tests render through the disposable helper. The web change also revivedfactoryEnvironment.browser.test.tsx, whose 21 tests had failed to import since Factory page filters by environment and repo #165.factory/scripts/check.shpasses at the new head.Lessons
Commits
6002e58f2sync: v0.1.2-nightly.20261021.3457: Make (the merge)b685ee746test: an unconfigured update feed is an explicit null publish: Make (red on main as well)f2636e9dbtest: the events contract opens its subscription before the first launch: Gate fixbfe0a4b37test: upstream's boot service ownership tests use the fork's launchd label: Check cycle 1fa48cc20ctest: guard the packaged app's fork id, name, URL schemes and app user model id: Check cycle 17b3c754e3fix: the events contract waits for a probe run instead of trusting toPull: Check cycle 17fe5a0a9dtest: say how the events contract's second consumer can still be late: Check cycle 2 nitFiles
factory/UPSTREAM: names the new tagfactory/SEAMS: addsserverRuntimeState.test.ts, dropsDesktopEarlyElectronStartup.test.ts(now identical to upstream)apps/server/src/server.ts,apps/server/src/cloud/bootService.ts: conflict resolutions that keep the fork's seamsapps/server/src/serverRuntimeState.test.ts: fork label through the exported constantsscripts/build-desktop-artifact.test.ts,apps/desktop/src/app/DesktopEnvironment.test.ts: fork identity guardsapps/server/src/factory/t3/events.contract.test.ts: probe run before AOpus 5.5 in Claude Code (factory session).