Skip to content

[HOLD for live-markdown bump] Bump React Native to 0.79 #60421

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

Open
wants to merge 87 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
982fcaf
Merge branch 'refs/heads/war-in/migrate-documents-picker' into war-in…
war-in Apr 16, 2025
34aaa63
Merge branch 'refs/heads/war-in/pre-78/bump-gesture-handler' into war…
war-in Apr 16, 2025
9fc7294
minimal changes to run all platforms
war-in Apr 17, 2025
308ad45
Merge branch 'main' into war-in/rn-79-update
war-in Apr 17, 2025
ae78853
fix FocusTrap crash
war-in Apr 18, 2025
f704dc4
log warning when `findNodeHandle` used
war-in Apr 18, 2025
273c442
rename patches
war-in Apr 18, 2025
334393b
remove Batchinator from jest setup (it has been removed from RN)
war-in Apr 18, 2025
bc73948
fix gh actions
war-in Apr 18, 2025
c493cb3
Merge branch 'main' into war-in/rn-79-update
war-in Apr 22, 2025
a3a6e44
bump live-markdown & airship
war-in Apr 22, 2025
b25db8a
fix .ref usages
war-in Apr 22, 2025
4e0306a
Merge branch 'main' into war-in/rn-79-update
war-in Apr 23, 2025
f3779e6
fix settings screen
war-in Apr 23, 2025
f072e41
fix many typescript errors
war-in Apr 23, 2025
bd1ddb2
fix perf tests
war-in Apr 23, 2025
f24a9b6
fix eslint errors
war-in Apr 23, 2025
0d042a5
fix rest of eslint errors
war-in Apr 23, 2025
fed087d
fix one test suite
war-in Apr 23, 2025
43d2b7c
Merge branch 'main' into war-in/rn-79-update
war-in Apr 24, 2025
795a4aa
migrate changed patch
war-in Apr 24, 2025
569cdcb
fix crashing `developmentDebug`
war-in Apr 24, 2025
93f3dfd
Revert "fix rest of eslint errors"
war-in Apr 24, 2025
38cb036
Revert "fix eslint errors"
war-in Apr 24, 2025
0a56e97
Revert "fix many typescript errors"
war-in Apr 24, 2025
b8789b9
Merge branch 'war-in/prepare-for-react-19' into war-in/rn-79-update
war-in Apr 24, 2025
af53d51
revert revert
war-in Apr 24, 2025
d6412ab
revert revert
war-in Apr 24, 2025
69bf3a5
Merge branch 'main' into war-in/rn-79-update
war-in Apr 24, 2025
e5d1453
post-merge fixes
war-in Apr 24, 2025
b34bc7a
Merge branch 'main' into war-in/rn-79-update
war-in Apr 25, 2025
ca7c4f2
bump expo, rename patches
war-in Apr 25, 2025
99b8d49
bump react-native to 0.79.1
war-in Apr 25, 2025
e7b2e78
Merge branch 'main' into war-in/rn-79-update
war-in May 5, 2025
7530ed2
bump expo
war-in May 5, 2025
a0a8abe
bump react-native
war-in May 5, 2025
c63a09a
fix actions
war-in May 5, 2025
22ca3b3
remove unwanted line from package.json
war-in May 5, 2025
6f669eb
fix testsuite 1
war-in May 5, 2025
f19d7c2
Merge branch 'refs/heads/main' into war-in/rn-79-update
war-in May 5, 2025
1992c41
fix testsuite 3
war-in May 5, 2025
e1d47fd
Merge branch 'refs/heads/main' into war-in/rn-79-update
war-in May 5, 2025
3d70859
post-merge fixes
war-in May 5, 2025
a32f3c0
Merge branch 'main' into war-in/rn-79-update
war-in May 6, 2025
4652b05
fix some typecheck errors
war-in May 6, 2025
8a322e3
fix other typescript errors
war-in May 6, 2025
62046bf
Merge branch 'main' into war-in/rn-79-update
war-in May 6, 2025
f325a6f
update gradle-wrapper.jar s
war-in May 7, 2025
d14a5fc
Merge branch 'main' into war-in/rn-79-update
war-in May 8, 2025
ec49b4c
fix podfiles
war-in May 8, 2025
e5dd117
revert changes in test
war-in May 8, 2025
5c654f6
fix ref and fullstory type errors
war-in May 8, 2025
75bf062
remove unnecessary `| undefined` in type
war-in May 8, 2025
61664af
Remove withOnyxKey factory
blazejkustra May 8, 2025
d728107
Refactor WithReportAndPrivateNotesOrNotFound to remove unused Forward…
blazejkustra May 9, 2025
bd462ff
Update MouseEvent type to React.MouseEvent in Tooltip component
blazejkustra May 9, 2025
fbcd271
Assert the type in web implementation of an image
blazejkustra May 9, 2025
9ded104
Fix last React.cloneElement errors
blazejkustra May 9, 2025
4e1c074
Merge branch 'main' into war-in/rn-79-update
war-in May 9, 2025
111e625
fix straightforward eslint errors
war-in May 9, 2025
4db16a4
fix most of eslint errors
war-in May 9, 2025
08d0437
fix prettier
war-in May 9, 2025
91247a1
fix remaining eslint errors
war-in May 9, 2025
bf47c35
fix typecheck
war-in May 9, 2025
874ad6a
fix prettier
war-in May 9, 2025
5ec3e31
Merge branch 'main' into war-in/rn-79-update
war-in May 12, 2025
b715500
Merge branch 'main' into war-in/rn-79-update
war-in May 14, 2025
2d47d3f
fix missing address suggestions
war-in May 14, 2025
3439923
Merge branch 'refs/heads/main' into war-in/rn-79-update
war-in May 14, 2025
7542dd5
fix: restore old line height algorithm for now
WoLewicki May 15, 2025
ef278bb
Merge branch 'refs/heads/main' into war-in/rn-79-update
war-in May 16, 2025
cfd907c
fix jni crash
war-in May 16, 2025
73634c6
Merge branch 'main' into war-in/rn-79-update
war-in May 16, 2025
fa7ff33
bump `react-native-picker-select` & fix `focus-trap` issue
war-in May 16, 2025
6b9fe40
Merge branch 'main' into war-in/rn-79-update
war-in May 19, 2025
64ac133
fix `findNodeHandle`-related bugs
war-in May 19, 2025
d4608ff
use `RCTReactNativeFactory`
war-in May 19, 2025
e64ff87
bump pager-view, remove patch
war-in May 19, 2025
86f9130
add flex to fix autofocus on rerender
war-in May 19, 2025
6fa7fb2
Merge branch 'refs/heads/main' into war-in/rn-79-update
war-in May 20, 2025
4938619
remove live-markdown patch
war-in May 20, 2025
a262e08
fix prettier
war-in May 20, 2025
6a4d860
don't use `findNodeHandle` in `expo-av` on web
war-in May 20, 2025
ab7e14c
fix Linking.setInitialURL
war-in May 22, 2025
cd9606f
fix prettier
war-in May 22, 2025
c4e0412
Merge branch 'main' into war-in/rn-79-update
war-in May 23, 2025
6d1082a
update live-markdown to enable builds
war-in May 23, 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
95 changes: 57 additions & 38 deletions .github/actions/javascript/authorChecklist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8591,6 +8591,7 @@ function useColors() {

// Is webkit? http://stackoverflow.com/a/16459606/376773
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
// eslint-disable-next-line no-return-assign
return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
// Is firebug? http://stackoverflow.com/a/398120/376773
(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
Expand Down Expand Up @@ -8906,24 +8907,62 @@ function setup(env) {
createDebug.names = [];
createDebug.skips = [];

let i;
const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
const len = split.length;
const split = (typeof namespaces === 'string' ? namespaces : '')
.trim()
.replace(' ', ',')
.split(',')
.filter(Boolean);

for (i = 0; i < len; i++) {
if (!split[i]) {
// ignore empty strings
continue;
for (const ns of split) {
if (ns[0] === '-') {
createDebug.skips.push(ns.slice(1));
} else {
createDebug.names.push(ns);
}
}
}

namespaces = split[i].replace(/\*/g, '.*?');

if (namespaces[0] === '-') {
createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
/**
* Checks if the given string matches a namespace template, honoring
* asterisks as wildcards.
*
* @param {String} search
* @param {String} template
* @return {Boolean}
*/
function matchesTemplate(search, template) {
let searchIndex = 0;
let templateIndex = 0;
let starIndex = -1;
let matchIndex = 0;

while (searchIndex < search.length) {
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
// Match character or proceed with wildcard
if (template[templateIndex] === '*') {
starIndex = templateIndex;
matchIndex = searchIndex;
templateIndex++; // Skip the '*'
} else {
searchIndex++;
templateIndex++;
}
} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition
// Backtrack to the last '*' and try to match more characters
templateIndex = starIndex + 1;
matchIndex++;
searchIndex = matchIndex;
} else {
createDebug.names.push(new RegExp('^' + namespaces + '$'));
return false; // No match
}
}

// Handle trailing '*' in template
while (templateIndex < template.length && template[templateIndex] === '*') {
templateIndex++;
}

return templateIndex === template.length;
}

/**
Expand All @@ -8934,8 +8973,8 @@ function setup(env) {
*/
function disable() {
const namespaces = [
...createDebug.names.map(toNamespace),
...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
...createDebug.names,
...createDebug.skips.map(namespace => '-' + namespace)
].join(',');
createDebug.enable('');
return namespaces;
Expand All @@ -8949,41 +8988,21 @@ function setup(env) {
* @api public
*/
function enabled(name) {
if (name[name.length - 1] === '*') {
return true;
}

let i;
let len;

for (i = 0, len = createDebug.skips.length; i < len; i++) {
if (createDebug.skips[i].test(name)) {
for (const skip of createDebug.skips) {
if (matchesTemplate(name, skip)) {
return false;
}
}

for (i = 0, len = createDebug.names.length; i < len; i++) {
if (createDebug.names[i].test(name)) {
for (const ns of createDebug.names) {
if (matchesTemplate(name, ns)) {
return true;
}
}

return false;
}

/**
* Convert regexp to namespace
*
* @param {RegExp} regxep
* @return {String} namespace
* @api private
*/
function toNamespace(regexp) {
return regexp.toString()
.substring(2, regexp.toString().length - 2)
.replace(/\.\*\?$/, '*');
}

/**
* Coerce `val`.
*
Expand Down
95 changes: 57 additions & 38 deletions .github/actions/javascript/checkAndroidStatus/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9852,6 +9852,7 @@ function useColors() {

// Is webkit? http://stackoverflow.com/a/16459606/376773
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
// eslint-disable-next-line no-return-assign
return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
// Is firebug? http://stackoverflow.com/a/398120/376773
(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
Expand Down Expand Up @@ -10167,24 +10168,62 @@ function setup(env) {
createDebug.names = [];
createDebug.skips = [];

let i;
const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
const len = split.length;
const split = (typeof namespaces === 'string' ? namespaces : '')
.trim()
.replace(' ', ',')
.split(',')
.filter(Boolean);

for (i = 0; i < len; i++) {
if (!split[i]) {
// ignore empty strings
continue;
for (const ns of split) {
if (ns[0] === '-') {
createDebug.skips.push(ns.slice(1));
} else {
createDebug.names.push(ns);
}
}
}

namespaces = split[i].replace(/\*/g, '.*?');

if (namespaces[0] === '-') {
createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
/**
* Checks if the given string matches a namespace template, honoring
* asterisks as wildcards.
*
* @param {String} search
* @param {String} template
* @return {Boolean}
*/
function matchesTemplate(search, template) {
let searchIndex = 0;
let templateIndex = 0;
let starIndex = -1;
let matchIndex = 0;

while (searchIndex < search.length) {
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
// Match character or proceed with wildcard
if (template[templateIndex] === '*') {
starIndex = templateIndex;
matchIndex = searchIndex;
templateIndex++; // Skip the '*'
} else {
searchIndex++;
templateIndex++;
}
} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition
// Backtrack to the last '*' and try to match more characters
templateIndex = starIndex + 1;
matchIndex++;
searchIndex = matchIndex;
} else {
createDebug.names.push(new RegExp('^' + namespaces + '$'));
return false; // No match
}
}

// Handle trailing '*' in template
while (templateIndex < template.length && template[templateIndex] === '*') {
templateIndex++;
}

return templateIndex === template.length;
}

/**
Expand All @@ -10195,8 +10234,8 @@ function setup(env) {
*/
function disable() {
const namespaces = [
...createDebug.names.map(toNamespace),
...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
...createDebug.names,
...createDebug.skips.map(namespace => '-' + namespace)
].join(',');
createDebug.enable('');
return namespaces;
Expand All @@ -10210,41 +10249,21 @@ function setup(env) {
* @api public
*/
function enabled(name) {
if (name[name.length - 1] === '*') {
return true;
}

let i;
let len;

for (i = 0, len = createDebug.skips.length; i < len; i++) {
if (createDebug.skips[i].test(name)) {
for (const skip of createDebug.skips) {
if (matchesTemplate(name, skip)) {
return false;
}
}

for (i = 0, len = createDebug.names.length; i < len; i++) {
if (createDebug.names[i].test(name)) {
for (const ns of createDebug.names) {
if (matchesTemplate(name, ns)) {
return true;
}
}

return false;
}

/**
* Convert regexp to namespace
*
* @param {RegExp} regxep
* @return {String} namespace
* @api private
*/
function toNamespace(regexp) {
return regexp.toString()
.substring(2, regexp.toString().length - 2)
.replace(/\.\*\?$/, '*');
}

/**
* Coerce `val`.
*
Expand Down
Loading
Loading