L’aggiornamento a 2.9.0.beta5 sta causando un problema con il mio plugin della dashboard. Qualcosa sta generando un errore in una visualizzazione del plugin:
Started GET "/pfaffmanager/servers" for 73.147.117.173 at 2022-06-14 17:53:31 +0000
Processing by Pfaffmanager::ServersController#index as HTML
Rendered default/empty.html.erb within layouts/application (Duration: 0.1ms | Allocations: 29)
Rendered layout layouts/application.html.erb (Duration: 21.6ms | Allocations: 7109)
Completed 200 OK in 142ms (Views: 23.0ms | ActiveRecord: 0.0ms | Allocations: 37464)
Started GET "/chat/chat_channels.json" for 73.147.117.173 at 2022-06-14 17:53:31 +0000
Processing by DiscourseChat::ChatChannelsController#index as JSON
Started GET "/presence/get?channels%5B%5D=%2Fchat-user%2Fchat%2F1&channels%5B%5D=%2Fchat-user%2Fcore%2F1" for 73.147.117.173 at 2022-06-14 17:53:31 +0000
Processing by PresenceController#get as JSON
Parameters: {"channels"=>["/chat-user/chat/1", "/chat-user/core/1"]}
Completed 200 OK in 44ms (Views: 1.9ms | ActiveRecord: 0.0ms | Allocations: 5134)
Started GET "/pfaffmanager/servers" for 73.147.117.173 at 2022-06-14 17:53:31 +0000
Completed 200 OK in 94ms (Views: 0.3ms | ActiveRecord: 0.0ms | Allocations: 22124)
Processing by Pfaffmanager::ServersController#index as JSON
Completed 500 Internal Server Error in 113ms (ActiveRecord: 0.0ms | Allocations: 15487)
ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
(eval):9:in `_fast_attributes'
app/controllers/application_controller.rb:543:in `render_json_dump'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'
Sembra che questo accada solo nella visualizzazione index del mio plugin, non in altre pagine del plugin o di Discourse. Non sono sicuro di dove cercare. Sono contento di aver eseguito l’aggiornamento prima sul mio sito di staging!
Quanto sopra mi ha suggerito che questo ha a che fare con il plugin di chat, ma sta accadendo sulla mia istanza di sviluppo senza chat installata.
Wow, e cercare su Google ActiveSupport::MessageEncryptor::InvalidMessage "fast_attributes" restituisce solo questo argomento!
C’è un modo che conosci a memoria per ignorare questa modifica nel mio plugin esistente con una riga ovvia una volta che la conosci nel mio plugin.rb?
O forse dovrò capire cosa significa.
MODIFICA: ma su dev l’aggiunta di quella riga a config/application.rb non è una soluzione magica.
Scusa. Ho letto un po’ oltre:
Quindi forse questo risolverà il mio problema immediato. Grazie ancora per il tuo aiuto! Forse stavolta ci riuscirò.
Bene, la chiave che genero sia per rails 6 che per rails 7 appare così:
ma crittografano le cose in modo diverso. Speravo che hash_digest_class fosse il problema, ma almeno sembra che sia lo stesso su entrambi, ma la stringa crittografata è diversa.
Oh. Dannazione. No, non è quello. Il mio sito di produzione che funziona è su 7.0.3 e il sito di staging che non funziona è anch’esso su 7.0.3. Sta crittografando le cose in modo diverso. Non riesco a capire, e non so come capire, se è il serializzatore ad essere diverso o il cifrario ad essere diverso.
Nel frattempo, ho appreso che 7.0 supporta la crittografia dei campi, il che mi permetterà di eliminare del codice personalizzato se solo riuscissi a capire come accedere alle mie chiavi API crittografate. O forse le eliminerò e le rigenererò.
Al momento sto ottenendo crittografie come => "SUNBZlRURThEZjdVUG8wTzV1eWk0dz09LS1uRGVSQWtPRU9rc1ZCa1Y1d2pyeU5nPT0=--43eab316e6a9ebafc72d4982347abd9c7f6605db"
con 2.9.0.beta4 assomigliano a "FwL/GGvrDHOpQ1bnGiI=--kCLbUxMf/XeMaeWF--/feRN+/l1q3EFdKgyIo+7Q=="