Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
0c8e15e
[LOCAL] Bump Hermes
cipolleschi Jan 13, 2025
94b7082
Revert "Do not reset rn-artifacts-version on release branch (#48572)"
cortinico Jan 13, 2025
b713f27
Release 0.78.0-rc.0
react-native-bot Jan 15, 2025
5c7823f
Properly test JSC for template_app e2e tests (#48656)
cipolleschi Jan 14, 2025
ddfa8a7
Use RNTester App downloaded from CI instead of building (#48637)
cipolleschi Jan 15, 2025
5bff540
Fix ruby (#48721)
cipolleschi Jan 16, 2025
36e2ae6
fix Pressable when transform style is animated (#48672)
sammy-SC Jan 14, 2025
bb5f971
Animated: Fix `onUserDrivenAnimationEnded` w/ Insertion Effects (#48678)
yungsters Jan 15, 2025
3abb4ca
Animated: Defer `onAnimatedValueUpdate` on Attach + Native (#48715)
yungsters Jan 16, 2025
1f412d0
Release 0.78.0-rc.1
react-native-bot Jan 20, 2025
7e883be
Update Podfile.lock
fabriziocucci Jan 22, 2025
8207a09
Fix images not displayed when extension is implicit (#48888)
cipolleschi Jan 23, 2025
465f49e
Release 0.78.0-rc.2
react-native-bot Jan 28, 2025
76da20a
Update Podfile.lock
fabriziocucci Jan 29, 2025
1bd9d36
fix(react-native): pass the protocol from bundle URL to HMR client on…
byCedric Jan 28, 2025
cbf4f26
fix(dev-middleware): add missing `invariant` dependency (#49047)
tido64 Jan 30, 2025
ea49d4d
Fix `maxFontSizeMultiplier` prop on `Text` and `TextInput` components…
RickardZrinski Jan 29, 2025
5c55580
Add extra parameter to define whether codegen is invoked by lib or ap…
cipolleschi Jan 28, 2025
82b78f3
Release 0.78.0-rc.3
react-native-bot Feb 3, 2025
5f1aeff
[LOCAL] Bump Podfile.lock
cipolleschi Feb 3, 2025
d5b9e79
Be less strict with method parsing of TurboModule Interop Layer (#49072)
cipolleschi Feb 3, 2025
a567736
Fix "paused on debugger" overlay icon (#48736)
robhogan Jan 16, 2025
9468ac6
Fix execution of early InteropEvents (#48823)
mdvacca Jan 22, 2025
8072627
Undo breaking change in ReactPointerEventsView due to Kotlin conversi…
cortinico Feb 7, 2025
ef14530
Undo a breaking change on ReactOverflowView (#49229)
cortinico Feb 7, 2025
b96e948
Revert visibility change of ReactCookieJarContainer (#49247)
javache Feb 7, 2025
ebfd705
[RN][iOS] Properly handle null values in TM interop layer (#49291)
cipolleschi Feb 10, 2025
461ec65
Release 0.78.0-rc.4
react-native-bot Feb 11, 2025
98e8e84
Update Podfile.lock
fabriziocucci Feb 11, 2025
9e664dc
Make UIBlock.execute params non nullable
mdvacca Feb 10, 2025
7b088fa
Allow multiple RN instances to run at the same time (#49300)
cipolleschi Feb 11, 2025
86db4fa
Restore Metro log streaming via CLI flag (#49354)
huntie Feb 12, 2025
a2f17c5
Release 0.78.0-rc.5
react-native-bot Feb 13, 2025
1e5ae5f
Update Podfile.lock
fabriziocucci Feb 13, 2025
c64256b
Release 0.78.0
react-native-bot Feb 19, 2025
721f5d3
Update Podfile.lock
fabriziocucci Feb 20, 2025
bdc83cb
Added custom load js block in bridge mode (#48845)
zhongwuzw Feb 6, 2025
123bfb8
Update cli-server-api middleware imports (#48997)
huntie Jan 28, 2025
68dc582
Fix elevation with border-radius set (#48982) (#49877)
polovi Mar 7, 2025
97adbd8
Fix issue with extraModulesForBridge callback (#49849)
Mar 7, 2025
12b70ae
[RN][Releases] Fix Publish template (#49789)
cipolleschi Mar 11, 2025
9e47ed9
increase ping-pong timeout before killing WS connection to DevTools (…
vzaidman Feb 13, 2025
282cdc9
Fixes TextInput crashes when any text is entered while running as iOS…
zhongwuzw Mar 11, 2025
665212e
Fix Android Image `defaultSource` runtime error (#49097)
mateoguzmana Feb 4, 2025
9ffbead
community-cli-plugin: resolve cli-server-api via peer dependency on c…
robhogan Mar 18, 2025
29e39d1
Handle null params in the Interop TM layer (#49873)
cipolleschi Mar 7, 2025
1299ef7
Release 0.78.1
react-native-bot Mar 19, 2025
166ea31
[LOCAL][RN][iOS] Bump Podfile.lock
cipolleschi Mar 19, 2025
1e54c5d
Remove the v prefix from the version passed by GHA to the script (#50…
cipolleschi Mar 20, 2025
23c9dbc
Metro minimum to 0.81.3, fix "_interopRequireDefault is not a functio…
robhogan Apr 1, 2025
301532b
fix: set text position should not reset component text (#49450)
freeboub Feb 24, 2025
31e09bc
Fix issue with zIndex child removal (#49900)
rozele Mar 10, 2025
994ea3b
Add missing loadFromSource method in the DefaultRNFactoryDelegate (#4…
cipolleschi Mar 10, 2025
5861f7e
fix: iOS app crash caused by the request operation canceling (#48350)
zhouzh1 Feb 18, 2025
eb8c1c3
Correctly batch reportMount calls (#50090)
rubennorte Mar 18, 2025
aa75e94
Avoid errors when dispatching mount operations within mount hooks (#5…
rubennorte Mar 18, 2025
ae1841a
Convert to JSException only NSException from sync methods (#50193)
cipolleschi Mar 21, 2025
f3d1ad1
Release 0.78.2
react-native-bot Apr 1, 2025
b05a254
Avoid memory leak in RCTWebSocketModule
adgarcia Apr 23, 2019
2844719
[Discord] Update boost podspec to expose PodToBuild friendly artifact.
mrkcsc Dec 12, 2021
d1d206d
[Discord] Version bumping script
denbeigh2000 Jan 27, 2022
b457431
[RNA] Add max fling velocity capability to scroll view.
mrkcsc Mar 16, 2022
ae1621a
[RNA] Add useSmallCache prop to ReactImageView.
mrkcsc Mar 24, 2022
6df70c0
animate switch on value change
Apr 7, 2022
e4e6ead
[RNA] Allow modal component to be edge to edge on Android.
mrkcsc Apr 19, 2022
ede5a7c
have clicks working to show keyboard on android 7
AndyG May 11, 2022
f7e8382
expose `flush` on RCTWebSocketModule to close all open websockets syn…
nealmanaktola May 25, 2022
0ffa31f
[Discord] Have codegen script prefer `react-codegen` in NPM
FuegoFro Jun 13, 2022
16c200f
Add a `preventClipping` prop
Jun 22, 2022
0f80a08
Ripple radius now applies to corner radius instead of circular radius
Flewp Jun 30, 2022
4db42af
[RNA] CustomLineHeightSpan changes
charlesx2013 Aug 29, 2022
3507fe7
Custom handling of fonts
Flewp Jul 18, 2024
eb0d37e
Update RNA ImageView to support forced cached property to fix GIF fli…
mrkcsc Dec 11, 2021
2995db3
[Discord] SRWebSocket flush method
Flewp Mar 9, 2024
c7b9b79
Clamp `last` prop of `VirtualizedList`
lsdimagine Aug 4, 2023
0867de9
[Upstreamed] Fix incorrect values for modal sizing (#45)
pmick Oct 11, 2023
0479c5f
[Discord] Always configure React Native NDK regardless of New Arch
Flewp May 25, 2023
2d1b548
Include `raw_length` in Websocket event
ypisetsky Oct 31, 2023
7adbb73
Avoid using Xcode 15's gcc to compile glog
stevenpetryk Nov 28, 2023
fb11161
[Discord] Add Websocket Module setCustomClientBuilder
DDRBoxman Feb 15, 2024
3e2977d
Additional null check for focusing/blurring views
Flewp Feb 22, 2024
a22ddd6
[Discord] Moving registry of RCTEventEmitter to constructor
Flewp Apr 10, 2024
3577afd
Adding ClassCastException to possible Exceptions that unwind addition…
Flewp Apr 19, 2024
76f12f8
[Discord] Addressing Gradle plugin versioning issues caused by Versio…
Flewp Jun 12, 2024
cf35472
[Discord] NDK Publishing additions
Flewp Jul 17, 2024
49ad178
[Discord] Adding ICU_FOUND=1 to hermes build
Flewp Jul 22, 2024
ccf1612
Ensure third-party-podspecs depend on react_native_pods.rb
stevenpetryk Jul 29, 2024
1403b04
[IOS] Fix a bug in reported device window/screen size for iPad and po…
mrkcsc Sep 11, 2024
23cf8ec
[Discord] kv-storage prebuilt prefab config
Flewp Dec 4, 2024
4d0542a
Patch Flow syntax failures
joemun Dec 5, 2024
277f1e3
[Discord] ForwardingConsoleMethods.def -> ForwardingConsoleMethods.h …
Flewp Jan 4, 2025
b83bb38
fix: work with comma separated fonts
hannojg Mar 2, 2025
c3add7b
Misc. Syntax Errors, Squash Later
Flewp Mar 10, 2025
0cf4f7d
More ImageSource Cleanup (Squash Later)
Flewp Mar 10, 2025
0d46d0e
Update Android websocket module to expose onOpen callback.
Flewp Mar 11, 2025
a439109
Syntax Fixes, Squash Later
Flewp Mar 11, 2025
4334a1b
Add require_relative to fast_float podspec
pmick Mar 27, 2025
df4fc7a
Add ifdef to plugins import in devtools
pmick Apr 15, 2025
130eb14
Revert to rn76 logic for rncore codegen check
pmick Apr 21, 2025
e0f3d79
update Text to support gradient colors
timothy-huynh Apr 22, 2025
effdf52
[android] harden AppStateModule initial state (#57)
RubyFeinstein May 5, 2025
ba6bb62
update Text gradient colors to be mirrored on ios (#59)
timothy-huynh May 6, 2025
0d785f4
fix android gradient colors faded (#60)
timothy-huynh May 6, 2025
3af7d4a
new arch rn078 fixes (#62)
hannojg May 7, 2025
79663df
Introduce getDiffProps for <View> (#45552) (#64)
hannojg May 14, 2025
a1f9872
patch ReactModalHostview to init with correct sizes (#63)
AndreiCalazans May 14, 2025
1dbcf5e
fix: shadow node state updates (#65)
hannojg May 20, 2025
7abaca9
Set useShadowNodeStateOnClone by default to true
Flewp May 20, 2025
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: 0 additions & 2 deletions .github/actions/build-android/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ runs:
- name: Set React Native Version
shell: bash
run: node ./scripts/releases/set-rn-artifacts-version.js --build-type ${{ inputs.release-type }}
# We don't want to re-set the artifacts version if we're on the release branch.
if: ${{ !contains(github.ref, '-stable') }}
- name: Setup gradle
uses: ./.github/actions/setup-gradle
with:
Expand Down
6 changes: 5 additions & 1 deletion .github/workflow-scripts/publishTemplate.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ module.exports.verifyPublishedTemplate = async (
latest = false,
retries = MAX_RETRIES,
) => {
if (version.startsWith('v')) {
version = version.slice(1);
}

log(`🔍 Is ${TEMPLATE_NPM_PKG}@${version} on npm?`);

let count = retries;
Expand All @@ -86,7 +90,7 @@ module.exports.verifyPublishedTemplate = async (
return;
}
log(
`🐌 ${TEMPLATE_NPM_PKG}@latest → ${pkg.version} on npm and not ${version} as expected, retrying...`,
`🐌 ${TEMPLATE_NPM_PKG}@latest → ${json.version} on npm and not ${version} as expected, retrying...`,
);
} catch (e) {
log(`Nope, fetch failed: ${e.message}`);
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/test-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ jobs:
react-native-version: ${{ needs.prepare_hermes_workspace.outputs.react-native-version }}

test_ios_rntester:
runs-on: macos-13
runs-on: macos-13-large
needs:
[build_apple_slices_hermes, prepare_hermes_workspace, build_hermes_macos]
env:
Expand Down Expand Up @@ -369,6 +369,11 @@ jobs:
sed -i 's/newArchEnabled=true/newArchEnabled=false/' android/gradle.properties
fi

if [[ ${{matrix.jsengine}} == "JSC" ]]; then
echo "Using JSC instead of Hermes"
sed -i 's/hermesEnabled=true/hermesEnabled=false/' android/gradle.properties
fi

# Build
cd android
CAPITALIZED_FLAVOR=$(echo "${{ matrix.flavor }}" | awk '{print toupper(substr($0, 1, 1)) substr($0, 2)}')
Expand Down
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ ruby ">= 2.6.10"
gem 'cocoapods', '~> 1.13', '!= 1.15.0', '!= 1.15.1'
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
gem 'xcodeproj', '< 1.26.0'
gem 'concurrent-ruby', '< 1.3.4'
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

plugins {
alias(libs.plugins.nexus.publish)
alias(libs.plugins.android.library) apply false
id(libs.plugins.android.library.get().pluginId) version libs.plugins.android.library.get().version.requiredVersion apply false
alias(libs.plugins.android.application) apply false
alias(libs.plugins.download) apply false
alias(libs.plugins.kotlin.android) apply false
Expand Down
66 changes: 66 additions & 0 deletions discord/bump_version.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/env python3

from pathlib import Path
from typing import List
import re
import subprocess
import sys


def check_output(args: List[str]) -> str:
return subprocess.check_output(args).decode('utf-8').strip()


VERSION_MATCHER = re.compile(r'^(.*)-discord-(\d*)$')

status = check_output(['git', 'status', '--porcelain'])
if status != '':
print('Detected changed files, please remove or commit them first.\n')
print(status)
sys.exit(1)


root = check_output(['git', 'rev-parse', '--show-toplevel'])
android_path = Path(root) / "ReactAndroid"
props_path = android_path / "gradle.properties"

version = None
property_lines = [line.strip() for line in props_path.read_text().splitlines()]
for line in property_lines:
if line.startswith("VERSION_NAME="):
version = line.split('=')[1]

assert version, "unable to find current version"

matches = VERSION_MATCHER.match(version)
assert matches, f'{version} did not match expected format, X.Y.Z-discord-N'

upstream = matches[1]
local = int(matches[2])

new_version = f'{upstream}-discord-{local + 1}'

with open(props_path, 'w') as f:
for line in property_lines:
if line.startswith("VERSION_NAME="):
f.write(f'VERSION_NAME={new_version}\n')
else:
f.write(f'{line}\n')


branch_name = check_output(['git', 'symbolic-ref', '--short', 'HEAD'])

subprocess.check_call(
['../gradlew', 'publishReleasePublicationToDiscordRepository'],
cwd=android_path.absolute()
)

subprocess.check_call(['git', 'add', props_path.absolute()])
subprocess.check_call(['git', 'commit', '-m', f'version bump: {new_version}'])
subprocess.check_call(['git', 'push', 'origin', branch_name])

new_commit = check_output(['git', 'rev-parse', 'HEAD'])


print(f'NEW TAGGED VERSION: {new_version}')
print(f'NEW COMMIT: {new_commit}')
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
"@babel/preset-flow": "^7.24.7",
"@definitelytyped/dtslint": "^0.0.127",
"@jest/create-cache-key-function": "^29.6.3",
"@react-native/metro-babel-transformer": "0.77.0-main",
"@react-native/metro-config": "0.77.0-main",
"@react-native/metro-babel-transformer": "0.78.2",
"@react-native/metro-config": "0.78.2",
"@tsconfig/node18": "1.0.1",
"@types/react": "^19.0.0",
"@typescript-eslint/parser": "^7.1.1",
Expand Down Expand Up @@ -87,9 +87,9 @@
"jest-junit": "^10.0.0",
"jest-snapshot": "^29.7.0",
"jscodeshift": "^0.14.0",
"metro-babel-register": "^0.81.0",
"metro-memory-fs": "^0.81.0",
"metro-transform-plugins": "^0.81.0",
"metro-babel-register": "^0.81.3",
"metro-memory-fs": "^0.81.3",
"metro-transform-plugins": "^0.81.3",
"micromatch": "^4.0.4",
"node-fetch": "^2.2.0",
"nullthrows": "^1.1.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/assets/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native/assets-registry",
"version": "0.77.0-main",
"version": "0.78.2",
"description": "Asset support code for React Native.",
"license": "MIT",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions packages/babel-plugin-codegen/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native/babel-plugin-codegen",
"version": "0.77.0-main",
"version": "0.78.2",
"description": "Babel plugin to generate native module and view manager code for React Native.",
"license": "MIT",
"repository": {
Expand All @@ -26,7 +26,7 @@
],
"dependencies": {
"@babel/traverse": "^7.25.3",
"@react-native/codegen": "0.77.0-main"
"@react-native/codegen": "0.78.2"
},
"devDependencies": {
"@babel/core": "^7.25.2"
Expand Down
5 changes: 3 additions & 2 deletions packages/community-cli-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Start the React Native development server.
#### Usage

```sh
npx react-native start [options]
npx @react-native-community/cli start [options]
```

#### Options
Expand All @@ -37,6 +37,7 @@ npx react-native start [options]
| `--cert <path>` | Specify path to a custom SSL cert. |
| `--config <string>` | Path to the CLI configuration file. |
| `--no-interactive` | Disable interactive mode. |
| `--client-logs` | **[Deprecated]** Enable plain text JavaScript log streaming for all connected apps. |

### `bundle`

Expand All @@ -45,7 +46,7 @@ Build the bundle for the provided JavaScript entry file.
#### Usage

```sh
npx react-native bundle --entry-file <path> [options]
npx @react-native-community/cli bundle --entry-file <path> [options]
```

#### Options
Expand Down
18 changes: 9 additions & 9 deletions packages/community-cli-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native/community-cli-plugin",
"version": "0.77.0-main",
"version": "0.78.2",
"description": "Core CLI commands for React Native",
"keywords": [
"react-native",
Expand All @@ -22,25 +22,25 @@
"dist"
],
"dependencies": {
"@react-native/dev-middleware": "0.77.0-main",
"@react-native/metro-babel-transformer": "0.77.0-main",
"@react-native/dev-middleware": "0.78.2",
"@react-native/metro-babel-transformer": "0.78.2",
"chalk": "^4.0.0",
"debug": "^2.2.0",
"invariant": "^2.2.4",
"metro": "^0.81.0",
"metro-config": "^0.81.0",
"metro-core": "^0.81.0",
"metro": "^0.81.3",
"metro-config": "^0.81.3",
"metro-core": "^0.81.3",
"readline": "^1.3.0",
"semver": "^7.1.3"
},
"devDependencies": {
"metro-resolver": "^0.81.0"
"metro-resolver": "^0.81.3"
},
"peerDependencies": {
"@react-native-community/cli-server-api": "*"
"@react-native-community/cli": "*"
},
"peerDependenciesMeta": {
"@react-native-community/cli-server-api": {
"@react-native-community/cli": {
"optional": true
}
},
Expand Down
8 changes: 8 additions & 0 deletions packages/community-cli-plugin/src/commands/start/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,14 @@ const startCommand: Command = {
name: '--no-interactive',
description: 'Disables interactive mode',
},
{
name: '--client-logs',
description:
'[Deprecated] Enable plain text JavaScript log streaming for all ' +
'connected apps. This feature is deprecated and will be removed in ' +
'future.',
default: false,
},
],
};

Expand Down
38 changes: 26 additions & 12 deletions packages/community-cli-plugin/src/commands/start/middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
* @oncall react_native
*/

import type {NextHandleFunction, Server} from 'connect';
import typeof * as CLIServerAPI from '@react-native-community/cli-server-api';
import type {Server} from 'connect';
import type {TerminalReportableEvent} from 'metro/src/lib/TerminalReporter';

const debug = require('debug')('ReactNative:CommunityCliPlugin');
Expand All @@ -30,10 +31,6 @@ type MiddlewareReturn = {
...
};

const noopNextHandle: NextHandleFunction = (req, res, next) => {
next();
};

// $FlowFixMe
const unusedStubWSServer: ws$WebSocketServer = {};
// $FlowFixMe
Expand All @@ -45,6 +42,12 @@ const communityMiddlewareFallback = {
port: number,
watchFolders: $ReadOnlyArray<string>,
}): MiddlewareReturn => ({
// FIXME: Several features will break without community middleware and
// should be migrated into core.
// e.g. used by Libraries/Core/Devtools:
// - /open-stack-frame
// - /open-url
// - /symbolicate
middleware: unusedMiddlewareStub,
websocketEndpoints: {},
messageSocketEndpoint: {
Expand All @@ -59,23 +62,34 @@ const communityMiddlewareFallback = {
reportEvent: (event: TerminalReportableEvent) => {},
},
}),
indexPageMiddleware: noopNextHandle,
};

// Attempt to use the community middleware if it exists, but fallback to
// the stubs if it doesn't.
try {
const community = require('@react-native-community/cli-server-api');
communityMiddlewareFallback.indexPageMiddleware =
community.indexPageMiddleware;
// `@react-native-community/cli` is an optional peer dependency of this
// package, and should be a dev dependency of the host project (via the
// community template's package.json).
const communityCliPath = require.resolve('@react-native-community/cli');

// `@react-native-community/cli-server-api` is a dependency of
// `@react-native-community/cli`, but is not re-exported by it, so we need
// to resolve the former through the latter.
const communityCliServerApiPath = require.resolve(
'@react-native-community/cli-server-api',
{paths: [communityCliPath]},
);
// $FlowIgnore[unsupported-syntax] dynamic import
const communityCliServerApi: CLIServerAPI = require(
communityCliServerApiPath,
);
// $FlowIgnore[unsupported-syntax] dynamic import
communityMiddlewareFallback.createDevServerMiddleware =
community.createDevServerMiddleware;
communityCliServerApi.createDevServerMiddleware;
} catch {
debug(`⚠️ Unable to find @react-native-community/cli-server-api
Starting the server without the community middleware.`);
}

export const createDevServerMiddleware =
communityMiddlewareFallback.createDevServerMiddleware;
export const indexPageMiddleware =
communityMiddlewareFallback.indexPageMiddleware;
14 changes: 8 additions & 6 deletions packages/community-cli-plugin/src/commands/start/runServer.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import isDevServerRunning from '../../utils/isDevServerRunning';
import loadMetroConfig from '../../utils/loadMetroConfig';
import * as version from '../../utils/version';
import attachKeyHandlers from './attachKeyHandlers';
import {createDevServerMiddleware, indexPageMiddleware} from './middleware';
import {createDevServerMiddleware} from './middleware';
import {createDevMiddleware} from '@react-native/dev-middleware';
import chalk from 'chalk';
import Metro from 'metro';
Expand All @@ -44,6 +44,7 @@ export type StartCommandArgs = {
config?: string,
projectRoot?: string,
interactive: boolean,
clientLogs: boolean,
};

async function runServer(
Expand Down Expand Up @@ -96,6 +97,11 @@ async function runServer(
require.resolve(plugin),
);
}
// TODO(T214991636): Remove legacy Metro log forwarding
if (!args.clientLogs) {
// $FlowIgnore[cannot-write] Assigning to readonly property
metroConfig.server.forwardClientLogs = false;
}

let reportEvent: (event: TerminalReportableEvent) => void;
const terminal = new Terminal(process.stdout);
Expand Down Expand Up @@ -146,11 +152,7 @@ async function runServer(
secure: args.https,
secureCert: args.cert,
secureKey: args.key,
unstable_extraMiddleware: [
communityMiddleware,
indexPageMiddleware,
middleware,
],
unstable_extraMiddleware: [communityMiddleware, middleware],
websocketEndpoints: {
...communityWebsocketEndpoints,
...websocketEndpoints,
Expand Down
2 changes: 1 addition & 1 deletion packages/core-cli-utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native/core-cli-utils",
"version": "0.77.0-main",
"version": "0.78.2",
"description": "React Native CLI library for Frameworks to build on",
"license": "MIT",
"main": "./src/index.flow.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/debugger-frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@react-native/debugger-frontend",
"version": "0.77.0-main",
"version": "0.78.2",
"description": "Debugger frontend for React Native based on Chrome DevTools",
"keywords": [
"react-native",
Expand Down
Loading