Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
0b2f3cf
Revert "[Flight] Fix style nit from #26623 (#26629)"
kassens Apr 17, 2023
0fe1bfa
Revert "[Flight] Serialize weird numbers (#26623)"
kassens Apr 17, 2023
f567431
Revert "Synchronously flush the transition lane scheduled in a popsta…
kassens Apr 17, 2023
c0e0f53
Revert "Remove revertRemovalOfSiblingPrerendering killswitch (#26549)"
kassens Apr 17, 2023
e73e5eb
Revert "Throttle retries even if everything has loaded (#26611)"
kassens Apr 17, 2023
9e0036b
Revert "Convert more Suspense tests to use act (2/n) (#26610)"
kassens Apr 17, 2023
1c90108
Revert "Use already extracted values instead of reading off props for…
kassens Apr 17, 2023
8afbca1
Revert "Remove initOption special case (#26595)"
kassens Apr 17, 2023
110f762
Revert "Delete unused `eventTimes` Fiber field (#26599)"
kassens Apr 17, 2023
8b41858
Revert "Remove JND delay for non-transition updates (#26597)"
kassens Apr 17, 2023
29f84bd
Revert "Move validation of text nesting into ReactDOMComponent (#265…
kassens Apr 17, 2023
87fb8ea
Revert "Diff properties in the commit phase instead of generating an …
kassens Apr 17, 2023
ec8edaf
Revert "Rename HostConfig files to FiberConfig to clarify they are co…
kassens Apr 17, 2023
5988c2f
Revert "Rename ReactServerFormatConfig to ReactFizzConfig (#26591)"
kassens Apr 17, 2023
9429ec9
Revert "Implements wiring for Flight to have it's own "HostConfig" (#…
kassens Apr 17, 2023
7b6e17c
Revert "act: Move didScheduleLegacyUpdate to ensureRootIsScheduled (#…
kassens Apr 17, 2023
c4683a4
Revert "Don't update textarea defaultValue and input checked unnecess…
kassens Apr 17, 2023
481793a
Revert "Refactor some controlled component stuff (#26573)"
kassens Apr 17, 2023
d41e5c2
Revert "Fix: Move `destroy` field to shared instance object (#26561)"
kassens Apr 17, 2023
cc958d2
Revert "Clean up discrete event replaying (#26558)"
kassens Apr 17, 2023
5f06848
Revert "Remove no-fallthrough lint suppressions (#26553)"
kassens Apr 17, 2023
cb3fb01
Revert "Put common aliases in Map/Set instead of switch over strings …
kassens Apr 17, 2023
682e67e
Revert "Remove findInstanceBlockingEvent unused parameters (#26534)"
kassens Apr 17, 2023
f41ddb6
Revert "Refactor DOM Bindings Completely Off of DOMProperty Meta Prog…
kassens Apr 17, 2023
c6baac3
Revert "Revert "Cleanup enableSyncDefaultUpdate flag (#26236)" (#26528)"
kassens Apr 17, 2023
ea499ef
Revert "Fix logic around attribute seralization (#26526)"
kassens Apr 17, 2023
adac7b1
Revert "Fix suspense replaying forward refs (#26535)"
kassens Apr 17, 2023
314f7d3
Revert "[Float] Suspend unstyled content for up to 1 minute (#26532)"
kassens Apr 17, 2023
cfd9d8c
Revert "Allow transitions to interrupt Suspensey commits (#26531)"
kassens Apr 17, 2023
d8dfc22
Revert "Move update scheduling to microtask (#26512)"
kassens Apr 17, 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 fixtures/devtools/regression/shared.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* eslint-disable react/react-in-jsx-scope, react/jsx-no-undef */
/* eslint-disable no-fallthrough, react/react-in-jsx-scope, react/jsx-no-undef */
/* global React ReactCache ReactDOM SchedulerTracing ScheduleTracing */

const apps = [];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,13 +238,13 @@ function applyTextProps(instance, props, prevProps = {}) {
}
}

export * from 'react-reconciler/src/ReactFiberConfigWithNoPersistence';
export * from 'react-reconciler/src/ReactFiberConfigWithNoHydration';
export * from 'react-reconciler/src/ReactFiberConfigWithNoScopes';
export * from 'react-reconciler/src/ReactFiberConfigWithNoTestSelectors';
export * from 'react-reconciler/src/ReactFiberConfigWithNoMicrotasks';
export * from 'react-reconciler/src/ReactFiberConfigWithNoResources';
export * from 'react-reconciler/src/ReactFiberConfigWithNoSingletons';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoPersistence';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoHydration';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoScopes';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoTestSelectors';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoMicrotasks';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoResources';
export * from 'react-reconciler/src/ReactFiberHostConfigWithNoSingletons';

export function appendInitialChild(parentInstance, child) {
if (typeof child === 'string') {
Expand Down Expand Up @@ -346,10 +346,6 @@ export function getCurrentEventPriority() {
return DefaultEventPriority;
}

export function shouldAttemptEagerTransition() {
return false;
}

// The ART renderer is secondary to the React DOM renderer.
export const isPrimaryRenderer = false;

Expand Down
58 changes: 0 additions & 58 deletions packages/react-art/src/__tests__/ReactART-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,12 @@ const ReactTestRenderer = require('react-test-renderer');

// Isolate the noop renderer
jest.resetModules();
const ReactNoop = require('react-noop-renderer');
const Scheduler = require('scheduler');

let Group;
let Shape;
let Surface;
let TestComponent;

let waitFor;

const Missing = {};

function testDOMNodeStructure(domNode, expectedStructure) {
Expand Down Expand Up @@ -80,8 +76,6 @@ describe('ReactART', () => {
Shape = ReactART.Shape;
Surface = ReactART.Surface;

({waitFor} = require('internal-test-utils'));

TestComponent = class extends React.Component {
group = React.createRef();

Expand Down Expand Up @@ -363,58 +357,6 @@ describe('ReactART', () => {
doClick(instance);
expect(onClick2).toBeCalled();
});

// @gate !enableSyncDefaultUpdates
it('can concurrently render with a "primary" renderer while sharing context', async () => {
const CurrentRendererContext = React.createContext(null);

function Yield(props) {
Scheduler.log(props.value);
return null;
}

let ops = [];
function LogCurrentRenderer() {
return (
<CurrentRendererContext.Consumer>
{currentRenderer => {
ops.push(currentRenderer);
return null;
}}
</CurrentRendererContext.Consumer>
);
}

// Using test renderer instead of the DOM renderer here because async
// testing APIs for the DOM renderer don't exist.
ReactNoop.render(
<CurrentRendererContext.Provider value="Test">
<Yield value="A" />
<Yield value="B" />
<LogCurrentRenderer />
<Yield value="C" />
</CurrentRendererContext.Provider>,
);

await waitFor(['A']);

ReactDOM.render(
<Surface>
<LogCurrentRenderer />
<CurrentRendererContext.Provider value="ART">
<LogCurrentRenderer />
</CurrentRendererContext.Provider>
</Surface>,
container,
);

expect(ops).toEqual([null, 'ART']);

ops = [];
await waitFor(['B', 'C']);

expect(ops).toEqual(['Test']);
});
});

describe('ReactARTComponents', () => {
Expand Down
60 changes: 24 additions & 36 deletions packages/react-cache/src/__tests__/ReactCacheOld-test.internal.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ let textResourceShouldFail;
let waitForAll;
let assertLog;
let waitForThrow;
let act;

describe('ReactCache', () => {
beforeEach(() => {
Expand All @@ -41,7 +40,6 @@ describe('ReactCache', () => {
waitForAll = InternalTestUtils.waitForAll;
assertLog = InternalTestUtils.assertLog;
waitForThrow = InternalTestUtils.waitForThrow;
act = InternalTestUtils.act;

TextResource = createResource(
([text, ms = 0]) => {
Expand Down Expand Up @@ -147,14 +145,11 @@ describe('ReactCache', () => {
await waitForAll(['Suspend! [Hi]', 'Loading...']);

textResourceShouldFail = true;
let error;
try {
await act(() => jest.advanceTimersByTime(100));
} catch (e) {
error = e;
}
expect(error.message).toMatch('Failed to load: Hi');
assertLog(['Promise rejected [Hi]', 'Error! [Hi]', 'Error! [Hi]']);
jest.advanceTimersByTime(100);
assertLog(['Promise rejected [Hi]']);

await waitForThrow('Failed to load: Hi');
assertLog(['Error! [Hi]', 'Error! [Hi]']);

// Should throw again on a subsequent read
root.update(<App />);
Expand Down Expand Up @@ -222,8 +217,9 @@ describe('ReactCache', () => {
assertLog(['Promise resolved [2]']);
await waitForAll([1, 2, 'Suspend! [3]']);

await act(() => jest.advanceTimersByTime(100));
assertLog(['Promise resolved [3]', 1, 2, 3]);
jest.advanceTimersByTime(100);
assertLog(['Promise resolved [3]']);
await waitForAll([1, 2, 3]);

expect(root).toMatchRenderedOutput('123');

Expand All @@ -238,17 +234,13 @@ describe('ReactCache', () => {

await waitForAll([1, 'Suspend! [4]', 'Loading...']);

await act(() => jest.advanceTimersByTime(100));
assertLog([
'Promise resolved [4]',
1,
4,
'Suspend! [5]',
'Promise resolved [5]',
1,
4,
5,
]);
jest.advanceTimersByTime(100);
assertLog(['Promise resolved [4]']);
await waitForAll([1, 4, 'Suspend! [5]', 'Loading...']);

jest.advanceTimersByTime(100);
assertLog(['Promise resolved [5]']);
await waitForAll([1, 4, 5]);

expect(root).toMatchRenderedOutput('145');

Expand All @@ -270,18 +262,13 @@ describe('ReactCache', () => {
'Suspend! [2]',
'Loading...',
]);
jest.advanceTimersByTime(100);
assertLog(['Promise resolved [2]']);
await waitForAll([1, 2, 'Suspend! [3]', 'Loading...']);

await act(() => jest.advanceTimersByTime(100));
assertLog([
'Promise resolved [2]',
1,
2,
'Suspend! [3]',
'Promise resolved [3]',
1,
2,
3,
]);
jest.advanceTimersByTime(100);
assertLog(['Promise resolved [3]']);
await waitForAll([1, 2, 3]);
expect(root).toMatchRenderedOutput('123');
});

Expand All @@ -304,8 +291,9 @@ describe('ReactCache', () => {

await waitForAll(['Loading...']);

await act(() => jest.advanceTimersByTime(1000));
assertLog(['Promise resolved [B]', 'Promise resolved [A]', 'Result']);
jest.advanceTimersByTime(1000);
assertLog(['Promise resolved [B]', 'Promise resolved [A]']);
await waitForAll(['Result']);
expect(root).toMatchRenderedOutput('Result');
});

Expand Down
16 changes: 0 additions & 16 deletions packages/react-client/src/ReactFlightClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -559,22 +559,6 @@ export function parseModelString(
throw chunk.reason;
}
}
case 'I': {
// $Infinity
return Infinity;
}
case '-': {
// $-0 or $-Infinity
if (value === '$-0') {
return -0;
} else {
return -Infinity;
}
}
case 'N': {
// $NaN
return NaN;
}
case 'u': {
// matches "$undefined"
// Special encoding for `undefined` which can't be serialized as JSON otherwise.
Expand Down
24 changes: 1 addition & 23 deletions packages/react-client/src/ReactFlightReplyClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,24 +74,6 @@ function serializeSymbolReference(name: string): string {
return '$S' + name;
}

function serializeNumber(number: number): string | number {
if (Number.isFinite(number)) {
if (number === 0 && 1 / number === -Infinity) {
return '$-0';
} else {
return number;
}
} else {
if (number === Infinity) {
return '$Infinity';
} else if (number === -Infinity) {
return '$-Infinity';
} else {
return '$NaN';
}
}
}

function serializeUndefined(): string {
return '$undefined';
}
Expand Down Expand Up @@ -245,14 +227,10 @@ export function processReply(
return escapeStringValue(value);
}

if (typeof value === 'boolean') {
if (typeof value === 'boolean' || typeof value === 'number') {
return value;
}

if (typeof value === 'number') {
return serializeNumber(value);
}

if (typeof value === 'undefined') {
return serializeUndefined();
}
Expand Down
24 changes: 0 additions & 24 deletions packages/react-client/src/__tests__/ReactFlight-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -263,30 +263,6 @@ describe('ReactFlight', () => {
expect(ReactNoop).toMatchRenderedOutput(null);
});

it('can transport weird numbers', async () => {
const nums = [0, -0, Infinity, -Infinity, NaN];
function ComponentClient({prop}) {
expect(prop).not.toBe(nums);
expect(prop).toEqual(nums);
expect(prop.every((p, i) => Object.is(p, nums[i]))).toBe(true);
return `prop: ${prop}`;
}
const Component = clientReference(ComponentClient);

const model = <Component prop={nums} />;

const transport = ReactNoopFlightServer.render(model);

await act(async () => {
ReactNoop.render(await ReactNoopFlightClient.read(transport));
});

expect(ReactNoop).toMatchRenderedOutput(
// already checked -0 with expects above
'prop: 0,0,Infinity,-Infinity,NaN',
);
});

it('can transport BigInt', async () => {
function ComponentClient({prop}) {
return `prop: ${prop} (${typeof prop})`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
export * from 'react-client/src/ReactFlightClientConfigBrowser';
export * from 'react-client/src/ReactFlightClientConfigStream';
export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

export * from 'react-client/src/ReactFlightClientConfigBrowser';
export * from 'react-client/src/ReactFlightClientConfigStream';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';

export type Response = any;
export opaque type SSRManifest = mixed;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
export * from 'react-client/src/ReactFlightClientConfigBrowser';
export * from 'react-client/src/ReactFlightClientConfigStream';
export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
export * from 'react-client/src/ReactFlightClientConfigBrowser';
export * from 'react-client/src/ReactFlightClientConfigStream';
export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
export * from 'react-client/src/ReactFlightClientConfigNode';
export * from 'react-client/src/ReactFlightClientConfigStream';
export * from 'react-server-dom-webpack/src/ReactFlightClientConfigWebpackBundler';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
export * from 'react-client/src/ReactFlightClientConfigNode';
export * from 'react-client/src/ReactFlightClientConfigStream';
export * from 'react-server-dom-webpack/src/ReactFlightClientConfigNodeBundler';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@

export * from 'react-server-dom-relay/src/ReactFlightClientConfigDOMRelay';
export * from '../ReactFlightClientConfigNoStream';
export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM';
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@ describe('ProfilingCache', () => {
2 => 0,
},
"passiveEffectDuration": null,
"priorityLevel": "Normal",
"priorityLevel": "Immediate",
"timestamp": 0,
"updaters": [
{
Expand Down
Loading