544f7befe0
* basic bumps * more tweaking * fix rn patch * fix crop picker patch * fix media library patch * rm unnecessary patch * fix notifications patch * update bottomsheet * Update withAppDelegateReferrer.js * Delete withNoBundleCompression.js * rm withNoBundleCompression plugin * rm findLast shim * metro package exports is enabled by default * update react/react-dom/react-compiler * fix reanimated issue * vendor expo-ized emoji popup * fix types * hackfix view full thread * Update EmojiPickerModule.podspec * more upgrades * fix multiformats package version * add baseurl * bump mmkv * bumps * update react-keyed-flatten-children * bump locale packages * fix emoji picker dark mode * rn upgrades * Revert "bump locale packages" This reverts commitfc82f0f173. * upgrade testing-library * rm test renderer * update patch name minors * rm findNodeHandle from tabbar * only do scrollview tag thing on ios * disable package exports * update expo notifications handler * memoize emoji picker styles * fix tests, mock multiformats * bump some dev deps with RC versions * completely rearchitect toasts * rm logs * layout animation config for composer footer * disable autolinking for patched libs * undo lingui changes * version bump from release candidate to 0.1 * update atproto deps * rm @did-plc/server * fix key issue (maybe) * move URL polyfill to the polyfill file * fix yarn lock * upgrade to 53.0.3 * reanimated layout anim bug patch * workletize a function that wasn't getting autoworkletized anymore (#8309) * bump to expo 53.0.4 * bump RN to 0.79.2 * fix yarn lock ci * Revert "completely rearchitect toasts" This reverts commit2e2fcaeeed. * final upgrades * chore: cleanup yarn lock * prettier --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com>
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import 'array.prototype.findlast/auto'
|
|
/// <reference lib="dom" />
|
|
|
|
// @ts-ignore whatever typescript wants to complain about here, I dont care about -prf
|
|
window.setImmediate = (cb: () => void) => setTimeout(cb, 0)
|
|
|
|
if (process.env.NODE_ENV !== 'production') {
|
|
// In development, react-native-web's <View> tries to validate that
|
|
// text is wrapped into <Text>. It doesn't catch all cases but is useful.
|
|
// Unfortunately, it only does that via console.error so it's easy to miss.
|
|
// This is a hack to get it showing as a redbox on the web so we catch it early.
|
|
const realConsoleError = console.error
|
|
const thrownErrors = new WeakSet()
|
|
console.error = function consoleErrorWrapper(msgOrError) {
|
|
if (
|
|
typeof msgOrError === 'string' &&
|
|
msgOrError.startsWith('Unexpected text node')
|
|
) {
|
|
if (
|
|
msgOrError ===
|
|
'Unexpected text node: . A text node cannot be a child of a <View>.'
|
|
) {
|
|
// This is due to a stray empty string.
|
|
// React already handles this fine, so RNW warning is a false positive. Ignore.
|
|
return
|
|
}
|
|
const err = new Error(msgOrError)
|
|
thrownErrors.add(err)
|
|
throw err
|
|
} else if (!thrownErrors.has(msgOrError)) {
|
|
return realConsoleError.apply(this, arguments as any)
|
|
}
|
|
}
|
|
}
|