Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js (137 lines): - line 322: * TODO: See if caughtError and rethrowError can be unified. - line 954: // TODO (evv): rename timeStamp to timestamp in internal code - line 958: * TODO: Instead of making gestures recompute filtered velocity, we could - line 1308: * TODO: This shouldn't bubble. - line 1323: * TODO: This shouldn't bubble. - line 1386: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 1624: * TODO: - line 1791: : eventTypes.scrollShouldSetResponder; // TODO: stop one short of the current responder. - line 2341: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 2476: * TODO: require this in packager, not in React #10932517 - line 2635: * TODO: Pool all of this. - line 2773: * TODO: Dispatch multiple changed touches in one event. The bubble path - line 3229: var BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility - line 3240: var LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask - line 3277: // TODO: Check if this was a nested HostRoot when used with - line 3940: // TODO: Fast path - line 3949: // TODO: Fast path - line 3986: } // FIXME: there used to be other branches that protected - line 4279: 0; // TODO: Remove ConcurrentMode by reading from the root tag instead - line 4524: // TODO: Consider warning in this path if a fallback timer is not scheduled. - line 4572: // TODO: Reconsider this. The counter-argument is that the partial work - line 4659: // TODO: Retries should be allowed to expire if they are CPU bound for - line 4683: // TODO: This gets called every time we yield. We can optimize by storing - line 4841: // TODO: We really only need to unsuspend only lanes that are in the - line 5226: // TODO (bvaughn) Revisit this decision. - line 5335: // TODO (bvaughn): Remove this check when... - line 5411: // TODO Implement this for React Native - line 5925: var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future. - line 6088: // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So - line 6105: var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this - line 6786: update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the - line 7318: // TODO: Pass `current` as argument - line 7341: var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes - line 8575: ) || // TODO: In some cases, we'll end up checking if context has changed twice, - line 8700: // TODO: Clean this up once we turn on the string ref warning for - line 8860: } // TODO: For the shouldClone case, this could be micro-optimized a bit by - line 9307: // TODO: This breaks on empty slots like null children. That's - line 9329: // TODO: Move out of the loop. This only happens for the first run. - line 9332: // TODO: Defer siblings if we're not at the right index for this slot. - line 9362: // TODO: Move out of the loop. This only happens for the first run. - line 9512: // TODO: This breaks on empty slots like null children. That's - line 9534: // TODO: Move out of the loop. This only happens for the first run. - line 9537: // TODO: Defer siblings if we're not at the right index for this slot. - line 9567: // TODO: Move out of the loop. This only happens for the first run. - line 9660: // TODO: If key === null and child.key === null, then this only applies to - line 9740: // TODO: If key === null and child.key === null, then this only applies to - line 10233: // TODO: Maybe there's some way to consolidate this with - line 10414: // TODO Warn if no hooks are used at all during mount, then some are used during update. - line 10523: workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the - line 10774: // TODO: Don't need to accumulate this. Instead, we can remove - line 10893: // TODO: Not sure if this is the desired semantics, but it's what we - line 11399: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11426: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11620: // TODO: Should warn in effects and callbacks, too - line 12921: // TODO: Warn in strict mode if getDerivedStateFromError is - line 13145: _workInProgress.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in - line 13155: // TODO: Use invariant so the message is stripped in prod? - line 13297: // TODO: Split the update API as separate for the props vs. children. - line 13301: var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host - line 13305: var updatePayload = prepareUpdate(); // TODO: Type this specific to this type of component. - line 13641: var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context - line 13649: // TODO: Move this and createInstance step into the beginPhase - line 13761: offscreenFiber.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything - line 13766: // TODO: Move this back to throwException because this is too late - line 13799: // TODO: Move to passive phase - line 14039: // TODO: We can probably just avoid popping it instead and only - line 14210: // TODO: current can be non-null here even if the component - line 14397: // TODO: current can be non-null here even if the component - line 14456: // TODO: Move the reset at in beginWork out of the common path so that - line 14561: // TODO: Optimize this to use the OffscreenComponent fiber instead of - line 14750: var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack. - line 14907: // TODO: Warn in a future release. - line 14948: // TODO: Restructure so we never read values from the instance. - line 15503: } // TODO: Probably should inline this back - line 15530: // TODO: Should not remove render lanes that were pinged during this render - line 16308: // TODO: We could fast path by just rendering the tail now. - line 16350: } // TODO: If workInProgress.child is null, we can continue on the tail immediately. - line 16393: // TODO: Consider unifying this with how the root works. - line 16543: // TODO: Once we add back resuming, we should check if the children are - line 16790: // TODO: Probably should refactor `beginWork` to split the bailout - line 16869: // TODO: This assumes that we're about to evaluate the component and process - line 17104: // TODO: popHydrationState - line 17375: // TODO: revisit this when we implement resuming. - line 17637: // TODO: revisit this when we implement resuming. - line 17687: // TODO: revisit this when we implement resuming. - line 17738: } // TODO: I think this is now always non-null by the time it reaches the - line 17773: // TODO: revisit this when we implement resuming. - line 17782: // TODO: I think this is now always non-null by the time it reaches the - line 18121: // TODO: this is recursive. - line 18256: fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead. - line 18293: // TODO: Find a more efficient way to do this. - line 18597: var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components. - line 18659: // TODO: Move this to passive phase - line 18718: var fiber = nextEffect; // TODO: Should wrap this in flags check, too, as optimization - line 18772: // TODO: The factoring of this phase could probably be improved. Consider - line 18801: // TODO: Move to passive phase - line 18821: // TODO: This needs to run whenever there's an insertion or update - line 18838: // TODO: findDOMNode doesn't rely on this any more but isMounted does - line 19133: // TODO: Check if fiber has a PassiveStatic flag - line 19138: var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we - line 19214: } // TODO: Remove this assignment once we're confident that it won't break - line 19218: } // TODO: Reuse reappearLayoutEffects traversal here? - line 19500: // TODO: Move this type conversion to the event priority module. - line 19511: // TODO: Move this type conversion to the event priority module. - line 19566: // TODO: Make sure this doesn't override pings that happen while we've - line 19644: // TODO: Optimize slightly by comparing to root that fiber belongs to. - line 19698: // TODO: Temporary until we confirm this warning is not fired. - line 19814: // TODO: We only check `didTimeout` defensively, to account for a Scheduler - line 19924: // FIXME: What if the suspended lanes are Idle? Should not restart. - line 19958: // TODO: Is the JND optimization worth the added complexity? If this is - line 19999: // TODO: Lol maybe there's a better way to factor this besides this - line 20206: resetCurrentFiber(); // TODO: I found and added this missing line while investigating a - line 20222: // TODO: Consider calling `unwindWork` to pop the contexts. - line 20312: // TODO: We should probably always mark the root as suspended immediately - line 20571: // TODO: This no longer makes any sense. We already wrap the mutation and - line 20594: // TODO: Might be better if `flushPassiveEffects` did not automatically - line 20646: // TODO: Delete all other places that schedule the passive effect callback - line 20661: // TODO: This is left over from the effect list implementation, where we had - line 20722: // TODO: Maybe there's a better way to report this. - line 20790: // TODO: We can optimize this by not scheduling the callback earlier. Since we - line 20808: // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should - line 20851: rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects. - line 20864: commitPassiveMountEffects(root, root.current); // TODO: Move to commitPassiveMountEffects - line 20885: rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1; // TODO: Move to commitPassiveMountEffects - line 20980: // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning - line 21014: // TODO: If we're rendering sync either due to Sync, Batched or expired, - line 21045: // TODO: Assign this to `suspenseState.retryLane`? to avoid - line 21048: } // TODO: Special case idle priority? - line 21138: // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects - line 21430: // TODO: Maybe the warning should be disabled by default, and then turned - line 21458: // TODO: Maybe the warning should be disabled by default, and then turned - line 21615: // TODO: if it was but can no longer be simple, - line 21942: // TODO: Consider warning about bad polyfills - line 22244: // TODO: Flip this flag and rename it something like "forceConcurrentByDefaultForTesting" - line 22647: containerInfo, // TODO: figure out the API for cross-renderer implementation. - line 23550: // TODO (bvaughn): If we decide to keep the wrapper component, - line 23565: // TODO: Is it safe to reset this now or should I wait since this unmount could be deferred? Libraries/Renderer/implementations/ReactFabric-dev.fb.js (132 lines): - line 322: * TODO: See if caughtError and rethrowError can be unified. - line 954: // TODO (evv): rename timeStamp to timestamp in internal code - line 958: * TODO: Instead of making gestures recompute filtered velocity, we could - line 1308: * TODO: This shouldn't bubble. - line 1323: * TODO: This shouldn't bubble. - line 1386: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 1624: * TODO: - line 1791: : eventTypes.scrollShouldSetResponder; // TODO: stop one short of the current responder. - line 2341: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 2476: * TODO: require this in packager, not in React #10932517 - line 2942: var BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visibility - line 2953: var LayoutMask = Update | Callback | Ref | Visibility; // TODO: Split into PassiveMountMask and PassiveUnmountMask - line 2990: // TODO: Check if this was a nested HostRoot when used with - line 3242: } // FIXME: there used to be other branches that protected - line 3684: // TODO: Fast path - line 3693: // TODO: Fast path - line 4036: 0; // TODO: Remove ConcurrentMode by reading from the root tag instead - line 4281: // TODO: Consider warning in this path if a fallback timer is not scheduled. - line 4329: // TODO: Reconsider this. The counter-argument is that the partial work - line 4416: // TODO: Retries should be allowed to expire if they are CPU bound for - line 4440: // TODO: This gets called every time we yield. We can optimize by storing - line 4598: // TODO: We really only need to unsuspend only lanes that are in the - line 4844: // TODO: Remove this conditional once all changes have propagated. - line 5024: type === "RCTVirtualText"; // TODO: If this is an offscreen host container, we should reuse the - line 5051: var updatePayload = diff(oldProps, newProps, viewConfig.validAttributes); // TODO: If the event handlers have changed, we need to update the current props - line 5062: // TODO (bvaughn) Revisit this decision. - line 5126: } // TODO: These two methods should be replaced with `createOffscreenInstance` and - line 5691: var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future. - line 5854: // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So - line 5871: var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this - line 6552: update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the - line 7084: // TODO: Pass `current` as argument - line 7107: var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes - line 8341: ) || // TODO: In some cases, we'll end up checking if context has changed twice, - line 8466: // TODO: Clean this up once we turn on the string ref warning for - line 8626: } // TODO: For the shouldClone case, this could be micro-optimized a bit by - line 9073: // TODO: This breaks on empty slots like null children. That's - line 9095: // TODO: Move out of the loop. This only happens for the first run. - line 9098: // TODO: Defer siblings if we're not at the right index for this slot. - line 9128: // TODO: Move out of the loop. This only happens for the first run. - line 9278: // TODO: This breaks on empty slots like null children. That's - line 9300: // TODO: Move out of the loop. This only happens for the first run. - line 9303: // TODO: Defer siblings if we're not at the right index for this slot. - line 9333: // TODO: Move out of the loop. This only happens for the first run. - line 9426: // TODO: If key === null and child.key === null, then this only applies to - line 9506: // TODO: If key === null and child.key === null, then this only applies to - line 9999: // TODO: Maybe there's some way to consolidate this with - line 10180: // TODO Warn if no hooks are used at all during mount, then some are used during update. - line 10289: workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the - line 10540: // TODO: Don't need to accumulate this. Instead, we can remove - line 10659: // TODO: Not sure if this is the desired semantics, but it's what we - line 11151: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11178: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11372: // TODO: Should warn in effects and callbacks, too - line 12666: // TODO: Warn in strict mode if getDerivedStateFromError is - line 12912: _workInProgress.flags |= ShouldCapture; // TODO: I think we can remove this, since we now use `DidCapture` in - line 12922: // TODO: Use invariant so the message is stripped in prod? - line 13008: } // TODO: If we move the `hadNoMutationsEffects` call after `bubbleProperties` - line 13592: var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context - line 13600: // TODO: Move this and createInstance step into the beginPhase - line 13706: offscreenFiber.flags |= Visibility; // TODO: This will still suspend a synchronous tree if anything - line 13711: // TODO: Move this back to throwException because this is too late - line 13744: // TODO: Move to passive phase - line 13984: // TODO: We can probably just avoid popping it instead and only - line 14142: // TODO: current can be non-null here even if the component - line 14329: // TODO: current can be non-null here even if the component - line 14388: // TODO: Move the reset at in beginWork out of the common path so that - line 14493: // TODO: Optimize this to use the OffscreenComponent fiber instead of - line 14692: var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack. - line 14849: // TODO: Warn in a future release. - line 14890: // TODO: Restructure so we never read values from the instance. - line 15445: } // TODO: Probably should inline this back - line 15472: // TODO: Should not remove render lanes that were pinged during this render - line 16258: // TODO: We could fast path by just rendering the tail now. - line 16300: } // TODO: If workInProgress.child is null, we can continue on the tail immediately. - line 16343: // TODO: Consider unifying this with how the root works. - line 16493: // TODO: Once we add back resuming, we should check if the children are - line 16740: // TODO: Probably should refactor `beginWork` to split the bailout - line 16819: // TODO: This assumes that we're about to evaluate the component and process - line 17054: // TODO: popHydrationState - line 17325: // TODO: revisit this when we implement resuming. - line 17582: // TODO: revisit this when we implement resuming. - line 17632: // TODO: revisit this when we implement resuming. - line 17683: } // TODO: I think this is now always non-null by the time it reaches the - line 17718: // TODO: revisit this when we implement resuming. - line 17727: // TODO: I think this is now always non-null by the time it reaches the - line 17998: // TODO: this is recursive. - line 18133: fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead. - line 18191: // TODO: Check if we're inside an Offscreen subtree that disappeared - line 18249: // TODO: Move this to passive phase - line 18304: var fiber = nextEffect; // TODO: Should wrap this in flags check, too, as optimization - line 18358: // TODO: The factoring of this phase could probably be improved. Consider - line 18383: // TODO: Move to passive phase - line 18409: // TODO: findDOMNode doesn't rely on this any more but isMounted does - line 18702: // TODO: Check if fiber has a PassiveStatic flag - line 18707: var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we - line 18783: } // TODO: Remove this assignment once we're confident that it won't break - line 18787: } // TODO: Reuse reappearLayoutEffects traversal here? - line 19069: // TODO: Move this type conversion to the event priority module. - line 19080: // TODO: Move this type conversion to the event priority module. - line 19135: // TODO: Make sure this doesn't override pings that happen while we've - line 19213: // TODO: Optimize slightly by comparing to root that fiber belongs to. - line 19267: // TODO: Temporary until we confirm this warning is not fired. - line 19383: // TODO: We only check `didTimeout` defensively, to account for a Scheduler - line 19493: // FIXME: What if the suspended lanes are Idle? Should not restart. - line 19527: // TODO: Is the JND optimization worth the added complexity? If this is - line 19568: // TODO: Lol maybe there's a better way to factor this besides this - line 19775: resetCurrentFiber(); // TODO: I found and added this missing line while investigating a - line 19791: // TODO: Consider calling `unwindWork` to pop the contexts. - line 19881: // TODO: We should probably always mark the root as suspended immediately - line 20140: // TODO: This no longer makes any sense. We already wrap the mutation and - line 20163: // TODO: Might be better if `flushPassiveEffects` did not automatically - line 20215: // TODO: Delete all other places that schedule the passive effect callback - line 20230: // TODO: This is left over from the effect list implementation, where we had - line 20291: // TODO: Maybe there's a better way to report this. - line 20359: // TODO: We can optimize this by not scheduling the callback earlier. Since we - line 20377: // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should - line 20420: rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects. - line 20433: commitPassiveMountEffects(root, root.current); // TODO: Move to commitPassiveMountEffects - line 20454: rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1; // TODO: Move to commitPassiveMountEffects - line 20549: // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning - line 20583: // TODO: If we're rendering sync either due to Sync, Batched or expired, - line 20614: // TODO: Assign this to `suspenseState.retryLane`? to avoid - line 20617: } // TODO: Special case idle priority? - line 20707: // TODO (StrictEffects) Should we set a marker on the root if it contains strict effects - line 21114: // TODO: if it was but can no longer be simple, - line 21441: // TODO: Consider warning about bad polyfills - line 21743: // TODO: Flip this flag and rename it something like "forceConcurrentByDefaultForTesting" - line 22148: containerInfo, // TODO: figure out the API for cross-renderer implementation. - line 22992: } // TODO: the code is right but the types here are wrong. - line 23060: // TODO (bvaughn): If we decide to keep the wrapper component, - line 23086: // TODO: Is it safe to reset this now or should I wait since this unmount could be deferred? Libraries/Renderer/implementations/ReactNativeRenderer-dev.js (128 lines): - line 322: * TODO: See if caughtError and rethrowError can be unified. - line 954: // TODO (evv): rename timeStamp to timestamp in internal code - line 958: * TODO: Instead of making gestures recompute filtered velocity, we could - line 1308: * TODO: This shouldn't bubble. - line 1323: * TODO: This shouldn't bubble. - line 1386: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 1624: * TODO: - line 1791: : eventTypes.scrollShouldSetResponder; // TODO: stop one short of the current responder. - line 2341: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 2476: * TODO: require this in packager, not in React #10932517 - line 2638: * TODO: Pool all of this. - line 2776: * TODO: Dispatch multiple changed touches in one event. The bubble path - line 3218: var BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visiblity - line 3229: var LayoutMask = Update | Callback | Ref; // TODO: Split into PassiveMountMask and PassiveUnmountMask - line 3266: // TODO: Check if this was a nested HostRoot when used with - line 3929: // TODO: Fast path - line 3938: // TODO: Fast path - line 3975: } // FIXME: there used to be other branches that protected - line 4262: 0; // TODO: Remove ConcurrentMode by reading from the root tag instead - line 4501: // TODO: Consider warning in this path if a fallback timer is not scheduled. - line 4548: // TODO: Reconsider this. The counter-argument is that the partial work - line 4635: // TODO: Retries should be allowed to expire if they are CPU bound for - line 4659: // TODO: This gets called every time we yield. We can optimize by storing - line 4812: // TODO: We really only need to unsuspend only lanes that are in the - line 5184: // TODO (bvaughn) Revisit this decision. - line 5293: // TODO (bvaughn): Remove this check when... - line 5369: // TODO Implement this for React Native - line 5786: var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future. - line 5949: // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So - line 5966: var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this - line 6662: update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the - line 7174: // TODO: Pass `current` as argument - line 7197: var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes - line 8377: ) || // TODO: In some cases, we'll end up checking if context has changed twice, - line 8502: // TODO: Clean this up once we turn on the string ref warning for - line 8662: } // TODO: For the shouldClone case, this could be micro-optimized a bit by - line 9109: // TODO: This breaks on empty slots like null children. That's - line 9131: // TODO: Move out of the loop. This only happens for the first run. - line 9134: // TODO: Defer siblings if we're not at the right index for this slot. - line 9164: // TODO: Move out of the loop. This only happens for the first run. - line 9314: // TODO: This breaks on empty slots like null children. That's - line 9336: // TODO: Move out of the loop. This only happens for the first run. - line 9339: // TODO: Defer siblings if we're not at the right index for this slot. - line 9369: // TODO: Move out of the loop. This only happens for the first run. - line 9462: // TODO: If key === null and child.key === null, then this only applies to - line 9542: // TODO: If key === null and child.key === null, then this only applies to - line 10056: // TODO: Maybe there's some way to consolidate this with - line 10237: // TODO Warn if no hooks are used at all during mount, then some are used during update. - line 10346: workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the - line 10590: // TODO: Don't need to accumulate this. Instead, we can remove - line 10709: // TODO: Not sure if this is the desired semantics, but it's what we - line 11204: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11227: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11421: // TODO: Should warn in effects and callbacks, too - line 12714: // TODO: Warn in strict mode if getDerivedStateFromError is - line 12952: // TODO: Use invariant so the message is stripped in prod? - line 13107: // TODO: current can be non-null here even if the component - line 13275: // TODO: current can be non-null here even if the component - line 13334: // TODO: Move the reset at in beginWork out of the common path so that - line 13559: var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack. - line 13716: // TODO: Warn in a future release. - line 13747: // TODO: Restructure so we never read values from the instance. - line 14285: } // TODO: Probably should inline this back - line 14312: // TODO: Should not remove render lanes that were pinged during this render - line 15066: // TODO: We could fast path by just rendering the tail now. - line 15108: } // TODO: If workInProgress.child is null, we can continue on the tail immediately. - line 15151: // TODO: Consider unifying this with how the root works. - line 15300: // TODO: Once we add back resuming, we should check if the children are - line 15572: // TODO: Probably should refactor `beginWork` to split the bailout - line 15597: // TODO: This assumes that we're about to evaluate the component and process - line 15869: // TODO: Split the update API as separate for the props vs. children. - line 15873: var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host - line 15877: var updatePayload = prepareUpdate(); // TODO: Type this specific to this type of component. - line 16166: var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context - line 16174: // TODO: Move this and createInstance step into the beginPhase - line 16276: // TODO: This will still suspend a synchronous tree if anything - line 16280: // TODO: Move this back to throwException because this is too late - line 16310: // TODO: Only schedule updates if these values are non equal, i.e. it changed. - line 16557: // TODO: We can probably just avoid popping it instead and only - line 16665: // TODO: popHydrationState - line 16918: // TODO: revisit this when we implement resuming. - line 17177: // TODO: revisit this when we implement resuming. - line 17224: // TODO: revisit this when we implement resuming. - line 17274: } // TODO: I think this is now always non-null by the time it reaches the - line 17309: // TODO: revisit this when we implement resuming. - line 17318: // TODO: I think this is now always non-null by the time it reaches the - line 17659: // TODO: this is recursive. - line 17794: fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead. - line 17831: // TODO: Find a more efficient way to do this. - line 18135: var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components. - line 18215: // Hide the Offscreen component that contains the primary children. TODO: - line 18285: var fiber = nextEffect; // TODO: Should wrap this in flags check, too, as optimization - line 18360: // TODO: findDOMNode doesn't rely on this any more but isMounted does - line 18656: // TODO: Check if fiber has a PassiveStatic flag - line 18661: var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we - line 18737: } // TODO: Remove this assignment once we're confident that it won't break - line 18920: // TODO: Move this type conversion to the event priority module. - line 18931: // TODO: Move this type conversion to the event priority module. - line 18987: // TODO: Make sure this doesn't override pings that happen while we've - line 19079: // TODO: Optimize slightly by comparing to root that fiber belongs to. - line 19125: // TODO: Temporary until we confirm this warning is not fired. - line 19237: // TODO: We only check `didTimeout` defensively, to account for a Scheduler - line 19344: // FIXME: What if the suspended lanes are Idle? Should not restart. - line 19378: // TODO: Is the JND optimization worth the added complexity? If this is - line 19419: // TODO: Lol maybe there's a better way to factor this besides this - line 19599: resetCurrentFiber(); // TODO: I found and added this missing line while investigating a - line 19615: // TODO: Consider calling `unwindWork` to pop the contexts. - line 19705: // TODO: We should probably always mark the root as suspended immediately - line 19964: // TODO: This no longer makes any sense. We already wrap the mutation and - line 19987: // TODO: Might be better if `flushPassiveEffects` did not automatically - line 20039: // TODO: Delete all other places that schedule the passive effect callback - line 20054: // TODO: This is left over from the effect list implementation, where we had - line 20115: // TODO: Maybe there's a better way to report this. - line 20183: // TODO: We can optimize this by not scheduling the callback earlier. Since we - line 20201: // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should - line 20244: rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects. - line 20261: commitPassiveMountEffects(root, root.current); // TODO: Move to commitPassiveMountEffects - line 20282: rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1; // TODO: Move to commitPassiveMountEffects - line 20377: // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning - line 20411: // TODO: If we're rendering sync either due to Sync, Batched or expired, - line 20442: // TODO: Assign this to `suspenseState.retryLane`? to avoid - line 20445: } // TODO: Special case idle priority? - line 20915: var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked - line 21071: // TODO: if it was but can no longer be simple, - line 21398: // TODO: Consider warning about bad polyfills - line 22073: containerInfo, // TODO: figure out the API for cross-renderer implementation. - line 22971: // TODO (bvaughn): If we decide to keep the wrapper component, - line 22986: // TODO: Is it safe to reset this now or should I wait since this unmount could be deferred? Libraries/Renderer/implementations/ReactFabric-dev.js (122 lines): - line 322: * TODO: See if caughtError and rethrowError can be unified. - line 954: // TODO (evv): rename timeStamp to timestamp in internal code - line 958: * TODO: Instead of making gestures recompute filtered velocity, we could - line 1308: * TODO: This shouldn't bubble. - line 1323: * TODO: This shouldn't bubble. - line 1386: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 1624: * TODO: - line 1791: : eventTypes.scrollShouldSetResponder; // TODO: stop one short of the current responder. - line 2341: inst = inst.return; // TODO: If this is a HostRoot we might want to bail out. - line 2476: * TODO: require this in packager, not in React #10932517 - line 2928: var BeforeMutationMask = // TODO: Remove Update flag from before mutation phase by re-landing Visiblity - line 2939: var LayoutMask = Update | Callback | Ref; // TODO: Split into PassiveMountMask and PassiveUnmountMask - line 2976: // TODO: Check if this was a nested HostRoot when used with - line 3228: } // FIXME: there used to be other branches that protected - line 3670: // TODO: Fast path - line 3679: // TODO: Fast path - line 4019: 0; // TODO: Remove ConcurrentMode by reading from the root tag instead - line 4258: // TODO: Consider warning in this path if a fallback timer is not scheduled. - line 4305: // TODO: Reconsider this. The counter-argument is that the partial work - line 4392: // TODO: Retries should be allowed to expire if they are CPU bound for - line 4416: // TODO: This gets called every time we yield. We can optimize by storing - line 4569: // TODO: We really only need to unsuspend only lanes that are in the - line 4815: // TODO: Remove this conditional once all changes have propagated. - line 5006: var updatePayload = diff(oldProps, newProps, viewConfig.validAttributes); // TODO: If the event handlers have changed, we need to update the current props - line 5017: // TODO (bvaughn) Revisit this decision. - line 5517: var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future. - line 5680: // TODO: There's only a single type of callback: performSyncOnWorkOnRoot. So - line 5697: var queue = syncQueue; // TODO: Is this necessary anymore? The only user code that runs in this - line 6393: update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the - line 6905: // TODO: Pass `current` as argument - line 6928: var newState = queue.baseState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes - line 8108: ) || // TODO: In some cases, we'll end up checking if context has changed twice, - line 8233: // TODO: Clean this up once we turn on the string ref warning for - line 8393: } // TODO: For the shouldClone case, this could be micro-optimized a bit by - line 8840: // TODO: This breaks on empty slots like null children. That's - line 8862: // TODO: Move out of the loop. This only happens for the first run. - line 8865: // TODO: Defer siblings if we're not at the right index for this slot. - line 8895: // TODO: Move out of the loop. This only happens for the first run. - line 9045: // TODO: This breaks on empty slots like null children. That's - line 9067: // TODO: Move out of the loop. This only happens for the first run. - line 9070: // TODO: Defer siblings if we're not at the right index for this slot. - line 9100: // TODO: Move out of the loop. This only happens for the first run. - line 9193: // TODO: If key === null and child.key === null, then this only applies to - line 9273: // TODO: If key === null and child.key === null, then this only applies to - line 9787: // TODO: Maybe there's some way to consolidate this with - line 9968: // TODO Warn if no hooks are used at all during mount, then some are used during update. - line 10077: workInProgress.updateQueue = current.updateQueue; // TODO: Don't need to reset the flags here, because they're reset in the - line 10321: // TODO: Don't need to accumulate this. Instead, we can remove - line 10440: // TODO: Not sure if this is the desired semantics, but it's what we - line 10921: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 10944: } // TODO: If deps are provided, should we skip comparing the ref itself? - line 11138: // TODO: Should warn in effects and callbacks, too - line 12423: // TODO: Warn in strict mode if getDerivedStateFromError is - line 12661: // TODO: Use invariant so the message is stripped in prod? - line 12816: // TODO: current can be non-null here even if the component - line 12984: // TODO: current can be non-null here even if the component - line 13043: // TODO: Move the reset at in beginWork out of the common path so that - line 13268: var ctor = workInProgress.type; // TODO This way of resetting the error boundary state is a hack. - line 13425: // TODO: Warn in a future release. - line 13456: // TODO: Restructure so we never read values from the instance. - line 13994: } // TODO: Probably should inline this back - line 14021: // TODO: Should not remove render lanes that were pinged during this render - line 14775: // TODO: We could fast path by just rendering the tail now. - line 14817: } // TODO: If workInProgress.child is null, we can continue on the tail immediately. - line 14860: // TODO: Consider unifying this with how the root works. - line 15009: // TODO: Once we add back resuming, we should check if the children are - line 15281: // TODO: Probably should refactor `beginWork` to split the bailout - line 15306: // TODO: This assumes that we're about to evaluate the component and process - line 15522: } // TODO: If we move the `hadNoMutationsEffects` call after `bubbleProperties` - line 16109: var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context - line 16117: // TODO: Move this and createInstance step into the beginPhase - line 16213: // TODO: This will still suspend a synchronous tree if anything - line 16217: // TODO: Move this back to throwException because this is too late - line 16247: // TODO: Only schedule updates if not prevDidTimeout. - line 16492: // TODO: We can probably just avoid popping it instead and only - line 16600: // TODO: popHydrationState - line 16853: // TODO: revisit this when we implement resuming. - line 17107: // TODO: revisit this when we implement resuming. - line 17154: // TODO: revisit this when we implement resuming. - line 17204: } // TODO: I think this is now always non-null by the time it reaches the - line 17239: // TODO: revisit this when we implement resuming. - line 17248: // TODO: I think this is now always non-null by the time it reaches the - line 17517: // TODO: this is recursive. - line 17652: fiber.stateNode = null; // TODO: Move to `commitPassiveUnmountInsideDeletedTreeOnFiber` instead. - line 17821: var fiber = nextEffect; // TODO: Should wrap this in flags check, too, as optimization - line 17891: // TODO: findDOMNode doesn't rely on this any more but isMounted does - line 18185: // TODO: Check if fiber has a PassiveStatic flag - line 18190: var child = fiber.child; // TODO: Only traverse subtree if it has a PassiveStatic flag. (But, if we - line 18266: } // TODO: Remove this assignment once we're confident that it won't break - line 18449: // TODO: Move this type conversion to the event priority module. - line 18460: // TODO: Move this type conversion to the event priority module. - line 18516: // TODO: Make sure this doesn't override pings that happen while we've - line 18608: // TODO: Optimize slightly by comparing to root that fiber belongs to. - line 18654: // TODO: Temporary until we confirm this warning is not fired. - line 18766: // TODO: We only check `didTimeout` defensively, to account for a Scheduler - line 18873: // FIXME: What if the suspended lanes are Idle? Should not restart. - line 18907: // TODO: Is the JND optimization worth the added complexity? If this is - line 18948: // TODO: Lol maybe there's a better way to factor this besides this - line 19128: resetCurrentFiber(); // TODO: I found and added this missing line while investigating a - line 19144: // TODO: Consider calling `unwindWork` to pop the contexts. - line 19234: // TODO: We should probably always mark the root as suspended immediately - line 19493: // TODO: This no longer makes any sense. We already wrap the mutation and - line 19516: // TODO: Might be better if `flushPassiveEffects` did not automatically - line 19568: // TODO: Delete all other places that schedule the passive effect callback - line 19583: // TODO: This is left over from the effect list implementation, where we had - line 19644: // TODO: Maybe there's a better way to report this. - line 19712: // TODO: We can optimize this by not scheduling the callback earlier. Since we - line 19730: // TODO: Combine this check with the one in flushPassiveEFfectsImpl. We should - line 19773: rootWithPendingPassiveEffects = null; // TODO: This is sometimes out of sync with rootWithPendingPassiveEffects. - line 19790: commitPassiveMountEffects(root, root.current); // TODO: Move to commitPassiveMountEffects - line 19811: rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1; // TODO: Move to commitPassiveMountEffects - line 19906: // TODO: Until we re-land skipUnmountedBoundaries (see #20147), this warning - line 19940: // TODO: If we're rendering sync either due to Sync, Batched or expired, - line 19971: // TODO: Assign this to `suspenseState.retryLane`? to avoid - line 19974: } // TODO: Special case idle priority? - line 20343: var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked - line 20499: // TODO: if it was but can no longer be simple, - line 20826: // TODO: Consider warning about bad polyfills - line 21501: containerInfo, // TODO: figure out the API for cross-renderer implementation. - line 22340: } // TODO: the code is right but the types here are wrong. - line 22407: // TODO (bvaughn): If we decide to keep the wrapper component, - line 22432: // TODO: Is it safe to reset this now or should I wait since this unmount could be deferred? Libraries/WebSocket/RCTSRWebSocket.m (10 lines): - line 661: // TODO: maybe not copy this for performance - line 677: // TODO: maybe not copy this for performance - line 755: // TODO: handle error - line 835: // TODO: Handle invalid opcode - line 872: // TODO: add assert that opcode is not a control; - line 885: // TODO: add assert that opcode is not a control; - line 1089: // TODO: optimize so this can continue from where we last searched - line 1181: // TODO: Optimize this. Don't really have to copy all the data each time - line 1294: // TODO: could probably optimize this with SIMD - line 1374: // TODO: specify error better! ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java (8 lines): - line 133: // TODO T83943316: Delete this variable once StaticViewConfigs are enabled by default - line 160: // TODO T83943316: Deprecate and delete this constructor once StaticViewConfigs are enabled by - line 197: // TODO (T47819352): Rename this to startSurface for consistency with xplat/iOS - line 413: // TODO T83943316: Remove this IF once StaticViewConfigs are enabled by default - line 538: // TODO: replace ReadableNativeMap -> ReadableMapBuffer - line 617: // TODO T42943890: Fix animations in Fabric and remove this try/catch? - line 784: // TODO T83615646: make this a hard-crash in the future. - line 1023: // TODO T31905686: Remove this method and add support for multi-threading performance counters ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java (8 lines): - line 18: * TODO T83483191: add documentation. - line 42: // TODO T83483191: consider moving short to INTs, we are doing extra cast operations just because - line 92: // TODO T83483191: Add tests - line 101: // TODO T83483191: check if there's dynamic data? - line 190: // TODO T83483191: Add tests - line 205: // TODO T83483191: extract common code of "get methods" - line 319: // TODO T83483191 Extend serialization of MapBuffer to add type checking - line 320: // TODO T83483191 Extend serialization of MapBuffer to return null if there's no value ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp (6 lines): - line 15: // TODO T83483191: Add asserts to check overflowing on additions - line 62: // TODO T83483191: header.count points to the next index - line 63: // TODO T83483191: add test to verify storage of sparse keys - line 135: // TODO T83483191: review if map.getBufferSize() should be an int32_t or long - line 192: // TODO T83483191: should we use std::move here? - line 195: // TODO T83483191: we should invalidate the class once the build() method is Folly/folly/Poly.h (6 lines): - line 17: // TODO: [x] "cast" from Poly to Poly - line 18: // TODO: [ ] copy/move from Poly/Poly to Poly - line 19: // TODO: [ ] copy-on-write? - line 20: // TODO: [ ] down- and cross-casting? (Possible?) - line 21: // TODO: [ ] shared ownership? (Dubious.) - line 22: // TODO: [ ] can games be played with making the VTable a member of a struct Libraries/Interaction/PanResponder.js (5 lines): - line 200: * callsites return void and this TODO notice is found in it: - line 201: * TODO: t7467124 investigate if this can be removed - line 343: // TODO: This must be filtered intelligently. - line 434: // TODO: Actually, we should reinitialize the state any time - line 474: // TODO: t7467124 investigate if this can be removed ReactCommon/jsi/JSCRuntime.cpp (5 lines): - line 189: // TODO: revisit this implementation - line 990: // TODO: revisit this implementation - line 1000: // TODO: revisit this implementation - line 1390: // TODO: Uncomment this when all supported JSC versions have this symbol - line 1443: // TODO: revisit this implementation ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp (5 lines): - line 15: // TODO T83483191: Extend MapBuffer C++ implementation to support basic random - line 30: // TODO T83483191: extract memcpy calls into an inline function to simplify - line 59: // TODO T83483191: extract this code into a "template method" and reuse it for - line 76: // TODO T83483191:Add checks to verify that offsets are under the boundaries - line 98: // TODO T83483191: Add checks to verify that offsets are under the boundaries Libraries/Lists/VirtualizedList.js (5 lines): - line 1148: ), // TODO: Android support - line 1198: // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170 - line 1199: // TODO (GitHub #818): Use console.error (as per 646605b90e666c4b0d1c1200a137eacf62b46f87) - line 1412: // TODO (T35574538): findNodeHandle sometimes crashes with "Unable to find - line 2127: // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not packages/polyfills/error-guard.js (5 lines): - line 62: /* $FlowFixMe[incompatible-call] : TODO T48204745 (1) apply(context, - line 64: /* $FlowFixMe[incompatible-type] : TODO T48204745 (1) apply(context, - line 80: /* $FlowFixMe[incompatible-call] : TODO T48204745 (1) apply(context, - line 82: /* $FlowFixMe[incompatible-type] : TODO T48204745 (1) apply(context, - line 98: // TODO: (moti) T48204753 Make sure this warning is never hit and remove it - types ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp (4 lines): - line 74: -1, // TODO: we should pass rootTag in - line 89: // TODO: currently we do not support attachments for cached IDs - should we? - line 211: -1, // TODO: we should pass rootTag in - line 275: -1, // TODO: we should pass rootTag in stubs/glog/logging.h (4 lines): - line 1: // TODO: Use actual glog - line 2: // TODO: Using actual glog non-trivial as it uses Desktop only APIs - line 3: // TODO: Maybe implement glog header in terms of Windows' TraceLoggingProvider.h? - line 4: // TODO: Implement the minimum necessary macros to build, don't pull over all of the glog data since we can't ship it in Devmain React/Base/RCTUtils.m (4 lines): - line 338: // FIXME: this caches the bounds at app start, whatever those were, and then - line 500: // TODO: Can we just replace RCTMakeError with this function instead? - line 574: // TODO: replace with a more robust solution - line 980: // TODO: kCGColorSpaceModelXYZ should be added sometime after Xcode 10 release. ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp (4 lines): - line 425: // TODO: turn all of this into a lambda and share code? - line 699: // TODO: don't animate virtual views in the first place? - line 877: // TODO: to prevent this step we could tag Remove/Insert mutations as - line 1801: // TODO: modularize this segment, it is repeated 2x in KeyFrameManager ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java (4 lines): - line 28: // TODO: T63643819 refactor naming of TextAttributeProps to make explicit that this represents - line 146: // TODO T83483191: Review constants that are not being set! - line 215: // TODO T83483191: Review why the following props are not serialized: - line 405: // TODO: Don't apply background color to anchor TextView since it will be applied on the View ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java (4 lines): - line 333: // TODO T62192299: remove when investigation is complete - line 337: // TODO T62192299: remove when investigation is complete - line 675: /** Temporary: due to T67035147, log sources of destroy calls. TODO T67035147: delete */ - line 1088: // TODO T62192299: remove this after investigation ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp (4 lines): - line 530: // TODO: T31905686 Create synchronous Event Beat - line 611: // TODO: this method will be removed when binding for components are code-gen - line 827: // TODO: don't allocate at all if size is zero - line 860: // TODO: multi-create, multi-insert, etc ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java (4 lines): - line 381: // TODO: throw exception here? - line 429: // TODO T74425739: previously, we did not do this check and `removeViewAt` would be executed - line 726: // TODO: T31905686 Check if the parent of the view has to layout the view, or the child has - line 803: // TODO T62717437 - Use a flag to determine that these event emitters belong to virtual nodes ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java (4 lines): - line 118: private boolean mBatchingControlledByJS = false; // TODO T71377544: delete - line 119: private volatile long mCurrentFrameNumber; // TODO T71377544: delete - line 146: // TODO: Would be great to avoid adding this callback in case there are no active - line 206: // TODO T71377544: delete this when the JS method is confirmed safe ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp (4 lines): - line 34: // TODO: use RBCContext instead of all the separate arguments. - line 45: // TODO: change to integer codes and a switch statement - line 73: // TODO: provide original command or command line? - line 78: // TODO: provide original command or command line? ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h (4 lines): - line 44: // TODO: figure out RTL/start/end/left/right stuff here - line 110: // TODO: T62959168 account for RTL and paddingLeft when setting default - line 147: // TODO: support RTL - line 181: // TODO T68526882: Unify with Binding::UIManagerJavaDescriptor Libraries/ReactNative/getNativeComponentAttributes.js (4 lines): - line 34: // TODO: This seems like a whole lot of runtime initialization for every - line 72: // TODO: Move style properties into a `style` prop and disallow them as - line 91: // TODO: Figure out how this makes sense. We're using a global boolean to only - line 114: // TODO: Figure out how to avoid all this runtime initialization cost. Folly/folly/stats/Histogram.h (4 lines): - line 256: // TODO: It would be nice to handle overflow here and redesign this class. - line 267: // TODO: It would be nice to handle overflow here and redesign this class. - line 284: // TODO: It would be nice to handle overflow here and redesign this class. - line 298: // TODO: It would be nice to handle overflow here. Folly/folly/experimental/pushmi/o/submit.h (4 lines): - line 49: // TODO - only move, move-only types.. - line 103: // TODO - only move, move-only types.. - line 296: // TODO - only move, move-only types.. - line 355: // TODO constrain this better React/Views/ScrollView/RCTScrollView.m (3 lines): - line 122: // TODO: If mid bounce, animate the scroll view to a non-bounced position - line 858: * TODO: this logic looks wrong, and it may be because it is. Currently, if _scrollEventThrottle - line 1155: // TODO: detect and handle/ignore re-ordering ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java (3 lines): - line 265: // TODO: delete, this is no longer used from JS - line 320: // TODO T58784068: delete this block of code, these are always unset in Fabric - line 1021: // TODO: t7936714 merge these events ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java (3 lines): - line 532: // TODO T64216139 Remove dependency of UIManagerModule when the Constants are not in Native - line 754: // TODO T71377544: investigate these SoftExceptions and see if we can remove entirely - line 758: // TODO T71377544: investigate these SoftExceptions and see if we can remove entirely ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp (3 lines): - line 217: // TODO T63008435: can these, and this feature, be removed entirely? - line 261: // TODO T53300085: support this in codegen; this was hand-written - line 330: // TODO: codegen these Libraries/AppState/AppState.js (3 lines): - line 63: // TODO: this is a terrible solution - in order to ensure `currentState` - line 72: // TODO: see above - this request just populates the value of `currentState` - line 86: // TODO: now that AppState is a subclass of NativeEventEmitter, we could ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java (3 lines): - line 48: // TODO T67606397: Refactor configuration of fabric logs - line 231: // TODO T31905686: add support for inline Images - line 549: // TODO T31905686: This class should be private ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp (3 lines): - line 95: // TODO (T43155926) valueFromDynamic already returns a Value - line 247: // TODO (axe) Reuse existing implementation as needed - the exist in - line 420: // TODO (axe) Investigate the best way to convert Java Map to Value React/CoreModules/RCTWebSocketModule.mm (3 lines): - line 71: RCTAssertParam(URL); // TODO: GH#774, prevent crashes when URL is erroneously nil - line 72: if (URL != nil) { // TODO: GH#774, prevent crashes when URL is erroneously nil - line 104: } // TODO: GH#774, prevent crashes when URL is erroneously nil React/CxxBridge/RCTCxxBridge.mm (3 lines): - line 822: // TODO #13258411: can we defer this until config generation? - line 889: // TODO: don't ask for extra module for when TurboModule is enabled. - line 1605: // TODO #12592471: batchDidComplete is only used by RCTUIManager, Libraries/Components/TextInput/AndroidTextInputNativeComponent.js (3 lines): - line 306: * TODO: differentiate between onChange and onChangeText - line 315: * TODO: differentiate between onChange and onChangeText - line 493: // TODO: figure out what to do with this style prop for codegen/Fabric purposes Libraries/Animated/useAnimatedProps.js (3 lines): - line 42: // TODO: Only invalidate `node` if animated props or `style` change. In the - line 52: // TODO: This "effect" does three things: - line 166: // TODO: Stop restoring default values (unless `reset` is called). ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java (3 lines): - line 74: // TODO T60461551: add tests to verify emission of events when the ReactContext is being turn - line 91: // TODO T67518514 Clean this up once we migrate everything over to bridgeless mode - line 121: // TODO T67518514 Clean this up once we migrate everything over to bridgeless mode ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java (3 lines): - line 104: /** TODO T31905686 optimize this to avoid copying arrays */ - line 120: *

TODO: this method is a copy from ReactNativeRenderer.removeTouchesAtIndices and it needs to - line 167: * TODO: this is required because the WritableNativeArray.getMap() returns a ReadableMap instead ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java (3 lines): - line 190: // TODO: t6408636 verify if we should schedule a layout after a View does a requestLayout() - line 686: null, // TODO: do we need to support FontFeatureSettings / fontVariant? - line 740: // TODO T58784068: delete this method packages/react-native-codegen/android/src/main/java/com/facebook/react/codegen/generator/resolver/ObjectResolvedType.java (3 lines): - line 32: // TODO: Optional Object property is not necessarily nullable. - line 47: // TODO: It should return its own class type. - line 64: // TODO: Object type should produce is own class to represent its shape. ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp (3 lines): - line 24: // TODO T83483191: Using this method is safer than "importByteBuffer" because - line 33: // TODO T83483191: avoid allocating serializedData_ when using - line 46: // TODO T83483191: Reevaluate what's the best approach here (allocateDirect vs React/Base/RCTTouchHandler.m (3 lines): - line 27: // TODO: this class behaves a lot like a module, and could be implemented as a - line 242: // TODO: force for a 'normal' touch is usually 1.0; - line 321: // TODO: would it be safer to do this in the bridge or executor, rather than trusting caller? Folly/folly/io/async/AsyncSSLSocket.h (3 lines): - line 306: * TODO: implement support for SSL renegotiation. - line 321: // TODO: implement graceful shutdown in close() - line 322: // TODO: implement detachSSL() that returns the SSL connection React/Views/RCTView.m (3 lines): - line 852: // TODO (#5906496): for scrollviews (the primary use-case) we could - line 926: // TODO (#5906496): this a nasty performance drain, but necessary - line 1123: // TODO: detect up-front if re-rendering is necessary Folly/folly/io/async/AsyncSSLSocket.cpp (3 lines): - line 966: // TODO: deprecate/remove in favor of getSelfCertificate. - line 1416: // TODO: Even though we are attempting to read data, SSL_read() may - line 1515: << "TODO: AsyncSSLSocket currently does not support calling " ReactCommon/cxxreact/ModuleRegistry.cpp (2 lines): - line 22: // TODO mhorowitz #10487027: This is super ugly. We should just - line 168: // TODO: #10487027 compare tags instead of doing string comparison? Libraries/Utilities/codegenNativeComponent.js (2 lines): - line 10: // TODO: move this file to shims/ReactNative (requires React update and sync) - line 16: // TODO: import from CodegenSchema once workspaces are enabled Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm (2 lines): - line 97: // TODO T71377585 - line 102: // TODO T71377585 ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java (2 lines): - line 233: // TODO #11638796: convert the stack into something useful - line 411: // TODO: Remove in a few weeks. ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java (2 lines): - line 498: * receipt. TODO: The method name is incorrect and will be renamed, #6033872 - line 727: // TODO: this should only happen when using Fabric renderer. This is a temporary approach ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java (2 lines): - line 836: // TODO: T65793557 Refactor sendAccessibilityEvent to use ViewCommands - line 896: *

TODO: T63569137 Delete the method UIManagerModule.resolveRootTagFromReactTag Libraries/Utilities/NativeAppearance.js (2 lines): - line 17: // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union - line 24: // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union ReactCommon/react/renderer/mounting/Differentiator.cpp (2 lines): - line 475: // TODO: is this necessary anymore? - line 829: // TODO: compare ShadowNode pointer instead of ShadowView here? ReactCommon/react/renderer/attributedstring/conversions.h (2 lines): - line 435: // TODO: remove "line-through" after deprecation - line 440: // TODO: remove "underline line-through" after "line-through" deprecation packages/react-native-codegen/android/src/main/java/com/facebook/react/codegen/generator/SchemaJsonParser.java (2 lines): - line 88: // TODO (T71955395): NativeModule spec type name does not - line 211: // TODO (T71847026): Some array types are missing elementType annotation. ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java (2 lines): - line 123: false, // TODO add this into local Data - line 146: false, // TODO add this into local Data Folly/folly/Expected.h (2 lines): - line 247: // TODO (t17322426): remove when VS2015 support is deprecated - line 548: // TODO (t17322426): remove when VS2015 support is deprecated React/Base/RCTDisplayLink.m (2 lines): - line 99: // [TODO: GH#858 - line 106: // TODO: GH#858] Libraries/Image/RCTImageURLLoaderWithAttribution.h (2 lines): - line 14: // TODO (T61325135): Remove C++ checks - line 47: // TODO (T61325135): Remove C++ checks Libraries/Text/Text.js (2 lines): - line 137: // TODO: Move this processing to the view configuration. - line 192: // TODO: Delete this. ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java (2 lines): - line 17: *

TODO T97384889: remove this class when the component names are unified between JS - Android - - line 25: // TODO T97384889: unify component names between JS - Android - iOS - C++ Folly/folly/experimental/RelaxedConcurrentPriorityQueue.h (2 lines): - line 45: // - Push, pop, empty, size functions. [TODO: Non-waiting and timed wait pop] - line 398: /// TODO: optimization ReactCommon/react/renderer/attributedstring/TextAttributes.h (2 lines): - line 68: // TODO: Use `Point` type instead of `Size` for `textShadowOffset` attribute. - line 76: // TODO T59221129: document where this value comes from and how it is set. ReactCommon/react/renderer/scheduler/Scheduler.cpp (2 lines): - line 200: // TODO T97216348: avoid transforming jsi into folly::dynamic - line 210: // TODO T97216348: remove folly::dynamic from InspectorData struct ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java (2 lines): - line 188: // TODO: There are some edge cases that currently aren't supported. For example, if the size - line 375: // TODO: T26400974 ReactShadowNode should not depend on nativeViewHierarchyOptimizer ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp (2 lines): - line 505: * TODO: In JavaNativeModule, folly::none is returned when the synchronous - line 510: * TODO: Investigate CxxModule infra to see if folly::none is used for Folly/folly/stats/detail/Bucket.h (2 lines): - line 103: // TODO: It would be nice to handle overflow here. - line 114: // TODO: It would be nice to handle overflow here. Libraries/StyleSheet/StyleSheet.js (2 lines): - line 251: absoluteFill: (absoluteFill: any), // TODO: This should be updated after we fix downstream Flow sites. - line 360: // TODO: This should return S as the return type. But first, android-patches/src/patch/apply.ts (2 lines): - line 23: // TODO: integrity checks - line 29: // TODO: see what patch files look like if moving to exising path Folly/folly/futures/Future-inl.h (2 lines): - line 288: // TODO: Remove. - line 1309: // TODO make this actually more performant. :-P #7260175 Libraries/Components/TextInput/TextInput.js (2 lines): - line 1025: // TODO: Fix this returning true on null === null, when no input is focused - line 1284: // TODO: Deprecate this Folly/folly/small_vector.h (2 lines): - line 141: // std::move_backward here will just turn into a memmove. (TODO: - line 504: // TODO: optimization: ReactCommon/hermes/inspector/chrome/MessageConverters.cpp (2 lines): - line 88: // TODO: Get the parent closure's name - line 234: // FIXME: JSI currently does not handle cycles and functions well here Libraries/Components/ScrollView/ScrollView.js (2 lines): - line 1398: FrameRateLogger.beginScroll(); // TODO: track all scrolls after implementing onScrollEndAnimation - line 1742: nativeID={'StickyHeader-' + key} /* TODO: T68258846. */ ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java (2 lines): - line 245: // TODO T31905686: add support for inline Images - line 571: // TODO T31905686: This class should be private Libraries/Animated/createAnimatedComponent.js (2 lines): - line 58: _component: any; // TODO T53738161: flow type this, and the whole file - line 234: // thread. TODO: T68258846 Libraries/Text/Text/RCTTextView.m (2 lines): - line 155: // FIXME: Optimize this. - line 357: // TODO: Adopt showMenuFromRect (necessary for UIKitForMac) ReactCommon/react/renderer/mapbuffer/MapBuffer.h (2 lines): - line 61: // TODO T83483191: review this declaration - line 66: // TODO T83483191: review parameters of copy method ReactCommon/cxxreact/CxxNativeModule.cpp (2 lines): - line 45: * TODO: Callback types should be made equal (preferably - line 243: // TODO 17216751: providers should never return null modules ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp (2 lines): - line 17: // TODO T97384889: unify component names between JS - Android - iOS - C++ - line 31: // TODO T63839307: remove this condition after deleting TextInlineImage from ReactCommon/hermes/inspector/Inspector.cpp (2 lines): - line 87: // TODO: read this out of an env variable or config - line 114: // TODO (t26491391): make tickleJs a real Hermes runtime API packages/react-native-codegen/DEFS.bzl (2 lines): - line 345: # TODO: support different package name internally. - line 460: # TODO T96844980: Fix and enable generated_tests-codegen_testsAndroid ReactCommon/hermes/inspector/chrome/Connection.cpp (2 lines): - line 312: // TODO: hermes hasn't implemented ProgramState::getBreakpoint yet - line 566: // TODO: Chunk this if there are too many fragments to update. React/CoreModules/RCTRedBox.mm (2 lines): - line 645: // TODO: This is copy/paste from the iOS implementation - line 670: // TODO: This is copy/paste from the iOS implementation Folly/folly/Conv.h (2 lines): - line 1409: out.append(in.data(), in.size()); // TODO try/catch? - line 1418: out.append(in.data(), in.size()); // TODO try/catch? ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java (2 lines): - line 101: // TODO T62882314: Delete this method when Fabric is fully released in OSS - line 298: // TODO T56559197: remove this condition when we migrate 100% to Fabric android-patches/patches/OfficeRNHost/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp (2 lines): - line 56: // TODO mhorowitz: how to assert here? - line 81: + // TODO:: Office - Assert that moduleRegistry_ is created .. i.e. not null ReactCommon/yoga/yoga/YGNode.cpp (2 lines): - line 188: // TODO: t18095186 Move nodeType to opt-in function and mark appropriate - line 197: // TODO: t18095186 Move nodeType to opt-in function and mark appropriate React/Views/ScrollView/RCTScrollView.h (1 line): - line 39: * The underlying scrollView (TODO: can we remove this?) React/Modules/RCTUIManager.m (1 line): - line 740: * TODO: use [NSArray getObjects:buffer] to reuse same fast buffer each time. Folly/CMake/FollyCompilerMSVC.cmake (1 line): - line 183: # TODO: Folly/folly/concurrency/AtomicSharedPtr.h (1 line): - line 101: // TODO: Could use a lock-free external map to fix this React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm (1 line): - line 82: // TODO: This prop should be deprecated. ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp (1 line): - line 177: // TODO mhorowitz: how to assert here? React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.mm (1 line): - line 72: // TODO: T40099998 implement recycling properly for Fabric Slider component ReactAndroid/src/main/java/com/facebook/react/bridge/reactnative.pro (1 line): - line 27: ## TODO mhorowitz: add @DoNotStrip to the interface directly. Folly/folly/String.cpp (1 line): - line 414: // TODO: ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java (1 line): - line 441: // TODO: T44725185 remove after full migration to Fabric Libraries/Core/Timers/JSTimers.js (1 line): - line 118: // TODO: Optimisation: allow running for longer than one frame if Folly/folly/experimental/symbolizer/Elf.h (1 line): - line 269: // TODO: For other file types, st_value holds a file offset directly. Since Libraries/Text/TextInput/RCTInputAccessoryViewContent.m (1 line): - line 26: // TODO: Support rotation, anchor to left and right without breaking frame x coordinate (T27974328). React/Profiler/RCTProfile.m (1 line): - line 451: // TODO: enable assert JS thread from any file (and assert here) Folly/folly/synchronization/MicroSpinLock.h (1 line): - line 121: // TODO: generate it from configure (`getconf LEVEL1_DCACHE_LINESIZE`) ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp (1 line): - line 98: // TODO cout << obj.get()->toString() << endl; ReactCommon/react/renderer/mapbuffer/primitives.h (1 line): - line 12: // TODO T83483191: Enable CHECK_CONSISTENCY only in debug mode or test Libraries/BugReporting/getReactData.js (1 line): - line 102: // TODO: React ART currently falls in this bucket, but this doesn't React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm (1 line): - line 235: // TODO: Adopt showMenuFromRect (necessary for UIKitForMac) packages/assets/path-support.js (1 line): - line 25: * FIXME: using number to represent discrete scale numbers is fragile in essence because of React/CoreModules/RCTExceptionsManager.mm (1 line): - line 126: // TODO: (moti) T53588496 Replace `(NSArray *)stack` in ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp (1 line): - line 74: * TODO: T54849676 Folly/folly/MapUtil.h (1 line): - line 183: // TODO: Remove the return type computations when clang 3.5 and gcc 5.1 are ReactCommon/cxxreact/CxxModule.h (1 line): - line 43: * (TODO mhorowitz #7128529: this exception behavior is not yet React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm (1 line): - line 17: // TODO: Implement it properly. ReactCommon/react/renderer/components/view/conversions.h (1 line): - line 448: // TODO: The following checks have to be removed after codegen is shipped. ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java (1 line): - line 24: * events for this wrapper instances. TODO: T7538544 Rename ThemedReactContext to be in alignment React/CoreModules/RCTDevSettings.mm (1 line): - line 458: // TODO (6929129): we can remove this special case test once we have better Libraries/Types/CodegenTypes.js (1 line): - line 37: // TODO: (rickhanlonii) T44881457 If a default is provided, it should always be optional Folly/folly/experimental/io/AsyncIO.cpp (1 line): - line 378: os << "[TODO: write debug string for " Folly/build/fbcode_builder/docker_builder.py (1 line): - line 42: # system packages are installed. TODO: For users not defined in the ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java (1 line): - line 57: *

TODO: T45627020 Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h (1 line): - line 19: // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%. Folly/folly/experimental/pushmi/flow_many_sender.h (1 line): - line 242: // // TODO constrain me React/Views/ScrollView/RCTScrollEvent.m (1 line): - line 108: // TODO: Revisit when FB issues their Main Thread Checker fix. ReactCommon/hermes/inspector/detail/SerialExecutor.h (1 line): - line 33: /// TODO: create a factory that uses SerialAsyncExecutorFactory if we're React/CxxModule/RCTCxxMethod.mm (1 line): - line 121: // TODO: we should convert this to JSValue directly React/Modules/RCTSurfacePresenterStub.h (1 line): - line 15: // TODO: Eventually this should go away and files should just include RCTSurfacePresenter.h, but React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm (1 line): - line 180: // TODO (T93859532): Investigate implementation for this. Libraries/Components/Slider/Slider.js (1 line): - line 255: // TODO: Reconcile these across the two platforms. ReactCommon/react/renderer/core/PropsParserContext.h (1 line): - line 23: int surfaceId; // TODO: use SurfaceId type packages/react-native-codegen/buck_tests/emptyFile.cpp (1 line): - line 10: // TODO: Import every prop and event to asset they're generated ReactCommon/cxxreact/SampleCxxModule.cpp (1 line): - line 53: // TODO mhorowitz #7128529: There's no way to automatically test this ReactCommon/cxxreact/JSBigString.cpp (1 line): - line 84: // TODO: Consider fallback that reads entire file into memory. Libraries/Inspector/InspectorOverlay.js (1 line): - line 59: nativeID="inspectorOverlay" /* TODO: T68258846. */ Folly/folly/synchronization/SaturatingSemaphore.h (1 line): - line 311: // TODO: move the acquire to the compare_exchange failure load after C++17 Libraries/Network/RCTNetworking.android.js (1 line): - line 40: // FIXME: use typed events Libraries/ReactNative/FabricUIManager.js (1 line): - line 21: // TODO: type these properly. ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java (1 line): - line 84: // TODO #7120264: Cache this stuff better. glog/src/symbolize.cc (1 line): - line 861: // TODO: Support other environments. Libraries/Utilities/Appearance.js (1 line): - line 73: // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp (1 line): - line 55: // TODO: check if multiple requests are cached or if it's a net loss ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h (1 line): - line 89: // TODO T83483191: This should return MapBuffer! Folly/folly/experimental/JemallocHugePageAllocator.cpp (1 line): - line 186: // TODO: Support growth of the huge page arena. Libraries/Renderer/shims/ReactNativeTypes.js (1 line): - line 119: // TODO (bvaughn) Decide which additional types to expose here? Folly/folly/concurrency/ConcurrentHashMap.h (1 line): - line 329: // TODO update assign interface, operator[], at Libraries/Components/ScrollView/ScrollViewStickyHeader.js (1 line): - line 273: // TODO T68319535: remove this if NativeAnimated is rewritten for Fabric React/Views/RCTViewManager.m (1 line): - line 225: // TODO: Improve this by enabling edge antialiasing only for transforms with rotation or skewing Folly/folly/Utility.h (1 line): - line 179: // TODO: Remove after upgrading to C++14 baseline ReactCommon/hermes/inspector/chrome/MessageConverters.h (1 line): - line 38: // TODO: When CDTP sends a column number of 0, we send Hermes a column Libraries/ReactNative/PaperUIManager.js (1 line): - line 111: // TODO (T45220498): Remove this. ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java (1 line): - line 250: // TODO: Somehow get image size and convert `loaded` and `total` to image bytes. ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp (1 line): - line 66: // TODO T67606511: We will redefine the measurement of empty strings as part React/Base/RCTBridge.m (1 line): - line 253: // causing some issues. TODO: revisit this post-Fabric/TurboModule. React/CxxBridge/NSDataBigString.mm (1 line): - line 23: // TODO: bundles from the packager should always include a NULL byte ReactCommon/jsi/jsi/jsi.h (1 line): - line 451: /// TODO T40778724: this is a limited implementation sufficient for scripts/run-ci-e2e-tests.js (1 line): - line 221: // TODO: Get target OS and simulator from .tests.env Folly/folly/Traits.h (1 line): - line 445: // TODO add this line (and some tests for it) when we Folly/folly/ConcurrentSkipList.h (1 line): - line 692: // TODO:(xliu) remove these. ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java (1 line): - line 115: // TODO: t9053573 is tracking that this code should be shared Libraries/Network/RCTNetworking.mm (1 line): - line 695: // TODO: buildRequest returns a cancellation block, but there's currently ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro (1 line): - line 7: ## TODO mhorowitz: add @DoNotStrip to the interface directly. ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp (1 line): - line 24: // TODO: dvacca ramanpreet unify this with the way ReactAndroid/src/main/java/com/facebook/hermes/unicode/AndroidUnicodeUtils.java (1 line): - line 16: // TODO: use com.facebook.common.locale.Locales.getApplicationLocale() as the current locale, ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp (1 line): - line 85: // TODO T69453179: Codegen this file glog/src/vlog_is_on.cc (1 line): - line 223: // TODO: Trim out _unittest suffix? Perhaps it is better to have Libraries/LogBox/Data/parseLogBoxLog.js (1 line): - line 35: // TODO: When React switched to using call stack frames, ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm (1 line): - line 126: // TODO T86826778 - Figure out which queue this should be dispatched to. React/CoreModules/RCTDevSplitBundleLoader.mm (1 line): - line 58: // TODO: Setup loading bar. Folly/folly/experimental/pushmi/time_source.h (1 line): - line 383: // TODO: break this dependency rather than enforce it with concepts Folly/folly/Memory.h (1 line): - line 461: // TODO: remove this ctor, which is required only by gcc49 android-patches/src/cli.ts (1 line): - line 154: // TODO :: This is broken for diffing as we run diffs asynchronously. ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java (1 line): - line 185: *

TODO T7247021: Replace updateExtraData with generic update props mechanism after D2086999 packages/react-native-codegen/android/src/main/java/com/facebook/react/codegen/generator/resolver/NativeModuleResolvedType.java (1 line): - line 49: // TODO: Optional Object property is not necessarily nullable. Libraries/ReactNative/RootTag.js (1 line): - line 13: // TODO: Make this into an opaque type. ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.java (1 line): - line 16: // TODO if this interface survives refactoring, think about adding packages/eslint-config-react-native-community/index.js (1 line): - line 195: 'no-warning-comments': 0, // disallow usage of configurable warning terms in comments": 1, // e.g. TODO or FIXME (off by default) Libraries/Settings/RCTSettingsManager.mm (1 line): - line 88: * TODO: would it be useful to have a callback for when this has completed? android-patches/patches/OfficeRNHost/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java (1 line): - line 68: + // TODO :: Office patch :: Not sure why is this needed ? packages/react-native-codegen/android/src/main/java/com/facebook/react/codegen/generator/model/FunctionType.java (1 line): - line 22: // TODO (T71926678): Revisit if optional should be supported. ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp (1 line): - line 18: // TODO: T57583139 ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp (1 line): - line 44: // TODO T67606511: We will redefine the measurement of empty strings as part Folly/folly/FBString.h (1 line): - line 2723: // TODO: make this faster. React/CoreModules/RCTAccessibilityManager.mm (1 line): - line 49: // TODO: can this be moved out of the startup path? ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java (1 line): - line 69: * This API is likely to change once the fix of T78832286 is confirmed TODO: T78832286 revisit Libraries/Inspector/resolveBoxStyle.js (1 line): - line 42: // TODO: Fix issues with multiple properties affecting the same side. Libraries/PermissionsAndroid/NativePermissionsAndroid.js (1 line): - line 14: // TODO: Use proper enum types. Folly/folly/logging/CustomLogFormatter.h (1 line): - line 45: * TODO: enable support for the following 2: Libraries/Image/RCTImageLoaderWithAttributionProtocol.h (1 line): - line 18: // TODO (T61325135): Remove C++ checks glog/src/logging_unittest.cc (1 line): - line 223: // TODO: The golden test portion of this test is very flakey. Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m (1 line): - line 23: NSMutableDictionary *_propsDictionary; // TODO: use RawProps or folly::dynamic directly Libraries/Utilities/ReactNativeTestTools.js (1 line): - line 60: // TODO: Remove this after deleting `Touchable`. Folly/folly/io/async/NotificationQueue.h (1 line): - line 504: // TODO 10860938 Remove after figuring out crash ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp (1 line): - line 87: toDynamic(paragraphAttributes); // TODO: can we memoize this in Java? Folly/folly/synchronization/PicoSpinLock.h (1 line): - line 140: // TODO: Might be able to fully move to std::atomic when gcc emits lock btr: packages/react-native-codegen/android/src/main/java/com/facebook/react/codegen/generator/resolver/FunctionResolvedType.java (1 line): - line 112: // TODO: Handle nullable falsy return. ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h (1 line): - line 23: * TODO: need SurfaceId here Folly/folly/logging/GlogStyleFormatter.cpp (1 line): - line 75: // TODO: Support including thread names and thread context info. flow/jest.js (1 line): - line 1151: // TODO handle return type packages/rn-tester/js/components/RNTesterModuleContainer.js (1 line): - line 64: // TODO remove this case packages/eslint-plugin-codegen/with-babel-register/index.js (1 line): - line 62: * TODO: Do source maps break when we use a require hook Folly/folly/detail/RangeSse42.cpp (1 line): - line 27: // TODO: Maybe this should be done by the build system.... Folly/folly/FBVector.h (1 line): - line 280: // TODO we can expand this optimization to: default copyable and assignable Folly/folly/SocketAddress.cpp (1 line): - line 572: // TODO: this probably could be made more efficient ReactAndroid/src/main/java/com/facebook/react/jscexecutor/OnLoad.cpp (1 line): - line 64: // TODO mhorowitz T28461666 fill in some missing nice to have glue Folly/folly/FixedString.h (1 line): - line 3073: // TODO: React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm (1 line): - line 185: // FIXME: Commented props are not supported yet. Folly/folly/ConstexprMath.h (1 line): - line 25: // TODO: Replace with std::equal_to, etc., after upgrading to C++14. ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp (1 line): - line 37: // TODO: customCoalesceKey currently unused ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp (1 line): - line 139: // TODO: evaluate whether calling through invoke is potentially faster ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h (1 line): - line 51: // TODO: Rename to `tintColor` and make universal. Libraries/Image/RCTUIImageViewAnimated.m (1 line): - line 189: // TODO: `displayLink.frameInterval` is not available on UIKitForMac ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h (1 line): - line 189: // TODO: add SurfaceId to this API as well React/Base/RCTRootView.m (1 line): - line 171: // TODO: https://github.com/microsoft/react-native-macos/issues/459 ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp (1 line): - line 130: // TODO T67606511: We will redefine the measurement of empty strings as part Folly/folly/io/IOBuf.h (1 line): - line 993: * coalesce. (TODO: In the future it would be nice if unshare() were smart ReactCommon/react/renderer/components/text/conversions.h (1 line): - line 42: // TODO: Used for TextInput ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h (1 line): - line 115: * TODO: Consolidate this extension with the one in RCTSurfacePresenter. Libraries/Animated/NativeAnimatedHelper.js (1 line): - line 25: // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%. ReactCommon/react/renderer/scheduler/InspectorData.h (1 line): - line 19: // TODO T97216348: remove folly::dynamic from InspectorData struct Folly/folly/portability/Sockets.cpp (1 line): - line 147: // TODO: Allow both file descriptors and SOCKETs in this. React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm (1 line): - line 92: // TODO (T58941612): Tracking for visibility should be done directly on this class. ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java (1 line): - line 36: // TODO T86027499: support `setRemoveClippedSubviews` in RTL mode Folly/folly/Exception.h (1 line): - line 39: // TODO: The C++ standard indicates that std::generic_category() should be React/Views/RCTComponent.h (1 line): - line 52: // TODO: this is kinda dumb - let's come up with a Folly/folly/experimental/hazptr/hazptr-impl.h (1 line): - line 1002: std::unordered_set hs; // TODO lock-free alternative Libraries/Text/RCTTextAttributes.m (1 line): - line 210: // FIXME: RCTFont has thread-safety issues and must be rewritten. ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm (1 line): - line 436: // TODO: Re-use value conversion logic from existing impl, if possible. ReactCommon/react/renderer/components/image/ImageProps.h (1 line): - line 16: // TODO (T28334063): Consider for codegen. packages/rn-tester/android/app/src/main/jni/OnLoad.cpp (1 line): - line 14: // TODO: dvacca ramanpreet unify this with the way "ComponentDescriptorFactory" is defined in Fabric ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java (1 line): - line 369: // TODO: Eventually support for other languages on talkback android-patches/src/patch_utils.ts (1 line): - line 19: path1IsNew: boolean /* TODO :: path2IsNew ? */, packages/rn-tester/js/RNTesterAppShared.js (1 line): - line 40: // TODO: Vendor AsyncStorage or create our own. Folly/folly/python/__init__.pxd (1 line): - line 18: #TODO add via and then Libraries/EventEmitter/RCTDeviceEventEmitter.js (1 line): - line 13: // FIXME: use typed events Folly/folly/container/F14Map.h (1 line): - line 1057: // TODO extract and node_handle insert React/Base/macOS/RCTUIKit.m (1 line): - line 33: // TODO: Assert. We can't assume a display scale on macOS Folly/folly/synchronization/AtomicUtil-inl.h (1 line): - line 35: // TODO: Remove the non-default implementations when both gcc and clang Folly/folly/synchronization/Baton.h (1 line): - line 295: // TODO: move the acquire to the compare_exchange failure load after C++17 ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java (1 line): - line 351: // TODO: tell all APIs to shut down Libraries/StyleSheet/StyleSheetTypes.js (1 line): - line 512: // TODO: what is the actual type it expects? ReactCommon/yoga/yoga/YGNodePrint.cpp (1 line): - line 107: // TODO: this doesn't take RTL / YGEdgeStart / YGEdgeEnd into account android-patches/scripts/downloadDependencies.py (1 line): - line 366: # TODO: Share code with last block Libraries/Image/RCTImageStoreManager.mm (1 line): - line 107: // TODO (#5906496): Name could be more explicit - something like getBase64EncodedDataForTag:? ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm (1 line): - line 23: // TODO: remove FB specific code (T56174424) ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java (1 line): - line 36: // TODO: Lower frame duration on devices that are too slow to run consistently android-patches/src/logger.ts (1 line): - line 94: // /* TODO: handle me */ ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java (1 line): - line 74: // TODO: State update cannot fail; remove `failureRunnable` and custom retrying logic. Folly/folly/dynamic-inl.h (1 line): - line 137: // TODO: noexcept calculation required through gcc-v4.9; remove once upgrading React/CoreModules/RCTPlatform.mm (1 line): - line 53: // TODO: Use the generated struct return type. ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java (1 line): - line 97: // TODO: Use strings for id's too ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java (1 line): - line 367: return builder.add("($L)value", READABLE_ARRAY_TYPE); // TODO: use real type but needs import ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp (1 line): - line 806: // TODO: pass in JSI value instead of folly::dynamic to RawValue Folly/folly/portability/SysMman.cpp (1 line): - line 168: // TODO: Could technically implement MAP_POPULATE via PrefetchVirtualMemory android-patches/patches/V8/ReactAndroid/src/main/java/com/facebook/react/v8executor/OnLoad.cpp (1 line): - line 32: + // TODO mhorowitz T28461666 fill in some missing nice to have glue Libraries/Image/Image.android.js (1 line): - line 85: // TODO: T79192300 Log queryRootName and rootTag ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java (1 line): - line 86: // TODO: We could probably use a smarter algorithm here. This will require 0(n) Libraries/Components/View/ViewPropTypes.js (1 line): - line 166: * PanResponder includes a note `// TODO: t7467124 investigate if this can be removed` that Folly/folly/io/async/AsyncSocket.cpp (1 line): - line 67: // TODO: It might help performance to provide a version of BytesWriteRequest tools/build_defs/oss/rn_defs.bzl (1 line): - line 73: # TODO: use this to define the compiler flag REACT_NATIVE_DEBUG in debug/dev mode builds only. ReactCommon/yoga/yoga/YGNode.h (1 line): - line 297: // TODO: rvalue override for setChildren ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.cpp (1 line): - line 46: // TODO why we need JNIEXPORT for getCurrentEnv ? ReactCommon/react/renderer/mounting/ShadowView.h (1 line): - line 83: * We rely on this only for marginal cases. TODO: could we Libraries/NativeAnimation/RCTNativeAnimatedModule.h (1 line): - line 18: // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%. Folly/folly/experimental/pushmi/flow_receiver.h (1 line): - line 321: // TODO winnow down the number of make_flow_receiver overloads and deduction danger/dangerfile.js (1 line): - line 124: // TODO: Switch to using an actual MAINTAINERS file. ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h (1 line): - line 17: // TODO (T28334063): Consider for codegen. Folly/folly/io/IOBuf.cpp (1 line): - line 321: // TODO: We could allocate the IOBuf object and SharedInfo all in a single Libraries/Storage/AsyncStorage.js (1 line): - line 345: // TODO: Check whether above comment is correct. multiMerge is guaranteed to ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java (1 line): - line 138: // TODO: T7538796 Check requirement for Override of getSystemService ReactContext ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java (1 line): - line 23: * after this. TODO mhorowitz: This may no longer be used; check and delete if possible. packages/react-native-codegen/buck_tests/emptyFile.mm (1 line): - line 13: // TODO: Import every prop and event to asset they're generated Folly/folly/container/detail/F14Table.h (1 line): - line 152: // TODO: add specialization for std::basic_string_view Folly/folly/logging/CustomLogFormatter.cpp (1 line): - line 83: * TODO: Support including thread names and thread context info. Libraries/Components/View/ReactNativeViewViewConfig.js (1 line): - line 134: accessibilityStates: true, // TODO: Can be removed after next release Folly/folly/detail/TypeList.h (1 line): - line 518: // TODO For a list of N lists, this algorithm is O(N). It does no unrolling. packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java (1 line): - line 154: // TODO: T71362667 add ReactNativeConfig's support in RNTester ReactCommon/cxxreact/Instance.cpp (1 line): - line 290: // TODO: Replace JS Callinvoker with RuntimeExecutor. ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h (1 line): - line 169: * TODO T63008435: can these, and this feature, be removed entirely? Folly/folly/executors/ThreadPoolExecutor.cpp (1 line): - line 186: // TODO need a notion of failing to create the thread ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontUtils.mm (1 line): - line 65: // FIXME: ReactCommon/react/renderer/components/text/BaseTextShadowNode.h (1 line): - line 52: * TODO T53299884: decide if this should be moved out and made a static