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

20741 Коммитов

Автор SHA1 Сообщение Дата
Tyler Butler dda812637f
build(client): Update build-tools dependencies to latest (0.44) (#22297)
Updated the following:

  client (release group)

Dependencies on build-tools updated:

  @fluid-tools/build-cli: 0.44.0
  @fluidframework/build-tools: 0.44.0
  @fluidframework/bundle-size-tools: 0.44.0
  @fluid-tools/version-tools: 0.44.0

I also made two small changes to the root Biome config and the
test-snapshots Biome config. The configs exposed a case where `git
ls-files` will return a path to a directory - if that directory is a
submodule. These config changes enable the Biome task caching to work
even with this ls-files oddity by ensuring the directory path doesn't
make it into the cached file list.
2024-08-23 00:49:37 +00:00
Alex Villarreal 1bb82df02c
test(tree): Check for errors differently in recent tests (#22288)
## Description

`validateAssertionError()` is intended to be used for errors thrown by
`assert()`. The two tests updated in this PR were added in
https://github.com/microsoft/FluidFramework/pull/22219 and are checking
for `UsageError`s, so this PR replaces the validation using
`validateAssertionError()` with a more appropriate alternative.
2024-08-22 23:26:29 +00:00
Matt Rakow 73d6ba6961
Move migration-tools to separate example package (#22267) 2024-08-22 16:24:14 -07:00
Joshua Smithrud 1a86c7d256
revert: CODEOWNERS additions (#22294)
Reverts additions made in #22278
2024-08-22 15:07:54 -07:00
tyler-cai-microsoft 22d9380428
Start the summarizer wait early (#22289)
[AB#8942](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8942)

Prevent some tests from hanging due to waiting for a summary op
2024-08-22 21:50:34 +00:00
Tyler Butler d064810a46
[bump] build-tools: 0.44.0 => 0.45.0 (minor) (#22251)
Bumped build-tools from 0.44.0 to 0.45.0.

0.44.0 will be released with these fixes:

- #22247
- #21826
2024-08-22 14:23:50 -07:00
tyler-cai-microsoft 84f188de84
Make test less likely to hang on container creation (#22290)
[AB#10957](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/10957)

Make the container less likely to hang on container creation.
2024-08-22 20:07:55 +00:00
Craig Macomber (Microsoft) 1106d0bdd3
tree: Remove schema aware typing from flex tree schema (#22293)
## Description

Remove schema aware typing from flex tree schema

## Reviewer Guidance

The review process is outlined on [this wiki
page](https://github.com/microsoft/FluidFramework/wiki/PR-Guidelines#guidelines).
2024-08-22 12:36:47 -07:00
Kian Thompson 6ecca8f162
[AzureClient] Add smoke test for op grouping (#22286)
Op grouping feature was added recently in 2.0. It is however disabled by
default and should not cause any issues when customers switch from 1.0
to 2.0. This smoke test ensures that op grouping works as expected
depending on the compatibility mode selected.


[AB#8204](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8204)
2024-08-22 12:06:09 -07:00
Tyler Butler 1bc4134643
fix(bump:deps): Use 'dev' dist-tag instead of 'next' (#22266) 2024-08-22 11:30:23 -07:00
dhr-verma c8e16500ff
Vermadhr/correlation id source tracking (#22292)
## Description

Refactors and changes the prop `correlationIdSource` to `requestSource`
to avoid ambiguity in understanding whether we are tracking request
origin or correlationId origin.
2024-08-22 18:00:29 +00:00
Tyler Butler ed66297a70
build(client): Fix task config for "checks" (#22200)
The root level "checks" and "checks:fix" tasks were triggering in
individual packages _and_ the root. Only the root is needed right now
because the only check we do is formatting, and that can be done at the
root level.

I think this might be causing a strange race condition when running in
CI, so hopefully this change will also stabilize PR runs which have
failed a few times today, seemingly at random.

Related to
[AB#12491](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/12491).
2024-08-22 17:51:41 +00:00
Craig Macomber (Microsoft) 9bd850f46a
tree: Reduce typing logic in flex tree (#22291)
## Description

Remove more schema aware typing from flex tree.
2024-08-22 10:30:54 -07:00
Craig Macomber (Microsoft) 52d6c3b6e9
tree: Update test trees (#22287)
## Description

Migrate off of and remove typedJsonCursor.

Port test trees to TreeNodeSchema where possible.

Reduce references to flex tree schema.
2024-08-22 00:00:08 +00:00
Navin Agarwal 74362b5443
tree: Disallow creating multiple simple tree views from the same checkout (#22277)
## Bug
Currently, it's possible to create multiple tree views
(SchematizingSimpleTreeView) from the same checkout by simply calling
viewWith or via its constructor.
This can result in failures later, such as when the schema is upgraded.
A schema upgrade emits `"afterSchemaChange"` event on which all the
views are updated and it ends up with multiple `Context` for the same
checkout.
We have couple of unit tests failing because of this. These tests are
currently skipped.

## Fix
When a new `SchematizingSimpleTreeView` is created, throw a usage error
if one already exists for the checkout it is created with.
 

[AB#11436](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/11436)
2024-08-21 16:46:11 -07:00
Joshua Smithrud ba2cb6fa1c
docs(website): Expand "Fluid Releases and API Support Levels" documentation (#22279)
Includes:
* Notes about associated TSDoc tags
* Explicit notes about `/internal` (and that such APIs should not be
used)
2024-08-21 16:03:15 -07:00
Craig Macomber (Microsoft) 6525536c3f
tree: Comply with schema in forest test (#22285)
## Description

Fix a forest test which violates schema, and update it to not use
typedJsonCursor which will be removed soon.
2024-08-21 14:02:11 -07:00
dhr-verma 7fd8c786b3
Added correlationId source tracking (#22280)
## Description

This PR adds telemetry to track the origin of the correlation associated
with an API call by adding a new telemetry prop - `correlationIdSource`.
If the client sends a correlationId in the `x-correlation-id` header or
in the `x-telemetry-header`, then the source is set as
`"correlationIdSource": "client"`. Else the correlationId is generated
by the server and the prop is set as `"correlationIdSource": "server"`.

## Breaking Changes

Updates `ITelemetryContextProperties` to include the
`correlationIdSource` property.
2024-08-21 19:16:39 +00:00
Joshua Smithrud d25f328779
feat(api-markdown-documenter): Add `lintApiModel` API (#22250)
See the documentation updates for more details.
2024-08-21 11:34:09 -07:00
Joshua Smithrud ecd60634c3
tools: Don't only require FFAPI reviews for report changes in specific directories (#22278)
Don't require API reviews for API report changes in `/tools` packages.
Also simplify specification patterns for CODEOWNERS, and...
* Require `fluid-cr-infra` review for API changes in `/build-tools`
packages
* Require `fluid-cr-server` review for API changes in `/server` packages
2024-08-21 11:33:41 -07:00
Craig Macomber (Microsoft) fc52c6fd77
tree: Update lazyNode.spec (#22283)
## Description

Reduce use of to be removed APIs in lazyNode tests.
2024-08-21 17:57:28 +00:00
Pragya Garg 7cb5756c83
SharedTree internal to alpha (#22272)
Export SharedTee from @internal to @alpha+@legacy.
2024-08-21 10:21:28 -07:00
Craig Macomber (Microsoft) 6c82b8bd10
tree: Remove strong typing from flex tree fields and unboxed flex tree unions (#22281)
## Description

More progress toward removing the schema aware-ness of flex tree.
2024-08-21 10:16:24 -07:00
Matt Rakow 7c5fe44fc0
Break up counter end to end test beforeEach hook for more granular error info (#22274) 2024-08-20 18:09:23 -07:00
Navin Agarwal 936469d288
tree: De-register 'afterSchemaChange' handler when disposing simple tree view (#22276)
## Bug
After a `SchematizingSimpleTreeView` is explicitly disposed, upgrading
its schema via a new view results in double disposal of the original
view.

**Repro:**
1. Create a view via `viewWith`.
2. Dispose the view.
3. Create a second view with the same checkout and upgrade the schema
via `upgradeSchema()`.

## Root-cause
When a `SchematizingSimpleTreeView` creates a `CheckoutFlexTreeView`, it
registers an `"afterSchemaChange"` event handler which disposes the flex
view. However, when the `SchematizingSimpleTreeView` is explicitly
disposed, the event handler is not de-registered. So, when the schema is
upgraded, this event handler is called resulting in disposing it again.

## Fix
Moved the registration of `"afterSchemaChange"` event handlers from
`requireSchema` into the callsite `SchematizingSimpleTreeView::update`
where it is set up to be de-registered when the view is disposed.

Added a test to validate this scenario.



[AB#8916](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8916)
2024-08-20 17:56:30 -07:00
Alex Villarreal a70acab4d0
refactor(ci): Refactor perf benchmarks pipeline to add targeted retry-ability in npm-install steps (#22270)
## Description

Splits a couple of Bash steps into separate CopyFiles/Npm steps so we
can apply targeted retries-on-failure to the steps that might fail due
to transient network issues (`npm install`).
2024-08-20 19:00:32 -05:00
daesunp e490067075
Update sharedTree fuzz tests to use simple-tree, and remove flex-tree usages (#22148)
## Description

This PR updates the sharedTree fuzz tests to use the simple tree apis,
and removes the use of flex-tree. The schema op is currently disabled,
as we manually dispose of the view in these tests during schema updates,
and run into a known double dispose issue.
2024-08-20 16:06:21 -07:00
Craig Macomber (Microsoft) bbb6e0d267
tree: Remove flex tree node kind specific classes (#22263)
## Description

Remove more unneeded flex tree code and types.
2024-08-20 14:34:36 -07:00
Tyler Butler f143f057d6
build(client): Update typetests baselines to 2.2.0 (#22260)
Updates the type test baselines (previous versions) to 2.2.0 now that it
has been released.

Commands used:

```shell
pnpm typetests:prepare
pnpm i --no-frozen-lockfile
pnpm fluid-build -t typetests:gen
```
2024-08-20 09:28:01 -07:00
Wayne Ferrao cba0201374
Update manifest version for publishing (#22261)
## Description

Updates the Fluid Devtools extension version for publishing.
2024-08-19 15:43:35 -07:00
Tyler Butler 4fe6a0dec7
ci: Use pull_request_target in release branch warning workflow (#22264)
The release branch warning workflow needs to use the pull_request_target
trigger instead of the pull_request trigger, so it can post to the PR.

This is safe because the PR does not build anything or use content from
the submitted PR. When using pull_request_target the checked-out code is
the base branch, not the PR branch, so there's no access to content from
the PR itself.
2024-08-19 22:05:23 +00:00
Tyler Butler 1873d113cf
ci: Bump marocchino/sticky-pull-request-comment action to latest version (2.9.0) (#22259)
Updates the marocchino/sticky-pull-request-comment action to its latest
version, 2.9.0. This upgrade was needed because some options used in
recent workflows are not available in the older version.

I confirmed that the commit 331f8f5b4215f0445d3c07b4967662a32a2d3e31
corresponds to the v2.9.0 tag in the
marocchino/sticky-pull-request-comment repo:
https://github.com/marocchino/sticky-pull-request-comment/releases/tag/v2.9.0

This will be ported to the 2.2 release branch as well.
2024-08-19 20:44:02 +00:00
Tyler Butler 5b3811e137
improvement(fluid-build): Support include/ignore settings in Biome task (#21826)
When the Biome fluid-build task was added it didn't support reading
Biome config files. Thadded the capability to read Biome config
files, including following `extends` values and merging the resulting
include/ignore settings across the files/formatter/linter settings. The
BiomeTask now uses this capability to enumerate the files to consider
when caching. While we don't use Biome for linting today, I tried to
make the code as general-purpose as possible so we could easily adapt
the task for linting in the future.

I added some test data and test cases. They're not exhaustive but they
cover the critical stuff and exercise the recursive loading.


[AB#9090](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/9090)
2024-08-19 20:30:58 +00:00
Craig Macomber (Microsoft) ca9728e76b
tree: Remove FlexTreeObjectNode schema aware properties. (#22257)
## Description

This should improve performance and reduce memory use by the flex tree
slightly, but mainly is done to simplify the code.

Now new named members can be added to flex tree nodes without dealing
with property name escaping.
2024-08-19 20:19:15 +00:00
Craig Macomber (Microsoft) 45f44e1ee9
tree: Remove a few more FLexTree APIs (#22255)
## Description

Remove some more unneeded APIs from FlexTree
2024-08-19 18:06:09 +00:00
kekachmar afe31cfe89
make consumeLoopTimeoutDelay configurable (#22253)
Change to make consumeLoopTimeoutDelay configurable
2024-08-19 13:53:50 -04:00
Tony Murphy 85b8fe0487
FluidStatic: Remove unused code from rootDataObject (#22242)
Remove the code to handle requests from
DOProviderContainerRuntimeFactory which is necessary for the
rootDataObject as the request pattern is no longer used to access the
rootDataObject in any of our service clients.
2024-08-19 10:37:47 -07:00
Tyler Butler 30ce7b9586
[bump] client: 2.2.0 => 2.3.0 (minor) (#22248)
Bumped client from 2.2.0 to 2.3.0.

Command used:

```shell
p flub release -g client
```
2024-08-16 18:16:36 -07:00
Tyler Butler 6f4b15d5c1
fix(build-tools): Filter out empty responses from git ls-files (#22247)
#22226 introduced a bug that caused directory paths to get into the list
of cached files in the Biome task. The root cause was incomplete
handling of the response from `git ls-files`. Empty strings made it into
the list of files, which later resolved as a path to the working
directory - the root of the repo.

The fix is to remove empty strings from the results array.
2024-08-16 17:02:55 -07:00
Zach Newton f461368cf6
server: upgrade server packages in Historian and Gitrest (#22220)
## Description

Upgrading Routerlicious server packages in Gitrest and Historian to pull
in changes from #22109.

Adds `getTelemetryContextProeprties` param to each BasicRestWrapper
instantiation
2024-08-16 23:37:11 +00:00
Tyler Butler 7de7760f5b
build(client): Generate changelogs for 2.2 release (#22241)
Command used:

```shell
pnpm flub generate changelog -g client
```
2024-08-16 23:23:32 +00:00
Joshua Smithrud e1e399d1f3
test: Add second package to `simple-test-suite` to ensure multi-package coverage (#22244)
Updates existing `simple-test-suite` package to `test-suite-a`, and adds
a `test-suite-b` package that references it.

Also updates some related documentation.
2024-08-16 16:21:55 -07:00
Joshua Smithrud ae4b756142
test(api-markdown-documenter): Unify test infra (#22237)
The HTML and Markdown end-to-end snapshot tests each maintained very
similar test infra. This PR extracts most of that infra into a shared
location.
2024-08-16 22:49:11 +00:00
Tyler Butler 0161a8b1be
build(client): Tag asserts for 2.2 release (#22236)
Tags asserts for 2.2 release. Command used:

```shell
pnpm run policy-check:asserts
```
2024-08-16 15:45:05 -07:00
Craig Macomber (Microsoft) db397bb77b
tree: Remove FieldNodes (#22239)
## Description

Remove field nodes from FlexTree abstraction layer.

These used to be used for array nodes, but no longer power anything in
the public API.
2024-08-16 15:31:39 -07:00
Joshua Smithrud 463909368e
refactor(api-markdown-documenter): Add `{@link}` tag reference validation to linter (#22224)
Follow-up to #22150. Adds validation for `{@link}` references within the
model.
2024-08-16 15:23:24 -07:00
Matt Rakow f89a1bb836
Pull IMigrationTool out of the IMigratableModel interface (#22194) 2024-08-16 21:41:53 +00:00
tyler-cai-microsoft 45d7fb21cb
Refactor test to be more reliable (#22223)
During
[AB#8354](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8354)

I took the liberty to refactor the test a little. This was a flakey
failure caused by tinylicious.

I moved the provider.ensureSynchronized() function down to ensure that
the container attach is seen, but it should be seen with the basic
attach flow.
2024-08-16 14:39:37 -07:00
Tyler Butler 91560d1629
build(client): Bump build-tools dependencies to 0.43 (#22238)
Bumps build-tools dependencies in client to the latest release. Command
used:

```shell
pnpm exec flub bump deps build-tools -g client --updateChecker homegrown
```
2024-08-16 21:29:06 +00:00
Tyler Butler a449c72483
build: Generate release notes for 2.2 release (#22067)
Generated the release notes for 2.2 using the tool in
https://github.com/microsoft/FluidFramework/pull/21951. No manual edits
were made to the release note output.

To preview the release notes, I recommend viewing them directly on my PR
branch here:
https://github.com/tylerbutler/FluidFramework/blob/relnotes-2.2/RELEASE_NOTES/2.2.0.md

That ensures you see the formatting as it will be for customers.

---------

Co-authored-by: jzaffiro <110866475+jzaffiro@users.noreply.github.com>
2024-08-16 21:11:43 +00:00