Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug Report: Device Triggers temporarily go blank #1197

Open
ianshade opened this issue May 31, 2024 · 2 comments
Open

Bug Report: Device Triggers temporarily go blank #1197

ianshade opened this issue May 31, 2024 · 2 comments
Labels
🐛bug Something isn't working Contribution from TV 2 Norge Contributions sponsored by TV 2 Norge (tv2.no) Contribution

Comments

@ianshade
Copy link
Contributor

About me

This bug report is posted on behalf of TV 2 Norge.

Observed Behavior

Keys on a Stream Deck device connected to Core via Input Gateway go black for a few seconds (sometimes upwards of 10) as a result of many actions performed in a relatively short time. It is easily reproducible when performing many AdLib Actions that insert new Parts, and it seems more frequent when there are many Parts in the Segment.
It can also be observed in the Test Tools > Device Triggers section in Sofie, where the list goes empty at the same time the issue occurs on the device, therefore I'm reporting this as a Core bug, likely something to do with the custom publications used by this feature.

1000000579.mp4

Expected Behavior

Number of actions performed by the user in a short period (or the number of Parts in a Segment) should not cause the mounted triggers to go blank for multiple seconds.

Version

Sofie Core: release50 (aa69e5d, as well as some earlier ones), Input Gateway: develop (be957f04)

Severity / Impact

No response

Level of Involvement

No response

@ianshade ianshade added the 🐛bug Something isn't working label May 31, 2024
@Julusian
Copy link
Member

Julusian commented Jun 4, 2024

I think I have identified this to be triggered by the use of takeAfterExecuteAction

This appears to be caused by a race condition in https://github.com/nrkno/sofie-core/blob/master/meteor/server/api/deviceTriggers/StudioObserver.ts#L92-L95 not finding a PartInstance upon its first run, resulting in it not finding a showStyleBase to use.
I assume this is a side effect of how we are saving data to the database, with the RundownPlaylist collection being written before the PartInstances, causing this race condition

I think I have a simple fix, we don't need anything on the PartInstance other than the rundownId, which we are now also storing with the partInstanceId on the playlist isnide of the currentPartInfo and other properties, so we can skip loading the PartInstance entirely and rely on that id instead.

Julusian added a commit that referenced this issue Jun 4, 2024
Julusian added a commit that referenced this issue Jun 4, 2024
@Julusian
Copy link
Member

Julusian commented Jun 4, 2024

Fix is pushed, please re-test to confirm this is resolved

ianshade pushed a commit to tv2norge-collab/sofie-core that referenced this issue Jun 4, 2024
@jstarpl jstarpl added the Contribution from TV 2 Norge Contributions sponsored by TV 2 Norge (tv2.no) label Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛bug Something isn't working Contribution from TV 2 Norge Contributions sponsored by TV 2 Norge (tv2.no) Contribution
Projects
None yet
Development

No branches or pull requests

4 participants