+
+
+ {from}
+
+
+
+ {to}
+
+
+
+ {activeUrl}
+
)
}
diff --git a/frontend/app/components/Session_/EventsBlock/EventsBlock.tsx b/frontend/app/components/Session_/EventsBlock/EventsBlock.tsx
index 05ae4e856..ea316c1f9 100644
--- a/frontend/app/components/Session_/EventsBlock/EventsBlock.tsx
+++ b/frontend/app/components/Session_/EventsBlock/EventsBlock.tsx
@@ -55,6 +55,19 @@ function EventsBlock(props: IProps) {
const currentTimeEventIndex = eventListNow.length > 0 ? eventListNow.length - 1 : 0;
const usedEvents = React.useMemo(() => {
+ tabChangeEvents.forEach(ev => {
+ const urlsList = tabStates[ev.tabId].urlsList;
+ let found = false;
+ let i = urlsList.length - 1;
+ while (!found && i >= 0) {
+ const item = urlsList[i]
+ if (item.url && item.time <= ev.mTime) {
+ found = true;
+ ev.activeUrl = item.url.replace(/.*\/\/[^\/]*/, '');
+ }
+ i--;
+ }
+ })
return mergeEventLists(filteredEvents || notesWithEvents, tabChangeEvents);
}, [filteredLength, notesWithEvtsLength])
diff --git a/frontend/app/player/web/MessageManager.ts b/frontend/app/player/web/MessageManager.ts
index 8e5bbddc8..b2bd4ae1f 100644
--- a/frontend/app/player/web/MessageManager.ts
+++ b/frontend/app/player/web/MessageManager.ts
@@ -258,6 +258,7 @@ export default class MessageManager {
if (!prevChange || prevChange.tabId !== msg.tabId) {
this.tabChangeEvents.push({
tabId: msg.tabId,
+ mTime: msg.time,
timestamp: this.sessionStart + msg.time,
toTab: mapTabs(this.tabs)[msg.tabId],
fromTab: prevChange?.tabId ? mapTabs(this.tabs)[prevChange.tabId] : '',
diff --git a/frontend/app/player/web/TabManager.ts b/frontend/app/player/web/TabManager.ts
index 512b73a37..fe69b5513 100644
--- a/frontend/app/player/web/TabManager.ts
+++ b/frontend/app/player/web/TabManager.ts
@@ -41,8 +41,8 @@ export default class TabSessionManager {
location: '',
}
+ public locationManager: ListWalker