This PR fixes an issue in the compressor in which the normalizer was
unaware of the creation of unallocated final IDs (via cluster
creation/expansion) and thus incorrectly allocated duplicate eager final
IDs. This scenario occurs when range finalizing is slow (e.g. high
latency network) and results in duplicate IDs being handed to the user
of SharedTree.
This PR will be followed by another that makes the same changes in the
non-experimental compressor.
This PR was pulled out of #13554.
Adds missing dependencies for a bunch of packages. These missing
dependencies were found while switching to pnpm, which is much stricter
in its dependency behavior.
Package uses `build-common` for its api-extractor config, and extends
`eslint-config-fluid` in its eslint config. Since these deps were not
used in code, their being missing was not detected by our tooling.
## Main-next integrate PR
The aim of this pull request is to sync main and next branch. The expectation from the assignee is as follows:
> - Acknowledge the pull request by adding a comment -- "Actively working on it".
> - Resolve any merge conflicts between this branch and next (and push the resolution to this branch). Merge next into this branch if needed. **Do NOT rebase or squash this branch: its history must be preserved**.
> - Ensure CI is passing for this PR, fixing any issues. Please don't look into resolving **Real service e2e test** and **Stress test** failures as they are **non-required** CI failures.
> - Once the PR is ready for merge, please add a comment @mentioning the reviewers to get this PR merged in. Thank you!!
For more information about how to resolve merge conflicts and CI failures, visit [this wiki page]
(https://github.com/microsoft/FluidFramework/wiki/Main-next-Automation).
## Main-next integrate PR
The aim of this pull request is to sync main and next branch. The expectation from the assignee is as follows:
> - Acknowledge the pull request by adding a comment -- "Actively working on it".
> - Resolve any merge conflicts between this branch and next (and push the resolution to this branch). Merge next into this branch if needed. **Do NOT rebase or squash this branch: its history must be preserved**.
> - Ensure CI is passing for this PR, fixing any issues. Please don't look into resolving **Real service e2e test** and **Stress test** failures as they are **non-required** CI failures.
> - Once the PR is ready for merge, please add a comment @mentioning the reviewers to get this PR merged in. Thank you!!
For more information about how to resolve merge conflicts and CI failures, visit [this wiki page]
(https://github.com/microsoft/FluidFramework/wiki/Main-next-Automation).
Note: `@fluidframework/eslint-config-fluid`'s default export was updated
from `minimal` to `recommended`.
i.e...
- A config `extends` change from "@fluidframework/eslint-config-fluid"
to "@fluidframework/eslint-config-fluid/minimal" indicates no config
variant change (it continues to extend "minimal" as it did before).
- No config `extends` change indicates that the package's config was
promoted from "minimal" to "recommended".
Strategy taken:
- If packages satisfy `recommended` config (new default), let them
passively upgrade base config.
- If violations against `recommended` in a package are fairly minimal,
clean them up and let them passively upgrade base config.
- Otherwise, explicitly use `minimal` config (previous default).
This PR also...
- removes now-unneeded rule overrides in package-local configs.
- cleans up a number of unneeded eslint-disable directives across the
codebase.
- Primarily removes `max-len` disables, as that rule is now globally
removed in favor of prettier.
### Packages upgraded from `minimal` to `recommended`
- packages/common/driver-definitions
- packages/dds/counter
- packages/dds/test-dds-utils
- packages/drivers/odsp-urlResolver
- packages/framework/tinylicious-driver
- packages/framework/oldest-client-observer
- packages/framework/test-client-utils
- packages/framework/view-adapters
- packages/framework/view-interfaces
- packages/runtime/container-runtime-definitions
- packages/test/test-driver-definitions
- packages/test/test-gc-sweep-tests
- examples/data-objects/canvas
- examples/data-objects/monaco
- examples/data-objects/multiview/constellation-model
- examples/data-objects/multiview/coordinate-model
- examples/data-objects/multiview/plot-coordinate-view
- examples/data-objects/multiview/slider-coordinate-view
- examples/data-objects/multiview/triangle-view
- experimental/examples/bubblebench/baseline
- experimental/examples/bubblebench/common
- experimental/framework/get-container
- experimental/framework/last-edited
- experimental/PropertyDDS/examples/schema
## Main-next integrate PR
The aim of this pull request is to sync main and next branch. The expectation from the assignee is as follows:
> - Acknowledge the pull request by adding a comment -- "Actively working on it".
> - Resolve any merge conflicts between this branch and next (and push the resolution to this branch). Merge next into this branch if needed. **Do NOT rebase or squash this branch: its history must be preserved**.
> - Ensure CI is passing for this PR, fixing any issues. Please don't look into resolving **Real service e2e test** and **Stress test** failures as they are **non-required** CI failures.
> - Once the PR is ready for merge, please add a comment @mentioning the reviewers to get this PR merged in. Thank you!!
For more information about how to resolve merge conflicts and CI failures, visit [this wiki page]
(https://github.com/microsoft/FluidFramework/wiki/Main-next-Automation).
## Main-next integrate PR
The aim of this pull request is to sync main and next branch. The expectation from the assignee is as follows:
> - Acknowledge the pull request by adding a comment -- "Actively working on it".
> - Resolve any merge conflicts between this branch and next (and push the resolution to this branch). Merge next into this branch if needed. **Do NOT rebase or squash this branch: its history must be preserved**.
> - Ensure CI is passing for this PR, fixing any issues. Please don't look into resolving **Real service e2e test** and **Stress test** failures as they are **non-required** CI failures.
> - Once the PR is ready for merge, please add a comment @mentioning the reviewers to get this PR merged in. Thank you!!
For more information about how to resolve merge conflicts and CI failures, visit [this wiki page]
(https://github.com/microsoft/FluidFramework/wiki/Main-next-Automation).
This improves the performance of the setValues operation, because we no longer update every entry in the array separately, but directly update the whole range.
#### Description
https://dev.azure.com/fluidframework/internal/_workitems/edit/1168/
#### Related PRs
- https://github.com/microsoft/FluidFramework/pull/13221
- https://github.com/microsoft/FluidFramework/pull/13151
- https://github.com/microsoft/FluidFramework/pull/13149
#### Objective
As there exists a vulnerability in `async:3.2.0`, this PR attempts to
update experimental 's `async` from `3.2.x` to `3.2.2` (as recommended
in the ADO).
However, updating the version causes errors in
`experimental/PropertyDDS/packages/property-query`.
The errors are raised from `branch_write_queue.spec.js` and messages are
as following:
- `should resolve the promise with success for all`
- `should check the branch state for the head only once`
- `should create each commit`
- `should have created the commits in the right order`
- `should resolve the first commit, reject the second one`
The test passes at `async:3.3.0` and starts failing from `3.2.1`. This
is quite odd considering that patch fixes minor problems and should not
have any breaking changes ([async/CHANGELOG.md at master · caolan/async
(github.com)](https://github.com/caolan/async/blob/master/CHANGELOG.md))
As the failure is not currently used in production, this PR will discard
the tests in `branch_write_queue.spec.js` and let the update in `async`
version to pass. Afterwards, we would contact the Autodesk for their
feedback.
Adds an additional check to abort `revert` early. No corresponding
regression test is added because this issue was found through
manipulation of the code that isn't present in main. This improvement
will handle issues not already caught by the existing specific
malformed/invalid checks.
Co-authored-by: Noah Encke <78610362+noencke@users.noreply.github.com>
I manually updated the npm scripts to call flub with the correct
arguments etc. Relevant changes:
- Uses the `--pin` argument to pin the version in package.json to the
maximum matching released version. This should help with the lockfile
issues we have discovered.
- All generated files now include `.generated` in their name and old
files were deleted. This was detected as a rename by git.
See #12849 or `typetestDetails.md` for documentation on semantics of
these changes.
Then I did the following steps to configure the baselines and generate
tests.
1. `npm run typetests:prepare -- -b main --reset` - this reset all type
test overrides and set the baseline versions according to the main
branch config. For the client release group this is `~previousMinor`,
which corresponds to version 2.0.0-internal.2.1.0.
2. `npm i` - installed new versions of packages.
3. `npm run typetests:gen -- -b main` - this regenerated the typetests.
4. Ran a build and added back broken test overrides as needed.
5. Disabled tests in some packages like PropertyDDS.
I also did roughly the same steps for the independent packages.
## Main-next integrate PR
The aim of this pull request is to sync main and next branch. The expectation from the assignee is as follows:
> - Acknowledge the pull request by adding a comment -- "Actively working on it".
> - Resolve any merge conflicts between this branch and next (and push the resolution to this branch). Merge next into this branch if needed. **Do NOT rebase or squash this branch: its history must be preserved**.
> - Ensure CI is passing for this PR, fixing any issues. Please don't look into resolving **Real service e2e test** and **Stress test** failures as they are **non-required** CI failures.
> - Once the PR is ready for merge, please add a comment @mentioning the reviewers to get this PR merged in. Thank you!!
For more information about how to resolve merge conflicts and CI failures, visit [this wiki page]
(https://github.com/microsoft/FluidFramework/wiki/Main-next-Automation).