Problem refreshing app - need to uninstall to run successfully

Context

  • I make a patient-staff communication tool for hospitals (dispatch.care)
  • I’m not a real developer, but Expo has let me hack this together pretty easily
  • I want to add video calling between patients and staff via Twilio
  • My understanding is that I can’t stay on the managed workflow and do this… So reluctantly ejected the app

The Problem

Repro Steps
… with my bare workflow app: shake and reload

Expected Behavior
App reloads newest code

Actual Behavior
App fails to reload and instead shows an additional warning and 2 errors (below)

Warning:
“The native view manager required by name (ExponentCamera) from NativeViewManagerAdapter isn’t exported by @unimodules/react-native-adapter

Error:
undefined is not an object (evaluating ‘_ExponentCameraManager.default.Type’)

Error (this one looks most interesting):
“main” has not been registered. This can happen if:

  • Metro (the local dev server) is run from the wrong folder…
  • A module failed to load due to an error and AppRegistry.registerComponent wasn’t called

Some other things that might be interesting…

  • uninstalling the app from tablet and rebuilding works
  • expo doctor didn’t find anything wrong

Log I made along the way

  • Upgraded to Expo 41
  • Expo eject
  • Tried to run (run:ios), didn’t work
  • Opened with Xcode
  • Build worked on simulator… failed to connect to backend
  • Set to localhost - worked
  • Notifications request didn’t work on simulator - my code failed to catch
  • Changed project format to Xcode 12 for no reason
  • Tried to run on my phone - failed b/c tablet only
  • Tried to run on iPad
    • Failed because no team set in xcode
    • Signed in
    • Assigned team in build settings
    • App launched… but no network connection
  • Wrote code that adjusted for where to find backend
  • Installed Twilio via yarn (GitHub - blackuy/react-native-twilio-video-webrtc: Twilio Video (WebRTC) for React Native)
  • Next step is to add to a pod file… but that’s in the .gitignore
  • Got advice to remove from gitignore
  • Added stuff to pod file
  • Set up Twilio account
  • Generated a temp token here: https://console.twilio.com/?frameUrl=/console/video/project/testing-tools
  • Refactored RoomDetailsStatus
  • Made VideoCall.js (component with Twilio stuff)
  • Got selfie video working
  • … started experiencing this problem