Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from microsoft:main #58

Open
wants to merge 7,021 commits into
base: main
Choose a base branch
from
Open

[pull] main from microsoft:main #58

wants to merge 7,021 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented May 21, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

MarioJGMsoft and others added 29 commits February 18, 2025 15:20
## Description

This task is a follow up to
[#20323](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/20323)
.

When loop tried to implement the code some errors came up, the expected
information was not being added.

Acceptance criteria
The link works properly when loop tries to implement and use it.

Execution plan
Update the methods we are using to receive the appName and the
containerPackageName. Also update IODSPResolvedURL to be able to have
the containerPackageName.

## Reviewer Guidance

Please let me know if there's something that is missing or that I should
keep in mind. Thanks!

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

---------

Co-authored-by: Jatin Garg <[email protected]>
)

## Description

Reverting change due to Fluid-Loop pipeline integration failure..
This PR:
b17276c
caused Fluid loop integration pipeline to fail:
https://office.visualstudio.com/OC/_build?definitionId=29163&_a=summary

---------

Co-authored-by: Jatin Garg <[email protected]>
## Description

This change needs to be reverted for now and will me merged for next
release

---------

Co-authored-by: Jatin Garg <[email protected]>
…re. (#23874)" (#23876)

## Description

Revert "Reverting change due to Fluid-Loop pipeline integration failure.
(#23874) because some unwanted changes got pushed with the revert.

Co-authored-by: Jatin Garg <[email protected]>
## Description

Add return with `handleResponse` in documents routes. Otherwise, in some
cases the code keeps executing and tries to send http response again at
the end causing the error `ERR_HTTP_HEADERS_SENT` ( eg: when cluster is
in draining state)

---------

Co-authored-by: Shubhangi Agarwal <[email protected]>
…23861)

## Description

This PR adds merge and fork edits to the fuzz tester, and uses new
`TreeViewAlpha` apis
…ect (#23836)

This PR adds support for DDSes to process a 'bunch' of messages. Op
bunching was added via the following PRs:
#22839,
#22840 and
#22841.

Added a `processMessagesCore` function to `SharedObjectCore` that DDSes
can override to process a message bunch. This is marked optional today
because it's a breaking change. It is similar to the `processCore`
function and will replace it eventually. For now, `processCore` has been
marked as deprecated.

This change updates the relative ordering of the `pre-op` and `op`
events emitted by the shared object. Previously, the `pre-op` event
would be emitted before a message was processed and `op` event was
emitted immediately afterwards. With this change, the ordering of these
events w.r.t. to the message being processed is still the same. However,
there may be other ops processed and other event fired in between.
Note that the only guarantee these events provide is that the `pre-op`
event is emitted before a message is procesed and the `op` event is
processed after. So, this change doesn't break that guarantee.
in whole.

Spinner can cause output to be lost. To ensure complete error content is
displayed, stop Spinner before outputting.
detected by pending build-tools changes
in #23863
update trigger to check for completion of build client (release branch)
rather than triggering on a commit. This way, it waits for release
builds to complete and gets the correct latest version from npm on its
build.
Also added trimming of version to remove build suffix.
Keep the reliable state check enabled and place the flaky UI check in
separate disabled case.
Pages uses webpack to replace fetch. Place dummy in the original
location to allow that to continue working until patching can be removed
after FF version advance.
)

build(client): Release notes generation for minor release 2.22.0

---------

Co-authored-by: Jatin Garg <[email protected]>
Manual cleanup of the changelogs to accomodate new changesets.
[bump] client: 2.22.0 => 2.23.0 (minor)

---------

Co-authored-by: Jatin Garg <[email protected]>
This change splits out a number of change made in and for #23701. Theses
refactoring are primarily around reusability.
## Description
Added op bunching processing capability to shared tree. With op buching,
a continguous bunch of ops for a DDS from the same grouped batch is sent
to it together. Tree uses this to optimize op processing by rebasing the
bunch of ops over the local branch in one go instead of doing it one by
one prior to this change. This results in asymptomatic performance
improvements as described in the "Benchmarks" section below.

In addition to the tree changes, it also changes the following:
- Extended runtime mocks in shared tree to support op bunching.
- Makes some minor changes to the runtime mocks to support extending it
for op bunching.

## Benchmarks
The results from the bechmark test added in `sharedTree.bench.ts`. There
is an asymptomatic performance improvement which increases with the
number of incoming ops and the number of local ops. In the following
runs, the performance improvement ranges from 71% to 94%.
```
Without op bunching:
status  name                                               total time (s)  Batch Count  Iterations per Batch  Period (ns/op)  Margin of Error  Relative Margin of Error
------  -------------------------------------------------  --------------  -----------  --------------------  --------------  ---------------  ------------------------
    ✔   Rebase 10 local commits over 10 inbound commits    5.01                    511                     1    4,107,336.96           ±0.00%                    ±2.20%
    ✔   Rebase 100 local commits over 10 inbound commits   5.04                     78                     1   53,541,414.53           ±0.00%                    ±1.85%
    ✔   Rebase 10 local commits over 100 inbound commits   5.04                    101                     1   36,775,637.37           ±0.00%                    ±3.28%
    ✔   Rebase 100 local commits over 100 inbound commits  5.25                      9                     1  495,604,537.11           ±0.01%                    ±2.14%

With op bunching:
status  name                                               total time (s)  Batch Count  Iterations per Batch  Period (ns/op)  Margin of Error  Relative Margin of Error
------  -------------------------------------------------  --------------  -----------  --------------------  --------------  ---------------  ------------------------
    ✔   Rebase 10 local commits over 10 inbound commits    5.01                    755                     1    1,200,198.57           ±0.00%                    ±2.49%
    ✔   Rebase 100 local commits over 10 inbound commits   5.02                    260                     1   10,675,092.18           ±0.00%                    ±2.11%
    ✔   Rebase 10 local commits over 100 inbound commits   5.01                    298                     1    6,828,631.68           ±0.00%                    ±2.60%
    ✔   Rebase 100 local commits over 100 inbound commits  5.02                    113                     1   30,716,660.04           ±0.00%                    ±2.01%
```
)

### ESLint Configuration Changes:
* Changed the rule for
`@fluid-internal/fluid/no-unchecked-record-access` from "warn" to
"error" in the `.eslintrc.cjs` file by removing the line
build(client): Update typetests after minor release 2.12.0

---------

Co-authored-by: Jatin Garg <[email protected]>
Allow obliterate operations with a range of length zero in a separate
set of tests to make debugging any issues easier.


[AB#31182](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/31182)
using 100ms timeout to allow evaluation statement to complete. (This is
apparently a limitation of puppeteer to not ensure that at least one
evaluation is complete.)

For defense in depth, switch app state write order to have first testes
state written last.

Additionally, add diagnostic output when test case fails.
Deprecating `process` on `FluidDataStoreRuntime`. It was deprecated on
`IFluidDataStoreChannel` (and other places) as part of
#22840 but missed
deprecating it on `FluidDataStoreRuntime`.
In policy checks transitive dependencies are not deeply considered. But
one level deep checks are now added to handle regular tasks that are
expanded to be complex (multiple tasks).

### Example

Splitting common `build:esnext` into two steps should not require
downstream consumers to change dependencies as dependency on
`build:esnext` still ensures that all of the build steps are run. The
policy checkers know that `build:esnext:main` and/or
`build:esnext:experimental` are required, but not that `build:esnext`
ensures they are run.
```diff
-		"build:esnext": "tsc --project ./tsconfig.json",
+		"build:esnext": "npm run build:esnext:main && npm run build:esnext:experimental",
+		"build:esnext:experimental": "tsc --project ./tsconfig.json",
+		"build:esnext:main": "tsc --project ./tsconfig.main.json",
```

### Infrastructure changes in support:

- Add "children" to Task Definitions to understand what other tasks are
run when running a task. This enables policy checks to work with a
multi-step task as a dependency and not requiring explicit dependency on
one or each part.

"children" property of Task Definition is computed from script command
line explicitly and is not manually configurable. Scripts listed via
`npm run` (no other arguments) and `concurrently` are recognized.

- Refactors existing logic from taskFactory to support `concurrently`
parsing.

- Add broad `readonly` attribute to Task Definitions and Configs that
shouldn't be changed. Add cloning where mutation may occur. (Note that
TypeScript doesn't detect all cases where something readonly is assigned
to non-readonly context. See
microsoft/TypeScript#18770.) Where mutability
is needed in policy fix-up handler, cast away to writeable.
…rrors (#23886)

## Description

Rather than look through the map keys to find one, use the map's `has`
method.

Also if the handle is not found, avoid casting `undefined` to
`Promise<T>` and instead throw an error.
- LatestValueManager
  - `localUpdated` raised when `local` is assigned
- LatestMapValueManager
  - `localItemUpdated` raised when `local.set` is called
  - `localItemRemoved` raised when `local.delete` is called

[AB#29473](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/29473)
Bump build-tools to the latest release.
Bumped build-tools from 0.54.0 to 0.55.0.
Copy link

🔗 Found some broken links! 💔

Run a link check locally to find them. See
https://github.com/microsoft/FluidFramework/wiki/Checking-for-broken-links-in-the-documentation for more information.

linkcheck output


> [email protected] ci:check-links /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test "npm run serve -- --no-open" 3000 check-links

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> [email protected] serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> [email protected] check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

http://localhost:3000/docs/data-structures/tree
- (36:97) 'the Shar..' => http://localhost:3000/docs/api/tree (HTTP 404)

http://localhost:3000/docs/data-structures/tree/
- (36:97) 'the Shar..' => http://localhost:3000/docs/api/tree (HTTP 404)

http://localhost:3000/docs/data-structures/tree/schema-definition
- (30:128) 'SharedTr..' => http://localhost:3000/docs/api/tree (HTTP 404)

http://localhost:3000/docs/start/tree-start
- (44:4) 'the API ..' => http://localhost:3000/docs/api/tree/schemafactory-class (HTTP 404)
- (61:7) 'the API' => http://localhost:3000/docs/api/tree/treechangeevents-interface (HTTP 404)


Stats:
  158264 links
    1304 destination URLs
    1535 URLs ignored
       0 warnings
       3 errors

 ELIFECYCLE  Command failed with exit code 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🆕 New
Development

Successfully merging this pull request may close these issues.