Commit Graph

414 Commits

Author SHA1 Message Date
Sam
8370b4b1b7 FIX: don't precompile if we have no themes table 2017-04-14 10:33:35 -04:00
Sam
4161a7abec FIX: allow CSS precompilation to access newly manifested assets 2017-04-14 10:30:19 -04:00
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
Guo Xiang Tan
efff3351bf Update Disqus importer. 2015-07-01 21:51:19 +08:00
Régis Hanol
189cb3ff12 FEATURE: move migrate_to_new_scheme into a background job
- new hidden site setting 'migrate_to_new_scheme' (defaults to false)
- new rake tasks to toggle migration to new scheme
- FIX: migrate_to_new_scheme also works with CDN
- PERF: improve perf of the DbHelper.remap method
- REFACTOR: UrlHelper is now a class
2015-06-12 12:07:57 +02:00
Régis Hanol
c1cf602de2 FIX: uploads:backfill_shas rake task 2015-06-10 17:19:58 +02:00
Régis Hanol
6000a37ff1 new 'uploads:migrate_to_new_pattern' task 2015-06-05 18:37:34 +02:00
Sam
2c3062548b FEATURE: upgrade image compression gem 2015-05-29 12:39:55 +10:00
Régis Hanol
a5d93c6705 FIX: undefined method 'max_file_size_kb' 2015-05-26 16:39:41 +02:00
Régis Hanol
bb0c2813ac FEATURE: generate (avatar) thumbnails in a background task
FIX: keep the "uploading..." indicator until the server replies via the MessageBus
FIX: text was disapearing when uploading an avatar

PERF: always use a region for S3 (defaults to 'us-east-1')
FEATURE: ApplyCDN middleware when using S3
FIX: use the same pattern to store files on S3 and locally
PERF: keep a local cache of uploads when generating thumbnails
FEATURE: migrate_to_s3 rake task
2015-05-25 17:59:00 +02:00
Sam
535e8cac5d don't force caching when compiling 2015-05-22 11:22:12 +10:00
Sam
89ac825641 add a force to ensure we properly cache stylesheets 2015-05-21 18:06:33 +10:00
Sam
45bdd23689 FEATURE: support user local switching to RTL correctly
FEATURE: support RTL in multisite
2015-05-20 15:56:54 +10:00
Régis Hanol
5e527178b9 FEATURE: new 'uploads:migrate_to_new_pattern' rake task 2015-05-19 12:31:51 +02:00
Sam
b0306fd613 DEV: make autospec compatible with rspec 3 2015-05-14 11:24:48 +10:00
Neil Lalonde
406c8bb340 PERF: don't recompile css files that have already been compiled 2015-05-12 16:12:49 -04:00
Régis Hanol
54b63bfdbf remove ALL useless 'order by' 2015-05-12 09:37:48 +02:00
Régis Hanol
232b5387d0 remove useless 'order by' 2015-05-12 09:36:46 +02:00
Régis Hanol
b489384b59 FIX: uploads rake tasks to support subfolders 2015-05-12 09:28:43 +02:00
Régis Hanol
95a57ce3e4 properly fix missing uploads by redownloading them 2015-05-11 19:07:39 +02:00
Régis Hanol
48f4589c6f try to fix missing downloads by re-downloading them 2015-05-11 17:03:48 +02:00
Régis Hanol
6d83526bf1 add support for multisite to the 'uploads:regenerate_missing_optimized' rake task 2015-05-11 16:19:16 +02:00
Régis Hanol
27a9b5ee13 only deal with local uploads 2015-05-11 15:41:52 +02:00
Régis Hanol
ca89d16946 FEATURE: new 'uploads:regenerate_missing_optimized' images rake task 2015-05-11 12:59:50 +02:00
Sam
996ab1ae17 FEATURE: task to find all missing local images 2015-05-11 10:30:39 +10:00
Régis Hanol
1e96a1cd58 fix ruby const warning 2015-04-29 23:33:25 +02:00
Régis Hanol
657ab84825 disable edit notifications when using the rebake rake task 2015-04-01 23:08:29 +02:00
Régis Hanol
b071bd3c7c Merge pull request #3203 from fantasticfears/seed
FIX: respect default locale settings when seed
2015-03-19 12:14:30 +01:00
Régis Hanol
6b85d5582c FIX: 'uploads:migrate_from_s3' rake task 2015-03-18 18:23:55 +01:00
Sam
a82530012a FEATURE: Allow selection of highlight js languages
PERF: stop loading highlight js on load

To get latest highlight js run bin/rake highlightjs:update
2015-03-13 16:18:59 +11:00
Jamie Nguyen
5d16db1c48 Avoid gzip "-k" option for wider OS compatibility
The "-k" option tells gzip to keep the original files intact and is an
alternative to `gzip -c file > file.gz`. It was implemented in 2013:
http://git.savannah.gnu.org/cgit/gzip.git/commit/?id=0192f02

There are a few popular operating systems (ie, Red Hat 7, Debian Wheezy)
whose version of gzip does not have the "-k" option. Compiling assets
breaks on these operating systems. Using "-c" instead ensures that it
works even with older versions of gzip.
2015-02-24 15:19:23 +00:00
Robin Ward
3aa165d3b6 Provides the ability to skip minification of some JS assets. 2015-02-20 15:51:38 -05:00
Erick Guan
29840888e5 FIX: respect default locale settings when seed
We seed special categories during migration so we have to set the
locale before the migration happens.
2015-02-14 23:51:53 +08:00
Jeff Atwood
86c13ada44 fix a few places we were using /category vs /c 2015-01-06 15:56:07 -08:00
Régis Hanol
45dbdb6896 FEATURE: custom emojis 2014-12-23 01:12:26 +01:00
Sam
b279b1daa0 FIX: reduce verboseness of uglify command
PERF: do not generate source maps in ruby mode
2014-12-18 04:14:12 +11:00
Sam
f8fb823924 FEATURE: source maps in production for JavaScripts 2014-12-12 18:53:26 +11:00
David McClure
844b92bf12 Include perf improvements in release notes
Add ability to specify 'from' and 'to' tags in rake task
2014-11-07 04:01:44 -08:00
Robin Ward
76f68e23e8 FIX: Strip the word "SECURITY" from the output too 2014-11-06 16:05:13 -05:00
Robin Ward
9e55215c71 FIX: Include security in release notes 2014-11-06 16:02:26 -05:00
Robin Ward
1333378f39 FIX: Don't include reverts in release notes 2014-11-06 16:02:26 -05:00
David McClure
7a3b8b399c release notes now includes lines from comments with a blank like after the first one 2014-10-28 06:31:30 -07:00
Régis Hanol
e7f251c105 LOTS of changes to properly handle post/topic revisions
FIX: history revision can now properly be hidden
FIX: PostRevision serializer is now entirely dynamic to properly handle
hidden revisions
FIX: default history modal to "side by side" view on mobile
FIX: properly hiden which revision has been hidden
UX: inline category/user/wiki/post_type changes with the revision
details
FEATURE: new '/posts/:post_id/revisions/latest' endpoint to retrieve
latest revision
UX: do not show the hide/show revision button on mobile (no room for
them)
UX: remove CSS transitions on the buttons in the history modal
FIX: PostRevisor now handles all the changes that might create new
revisions
FIX: PostRevision.ensure_consistency! was wrong due to off by 1
mistake...
refactored topic's callbacks for better readability
extracted 'PostRevisionGuardian'
2014-10-27 22:06:43 +01:00
Régis Hanol
1e13cfe8ce Merge pull request #2909 from mcwumbly/release-notes-improvements
Improved release notes readability / formatting
2014-10-25 02:03:14 +02:00
David McClure
9879340b69 Improved release notes.
- Format markdown with headers and bullets.
- Split out comments with more than one FIX or FEATURE
- Escape a few characters that disrupt formatting
2014-10-23 20:44:02 -07:00
Sam
5aaafff798 cache breaker for new uglify options 2014-10-14 11:04:07 +11:00
Robin Ward
a67d1c1765 FIX: Symbol was missing colon 2014-10-15 17:54:17 -04:00
Robin Ward
65ab88da77 Let's try to change Uglifier settings properly 2014-10-15 16:51:16 -04:00
Régis Hanol
b58435de90 improve output of the release_note:generates rake task 2014-10-02 19:18:07 +02:00
Régis Hanol
2f8e28c918 FEATURE: new release_note:generate rake task 2014-10-02 19:01:10 +02:00
Régis Hanol
652cc3efba FEATURE: new rake task to clean up uploads & thumbnails 2014-09-29 18:31:53 +02:00