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

Automation: main-next integrate #18269

Closed
wants to merge 21 commits into from
Closed

Automation: main-next integrate #18269

wants to merge 21 commits into from

Conversation

msfluid-bot
Copy link
Collaborator

main-next integrate PR

DO NOT MERGE THIS PR USING THE GITHUB UI.

The aim of this pull request is to sync main and next branch. If this PR is assigned to you, you need to do the following:

  1. Acknowledge the pull request by adding a comment -- "Actively working on it".
  2. If there are no CI failures, add the "msftbot: merge-next" label to the PR and one of the people with merge permissions will merge it in.
  3. If there are CI failures, check out the main-next-dbb82d5 branch and make code changes to fix the failures.
  • You can ignore any failures in the Real service e2e test and Stress test pipelines. These pipelines are not required to pass to merge changes.
  1. Do NOT rebase or squash the main-next-dbb82d5 branch: its history must be preserved. Always amend the HEAD commit using the following git commands:
  • git commit --amend -m "Automation: main-next integrate"
  • git push --force-with-lease

Once CI passes and the PR is ready to merge, add the "msftbot: merge-next" label to the PR and one of the people with merge permissions will merge it in.

tylerbutler and others added 21 commits November 7, 2023 17:04
Policy handlers are now async, which enables them to more easily use
async libraries to perform checks. Note that resolvers and "final"
handlers are still synchronous.

I also updated the names of some functions and variables to make it
clearer what they're doing. In particular the "runPolicyCheck" function
was very wrong - it only executed the final handlers so it's a lot
clearer post-rename.
changeset removed was missed as part of azure cleanup. This PR removes
the changeset from `azure/`
#18131)

Removes the need for the following cast:
```ts
const { container } = await client.createContainer({
	initialObjects: {
		myMap: SharedMap,
	}
});

const myMap = container.initialObjects.myMap as SharedMap;  // <== 'as SharedMap' no longer needed.
```

---------

Co-authored-by: Matt Rakow <ChumpChief@users.noreply.github.com>
Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
This PR updates a handful of packages to use dts trimming. As far as we
know, the rollups don't differ between CJS and ESNext builds, so we just
copy the rollups from the CJS build into the ESNext build output.

If we find this causes problems, then the alternative is similar to what
we do with tsconfigs - we create a new config file,
api-extractor.esnext.json, and then we add a task to package.json to run
api-extractor using that new config file. This is the most "correct" way
to do this since it runs api-extractor both times, using the CJS and
ESNext source as appropriate. However, that method is slow because it
calls api-extractor twice, so we're going to use the copy method until
we find we can't.

This PR does not change to use a trimmed type file, like public. We can
make those changes separately. This PR just enables building the trimmed
files.


[AB#6146](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/6146)
… package READMEs with experimental notice (#18208)

The idea here is to start adding an explicit notice to library package
READMEs (as needed) to denote their experimental nature. Especially
while we are stuck with some legacy package namespaces (preventing us
from moving some experimental things, like `ink` into
`@fluid-experimental`), this gives us a top-level mechanism for
communicating the experimental status of a package to consumers who may
find the package in our github or on npm.

See updated test document for an example.

---------

Co-authored-by: Tyler Butler <tyler@tylerbutler.com>
… and `@fluid-private` (#18223)

Follow up to #18208 - adds support for generated library package notices
for internal and private packages. Replaces
`README_PRIVATE_PACKAGE_NOTICE` with `README_PACKAGE_SCOPE_NOTICE`,
which can handle all the cases we care about, and can automatically
inherit the correct behavior from the package's namespace.

Also updates some package READMEs to take better advantage of the
templates.

---------

Co-authored-by: Tyler Butler <tyler@tylerbutler.com>
…ts (#18225)

Follow-up to #18223 and #18208.

Updates various library package READMEs to use the new pragmas to insert
usage notices based on the intended package scope.

Also makes some other misc. README improvements.
## Description

Editable tree now excepts new content in the form of cursors.

Alos included are some testing cleanups to avoid depending on SharedTree
for testing editable tree, and some improved coverage on the editing
methods of fields which were previously entirely untested.

## Breaking Changes

Code that was violating the type system and providing cursors already
for list insertion methods happened to work, but now requires a single
field cursor instead of an array of node cursors (and no longer violates
the typing).
For `PendingStateManager` change, a cleanup item was never opened to
remove the property from `IPendingMessage`
#14434.

For `OpGroupingManager`, the `clientSequenceNumber` would currently
represent 2 separate concepts: index in batch, and actual
clientSequenceNumber. We should only present one of these concepts at a
time depending on if grouped batching is enabled or not.
…led (#18229)

## Description

Currently, if TelemetryContext is enabled, telemetry uses the
correlationId from TelemetryContext, but the response header for
correlationId still comes from the old `bindCorrelationId` middleware
because it overwrites TelemetryContext's header.
## Description

The new Nexus service was not added to the server/docker-compose*.yml
files, so running R11s that way does not work with AzureClient because
it can't find Nexus. This isn't terrible, since I think I'm one of very
few people who use docker-compose.dev.yml, but would be nice to have it
fixed.
…in READMEs that weren't using them for trademarks (#18230)

The existing template had been line-wrapped in the middle of link text,
which broke the link syntax. This PR fixes the template, updates
existing usages, and adds new usages of the markdown-magic pragma where
we weren't using it.
Adds basic support for tsc-multi tasks in fluid-build. Also updates some
fluid-build-related policy handlers to treat tsc-multi as equivalent to
tsc.

My goal with these changes is to unblock further work, so I'm only
aiming for basic support. Any bells and whistles can wait.
## Description

This better formalizes the convention of using above root placeholder
nodes, leverages this to provide field cursor builders, and makes cursor
related function naming more consistent.

## Breaking Changes

Some cursor related functions have been renamed and had argument order
changed, but nothing was removed.
…errors (#18243)

Remove args from Redis errors since args may contain sensitive
information such as tokens

Co-authored-by: Yunpeng Hou <yunho-microsoft@Yunho-MacBookPro2019.local>
@msfluid-bot msfluid-bot requested review from a team as code owners November 11, 2023 02:38
@msfluid-bot msfluid-bot requested a review from a team as a code owner November 11, 2023 02:38
@github-actions github-actions bot added the base: next PRs targeted against next branch label Nov 11, 2023
@msfluid-bot
Copy link
Collaborator Author

@fluid-example/bundle-size-tests: -47 Bytes
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 443.89 KB 443.91 KB +24 Bytes
connectionState.js 680 Bytes 680 Bytes No change
containerRuntime.js 240.27 KB 240.29 KB +24 Bytes
loader.js 178.97 KB 178.97 KB No change
map.js 48.06 KB 48.06 KB No change
matrix.js 139.01 KB 139.01 KB No change
odspDriver.js 90.27 KB 90.27 KB No change
odspPrefetchSnapshot.js 41.9 KB 41.9 KB No change
sharedString.js 159.54 KB 159.54 KB No change
sharedTree2.js 263.61 KB 263.51 KB -95 Bytes
Total Size 1.71 MB 1.71 MB -47 Bytes

Baseline commit: 9a360ba

Generated by 🚫 dangerJS against e9c277a

@sonalideshpandemsft sonalideshpandemsft deleted the main-next-dbb82d5 branch November 14, 2023 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
base: next PRs targeted against next branch main-next-integrate merge-ok
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet