"Eine leere Zeichenkette ist kein gültiger JSON-String", wenn das Theme-Komponente aktualisiert wird

Beim Aktualisieren einer Theme-Komponente tritt der folgende Fehler auf.

Failed to update Brand Header Theme Component
An empty string is not a valid JSON string.
/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'

Dies betrifft GitHub - discourse/discourse-brand-header: Brand header theme component for Discourse, das von 5b0c2da auf f458dc9 aktualisiert wird (da Discourse von 3.2.4 auf 3.3.0 aktualisiert wird).

Der Grund dafür ist, dass das Feld „links“ leer ist und die Update-Logik damit offenbar nicht umgehen kann @tgxworld

Workaround:

  • Geben Sie foo,https://example.com,bar in das Feld „links“ ein
  • Aktualisieren Sie die Theme-Komponente
  • Öffnen Sie den Editor für Links und entfernen Sie den Eintrag

Dieser Workaround lässt sich jedoch nur schwer automatisieren… :sob:

4 „Gefällt mir“

Ich werde mir das heute ansehen.

3 „Gefällt mir“

Dies wurde behoben in

Wird wahrscheinlich innerhalb der nächsten 24 Stunden zusammengeführt und veröffentlicht.

4 „Gefällt mir“

Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.