Skip to content

"Cannot connect to Metro server" after deleting vault that is in "waiting for consent" status  #103

@dkastl

Description

@dkastl

Describe the bug

After denying access to unlock the vault after issue #102 the vault cannot be unlocked anymore, at least if there is just a single lockee for that vault.

Clicking the "Delete" button on the gray "waiting for consent" screen returns the following log output:

Warning: React has detected a change in the order of Hooks called by wrappedComponent. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks

   Previous render            Next render
   ------------------------------------------------------
1. useState                   useState
2. useCallback                useCallback
3. useRef                     useRef
4. useDebugValue              useDebugValue
5. useEffect                  useEffect
6. useContext                 useContext
7. useState                   useState
8. useEffect                  useEffect
9. useContext                 useLayoutEffect
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    in wrappedComponent (at Screens.tsx:79)
    in VaultRoute (at SceneView.tsx:122)
    in StaticContainer
    in StaticContainer (at SceneView.tsx:115)
    in EnsureSingleNavigator (at SceneView.tsx:114)
    in SceneView (at useDescriptors.tsx:150)
    in RCTView (at View.js:34)
    in View (at CardContainer.tsx:221)
    in RCTView (at View.js:34)
    in View (at CardContainer.tsx:220)
    in RCTView (at View.js:34)
    in View (at CardSheet.tsx:33)
    in ForwardRef(CardSheet) (at Card.tsx:563)
    in RCTView (at View.js:34)
    in View (at createAnimatedComponent.js:165)
    in AnimatedComponent (at createAnimatedComponent.js:215)
    in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:545)
    in PanGestureHandler (at GestureHandlerNative.tsx:13)
    in PanGestureHandler (at Card.tsx:539)
    in RCTView (at View.js:34)
    in View (at createAnimatedComponent.js:165)
    in AnimatedComponent (at createAnimatedComponent.js:215)
    in ForwardRef(AnimatedComponentWrapper) (at Card.tsx:535)
    in RCTView (at View.js:34)
    in View (at Card.tsx:529)
    in Card (at CardContainer.tsx:189)
    in CardContainer (at CardStack.tsx:558)
    in RCTView (at View.js:34)
    in View (at Screens.tsx:69)
    in MaybeScreen (at CardStack.tsx:551)
    in RCTView (at View.js:34)
    in View (at Screens.tsx:48)
    in MaybeScreenContainer (at CardStack.tsx:461)
    in CardStack (at StackView.tsx:458)
    in KeyboardManager (at StackView.tsx:456)
    in SafeAreaProviderCompat (at StackView.tsx:453)
    in RCTView (at View.js:34)
    in View (at StackView.tsx:452)
    in StackView (at createStackNavigator.tsx:84)
    in StackNavigator (at Screens.tsx:93)
    in Screens (at App.tsx:66)
    in RCTView (at View.js:34)
    in View (at App.tsx:62)
    in EnsureSingleNavigator (at BaseNavigationContainer.tsx:390)
    in ForwardRef(BaseNavigationContainer) (at NavigationContainer.tsx:91)
    in ThemeProvider (at NavigationContainer.tsx:90)
    in ForwardRef(NavigationContainer) (at App.tsx:61)
    in RNCSafeAreaProvider (at SafeAreaContext.tsx:74)
    in SafeAreaProvider (at App.tsx:59)
    in App (created by ExpoRoot)
    in RootErrorBoundary (created by ExpoRoot)
    in ExpoRoot (at renderApplication.js:45)
    in RCTView (at View.js:34)
    in View (at AppContainer.js:106)
    in RCTView (at View.js:34)
    in View (at AppContainer.js:132)
    in AppContainer (at renderApplication.js:39)
- node_modules/react-native/Libraries/LogBox/LogBox.js:173:8 in registerError
- node_modules/react-native/Libraries/LogBox/LogBox.js:59:8 in errorImpl
- node_modules/react-native/Libraries/LogBox/LogBox.js:33:4 in console.error
- node_modules/expo/build/environment/react-native-logs.fx.js:27:4 in error
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:106:4 in printWarning
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:75:16 in error
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:9954:13 in warnOnHookMismatchInDev
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:9907:31 in updateHookTypesDev
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:11282:24 in HooksDispatcherOnUpdateInDEV.useLayoutEffect
* http://192.168.1.86:19001/index.bundle?platform=android&dev=true&minify=false&hot=false:211747:36 in useQueuedForceUpdateBlock
* http://192.168.1.86:19001/index.bundle?platform=android&dev=true&minify=false&hot=false:211606:63 in useObserver
- node_modules/mobx-react-lite/es/observer.js:23:8 in observer
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:10073:26 in renderWithHooks
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:12295:34 in updateFunctionComponent
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:19181:22 in beginWork$1
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:18085:22 in performUnitOfWork
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:18013:38 in workLoopSync
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:17977:18 in renderRootSync
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:17674:33 in performSyncWorkOnRoot
* [native code]:null in performSyncWorkOnRoot
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:5321:31 in runWithPriority$argument_1
- node_modules/scheduler/cjs/scheduler.development.js:653:23 in unstable_runWithPriority
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:5316:21 in flushSyncCallbackQueueImpl
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:5304:28 in flushSyncCallbackQueue
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:17718:28 in batchedUpdates$1
- node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js:2492:29 in batchedUpdates
- node_modules/mobx/lib/mobx.module.js:1919:4 in setReactionScheduler
- node_modules/mobx/lib/mobx.module.js:1893:20 in runReactions
- node_modules/mobx/lib/mobx.module.js:1594:10 in endBatch
- node_modules/mobx/lib/mobx.module.js:980:4 in _endAction
- node_modules/mobx/lib/mobx.module.js:934:12 in executeAction
- node_modules/mobx/lib/mobx.module.js:914:14 in res
* src/screens/Vault.tsx:92:18 in deleteWarning$argument_0.onPress
- node_modules/react-native/Libraries/Alert/Alert.js:92:38 in onAction
- node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:462:4 in __invokeCallback
- node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:127:6 in __guard$argument_0
- node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:364:10 in __guard
- node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:126:4 in invokeCallbackAndReturnFlushedQueue
* [native code]:null in invokeCallbackAndReturnFlushedQueue

To Reproduce
Start as in #102, then delete a vault from the gray "waiting for consent" screen.

Expected behavior

Delete the vault and return to the main screen without warning and the message "Cannot connect to Metro server".

Platform/smartphone (please complete the following information):

  • Device: Android phones (Umidigi, Xoami Redmi)
  • OS: Android 10
  • App Version Updates #93

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions