Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 2.33 KB

File metadata and controls

49 lines (33 loc) · 2.33 KB

Debugging Guide

This guide covers various debugging scenarios and solutions for Calendar Notifications Plus development.

Chrome Debugger Limitations

⚠️ IMPORTANT WARNING: BY DEFAULT IN THE CHROME DEBUGGER Expo Module Functions DO NOT WORK AT ALL!

(This should be in big bold red letters in the Expo documentation but isn't!)

This issue occurs because:

  1. Methods using @ReactMethod(isBlockingSynchronousMethod = true)
  2. JSI (JavaScript Interface) usage for native code which requires shared memory between JS VM and app

The Chrome debugger runs React Native inside its JS VM and communicates with mobile devices via WebSockets, meaning:

  • No direct access to native modules
  • No shared memory between JS VM and app
  • Synchronous native methods cannot function

We lost a lot of time on this issue! See:

Hermes Debugging

⚠️ CRITICAL WARNING: HERMES DEBUGGING DOES NOT WORK IN DEVELOPMENT MODE!

You MUST build your Android app in RELEASE mode for Hermes debugging to work. While the official documentation mentions needing a release build, it doesn't explicitly state that it won't work in development mode at all!

Alternative Debugging Solutions

  1. Hermes on Chrome (Release mode only)

  2. VSCode Debugging

  3. Flipper

Additional Resources