#7701·server

是否有更改密码 URL 缓存导致图标缓存失效?

作者: DigitalDJ创建于 2026年5月22日更新于 2026年5月25日
标签bug
  1. 自我东道主Bitwarden
  2. 添加新项目, 加上一个网站 URL, 并带有有效的外观
  3. 重新装入 Bitwarden 客户端,最终图标会消失

预期成果

有效的图标保持正确的缓存,从而在客户端中正确出现.

实际结果

图标从某些项目上随机消失。

QQ 屏幕截图或视频

无回复( N)

++ 附加上下文

我试图找出为什么发生这种情况,我不能肯定, 但我认为这和Icons服务器组件中的 Iconcap 和 ChangePassword-Uri Captain 之间共享的记忆缓存有关。

在[server/src/Icons/Startup.cs] (https://GitHub.com/bitwarden/server/blob/8bd4af7a382c6a242dbae002110bcab0773c6066/src/Icons/Startup.cs#L43-L46)中,该词为"小说".

// 缓存
服务。 添加记忆缓存( 选项 )
{
选项。 SizeLimit = 图标设置. 缓存SizeLimit;
* ;
服务。 添加记忆缓存( 选项 )
{
选项。 SizeLimit = 更改PasswordUriSettings. 维基百科中的相关条目: 维基语录链接:名人名言 - 文学作品 - 谚语 - 谚语 - 谚语 - 谚语 缓存SizeLimit;
* ;

添加MemoryCache被调用过两次,但是我不确定这两次调用是否真的会给每个控制器实例添加一个单独的内存缓存. 我什至不确定 图标设置。 CacheSizeLimit曾经被使用过,因为我认为它被变换的PasswordUriSettings所覆盖. 缓存SizeLimit

ChangePasswordUri Controller和图标Controller都使用相同的密钥(域)来缓存结果值. 我敢肯定, Icontols 控制器缓存一个图标成功, 然后 ChangePasswordUri 控制器运行, 得到一个无效结果和缓存, 以覆盖图标 。

我创建了一个补丁版,在每个控制器中使用一个独特的密钥,当访问记忆卡切时,这个问题似乎解决了.

譬如说.

var映射域 = "Icon-" +  域映射服务. MapDomain (域);
varmagingDomain = "ChangedPasswordUri-" +  domainMapping Service. MapDomain (domain)"; 互联网档案馆的存檔,存档日期2013-12-21.

QQ 构建版本

2026.4.2 (英语).

环境

自我拥有

环境细节

  • Ubuntu26.04 与休克曼

QQ 问题跟踪信息

  • 我知道工作在GitHub之外跟踪。 一个PR将会与这个问题联系起来,如果打开一个来解决这个问题,但Bitwarden不会使用"指派","Milestone"等字段来跟踪进度.

内容来源: bitwarden/server