Skip to content

Commit 602f7bf

Browse files
committed
fix: the data of virtual site (#668)
1 parent 6d310d0 commit 602f7bf

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

src/database/site-database.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,17 +204,17 @@ class SiteDatabase extends BaseDatabase {
204204
*
205205
* @since 1.6.0
206206
*/
207-
addChangeListener(listener: (oldAndNew: [timer.site.SiteInfo, timer.site.SiteInfo][]) => void) {
207+
addChangeListener(listener: (oldAndNew: [timer.site.SiteInfo?, timer.site.SiteInfo?][]) => void) {
208208
const storageListener = (
209209
changes: { [key: string]: chrome.storage.StorageChange },
210210
_areaName: chrome.storage.AreaName,
211211
) => {
212-
const changedSites: [timer.site.SiteInfo, timer.site.SiteInfo][] = Object.entries(changes)
212+
const changedSites: [timer.site.SiteInfo?, timer.site.SiteInfo?][] = Object.entries(changes)
213213
.filter(([k]) => k.startsWith(DB_KEY_PREFIX))
214-
.map(([k, v]) => {
214+
.map(([k, { oldValue, newValue }]) => {
215215
const siteKey = cvt2SiteKey(k)
216-
const oldVal = cvt2SiteInfo(siteKey, v?.oldValue as _Entry)
217-
const newVal = cvt2SiteInfo(siteKey, v?.newValue as _Entry)
216+
const oldVal = oldValue ? cvt2SiteInfo(siteKey, oldValue as _Entry) : undefined
217+
const newVal = newValue ? cvt2SiteInfo(siteKey, newValue as _Entry) : undefined
218218
return [oldVal, newVal]
219219
})
220220
changedSites.length && listener?.(changedSites)

src/pages/app/components/Report/common.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,10 @@ const cvt2SiteQuery = (
9292
{ dateRange: date, mergeDate, siteMerge, query, cateIds, readRemote: inclusiveRemote }: ReportFilterOption,
9393
{ prop, order }: ReportSort,
9494
): SiteQuery => ({
95-
date, mergeDate, mergeHost: siteMerge === 'domain', query, cateIds, inclusiveRemote,
95+
date, mergeDate,
96+
mergeHost: siteMerge === 'domain',
97+
query, cateIds, inclusiveRemote,
98+
virtual: true,
9699
sortKey: prop,
97100
sortDirection: cvtOrderDir(order),
98101
})

src/service/components/virtual-site-holder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class VirtualSiteHolder {
1717
siteDatabase.addChangeListener(oldAndNew => oldAndNew.forEach(([oldVal, newVal]) => {
1818
if (!newVal) {
1919
// deleted
20-
delete this.hostSiteRegMap[oldVal.host]
20+
oldVal?.host && delete this.hostSiteRegMap[oldVal.host]
2121
} else {
2222
this.updateRegularExp(newVal)
2323
}

src/util/pattern.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,5 +204,5 @@ export function compileAntPattern(antPattern: string): RegExp {
204204
patternStr = patternStr.substring(0, patternStr.length - 3) + ".*"
205205
}
206206

207-
return new RegExp("^(.+://)?" + patternStr + "/?(\\?.*)?$")
207+
return new RegExp("^(.+://)?" + patternStr + "/?([\\?#].*)?$")
208208
}

0 commit comments

Comments
 (0)