"Una stringa vuota non è una stringa JSON valida" durante l'aggiornamento del componente tema

Quando si aggiorna un componente del tema si verifica il seguente errore.

Impossibile aggiornare il componente del tema Brand Header
Una stringa vuota non è una stringa JSON valida.
/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'

Questo riguarda GitHub - discourse/discourse-brand-header: Brand header theme component for Discourse che viene aggiornato da 5b0c2da a f458dc9 (poiché Discourse viene aggiornato da 3.2.4 a 3.3.0).
Il motivo per cui ciò accade è che il campo “links” è vuoto e la logica di aggiornamento apparentemente non può gestirlo @tgxworld

Soluzione alternativa:

  • inserire foo,https://example.com,bar nel campo “links”
  • aggiornare il componente del tema
  • aprire l’editor per i link e rimuovere la voce

Tuttavia, questa soluzione alternativa è difficile da automatizzare… :sob:

4 Mi Piace

Ci darò un’occhiata oggi.

3 Mi Piace

Questo è stato corretto in

È probabile che venga unito e rilasciato entro le prossime 24 ore.

4 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più consentite nuove risposte.