Skip to content

undefined is not a function [buildStyle(@shopify/restyle/dist/composeRestyleFunctions)] #291

@isaachinman

Description

@isaachinman

Current behavior

I was just notified of a fatal error via Sentry. The stack trace is below.

It's probably relevant to note that this crash occurred immediately after a user touch event: Touch event within element: Text.

Expected behavior

The @shopify/restyle package should never fatally crash a RN app, regardless of user error or incorrect configuration.

I suspect this crash was somehow due to incorrect configuration, but I have no idea how/where, and moreover the crash only occurred on a single user device, across hundreds of sessions/devices.

Stack trace

TypeError: undefined is not a function
  at buildStyle(/node_modules/@shopify/restyle/dist/composeRestyleFunctions.js:38:44)
  at func(/node_modules/@shopify/restyle/dist/createVariant.js:36:80)
  at buildStyle(/node_modules/@shopify/restyle/dist/composeRestyleFunctions.js:38:44)
  at anonymous(/node_modules/@shopify/restyle/dist/hooks/useRestyle.js:40:55)
  at HooksDispatcherOnMount.useMemo(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:4062:30)
  at exports.useDeferredValue(/node_modules/react/cjs/react.production.min.js:25:215)
  at useRestyle(/node_modules/@shopify/restyle/dist/hooks/useRestyle.js:39:46)
  at createRestyleComponent(/node_modules/@shopify/restyle/dist/createRestyleComponent.js:25:51)
  at renderWithHooks(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:3525:22)
  at updateForwardRef(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:4316:30)
  at beginWork$1(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:7929:25)
  at performUnitOfWork(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:7304:25)
  at workLoopSync(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:7297:54)
  at renderRootSync(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:7279:19)
  at performSyncWorkOnRoot(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:6975:34)
  at flushSyncCallbacks(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:2145:31)
  at batchedUpdatesImpl(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:8462:58)
  at batchedUpdates(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:1106:30)
  at _receiveRootNodeIDEvent(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:1137:17)
  at ReactNativePrivateInterface.RCTEventEmitter.register$argument_0.receiveTouches(/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js:1209:30)
  at apply(native)
  at __callFunction(/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:433:34)
  at __guard$argument_0(/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:113:26)
  at __guard(/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:368:11)
  at callFunctionReturnFlushedQueue(/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:112:17)

To Reproduce

TBD.

Platform:

  • iOS (17.2.1, iPhone 13 Pro)

Environment

@shopify/[email protected]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions