Skip to content

Upgrade app to Meteor 3.5.3 and move app/ingest to Node 24 - #213

Merged
herchu merged 2 commits into
mainfrom
b-herchu/meteor-3.5
Oct 23, 2026
Merged

herchu merged 2 commits into
mainfrom
b-herchu/meteor-3.5

Conversation

@herchu

@herchu herchu commented Oct 23, 2026

Copy link
Copy Markdown
Member

Summary

  • Meteor 3.4 → 3.5.3 (latest stable). 37 Atmosphere package bumps, notably mongo 2.5.1, webapp 2.3.0, ddp 3.4.1, rspack 1.3.0, plus the npm packages rspack 1.3.0 requires (@meteorjs/rspack 2.2.0, @rsdoctor/rspack-plugin 1.5.7, meteor-node-stubs 1.2.30).
  • Change streams are now the default observe driver, so most publications use them instead of oplog tailing. Requires MongoDB 6+ in a replica set; otherwise Meteor falls back to oplog, then polling.
  • Fix for the robots_with_status publication. It observes a MongoDB view and relied on disableOplog to force polling. Meteor 3.5 ignores that flag when selecting change streams, and MongoDB rejects watch() on a view (CommandNotSupportedOnView), so initial docs arrived but live updates never did and the server looped on the error. The cursor now uses an ordered observe, which only the polling driver serves. Side effect: fixes a pre-existing quirk where a robot crossing the status filter sent changed for a doc the client never received.
  • Node 24 for both services, matching what Meteor 3.5 bundles: app and ingest Dockerfiles, ingest CI via setup-node reading the new root .nvmrc, and docs.

Verification

  • App mocha suite on 3.5.3: 376 passing, 14 pending, 0 failing.
  • Live-update regression reproduced over DDP before the fix and confirmed fixed after it; no change-stream errors in the server log.
  • Ingest unit tests on Node 24: 245 passing, 7 pending.
  • scripts/build-app-image.sh + scripts/smoke-test-app-image.sh pass; scripts/build-ingest-image.sh builds. Both images report Node 24.22.1.
  • Manual testing against a local stack with the flatland sim and ROS2 agent.

Notes for reviewers

  • Google sign-in: google-oauth 1.5.0 no longer falls back to client-supplied email/picture. The login page already requests the email and profile scopes, so no change needed.
  • Worth reporting upstream that the change-stream driver should honor disableOplog.
  • meteor update added two rspack build-context lines to app/.gitignore.

🤖 Generated with Claude Code

Meteor 3.4 -> 3.5.3: 37 Atmosphere package bumps (mongo 2.5.1, webapp 2.3.0,
ddp 3.4.1, rspack 1.3.0) plus the npm packages rspack 1.3.0 requires
(@meteorjs/rspack 2.2.0, @rsdoctor/rspack-plugin 1.5.7, meteor-node-stubs
1.2.30).

Meteor 3.5 enables the change-stream observe driver by default. It ignores
`disableOplog`, and MongoDB rejects change streams on views
(CommandNotSupportedOnView), so the robots_with_status publication, which
observes a view, lost live updates and looped on the error. Switch that one
cursor to an ordered observe, which only the polling driver serves. This
also fixes a pre-existing quirk where a robot crossing the status filter
sent `changed` for a doc the client never received.

Node: Meteor 3.5 bundles Node 24, so the app image moves to node:24. Ingest
follows to keep both services on the same runtime: Dockerfile, CI
(setup-node from the new root .nvmrc), and docs.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@herchu
herchu requested a review from a team as a code owner October 23, 2026 17:44

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

Claude Code Review is paused for this repository because its GitHub organization is not linked to your Claude organization.

To turn it back on, one person needs both roles: owner of the GitHub organization (or the account owner, for a personal repository) and admin or owner of your Claude organization. If that is not you, pass this on to someone who is.

Open Organization settings, Git providers and click Link next to the GitHub organization's name. If it is not listed, click Enable GitHub integration or Connect your GitHub first, whichever the page shows.

New pull requests are then reviewed as before. To get a review on one that is already open, someone with write access can comment @claude review.

Tip: disable this comment in your organization's Code Review settings.

@netlify

netlify Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for ornate-croquembouche-cc5482 ready!

Name Link
🔨 Latest commit d8d2274
🔍 Latest deploy log https://app.netlify.com/projects/ornate-croquembouche-cc5482/deploys/6adb9d844056be6fc66306ce
😎 Deploy Preview https://deploy-preview-213--ornate-croquembouche-cc5482.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@herchu
herchu merged commit 13e09a3 into main Oct 23, 2026
7 checks passed
@herchu herchu mentioned this pull request Oct 23, 2026
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.

1 participant