Commit Graph

3040 Commits

Author SHA1 Message Date
Régis Hanol
540933dce3 don't notify users about sequential replies in messages 2015-11-27 19:29:44 +01:00
Robin Ward
5e93140f85 FEATURE: Can override any translation via an admin interface 2015-11-27 11:35:19 -05:00
Sam
f74a6457ee FEATURE: allow CJK to be tokenized in non CJK sites.
Meaning a mixed English/Chinese site can still have a functioning search.
2015-11-27 16:35:27 +11:00
Régis Hanol
0d54c18c8b new hidden 'allow_staged_accounts' setting 2015-11-26 18:31:23 +01:00
Neil Lalonde
2561b5f304 Version bump to v1.5.0.beta6 2015-11-25 17:19:12 -05:00
Arpit Jalan
3eb0288adb UX: reviving old topic popup should not have red warning background 2015-11-25 16:31:17 +05:30
Sam
d41a8a21cc FIX: show letter avatars even if NGINX is not running in Dev mode 2015-11-25 14:42:46 +11:00
Robin Ward
434deb1bd3 SECURITY: Backported XSS fixes from Handlebars 2015-11-24 16:08:08 -05:00
Neil Lalonde
f4d44187c8 FIX: site_contact_user should default to system user, not first admin user 2015-11-24 14:37:41 -05:00
Robin Ward
d65ec1af2e Rename ninja_edit_window to editing_grace_period :'( 2015-11-24 14:28:42 -05:00
Arpit Jalan
db2799507b FIX: admin trust level user list URL should be consistent with new naming 2015-11-23 14:28:56 +05:30
Sam
5c899c765b Revert "Revert "REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS""
This reverts commit c21457d6a7.
2015-11-21 12:27:06 +11:00
Robin Ward
1506eba28d Support for overriding client side translation keys 2015-11-20 17:14:01 -05:00
Robin Ward
c21457d6a7 Revert "REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS"
This reverts commit c0b277d273.
2015-11-20 10:00:12 -05:00
Sam
c0b277d273 REFACTOR: support booting discourse with DISCOURSE_NO_CONSTANTS
This change is discussed here: https://meta.discourse.org/t/deprecating-es6-compatibility-layer/35821

Prior to this change we were not booting correctly with DISCOURSE_NO_CONSTANTS
2015-11-21 00:14:50 +11:00
Robin Ward
f5b34d5f53 FEATURE: Admin interface for editing email templates 2015-11-19 16:39:34 -05:00
Robin Ward
e168c5fde3 PERF: Much more performant, multisite aware I18n overrides 2015-11-19 16:36:59 -05:00
Robin Ward
7737ea89b1 FIX: Missing fallback logic 2015-11-19 12:35:51 -05:00
Sam
09bedfd4c0 Make DISCOURSE_NO_CONSTANTS work in anon for home page 2015-11-20 00:29:56 +11:00
Régis Hanol
31a54377be staged users automatically watches all topics they participates in 2015-11-18 22:24:46 +01:00
Robin Ward
7f4ca91e06 FIX: I18n overrides should be multisite aware 2015-11-18 16:05:53 -05:00
Robin Ward
2196160549 FIX: Allow emails to begin with a quote (but skip it!) 2015-11-18 15:23:10 -05:00
Régis Hanol
8ba5397f0d can't find staged users with search 2015-11-18 21:06:59 +01:00
Jeff Wong
cf86f27415 FEATURE: New setting to allow all caps posts
Adds a setting to ignore text_sentinel's check on all caps content.
2015-11-18 09:50:50 -08:00
Robin Ward
bb76c389fd Merge pull request #3817 from gschlager/locale-pluralization
FIX: Pluralizations in English locale files
2015-11-17 12:35:24 -05:00
Neil Lalonde
4423c6b9f9 Version bump to v1.5.0.beta5 2015-11-17 11:39:38 -05: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
810a069cfd FIX: Couldn't migrate database from nothing due to I18n
Since I18n has a DB backend now, I've introduced a helper we can use to
skip overrides in certain situations. Otherwise migration from empty
databases was broken.
2015-11-14 16:12:09 -05:00
Robin Ward
060ce9bf2a FEATURE: Overwrite server side I18n keys with API 2015-11-13 16:35:02 -05:00
Robin Ward
3720783c1b Refactor to our own Discourse I18n backend
This removes some monkey patches and makes testing easier.
It will also support database backed I18n changes.
2015-11-13 16:35:02 -05:00
Gerhard Schlager
6e33a21a7a FIX: Replace invalid pluralizations in locale files 2015-11-13 21:25:15 +01:00
Sam Saffron
6dd4bc7d57 FEATURE: support group owner, capable of controlling group membership
Group owners are regular users that can add or remove users to a group
The Admin UX allows admins to appoint group owners
The public group UX will display group owners first and unlock UI to
add and remove members

Group owners can only be appointed on non automatic groups
Group owners may not appoint another group owner
2015-11-10 00:56:57 +11:00
Robin Ward
8ba7c06b7d Merge pull request #3735 from riking/patch-4
FIX: Discourse.BaseUri should not default to /
2015-11-06 14:52:19 -05:00
Régis Hanol
fc27b7442f FIX: it should have been an array of arrays...:fired: 2015-11-06 15:42:16 +01:00
Régis Hanol
86f76e5b4d FIX: better plugin emojis API 2015-11-06 15:02:40 +01:00
Régis Hanol
13e96ffd3b FEATURE: add support for custom emojis via plugins 2015-11-05 17:25:26 +01:00
Régis Hanol
7e255a151b PERF: only use fulltext when searching for a user (I checked, it's enough) 2015-11-04 23:04:37 +01:00
Neil Lalonde
abeac7f681 two more places: make it possible for plugins to add methods to classes that don't follow naming conventions 2015-11-04 14:53:45 -05:00
Neil Lalonde
c1db9da45b Version bump to v1.5.0.beta4 2015-11-04 13:26:43 -05:00
Régis Hanol
e2121c2c2c FIX: add 'max-width' to images with auto width/height in emails 2015-11-04 12:38:39 +01:00
Gerhard Schlager
f85a311ae1 add missing dependency 2015-11-02 20:40:50 +01:00
Robin Ward
d00762dcd5 Merge pull request #3787 from gschlager/locale-keys
FIX: Some strings in locale files were not translatable
2015-11-02 13:40:22 -05:00
Sam
48ef609003 correct implementation add tests 2015-11-02 15:05:08 +11:00
Sam
3575012a47 correct implementation 2015-11-02 14:59:10 +11:00
Sam
fbb6eba252 Merge branch 'master' of github.com:discourse/discourse 2015-11-02 13:24:42 +11:00
Sam
eaae72c3e4 improve watching logic 2015-11-02 13:24:24 +11:00
Sam Saffron
606b10445e FEATURE: remove muted topics from suggested and latest 2015-11-02 09:20:22 +11:00
Régis Hanol
7fbf902d09 FIX: prevent cross-contamination of emojis in multisites 2015-10-30 23:26:34 +01:00
Arpit Jalan
9f8d6b6088 FIX: allow exisiting users to be invited to topic/message when enable_local_logins is disabled 2015-10-30 11:28:05 +05:30
Robin Ward
1f6e40eebe FIX: typo 2015-10-29 16:07:45 -04:00
Robin Ward
c68cbe700b FIX: Better link extraction than URL.regexp 2015-10-29 16:02:11 -04:00
Robin Ward
0b4c9005f9 FIX: Don't include name in hash when names are disabled.
This could break some SSO implementations due to honeypot
not being triggered.
2015-10-29 12:19:45 -04:00
Robin Ward
a9823ab59a FIX: Use a cookie to bypass the anon cache 2015-10-28 17:16:56 -04:00
Régis Hanol
bb79e6aff7 FEATURE: new hide_user_profiles_from_public site setting 2015-10-28 19:56:08 +01:00
Robin Ward
d9997a6b9e Add auto link support to the email formatter 2015-10-28 13:31:28 -04:00
Robin Ward
6b236d3c83 FEATURE: Bulk Unlisting of topics 2015-10-27 16:57:40 -04:00
Carson Reinke
df916e86b7 compact! only returns array if changes were made 2015-10-27 12:27:37 -04:00
Carson Reinke
6c172a30d3 #compact! can return nil if no changes were made 2015-10-27 12:14:18 -04:00
Robin Ward
2fdf8cba3d FIX: Support formatted > quotes in emails 2015-10-22 16:08:52 -04:00
Régis Hanol
6c29781687 FIX: this is making oneboxed images way too big (reverts 121426287) 2015-10-22 19:46:48 +02:00
Régis Hanol
515fc49727 FIX: replace polls with a link in emails 2015-10-22 19:10:07 +02: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
Arpit Jalan
1821ba8d93 optimize string replacment 2015-10-21 13:44:59 +05:30
Arpit Jalan
897563a309 FIX: List-ID should not contain space 2015-10-21 00:00:06 +05:30
Neil Lalonde
50d2ba5f8e Version bump to v1.5.0.beta3 2015-10-19 17:34:31 -04:00
Arpit Jalan
59a011e6a9 FIX: min_trust_to_create_topic affects private messages 2015-10-17 15:30:18 +05:30
Sam
805120fc95 FEATURE: add connnection reaping based on maximum age
This feature ensures connections to the db are always attempted to be closed
after 600 seconds of idle time.
2015-10-17 11:29:16 +11:00
Régis Hanol
5bea933370 fix build 2015-10-16 23:39:01 +02:00
Robin Ward
f155ff8270 FIX: Tests would fail if your test db's optimized image ids were high 2015-10-16 17:08:41 -04:00
Sam
606aeb9d55 improvements to importer
- improve perf of test for existing posts
- always use a system guardian when importing posts
- for lithuim importer requery raw (transform is not repeatable)
2015-10-16 10:41:21 +11:00
Régis Hanol
37c5909a31 FIX: use the first image in the first post in the topic as opengraph image
FEATURE: new 'default_opengraph_image_url' setting
2015-10-15 11:00:47 +02:00
Régis Hanol
73e345fe8f FIX: unescape emojis in digests 2015-10-15 09:59:29 +02:00
Sam Saffron
8a0a87812b FIX: navigating back to latest was not respecting pinned topics 2015-10-14 13:03:55 +11:00
Sam
a56e3ccea0 FIX: explicitly tracked topics will show up even if category is muted 2015-10-13 17:54:31 +11:00
Sam
fab51496cb correct full screen login feature 2015-10-13 13:11:49 +11: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
e29fe77b45 FEATURE: make trust level for message sending configurable
- add min_trust_to_send_messages site setting (default 1) to allow admins
 to configure when messages can be sent between members
2015-10-12 11:15:48 +11:00
Arpit Jalan
fa0f731427 FIX: do not show image as category description 2015-10-08 19:36:16 +11:00
Neil Lalonde
95e90ee9aa Version bump to v1.5.0.beta2 2015-10-02 11:08:09 -04:00
Régis Hanol
54d6d24cbf FIX: timing issue with edits and cook post processing 2015-09-29 18:51:26 +02:00
Sam
42925b46b8 FEATURE: allow DONT_MINIFY flag in production for assets:precompile 2015-09-29 11:54:16 +10:00
Sam
1061a9ed06 PERF: introduce full cache for site json when anon 2015-09-28 16:50:24 +10:00
Sam
da41b11309 FIX: mget not implemented correctly 2015-09-28 16:50:24 +10:00
Sam
47597ae6b3 PERF: better caching in topic view 2015-09-28 16:50:24 +10:00
Robin Ward
46bef4fad0 FIX: Allow mods/admins to search whispers 2015-09-25 11:43:04 -04:00
Robin Ward
c4b1b848bc More extension points for login buttons, used by OAuth2 plugin 2015-09-25 11:29:40 -04:00
Robin Ward
64598ceaba FIX: Replies to whispers *must* be whispers 2015-09-25 11:29:40 -04:00
Sam
57870b970d correct hack and move to oneboxer 2015-09-25 20:14:53 +10:00
Sam
fc2d61136d FEATURE: add context for cross topic links 2015-09-25 14:52:43 +10:00
Sam
e5234b38b8 FEATURE: add title expansion for off topic quotes 2015-09-25 13:35:14 +10:00
Robin Ward
0b4cb5cf0d Add better error messages for rate limits. 2015-09-24 13:52:46 -04:00
Robin Ward
3620c8c85e Move descriptions for rate limiting errors into the exception 2015-09-24 13:52:46 -04:00
Sam
ffb8cb8cac FEATURE: remove dependency of Redcarpet
PERF: cache fancy_title in topics table

New pure ruby implementation is far more flexible and easier to amend.
2015-09-24 13:37:53 +10:00
Régis Hanol
bda6b48ac1 new posts:fix_letter_avatars rake task 2015-09-23 22:44:53 +02:00
Gerhard Schlager
454a628d58 Add tests for I18n.exists? freedom patch 2015-09-23 20:41:51 +02:00
Régis Hanol
b01743620a fix deprecation 2015-09-23 11:16:17 +02:00
Sam
613761d1cd FEATURE: upgrade to Rails 4.2.4 2015-09-23 15:24:30 +10:00
Sam
a61765b9e4 PERF: improve perf of initial payload
also reduce  querying in topic query
2015-09-23 13:13:50 +10:00
Neil Lalonde
266f3591ce Version bump to v1.5.0.beta1 2015-09-22 15:16:01 -04:00
Robin Ward
79beb9f409 FIX: You could set reply_to_post_number when replying as a new topic 2015-09-22 13:32:19 -04:00
Robin Ward
9f89aefdd3 FIX: Don't update the last poster when a whisper is made 2015-09-22 12:23:37 -04:00
Sam
18a8853181 FIX: don't crash out searching for parent in oneboxer 2015-09-22 12:42:13 +10:00
Sam
9cad925c67 FIX: correct error message on precompile fail 2015-09-22 11:28:31 +10:00
Régis Hanol
4f7140fb32 FIX: properly filter whispers in user stream 2015-09-22 00:50:52 +02:00
Neil Lalonde
2ae032c9b0 FIX: categories page would sometimes show no topics, even if there are some visible topics to show 2015-09-21 18:13:14 -04:00
Régis Hanol
fe656fb04d FIX: select appropriate period when redirecting to top 2015-09-21 20:28:20 +02:00
Régis Hanol
a726f5efea FIX: ensure we always remove old backups 2015-09-21 10:52:03 +02:00
Sam
61ceaef4e5 FIX: allow ordering for term-less queries 2015-09-21 07:59:52 +10:00
Gerhard Schlager
825be30844 FIX: I18n.exists? should use locale fallbacks 2015-09-19 23:33:11 +02:00
Gerhard Schlager
49dc470a28 Add spec to check locale files for duplicate keys 2015-09-19 00:14:26 +02:00
Robin Ward
c1a9e32b48 FIX: When recovering a post, it should recreate user actions 2015-09-18 12:48:43 -04:00
Sam
681334701d FIX: Stop aggregating likes 2015-09-18 17:50:15 +10:00
Jeff Atwood
a58b6c5ac0 Merge pull request #3785 from riking/410
FIX: Return 410 Gone for deleted topics you could otherwise see
2015-09-18 00:21:27 -07:00
Sam
664e2209e5 FIX: order latest was broken 2015-09-18 17:16:53 +10:00
Kane York
c9e4745fe8 FIX: Return 410 Gone for deleted topics you could otherwise see 2015-09-18 00:14:43 -07:00
Sam
c1ecd6f4ce update annotations 2015-09-18 10:41:10 +10:00
Sam
ec4a1bb2c4 FIX: page tracking was not properly tracking transitions
PERF: move closure to self contained method so env is released earlier.
2015-09-17 11:06:33 +10:00
Robin Ward
23646494eb FIX: Don't return alternative post types in search queries 2015-09-16 14:51:20 -04:00
Neil Lalonde
9b543f65fb Version bump to v1.4.0.beta12 2015-09-16 11:32:31 -04:00
Régis Hanol
5277ec1ac0 FIX: ensure we have a bucket before enabling backups to S3 2015-09-16 15:55:26 +02:00
Sam
a7b34cd16b rename to badge, better more consistent name 2015-09-16 08:51:28 +10:00
Sam
6496895096 FEATURE: search for all posts by a group 2015-09-15 17:39:14 +10:00
Sam
17d999ab12 FEATURE: search for all posts of users that have a badge
with_badge:"badge name" will allow you to search only
posts of users with a particular badge
2015-09-15 17:22:08 +10:00
Neil Lalonde
db1820f39c make it possible for plugins to add methods to classes that don't follow naming conventions 2015-09-14 16:10:54 -04:00
Robin Ward
5af0f5f80e FEATURE: Whisper posts 2015-09-11 14:05:21 -04:00
Kane York
460243d7a3 FIX: Give 403 for deleted topics, +lots of tests 2015-09-11 08:29:44 -07:00
Régis Hanol
93f9dcfcec FIX: don't overwrite custom uploaded avatar when selecting gravatar
FIX: remove unecessary serialized fields
2015-09-11 15:10:56 +02:00
Arpit Jalan
d73d4d4769 FIX: UserNameSuggester should not suggest usernames with a sequence of 2 or more special chars 2015-09-11 16:53:26 +05:30
Kane York
aca70805f1 FIX: Discourse.BaseUri should not default to / 2015-09-10 17:34:08 -07:00
Régis Hanol
e43034f08f Revert "FEATURE: SVG letter avatars (based on @eviltrout's spike)"
This reverts commit cd77465788.
2015-09-11 00:23:52 +02:00
Régis Hanol
cd77465788 FEATURE: SVG letter avatars (based on @eviltrout's spike) 2015-09-11 00:11:48 +02:00
Sam
90ad943dd3 PERF: skip optimizing large letter avatar makes image bigger 2015-09-10 11:54:31 +10:00
Neil Lalonde
5b8917e578 Version bump to v1.4.0.beta11 2015-09-09 11:47:53 -04:00
Régis Hanol
3ee5cea9e2 fix the build 2015-09-09 15:34:53 +02:00
Régis Hanol
31e8309f05 FIX: ensure we never have a string when an enum is Fixnum - Take 2 2015-09-09 14:34:44 +02:00
Régis Hanol
9a999bfe84 FIX: ensure we never have a string when an enum is Fixnum 2015-09-09 12:59:49 +02:00
Régis Hanol
d5a2029026 FIX: category permissions weren't properly loaded when /categories is the homepage
FIX: don't scope to a specific category when creating a new topic from /categories
2015-09-07 18:52:53 +02:00
Régis Hanol
a501947d67 FEATURE: suppress categories from the homepage 2015-09-02 20:25:18 +02:00
Robin Ward
da25abfcc9 Merge pull request #3714 from riking/live-settings
FEATURE: Live-update site settings
2015-09-01 12:03:30 -04:00
Robin Ward
b41b176bc6 Support for value_list in site settings 2015-09-01 11:54:16 -04:00
Kane York
d4c68f2096 FEATURE: Live-update site settings 2015-08-31 10:40:50 -07:00
kerryliu
c85835afc3 FIX: rescale image during cooked_post_processor when only img height or width is specified 2015-08-29 15:23:25 -07:00
Robin Ward
42e510753d Support for Acceptance tests in plugins 2015-08-27 17:07:11 -04:00
Régis Hanol
96c23d51a2 FIX: don't break the message bus when restoring a backup 2015-08-27 20:02:13 +02:00
Régis Hanol
4ba89eec27 FIX: removing a default category wasn't working 2015-08-26 22:40:16 +02:00
Sam
1c6250bff8 FIX: if an enum is Fixnum do not allow strings to live in it 2015-08-26 16:39:09 +10:00
Neil Lalonde
3faeeca5c8 FIX: plugins that use models in their initialize section might fail when bootstrapping a new database 2015-08-25 16:38:25 -04:00
Neil Lalonde
fd28d4c978 Version bump to v1.4.0.beta10 2015-08-25 15:06:01 -04:00
Régis Hanol
e7e96eb8af fix the run-qunit scripts with backward compatible syntax 2015-08-25 17:37:36 +02:00
Guo Xiang Tan
6a31a5d52b Extract logic for censored-words so that it can be reused. 2015-08-25 22:26:01 +08:00
Régis Hanol
294669c856 FIX qunit test runner for phantomjs 2.0 2015-08-25 10:42:19 +02:00
Sam
f85b59b6d4 FIX: you could not manually trigger jobs via sidekiq ui 2015-08-24 16:44:41 +10:00
Sam
88a5a676a7 lower error level on onebox failures 2015-08-24 10:43:07 +10:00
Régis Hanol
bef80633b1 FEATURE: global admin override of most of the user preferences 2015-08-21 20:39:21 +02:00
Robin Ward
2b72bd3592 FIX: Missed incrementing idx 2015-08-21 11:39:40 -04:00
Robin Ward
37f2d8c73c Adds more helpers for plugin authors
`add_class_method` can be used to add a class method that only
executes when the plugin is enabled.

`add_model_callback` can be used to attach a callback to an
ActiveRecord model such as `before_save` that will only execute
when the plugin is enabled.
2015-08-21 11:29:45 -04:00
Kane York
2363897a25 FEATURE: Arbitrary validations for site settings 2015-08-20 18:27:19 -07:00
Sam
851c04478a Merge pull request #3682 from riking/dark-theme-fix
Dark theme fix, part 5
2015-08-21 10:32:10 +10:00
Kane York
7147c0e8af DEV: Replace sqrt() implementation with lib
Copied the needed functions out of https://github.com/terkel/mathsass
MIT license
2015-08-20 13:10:54 -07:00
Robin Ward
d1c69189f3 FEATURE: Can edit category/host relationships for embedding 2015-08-20 15:56:04 -04:00
Robin Ward
320e4a83ac FIX: Don't cache translations in development mode 2015-08-20 12:05:15 -04:00
Robin Ward
00c9469fba FIX: Don't include admin in non-admin and vice versa 2015-08-19 15:12:15 -04:00
Robin Ward
abd9b26642 Convert Badges / User Badges to ES6. 2015-08-19 12:09:10 -04:00
Sam
5f5d055a86 only if \u0000 is included for the perf 2015-08-19 12:32:45 +10:00
Sam
431def1f52 need to dup strings, some may be frozen 2015-08-19 12:32:45 +10:00
Sam
714f841f0a FIX: null bytes in user input should not cause post creation to fail 2015-08-19 12:15:38 +10:00
Sam
b38a1309f7 FIX: add more quoting to avoid invalid terms 2015-08-19 09:27:47 +10:00
Sam
27b1ec2917 FIX: incorrect emoji stripping logic 2015-08-19 09:12:08 +10:00
Régis Hanol
1b44924cb0 replace 'open_uri_redirections' gem with a single freedom_patches file 2015-08-18 14:56:36 +02:00
Robin Ward
7eb32be4de Add support for plugins to declare ES6 in the admin bundle 2015-08-17 15:03:55 -04:00
Régis Hanol
a3e76dc193 FIX: allow HTTP <-> HTTPS redirections when downloading images 2015-08-17 19:21:30 +02:00
Neil Lalonde
7581a7d869 move notification about low disk space into its own method 2015-08-14 17:46:15 -04:00
Régis Hanol
23a5c6444a FIX: move topic links and quoted posts extraction to the PostRevisor 2015-08-14 19:33:32 +02:00
Sam
23b8a408f7 FIX: serialize post processing
This avoids all sorts of nasty race conditions in job schedular
2015-08-14 13:05:13 +10:00
Sam
ad2de1804e Correct bad where clause when no category/user found 2015-08-14 11:53:16 +10:00
Sam
1f044350f6 stop running exec_sql through active record
this avoids double logging
2015-08-14 10:01:38 +10:00
Robin Ward
9b7c4023e8 Run eslint instead of jshint, remove rbx 2015-08-13 15:22:33 -04:00
Robin Ward
a89241f0b9 Don't include code in files for jshint anymore, eslint is run on command
line
2015-08-13 15:19:27 -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
Robin Ward
22844b9e46 Ember 1.12 support 2015-08-13 11:14:16 -04:00
Robin Ward
e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Neil Lalonde
766903c430 Version bump to v1.4.0.beta9 2015-08-13 10:41:03 -04:00
Sam
94a130a4e4 FIX: widen distributed mutex to avoid race condition 2015-08-13 18:53:30 +10:00
Sam
ecac786f86 FIX: remove invalid chars from ts_query helper 2015-08-13 17:55:10 +10:00
Régis Hanol
6669a2d94d FEATURE: per-topic unsubscribe option in emails 2015-08-12 23:00:16 +02:00
Régis Hanol
3f71fa15c9 reduce log level when we can't reach an image while cooking a post 2015-08-12 16:10:42 +02:00
Régis Hanol
ac8e90674b FIX: be more lenient when creating a post with a username that is no longer valid 2015-08-12 15:54:51 +02:00
Sam
4a75da4fa9 Extensibility: allow validation of topics to be extended
Add before_create_topic and after_validate_topic extensibility points
2015-08-11 15:46:32 +10:00
Sam
139314c213 FIX: search for 1.5 etc was broken
FEATURE: search by exact phrase

Use PG tokenizer to split up search phrase instead of relying on Ruby code
This produces much more accurate tokenization
2015-08-10 17:41:14 +10:00
Régis Hanol
485d9a5a52 Log an error when we can't reach an image to get its dimensions 2015-08-07 19:31:15 +02:00
Sam
fd63d89753 FEATURE: simpler definition of enum types 2015-08-07 11:41:48 +10:00
Neil Lalonde
75ee523a83 Version bump to v1.4.0.beta8 2015-08-06 15:32:51 -04:00
Sam
11d39345b3 FIX: always allow tl1 through for typing speed tests 2015-08-06 10:07:18 +10:00
Régis Hanol
82d743a052 FIX: don't use emojis as topic image 2015-08-05 12:57:31 +02:00
Sam
ca393bcc53 FEATURE: optional regex to be applied against first posts
for spam prevention you can add a regex to auto_block_first_post_regex
this will be applied against all first posts, if it matches post will go
into the approval queue and user will be blocked
2015-08-05 13:08:21 +10:00
Sam
6fdd53e3d6 FEATURE: auto block fast typers
if tl0 enter text too fast they get automatically blocked, configurable
2015-08-04 12:56:37 +10:00
Sam
01ad88f1ed FEATURE: min_first_post_typing_time
If a user spends less than 3 seconds typing
first post they will automatically enter the approval queue
2015-08-04 10:57:34 +10:00
Sam
7b8b96446e FEATURE: track statistics around post creation
- how long were people typing?
- how long was composer open?
- how many drafts were created?
- correct, draft saved to go away after you continue typing

store in Post.find(xyz).post_stat
2015-08-03 14:29:15 +10:00
Régis Hanol
d7aa4e81d6 revert 8f435fcbf6 2015-07-31 15:22:30 +02:00
Neil Lalonde
3cfb1dedf3 Version bump to v1.4.0.beta7 2015-07-30 15:46:13 -04:00
Robin Ward
3c742918fe FIX: Transpile unicode to fix opera issue 2015-07-30 15:16:07 -04:00
Robin Ward
9911e92e24 Merge pull request #3609 from riking/patch-7
FEATURE: Localization fallbacks
2015-07-30 10:44:29 -04:00
Sam
5a0dc12733 correct regression 2015-07-30 17:02:28 +10:00
Sam
3ccae5ed32 FIX: CDN paths not respected for background category images 2015-07-30 10:25:36 +10:00
Kane York
13d56eb989 FEATURE: Add CommentMigration for db column comments
For documenting the database (will be used in discourse-data-explorer)
2015-07-28 13:14:07 -07:00
Robin Ward
bb93a345eb UX: Use smaller messages for moderator actions. 2015-07-27 10:09:21 -04:00
Régis Hanol
2473a00b26 FIX: improve smoke tests 2015-07-27 11:07:42 +02:00
Sam
2876725e1b REFACTOR: remove hacky search from discovery 2015-07-27 16:47:06 +10:00
Sam
41ceff8430 UX: move search to its own route
previously search was bundled with discovery, something that makes stuff confusing internally
2015-07-27 16:47:06 +10:00
Régis Hanol
d2b59bf7f2 Merge pull request #3628 from tgxworld/emoji_in_user_stream
FEATURE: Display emojis in user stream.
2015-07-25 15:53:54 +02:00
Sam
7a5a195dc0 FIX: properly support HTTPS CDN on HTTP site
Previously we changed all CDN links to schemaless.

This is desirable for non HTTPS sites, to ease migration to HTTPS.
It is not desirable for secure sites.

Once site is secure or CDN is secure a rebake should be required
to move it back to non-secure.
2015-07-24 14:08:32 +10:00
Robin Ward
33a5fce124 Importer for mbox format 2015-07-23 18:37:40 -04:00
Guo Xiang Tan
7c1e16da54 FEATURE: Display emojis in user stream. 2015-07-23 23:50:01 +08:00
Sam
940be8261a FIX: going to PM directly results in 500 error
regressed 1 day ago.
2015-07-23 09:57:42 +10:00
Sam
3a54923116 FIX: permalink normalization not applied at constraint
implement permalink import for lithium
2015-07-22 13:40:45 +10:00
Sam
90b85e5b23 FIX: missing category from title in non-js view 2015-07-22 10:26:58 +10:00
Kane York
d6129001b9 FIX: Provide proper source map URLs with a CDN 2015-07-21 11:52:54 -07:00
Régis Hanol
0f480ac629 Merge pull request #3602 from lukegb/patch-1
Fix LocalStore.remove_file to not raise if source doesn't exist
2015-07-20 14:39:55 +02:00
Neil Lalonde
a23a04a1e5 Version bump to v1.4.0.beta6 2015-07-17 21:31:16 -04:00
Neil Lalonde
5e38512b1b Version bump to v1.4.0.beta5 2015-07-17 11:23:12 -04:00
Sam
5db345705b allow views to be specified in import mode 2015-07-16 16:11:20 +10:00
Sam
3a60d96573 Merge pull request #3611 from riking/change-owner
FIX: Allow to change ownership on deleted users' posts
2015-07-16 08:41:28 +10:00
Kane York
61ea8c6f72 FIX: Allow to change ownership on deleted users' posts 2015-07-15 15:29:35 -07:00
Régis Hanol
c17f8d1769 keep pretty_text in sync with client code 2015-07-16 00:01:00 +02:00
Kane York
e3b778a23a fixup: support merging N languages (js) 2015-07-15 14:30:16 -07:00
Kane York
15905be788 Disable in development (js) 2015-07-15 14:25:24 -07:00
Kane York
cb395662d0 Add JsLocaleHelper tests for i18n fallback 2015-07-15 14:23:41 -07:00
Kane York
ecfa17b5a7 FEATURE: Localization fallbacks (server-side)
The FallbackLocaleList object tells I18n::Backend::Fallbacks what order the
languages should be attempted in. Because of the translate_accelerator patch,
the SiteSetting.default_locale is *not* guaranteed to be fully loaded after the
server starts, so a call to ensure_loaded! is added after the locale is set for
the current user.

The declarations of config.i18n.fallbacks = true in the environment files were
actually garbage, because the I18n.default_locale was
SiteSetting.default_locale, so there was nothing to fall back to. *derp*
2015-07-15 10:17:36 -07:00
Kane York
728845d008 FEATURE: Localization fallbacks (client)
This patch sets I18n.defaultLocale in the Discourse.start() script block (it
was formerly always 'en') to SiteSetting.default_locale, and patches
translate() to perform fallback to defaultLocale followed by english.
Additionally, when enable_verbose_localization() is called, no fallbacks will
be performed.

It also memoizes the file loading operations in JsLocaleHelper and strips out
translations from the fallbacks that are also present in a prefered language,
to minimize file size.
2015-07-15 10:17:28 -07:00
Régis Hanol
b0802abae2 FIX: crop & optimize user background profile/card images 2015-07-15 17:15:43 +02:00
Robin Ward
8a9fa3e5bf FIX: Error reloading dev due to conditional require 2015-07-14 14:52:35 -04:00
Robin Ward
32a1610b5d FIX: Search had wrong preload store key 2015-07-14 11:58:42 -04:00
Arpit Jalan
e9a81064e7 Revert "FIX: fixnum type site setting can't be more than 20000"
This reverts commit 636cc66e1f.
2015-07-13 22:53:44 +05:30
Arpit Jalan
636cc66e1f FIX: fixnum type site setting can't be more than 20000 2015-07-13 18:58:45 +05:30
Luke GB
acc05dd3a5 Fix LocalStore.remove_file to not raise if source doesn't exist
FileUtils.move actually ends up raising an "unknown file type" error if the file doesn't exist instead of Errno::ENOENT.

It's possible to rescue this, but in the end it's easier to just ask move not to throw an error, since we're going to throw it away anyway.
2015-07-12 14:14:12 +01:00
Sam
4a5a2d869e FEATURE: search by user id or category id
FIX: more search results work if you open in new tab
FIX: carry context to full page search
2015-07-10 16:31:28 +10:00
Robin Ward
4706b77940 Backwards compatibility with deprecation for Discourse.PostMenuView 2015-07-07 15:18:19 -04:00
Neil Lalonde
86cd1a19cc FEATURE: page view stats for mobile view 2015-07-03 17:19:33 -04:00
Kane York
af042ffe5e FEATURE: Per-plugin settings buttons, "Enabled" column
Also, added enabled_site_setting to the Poll plugin so it shows up properly.
2015-07-02 10:59:06 -07:00
Neil Lalonde
18613a8378 Version bump to v1.4.0.beta4 2015-07-01 17:12:12 -04:00
Guo Xiang Tan
efff3351bf Update Disqus importer. 2015-07-01 21:51:19 +08:00
Robin Ward
7dbc2590a5 Support for auth plugins to freeze the username 2015-06-26 15:55:33 -04:00
Robin Ward
b52e5d1536 FIX: default_avatars wasn't being used for some server side templates 2015-06-26 13:38:09 -04:00
Robin Ward
008dd96721 FIX: Embedding posts was broken 2015-06-26 11:45:56 -04:00
Sam
1408563a7f HACK: allow for multiple hits on same topic for search 2015-06-26 17:47:20 +10:00
Sam
9a23a0bbbd FEATURE: topic:TOPIC_ID to search within topic 2015-06-26 17:47:20 +10:00
Sam
5373413102 skip runner params changed 2015-06-26 14:02:17 +10:00
Sam
d6d9a7fa09 FEATURE: per host regular jobs
These are jobs that will run on every host that is running discourse.

If you have multiple hosts running the same site you get independent
schedules
2015-06-26 13:37:05 +10:00
Robin Ward
fc090b4568 FIX: With many stickies some latest posts got missed 2015-06-25 16:26:09 -04:00
Sam
8252f4e110 FEATURE: allow use of redis sentinel via redis_sentinels
Use: DISCOURSE_REDIS_SENTINELS and DISCOURSE_REDIS_HOST to configure redis
sentinel
2015-06-25 16:51:48 +10:00
Robin Ward
6422d5efbd Use the same component for similar topics as search results. 2015-06-24 15:08:22 -04:00
Robin Ward
b4960d48b4 Better support for passing up errors when OmniAuth fails after auth 2015-06-24 12:12:43 -04:00
Sam
853553f329 FIX: in:bookmarks searching deleted bookmarks 2015-06-23 13:58:23 +10:00
Sam
63351d5629 FEATURE: in:first for searching first post 2015-06-23 13:39:40 +10:00
Sam
e85df6b876 FEATURE: min_age and max_age search operators 2015-06-23 13:21:50 +10:00
Sam
13f1f90c67 REFACTOR: search improved so filters are extensible
- added posts_count filter
- fixed it so you can search with a filter only
2015-06-23 12:14:06 +10:00
Sam
41e427bd2e Work in progress, full page search 2015-06-22 18:09:08 +10:00
Sam
374f951c65 fix live css changes on mobile 2015-06-22 14:35:11 +10:00
Neil Lalonde
56ec41cd83 Version bump to v1.4.0.beta3 2015-06-19 11:37:12 -04:00
Sam
1343d40558 PERF: deleting a post in huge topics was timing out
- add missing index to user actions for fast retrieval by post
- add missing indexes to users for fast retrieval of staff
- only refresh topic_users liked/bookmarked cache for affected users
2015-06-18 09:58:49 +10:00
Sam
0e4883a8ae correct regression where monitoring thread crashed out
add logging
2015-06-16 11:16:33 +10:00
Sam
1f9761e85d FEATURE: add a header to denote an anonymous req was cached
(X-Discourse-Cached)
2015-06-16 10:30:06 +10:00
Robin Ward
fb8ba5e137 FIX: PG::UniqueViolation when trying to use the same embed code
Previously providing an embed code already in use would result in
a logged server error. After this commit the error is gracefully
bubbled up from the `PostCreator`
2015-06-15 12:09:59 -04:00
Sam
861cd5d9b0 FIX: ensure child demon is correctly terminated from parent on stop 2015-06-15 12:36:47 +10:00
Sam
69ad0358c2 FIX: incorrect logic in email blocker
if mail.com was blocked, email.com was automatically blocked
2015-06-15 11:28:50 +10: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
Neil Lalonde
74e825fff2 Version bump to v1.4.0.beta2 2015-06-11 16:07:02 -04:00
Chris Jester-Young
15cfb73aef Fix module name for RestoreDisabledError and FilenameMissingError. 2015-06-11 02:42:01 -04:00
Neil Lalonde
611b5f996e FIX: unpinned topics shouldn't remain pinned on categories page 2015-06-10 14:36:55 -04:00
Régis Hanol
6c7e737294 FIX: truncate topic image_url 2015-06-10 18:53:14 +02:00
Régis Hanol
c1cf602de2 FIX: uploads:backfill_shas rake task 2015-06-10 17:19:58 +02:00
Sam Saffron
b7a0a295c0 FIX: s3 cdn would break cooking if <img> tag had no src 2015-06-10 19:28:21 +10:00
Sam Saffron
49ca248186 FEATURE: allow distributed cache to handle Set as value 2015-06-10 06:13:36 +10:00
Robin Ward
7b6d6b76eb FEATURE: Multiple embeddable hosts
- Also refactors two site settings components into one, with tests
2015-06-09 13:25:43 -04:00
Robin Ward
2da229cdaa Merge pull request #3528 from techAPJ/patch-3
FIX: staff should be immune to max_invites_per_day setting
2015-06-05 12:57:28 -04:00
Régis Hanol
6000a37ff1 new 'uploads:migrate_to_new_pattern' task 2015-06-05 18:37:34 +02:00
Robin Ward
c6cd1928be Simple "cook" for email imports from mailing lists 2015-06-05 11:46:36 -04:00
Arpit Jalan
4d593d1c18 FIX: staff should be immune to max_invites_per_day setting 2015-06-05 10:22:41 +05:30
Neil Lalonde
f1637fc11e FEATURE: plugins can register a custom admin quick start topic that will be seeded into new sites 2015-06-04 15:56:17 -04:00
Robin Ward
fb7baeb7a2 Never enqueue posts from staff 2015-06-04 11:35:55 -04:00
Neil Lalonde
1151b01caf Version bump to v1.4.0.beta1 2015-06-03 16:56:55 -04:00
Régis Hanol
74b121beeb Merge pull request #3518 from techAPJ/patch-3
FIX: do not block registration for whitelisted IP address
2015-06-03 12:37:50 +02:00
Régis Hanol
4dfb1de77e FIX: letter avatars command line 2015-06-02 19:11:37 +02:00
Régis Hanol
1067cde0d0 FEATURE: new letter avatars algorithm 2015-06-02 16:33:18 +02:00
Arpit Jalan
79f5eff68b FIX: do not block registration for whitelisted IP address 2015-06-02 15:06:45 +05:30
Arpit Jalan
b7ac8448c6 Improve IP blocking error message 2015-06-02 07:48:26 +05:30
Neil Lalonde
5735f3b861 Version bump to v1.3.0.beta11 2015-06-01 17:02:26 -04:00
Neil Lalonde
b5e4fca539 Revert "Version bump to v1.4.0.beta1" 2015-06-01 16:50:13 -04:00
Neil Lalonde
255402350f Version bump to v1.4.0.beta1 2015-06-01 15:38:25 -04:00
Régis Hanol
81a699e2b0 better support for mixed content 2015-06-01 17:49:58 +02:00
Neil Lalonde
67cc96f20d use common passwords 8 chars or longer 2015-06-01 11:16:06 -04:00
Régis Hanol
56f077db69 FIX: optimized images fail if source is remote and S3 is disabled 2015-06-01 11:13:56 +02:00
Arpit Jalan
6bf680882c Better error message when new registration limit from an IP address is reached 2015-06-01 10:16:25 +05:30
Neil Lalonde
3a67c02c7a FIX: change topic creator wasn't removing the topic from the previous creator's activity stream 2015-05-29 17:39:36 -04:00
Régis Hanol
477f352e8f FIX: remove latest empty revision 2015-05-29 20:08:39 +02:00
Régis Hanol
5a143c0c6e storage engines refactor 2015-05-29 18:39:47 +02:00
Régis Hanol
c3227b69fa FIX: proper support for pixel ratios up to 3 2015-05-29 09:57:54 +02:00
Sam
2c3062548b FEATURE: upgrade image compression gem 2015-05-29 12:39:55 +10:00
Sam
f3a5a6f8dc fix sourceURL so it works on ie11 and latest chrome 2015-05-28 14:43:12 +10:00
Régis Hanol
8e7bfd0f29 FIX: automatically growing uploads tree 2015-05-28 01:03:24 +02:00
Neil Lalonde
ea8cf1a208 FIX: topic auto-close uses the client's time zone 2015-05-27 18:01:46 -04:00
Régis Hanol
83d2b59fc3 FIX: s3 endpoint when using 'us-east-1' region 2015-05-27 17:50:49 +02:00
Sam
93ab03966e FIX: no-follow not handled correctly for sub domains
if a.com was whitelisted aa.com would pass through
2015-05-27 14:31:01 +10:00
Sam
693b5234da FIX: nil emails are invalid 2015-05-27 14:12:10 +10:00
Sam
a988cd5abe FIX: redirect to CDN avatar for s3 avatars 2015-05-27 12:02:57 +10:00
Neil Lalonde
6801cc957f Version bump to v1.3.0.beta10 2015-05-26 11:45:20 -04:00
Régis Hanol
a5d93c6705 FIX: undefined method 'max_file_size_kb' 2015-05-26 16:39:41 +02:00
Régis Hanol
85d4d3223c FIX: crop avatars on the server instead of the client
FIX: support for dots in S3 bucket names
2015-05-26 15:54:25 +02:00
Régis Hanol
a797f7c664 FIX: properly handle images when using 's3_cdn_url' 2015-05-26 11:47:33 +02:00
Sam
147ea002f7 FIX: allow handling for avatars that are not in the set of "resized sizes" 2015-05-26 15:41:50 +10:00
Sam
e17f614771 FIX: fallback to local store when uploads are not on S3 2015-05-26 13:08:31 +10:00
Sam
90eaad336d FEATURE: allow users to pick a CDN for s3 assets 2015-05-26 11:13:12 +10: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
f079dd63ed PERF: remove "fog" dependency 2015-05-25 17:57:06 +10:00
Sam
bcaed90744 fix missing rtl stylesheets 2015-05-23 15:25:05 +10:00
Robin Ward
ab50d039bb Importer for nabble 2015-05-22 15:41:26 -04:00
Sam
535e8cac5d don't force caching when compiling 2015-05-22 11:22:12 +10:00
Sam
96dbeb8608 fix stylesheet cache to recover if file is on disk 2015-05-22 11:22:12 +10:00
Sam
17d843a0ad FIX: upgrade resilient distributed cache
only load messages in distributed cache if discourse version matches
2015-05-22 11:22:12 +10:00
Sam
df5be88a77 fallback to hardcoded version if installed and not using git 2015-05-22 11:22:12 +10:00
Sam
0681d8f150 qunit is opt in now 2015-05-22 11:22:12 +10:00
Paul Kaplan
1c926d22c6 Correctly parse require_activation field of SSO 2015-05-21 16:50:54 -05:00
Sam
89ac825641 add a force to ensure we properly cache stylesheets 2015-05-21 18:06:33 +10:00
Régis Hanol
bcd98c8f0f FIX: API can provide a URL to create an upload 2015-05-20 17:38:06 +02:00
Sam
45bdd23689 FEATURE: support user local switching to RTL correctly
FEATURE: support RTL in multisite
2015-05-20 15:56:54 +10:00
Sam
8013b6a511 FIX: clean html before sending it to jquery for collapsing 2015-05-20 14:42:54 +10:00
Sam
d1d703718a Merge pull request #3476 from paulkaplan/sso-distrust-email
Add SSO setting to not trust emails automatically
2015-05-20 12:07:14 +10:00
Robin Ward
4ab9ef3497 FIX: Allow long words if they contain periods 2015-05-19 13:10:25 -04:00
Paul Kaplan
1c34341f31 Replace site setting with a payload attribute 2015-05-19 11:16:02 -05:00
Régis Hanol
f0b35b2fe2 FIX: file helper to download file using chunks of 512KB 2015-05-19 12:39:46 +02:00
Régis Hanol
5e527178b9 FEATURE: new 'uploads:migrate_to_new_pattern' rake task 2015-05-19 12:31:51 +02:00
Régis Hanol
9ded21e4c6 FIX: consistent and future-proof upload storage pattern 2015-05-19 12:31:12 +02:00
Régis Hanol
01ebe9ce69 FIX: sourceMappingURL in IE10 2015-05-19 10:33:57 +02:00
Sam
dd91d5b02f FEATURE: disable invites by setting max_invites_per_day to 0 2015-05-19 16:51:21 +10:00
Erick Guan
3be1098cc5 FIX: also inline category badge styles to digest email 2015-05-18 00:45:26 +08:00
Antonin Hildebrand
11852056a8 Add missing events for discourse-hipchat-plugin
https://github.com/binaryage/discourse-hipchat-plugin
2015-05-15 15:52:12 +08:00
Sam
fdbcc31a9c Merge pull request #3461 from fantasticfears/slug
FIX: category custom slug can't be set when generation method is none
2015-05-15 14:59:35 +10:00
Sam
36ee85f3bc Merge pull request #3462 from fantasticfears/category-badge
FIX: ensure not found page's category badge consistent with style
2015-05-15 14:58:15 +10:00
riking
428ff097f1 Add some documentation to fast_pluck.rb 2015-05-14 21:15:33 -07:00
Sam
b0306fd613 DEV: make autospec compatible with rspec 3 2015-05-14 11:24:48 +10:00
Robin Ward
5fdbc6c4b2 FIX: Replies to PMs should never been enqueued 2015-05-13 12:08:53 -04:00
Arpit Jalan
220b9c5abe FIX: match subdomain with email domain blacklist 2015-05-13 21:02:02 +05:30
Erick Guan
54ce66fc62 FIX: ensure not found category badge consistent with style 2015-05-13 19:30:19 +08:00
Erick Guan
4c00eef8b5 FIX: category custom slug can't be set when generation method is none 2015-05-13 16:54:19 +08:00
Sam
51d82fc25d PERF: Active Record #pluck is twice faster
PERF: SqlBuilder bypasses AR converters and uses PG directly
2015-05-13 16:46:17 +10:00
Neil Lalonde
8b77f57acb Version bump to v1.3.0.beta9 2015-05-12 17:51:56 -04:00
Neil Lalonde
7f9504abb2 PERF: sites in multisite config can share css files if they are not using a color scheme or category backgrounds 2015-05-12 16:12:49 -04:00