Skip to content

Replay data synchronizer remove datasource bugs#48

Draft
philip-khaisman wants to merge 1 commit into
masterfrom
disconnect-all-datasources-on-remove-datasource-from-synchronizer-bug
Draft

Replay data synchronizer remove datasource bugs#48
philip-khaisman wants to merge 1 commit into
masterfrom
disconnect-all-datasources-on-remove-datasource-from-synchronizer-bug

Conversation

@philip-khaisman

@philip-khaisman philip-khaisman commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

When calling removeDatasource on the DataSynchronizerReplay class we were making a call that disconnected all datasources from the synchronizer, not just the one passed to the method. This meant that in a client such as the webtak plugin when we toggled one visualization off it stopped the connections of all visualizations.

Additionally, the removeDataSource method publishes a remove event which is handled by the data synchronizer replay worker which stops the data synchronizer altogether.

Now we only disconnect the datasource that's passed to the removeDatasource method and we keep the synchronizer working so that the streaming of connected datasources continues.

Test

  • Start a node and configure a system driver database with historical data that has at least 2 visualizations
  • Start the webtak plugin, open it, and launch the osh plugin
  • Enter playback mode
  • Start playback (default start timestamp should work)
  • Verify that visualizations are displayed
  • Toggle one of the visualizations off
  • Verify that the correct visualization is removed from the map, that the other visualizations persist and continue updating

@philip-khaisman philip-khaisman changed the title Do not stop the the sync and do not disconnect all datasources when r… Replay Datasynchronizer removeDatasource bugs Jun 10, 2026
@philip-khaisman philip-khaisman changed the title Replay Datasynchronizer removeDatasource bugs Replay datasynchronizer remove datasource bugs Jun 10, 2026
@philip-khaisman philip-khaisman changed the title Replay datasynchronizer remove datasource bugs Replay data synchronizer remove datasource bugs Jun 10, 2026
@@ -378,7 +378,6 @@ class DataSynchronizerReplay {
startTimestamp: this.getStartTimeAsTimestamp(),
endTimestamp: this.getEndTimeAsTimestamp()
}).then(async () => {

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: Verify that the datasource is indeed being disconnected with this change. Or should it? What happens if we disconnect and then toggle the visualization on. Where will the playback start? I'm assuming it will work since the synchronizer is managing the timestamps

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.

Replay data synchronizer removes all data sources and stops itself when removing a single data source

1 participant