Our plugin collects events from a poller once every 10 minutes, and we display the events in the SC Timeline with a TimelineSequenceSource subclass. Events are populating the timeline as expected, but we’re hitting a case where there are gaps in the timeline ending exactly at the hour.
By placing some trace debugging in StartGetSequences(), we’re seeing that the one-hour period that has just ended (for e.g. 18:00 - 19:00) stops being queried shortly after the local time hits 19:00.
This means that a event batch that arrives at 19:05 (covering the time period from 18:55 to 19:05) only shows as starting at exactly 19:00, leaving a gap from 18:55 to 18:59:59.
I have created a minimally reproducible code sample based on the mip-sdk-samples Timeline sample project at https://github.com/bentorkington/mipsdk-samples-plugin/tree/timeline-bug-demo
To reproduce this issue:
Build, install, and drag the View Item plugin into an empty view, as usual
Scroll the timeline to the current local time
Note that the timeline is populated with a blue ribbon, which runs up until 10 minutes before the current local time, and that the ribbon keeps updating
Wait until 10 minutes past the hour
Note that a gap is left in the ribbon at the top of the hour.
By adding some trace statements to StartGetSequence, you can verify that shortly after 19:00, this period stops getting queried even though that interval is still well within the displayed timeline.
Additionally, these trace statements reveal that intervals in the future are queried continuously, even though SC seems to ignore any TimelineDataAreas that are in the future.
Expected behaviour: StartGetSequences is called with all intervals that are visible
I believe there is a bug in the part of SmartClient that chooses what TimeIntervals to pass to StarGetSequences.
Related: my earlier report about odd TimeIntervals being passed to StartGetSequences: https://developer.milestonesys.com/s/question/0D53X0000A2hjYmSQI/possible-bug-timelinesequencesource-is-polled-for-large-time-periods-even-after-smartclient-timeline-zoom-is-reduced-to-minimum
