The discussion revolves around an app rebuild failure in Discourse due to a Sprockets::FileNotFound error related to the discourse/app/mixins/composer-upload file. GuidoD identified that the issue was caused by the custom wizard plugin, which was incompatible with a recent Discourse update. After disabling all plugins, the rebuild succeeded, confirming the plugin as the culprit. angus confirmed the issue was fixed in the plugin’s latest version (1.15.5), and GuidoD confirmed the rebuild worked after updating. Later, mcdanlj reported a similar error with a different mixin (upload), also resolved by updating the plugin. angus noted that an automated compatibility warning system, which detected the issue, will be released soon. mcdanlj praised the upcoming feature.
a rebuild with the latest version does abort with a FileNotFound error:
...
I, [2021-12-01T07:30:27.434946 #670] INFO -- : Writing /var/www/discourse/public/assets/locales/es-ae86f17b3afa4050566e8f73dc225848cb65e80cad4c295b582952dc77c7eaa0.js
I, [2021-12-01T07:30:27.614232 #670] INFO -- : Writing /var/www/discourse/public/assets/locales/lv-9f2031c47ff7c4c4148613ed46bcc80db9f17d84b72a0c08fb5dbaf288008aad.js
I, [2021-12-01T07:30:27.822346 #670] INFO -- : Writing /var/www/discourse/public/assets/locales/el-3c850821550e0cc516515732b7cde8b35cc68c29296abbc39a1c2831ad6ba962.js
I, [2021-12-01T07:30:28.032559 #670] INFO -- : Writing /var/www/discourse/public/assets/locales/pl_PL-a4a808930b95183b4acb3fec1e8e3e1591cade54f05d4f943585be78e8eb82e5.js
I, [2021-12-01T07:30:28.241255 #670] INFO -- : Writing /var/www/discourse/public/assets/locales/nb_NO-194012fc110e9b92bd6f406ed2a9eebff3e6dda2ad0bd4b33dfa084b0efb6b67.js
I, [2021-12-01T07:30:28.440104 #670] INFO -- : Writing /var/www/discourse/public/assets/locales/nl-0bdaabfc71e0a96fef67da00c68f177c508da66854fab7511225dfd11d754aab.js
I, [2021-12-01T07:30:28.448192 #670] INFO -- : Writing /var/www/discourse/public/assets/wizard-custom-guest-16c07e21721b356a3cf622bc07b3dbee79d53c0624b57562959140418b62a454.js
I, [2021-12-01T07:30:28.455716 #670] INFO -- : Writing /var/www/discourse/public/assets/wizard-custom-globals-ceb8c5478df3f5ede82d275c13b9badd66fdce63559117914170ea33ab0ee3ba.js
rake aborted!
Sprockets::FileNotFound: couldn't find file 'discourse/app/mixins/composer-upload' with type 'application/javascript'
Checked in these paths:
/var/www/discourse/app/assets/images
/var/www/discourse/app/assets/javascripts
/var/www/discourse/app/assets/stylesheets
/var/www/discourse/vendor/assets/javascripts
/var/www/discourse/vendor/assets/svg-icons
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/logster-2.10.0/vendor/assets/javascripts
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.6/vendor/assets/javascripts
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/actionview-6.1.4.1/lib/assets/compiled
/var/www/discourse/config/locales
/var/www/discourse/public/javascripts
...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 668 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
f094a27a808540af5c9dd844181fe50f8933cb184b8adf614dee1ecf669fd9cd
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================
Failed to rebuild app.
I’m seeing what looks like a very similar error when trying to build 2.8.0.beta10 with latest discourse-custom-wizard, during bundle exec rake themes:update assets:precompile and I don’t know whether it’s really another manifestation of essentially the same problem.
Sprockets::FileNotFound: couldn't find file 'discourse/app/mixins/upload' with type 'application/javascript'
I can successfully build by removing discourse-custom-wizard from the list of plugins. The complete list I’m trying to build with (./launcher bootstrap app) is:
Just a note that we’ve been working on an automated plugin compatibility notification system for a while now and we’ll be releasing it along with some big custom-wizard updates in the new year.
The system picked up this compatibility issue an hour after the relevant commit went into discourse/discourse, and pushed a warning to the plugin clients, which you would have seen in your admin dashboard before you upgraded (screenshot is from our test instance; this functionality is not yet released).