fix ui: fix tab name mapping

This commit is contained in:
nick-delirium 2024-07-03 15:51:45 +02:00
parent 98bafd9afa
commit 218dbb6c86
No known key found for this signature in database
GPG key ID: 93ABD695DF5FDBA0

View file

@ -192,27 +192,26 @@ export default class MessageManager {
this.state.update({ messagesProcessed: true }); this.state.update({ messagesProcessed: true });
}; };
/**
* Scan tab managers for last message ts
* */
public createTabCloseEvents = () => { public createTabCloseEvents = () => {
const lastMsgArr: [string, number][] = [] const lastMsgArr: [string, number][] = []
const namesObj: Record<string, string> = {}
for (const [tabId, tab] of Object.entries(this.tabs)) { for (const [tabId, tab] of Object.entries(this.tabs)) {
const { lastMessageTs } = tab const { lastMessageTs } = tab
if (lastMessageTs && tabId) { if (lastMessageTs && tabId) {
lastMsgArr.push([tabId, lastMessageTs]) lastMsgArr.push([tabId, lastMessageTs])
namesObj[tabId] = ''
} }
} }
lastMsgArr.sort((a, b) => a[1] - b[1]) lastMsgArr.sort((a, b) => a[1] - b[1])
if (Object.keys(namesObj).length === 1) { if (Object.keys(this.tabs).length === 1) {
this.tabCloseManager.append({ tabId: lastMsgArr[0][0], time: this.session.durationMs - 250 }) this.tabCloseManager.append({ tabId: lastMsgArr[0][0], time: this.session.durationMs - 250 })
} else { } else {
lastMsgArr.forEach(([tabId, lastMessageTs]) => { lastMsgArr.forEach(([tabId, lastMessageTs]) => {
this.tabCloseManager.append({ tabId, time: lastMessageTs }) this.tabCloseManager.append({ tabId, time: lastMessageTs })
}) })
} }
this.state.update({ tabNames: namesObj })
} }
public startLoading = () => { public startLoading = () => {
@ -326,13 +325,14 @@ export default class MessageManager {
case MType.TabChange: case MType.TabChange:
const prevChange = this.activeTabManager.last; const prevChange = this.activeTabManager.last;
if (!prevChange || prevChange.tabId !== msg.tabId) { if (!prevChange || prevChange.tabId !== msg.tabId) {
const tabMap = mapTabs(this.tabs);
this.tabChangeEvents.push({ this.tabChangeEvents.push({
tabId: msg.tabId, tabId: msg.tabId,
time: msg.time, time: msg.time,
tabName: prevChange?.tabId ? mapTabs(this.tabs)[prevChange.tabId] : '', tabName: prevChange?.tabId ? tabMap[prevChange.tabId] : '',
timestamp: this.sessionStart + msg.time, timestamp: this.sessionStart + msg.time,
toTab: mapTabs(this.tabs)[msg.tabId], toTab: tabMap[msg.tabId],
fromTab: prevChange?.tabId ? mapTabs(this.tabs)[prevChange.tabId] : '', fromTab: prevChange?.tabId ? tabMap[prevChange.tabId] : '',
type: 'TABCHANGE', type: 'TABCHANGE',
activeUrl: '', activeUrl: '',
}); });