テーマコンポーネントを更新する際に「空文字列は有効なJSON文字列ではありません」

テーマコンポーネントを更新すると、次のエラーが発生します。

ブランドヘッダーテーマコンポーネントの更新に失敗しました
空の文字列は有効な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 のもので、Discourse が 3.2.4 から 3.3.0 に更新されるため、5b0c2da から f458dc9 に更新されています。
この問題の原因は、「links」フィールドが空であり、更新ロジックがそれを処理できないことのようです @tgxuser

回避策:

  • 「links」フィールドに foo,https://example.com,bar を入力します。
  • テーマコンポーネントを更新します。
  • リンクのエディターを開き、エントリを削除します。

しかし、この回避策は自動化が難しいです… :sob:

「いいね!」 4

今日見てみます。

「いいね!」 3

これは修正されました

おそらく24時間以内にマージされ、リリースされるでしょう。

「いいね!」 4

このトピックは3日後に自動的に閉じられました。新しい返信はもう許可されていません。