Commit Graph

15120 Commits

Author SHA1 Message Date
italo jose
a71112ac05 Meteor version to release-3.5-beta.2 ☄️ 2026-02-11 20:10:18 -03:00
italo jose
f1fa95dfa6 Meteor version to 3.5-beta.1 ☄️ 2026-02-11 18:32:59 -03:00
italo jose
699e81976f Meteor version to 3.5-beta.0 ☄️ 2026-02-11 17:44:45 -03:00
italo jose
ff63ebe111 release: prepare v3.5.0-beta
- bump bundle and installer: meteor BUNDLE_VERSION -> 22.22.0.4, meteor-installer -> 3.5.0-beta
- bump package versions: accounts-base, ddp-server, mongo, mongo-decimal, oauth1, service-configuration, session
- update package references (.versions) and modern-tests apps to use new ddp-server/mongo versions
- mark packages/non-core/blaze subproject as dirty
- add v3.5.0 changelog (v3-docs)
2026-02-11 14:34:08 -03:00
italo jose
f25c1fd6d4 ddp-server: don't throw on changes/removes for already-removed docs in SessionCollectionView; mongo: import EJSON in ObserveMultiplexer
Replace thrown errors in SessionCollectionView.changed and .removed with early returns and explanatory comments to tolerate high-concurrency races where the cache is updated synchronously but callbacks are processed asynchronously.

Add missing EJSON import to observe_multiplex.ts so EJSON usage (cloning/argument handling) is available.
2026-02-09 14:29:25 -03:00
Italo José
d4f63c3006 Merge branch 'devel' into release-3.5 2026-02-04 18:58:28 -03:00
italo jose
79ed73ebb8 mongo: apply cache changes synchronously in ObserveMultiplexer; remove redundant cache write from ChangeStreamObserveDriver
Ensure ObserveMultiplexer updates its LocalCollection cache synchronously before scheduling async notifications to handlers to avoid races (e.g. an update arriving before the insert is recorded). Remove the manual cache set in ChangeStreamObserveDriver._handleUpdate since the multiplexer now guarantees synchronous cache updates.
2026-02-04 14:31:46 -03:00
italo jose
bf3a3bc125 mongo: fall back to polling when no reactivity driver selected; tests(changestream): refactor and expand ChangeStreamObserveDriver tests
- mongo_connection.js: ensure a polling driver fallback and log a debug message when no driverClass is returned from _selectReactivityDriver.
- tests/changestream_observe_driver_tests.js: complete rewrite and modernization of tests:
  - Replace old server/admin version checks with a simple driver-detection helper.
  - Convert tests to async, add helpers (makeCollection, waitFor, getPromiseAndResolver).
  - Remove brittle isMaster/version logic and server-only gating.
  - Add/clarify numerous tests covering detection, CRUD, projections, selectors, multiple observers, fence sync, pending writes, ordering, error recovery, stop/cleanup, matcher edge cases, and internal driver behaviors.
  - Improve assertions and stability (timeouts, waits) and simplify teardown.
2026-02-04 11:14:55 -03:00
Italo José
df11f8c305 Merge branch 'release-3.5' into feat/change-streams 2026-02-03 15:16:48 -03:00
Nacho Codoñer
fd752c0045 Meteor version to 3.4 ☄️ 2026-01-28 16:36:30 +01:00
Nacho Codoñer
a9e12ef7a4 Meteor version to 3.4-rc.4 2026-01-28 12:21:53 +01:00
Nacho Codoñer
0a532e8d92 upgrade @meteorjs/rspack to official version 1.0.0 2026-01-28 11:58:41 +01:00
Nacho Codoñer
121094dd36 Meteor version to 3.4-rc.3 ☄️ 2026-01-09 14:10:26 +01:00
Nacho Codoñer
b98e0d758c add warning for potential issues with lazyCompilation 2026-01-09 11:38:45 +01:00
Nacho Codoñer
2101b12b6f update Rspack dependencies to version 1.7.1 2026-01-08 12:37:09 +01:00
Nacho Codoñer
e977168b68 added a lazy compilation configuration to disable it due to Meteor's compatibility constraints 2026-01-08 12:32:17 +01:00
Nacho Codoñer
9a8a7e4852 Meteor version to 3.4-rc.2 ☄️ 2025-12-17 14:52:34 +01:00
Nacho Codoñer
79c91e687c add validation for Meteor entry points in Rspack plugin 2025-12-16 16:33:40 +01:00
Nacho Codoñer
e3b75eed1f update @meteorjs/rspack to version 0.3.54 across packages 2025-12-16 15:22:37 +01:00
Nacho Codoñer
93cecd3e47 upgrade @meteorjs/rspack to version 0.3.53 2025-12-16 15:09:30 +01:00
Nacho Codoñer
db47a0a181 ensure output.publicPath can be overriden 2025-12-15 19:47:59 +01:00
Nacho Codoñer
8e8364dca6 support assets automatic resolution to public folder and test coverage several scenarios 2025-12-15 17:22:24 +01:00
italo jose
cfbeba8147 mongo: remove commented collection pre/post-images setup in ChangeStreamObserveDriver; docs: remove Performance Notes and clarify waitUntilCaughtUp timeout behavior 2025-12-12 11:30:57 -03:00
italo jose
b08fecbf20 mongo: validate and refactor reactivity driver selection
- Introduce availableDrivers and DEFAULT_REACTIVITY_ORDER (uses 'polling').
- Validate Meteor.settings.packages.mongo.reactivity if provided.
- Add _getConfiguredReactivityOrder to normalize/validate configured order.
- Extract _selectReactivityDriver to centralize async availability checks and selection.
- Simplify driverChecks and remove duplicated selection logic in _observeChanges.
- Use this consistently (instead of self) and fix multiplexer onStop closure.
- Ensure observe driver receives correct mongoHandle and store multiplexers on this.
- Add JSDoc for compareOperationTimes in mongo_common.js.
2025-12-11 17:28:25 -03:00
Nacho Codoñer
d68160c553 Merge branch 'devel' into release-3.4 2025-12-09 16:10:33 +01:00
italo jose
992d69d040 minimongo: clarify comment about cloning cached doc in _observeFromObserveChanges; travis: remove trailing blank line in .travis.yml 2025-12-02 18:08:55 -03:00
Sankalp Tripathi
b7ae160464 docs: clarify forbidClientAccountCreation requires client+server config (#13961)
- Add clear warning that forbidClientAccountCreation must be set on both client and server
- Include practical example showing shared config file approach
- Fixes issue where UI still shows 'Create account' link when only set on server

Fixes #13922

Co-authored-by: Italo José <italo.i@live.com>
2025-12-02 14:43:41 -03:00
italo jose
3d0964f085 mongo: use actual cached doc for removed callback and preserve id type in removal
Pass the stored document directly to the observeChanges `removed` callback
instead of creating a synthetic `{_id: id}` fallback. Also stop coercing
the id to a string when awaiting `query.removed` in `_removeFromResultsAsync`
so the original id type is preserved.
2025-12-02 10:06:57 -03:00
italo jose
c501daf7e9 mongo: update multiplexer cache on change events; remove artificial test sleep
Update ChangeStreamObserveDriver to write the new document into the multiplexer
cache when emitting a 'changed' event so the cache remains in sync with change
stream updates. Also remove a 100ms test sleep from observe_changes_tests (was
used to wait for cache updates) since change streams now update faster.
2025-12-01 19:27:00 -03:00
italo jose
84f0606200 mongo: inline and cache Change Stream support checks; remove helper
- Remove MongoConnection._checkChangeStreamSupport and inline the server capability
  checks into the changeStreams driver availability probe.
- Lazily compute and cache self._supportsChangeStreams and
  self._changeStreamServerReasons so the server check is only run once and
  readable reasons are preserved.
- Return early with a clear unavailable reason when change streams aren't
  supported or when ordered/_testOnlyPollCallback constraints apply.
- Improve handling of selector matcher errors by returning an unavailable reason
  instead of pushing to a shared reasons array.
- Update tests to use the new cached support fields instead of calling the
  removed helper.
2025-12-01 18:49:54 -03:00
italo jose
e5a6a4203e mongo: remove ordered enforcement from ChangeStreamObserveDriver; revert reactivity order; update tests; add travis.yml
- Remove storing and runtime check of options.ordered in ChangeStreamObserveDriver (no longer enforce ordered observeChanges).
- Revert DEFAULT_REACTIVITY_ORDER to ['oplog','changeStreams','pooling'] so oplog remains the default unless overridden by METEOR_REACTIVITY_ORDER.
- Replace legacy testingOplog flag with IS_OPLOG (derived from METEOR_REACTIVITY_ORDER) and gate oplog tests accordingly across tests (mongo_livedata_tests, oplog_tests).
- Small test comment/todo in observe_changes_tests to note changeStream vs oplog timing.
- Add travis.yml CI config file.
2025-12-01 18:31:12 -03:00
italo jose
e40de81b32 mongo: fix cachedDoc access in ChangeStreamObserveDriver; add test delay to avoid flake
Use direct Map.get(id) to retrieve cached docs (avoid optional-chaining call)
and add a short Meteor._sleepForMs(100) in the unordered basics test to allow
the changeStream-driven multiplexer cache to settle and prevent timing races.
2025-12-01 11:55:15 -03:00
Gabriel Grubba
e12e82ed43 Merge pull request #14029 from meteor/feature/add-deferrable-functions-to-meteor.d.ts
FEATURE: Add deferrable functions to meteor.d.ts
2025-11-28 17:49:37 -03:00
italo jose
68acd95653 mongo: comment out automatic collection creation and collMod that enabled changeStreamPreAndPostImages in ChangeStreamObserveDriver 2025-11-28 14:52:08 -03:00
italo jose
cb5f864b87 chore: use matrix METEOR_REACTIVITY_ORDER in CI; remove Travis; misc mongo/minimongo/id/test fixes
- CI: set METEOR_REACTIVITY_ORDER from the test-packages job matrix
- CI: remove legacy .travis.yml
- mongo: silence debug log when selecting reactivity driver
- mongo-id: tighten idStringify to reject non-ObjectID objects (remove fallback to toHexString/toString)
- minimongo: minor whitespace cleanup in _removeFromResultsSync
- tests: fix observe_changes race by registering expected callbacks before inserting document
2025-11-28 14:00:44 -03:00
Gabriel Grubba
4ee0fdd206 FEATURE: Add deferrable functions to meteor.d.ts 2025-11-28 10:57:22 -03:00
italo jose
831b3a3f26 chore: add METEOR_REACTIVITY_ORDER to test workflow; fix removed id handling; minor docs & whitespace tidy
- Add workflow name/ENV and set METEOR_REACTIVITY_ORDER in .github/workflows/test-packages.yml
- LocalCollection: pass native id to query.removed (remove String coercion)
- Update app docs example BackgroundColor to use 0x-prefixed value
- Trim stray trailing whitespace/blank lines and remove extra space in ddp-rate-limiter test
2025-11-27 17:08:13 -03:00
Nacho Codoñer
c1e7ea252f Meteor version to 3.4-rc.1 ☄️ 2025-11-27 17:23:18 +01:00
Nacho Codoñer
881d6ac4d3 Meteor version to 3.4-rc.0 ☄️ 2025-11-27 15:37:44 +01:00
Italo José
48301e6056 Ci/removing travis (#14026)
* Add travis-compat GitHub Actions workflow to run Travis parity tests

- Add .github/workflows/travis-compat.yml
- Trigger on push to ci/removing-travis
- Runs on ubuntu-22.04 with Node 22.17 and C++ toolchain g++-12
- Restores caches (.npm, .meteor, .babel-cache, dev_bundle, chromium), installs system/npm deps and runs packages/test-in-console/run.sh

* Install Puppeteer in test-packages workflow, add jquery to test-in-console, and export METEOR_NO_DEPRECATION earlier in run.sh

* Detect writable group dynamically in webapp socket tests and skip when none found

Add getGroupNameForGid and getWritableGroupName helpers to resolve a writable
group from /etc/group, the current user's gid/groups, or fallbacks (TRAVIS/staff/root).
Use the resolved group for UNIX_SOCKET_GROUP in socket_file_tests and skip the
group-specific test when no writable group can be determined.

* Update app.md

Fix example value for a preference

* Rename workflow job, remove Puppeteer install, add TINYTEST_FILTER, and add email debug logs

- Rename GitHub Actions job travis-compat -> test-packages
- Add TINYTEST_FILTER="email" to test-packages workflow env
- Remove global Puppeteer install step and drop "Travis parity" label from run step
- Add console.log debug output in Email.sendAsync to show MAIL_URL env, settings, and Meteor.isProduction before the production check

* Remove console.log debug output and include MAIL_URL, settings, and production flag in missing-mail error message

* Unquote TINYTEST_FILTER value and add NODE_ENV: CI to test-packages workflow

* Remove MAIL_URL, settings and production flag from missing-mail error message

Previously the thrown error included the MAIL_URL environment value, package
settings JSON, and Meteor.isProduction flag. That could leak sensitive
configuration into logs. Replace it with the original concise guidance and
link to the docs.

* Remove TINYTEST_FILTER from test-packages workflow

* Disable ambiguous error messages in password tests (#14027)

Set Accounts._options.ambiguousErrorMessages = false in password_tests.js
so tests receive specific, deterministic error reasons instead of ambiguous
messages.

---------

Co-authored-by: imongithubnow <76787178+imongithubnow@users.noreply.github.com>
Co-authored-by: Nacho Codoñer <igcogi@gmail.com>
2025-11-27 10:38:16 -03:00
Nacho Codoñer
2a09d6c8cd refactor dependency installation to separate dev and regular deps 2025-11-27 14:04:36 +01:00
Nacho Codoñer
199885e459 Update @meteorjs/swc-core to version 1.15.3 2025-11-27 13:53:42 +01:00
Nacho Codoñer
04397b4801 update @meteorjs/rspack to version 0.2.54 2025-11-26 14:51:25 +01:00
Nacho Codoñer
ad864ba003 upgrade @meteorjs/rspack to version 0.2.53 2025-11-26 12:54:25 +01:00
Nacho Codoñer
dd4696eb49 update @meteorjs/rspack to version 0.2.52 2025-11-26 11:02:53 +01:00
Nacho Codoñer
2916599691 update DEFAULT_RSPACK_VERSION to 1.6.5 2025-11-26 10:14:00 +01:00
Nacho Codoñer
8cc49d49b5 upgrade @meteorjs/rspack to version 0.2.51 2025-11-26 10:05:37 +01:00
Nacho Codoñer
9da2575cd3 add missing closing brace in TypeScript definition file 2025-11-25 14:59:22 +01:00
italo jose
662f1ea439 ddp-rate-limiter: simplify createTestUser; call Accounts.createUser directly and remove conditional logout/doCreate 2025-11-24 15:22:53 -03:00
Italo José
acd1dcc4a3 Merge branch 'devel' into feat/change-streams 2025-11-24 15:06:43 -03:00