diff --git a/.github/workflows/inactive-issues.yml b/.github/workflows/inactive-issues.yml index 620b484db6..f28c24f6e7 100644 --- a/.github/workflows/inactive-issues.yml +++ b/.github/workflows/inactive-issues.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v3 - name: Manage inactive issues - uses: actions/github-script@v8 + uses: actions/github-script@v9 with: script: | const script = require('./.github/scripts/inactive-issues.js') diff --git a/.github/workflows/test-tools.yml b/.github/workflows/test-tools.yml index ceab4b1ef5..4933199315 100644 --- a/.github/workflows/test-tools.yml +++ b/.github/workflows/test-tools.yml @@ -137,7 +137,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-isolated-tests path: ./tmp/results @@ -203,7 +203,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-0 path: ./tmp/results @@ -268,7 +268,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-1 path: ./tmp/results @@ -341,7 +341,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-2 path: ./tmp/results @@ -406,7 +406,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-3 path: ./tmp/results @@ -471,7 +471,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-4 path: ./tmp/results @@ -537,7 +537,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-5 path: ./tmp/results @@ -602,7 +602,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-6 path: ./tmp/results @@ -667,7 +667,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-7 path: ./tmp/results @@ -732,7 +732,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-8 path: ./tmp/results @@ -797,7 +797,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-9 path: ./tmp/results @@ -862,7 +862,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-10 path: ./tmp/results @@ -927,7 +927,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: junit-group-11 path: ./tmp/results diff --git a/packages/mongo/tests/mongo_livedata_tests.js b/packages/mongo/tests/mongo_livedata_tests.js index f3e32106a5..e155f2a053 100644 --- a/packages/mongo/tests/mongo_livedata_tests.js +++ b/packages/mongo/tests/mongo_livedata_tests.js @@ -4545,17 +4545,24 @@ Meteor.isServer && testAsyncMulti( { resolverType: 'stub' } ); - let insertId; - await Collection.find({}).observeChangesAsync({ + let observerInsertId; + let resolveObserver; + const observerFired = new Promise((resolve) => { resolveObserver = resolve; }); + + const handle = await Collection.find({}).observeChangesAsync({ async added(_id, fields) { - insertId = _id; + observerInsertId = _id; + resolveObserver(); throw new Error('Test error in async added observeChangesAsync'); }, }); - return Collection.insertAsync({ foo: { bar: 123 } }).finally((id, bad) => { - test.equal(insertId, id); - }) + // insertAsync resolves normally — observer errors are caught and logged, + // not propagated back to the caller (see observe_multiplex `_applyCallback`). + const id = await Collection.insertAsync({ foo: { bar: 123 } }); + await observerFired; + test.equal(observerInsertId, id); + await handle.stop(); }, async (test) => { @@ -4564,17 +4571,22 @@ Meteor.isServer && testAsyncMulti( { resolverType: 'stub' } ); - let insertId; - await Collection.find({}).observeChangesAsync({ + let observerInsertId; + let resolveObserver; + const observerFired = new Promise((resolve) => { resolveObserver = resolve; }); + + const handle = await Collection.find({}).observeChangesAsync({ added(id) { - insertId = _id; + observerInsertId = id; + resolveObserver(); throw new Error('Test error in sync added observeChangesAsync'); }, }); - return Collection.insertAsync({ foo: { bar: 123 } }).finally((id, bad) => { - test.equal(insertId, id); - }) + const id = await Collection.insertAsync({ foo: { bar: 123 } }); + await observerFired; + test.equal(observerInsertId, id); + await handle.stop(); } ] );