From bcc05bd3522d22e1da1575af6b99be6116ecc5d2 Mon Sep 17 00:00:00 2001 From: HomeDash Bot Date: Sun, 13 Sep 2026 08:36:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(nav):=20=E5=8E=86=E5=8F=B2=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E4=B8=8D=E5=86=8D=E6=8E=92=E9=99=A4=E7=AB=99=E5=86=85?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=EF=BC=88=E7=94=A8=E6=88=B7=EF=BC=9A=E5=B0=BD?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E5=8F=AF=E8=83=BD=E6=98=BE=E7=A4=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户要求:历史访问应尽最大可能显示,不要限制条目;并确认取消"排除已是导航项的站点"。 此前该组会跳过所有已是导航项的 host(避免与其它分组重复),副作用是**站内服务的真实 访问记录永远进不来**,这一组长期只有 1 条(外加插件安装入口)。现改为:整份浏览器历史 全部收录,按访问次数降序;首条仍是插件安装入口。条数上限此前已移除。 注:常用服务的候选集本就排除「历史访问」分组自身,所以站内服务进了历史访问后 不会反过来污染常用服务的计数与排序。 --- history-server/main.go | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/history-server/main.go b/history-server/main.go index 85c689d..cd1060e 100644 --- a/history-server/main.go +++ b/history-server/main.go @@ -381,7 +381,7 @@ func extensionInstallItem() map[string]any { // 1. 收集除「历史访问」外所有导航项 // 2. 按各导航 host 在 history 的累计访问统计 // 3. 「常用服务」= 访问频次最高的 5 个导航(不置顶任何服务) -// 4. 「历史访问」= 非导航 host 的全部历史(不设条数上限) +// 4. 「历史访问」= 全部浏览器历史(含站内服务;不设条数上限) func rebuildDashySections() { // 序列化重建:同步请求、启动、以及 favicon 抓完后的重试都会调到这里。 rebuildMu.Lock() @@ -548,19 +548,11 @@ func rebuildDashySections() { } } - // 历史访问 = 非导航 host 的历史 top 20(排除已进常用/导航的) + // 历史访问 = 全部浏览器历史(不设条数上限)。 + // 用户要求(2026-09-13):不再排除"已是导航项"的站点 —— 站内服务的真实访问记录 + // 也要在这里出现(相当于"最近访问"列表)。此前排除是为了不与其它分组重复, + // 但结果是站内服务永远进不来,这一组几乎是空的。 if true { - navHosts := map[string]bool{} - for _, c := range candidates { - if c.host != "" { - navHosts[c.host] = true - } - } - for _, n := range finalNavs { - if pu, err := url.Parse(n.url); err == nil { - navHosts[strings.ToLower(pu.Hostname())] = true - } - } mu.RLock() entries := make([]*Entry, 0, len(history)) for _, e := range history { @@ -577,9 +569,6 @@ func rebuildDashySections() { // 已装的浏览器由 navi.js 隐藏。 histItems = append(histItems, extensionInstallItem()) for _, e := range entries { - if navHosts[strings.ToLower(hostOf(e.URL))] { - continue // 已是导航项,不重复进历史 - } title := friendlyHistoryTitle(e.Title, e.URL) icon := "fas fa-globe" if hp := hostPortOf(e.URL); hp != "" {