Skip to content

Firebot starts firing events before it fully initializes its internals #3400

@TheStaticMage

Description

@TheStaticMage

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I'm writing this as a more general bug report / request to report that user-defined effect lists can run before Firebot internals (loading counters, loading persistent variables, registering replace variables, etc.) are initialized. This can create odd behavior or errors upon startup.

In my particular case I have an "OBS Connected" event to write the current value of a counter and some custom variables when first connects. However:

  • Counter has value of 76 stored on disk.
  • The "OBS Connected" event fires before the counter is loaded.
  • The value of the text source in OBS is set to "-1".
  • THEN the counter value loads.
  • If I run the effect list again manually, or connect OBS after Firebot has been running for a while, then it works.

I've also observed this problem for persisted custom variables that aren't loaded yet, and (intermittently) replace variables aren't registered yet when an event triggers.

Expected Behavior

With the above described events, the value of the text field should be set to "76".

And in general, counters, loading persistent variables, replace variables, etc., should all be loaded / initialize before any effect list that the user writes gets triggered.

Steps To Reproduce

This is basically a race condition so I can't give you 100% certain instructions to reproduce it in your environment. Here's what I did:

  1. Create a counter
  2. Create an event for OBS Connected
  3. Add Set OBS Source Text and set a text source to the value of your counter
  4. Make sure OBS is running, then start Firebot
  5. See if the OBS text source is set to "-1"

Version

5.65.3

What operating system are you using Firebot on?

Linux Distro

Relevant log output

Timestamps are what's crucial here.

[2025-12-29 16:13:27.771] [INFO] Successfully connected to OBS.
[2025-12-29 16:13:27.773] [DEBUG] Looking and handling replace variables...
[2025-12-29 16:13:27.774] [DEBUG] Running firebot:obs-set-source-text(4680641e-932a-4992-91ed-2b8e20b891cf) effect...
[2025-12-29 16:13:27.777] [DEBUG] Looking and handling replace variables...
[2025-12-29 16:13:27.777] [DEBUG] Running firebot:obs-set-source-text(a6f7a308-a2aa-4749-99a5-7ee319e09c96) effect...
[2025-12-29 16:13:27.779] [DEBUG] Looking and handling replace variables...
[2025-12-29 16:13:27.779] [DEBUG] Running firebot:obs-set-source-text(9e284a1d-52c6-42a6-ae5a-f70b1cd3c34f) effect...
[2025-12-29 16:13:27.780] [DEBUG] Looking and handling replace variables...
[2025-12-29 16:13:27.780] [DEBUG] Running firebot:obs-set-source-text(09c8d478-fe14-4db2-b403-ece8b43fa35c) effect...
[2025-12-29 16:13:27.782] [DEBUG] All effects processed for effect list id e19a3a99-5cbb-4286-9a4c-65179e792c9e
...
[2025-12-29 16:13:29.621] [DEBUG] Attempting to load Counters...
[2025-12-29 16:13:29.621] [DEBUG] Loaded Counters.

Contact Details (Optional)

TheStaticMage

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions