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 #18769

Closed
wants to merge 21 commits into from
Closed

Automation: main-next integrate #18769

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-b4d4d03 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-b4d4d03 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.

CraigMacomber and others added 21 commits December 6, 2023 22:19
## Description

Make chunked forest stop depending on default-schema: it should work
with any schema.
## Description

This PR moves the `Multiplicity` enum out from `modular-schema` to the
parent directory `feature-libraries`, to make chunkTree stop depending
on `Multiplicity`, to help mitigate circular dependency issues.
## Description

When an insertable tree is ambiguous, provide a better error message.
…tor-model and to capture some missing test cases (#18685)

The key change here is updating `simple-suite-test.json`. This is a
sample test report which the end-to-end tests use as input.
The updates include:
- Updating to a more recent version of the api-extractor schema and
regenerating the contents against it
- You will see (among other things) some changes to how signature
contents are tokenized and displayed.
- Updating the sample suite to update the release tags on a couple of
items under `TestNamespace`
- Makes 1 `@alpha`, 1 `@beta`, to ensure nested items are trimmed
correctly via the changes made in #18663
## Description

This PR updates the encoding of trees used in sharedTree changesets
…or the other (#18559)

This change updates GC configuration and logic to transition
unreferenced objects to TombstoneReady (and next GC will mark as
Tombstone) then after a configurable delay, transitions to SweepReady
(and next GC will delete).

Context: Based on feedback from our 1P early adopters of GC, it's desirable to
see an object be Tombstoned first, then later swept. For a document
being actively used that hits a GC-impacting bug, this will cause the
bug to manifest as a Tombstone error first, giving some reaction time
(operationally) before the data is permanently lost.
## Description

This PR adds a feature to log the entire service config during start of
the service. During the logging, we want to redact any sensitive
information from the logged config while not altering the config object
itself.

To redact secrets, we use `fast-redact`. We add a new optional parameter
`secretsList`. The `ConfigDumper` object has a default list. If no list
is provided, the default list will be used for redaction in case the
values are found in the config. In case the user provides a list, it
will be appended to the default list. The logging is done only if
`config.configDumpEnabled` is set to true.

## Reviewer Guidance

1. Whether to use the `fast-redact`
(https://www.npmjs.com/package/fast-redact) library or write our own
recursive function to redact secrets before logging.
2. Creating a deep copy of the config object before logging to prevent
the original config from getting corrupted.

### Unit test coverage

1) Ensure that the values in `secretNamesToRedactInConfigDump` are
correctly redacted.
2) Ensure that the redacted object is not the same as the original
config object if a value is redacted.
3) Ensure that the redacted object is not the same as the original
config object if no value is redacted.
4) Should not throw an error if `secretNamesToRedactInConfigDump` values
are not present in `nconf`
5) Should not throw an error if `secretNamesToRedactInConfigDump`
contains duplicate values
6) Should redact keys inside nested objects in
`secretNamesToRedactInConfigDump`

### FRS changes

I plan to add the `config` object under the frs-shared configmap. This
way it will be easy to maintain access every service. Additionally, I
will update the shell extension files to have a list of default secrets
to redact. This can be changed as per our needs.

The review process is outlined on [this wiki
page](https://github.com/microsoft/FluidFramework/wiki/PR-Guidelines#guidelines).
Enables d.ts trimmed rollup generation by default across the repo. Makes
no changes to how the rollups are consumed, just adds generation to the
build.
## Description

Adds a no-op RevisionTag codec with the intent of supplying the
runtime's IdCompressor in a subsequent PR to translate between Id
spaces.

## Reviewer Guidance

The review process is outlined on [this wiki
page](https://github.com/microsoft/FluidFramework/wiki/PR-Guidelines#guidelines).
## Description

Adds a document describing tree2's strategy for managing persisted
format, compatibility, and testing concerns.

This document is largely a pared-down and updated version of #14954 to
reflect the current state of things.

---------

Co-authored-by: Abram Sanderson <[email protected]>
## Description

Follow-up to #18600 to update the `relevantRemovedTrees` implementation.

---------

Co-authored-by: Abram Sanderson <[email protected]>
Co-authored-by: yann-achard-MS <[email protected]>
We are confident in the reliability of the GC code and have worked with
key 1P early adopters of GC to enable Tombstone Enforcement. It's time
to enable it by default.
…elease scope when rendering summary tables (#18687)

#18663 Added the ability to filter what kinds of items should have
documentation generated for them based on their release scope. It
correctly implemented filtering where details rendering occurs
(including when separate documents would be generated for those items),
but did not correctly update rendering of top-level summary tables to
filter out such items. This resulted in summary table entries with
broken links to non-existent details entries.

This PR addresses this issue. See updated test snapshots for examples of
the issues now resolved.

Also:
- adds filter helpers to the public API via the `ApiItemUtilities`
entrypoint.
- Needed to ensure custom layout implementations can correctly filter
child items
- adds a transformation-level regression/unit test for the scenario.
## Description

Migrating the OptionalField FieldKind to use root builds.

## Reviewer Guidance

The review process is outlined on [this wiki
page](https://github.com/microsoft/FluidFramework/wiki/PR-Guidelines#guidelines).

---------

Co-authored-by: Yann Achard <[email protected]>
…drated `initialTree` input (#18707)

Disabled test illustrates a currently unsupported input case that we
will want to address in the future.
@msfluid-bot
Copy link
Collaborator Author

@fluid-example/bundle-size-tests: +3.47 KB
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 452.78 KB 453.96 KB +1.18 KB
connectionState.js 680 Bytes 680 Bytes No change
containerRuntime.js 239.23 KB 240.41 KB +1.17 KB
loader.js 166.81 KB 166.82 KB +2 Bytes
map.js 46.7 KB 46.7 KB +2 Bytes
matrix.js 147.36 KB 147.36 KB +2 Bytes
odspDriver.js 90.35 KB 90.36 KB +2 Bytes
odspPrefetchSnapshot.js 41.82 KB 41.82 KB +2 Bytes
sharedString.js 165.55 KB 165.55 KB No change
sharedTree2.js 287.36 KB 288.46 KB +1.11 KB
Total Size 1.75 MB 1.76 MB +3.47 KB

Baseline commit: 425e143

Generated by 🚫 dangerJS against 403b8a6

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.