Commit Graph

1186 Commits

Author SHA1 Message Date
7744b636e9 FIX: Handle nil case for avatar, just in case 2019-10-24 14:02:51 -04:00
8b4e71cb21 FIX: Allow avatar downloads to follow redirects 2019-10-24 14:01:54 -04:00
2c0efac25e FIX: Broken certificates 2019-10-24 12:39:58 -04:00
690db4fd36 FIX: Show poll voters in Oneboxed posts. (#7768) 2019-10-24 14:00:25 +03:00
6287eccb35 REFACTOR: Remove Ember.Controller in favor of import 2019-10-23 13:06:54 -04:00
a8a76198b1 REFACTOR: Remove Ember.Component global variable
Use imports instead.
2019-10-23 12:30:52 -04:00
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
54bc2bdba7 UX: emphasizes on local-dates being UTC in excerpts (#8208) 2019-10-17 10:18:06 -04:00
4338515a85 fix poll test 2019-10-16 21:53:37 -04:00
b005377d0a UX: add newline after closing poll tag for poll builder 2019-10-16 21:40:42 -04:00
74207ef03a Refactor search_answer to be dynamically inserted so it can be changed 2019-10-16 14:37:17 -04:00
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
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
3dfe9f3b8d Update translations 2019-10-08 12:25:24 +02:00
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
5a919c2211 DEV: use 'user_created' discourse event instead of 'after_commit' model callback. 2019-10-04 10:48:49 +05:30
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
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
8adec48b33 Update translations 2019-09-26 04:29:44 +02:00
0d22beb81d FIX: Improve Onebox detection (#8019)
Follow-up to 7c83d2eeb261ac676a8320e6a704752c56fd242e.
2019-09-10 13:59:48 +03:00
Joe
27f7bd4273 UX: adjusts RTL composer presence avatar alignment
context: https://meta.discourse.org/t/user-is-typing-misaligned-and-mixed-with-reply-choices-with-rtl/127963

This commit adds a temporary fix for presence avatar overlap in the composer for RTL.

More context on TMP here: https://meta.discourse.org/t/moving-the-voting-box-to-the-right-side-of-the-screen/126752
2019-09-09 20:47:29 +08:00
930e70aba9 Update translations 2019-09-04 10:24:43 -04:00
1e89939383 DEV: Added wrapper to signal that NewPostManager#add_plugin_payload_attribute is part of the public API 2019-08-29 11:58:19 -03:00
8841563f8a Update translations 2019-08-26 14:36:46 +02:00
bf05a8da96 FEATURE: adds countdown attribute to [date] (#8037)
When used, dates will be displayed as a countdown in a human friendly way.
2019-08-24 11:39:20 -05:00
6b621ceb06 DEV: consistent plugin nomenclature. 2019-08-22 11:08:06 +05:30
75f37ac16a Rename lazyYT plugin directory name to lazy-yt 2019-08-21 14:35:14 +05:30
096f932ef2 Lint files
Both needed some prettier tlc
2019-08-16 13:06:51 +10:00
69498a58e9 FEATURE: Staff only poll results (#7984)
* FEATURE: Staff only poll results

These changes allow only staff to see the results of a poll.

Non-staff users will be shown a screen like this:

1b8bd76013.png

The "Votes are public" message has been removed from the info section,
and the button to show the votes has been replaced with a message
stating the results will only be shown to staff.

* Update PR based on feedback

* Update plugins/poll/app/models/poll.rb

make sure we return a boolean

Co-Authored-By: Régis Hanol <regis@hanol.fr>
2019-08-15 12:27:18 -06:00
79957706b1 FIX: Store custom attributes that are needed by plugins in queuedpost payload (#8009) 2019-08-14 15:02:59 -03:00
c628166bb4 FIX: replace model usage with SQL query
Follow-up to b500ef77
2019-08-13 18:32:24 +02:00
6a65e5312b FEATURE: Add a preview to the poll builder (#7988)
* FEATURE: Add a preview to the poll builder

* Use selectKit helper in the poll preview test

* Extract the mobile-specific poll builder form CSS
2019-08-13 09:49:40 -04:00
b500ef77d7 Poll migration is not idempotent (#7964)
The migration script is not idempotent due to database constrains on the
poll related objects, namely:

polls: index_polls_on_post_id_and_name (post_id,name) UNIQUE
poll_options: index_poll_options_on_poll_id_and_digest  (poll_id,digest) UNIQUE
poll_votes:  index_poll_votes_on_poll_id_and_poll_option_id_and_user_id  (poll_id,poll_option_id,user_id) UNIQUE

This change skips a particular poll migration if it's already found on
the db.
2019-08-08 18:48:53 +02:00
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
b574276e6e DEV: Correct hardcoded value in discobot tests. 2019-08-08 10:53:58 +08:00
78500fb770 UX: Improve layout of poll builder modal 2019-08-07 15:00:03 -04:00
f4543ff02a FIX: ensures pikaday picker is showing in UTC (#7968) 2019-08-06 08:41:38 +02:00
a68d8de72f UX:UX: Use shorter weekday labels in local-dates plugin 2019-08-05 14:21:59 +02:00
1267185a07 DEV: Remove unused option.
Follow up to 18ed03e044611c29b006011e1b729f5a9d43163a.
2019-07-30 21:12:13 +08:00
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
Joe
a0df4c3757 UX: prevents cooked dates from wrapping (#7954) 2019-07-30 14:04:30 +08:00
c1d2fb115c DEV: prevents staff computed property to be overridden (#7931) 2019-07-24 22:01:08 +02:00
97e9599ecc Update translations 2019-07-15 09:43:22 -04:00
bfbd97d3b5 Remove extra whitespaces from locale files
Co-authored-by: Gerhard Schlager <mail@gerhard-schlager.at>
2019-07-04 13:48:17 +02:00
a5e80079d6 FEATURE: Add Belarusian language 2019-07-04 11:37:37 +02:00
463db22928 DEV: Add test.
Follow-up to bccd090cedd4f49b9a07958292baed462b8c1a1c.
2019-06-26 16:37:01 +03:00
bccd090ced SECURITY: Escape email text for posts containing [details]. 2019-06-26 16:28:31 +03:00
7e884cce6b Update translations 2019-06-25 10:57:18 -04:00
dbc59cfe61 Update translations 2019-06-17 13:25:37 -04:00
32cd9ba59b FIX: ensures local-dates modal is not taking full height on mobile (#7772) 2019-06-16 08:48:07 +02:00