"Пустая строка не является допустимой JSON-строкой" при обновлении компонента темы

При обновлении компонента темы возникает следующая ошибка.

Не удалось обновить компонент темы «Brand Header»
Пустая строка не является допустимой строкой JSON.
/var/www/discourse/lib/theme_settings_manager/objects.rb:13:in `parse'
/var/www/discourse/lib/theme_settings_manager/objects.rb:13:in `value='
/var/www/discourse/app/models/theme.rb:760:in `update_setting'
/var/www/discourse/app/models/theme.rb:881:in `block (2 levels) in migrate_settings'
/var/www/discourse/app/models/theme.rb:880:in `each'
/var/www/discourse/app/models/theme.rb:880:in `block in migrate_settings'
/var/www/discourse/app/models/theme.rb:919:in `migrate_settings'
/var/www/discourse/app/models/remote_theme.rb:377:in `block in update_from_remote'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/transactions.rb:301:in `transaction'
/var/www/discourse/app/models/remote_theme.rb:383:in `update_from_remote'

Речь идёт о GitHub - discourse/discourse-brand-header: Brand header theme component for Discourse · GitHub, который обновляется с 5b0c2da до f458dc9 (так как Discourse обновляется с версии 3.2.4 до 3.3.0).

Причина возникновения этой ошибки заключается в том, что поле «links» пустое, и логика обновления, по-видимому, не может с этим справиться, @tgxworld.

Обходной путь:

  • введите foo,https://example.com,bar в поле «links»
  • обновите компонент темы
  • откройте редактор для «links» и удалите запись

Однако автоматизировать этот обходной путь сложно… :sob:

4 лайка

Я займусь этим сегодня.

3 лайка

Это исправлено в

Скорее всего, изменения будут слиты и выпущены в течение следующих 24 часов.

4 лайка

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