Running `update_from_remote` and `save!` cause a number of side-effects, including instructing all clients to reload CSS files. If there are no changes, then this is wasteful, and can even cause a 'flicker' effect on clients as they reload CSS. This commit checks if any updates are available before triggering `update_from_remote` / `save!`. This should be much faster, and stop the 'flickering' UX from happening on every themes:update run. It also improves the output of the command to include the from/to commit hashes, which may be useful for debugging issues. For example: ``` Checking 'Alien Night | A Dark Discourse Theme' for 'default'... already up to date Checking 'Star Wars' for 'default'... updating from d8a170dd to 66b9756f Checking 'Media Overlay' for 'default'... already up to date ``` |
||
|---|---|---|
| .. | ||
| add_topic_to_quotes.rake | ||
| admin.rake | ||
| annotate.rake | ||
| api.rake | ||
| assets.rake | ||
| auto_annotate_models.rake | ||
| autospec.rake | ||
| avatars.rake | ||
| backfill.thor | ||
| categories.rake | ||
| cdn.rake | ||
| db.rake | ||
| destroy.rake | ||
| dev.rake | ||
| docker.rake | ||
| emails.rake | ||
| emoji.rake | ||
| export.rake | ||
| groups.rake | ||
| i18n.rake | ||
| images.rake | ||
| import.rake | ||
| incoming_emails.rake | ||
| integration.rake | ||
| javascript.rake | ||
| log.rake | ||
| maxminddb.rake | ||
| plugin.rake | ||
| populate.rake | ||
| populate.thor | ||
| posts.rake | ||
| qunit.rake | ||
| redis.rake | ||
| release_note.rake | ||
| rspec.rake | ||
| s3.rake | ||
| scheduler.rake | ||
| search.rake | ||
| site_settings.rake | ||
| site.rake | ||
| smoke_test.rake | ||
| svg_icons.rake | ||
| tags.rake | ||
| themes.rake | ||
| topics.rake | ||
| turbo.rake | ||
| typepad.thor | ||
| uploads.rake | ||
| users.rake | ||