Commit Graph

362 Commits

Author SHA1 Message Date
Sam 8cd9afcfad move CSS precompilation to last step 2017-04-12 12:30:24 -04:00
Sam a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Robin Ward 14410b71fb Convert server side paths to use `/u/` 2017-03-30 10:23:24 -04:00
Guo Xiang Tan fc3c34b78f Allow Brotli compression to be disabled when precompiling. 2017-03-27 11:55:43 +08:00
Sam c106ca6778 FEATURE: fallback asset path for multi host setups 2017-03-20 15:59:17 -04:00
Sam bc96f0fe78 rescue failure to backup assets 2017-03-20 13:43:59 -04:00
Sam e14a63cc88 FEATURE: add support for backup asset path post precompile 2017-03-20 13:05:39 -04:00
Guo Xiang Tan 1a7e954e09 FIX: Store custom emojis as uploads.
* Depending on a hardcoded directory was a flawed design
  which made it impossible to debug when custom emojis go
  missing.
2017-03-14 13:07:18 +08:00
Sam 20ed11f9a5 We must GC here otherwise we risk not freeing our v8 contexts 2017-03-10 11:36:10 -05:00
Sam b68d08404d shell to node to avoid high memory usage 2017-03-09 17:05:55 -05:00
Sam ab3faeb0f9 PERF: user mini racer to uglify assets 2017-03-09 16:44:50 -05:00
Guo Xiang Tan 5d9daa299a Only run plugin tests if plugins are loaded. 2017-03-07 16:36:49 +08:00
Guo Xiang Tan fc0f363973 Run plugin specs as well. 2017-03-02 17:28:35 +08:00
Rimian Perkins db9840b672 fix malformed qunit url
this removes the space between the query string and the URL

```
$MODULE='Acceptance: Search' rake qunit:test\[20000\]
....
Running: {"module":"Acceptance: Search"}
... http://localhost:60099/qunit?module=Acceptance%3A%20Search 20000
```

The timeout value seems to work fine.
2017-02-24 10:19:34 +11:00
Rafael dos Santos Silva f68540b022 Increase QUnit timeouts to allow on slower envs 2017-02-23 19:21:06 -03:00
Guo Xiang Tan 9baf89a901 Remove database vacuum task from Discourse. 2017-02-20 09:02:38 +08:00
Rafael dos Santos Silva 6a271a7695 Increase Qunit tests timeout on Docker tests 2017-02-14 16:09:14 -02:00
Régis Hanol ceee2a509a remove warning of previously defined constant when running the specs 2017-02-05 19:07:18 +01:00
Arpit Jalan 061c3dd6c1 typo 2017-01-25 22:46:05 +05:30
Arpit Jalan 89d7ddd803 FEATURE: new rake task to delete a word/string from all the posts 2017-01-25 22:33:39 +05:30
Arpit Jalan bc4f443fde typo 2017-01-25 21:23:25 +05:30
Guo Xiang Tan ba21ef34e5 Fix broken emojis. 2017-01-24 16:17:30 +08:00
Arpit Jalan 80e573e794 FIX: support removing all occurences of a word/string 2017-01-24 12:52:38 +05:30
Arpit Jalan e27ca3019b FEATURE: posts:remap task now supports removing all occurences of a word 2017-01-24 12:00:57 +05:30
Arpit Jalan 01c8974c36 typo 2017-01-18 20:10:49 +05:30
Sam 2f6a4cc6de remove UserActionObserver, replace with after_save and service
interestingly there was some left over dead code from when stars
existed in the topic_users table
2016-12-22 16:46:53 +11:00
Sam 0a78ae739d Remove SearchObserver, aim is to remove all observers
rails-observers gem is mostly unmaintained and is a pain to carry forward
new implementation contains significantly less magic as a bonus
2016-12-22 13:13:14 +11:00
Guo Xiang Tan ce36f54dcd Add rake task to clean up orphane Redis keys when a multisite has been removed. 2016-12-05 11:39:08 +08:00
Guo Xiang Tan 5200446eb7 Increase Qunit tests timeout on Travis. 2016-11-30 16:35:44 +08:00
Guo Xiang Tan a76d834fd5 Fix invalid command. 2016-11-15 15:24:19 +08:00
Guo Xiang Tan 7e8a975e20 Reduce number of tries when tests time out. 2016-11-15 15:23:53 +08:00
Guo Xiang Tan 7a1400cc4b Remove undefined variable. 2016-11-09 21:06:21 +08:00
Neil Lalonde 3b9a1410f8 report errors from the populate.thor tool 2016-10-17 14:01:37 -04:00
Arpit Jalan 20c9c60dea FEATURE: support multisite configuration for search:reindex task 2016-10-01 08:54:15 +02:00
Guo Xiang Tan b5d6d3c326 FIX: Make recover from tombstone script work for multisite. 2016-09-22 12:28:36 +08:00
Guo Xiang Tan 333d6f9f10 More improvements to restore from tombstone script. 2016-09-22 10:39:39 +08:00
Arpit Jalan 13aff1f2f8 FEATURE: optionally delay the rebake_match task 2016-09-21 21:48:57 +05:30
Guo Xiang Tan 1d4451db5d Improve restore from tombstone script by not having to loop through all posts. 2016-09-21 18:01:59 +08:00
Guo Xiang Tan b62b6ba12c Improve restore from tombstone rake task. 2016-09-21 17:47:27 +08:00
Guo Xiang Tan 3af5b19002 Add rake task to restore missing uploads from tombstone. 2016-09-21 16:56:32 +08:00
Régis Hanol 53e309fe3e add missing flags emoji 2016-09-19 19:39:46 +02:00
Régis Hanol 86d1bc7f47 new emoji:update rake task 2016-09-19 13:43:15 +02:00
Guo Xiang Tan e4b75f604c FIX: Make clean up upload script a safer task to run. 2016-09-05 10:06:02 +08:00
Arpit Jalan 76857e3f77 do not create new revision when remapping posts 2016-09-03 23:21:56 +05:30
Guo Xiang Tan df8d24734a Regenerate missing optimized images for all dbs by default. 2016-09-02 13:06:31 +08:00
Guo Xiang Tan e4883725e6 Script to analyze uploads on a site. 2016-09-02 12:07:06 +08:00
Guo Xiang Tan 82324db71a Allow `uploads:missing` Rake task to be run for a single site. 2016-09-02 10:22:39 +08:00
Guo Xiang Tan 2349ab5a51 `puts` not `putc`. 2016-08-29 10:30:10 +08:00
Guo Xiang Tan e57ed5223a Fix rake task. 2016-08-26 15:46:42 +08:00
Guo Xiang Tan 2448db4716 Prioritize user avatars when regenerating missing optimized images. 2016-08-25 18:29:52 +08:00
Guo Xiang Tan 5da768b4fe FIX: `find_each` uses `find_in_batches` which uses the primary key as the order. 2016-08-25 16:11:28 +08:00
Guo Xiang Tan f19232646f Rescue all errors when backfilling shas for uploads. 2016-08-23 15:05:37 +08:00
Guo Xiang Tan 2c1249f381 Remove monkey patch. 2016-08-23 12:04:53 +08:00
Guo Xiang Tan 574b8fdf41 Allow backfilling of shas to complete. 2016-08-23 10:34:32 +08:00
Arpit Jalan 3bd8b55fce FEATURE: new rake task to change post ownership for a specific user 2016-08-20 20:43:16 +05:30
Guo Xiang Tan 5222022842 Use another rake task to regenerate optimized images for multisite. 2016-08-19 15:52:09 +08:00
Arpit Jalan 6af4e6bd05 FEATURE: new rake task to remap posts matching a string 2016-08-17 14:08:46 +05:30
Arpit Jalan dc4799dda2 handle posts:rebake_match task without type argument 2016-08-17 01:01:06 +05:30
Arpit Jalan 054ee4dc55 FEATURE: new rake task to rebake posts using regex matching 2016-08-17 00:01:19 +05:30
Régis Hanol 9971e62254 FIX: migrate_from_s3 rake task 2016-07-25 12:12:10 +02:00
Sam 83b08b87d5 Merge pull request #4269 from choiceaustralia/qunit-args
exit if RETRY is false
2016-06-29 11:44:17 +10:00
Phil Thomas 5e8c7037ef Implement seed user, multiple topic creation
initial user seed setup

implement multiple topic creation option

refactor

refactor to remove hipster_words

add create_user method

refactor create_user

refactor topic creation

refactor post creation

refactor topic creation

refactor post creation

fix provided_user

minor refactoring

remove ffaker from Gemfile

re-add hipster words

remove use of ffaker

bugfix

improve documentation
2016-06-17 15:09:01 -05:00
Rimian Perkins ccb5eed717 exit if RETRY is false 2016-06-14 14:17:39 +10:00
Rimian Perkins d2bd857160 enable args MODULE and FILTER for qunit:test rake task 2016-06-14 12:06:11 +10:00
Sam fe1ebee791 we need to fix permissions 2016-06-07 17:43:09 +10:00
Sam d0c5dc9280 rename CONCURRENT to SPROCKETS_CONCURRENT 2016-06-07 17:03:05 +10:00
Sam 8d1a556f3e FEATURE: Add brotli compression option to precompile
To enable brotli compression on static assets use COMPRESS_BROTLI
2016-06-07 16:55:57 +10:00
Sam b2d59a8de3 update docker test 2016-05-23 15:29:39 +10:00
Guo Xiang Tan 0634834009 Some fixes related to optimized images (#4233)
* FIX: No need to manually include relation.

* FIX: OR instead of chaining relation.
2016-05-20 09:12:25 +02:00
Guo Xiang Tan b744306654
PERF: Uglify and gzip assets concurrently. 2016-04-21 10:36:09 +08:00
Guo Xiang Tan 95e0948fba FIX: Don't use Uglifier that ships with Sprockets. 2016-04-19 14:29:20 +08:00
Guo Xiang Tan 6a33fcf48e FIX: Do not gzip when using uglifier. 2016-04-19 12:27:51 +08:00
Régis Hanol 557e59c28e check the uploads doesn't already exists before copying it 2016-04-13 16:33:00 +02:00
Régis Hanol 8e4113a468 add multisite support for the 'uploads:gather' rake task 2016-04-12 16:00:25 +02:00
Régis Hanol 71fe66c8c2 'uploads:gather' should only work on local uploads 2016-04-11 21:17:33 +02:00
Régis Hanol 90dfc96206 new 'uploads:gather' rake task 2016-04-11 20:42:40 +02:00
Robin Ward 3f7ced9236 Try running once off jobs outside of db:migrate 2016-04-07 15:07:24 -04:00
Robin Ward 078b3bc87e Log once off jobs and enqueue on `db:migrate` 2016-04-07 14:32:31 -04:00
Sam 32c681c96b annotate models 2016-02-23 10:33:53 +11:00
Sam 0032047804 missing a bracket 2016-02-05 15:01:12 +11:00
Sam 886273f158 FIX: when CDN assets are not in root path source maps fail 2016-02-05 13:05:47 +11:00
Régis Hanol 3083657358 FEATURE: better email in support
FEATURE: new incoming_email model
FEATURE: infinite scrolling in emails admin
FEATURE: new 'emails:import' rake task
2016-01-19 00:57:55 +01:00
Jeff Atwood 1a8487cf7b we want screw_ie8 here as we don't support IE9 2016-01-11 03:13:37 -08:00
Jeff Atwood 770adbaf71 gzip 9 takes 2x as long as 7 for +0.1% compression 2016-01-11 02:53:28 -08:00
Sam 8d49091572 PERF: stop running VACUUM FULL only run VACUUM 2015-12-07 20:14:26 +11:00
uppfinnarn ca8c5f7382 migrate_to_s3: check for missing local files
If an image is already on S3, but not available locally (eg. if they're already migrated), `path` is nil. This crashes the task, because File.exists?(nil) is not valid.
2015-11-16 11:39:40 +01:00
Robin Ward 57fc1e5e0c FIX: Don't run a `FULL ANALYZE` on first migration.
This seems to block databases unecessarily. We should only really be
vacuuming when there is a lot of deleted data to recover.
2015-10-22 12:34:09 -04:00
Sam 25db4cc4d9 added DONT_PRECOMPILE_CSS env var 2015-10-13 10:48:21 +11:00
Sam 42b72a9834 parallel is not really helping, need a diff approach. 2015-10-13 10:14:48 +11:00
Sam 5f62c592a4 FEATURE: CSS_COMPILE_THREADS env setting for compiling CSS concurrently 2015-10-12 17:31:37 +11:00
Sam 42925b46b8 FEATURE: allow DONT_MINIFY flag in production for assets:precompile 2015-09-29 11:54:16 +10:00
Régis Hanol bda6b48ac1 new posts:fix_letter_avatars rake task 2015-09-23 22:44:53 +02:00
Sam 9cad925c67 FIX: correct error message on precompile fail 2015-09-22 11:28:31 +10:00
Sam c1ecd6f4ce update annotations 2015-09-18 10:41:10 +10:00
Régis Hanol 294669c856 FIX qunit test runner for phantomjs 2.0 2015-08-25 10:42:19 +02:00
Robin Ward 9b7c4023e8 Run eslint instead of jshint, remove rbx 2015-08-13 15:22:33 -04:00
Robin Ward b0541500b4 FIX: eslint deprecations 2015-08-13 15:14:08 -04:00
Robin Ward 946e34f65c Use eslint in `docker_test` 2015-08-13 14:55:53 -04:00
Régis Hanol 2473a00b26 FIX: improve smoke tests 2015-07-27 11:07:42 +02:00
Kane York d6129001b9 FIX: Provide proper source map URLs with a CDN 2015-07-21 11:52:54 -07:00