Commit Graph

53 Commits

Author SHA1 Message Date
Penar Musaraj
78969d7719 DEV: Support custom log level in dev
See https://guides.rubyonrails.org/debugging_rails_applications.html#log-levels
Can be used to reduce noise when running "bundle exec rails server" in dev.

Setting DISCOURSE_DEV_LOG_LEVEL="warn" will make for easier puts debugging with unicorn.
2019-12-06 10:57:10 -05:00
David Taylor
1b8be069e5
DEV: Disable better_errors when developing with more than one worker (#8201)
From the better_errors README:

> Better Errors works by leaving a lot of context in server process memory. If you're using a web server that runs multiple "workers" it's likely that a second request (as happens when you click on a stack frame) will hit a different worker. That worker won't have the necessary context in memory, and you'll see a Session Expired message.
2019-10-16 14:44:48 +01:00
Sam Saffron
b282c893b2 DEV: support multiple hosts in dev
This renames the DISCOURSE_ENV_HOST var @eviltrout introduced in 95a9a544
to DISCOURSE_ENV_HOSTS and allows for a comma delimited list of hosts

This is useful for testing plugins and customized host names
2019-09-17 16:01:39 +10:00
Robin Ward
95a9a544c9 DEV: Allow custom hosts in development mode
Rails 6 seems to introduce a whitelist of allowed hosts. I personally
use `dev.local` for development and this no longer works.

This introduces a new ENV variable, `DISCOURSE_DEV_HOST`. If present,
it will whitelist that host for development mode.
2019-09-12 13:12:06 -04:00
Sam Saffron
30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
Sam
800760e353 also watch CSS in unicorn on dev 2018-03-09 17:47:57 +11:00
Guo Xiang Tan
4e89d3f778 Only refresh site settings once on initialization. 2017-10-12 14:12:18 +08:00
Guo Xiang Tan
3f24ed2b3e Can't revert due to incompatibility of new site setting types.
Revert "Revert "FEATURE: Site settings defaults per locale""

This reverts commit 439fe8ba24.
2017-08-07 10:43:09 +09:00
Guo Xiang Tan
439fe8ba24 Revert "FEATURE: Site settings defaults per locale"
This reverts commit 468a8fcd20.
2017-08-07 10:31:50 +09:00
Erick Guan
468a8fcd20 FEATURE: Site settings defaults per locale
This change-set allows setting different defaults for different locales. 

It also:

- Adds extensive testing around site setting validation

- raises deprecation error if site setting has the default property based on env

- relocated site settings for dev and tests in the initializer

- deprecated client_setting in the site setting's loading process

- ensure it raises when a enum site setting being set

- default_locale is promoted to `required` category.

- fixes incorrect default setting and validation

- fixes ensure type check for site settings

- creates a benchmark for site setting

- sets reasonable defaults for Chinese
2017-08-02 12:24:19 -04:00
Guo Xiang Tan
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Sam
492eed70ab correct with brackets 2017-06-20 15:53:14 -04:00
Sam
9f8388c2eb FIX: start filesystem watcher when running under rails s 2017-06-20 15:44:01 -04:00
Jay Pfaffman
0da8bdca73 Update development.rb 2017-06-08 13:07:51 -07: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
Sam
473363e0fa only enable bullet on demand 2016-07-05 11:10:42 +10:00
Guo Xiang Tan
4a143d584b
Don't log bullet alerts in the console. 2016-06-29 09:36:32 +08:00
Guo Xiang Tan
3e07658fb2
Don't alert. 2016-06-28 11:53:45 +08:00
Guo Xiang Tan
9ed79d8ecd
Add Bullet gem to detect N+1 queries. 2016-06-28 09:29:42 +08:00
Régis Hanol
5943483ef5 nope nope nope 2016-06-03 17:25:39 +02:00
Régis Hanol
9704603fab FEATURE: sendgrid webhooks 2016-06-01 21:48:06 +02:00
Sam
bd9bc7918c FIX: downcase developer emails do it matches internal email storage 2016-05-27 12:18:54 +10:00
Sam
2599b94920 ignore uploads for mini profiler 2015-04-17 12:16:37 +10:00
Robin Ward
c7d367996a PERF: Concatenate scripts in development mode
This improves my DOMContentLoaded from 9s+ to less than 4s.
Pinging @SamSaffron on this because this was previously controversial.

This implementation adds the `@sourceURL` directive so chrome correctly
identifies the source files.
2015-04-16 15:40:23 -04:00
Arpit Jalan
c84b51d4ae FEATURE: show exact error for test email 2014-11-19 22:58:59 +05:30
Robin Ward
0a14d80f4a Don't specify uglifier in dev 2014-10-15 16:23:06 -04:00
Robin Ward
8a6f9425d4 Fix uglifier args 2014-10-15 16:00:45 -04:00
Robin Ward
309144d9fc Let's try telling uglifier to user 1k lines 2014-10-15 15:55:55 -04:00
Akshay
7cd8b4f329 raise migration error in development if pending migrations 2014-10-04 07:02:30 +05:30
Sam
68a3fd5ef0 FIX: developer emails not working on ruby 2.0 2014-08-30 09:07:30 +10:00
Sam
b7e8bcda07 FIX: strip leading/trailing spaces from developer emails 2014-08-29 12:21:33 +10:00
Sam
9468ebeb2e CHANGE: Mini Profiler only enabled for developers in prd 2014-07-17 08:34:41 +10:00
Sam
7e7c4efcc0 FEATURE: on initial boot hint users on how to get admin 2014-03-24 18:03:39 +11:00
Sam
76c7d42027 require rbtrace in development cause it is handy 2014-03-18 15:22:53 +11:00
Stephan Kaag
f12925887c Drop Rails3 support 2014-02-17 19:42:08 +01:00
Robin Ward
18e719b0af In development mode, if an avatar is missing just serve up a placeholder 2014-01-17 11:47:23 -05:00
Faraz Yashar
69460b8f9b Remove best standards support for Rails 4 since it's been removed from ActionDispatch 2013-10-17 15:36:18 -04:00
Sam
3d647a4b41 remove rack cache, it has been causing trouble
instead implement an aggressive anonymous cache that is stored in redis
this cache is sitting in the front of the middleware stack enabled only in production
TODO: expire it more intelligently when stuff is created
2013-10-16 16:39:18 +11:00
Sam
9e4b0df7ff 69 specs fail in rails 4 now ...not too bad 2013-07-22 15:07:20 +10:00
Neil Lalonde
ceee8ed63b Put back mailcatcher config in development.rb 2013-07-05 11:32:54 -04:00
Robin Ward
6364fc74ef Merge branch 'rewrite_update_alls' of git://github.com/stephankaag/discourse-1 into stephankaag-rewrite_update_alls
Conflicts:
	app/services/spam_rules_enforcer.rb
2013-07-03 11:13:56 -04:00
Robin Ward
93cdb97b46 OOPS: Left a testing setting of precompile in development on. Turned it back off. 2013-06-05 15:33:50 -04:00
Robin Ward
7d089fdfb5 FIX: Compile templates properly with the latest handlebars 2013-06-05 14:00:02 -04:00
Sam
8367951000 sprockets upgrade
stop bundling all js files in dev, replace with turbo boosted serving of assets
2013-04-18 16:33:25 +10:00
Sam
850b042cab introduce rack:cache as a default, so users don't need to configure apache or nginx
under rack cache we are able to serve 620reqs a second per thin (on my machine) before it 12 (on my machine)

reorganised so mini profilers can be cleanly disabled from config file

added caching for categories index

move production.rb to production.sample.rb
2013-04-11 16:24:21 +10:00
Sam
f6ec8e01ec debug assets for debugging assets ... set to 1 in my .rvmrc 2013-04-02 09:50:00 +11:00
Robin Ward
4e6b62b1f5 Much faster development mode reloading. 2013-04-01 14:32:24 -04:00
Karan Misra
5dfb04e4b3 Convert a lot of :a => b to a: b and bring peace to the world 2013-03-25 05:07:36 +05:30
Sam
40b2f0f7d9 update better errors
allow me to pass a special IP address in dev mode so I can debug ( set TRUSTED_IP )
2013-03-23 03:16:49 -07:00
Sam
a0bdbe046a don't try to load airbrake if there is no config for it 2013-03-11 16:59:21 -07:00