Граф коммитов

21396 Коммитов

Автор SHA1 Сообщение Дата
Alex Villarreal 760afc7686
refactor(local-server-tests): Clean-up dependencies (#22984)
## Description

This is a private package that only runs some tests. It has no need of
production dependencies, so this PR does two things:
- Move all its dependencies to `devDependencies`
- Removes several dependencies that were not used
2024-11-06 17:14:12 +00:00
Scarlett Lee 00062eb189
Disable stashed ops tests (#23000)
Disable these tests against the services where they always fail. This
exercises an experimental feature that is not fully supported yet.
2024-11-06 02:41:35 +00:00
Joshua Smithrud c6453cb3c6
Update sample screenshots for devtools extension browser store pages (#22985)
Leverages newer dice roller sample and most up-to-date devtools visuals
2024-11-05 16:55:07 -08:00
Michael Zhen a909e19cbd
(ci): update pattern matching in perch benchmark install (#22995)
Current pattern ?.?.? doesn't support multi digit versions. Bump to
client 2.10.0 has caused the "Install package with perf tests" step to
be failing in the pipeline.
2024-11-05 16:48:28 -08:00
yann-achard-MS e3ae396007
doc(tree): move merge semantics doc to user-facing folder (#22988)
## Description

Moves the merge semantics doc to user-facing folder.
2024-11-05 16:03:43 -08:00
Tony Murphy 2aa0b5e794
MergeTree `Client` Legacy API Removed (#22697)
The `Client` class in the merge-tree package has been removed.
Additionally, types that directly or indirectly expose the merge-tree
`Client` class have also been removed.

The removed types were not meant to be used directly, and direct usage
was not supported:

- AttributionPolicy
- IClientEvents
- IMergeTreeAttributionOptions
- SharedSegmentSequence
- SharedStringClass

Some classes that referenced the `Client` class have been transitioned
to interfaces. Direct instantiation of these classes was not supported
or necessary for any supported scenario, so the change to an interface
should not impact usage. This applies to the following types:

- SequenceInterval
- SequenceEvent
- SequenceDeltaEvent
- SequenceMaintenanceEvent

The initial deprecations of the now changed or removed types were
announced in Fluid Framework v2.4.0:
[Several MergeTree Client Legacy APIs are now
deprecated](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.4.0.md#several-mergetree-client-legacy-apis-are-now-deprecated-22629)

---------

Co-authored-by: Tyler Butler <tylerbu@microsoft.com>
2024-11-05 23:22:22 +00:00
Jatin Garg 99fbaf4a9e
build(client): Update typetests after minor release 2.5.0 (#22983)
## Description

build(client): Update typetests after minor release 2.5.0

---------

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-11-05 22:28:15 +00:00
Craig Macomber (Microsoft) 468164d18d
Fix type test generation issues (#22989)
## Description

generic types with an extends clause of `never` currently generate type
tests which do not compile due to any not extending never. This is fixed
by using `never` instead of `any`.

`@system` types which do not promise user facing stability are now
omitted from type testing.

The currently unused tags to opt into alternative type testing for a
given type have been converted from `-` separated to camel case since it
seems `-` does not work well in tags.
2024-11-05 14:00:12 -08:00
Zach Newton 7abf5cfd3b
fix(gitrest): Handle FileSystem Errors in HTTP Responses (#22986)
## Description

Currently, there are some filesystem operations in Gitrest that result
in a generic 400 HTTP error code, rather than a helpful HTTP status and
message based on the error that occurred.

This PR adds some wrapper functions that help determine if an error is a
FileSystemError (or RedisFSError, which is similar) and bubble that up
as a NetworkError that can be parsed for the HTTP response.
2024-11-05 13:04:13 -08:00
Jenn e51c94da32
feat(tree): adds a `changed` event on `TreeBranchEvents` (#22977)
adds a new `changed` event to `TreeBranchEvents` that fires for both
local and remote changes

---------

Co-authored-by: Noah Encke <78610362+noencke@users.noreply.github.com>
2024-11-05 20:20:40 +00:00
Tyler Butler 75937e12d9
build(client, build-tools): Bump Biome to 1.9.4 (lockfile only) (#22908)
Picks up the latest patch of Biome. Since it's just a patch, I updated
the lockfiles only to save the package.json churn.
2024-11-05 12:00:07 -08:00
Tyler Butler 0b57176375
build(client): Update build-tools to latest release 0.50.0 (#22974)
Updated the following:

  client (release group)

Dependencies on build-tools updated:

  @fluid-tools/build-cli: 0.50.0
  @fluidframework/build-tools: 0.50.0
  @fluidframework/bundle-size-tools: 0.50.0
  @fluid-tools/version-tools: 0.50.0
2024-11-05 19:56:25 +00:00
Tyler Butler d7658b5490
build(eslint-config-fluid): Upgrade deps to latest semver-compatible version (#22966)
Upgrades all the dependencies to their latest compatible version within
the dep range in package.json.
2024-11-05 19:35:38 +00:00
Tyler Butler a475dc4991
build(build-cli): Upgrade @rushstack/node-core-library to 5.x (#22915)
No breaking changes in [the
changelog](https://github.com/microsoft/rushstack/blob/main/libraries/node-core-library/CHANGELOG.md)
for 4.x and 5.x affect us.
2024-11-05 11:27:03 -08:00
Tyler Butler 2ccf16aeb3
improvement(release): Simplify code with a map instead of a switch statement (#22929)
Updates the primary loop used in the release command to use a map
instead of a switch statement.
2024-11-05 18:48:41 +00:00
Jatin Garg 11971262b8
Bump client minor 2.10.0 (#22978)
## Description

Bump client minor 2.10.0

---------

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-11-05 02:35:05 +00:00
Jatin Garg 54f2a18248
build(client): changelog generation for minor release 2.5.0 (#22976)
## Description

build(client): changelog generation for minor release 2.5.0

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-11-05 01:39:52 +00:00
Jatin Garg fa035e05d0
build(client): Tag asserts for release 2.5.0 (#22975)
## Description

Tag asserts short codes before Minor release

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-11-04 16:43:29 -08:00
Tyler Butler fd6ce8b425
build(client): Generate release notes for 2.5.0 release (#22965)
Generates the release notes for 2.5. Most changesets have been updated
with minor wording and formatting changes. Command used to generate the
release notes:

```shell
pnpm flub generate releaseNotes -g client -t minor --outFile RELEASE_NOTES/2.5.0.md
```

---------

Co-authored-by: jzaffiro <110866475+jzaffiro@users.noreply.github.com>
2024-11-05 00:35:21 +00:00
Jason Hartman 6096657620
fix(client-presence): ISessionClient naming consistency (#22973)
1. `ISessionClient` method names updated for consistency to
`getConnectionId()` and `getConnectionStatus()`.
2. Implementation of `ISessionClient` moved to a full class object.
3. Changeset provided for Presence changes since 2.4.
4. Updated `id` to `ID` in comments (public and most internal).

No behavior is changed.

[AB#21446](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/21446)

---------

Co-authored-by: Willie Habimana <whabimana@microsoft.com>
Co-authored-by: Tyler Butler <tylerbu@microsoft.com>
2024-11-04 23:51:01 +00:00
Noah Encke 80ed0284f0
Add refreshed SharedTree alpha branching API (#22970)
## Description

This introduces a new SharedTree branching API that follows the ideas in
[this
document](https://github.com/microsoft/FluidFramework/pull/22740/files#diff-0073fb61eb0ca7c2b1f9bc918f31ed46270c5a104cee8b419dac1d82845167da).
Essentially, the branching API remains the same but has been exposed
directly on the view objects (rather than on a separate object) for the
user's convenience. The previous branching API's entry point is
deprecated.

See the changeset and new documentation for more details.
2024-11-04 14:52:03 -08:00
Tyler Butler 4488bcb285
feat(build-infrastructure): Add setVersion API (#22919)
This change adds a `setVersion` API that acts on several packages.


[AB#21855](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/21855)

---------

Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
2024-11-04 14:26:05 -08:00
Tyler Butler 621aed69cf
refactor(build-infrastructure): Rename FluidRepo to BuildProject (#22967)
There is nothing particularly Fluid-centric about the top-level API in
build-infrastructure; I just couldn't think of a better name at the
time. After discussion, we're going to call the top-level object a
BuildProject. The full hierarchy is now:

BuildProjects contain Workspaces contain ReleaseGroups contain Packages

This change required a lot of documentation updates and renaming other
related properties and functions beyond the BuildProject itself.

The package is private so these changes are safe.
2024-11-04 12:11:08 -08:00
Kian Thompson 47a42fcb5a
Skip summarize e2e test for r11s (#22961)
I wasn't able to reproduce the flakiness locally (ran 2000 times), but
I'm still seeing recent timeout failures in the build pipelines. These
tests aren't testing anything that's driver specific, so it's safe to
skip them for standard r11s.

Fixes
[AB#11213](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/11213)
Fixes
[AB#11060](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/11060)
2024-11-04 10:51:57 -08:00
Tyler Butler 3340e52e24
[bump] build-tools: 0.50.0 => 0.51.0 (minor) (#22971)
Bumped build-tools from 0.50.0 to 0.51.0.
2024-11-04 10:50:57 -08:00
Matt Rakow 5bea3f109e
Update to React18 APIs for separate-container example (#22956) 2024-11-04 08:46:55 -08:00
Craig Macomber (Microsoft) 18a23e8816
tree: Import / Export APIs and demo (#22566)
## Description

Added import/export options for tree content and schema, and example
script using them.
2024-11-01 21:15:10 +00:00
Michael Zhen ebfbfaa126
(docs): add compile time braces around parameter (#22963)
fix parameter use in condition. swapping parameter to intermediate
variable.
2024-11-01 13:22:32 -07:00
Sonali Deshpande 533de79180
feat(build-tools): Add generate:node10Entrypoints command (#22937)
This PR add a new command to generate node10 type declaration
entrypoints. Most of the node10 code is extracted from [generate
entrypoint](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/build-cli/src/library/commands/generateEntrypoints.ts)
command.
2024-11-01 12:33:12 -07:00
Sonali Deshpande 0c1886ec38
Revert "Default Runtime Request Header Wait Config and Telemetry (#22… (#22955)
Reverting this commit as it causes the FF/Loop pipeline to fail

[ADO
Task](https://dev.azure.com/fluidframework/internal/_workitems/edit/22460)
2024-11-01 09:17:06 -07:00
Michael Zhen e432720309
(docs): update force deployment condition for build docs (#22954)
previous shouldDeploy condition have not been included in deployment
condition. This variable has been updated to "forceDeployment" and
included back in the deployment condition.

shouldDeploy has been updated to check if release builds are the latest
version in its major version series.
2024-10-31 16:44:25 -07:00
Craig Macomber (Microsoft) 512e53f04e
tree: Make SchematizingSimpleTreeView implement TreeViewAlpha (#22953)
## Description

Make SchematizingSimpleTreeView implement TreeViewAlpha, and add some
helper types.
2024-10-31 23:22:21 +00:00
Noah Encke 62ae4c541b
Fix SharedTreeCore detached sequence numbers when loading into a detached tree (#22947)
## Description

It is possible to load a summary into a detached SharedTree. In this
case, the detached revision that is used to generate sequence IDs for
commits while detached must be updated to ensure that it doesn't
duplicate any of the sequence IDs already used in the summary. This PR
fixes the issue and also adds an assert when sequencing in the
EditManager to ensure that we don't sequence regressive sequence IDs.

This fix also allows us to trim the trunk when summarizing (without
breaking our fuzz tests), which reduces summary sizes especially for
detached trees with many synchronous edits.
2024-10-31 14:10:54 -07:00
Craig Macomber (Microsoft) 176335ce88
Tree: allow explicit construction of array and map nodes with no arguments (#22946)
## Description

See changeset for details.
2024-10-31 20:10:25 +00:00
Abram Sanderson 64d89bd2db
Improve DDS stress pipeline stage rendering (#22952)
## Description

Adjusts the `condition` parameter of
`include-conditionally-run-stress-test` to apply to the entire stage
rather than the test-running job. This improves the clarity from the
pipeline overview page, see most recent run vs previous ones:


![image](https://github.com/user-attachments/assets/e344d02a-a617-4163-bbda-0bfaac276541)

This also fixes the `stressMode` parameter not being given options at
queue time, which was introduced in #21702 and prevented the pipeline
from being queued.

---------

Co-authored-by: Abram Sanderson <absander@microsoft.com>
2024-10-31 12:28:53 -07:00
Joshua Smithrud 5709197b9b
build(docs): Hard-code redirects (#22949)
Updates website build to no longer dynamically generate
`fallback/index.js`. Instead, the redirects are hard-coded in
`fallback/routes.js`.

This work is in preparation for the Docusaurus migration.


[AB#19990](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/19990)
2024-10-31 19:12:57 +00:00
Abram Sanderson 929f76627a
Respect interval start & end side on ack (#22945)
## Description

Users of `IntervalCollection` can specify a start and end `side` when
adding or changing an interval. Doing so changes the behavior for the
resulting `start` and `end` local references put into the merge tree:
using the default `Side.Before` causes references to slide forward when
the segment they exist on is removed, whereas using `Side.After` causes
references to slide backward.

In the common case, local reference positions sliding is initiated by
removing a segment in merge-tree. However, `IntervalCollection` also
reuses this slide logic when intervals are changed/added concurrently to
a segment removal. This latter case did not correctly plumb through the
sliding preference to the helper function it used, which gave
undesirable merge semantics.

Resolves
[AB#22191](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/22191).

Co-authored-by: Abram Sanderson <absander@microsoft.com>
2024-10-31 07:57:44 -07:00
Kian Thompson 8a833a65db
Add more portions of the path to r11s request errors (#22943)
We can add more portions of the URL path on r11s request errors. To
protect against logging IDs in the URL, any path portion that does not
explicitly match the list of known paths will be replaced with
`REDACTED`.

Continuation of https://github.com/microsoft/FluidFramework/pull/22851

Fixes
[AB#22156](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/22156)
2024-10-31 00:01:06 +00:00
Noah Encke 522f76fc08
Remove leftover memory test (#22942)
## Description

Removes a redundant test that was accidentally checked in #22940
2024-10-30 21:11:15 +00:00
Craig Macomber (Microsoft) b669a6efdb
tree: `TreeNodeSchemaClass` now specifies its `TNode` as `TreeNode` (#22938)
## Description

This improves on #22763 to be slightly more specific in the case of
TreeNodeSchemaClass with an unspecified TNode parameter.
2024-10-30 13:40:59 -07:00
Vlad Sudzilouski d1ef767416
Better connection telemetry (#22936)
Collect more data (telemetry) to better understand number of concurrent users in the document.
In addition to capturing quorum size, capture audience size, as well as capture how many socket connections there were in a session
2024-10-30 13:39:20 -07:00
Noah Encke 4405bdc814
Don't run SharedTree memory usage test code during test discovery (#22940)
## Description

The tests unnecessarily initialize a SharedTree during test discovery.
This exercises many common code paths in SharedTree (creation, editing,
etc.). Breakpoints set in these areas will be hit during the discovery
of these memory tests, even if the memory tests are not being run. This
is annoying and confusing for development - for example, running any
(unrelated) single SharedTree test from the test browser will also run
the memory test initialization code and hit extraneous breakpoints.

This PR removes the unnecessary initialization code, which is (sneakily)
happening in a property initializer.
2024-10-30 20:10:22 +00:00
Kian Thompson ea2cb391e9
Convert assert 0x3d1 to DataProcessingError (#22920)
Convert the 0x3d1 assert to a DataProcessingError for better telemetry
purposes.

Fixes
[AB#7066](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/7066)
2024-10-30 13:02:22 -07:00
Tyler Butler 122e0822f2
build(build-cli): Upgrade jssm-viz and remove patch (#22941) 2024-10-30 13:02:08 -07:00
Craig Macomber (Microsoft) ce850b31b1
Rename or move some simple tree source files and tests (#22939)
## Description

Rename toFlexSchema to toStoredSchema to reflect that flex schema is no
longer a thing.
Rename/move tests to match what they are testing.
2024-10-30 12:50:18 -07:00
jzaffiro 30003a864a
Fix JSON format for service clients pipeline (#22935)
Add quotes to the new display name field in the FLUID_LOGGER_PROPS env
variable. Related to #22901, where the lack of quotes led to malformed
JSON.
2024-10-30 16:59:10 +00:00
Alex Villarreal c56a5218b8
refactor: Update dependencies so path-to-regexp gets to a version without CVE (#22928)
## Description

Updates our transitive dependencies on `path-to-regexp` to versions that
fixed https://nvd.nist.gov/vuln/detail/CVE-2024-45296 . Accomplished by
updating our direct dependencies on `sinon` to a mix of version 18 and
19, since that's the main way in which we get transitive dependencies on
`path-to-regexp`.

`@types/sinon` was also opportunistically updated to the latest version
where it wasn't already up to date.
2024-10-30 11:48:31 -05:00
Alex Villarreal 1edf5091de
refactor: Update transitive dependency on `tar` to address CVE (#22932)
## Description

Updates `tar` to version `6.2.1` to address
https://nvd.nist.gov/vuln/detail/CVE-2024-28863 . Done by adding a
`pnpm.overrides` entry `"tar": "^6.2.1"` to the package.json of each of
the affected packages, running `pnpm i --no-frozen-lockfile`, then
removing the override from package.json and running the same command
again.
2024-10-30 11:46:01 -05:00
Tyler Butler 9e1895bfe1
build(build-tools): Use fluid-build to build (#22925)
Updates the configuration for build-tools packages to use fluid-build to
build.

The changes were modest since it was already using fluid-build for most
of the build. Only the root-level tasks needed to be hooked up, and the
individual package scripts needed to be updated.

[AB#17062](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/17062)
2024-10-30 16:05:59 +00:00
Noah Encke 8d4f495760
Simplify and protect GraphCommit objects (#22931)
## Description

This PR improves GraphCommits in a couple of ways.

1. It adds a protective assert to the properties of commits that have
been trimmed by the EditManager. This prevents any part of our system
from accessing those commits without immediately throwing an error. This
will catch any bugs that try to hold on to stale graph commits much
sooner than they would otherwise be caught.
2. It removes the rollback property from GraphCommit and implements it
via a WeakMap instead. This is appropriate because the rollback property
is only used by a single scoped feature, so it need not be a property
that is visible to all other code that works with GraphCommits.
2024-10-29 20:59:36 -07:00