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

Merged
merged 20 commits into from
Jul 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f7991d8
refactor(server): Add caller in getDeltas call + fix for undefined fr…
shubhi1092 Jul 19, 2023
aac3ad3
Lumberjack: fixing how property map is set (#16457)
hedasilv Jul 19, 2023
a67a0d2
Tree: Include lineage as part of cell IDs (#16434)
alex-pardes Jul 19, 2023
0240583
ci: Clarify message in main-next notifications (#16473)
tylerbutler Jul 20, 2023
b1f5b0b
ci: Skip area labels for main-next PRs (#16472)
tylerbutler Jul 20, 2023
ed190e0
Abort signal in blob manager (#16469)
dannimad Jul 20, 2023
e399f99
Increase maxListeners on DeltaManagerSummarizerProxy and AgentSchedul…
astegmaier Jul 20, 2023
aebd5ed
Decouple from TelemetryUTLogger (#16466)
anthony-murphy Jul 20, 2023
7bf4157
build(deps): bump word-wrap from 1.2.3 to 1.2.4 in /tools/markdown-ma…
dependabot[bot] Jul 20, 2023
d13b906
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /tools/test-to…
dependabot[bot] Jul 20, 2023
fb58c0f
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /tools/changel…
dependabot[bot] Jul 20, 2023
975102c
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /tools/api-mar…
dependabot[bot] Jul 20, 2023
4b01f8b
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /common/lib/co…
dependabot[bot] Jul 20, 2023
6542ddb
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /tools/getkeys…
dependabot[bot] Jul 20, 2023
ba1394c
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /tools/benchma…
dependabot[bot] Jul 20, 2023
8dd2d5b
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /common/lib/co…
dependabot[bot] Jul 20, 2023
69f5a60
fix(routerlicious): Fix invalid trailing comma in JSON (#16494)
alexvy86 Jul 20, 2023
3e98bd1
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /server/tinyli…
dependabot[bot] Jul 20, 2023
9836168
build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /server/gitres…
dependabot[bot] Jul 20, 2023
80698ad
Automation: main-next integrate
msfluid-bot Jul 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/merge-next-notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ jobs:
with:
only_create: true
message: |
Please review this PR: @sonalideshpandemsft @tylerbutler @scottn12
This PR is ready to merge! Please review it and squash merge into `next`: @sonalideshpandemsft @tylerbutler @scottn12
7 changes: 6 additions & 1 deletion .github/workflows/pr-labeler.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
name: "Pull Request Labeler"
on:
pull_request_target:
types: [ opened, synchronize, reopened ]
types: [ opened, synchronize, reopened, labeled, unlabeled ]
branches: [ main, next, release/* ]

jobs:
paths_label:
runs-on: ubuntu-latest
name: Label based on file paths
# Skip labeling main-next merge PRs. The area labels are noisy and distracting for main-next PRs because they can
# contain many commits, and thus touch nearly the whole repo in a single commit. Skipping these labels makes it
# easier to focus on the more relevant main-next labels.
if: "!contains(github.event.issue.labels.*.name, 'main-next-integrate')"
steps:
- uses: actions/labeler@5c7539237e04b714afd8ad9b4aed733815b9fab4 # ratchet:actions/labeler@v4.0.2
with:
Expand Down
2 changes: 1 addition & 1 deletion api-report/container-runtime.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents>
updateUnusedRoutes(unusedRoutes: string[]): void;
updateUsedRoutes(usedRoutes: string[]): void;
// (undocumented)
uploadBlob(blob: ArrayBufferLike): Promise<IFluidHandle<ArrayBufferLike>>;
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
}

// @public (undocumented)
Expand Down
2 changes: 1 addition & 1 deletion api-report/datastore-definitions.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export interface IFluidDataStoreRuntime extends IFluidRouter, IEventProvider<IFl
// (undocumented)
readonly rootRoutingContext: IFluidHandleContext;
submitSignal(type: string, content: any): void;
uploadBlob(blob: ArrayBufferLike): Promise<IFluidHandle<ArrayBufferLike>>;
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
waitAttached(): Promise<void>;
}

Expand Down
2 changes: 1 addition & 1 deletion api-report/datastore.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ export class FluidDataStoreRuntime extends TypedEventEmitter<IFluidDataStoreRunt
summarize(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummaryTreeWithStats>;
updateUsedRoutes(usedRoutes: string[]): void;
// (undocumented)
uploadBlob(blob: ArrayBufferLike): Promise<IFluidHandle<ArrayBufferLike>>;
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
// (undocumented)
visibilityState: VisibilityState_2;
waitAttached(): Promise<void>;
Expand Down
4 changes: 2 additions & 2 deletions api-report/runtime-definitions.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeB
request(request: IRequest): Promise<IResponse>;
submitSignal(type: string, content: any): void;
// (undocumented)
uploadBlob(blob: ArrayBufferLike): Promise<IFluidHandle<ArrayBufferLike>>;
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
}

// @public (undocumented)
Expand Down Expand Up @@ -280,7 +280,7 @@ export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreCo
submitMessage(type: string, content: any, localOpMetadata: unknown): void;
submitSignal(type: string, content: any): void;
// (undocumented)
uploadBlob(blob: ArrayBufferLike): Promise<IFluidHandle<ArrayBufferLike>>;
uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
}

// @public (undocumented)
Expand Down
1 change: 0 additions & 1 deletion api-report/tree2.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1805,7 +1805,6 @@ export interface SequenceFieldEditBuilder {
delete(index: number, count: number): void;
insert(index: number, newContent: ITreeCursor | readonly ITreeCursor[]): void;
move(sourceIndex: number, count: number, destIndex: number): void;
revive(index: number, count: number, detachedBy: RevisionTag, detachId: ChangesetLocalId, reviver: NodeReviver, isIntention?: true): void;
}

// @alpha
Expand Down
6 changes: 3 additions & 3 deletions common/lib/common-definitions/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions common/lib/common-utils/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import {
Delta,
UpPath,
ITreeCursor,
RevisionTag,
ChangeFamilyEditor,
FieldUpPath,
} from "../../core";
Expand All @@ -21,8 +20,6 @@ import {
ModularEditBuilder,
FieldChangeset,
ModularChangeset,
NodeReviver,
ChangesetLocalId,
} from "../modular-schema";
import { fieldKinds, optional, sequence, value as valueFieldKind } from "./defaultFieldKinds";

Expand Down Expand Up @@ -243,26 +240,6 @@ export class DefaultEditBuilder implements ChangeFamilyEditor, IDefaultEditBuild
moveId,
);
},
revive: (
index: number,
count: number,
detachedBy: RevisionTag,
detachId: ChangesetLocalId,
reviver: NodeReviver,
isIntention?: true,
): void => {
const change: FieldChangeset = brand(
sequence.changeHandler.editor.revive(
index,
count,
detachedBy,
detachId,
reviver,
isIntention,
),
);
this.modularBuilder.submitChange(field, sequence.identifier, change);
},
};
}
}
Expand Down Expand Up @@ -315,23 +292,4 @@ export interface SequenceFieldEditBuilder {
* @param destIndex - the index the elements are moved to, interpreted after removing the moving elements.
*/
move(sourceIndex: number, count: number, destIndex: number): void;

/**
* Revives a contiguous range of deleted nodes.
* @param index - The index at which to revive the node (this will become the index of the first revived node).
* @param count - The number of nodes to revive.
* @param detachedBy - The revision of the edit that deleted the nodes.
* @param reviver - The NodeReviver used to retrieve repair data.
* @param detachIndex - The index of the first node to revive in the input context of edit `detachedBy`.
* @param isIntention - If true, the node will be revived even if edit `detachedBy` did not ultimately
* delete them. If false, only those nodes that were deleted by `detachedBy` (and not revived) will be revived.
*/
revive(
index: number,
count: number,
detachedBy: RevisionTag,
detachId: ChangesetLocalId,
reviver: NodeReviver,
isIntention?: true,
): void;
}
1 change: 1 addition & 0 deletions experimental/dds/tree2/src/feature-libraries/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ export {
NodeExistsConstraint,
NodeExistenceState,
BrandedFieldKind,
ChangeAtomId,
} from "./modular-schema";

export {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
Modify,
MoveId,
NoopMarkType,
CellId,
} from "./format";
import { MarkListFactory } from "./markListFactory";
import { MarkQueue } from "./markQueue";
Expand Down Expand Up @@ -192,10 +193,7 @@ function composeMarks<TNodeChange>(
// Modify and Placeholder marks must be muted because the node they target has been deleted.
// Detach marks must be muted because the cell is empty.
if (newMark.type === "Modify" || newMark.type === "Placeholder" || isDetachMark(newMark)) {
assert(
newMark.detachEvent !== undefined,
"Invalid node-targeting mark after transient",
);
assert(newMark.cellId !== undefined, "Invalid node-targeting mark after transient");
return baseMark;
}
if (newMark.type === "ReturnTo") {
Expand Down Expand Up @@ -363,7 +361,7 @@ function createModifyMark<TNodeChange>(
assert(length === 1, 0x692 /* A mark with a node change must have length one */);
const mark: Modify<TNodeChange> = { type: "Modify", changes: nodeChange };
if (cellId !== undefined) {
mark.detachEvent = cellId;
mark.cellId = cellId;
}
return mark;
}
Expand Down Expand Up @@ -585,7 +583,7 @@ export class ComposeQueue<T> {
isExistingCellMark(baseMark) && areInputCellsEmpty(baseMark),
0x696 /* Mark with empty output must either be a detach or also have input empty */,
);
baseCellId = baseMark.detachEvent;
baseCellId = baseMark.cellId;
}
const cmp = compareCellPositions(
baseCellId,
Expand Down Expand Up @@ -805,11 +803,11 @@ function areInverseMovesAtIntermediateLocation(
0x6d0 /* baseMark should be an attach and newMark should be a detach */,
);

if (baseMark.type === "ReturnTo" && baseMark.detachEvent?.revision === newIntention) {
if (baseMark.type === "ReturnTo" && baseMark.cellId?.revision === newIntention) {
return true;
}

if (newMark.type === "ReturnFrom" && newMark.detachEvent?.revision === baseIntention) {
if (newMark.type === "ReturnFrom" && newMark.cellId?.revision === baseIntention) {
return true;
}

Expand All @@ -826,14 +824,15 @@ function areInverseMovesAtIntermediateLocation(
* are before the first cell of `newMark`.
*/
function compareCellPositions(
baseCellId: ChangeAtomId,
baseCellId: CellId,
baseMark: Mark<unknown>,
newMark: EmptyInputCellMark<unknown>,
newIntention: RevisionTag | undefined,
cancelledInserts: Set<RevisionTag>,
): number {
const newCellId = getCellId(newMark, newIntention);
if (newCellId !== undefined && baseCellId.revision === newCellId.revision) {
assert(newCellId !== undefined, "Should have cell ID");
if (baseCellId.revision === newCellId.revision) {
if (isNewAttach(newMark)) {
// There is some change foo that is being cancelled out as part of a rebase sandwich.
// The marks that make up this change (and its inverse) may be broken up differently between the base
Expand All @@ -859,31 +858,27 @@ function compareCellPositions(
}
}

if (newCellId !== undefined) {
const offset = getOffsetInCellRange(
baseMark.lineage,
newCellId.revision,
newCellId.localId,
getMarkLength(newMark),
);
if (offset !== undefined) {
return offset > 0 ? offset : -Infinity;
}
const offsetInBase = getOffsetInCellRange(
baseCellId.lineage,
newCellId.revision,
newCellId.localId,
getMarkLength(newMark),
);
if (offsetInBase !== undefined) {
return offsetInBase > 0 ? offsetInBase : -Infinity;
}

{
const offset = getOffsetInCellRange(
newMark.lineage,
baseCellId.revision,
baseCellId.localId,
getMarkLength(baseMark),
);
if (offset !== undefined) {
return offset > 0 ? -offset : Infinity;
}
const offsetInNew = getOffsetInCellRange(
newCellId.lineage,
baseCellId.revision,
baseCellId.localId,
getMarkLength(baseMark),
);
if (offsetInNew !== undefined) {
return offsetInNew > 0 ? -offsetInNew : Infinity;
}

const cmp = compareLineages(baseMark.lineage, newMark.lineage);
const cmp = compareLineages(baseCellId.lineage, newCellId.lineage);
if (cmp !== 0) {
return Math.sign(cmp) * Infinity;
}
Expand Down
Loading
Loading