Skip to content

Sync 3 upstream commits from common-v8: workspace deps, export reordering, test mocking#15

Merged
miccy merged 7 commits intosync/merge-upstream-03-02-26from
copilot/sync-merge-upstream-03-02-26
Feb 3, 2026
Merged

Sync 3 upstream commits from common-v8: workspace deps, export reordering, test mocking#15
miccy merged 7 commits intosync/merge-upstream-03-02-26from
copilot/sync-merge-upstream-03-02-26

Conversation

Copy link
Copy Markdown

Copilot AI commented Feb 3, 2026

Sync upstream/common-v8 commits do copilot/sync-merge-upstream-03-02-26

✅ Dokončeno

  • Přidán upstream remote (evoluhq/evolu)
  • Stažen upstream/common-v8 branch
  • Cherry-pick 635cfa9: Reorder package exports and add default entries
  • Cherry-pick e57edbe: Use workspace deps in examples (adaptováno pro Bun)
  • Cherry-pick 133fc15: Adjust tests to use mocked listeners and console
  • Přidán bun.lock s aktualizovanými závislostmi
  • Opravena verze React napříč monorepo (19.2.4)

📊 Souhrn změn

13 souborů změněno: 41 přidání(+), 73 odebrání(-)

  • 6 example package.json: workspace dependencies + React 19.2.4
  • 1 package export reorder: react-native
  • 2 test soubory: mockované event listenery

✅ Ověření

  • ✅ Browser-specific createRunner již implementován v packages/web/src/Task.ts
  • ✅ Všechny balíčky používají jednotnou verzi React 19.2.4
  • ✅ lint-monorepo (sherif) nyní prochází bez chyb

🔧 Opravy

  • Opravena konzistence verzí React/React-DOM napříč workspace (19.2.4 místo ^19.2.3)
    • Apps a packages používaly 19.2.4
    • Examples nyní také používají 19.2.4
Original prompt

This section details on the original issue you should resolve

<issue_title>Sync upstream/common-v8 (new commits)</issue_title>
<issue_description>Tracking issue for merging 15 upstream commits from common-v8 to sync/merge-upstream-03-02-26.

Commits include Refactoring Console, AsyncDisposableStack rename, Browser Task runner implementation, and more.

Plan:

  1. Merge upstream/common-v8
  2. Resolve conflicts (Task.ts, pnpm-lock -> bun.lockb)
  3. Implement browser specific createRunner
  4. Verify using bun verify</issue_description>

<agent_instructions>Vytvoř PR branche sync/merge-upstream-03-02-26 do sync/bun-migration</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated internal dependency resolution across example projects to use workspace-based linking for improved monorepo consistency.
    • Adjusted React and React DOM version specifications to allow compatible patch and minor version updates.
    • Reorganized test infrastructure and naming conventions to enhance maintainability and clarity.

steida and others added 5 commits February 3, 2026 16:07
Adapted from upstream e57edbe to use workspace:* for @evolu/* packages.
Used explicit React versions (^19.2.3) instead of catalog:react19 since Bun doesn't support pnpm catalogs.
Skipped pnpm-lock.yaml as we use bun.lockb.
Co-authored-by: miccy <9729864+miccy@users.noreply.github.com>
Co-authored-by: miccy <9729864+miccy@users.noreply.github.com>
@miccy miccy marked this pull request as ready for review February 3, 2026 16:19
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 3, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

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

  • ✅ Full review completed - (🔄 Check again to review again)

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

Copilot AI changed the title [WIP] Sync upstream/common-v8 with new commits Sync 3 upstream commits from common-v8: workspace deps, export reordering, test mocking Feb 3, 2026
Copilot AI requested a review from miccy February 3, 2026 16:20
@miccy
Copy link
Copy Markdown
Contributor

miccy commented Feb 3, 2026

@copilot Fixni poslední failing CI

Copy link
Copy Markdown
Contributor

@miccy miccy left a comment

Choose a reason for hiding this comment

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

@copilot srovnej verze React

@miccy miccy self-requested a review February 3, 2026 16:24
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/web/test/Task.test.ts (1)

78-88: ⚠️ Potential issue | 🟡 Minor

Remove non‑null assertion on addedListeners.get("unhandledrejection").
Same lint violation; assert presence and narrow before invocation.

🔧 Suggested fix
-      const handler = addedListeners.get("unhandledrejection")!;
-      handler(
+      const handler = addedListeners.get("unhandledrejection");
+      expect(handler).toBeDefined();
+      handler?.(
         new PromiseRejectionEvent("unhandledrejection", {
           promise: Promise.resolve(),
           reason: new Error("test rejection"),
         }),
       );
🤖 Fix all issues with AI agents
In `@packages/web/test/Task.test.ts`:
- Around line 61-67: The test currently uses a non-null assertion on
addedListeners.get("error") — replace the `!` with an explicit
runtime/type-narrowing assertion: retrieve the value into `handler`, assert it
is defined (e.g., `if (!handler) throw new Error("error handler not
registered")` or an `expect(handler).toBeDefined()`), then call `handler(new
ErrorEvent(...))`; update references to `addedListeners.get("error")` and the
`handler` variable in the "error handler logs ErrorEvent" test to remove the `!`
and perform the explicit check before invoking.

Comment on lines +61 to 67
test("error handler logs ErrorEvent", async () => {
const console = testCreateConsole();
await using _run = createRunner({ console });

globalThis.dispatchEvent(
new ErrorEvent("error", { error: new Error("test error") }),
);
const handler = addedListeners.get("error")!;
handler(new ErrorEvent("error", { error: new Error("test error") }));

Copy link
Copy Markdown

@coderabbitai coderabbitai bot Feb 3, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Remove non‑null assertion on addedListeners.get("error").
Lint flags ! here; use an explicit assertion to narrow the type before calling the handler.

🔧 Suggested fix
-      const handler = addedListeners.get("error")!;
-      handler(new ErrorEvent("error", { error: new Error("test error") }));
+      const handler = addedListeners.get("error");
+      expect(handler).toBeDefined();
+      handler?.(new ErrorEvent("error", { error: new Error("test error") }));
🧰 Tools
🪛 GitHub Actions: CI

[warning] 65-65: lint/style/noNonNullAssertion: Forbidden non-null assertion. Consider avoiding the '!' postfix operator.

🤖 Prompt for AI Agents
In `@packages/web/test/Task.test.ts` around lines 61 - 67, The test currently uses
a non-null assertion on addedListeners.get("error") — replace the `!` with an
explicit runtime/type-narrowing assertion: retrieve the value into `handler`,
assert it is defined (e.g., `if (!handler) throw new Error("error handler not
registered")` or an `expect(handler).toBeDefined()`), then call `handler(new
ErrorEvent(...))`; update references to `addedListeners.get("error")` and the
`handler` variable in the "error handler logs ErrorEvent" test to remove the `!`
and perform the explicit check before invoking.

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.

@copilot Podívej se jestli je to validní a případně fixni

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Co-authored-by: miccy <9729864+miccy@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Feb 3, 2026

@copilot Fixni poslední failing CI

Opraveno v e152504. CI selhávalo kvůli nekonzistentním verzím React (19.2.4 vs ^19.2.3) - sherif lint detekoval více verzí v workspace. Všechny examples nyní používají stejnou verzi 19.2.4 jako apps a packages.

Copy link
Copy Markdown
Author

Copilot AI commented Feb 3, 2026

@copilot srovnej verze React

Všechny React verze jsou již srovnány na 19.2.4 napříč celým workspace:

  • Apps (web): 19.2.4
  • Packages (react, react-web, react-native): 19.2.4
  • Examples (všechny): 19.2.4

Upstream používá catalog:react19^19.2.3, ale naše repo již mělo 19.2.4 před cherry-pickem, takže jsem tuto verzi zachoval pro konzistenci.

Mám změnit na jinou verzi? Nebo potřebuješ jiný typ srovnání?

@miccy miccy merged commit 21ddda9 into sync/merge-upstream-03-02-26 Feb 3, 2026
2 checks passed
@miccy miccy deleted the copilot/sync-merge-upstream-03-02-26 branch February 3, 2026 16:35
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.

3 participants