Невозможно удалить или изменить ключи шифрования

Пользователи не могут отключить шифрование или сменить ключи. Кнопка отключения шифрования остаётся неактивной после ввода имени пользователя. А смена ключей завершается ошибкой с сообщением «Произошла ошибка».

1 лайк

Как я могу безопасно удалить (и удалить всё из базы данных) плагин, чтобы начать заново?

Я не могу прочитать ни одно зашифрованное сообщение, хотя проверил несколько пользователей и устройств — всё корректно включено. Ранее я использовал зашифрованные личные сообщения (PM), но теперь они вообще не работают.

Если я пытаюсь отключить PM, то не могу «удалить все свои зашифрованные сообщения», и вижу кнопку CSS-формы, которая не позволяет продолжить :prohibited:

Похоже, проблема связана с попыткой удалить все устройства и снова включить их с нуля, но я не уверен в этом.

Пожалуйста, извините, если проблема связана с моей текущей конфигурацией. Я могу следовать вашим инструкциям и протестировать, если это так. Надеюсь, что помогу кому-то в подобной ситуации.

логи

Scoped order is ignored, it's forced to be batch order.


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 плюс Discourse):

Кнопка остаётся неактивной, и мне нужно начать заново, так как я потерял ключи (я пробовал, проблем с удалением зашифрованных сообщений нет), и я хочу начать с нуля :slight_smile:

@cvx работает над улучшением этих модальных всплывающих окон в discourse-encrypt, поэтому теперь всё должно работать гораздо лучше. Пожалуйста, сообщите нам, если после обновления у вас всё ещё возникнут проблемы.

4 лайка

Эта тема была автоматически закрыта через 18 часов. Новые ответы больше не принимаются.