Skip to content

Conversation

@JhMaic
Copy link

@JhMaic JhMaic commented Dec 11, 2025

This PR resolves a critical NullReferenceException that caused the Observable Tracker to fail immediately upon startup/enabling #357 ; #334. It also significantly upgrades the tracker with new filtering capabilities and navigation support.

Note: These changes have been tested on Godot 4.5.1.

🐛 Fixes

  • Fixed Startup & Hot Reload Instability: Resolved the NullReferenceException that occurred when enabling the plugin or starting a session. The Tracker now initializes correctly and remains stable across Assembly Reloads (Hot Reload).
  • Fixed Ghost Instances: Implemented a check to prevent duplicate DebuggerPlugin instances from accumulating and spamming logs.

✨ New Features

  • Toggle: Hide Ops: Added a checkbox to filter out intermediate operators (e.g., Where, Select), keeping only ReactiveProperty and Subscribe events for a cleaner view.
  • Toggle: Simple Trace: Added a checkbox to hide internal stack frames from Godot, R3, and System.Reactive, allowing the view to focus solely on user scripts.
  • Jump to Source: Double-clicking on the StackTrace column now automatically opens the specific script file and line number in the external editor.

🎨 Changes

  • Column Update: Changed the "Elapsed" column (relative duration) to "Created At" (absolute local time) to make it easier to correlate events with console logs.
  • Performance: Added a maximum item limit (1000 items) to the list to prevent editor freezing when tracking high-frequency observables.

@BaronKiko
Copy link

Works well for me, thanks. Hopefully this one actually gets merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants