adamlui / chatgpt-auto-refresh

↻ Keeps ChatGPT sessions fresh to avoid network errors + Cloudflare checks
https://chatgptautorefresh.com
Other
187 stars 13 forks source link

长时间挂载chatgpt标签页,tampermonkey菜单卡住或延迟的问题 #12

Closed ForestL18 closed 1 year ago

ForestL18 commented 1 year ago

当chatgpt标签页长时间挂载,在chatgpt标签页点击tamper monkey图标,图标会卡住或延迟出现。 换到别的标签页可以快速调出tamper monkey菜单 我的cahtgpt标签页差不多挂载了6个小时

下图为tamper monkey卡住的状况: image

ForestL18 commented 1 year ago

重新打开一个新的chatgpt标签页,tamper monkey菜单可以快速唤出

adamlui commented 1 year ago

@ForestL18 是否只有 Tampermonkey 菜单不起作用,您仍然可以使用 ChatGPT? 我很好奇您是否发生内存泄漏。 您可以按 Ctrl+Alt+Del > 任务管理器,然后显示 Chrome 的 CPU/内存使用情况吗?

image

如果它像我一样低且正常,则 Chrome 选项卡可能在很长一段时间后仍在休眠。 您可以转到 chrome://discards/ 找到 ChatGPT 选项卡,然后单击该行中的“切换”直到复选标记变为“X”吗?

image

这将防止该选项卡永远休眠,并且 Tampermonkey 菜单可能会停止故障

ForestL18 commented 1 year ago
  1. 只有tamper monkey菜单出现卡住或者延迟出现,并不是完全不起作用,chatgpt可以使用。
  2. 内存泄漏没来得及查看,我给chatgpt的标签页关闭了,不过我的chrome一般挂载不少的标签页,占用一般在1-2G之间
  3. chrome://discards/里面的chatgpt选项默认为✔,没有更改

后续我将继续观察一下,尝试更改chrome://discards/中的chatgpt选项,观察tamper monkey是否会出现一样的问题

adamlui commented 1 year ago

@ForestL18 如果您将 ✔ 更改为 ❌,该选项卡将永远不会休眠。 但更好的是,如果你使用 Firefox,选项卡永远不会休眠(Chrome 因占用内存而臭名昭著,因此谷歌的创可贴解决方案是自动休眠)所以我在 FF 中测试了 12 多个小时,菜单、聊天、一切正常

ForestL18 commented 1 year ago

经过观察,即使进行上述第三步,tamper monkey的菜单仍然会卡顿或延迟出现,但是没有内存泄露的情况发生

adamlui commented 1 year ago

@ForestL18 我不知道如何解决,但也许我们可以尝试查明原因。 你能删除第134行吗:

registerMenu() // 创建浏览器工具栏菜单

...看看它是否仍然发生? 如果没有,我可以尝试想出不同的方式来注册菜单,如果没有,我得想想还有什么可能导致

ForestL18 commented 1 year ago

好的,我尝试一下,后续继续观察并反馈

ForestL18 commented 1 year ago

注释registerMenu()后,仍然会有tamper monkey菜单栏卡顿现象出现 目前我也不是很清楚什么原因,如果作者需要什么日志之类的帮助请找我

adamlui commented 1 year ago

@ForestL18 是的,您可以共享您拥有的日志,然后,您可以尝试禁用脚本,然后安装此版本:https://github.com/adamlui/chatgpt-auto-refresh/raw/main/greasemonkey/chatgpt-auto-refresh-beaconless.user.js

这个版本删除了信标请求(因为你禁用了 Chrome 丢弃,不再需要信标请求)所以我可以发现它们是否以某种方式参与了 Tampermonkey 菜单现象

ForestL18 commented 1 year ago
  1. 好的,如果需要日志的话请告诉我需要什么日志以及在哪获取
  2. 我已经安装了beacon less脚本,同时禁用了chrome discard,后续观察tampermonkey菜单情况
  3. 上次我在注释了registerMenu()时并没有禁用chrome discard,这次我会与原先的脚本(注释了registerMenu()情况下)对照来看
adamlui commented 1 year ago

@ForestL18 每当菜单神秘时,从 Ctrl + Shift + I 登录就可以了

ForestL18 commented 1 year ago

使用新脚本仍然有上述情况发生

这个是使用新脚本的log chat.openai.com-1682494317938.log

旧脚本我这边继续观察

ForestL18 commented 1 year ago

旧版脚本(禁用discard,注释了registerMenu())也有类似情况

chat.openai.com-1682497529340.log

adamlui commented 1 year ago

@ForestL18 我有一个想法,你可以尝试使用 Violentmonkey(使用原始脚本)看看它是否发生? 如果不是,也许这可以作为 Tampermonkey 故障提出

ForestL18 commented 1 year ago

好的,我这边尝试一下

ForestL18 commented 1 year ago

我重装tampermonkey之后,问题已经解决,violentmonkey也没有问题

但是我想问下这个错误是什么原因 image

adamlui commented 1 year ago

@ForestL18 這是個好消息! 504表示等待響應超時。 因為 httpbin.org 是一個免費的 HTTP 請求和響應服務,它經常會超時,但對於服務的目的無關緊要(欺騙 Chrome 認為選項卡很忙,所以不會進入休眠狀態)

只是好奇,它只是稍後開始顯示 504,而不是馬上,對吧? (同樣,這無關緊要,只是好奇)

Salnilam commented 1 year ago

@adamlui 我的情况是,当脚本在chat.openai.com页面执行后,会导致其他一些通用脚本,例如: Picviewer CE+沉浸式翻译多次执行。 脚本长时间挂载时,当前页面Tampermonkey的所有脚本执行总次数将达到几百甚至上千,以致于我需要等待很长时间才可打开Tampermonkey的脚本管理设置页面。

系统:

Windows11 22H2

浏览器版本:

Microsoft Edge 113.0.1774.57

Tampermonkey版本:

4.18.1

脚本版本:

v2023.5.23.2

adamlui commented 1 year ago

@Salnilam 抱歉回复晚了,我没有看到这条消息,但是最新的 Tampermonkey 更新修复了这个@ https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo//Open

修复移除嵌入框架时的活动脚本计数

因为脚本实际上并没有全部运行,所以性能不是问题,计数器不准确,并且此修复删除了膨胀的计数器,因此 Tampermonkey 设置菜单将按预期快速加载