无法删除或轮换加密密钥

用户无法禁用加密或轮换密钥。输入用户名后,禁用加密的按钮仍然被禁用。轮换密钥时会发生“抱歉,发生错误。”的错误。

1 个赞

如何安全地删除(并从数据库中删除所有内容)该插件以重新开始?

我无法读取任何加密消息,并且尝试了几个用户、设备,所有设备都已正确启用。我以前使用过 PM 加密,但现在它们根本不起作用。

如果我尝试禁用 PM,我根本无法“删除我所有的加密消息”,并且我看到 CSS 按钮形式不允许继续 :prohibited:

这个问题似乎与尝试删除所有设备并从头开始启用它们有关,但我不确定。

请,如果这与我当前的配置有关,我很抱歉,我可以遵循您的指示并进行测试。我希望帮助遇到类似情况的人。

日志

作用域顺序被忽略,它被强制为批处理顺序。


activerecord-7.0.4.3/lib/active_record/relation/batches.rb:292:in `act_on_ignored_order'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:215:in `in_batches'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:137:in `find_in_batches'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:70:in `find_each'  
/var/www/discourse/lib/post_destroyer.rb:170:in `perform_delete'  
/var/www/discourse/lib/post_destroyer.rb:77:in `destroy'  
/var/www/discourse/plugins/discourse-encrypt/app/jobs/scheduled/encrypted_post_timer_evaluator.rb:25:in `block (3 levels) in execute' 
/var/www/discourse/plugins/discourse-encrypt/app/jobs/scheduled/encrypted_post_timer_evaluator.rb:23:in `each' 
/var/www/discourse/plugins/discourse-encrypt/app/jobs/scheduled/encrypted_post_timer_evaluator.rb:23:in `block (2 levels) in execute' 
activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction' 
activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt' 
activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize' 
activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt' 
activesupport-7.0.4.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize' 
activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction' 
activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction' 
activerecord-7.0.4.3/lib/active_record/transactions.rb:209:in `transaction'  
/var/www/discourse/plugins/discourse-encrypt/app/jobs/scheduled/encrypted_post_timer_evaluator.rb:9:in `block in execute' 
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:71:in `each'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:71:in `block in find_each'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:138:in `block in find_in_batches'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:245:in `block in in_batches'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:229:in `loop'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:229:in `in_batches'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:137:in `find_in_batches'  
activerecord-7.0.4.3/lib/active_record/relation/batches.rb:70:in `find_each'  
/var/www/discourse/plugins/discourse-encrypt/app/jobs/scheduled/encrypted_post_timer_evaluator.rb:8:in `execute' 
/var/www/discourse/app/jobs/base.rb:292:in `block (2 levels) in perform'  
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:279:in `block in perform'  
/var/www/discourse/app/jobs/base.rb:275:in `each'  
/var/www/discourse/app/jobs/base.rb:275:in `perform'  
/var/www/discourse/app/jobs/base.rb:346:in `perform'  
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:122:in `process_queue'  
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:70:in `worker_loop'  
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:59:in `block (2 levels) in ensure_worker_threads'  


job	Jobs::EncryptedPostTimerEvaluator
1 个赞

我的测试站点也遇到了类似的状态,我也在寻找这方面的答案。:slight_smile:

2 个赞

我可以重现这个问题。

使用测试用户并首次激活加密功能可以顺利进行,但之后无法禁用。

  • 从测试用户的“首选项/安全”中为其启用“加密消息”。
  • 点击扳手图标并选择“禁用加密消息”。
  • “禁用”按钮是灰色且无法按下。

如果您有加密消息并且需要“键入以确认”,那么这也将显示一个无法按下的按钮:

启用时,浏览器控制台中会出现此错误:

[PLUGIN discourse-encrypt] reopenWidget: Could not find widget quick-access-panel in registry widget.js:82
    reopenWidget widget.js:82
    reopenWidget plugin-api.js:654
    initialize decrypt-topics.js:104
    withPluginApi plugin-api.js:2159
    initialize decrypt-topics.js:101
    initialize app.js:173
    runInstanceInitializers Ember
    each dag-map.js:192
    walk dag-map.js:121
    each dag-map.js:66
    topsort dag-map.js:72
    Ember 4
    invoke queue.ts:201
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
    (Async: promise callback)
    n platform.ts:28
    flush Ember
    _scheduleAutorun index.ts:803
    _ensureInstance index.ts:791
    schedule index.ts:384
    Ember 6
    <anonymous> start-app.js:4
    <anonymous> discourse-boot.js:20
    <anonymous> discourse-boot.js:21

我还发现密钥轮换缺少一个字符串:

4 个赞

这些控制台警告将通过此PR解决 - 它们与此主题中的问题无关。

4 个赞

我仍然无法从我的帐户中移除加密(并且我拥有 Encrypt plus Discourse 的最新版本):

按钮一直处于禁用状态,我需要重新开始,因为我丢失了密钥(我正在尝试,删除加密消息没有问题),并且我想从零开始 :slight_smile:

@cvx 正在对 discourse-encrypt 中的这些模态弹出窗口进行一些改进,因此现在应该能更好地工作了。更新后如果您仍然遇到任何问题,请告知我们。

4 个赞

此主题在 18 小时后自动关闭。不再允许回复。