Commit Graph

500 Commits

Author SHA1 Message Date
Vinoth Kannan f495fca7e8
FIX: `user_option` option can be `nil` for new users. 2020-08-20 22:50:58 +05:30
Discourse Translator Bot d0faee3bd8 Update translations 2020-08-18 13:02:44 +00:00
Vinoth Kannan 562180dd9a
FEATURE: add option to skip new user tips in first notification. (#10462) 2020-08-18 13:43:40 +05:30
Discourse Translator Bot 1a78a429b5 Update translations 2020-08-11 13:04:00 +00:00
Discourse Translator Bot a68533b394 Update translations 2020-08-05 13:55:12 +00:00
Blake Erickson 18dad4cfbd FIX: discobot inappropriate flag section
Ensure that the inappropriate flag is used and not some other flag
type. If some other flag is used a message will be posted letting the
user know they used the wrong flag and the original flag will be removed
so that they can try again.

Bug reported on meta: https://meta.discourse.org/t/-/157075
2020-08-03 19:48:45 -06:00
Guo Xiang Tan 75ad071899
FEATURE: Add hidden site settings for discobot to skip certain tutorials
Hidden for now because I'm undecided on whether this should be an
exposed interface.
2020-07-14 15:17:50 +08:00
Guo Xiang Tan cb68493e89
DEV: Prefer `fab!` for discobot specs. 2020-07-14 15:17:50 +08:00
Guo Xiang Tan 753477e684
FIX: Slightly reduce fake delay of discobot user.
Previously it would sleep for either 2 or 3 seconds instead of sleeping
between a range of 2 to 3 seconds. Also, 2 to 3 seconds seems to be
excessivly long when I tried out discobot again.
2020-07-13 09:08:31 +08:00
Régis Hanol 44aaf4415d DEV: ensure discobot has a user_option & user_profile
When doing a migration, there might be some cases where the discobot user
doesn't have a user_option / user_profile record(s).

This ensures we always create one during the seed phase.
2020-07-07 18:24:31 +02:00
Régis Hanol d234e0f922 SPEC: add spec to ensure discobot works in French
PERF: memoize cooked triggers

Follow-up to 3c31884b
2020-06-26 12:48:11 +02:00
Régis Hanol 3c31884b79 FIX: match discobot triggers on cooked version
In French, the help trigger has a raw content of "afficher l'aider" which is then cooked into "afficher l’aide" (note the different quote character).
Since we were checking the raw content of the trigger against the cooked version of the post, this trigger never worked in French.

This changes so that we cook the trigger before checking in against the cooked version of the post.

DEV: new 'discobot_username' method that is used everywhere instead of 'discobot_user.username' / 'discobot_user.username_lower'
2020-06-25 13:29:55 +02:00
Neil Lalonde 713298c622
FIX: advanced tutorial errors when all categories are secured (#10111)
The category hashtag step will fail with an error when all
categories aren't public. Choose a category that the user can see.
2020-06-24 15:45:50 +10:00
Guo Xiang Tan 3370ef188e
FEATURE: Remove deprecated uploads url site settings.
The site settings have been replaced with direct image upload since
Discourse 2.3.
2020-06-22 14:32:29 +08:00
Gerhard Schlager 390dc5c7a9 Update translations 2020-06-21 11:58:21 +02:00
Gerhard Schlager 36a3675e0a Update translations 2020-06-14 23:39:33 +02:00
Neil Lalonde 65dd8e2fa2
Update translations 2020-06-10 12:01:02 -04:00
Arpit Jalan 3094459cd9
FEATURE: multiple use invite links (#9813) 2020-06-09 20:49:32 +05:30
Neil Lalonde 72c09ab4ae
Update translations 2020-06-01 13:58:51 -04:00
Neil Lalonde 3d20a1143b
Update translations 2020-05-26 10:06:07 -04:00
Michael Brown d9a02d1336
Revert "Revert "Merge branch 'master' of https://github.com/discourse/discourse""
This reverts commit 20780a1eee.

* SECURITY: re-adds accidentally reverted commit:
  03d26cd6: ensure embed_url contains valid http(s) uri
* when the merge commit e62a85cf was reverted, git chose the 2660c2e2 parent to land on
  instead of the 03d26cd6 parent (which contains security fixes)
2020-05-23 00:56:13 -04:00
Jeff Atwood 20780a1eee Revert "Merge branch 'master' of https://github.com/discourse/discourse"
This reverts commit e62a85cf6f, reversing
changes made to 2660c2e21d.
2020-05-22 20:25:56 -07:00
Ankur Dahiya 37128d71c7
Add rails_helper to spec (#9861) 2020-05-22 12:27:52 -04:00
Guo Xiang Tan 3aecc1990b
DEV: Review follow up to 234cd5c3e7. 2020-05-20 16:17:59 +08:00
Guo Xiang Tan 37983a7815
Fix lint. 2020-05-20 10:33:34 +08:00
Guo Xiang Tan b7387d4611
DEV: Remove code unused code when seeding narrative bot. 2020-05-20 10:22:51 +08:00
Guo Xiang Tan 234cd5c3e7
FIX: Switch discobot to pull avatar from gravatar. 2020-05-20 10:20:08 +08:00
Guo Xiang Tan 96c02caba7
DEV: Change use of Redis `flushall` to `flushdb`.
FLUSHALL removes all keys from all databases. Instead we only want to
remove keys from the current Redis database.
2020-05-19 10:20:00 +08:00
Guo Xiang Tan 4a74f18e95
PERF: Move fetching of avatar into hijack for discobot certificate 2020-05-11 09:35:06 +08:00
Robin Ward f5bdbd347e Revert "FIX: Discobot has not been created with our custom avatar."
This reverts commit 1062dbc3e9.

Looks like it's causing some errors on migration.

```
/var/www/discourse/lib/image_sizer.rb:6:in `resize'
/var/www/discourse/lib/upload_creator.rb:120:in `block in create_for'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/upload_creator.rb:37:in `create_for'
```
2020-05-06 11:28:42 -04:00
Guo Xiang Tan 1062dbc3e9 FIX: Discobot has not been created with our custom avatar.
Previously the image was imported from a Discourse hosted CDN but the
URL has since become invalid. However, it was not caught since all
errors are rescued. This commit fixes the issue by shipping the user
avatar with the plugin.
2020-05-06 09:25:01 +08:00
Krzysztof Kotlarek 9bff0882c3
FEATURE: Nokogumbo (#9577)
* FEATURE: Nokogumbo

Use Nokogumbo HTML parser.
2020-05-05 13:46:57 +10:00
Neil Lalonde 3cce608379
Update translations 2020-05-04 10:39:01 -04:00
Martin Brennan ca539fdccf
FIX: Rename all instances of bookmarkWithReminder to just bookmark (#9579)
* Rename all instances of bookmarkWithReminder and bookmark_with_reminder to just bookmark
* Delete old bookmark code at the same time
* Add migration to remove the bookmarkWithReminder post menu item if people have it set in site settings
2020-04-30 10:09:22 +10:00
Joshua Rosenfeld bc1f7bd659
UX: Improve discobot random menion copy
As suggested in https://meta.discourse.org/t/-/148336/10
2020-04-29 13:09:16 -04:00
Martin Brennan 6cf31f16f7
FIX: Change bookmarks-with-reminders URL back to bookmarks for user activity (#9566)
* Bookmarks with reminders is a core feature now, no need to have a separate URL
* Keep around the old /u/:username/activity/bookmarks-with-reminders route for backwards compat in Ember but just redirect to user activity bookmarks.
2020-04-29 10:53:37 +10:00
Gerhard Schlager 30cb5f7d86 Update translations 2020-04-24 15:16:29 +02:00
Martin Brennan 6df22638e1 FIX: Make sure new user narrative returns toggleBookmark promise
* the call to this.super() was not returned so there is no promise
  to chain .then() with, causing errors for bookmarks with reminders
2020-04-24 13:13:30 +10:00
Martin Brennan 628ba9d1e2
FEATURE: Promote bookmarks with reminders to core functionality (#9369)
The main thrust of this PR is to take all the conditional checks based on the `enable_bookmarks_with_reminders` away and only keep the code from the `true` path, making bookmarks with reminders the core bookmarks feature. There is also a migration to create `Bookmark` records out of `PostAction` bookmarks for a site.

### Summary

* Remove logic based on whether enable_bookmarks_with_reminders is true. This site setting is now obsolete, the old bookmark functionality is being removed. Retain the setting and set the value to `true` in a migration.
* Use the code from the rake task to create a database migration that creates bookmarks from post actions.
* Change the bookmark report to read from the new table.
* Get rid of old endpoints for bookmarks
* Link to the new bookmarks list from the user summary page
2020-04-22 13:44:19 +10:00
Martin Brennan 5a98869c5d
FIX: If bookmarking discobot posts, skip the reminder modal (#9505)
This is to streamline the new user narrative. only works when creating the bookmark, if editing/deleting the modal is shown. This is done via the plugin initializer.
2020-04-22 13:34:58 +10:00
Dax74 ffa0a18841
Update bookmark step
See https://dev.discourse.org/t/discobot-tutorial-for-bookmarks/27466 for details
2020-04-21 19:35:03 +02:00
Gerhard Schlager 82f9dcf301 Update translations 2020-04-20 11:37:59 +02:00
Blake Erickson 80a80ef2bd DEV: Use method instead of constant for discobot badge names
This change refactors the code a bit so that a plugin could easily
replace which badge is awarded when completing the discobot new user
tutorial and advanced tutorial.

By adding a static method and putting the BADGE_NAME constant inside of
that method we can simply call that method now instead of the constant.
A plugin could then `class_eval` that method and replace it with
whatever badge name they choose. This is way cleaner than having the
plugin change the frozen constant! eeek.
2020-04-09 20:46:51 -06:00
Martin Brennan 0cb40fe9ed
FIX: Narrative bot not working for bookmarks with reminders (#9289)
Reported https://meta.discourse.org/t/improved-bookmarks-with-reminders/144542/42?u=mjrbrennan

* There was no callback on the bookmark model to trigger the next step of the narrative bot on bookmark.
* Also the translation URL path was hardcoded, needs to be conditional based on whether the site setting is enabled.
2020-03-27 12:17:18 +10:00
Dan Ungureanu 0754c7c404
FIX: Various fixes to support posts with no user (#8877)
* Do not grant badges for posts with no user
* Ensure instructions are correct in Change Owner modal
* Hide user-dependent actions from posts with no user
* Make PostRevisor work with posts with no user
* Ensure posts with no user can be deleted
* discourse-narrative-bot should ignore posts with no user
* Skip TopicLink creation for posts with no user
2020-03-11 14:03:20 +02:00
Neil Lalonde 4b70719a48
Update translations 2020-03-05 12:45:42 -05:00
Dan Ungureanu c62d5b139b
FIX: Allow users to create polls in PMs with non human users (#9055) 2020-03-02 14:29:40 -05:00
Dan Ungureanu d461772661
FIX: Skip poll tutorial if user cannot create polls (#9058) 2020-02-27 16:01:59 +02:00
Neil Lalonde b0675075f7 Update translations 2020-02-25 10:29:14 -05:00
Joffrey JAFFEUX 0ea11a9d49
FIX: ensures we don't attempt to create a new PM on an existing topic (#9029)
This fix attempts to both fix it at UI level and server side. A previous attempt related to this behavior has been made in commit: 49c750ca78
2020-02-24 08:55:12 -06:00
Neil Lalonde 637535fc6b Update translations 2020-02-13 15:00:16 -05:00
Neil Lalonde 2dd1ff79b4 Update translations 2020-01-20 11:00:44 -05:00
Arpit Jalan 91f8ada8e0 FIX: add missing translation key for narrative bot Italian locale. 2020-01-16 13:23:16 +05:30
Arpit Jalan 57081acc08 FIX: trigger commands are different for each locale, account for that. 2020-01-01 16:53:36 +05:30
Neil Lalonde 91b290c784 Update translations 2019-12-19 12:31:52 -05:00
romanrizzi 5431ae0a17 FIX: Don't raise an error if the user is not present 2019-12-11 11:03:31 -03:00
Neil Lalonde 50b98a47ac Update translations 2019-12-05 11:20:52 -05:00
Joffrey JAFFEUX 0d3d2c43a0
DEV: s/\$redis/Discourse\.redis (#8431)
This commit also adds a rubocop rule to prevent global variables.
2019-12-03 10:05:53 +01:00
Régis Hanol 455147cabe DEV: use DB.after_commit instead of delaying the job 2019-11-29 22:48:39 +01:00
Régis Hanol 5ae570a088 remove unnecessary symlink 2019-11-29 22:23:43 +01:00
Régis Hanol 3807484757 FIX: delay the 'send_advanced_tutorial_message' job to prevent race conditions
When a user accepts an invite with an email address that matches a group
which automatically awards its members Trust Level 2, a race condition might happen
when the 'send_advanced_tutorial_message' job runs.

That job is enqueued inside the 'user_promoted' event which is triggered inside a
transaction on the user record. If the job runs before the transaction is done,
the user record is invisible and this generates an exception.
2019-11-29 22:14:41 +01:00
David Taylor 22e713d2b0 FIX: Add skip_validations in one more place for narrative bot plugin
Followup to bbb814e58e
2019-11-20 15:43:42 +00:00
David Taylor bbb814e58e FIX: Allow advanced tutorial when title emojis are disabled
We already skip validations for other uses of PostCreator in the narrative bot, so this commit adds it in the `reply_to` action as well
2019-11-20 15:29:06 +00:00
romanrizzi f87d38fc7c Use correct variable name 2019-11-14 17:46:20 -03:00
Blake Erickson 73e33ce243 DEV: send url string to FileHelper and refactor another open-uri call
FileHelper.download requires a string not a URI. I also found another
instance of using open-uri directly and swapped it out to use
FileHelper.

I also updated it to not `read` a file if it comes back nil.

Follow up to: fe01099a38
2019-11-14 08:25:30 -07:00
Gerhard Schlager f72730703a Update translations 2019-11-14 15:41:42 +01:00
Blake Erickson fe01099a38 DEV: Be sure to read the file into string before base64
Follow up to: 08b4753843

If you don't use `read` base64 will error out with: "no implicit
conversion of Tempfile into String"
2019-11-14 05:55:36 -07:00
Blake Erickson 08b4753843 DEV: Use FileHelper instead for downloading narrative bot avatar
Follow up to

b69450bee2

Using FileHelper here allows us to not have to use another require for
open-uri and gives us all the benefits of FileHelper.
2019-11-14 05:23:51 -07:00
Blake Erickson b69450bee2 FIX: need to require open-uri for discourse-narrative-bot plugin
By requiring open-uri this will fix the following error:

```
NoMethodError (private method `open' called for #<URI::Generic...
```

also switched to the shorter syntax and removed default options. Since
ruby 2.4 redirect is on by default.
2019-11-13 18:11:50 -07:00
Roman Rizzi c63e84dc62
FEATURE: Send a message to new TL2 users and point them to the advanced tutorial (#8335)
* FEATURE: Send a message to new TL2 users and point them to the advanced tutorial

* DEV: Use a method to find the discobot user
2019-11-13 18:31:49 -03:00
Gerhard Schlager 94a34af702 Update translations 2019-11-05 16:52:48 +01:00
Robin Ward 7744b636e9 FIX: Handle nil case for avatar, just in case 2019-10-24 14:02:51 -04:00
Robin Ward 8b4e71cb21 FIX: Allow avatar downloads to follow redirects 2019-10-24 14:01:54 -04:00
Robin Ward 2c0efac25e FIX: Broken certificates 2019-10-24 12:39:58 -04:00
Roman Rizzi 835d2be4da
FIX: Rate limit and hijack certificate generation. (#8215)
To eliminate a DDOS attack vector, we're taking the following measures:

The endpoint will be rate-limited to 3 requests every 60 seconds (per user).
A 24 hours max-age cache header is sent with the response.
The route will be hijacked to generate the certificate in the background.
2019-10-21 13:14:15 -03:00
Robin Ward 74207ef03a Refactor `search_answer` to be dynamically inserted so it can be changed 2019-10-16 14:37:17 -04:00
Robin Ward a37dafdd4d FIX: Use the quote generator in the example text
This way if a plugin customizes the quotes the example will match.
2019-10-16 13:40:44 -04:00
Krzysztof Kotlarek e2f9b7dd6f FIX: Narrative Bot certificates are ERB templates (#8174)
There are at least two ways of rendering templates outside of the controller. The first one is Rails way enabled with Rails 5 https://evilmartians.com/chronicles/new-feature-in-rails-5-render-views-outside-of-actions
The downside of this method is that all variables need to be passed as params (I could find a way to pass the whole context)

Another way is to use instance_eval described in Erubi documentation
https://github.com/jeremyevans/erubi#usage - it works perfectly fine, however, I didn't feel very confident about using eval unless necessary.

An additional benefit of using `ApplicationController.render` is that if Rails would change the ERB engine in the future, this code should still work.

If you want to test it on your local, you need to be signed in and then that two URLs are generating certificates:
http://localhost:3000/discobot/certificate.svg?date=Oct+07+2019&type=standard&user_id=1
http://localhost:3000/discobot/certificate.svg?date=Oct+07+2019&type=advanced&user_id=1

Dev: https://dev.discourse.org/t/discourse-narrative-bot-should-not-be-storing-giant-strings/17130
2019-10-09 17:45:01 +11:00
Gerhard Schlager 3dfe9f3b8d Update translations 2019-10-08 12:25:24 +02:00
Robin Ward f5d391a48a
REFACTOR: Move `app-events:main` to `service:app-events` (#8152)
AppEvents was always a service object in disguise, so we should move it
to the correct place in the application. Doing this allows other service
objects to inject it easily without container access.

In the future we should also deprecate `this.appEvents` without an
explicit injection too.
2019-10-04 10:06:08 -04:00
Vinoth Kannan 5a919c2211 DEV: use 'user_created' discourse event instead of 'after_commit' model callback. 2019-10-04 10:48:49 +05:30
Krzysztof Kotlarek 427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. 

We no longer need to use Rails "require_dependency" anywhere and instead can just use standard 
Ruby patterns to require files.

This is a far reaching change and we expect some followups here.
2019-10-02 14:01:53 +10:00
Rafael dos Santos Silva 45ff119f27 FIX: Try to match advanced tutorial reset first (#8048)
Advanced trigger is currently broken on:

    ca
    es
    et
    fr
    he
    it
    pt_BR

And that is because the translation levels for the plugin are kinda low, so I would guess it's broken for half the languages.

Since we have only two tracks for a while now, a quick fix to me is inverting the selectors.

This patch works because the advanced key is "larger" than the new user one.
2019-10-02 11:55:47 +10:00
Gerhard Schlager 8adec48b33 Update translations 2019-09-26 04:29:44 +02:00
Bianca Nenciu 0d22beb81d
FIX: Improve Onebox detection (#8019)
Follow-up to 7c83d2eeb2.
2019-09-10 13:59:48 +03:00
Neil Lalonde 930e70aba9 Update translations 2019-09-04 10:24:43 -04:00
Gerhard Schlager 8841563f8a Update translations 2019-08-26 14:36:46 +02:00
Guo Xiang Tan 636b6c3a5a FIX: Wrong discobot tutorial started for certain locales.
If a locale has triggers that start with the same word, our regexp will
always end up matching the first trigger. For example,

`start tutorial` and `start tutorial advanced`

To support the change, we have to make the match on triggers more
restrictive. `@discobot quote here` will no longer work like `@discobot
quote`.
2019-08-08 10:53:58 +08:00
Guo Xiang Tan b574276e6e DEV: Correct hardcoded value in discobot tests. 2019-08-08 10:53:58 +08:00
Guo Xiang Tan 1267185a07 DEV: Remove unused option.
Follow up to 18ed03e044.
2019-07-30 21:12:13 +08:00
Ned Batchelder 18ed03e044 Clarify how to start a tutorial
https://meta.discourse.org/t/does-the-advanced-user-tutorial-still-exist/123661/14
2019-07-30 21:10:22 +08:00
Neil Lalonde 97e9599ecc Update translations 2019-07-15 09:43:22 -04:00
AhmadF.Cheema bfbd97d3b5 Remove extra whitespaces from locale files
Co-authored-by: Gerhard Schlager <mail@gerhard-schlager.at>
2019-07-04 13:48:17 +02:00
Gerhard Schlager a5e80079d6 FEATURE: Add Belarusian language 2019-07-04 11:37:37 +02:00
Neil Lalonde 7e884cce6b Update translations 2019-06-25 10:57:18 -04:00
Neil Lalonde dbc59cfe61 Update translations 2019-06-17 13:25:37 -04:00
Neil Lalonde 5d7e34e0ad Update translations 2019-06-10 10:36:08 -04:00
Neil Lalonde dbfdce95c9 Update translations 2019-05-30 10:40:16 -04:00
Jeff Atwood dc43828905 add trust level blog link to discobot PM welcome 2019-05-29 18:19:35 -07:00
Sam Saffron 1efed6e527 DEV: amend test for anonymous handling to use real data
Previously we relied on fabrication on anonymous, we can not get the
transaction commit pipeline to work as it does in production, cleanly

This amends it so our anonymous user is created using the core APIs

Signed-off-by: Sam Saffron <sam.saffron@gmail.com>
2019-05-29 15:05:37 +10:00
Gerhard Schlager b788948985 FEATURE: English locale with international date formats
Makes en_US the new default locale
2019-05-20 13:47:20 +02:00
Gerhard Schlager a58aa9b4bf Update translations 2019-05-20 13:42:05 +02:00
Guo Xiang Tan c00dab89e4 Fix the build take 2. 2019-05-13 11:22:48 +08: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
Guo Xiang Tan 41f4f9302d UX: Rename discobot tutorial triggers.
We found the previous triggers less straight forward than just calling
it tutorial.

`start new user` -> `start tutorial`
`start new advanced user` -> `start advanced tutorial`
2019-05-10 09:08:16 +08:00
Guo Xiang Tan c72f16d927 Follow up to 329969ea20. 2019-05-08 15:36:12 +08:00
Guo Xiang Tan 329969ea20 FIX: Discobot mention tutorial should be case insensitive. 2019-05-07 10:54:22 +08:00
Guo Xiang Tan 61cc0f8c5f Follow up to 152238b4cf. 2019-05-07 09:57:27 +08:00
Guo Xiang Tan 152238b4cf DEV: Prefer `public_send` over `send`. 2019-05-07 09:33:21 +08:00
Tim Lange d5d784b9f2 FIX: Narration Bot now gets site setting for automatic post deletion (#7432) 2019-04-25 07:29:20 +08:00
Joffrey JAFFEUX 0284910125
Update translations 2019-04-24 15:02:04 +02:00
Kris 99efd12376 FIX: Url in Russian translation 2019-04-18 17:10:58 -04:00
Neil Lalonde e7a6f0698d Update translations 2019-04-05 10:02:54 -04:00
Robin Ward fd6513b516 FIX: Incorrect API in narrative bot 2019-03-28 14:29:33 -04:00
Robin Ward b58867b6e9 FEATURE: New 'Reviewable' model to make reviewable items generic
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.

Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Neil Lalonde 4a7e83d880 Update translations 2019-03-28 10:07:51 -04:00
Gerhard Schlager d43f4206c7 FEATURE: Add Armenian language 2019-03-28 14:24:14 +01:00
Penar Musaraj 9334d2f4f7
FEATURE: add more granular user option levels for email notifications (#7143)
Migrates email user options to a new data structure, where `email_always`, `email_direct` and `email_private_messages` are replace by

* `email_messages_level`, with options: `always`, `only_when_away` and `never` (defaults to `always`)
* `email_level`, with options: `always`, `only_when_away` and `never` (defaults to `only_when_away`)
2019-03-15 10:55:11 -04:00
Robin Ward fa5a158683 REFACTOR: Move `queue_jobs` out of `SiteSetting`
It is not a setting, and only relevant in specs. The new API is:

```
Jobs.run_later!        # jobs will be thrown on the queue
Jobs.run_immediately!  # jobs will run right away, avoid the queue
```
2019-03-14 10:47:38 -04:00
Guo Xiang Tan b0c8fdd7da FIX: Properly support defaults for upload site settings. 2019-03-13 16:36:57 +08:00
Robin Ward d1d9a4f128 Add new `run_jobs_synchronously!` helper for tests
Previously if you wanted to have jobs execute in test mode, you'd have
to do `SiteSetting.queue_jobs = false`, because the opposite of queue
is to execute.

I found this very confusing, so I created a test helper called
`run_jobs_synchronously!` which is much more clear about what it does.
2019-03-11 16:58:35 -04:00
Neil Lalonde 9c54447ca7 Update translations 2019-03-11 13:55:45 -04:00
Neil Lalonde aabc3375c6 Update translations 2019-03-01 11:28:07 -05:00
Robin Ward c719658f9f `human?` helper method on a user
This is cleaner than hard coding `id > 0` in ruby code.
2019-02-08 13:34:54 -05:00
Neil Lalonde 55cc5ab4b8 Update translations 2019-02-07 09:49:57 -05:00
Neil Lalonde 6bfd2b6eaf Update translations 2019-01-31 16:27:07 -05:00
Penar Musaraj 3c5fbd3ce1 FIX: do not send welcome message to staged users 2019-01-30 18:03:16 -05:00
Neil Lalonde 024ba28525 Update translations 2019-01-28 10:27:20 -05:00
Gerhard Schlager 90823eaca6 Update translations 2019-01-19 23:41:52 +01:00
Joffrey JAFFEUX 502b1316d0
DEV: s/this._super()/this._super(...arguments) (#6908) 2019-01-19 10:05:51 +01:00
Neil Lalonde 81953339f2 Update translations 2019-01-14 12:23:49 -05:00
Jeff Atwood 098b6d9364 remove bullets on discobot oneboxing step 2019-01-13 04:33:32 -08:00
Neil Lalonde d7656f30c3 Update translations 2019-01-02 12:32:38 -05:00
Jeff Atwood 6db19e494d remove emoji from default discobot greeting PM 2018-12-21 16:39:25 -08:00
Gerhard Schlager fbd92916e5 FIX: Narrative bot should ignore action on deleted post 2018-12-21 17:43:52 +01:00
Neil Lalonde 124ae46763 Update translations 2018-12-14 10:34:12 -05:00
Neil Lalonde d43d007929 Update translations 2018-11-29 10:51:16 -05:00
Claas Augner 52a5a5983a Update narrative bot copy 2018-11-21 00:04:54 +01:00
Guo Xiang Tan 6fde58ff90 FIX: Make Discobot image tutorial accept URL that points to images. 2018-11-15 10:52:18 +08:00
Guo Xiang Tan 44391ee8ab
FEATURE: Upload Site Settings. (#6573) 2018-11-14 15:03:02 +08:00
Gerhard Schlager cbd6bd191a Add base path to relative links in translations 2018-11-08 23:31:05 +00:00
Gerhard Schlager 24e5be3f0c FIX: Relative links in translations should work with subfolder 2018-11-08 23:31:05 +00:00
David Taylor d963f96fa4 Update translations 2018-11-05 11:16:58 +00:00
Neil Lalonde af39624d19 Update translations 2018-10-12 10:40:25 -04:00
Vinoth Kannan 9a0e4eec16 REFACTOR: discobot/TL4 :off_topic flag will hide the post 2018-10-11 17:12:35 +05:30
Risto 38b48997fc Fix typo in narrative-bot plugin (#6434) 2018-09-30 21:43:46 +02:00
Gerhard Schlager b0a383561e FEATURE: Add Lithuanian locale 2018-09-27 05:26:38 +02:00
Neil Lalonde a530606da7 fix narrative bot spec to include base_uri key in translations 2018-09-21 12:37:35 -04:00
Neil Lalonde 5705e5c00e FIX: links in narrative bot messages for subfolder installs 2018-09-21 12:16:59 -04:00
Neil Lalonde a147a856f8 Update translations 2018-09-14 11:43:14 -04:00
Neil Lalonde 6afc86398c Update translations 2018-09-10 13:29:07 -04:00
Guo Xiang Tan b5b4e2602a Formatting fixes. 2018-09-07 10:21:11 +08:00
Guo Xiang Tan c1c9637b39 Skip Discobot flag tutorial if `allow_flagging_staff` is disabled.
https://meta.discourse.org/t/interacting-with-discobot/96574
2018-09-07 08:33:27 +08:00
Gerhard Schlager e22bf8ff28 Update German translations 2018-09-05 00:47:39 +02:00
Neil Lalonde 5a4d6f9656 Update translations 2018-08-30 09:40:31 -04:00
Joshua Rosenfeld 34a5ac2fd8
Add 'discobot' to site setting description
https://meta.discourse.org/t/where-exactly-can-i-disable-discobot/95920/3
2018-08-29 18:29:16 -04:00
Guo Xiang Tan ff0979553d Skip discobot mention tutorial if mentions are disabled. 2018-08-23 14:58:07 +08:00
Neil Lalonde 6d79be29f2 Update translations 2018-08-21 11:28:13 -04:00
Neil Lalonde 0cf98f1ad9 Revert "Update translations" 2018-08-21 11:17:53 -04:00
Neil Lalonde 3c6d5c8241 Update translations 2018-08-21 10:36:59 -04:00
Guo Xiang Tan 038de4e037 FIX: Incorrect title on new user narrative cert. 2018-08-20 11:26:20 +08:00
Guo Xiang Tan 07d07c7b5f FIX: Make Discobot certificate route require login. 2018-08-20 11:22:59 +08:00
Peter Borsa a6820d8767 Add Hungarian locale (#6260) 2018-08-13 01:02:35 +02:00
Neil Lalonde 5c248e3a7a Update translations 2018-08-07 12:05:45 -04:00
Sam f3549291a3 DEV: use unicorn in development
This commit also cleans up a bunch of pointless noise each time we boot app

- narrative was loading i18n cause redefinition of consts
- discourse.rb was loaded twice as was auth
- bin/unicorn now does all the smart things and boots unicron in dev
- bin/rails s will boot unicorn with no params
- remove bin/puma which only causes confusion
2018-08-07 17:13:47 +10:00
Neil Lalonde 58ecc84d61 Update translations, excluding Japanese and config/locales/client.zh_TW.yml due to errors 2018-07-26 13:01:39 -04:00
Gerhard Schlager d3e04daa95 Add Swahili language 2018-07-16 18:11:38 +02:00
Neil Lalonde 072659c22a Update translations 2018-06-21 10:34:09 -04:00
Joffrey JAFFEUX 60ff0e9b8c
missing prettified files 2018-06-15 18:42:20 +02:00
Neil Lalonde 79854198c1 Update translations 2018-06-08 10:27:53 -04:00
Sam 8b88b71309 Attempt very aggressively to clear cache 2018-06-07 20:10:52 +10:00
Sam 3291f2c0eb move plugin fixture to the front of the queue 2018-06-07 19:56:07 +10:00
Guo Xiang Tan 49f39ca64d Fix another failing spec. 2018-06-07 15:07:39 +08:00
Guo Xiang Tan 610510ebad Fix broken discourse narrative bot spec after upgrade. 2018-06-07 15:03:09 +08:00
Sam e806e6e96f correct specs 2018-06-07 16:13:15 +10:00
Guo Xiang Tan ad5082d969 Make rubocop happy again. 2018-06-07 13:28:18 +08:00
Neil Lalonde dee9af2877 Update translations 2018-05-31 17:03:38 -04:00
Guo Xiang Tan 7fc8a36529 DEV: Take 2 Queue jobs in tests by default.
On my machine this cuts the time taken to run our test suite
from ~11mins to ~9mins.
2018-05-31 16:23:23 +08:00
Guo Xiang Tan 56e9ff6853 Revert "DEV: Queue jobs in tests by default."
Too risky for now

This reverts commit be28154d3b.
2018-05-31 15:34:46 +08:00
Guo Xiang Tan be28154d3b DEV: Queue jobs in tests by default. 2018-05-31 14:45:47 +08:00
Gerhard Schlager b7bf0e96aa Update translations 2018-05-29 22:01:57 +02:00
Gerhard Schlager 864ada835b FEATURE: Add Bulgarian language 2018-05-29 21:07:17 +02:00
Guo Xiang Tan 9f873fa66c FIX: Invalid setex expire time in `DiscourseNarrativeBot::Actions#reset_rate_limits`. 2018-05-25 16:02:15 +08:00
Gerhard Schlager 01b0d9d235 Update translations 2018-05-17 00:08:33 +02:00
Jeff Wong 19605e8b0b Feature: Hide plugins that ship with core from plugins panel 2018-05-15 15:50:17 -07:00
Neil Lalonde 8babf1c1e1 Update translations 2018-04-24 11:08:45 -04:00
Gerhard Schlager 4c53e81c69 Update translations 2018-04-06 14:51:09 +02:00
Michael Brown b01a4c0ada lint: fix whitespace 2018-03-27 12:11:17 -04:00
Michael Brown ed4d7ae1b9 FIX: discobot fails when max_emojis_in_title=0 (#5710)
* If discobot is enabled but max_emojis_in_title==0,
  try to strip emoji from the title when creating a new post
2018-03-27 18:00:29 +02:00
Régis Hanol 0187423c68
FIX: discobot certificate description wasn't escaped 2018-03-27 17:57:53 +02:00
Neil Lalonde cd99ccdbf0 Update translations 2018-03-26 10:58:01 -04:00
Sam ff6b47b0cf In development mode narrative bot breaks reload 2018-03-23 12:58:56 +11:00
Neil Lalonde 0c8df32903 Update translations, except ur because of errors 2018-03-07 14:11:56 -05:00
Neil Lalonde 2e5c18d130
Merge pull request #5652 from majakomel/add-slovenian-locale
Add Slovenian locale files
2018-03-06 15:59:01 -05:00
Maja Komel e2a441ade9 Add Slovenian translations 2018-03-06 20:51:41 +01:00
Guo Xiang Tan 2f65393706 REFACTOR: Use `Topic#private_message?` to reduce duplication. 2018-03-05 15:39:22 +08:00
Neil Lalonde 32ad98161f Update translations 2018-02-15 16:36:03 -05:00
Neil Lalonde f7042ecc85 Update translations 2018-01-31 11:19:21 -05:00
Gerhard Schlager d9515c37b3 FIX: Show message from discobot when staged user signs up 2018-01-25 14:58:43 +01:00
Gerhard Schlager e6fd7eb464 Remove misplaced translation files 2018-01-19 18:36:25 +01:00
AhmadF.Cheema c4ffc85965 Fix typo in narrative-bot server.en.yml 2018-01-14 19:27:47 +01:00
Sam 7e3543d96f correct plugin specs 2018-01-12 14:42:05 +11:00
Jeff Atwood dcbaf2f213 copyedit: personal, not private, message throughout 2018-01-11 16:04:14 -08:00
Neil Lalonde e3965b4492 Update translations 2018-01-03 12:21:03 -05:00
Neil Lalonde 0567d523ee Update translations 2017-12-29 14:51:53 -05:00
Guo Xiang Tan d80aca0484 FIX: Don't start discobot poll tutorial if polls are disabled.
https://meta.discourse.org/t/discobot-dont-take-users-through-the-poll-tutorial-if-its-not-enabled/76604/3
2017-12-22 15:46:46 +08:00
Guo Xiang Tan 32171ad286 FIX: Invalid logo in discobot's certificate when `SiteSetting.logo_small_url` is blank.
https://meta.discourse.org/t/broken-image-in-discobot-certificate-with-no-logo-small-url/76594/2
2017-12-22 09:36:53 +08:00
Guo Xiang Tan ee1b90503c FIX: Error when an invalid date is passed to certificate generator.
https://meta.discourse.org/t/broken-image-in-discobot-certificate-with-no-logo-small-url/76594/2
2017-12-22 09:36:52 +08:00
Neil Lalonde 7e3c4b4b2f Update translations 2017-12-20 15:28:29 -05:00
blokovi 0df1c85fd3 FEATURE: Serbian translation (#5443) 2017-12-19 12:26:06 +01:00
Neil Lalonde 929aa98723 Update translations 2017-12-11 12:01:57 -05:00
Kyle Zhao c52f747031 FEATURE: Catalan Translations (#5404) 2017-12-07 10:36:25 +01:00
Neil Lalonde 978cf9485f Update translations 2017-12-06 10:25:12 -05:00
Neil Lalonde 1603dcf0d1 Update translations 2017-11-30 15:32:15 -05:00
Régis Hanol 4bc2ce2f4d didn't mean to remove that seed 2017-11-23 17:00:47 +01:00
Régis Hanol a38391a6bc FIX: ensure discobot always has a primary email 2017-11-23 16:54:40 +01:00
Quim Gil e4464351a2
Changing misattributed Mahatma Gandhi's quote
As reported at https://meta.discourse.org/t/gandhi-misattributed/74022
2017-11-14 00:37:20 +01:00
Neil Lalonde 13c91fc7ec Update translations 2017-11-13 15:02:53 -05:00
Guo Xiang Tan 442d4bff85 Add onceoff job to remap bot images link.
https://meta.discourse.org/t/discobot-tutorial-broken-elipsis-and-bookmark-png-images-appear-to-be-missing-on-my-site/73294/12
2017-11-07 23:36:59 +08:00
Neil Lalonde 419d7daf4b Update translations 2017-10-30 10:58:17 -04:00
Sam 7ca08216bd FIX: ensure we have no dangling db connections on threads
This correct 10 second timeouts in dev mode, when reloader kicks in
2017-10-30 14:24:15 +11:00
Joffrey JAFFEUX 7bccd47315 remove mistakenly checked file 2017-10-20 07:07:51 -07:00
Joffrey JAFFEUX ae1743c61f [WIP] select-box-kit refactoring 2017-10-19 12:51:08 -07:00
Robin Ward 838568cbc3 Refactor flag types for more customization 2017-10-19 13:55:23 -04:00
Neil Lalonde 0a31190254 Update translations 2017-10-13 09:58:41 -04:00
Guo Xiang Tan 6cb29e3e20 Remove custom symlinks in discourse-narrative-bot. 2017-10-10 13:46:58 +08:00
Neil Lalonde 3a29ba71a3 Update translations 2017-10-06 10:37:57 -04:00
Guo Xiang Tan 4ba5e678d8 Require dependencies to enable live reload in dev for Sidekiq. 2017-10-06 11:39:00 +08:00
Neil Lalonde d2d272c5f1 Update translations 2017-09-28 13:37:19 -04:00
Guo Xiang Tan 23b787e0a6 Require dependency otherwise it causes Sidekiq to lock up in development. 2017-09-25 13:48:59 +08:00
Guo Xiang Tan 77d4c4d8dc Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
Gerhard Schlager a1ee61ec25 handle empty locale file in Transifex pull script 2017-09-16 23:33:21 +02:00
Gerhard Schlager de19c8e70c update translations 2017-09-16 22:42:28 +02:00
Régis Hanol 2a140b3848 update translations 2017-09-16 00:53:23 +02:00
Neil Lalonde 346442134e Update translations 2017-09-14 11:02:39 -04:00
Robin Ward e41a828774 Update translations 2017-08-31 14:50:40 -04:00
Neil Lalonde ea969d1ed0 FEATURE: add Thai language 2017-08-25 12:33:09 -04:00
Guo Xiang Tan 950fa9e3a8 FIX: Skip trigger match should be case insensitive.
https://meta.discourse.org/t/discobot-not-skipping-tutorial/68498
2017-08-22 07:45:46 +09:00
Neil Lalonde 3b7657e4b3 Update translations 2017-08-16 11:38:45 -04:00
Neil Lalonde 130ae2cd4b FEATURE: add Latvian language 2017-08-15 11:40:00 -04:00
Jeff Atwood c1228dab25 improve discobot onebox link help 2017-08-10 14:15:30 -07: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
Neil Lalonde 2feec43bd7 Update translations 2017-08-01 13:11:52 -04:00
Guo Xiang Tan 0eb7159e51 UX: Discobot advanced tutorial certificate does not work with dark theme.
https://meta.discourse.org/t/discobot-assets-certificate-svg/65523/11?u=tgxworld
2017-07-31 15:27:47 +09:00
Guo Xiang Tan 5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Arpit Jalan d666b73893 Update translations. 2017-07-20 14:57:02 +05:30
Leo McArdle d0b027d88d FEATURE: phase 1 of supporting multiple email addresses 2017-07-20 11:22:27 +09:00
Sam 14c2439473 correct specs so they run on latest 2017-07-18 15:45:23 -04:00