From 7ce9bd68afe483cf455e7146c23f0080f70fc50a Mon Sep 17 00:00:00 2001 From: germanocaumo Date: Tue, 6 Aug 2024 14:21:45 -0300 Subject: [PATCH] fix: wrong duration when user has multiple sessions with same internal id When the user has multiple sessions with and without the same internal id, the duration time was wrong due to considering the wrong left time for the session. Bump version. --- Gemfile.lock | 2 +- lib/bbbevents/recording.rb | 8 +++++++- lib/bbbevents/version.rb | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9b55450..350ba77 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - bbbevents (1.5.0) + bbbevents (1.5.1) nokogiri GEM diff --git a/lib/bbbevents/recording.rb b/lib/bbbevents/recording.rb index faa61a7..b81d68e 100755 --- a/lib/bbbevents/recording.rb +++ b/lib/bbbevents/recording.rb @@ -234,7 +234,13 @@ def fill_missing_left_events(combined_tuples) unless joins_lefts_arr_sorted_length == i # Take the next event as the left event for this current event next_event = joins_lefts_arr_sorted[i + 1] - left_event = {:timestamp => next_event[:timestamp], :userid => cur_event[:userid], :event => :left} + + # only match if it's the same userId + if cur_event[:join][:userid] == next_event[:join][:userid] + left_event = {:timestamp => next_event[:join][:timestamp], :userid => cur_event[:join][:userid] , :event => :left} + else + left_event = {:timestamp => @finish, :userid => cur_event[:join][:userid], :event => :left} + end cur_event[:left] = left_event end diff --git a/lib/bbbevents/version.rb b/lib/bbbevents/version.rb index c683a0a..8df8be0 100755 --- a/lib/bbbevents/version.rb +++ b/lib/bbbevents/version.rb @@ -1,3 +1,3 @@ module BBBEvents - VERSION = "1.5.0" + VERSION = "1.5.1" end