Non riuscire ad aggiungere un tema impedisce permanentemente la sua aggiunta

È appena successo su un nuovo forum, ho provato ad aggiungere un tema, che è fallito a causa di una delle estensioni di file. Ho quindi consentito temporaneamente * solo per provare a risolvere il problema, e poi ho iniziato a ricevere errori 500 tentando di aggiungere il tema.

Messaggio

Impossibile elaborare correttamente la risposta di dirottamento : ActiveRecord::RecordNotUnique : PG::UniqueViolation: ERRORE:  la violazione della chiave univoca viola il vincolo di univocità "index_child_themes_on_parent_theme_id_and_child_theme_id"
DETTAGLIO:  La chiave (parent_theme_id, child_theme_id)=(50, 35) esiste già.

Backtrace

rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:69:in `exec_params'
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:69:in `exec_params'
activerecord-7.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `block (2 levels) in exec_no_cache'
activesupport-7.0.8/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport-7.0.8/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
activerecord-7.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:767:in `block in exec_no_cache'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `synchronize'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'

oh strano, immagino che non stiamo pulendo correttamente in caso di errore.

È riproducibile?

Doppio controllo, ma i passaggi per la riproduzione dovrebbero essere:

  1. Trova un tema con un file non consentito per impostazione predefinita (o elimina tutto dall’elenco delle estensioni consentite del tema o simili)
  2. Prova a importare il tema
  3. Vedi che fallisce a causa dell’estensione
  4. Consenti le estensioni pertinenti (o solo *)
  5. Prova comunque e fallisci nell’importare il tema.

Il tema potrebbe anche necessitare di alcuni componenti del tema ad esso associati, non sono sicuro.

Originariamente ho causato questo usando il mio tema, ma per quanto ne so, la maggior parte dei temi dovrebbe essere teoricamente in grado di causarlo.

Modifica:
Giusto, l’unica vera condizione obbligatoria qui sembra essere il file bloccato, quindi un tema con un font personalizzato, un logo, ecc. può attivarlo se si disallow l’estensione di quel file. (Inoltre, i caricamenti dello staff apparentemente sovrascrivono i caricamenti del tema, quindi assicurati che non sia consentito in nessuna delle due impostazioni)

Ciao :wave:

Ho controllato il tuo tema, sembra che il problema sia con il tuo about.json.

Nei componenti c’è una duplicazione.

Riga 29 con 38 :arrow_down_small:


Tuttavia, installi parecchi componenti contemporaneamente al tema. Sono tutti necessari? :slightly_smiling_face:

2 Mi Piace

Ah, ops! È colpa mia, scusa.

Non ho mai veramente inteso che qualcun altro usasse il tema, è solo pesantemente ottimizzato nel modo in cui piace a me e ha i componenti del tema che mi piace avere a disposizione.