discourse/lib/tasks
David Taylor 6c3df84a93
DEV: In themes:update, only update themes which are out-of-date (#15676)
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
```
2022-01-21 18:23:26 +00:00
..
add_topic_to_quotes.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
admin.rake FIX: Create email token with correct scope (#15658) 2022-01-20 16:38:56 +02:00
annotate.rake DEV: Add `annotate` rake tasks, and enforce via GitHub actions 2021-07-06 10:11:06 +01:00
api.rake FEATURE: Hash API keys in the database (#8438) 2019-12-12 11:45:00 +00:00
assets.rake DEV: Support for running theme test with Ember CLI (third attempt) 2022-01-13 16:02:07 -05:00
auto_annotate_models.rake DEV: Allow annotations to work in symlinked plugins, add binstub (#13635) 2021-07-05 15:43:10 +01:00
autospec.rake DEV: Add API docs for uploads and API doc watcher (#15387) 2021-12-23 08:40:15 +10:00
avatars.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
backfill.thor DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
categories.rake FIX: rake categories:move_topics shouldn't move category description topic (#14797) 2021-11-03 11:27:51 +08:00
cdn.rake DEV: Fix rubocop issues (#14715) 2021-10-27 11:39:28 +03:00
db.rake Revert "DEV: increase lock timeout for multisite migration (#14831)" (#14883) 2021-11-11 16:16:53 +03:00
destroy.rake REFACTOR: Cleanup rake tasks based on feedback 2019-07-18 19:15:01 -06:00
dev.rake DEV: move `discourse_dev` gem to the core. (#13360) 2021-06-14 20:34:44 +05:30
docker.rake DEV: Wait for initdb to complete in docker.rake (#15614) 2022-01-17 17:45:39 +00:00
emails.rake DEV: Use EmailSettingsValidator in more places (#15404) 2022-01-04 08:30:48 +10:00
emoji.rake FEATURE: Add missing emojis (#15582) 2022-01-14 17:51:13 -03:00
export.rake FEATURE: Rake task to export groups (#9450) 2020-04-17 14:59:54 -07:00
groups.rake Make rubocop happy. 2019-05-13 09:55:44 +08:00
i18n.rake DEV: Update `i18n:check` rake task to detect invalid Markdown links (#13728) 2021-07-14 13:26:12 +02:00
images.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
import.rake FEATURE: Add last visit indication to topic view page. (#13471) 2021-07-05 14:17:31 +08:00
incoming_emails.rake FEATURE: Remove attachments and truncate raw field for incoming emails (#8253) 2019-10-30 16:54:35 +11:00
integration.rake DEV: Remove hints of jshint (#14828) 2021-11-08 09:12:37 +08:00
javascript.rake DEV: Fix methods removed in Ruby 3.2 (#15459) 2022-01-05 18:45:08 +01:00
log.rake FIX: whoops, linting 2020-09-03 12:10:11 +01:00
maxminddb.rake FIX: maxminddb:get task no longer working 2019-10-04 09:47:33 +10:00
plugin.rake DEV: Update `rake qunit:test` and `rake plugin:qunit` to use `testem` 2022-01-18 10:16:29 +00:00
populate.rake FEATURE: Add post edits count to user activity (#13495) 2021-08-02 10:15:53 -04:00
populate.thor DEV: prevents populate task to crash (#8111) 2019-09-22 05:18:48 -07:00
posts.rake FIX: `LocalJumpError` in rake tasks (#14874) 2021-11-10 16:53:55 +01:00
qunit.rake DEV: Update `rake qunit:test` and `rake plugin:qunit` to use `testem` 2022-01-18 10:16:29 +00:00
redis.rake FIX: `LocalJumpError` in rake tasks (#14874) 2021-11-10 16:53:55 +01:00
release_note.rake DEV: Fix methods removed in Ruby 3.2 (#15459) 2022-01-05 18:45:08 +01:00
rspec.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
s3.rake DEV: Fix methods removed in Ruby 3.2 (#15459) 2022-01-05 18:45:08 +01:00
scheduler.rake FIX: DistributedMutex (#7953) 2019-08-01 09:12:05 +01:00
search.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
site.rake DEV: Fix methods removed in Ruby 3.2 (#15459) 2022-01-05 18:45:08 +01:00
site_settings.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
smoke_test.rake DEV: Fix methods removed in Ruby 3.2 (#15459) 2022-01-05 18:45:08 +01:00
svg_icons.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
tags.rake FEATURE: Support append when bulk tagging via rake (#9978) 2020-06-04 09:33:48 -04:00
themes.rake DEV: In themes:update, only update themes which are out-of-date (#15676) 2022-01-21 18:23:26 +00:00
topics.rake FIX: `LocalJumpError` in rake tasks (#14874) 2021-11-10 16:53:55 +01:00
turbo.rake DEV: Add a verbose option to ./bin/turbo_rspec 2019-06-27 15:49:21 +01:00
typepad.thor FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
uploads.rake DEV: Try to download missing uploads from origin URL (#15629) 2022-01-19 11:05:58 +01:00
users.rake DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00