Commit Graph

1362 Commits

Author SHA1 Message Date
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
Joffrey JAFFEUX
e6442a2d2f
FIX: we don't need to refresh dates so often (#8367) 2019-11-18 10:04:07 +01:00
Joffrey JAFFEUX
45648e46ba
FIX: attempts to be correct about dst when using recurrence (#8366) 2019-11-18 10:02:58 +01:00
Sam Saffron
e2ccb0c608 DEV: remove NGINX performance report
This report is no longer supported or tested, it was moved to:

https://github.com/SamSaffron/discourse-nginx-performance-report

The new home for the performance report means this is no longer an official
Discourse plugin
2019-11-18 15:30:57 +11:00
Penar Musaraj
20f5a062f4 Fix Prettier in poll plugin 2019-11-15 11:01:22 -05: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
Robin Ward
f518065654 FIX: computed is part of @ember/object not @ember/object/computed 2019-11-13 11:58:09 -05:00
Arpit Jalan
5ff84be8cc FIX: do not strip nil string 2019-11-13 16:58:14 +05:30
Jarek Radosz
17bca00661 DEV: Run prettier 2019-11-12 12:07:19 +01:00
Jarek Radosz
5d4b240453
DEV: Provide radix argument to parseInt (#8281)
* DEV: Provide radix 10 argument to parseInt

* DEV: Provide radix 16 argument to parseInt

* DEV: Remove unnecessary parseInt calls

* Fix year formatting

parseInt was used here to convert decimals to ints
2019-11-12 10:47:42 +01:00
Robin Ward
e39d89ecd9 REFACTOR: Remove InputValidation which was simply an Ember.Object 2019-11-11 15:48:56 -05:00
Robin Ward
da04c602ba REFACTOR: Remove debounce to discourseDebounce
Otherwise it can be confused with the ember debounce
2019-11-11 13:34:01 -05:00
Kris
b066a4128d Adding a text-overflow: ellipsis; mixin and related cleanup 2019-11-06 14:00:29 -05:00
Neil Lalonde
b151963f18 Update translations 2019-11-06 10:43:13 -05:00
Gerhard Schlager
94a34af702 Update translations 2019-11-05 16:52:48 +01:00
Jarek Radosz
d43e7354ec
DEV: Convert <button> tags to {{d-button}} components (#8224)
* DEV: Convert <button> tags to {{d-button}}

* Fixes
2019-11-04 11:23:54 +01:00
Robin Ward
90f934a660 REFACTOR: Use a module for Ember.isEmpty 2019-11-01 13:50:15 -04:00
Robin Ward
8d34f4bbd9 Revert "Revert Ember.run refactors"
This reverts commit fcb1ca52f9.
2019-10-30 09:48:24 -04:00
Robin Ward
fcb1ca52f9 Revert Ember.run refactors
This reverts commit 5ca60fcb6b.
2019-10-29 17:10:47 -04:00
Robin Ward
5ca60fcb6b REFACTOR: Use imports for Ember.run 2019-10-29 15:31:56 -04: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
Bianca Nenciu
690db4fd36
FIX: Show poll voters in Oneboxed posts. (#7768) 2019-10-24 14:00:25 +03:00
Robin Ward
6287eccb35 REFACTOR: Remove Ember.Controller in favor of import 2019-10-23 13:06:54 -04:00
Robin Ward
a8a76198b1 REFACTOR: Remove Ember.Component global variable
Use imports instead.
2019-10-23 12:30:52 -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
Joffrey JAFFEUX
54bc2bdba7 UX: emphasizes on local-dates being UTC in excerpts (#8208) 2019-10-17 10:18:06 -04:00
Kris
4338515a85 fix poll test 2019-10-16 21:53:37 -04:00
Kris
b005377d0a UX: add newline after closing poll tag for poll builder 2019-10-16 21:40:42 -04: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
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
Neil Lalonde
930e70aba9 Update translations 2019-09-04 10:24:43 -04:00
romanrizzi
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
Gerhard Schlager
8841563f8a Update translations 2019-08-26 14:36:46 +02:00
Joffrey JAFFEUX
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
Arpit Jalan
6b621ceb06 DEV: consistent plugin nomenclature. 2019-08-22 11:08:06 +05:30
Arpit Jalan
75f37ac16a Rename lazyYT plugin directory name to lazy-yt 2019-08-21 14:35:14 +05:30
Sam Saffron
096f932ef2 Lint files
Both needed some prettier tlc
2019-08-16 13:06:51 +10:00
Blake Erickson
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
Roman Rizzi
79957706b1
FIX: Store custom attributes that are needed by plugins in queuedpost payload (#8009) 2019-08-14 15:02:59 -03:00
Régis Hanol
c628166bb4 FIX: replace model usage with SQL query
Follow-up to b500ef77
2019-08-13 18:32:24 +02:00
Jarek Radosz
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
Eduardo Poleo
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
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
Penar Musaraj
78500fb770 UX: Improve layout of poll builder modal 2019-08-07 15:00:03 -04:00
Joffrey JAFFEUX
f4543ff02a
FIX: ensures pikaday picker is showing in UTC (#7968) 2019-08-06 08:41:38 +02:00
Gerhard Schlager
a68d8de72f UX:UX: Use shorter weekday labels in local-dates plugin 2019-08-05 14:21:59 +02: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
Joe
a0df4c3757
UX: prevents cooked dates from wrapping (#7954) 2019-07-30 14:04:30 +08:00
Joffrey JAFFEUX
c1d2fb115c
DEV: prevents staff computed property to be overridden (#7931) 2019-07-24 22:01:08 +02: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
Bianca Nenciu
463db22928 DEV: Add test.
Follow-up to bccd090ced.
2019-06-26 16:37:01 +03:00
Bianca Nenciu
bccd090ced SECURITY: Escape email text for posts containing [details]. 2019-06-26 16:28:31 +03: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
Joffrey JAFFEUX
32cd9ba59b
FIX: ensures local-dates modal is not taking full height on mobile (#7772) 2019-06-16 08:48:07 +02:00
Robin Ward
a8793d0d9a REFACTOR: Test Memory Usage Fixes (#7769)
* Calling `Discourse.reset()` creates a new container
We should run our de-initializers only after acceptance tests,
since initializers are not run outside of acceptance tests anyway,
and the container at this point can be passed properly to the
`teardown()` method.

* Remove `Discourse.reset` from tests
This would cause a new container to be created which leaks many objects.

* `updateCurrentUser` is more accurate than `replaceCurrentUser`
2019-06-14 14:54:20 +02:00
Robin Ward
c322cccd53 FIX: Memory Leaks when decorating posts (#7749)
* Remove long-deprecated method

* FIX: Memory Leaks when decorating posts

Previously we'd keep creating mixins dynamically when decorating the
same class.

This code changes the API to recommend an `id` parameter for each
decorator which will avoid leaks. All plugins should be updated to
include this parameter, although if they don't in the meantime it'll
just mean a warning in the console (and a continued leak.)
2019-06-11 17:21:23 +02:00
Neil Lalonde
5d7e34e0ad Update translations 2019-06-10 10:36:08 -04:00
Régis Hanol
84e5d58a0d DEV: make prettier 💅 happy 2019-06-06 12:28:41 +02:00
Régis Hanol
c131903e56 FIX: clone dateTime before changing timezone 2019-06-06 11:16:58 +02:00
Joffrey JAFFEUX
b339d67401
DEV: refactors select-kit helper to prevent it to leak into global state (#7708) 2019-06-06 10:47:10 +02:00
Guo Xiang Tan
70b73c2159 DEV: Use proper heredoc name. 2019-06-04 16:31:18 +08:00
Bianca Nenciu
63e3d49508 DEV: Add test for poll plugin reduce_excerpt. 2019-06-04 16:30:15 +08: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
Régis Hanol
0df5349dbf
FIX: ensure the post url is present
Also don't interpolate a string
2019-05-30 00:05:53 +02:00
Régis Hanol
a188d15b08
FIX: reduce poll when post is nil 2019-05-30 00:02:33 +02:00
Bianca Nenciu
227c45107d FEATURE: Implement Onebox for posts including polls. (#7539) 2019-05-29 17:05:52 +02: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
Bianca Nenciu
3a1d99577e FIX: Replace details content with instruction. 2019-05-29 08:36:04 +08:00
Joffrey JAFFEUX
b98b994fe7
apply prettier on plugins (#7605) 2019-05-27 11:06:11 +02:00
Joffrey JAFFEUX
bfea922167
DEV: global s/this.get\("(\w+)"\)/this.$1 (#7592) 2019-05-27 10:15:39 +02:00
Gerhard Schlager
edc6ac0c66 Update translations 2019-05-21 00:04:37 +02:00
Gerhard Schlager
0afcad148a DEV: Always use %{count} in pluralized strings 2019-05-20 23:26:22 +02: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
Sam Saffron
3c1fa3910f DEV: track the correct channel in specs
These tests are erratically failing due to distributed cache messages that
can land between tests

Ensure we are only looking for the correct messages
2019-05-20 18:27:09 +10:00
Sam Saffron
aeb7143aff DEV: correct flaky poll specs
They were relying on a pristine message bus, however current implementation
still uses redis, stuff can get held up and we can end up publishing
distributed cache messages in the middle invalidating the tests
2019-05-17 16:16:02 +10:00
David Taylor
5605dba85c DEV: Automatically annotate plugin models alongside core models 2019-05-13 16:37:47 +01:00
Guo Xiang Tan
c00dab89e4 Fix the build take 2. 2019-05-13 11:22:48 +08:00
Guo Xiang Tan
9059a8ca90 Fix the build. 2019-05-13 10:16:26 +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
Joffrey JAFFEUX
f3a346464e
FIX: allTimezonesd was mistakenly removed (#7513) 2019-05-09 10:22:54 +02: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
Joffrey JAFFEUX
1d784c7a18
FEATURE: adds support for dates in polls (#7450) 2019-04-29 10:01:19 +02: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
Robin Ward
21b975e71a FIX: Broken plugin spec 2019-04-23 15:29:26 -04:00
Kris
99efd12376 FIX: Url in Russian translation 2019-04-18 17:10:58 -04:00
Joffrey JAFFEUX
5c8213ffd3
removes debugging statement (#7362) 2019-04-11 15:02:38 +02:00
Joffrey JAFFEUX
7dd684744c
UX: sets min date on calendar when initial date is set (#7361) 2019-04-11 14:37:39 +02:00
Joffrey JAFFEUX
46dc38e5a5
UX: minor local-dates form improvements (#7360) 2019-04-11 14:03:53 +02:00
Joffrey JAFFEUX
7226240df3
UX: full revamp of local-dates form (#7357) 2019-04-11 11:14:34 +02:00
Joffrey JAFFEUX
ad5edc8bb1
UX: copy and formating improvements to local-dates form (#7343) 2019-04-09 10:33:01 +02:00
Penar Musaraj
e50e4b6cc6 Make Prettier happy 2019-04-08 12:03:41 -04:00
Tarek Khalil
5957991340 FIX: Remove quoted post text and block realtime replies from ignored users (#7336) 2019-04-08 17:44:42 +02:00
Joffrey JAFFEUX
5e68c5f851
UX: moves local-dates from popupMenu to toolbar (#7335) 2019-04-08 15:52:09 +02:00
Neil Lalonde
e7a6f0698d Update translations 2019-04-05 10:02:54 -04:00
Bianca Nenciu
3cf922a58a FIX: URL to user profile in poll results. (#7315) 2019-04-03 22:17:05 +02:00
Joffrey JAFFEUX
b360d4289e
UX: get rid of preview_for (#7314) 2019-04-03 10:09:25 +02:00
Joffrey JAFFEUX
02d8931425
UX: more compact local-dates preview (#7305) 2019-04-02 14:39:20 +02:00
Joffrey JAFFEUX
d81f3ee2c2
FIX: improves DST support of dates when recurrence is used (#7297) 2019-04-01 12:19:09 +02:00
Robin Ward
fd6513b516 FIX: Incorrect API in narrative bot 2019-03-28 14:29:33 -04:00
Robin Ward
c44371b4ac FIX: Broken spec 2019-03-28 13:55:04 -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
Joffrey JAFFEUX
9a56b398a1
UX: improves local-dates form (#7268) 2019-03-28 16:34:56 +01: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
Sam Saffron
b5e32cfe2a DEV: correct spec to test for correct fidelity
This is due to 9ebabc1d
2019-03-28 17:45:36 +11:00
Joffrey JAFFEUX
4874cf742b
FIX: better styling with popover (#7259) 2019-03-26 16:34:27 +01:00
Joffrey JAFFEUX
52332ccd72
FIX: uses aria-label instead of title as it's useless with popover (#7258) 2019-03-26 16:31:48 +01:00
Joffrey JAFFEUX
8fb63b2706
FEATURE: unified popover implementation (#7244) 2019-03-26 15:43:27 +01:00
Robin Ward
34b871a86c Missing translation key 2019-03-19 12:51:10 -04: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
Jeff Wong
44a43878a5 FIX: lightbox wrapper within open details should show. 2019-03-08 15:07:22 -08:00
Tim Lange
6420b73c33 FIX: Changed poll age message to upcase (#7124) 2019-03-07 11:04:17 +01:00
Kris
be5e889b1b UX: Poll style fix, button classes 2019-03-06 20:27:40 -05:00
Neil Lalonde
aabc3375c6 Update translations 2019-03-01 11:28:07 -05:00
Régis Hanol
6b006c383b FIX: polls acceptance tests 2019-02-27 19:16:24 +01:00
Régis Hanol
0a708ba064 FIX: preload poll voters 2019-02-27 17:00:21 +01:00
Penar Musaraj
9bf11a7c02
FEATURE: Add localized timezone names (#7004)
Uses github.com/discourse/moment-timezone-names-translations to translate timezone names.
Plugins can also provide their own timezone name translations.
2019-02-25 14:40:02 -05:00
Joffrey JAFFEUX
5952a6c0ad
DEV: uses find() helper instead of this.$() in js tests (#7062) 2019-02-25 16:04:55 +01:00
Sam
79841cf7dd FEATURE: add missing autocomplete suppressions
Following 1f4ace4f add a couple more autocomplete suppressions (in polls
and invite ui)
2019-02-21 16:37:26 +11:00
Joffrey JAFFEUX
c08b2ddecf
FIX: stricter matching on local-dates (#7023) 2019-02-18 22:39:45 +01: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
Joe
a342d2f150 UX: reduces white-space in polls (#6956)
* reduces white-space in polls and uses font-size variables
2019-02-05 10:47:22 +01: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
Régis Hanol
f7b7bc8abe DEV: move 'default_scope' to default sort on 'has_many' relation 2019-01-30 17:45:50 +01:00
Neil Lalonde
024ba28525 Update translations 2019-01-28 10:27:20 -05:00
Régis Hanol
671ff4243f
FIX: discourse-poll-option test wasn't working 2019-01-24 14:55:36 +01:00
Régis Hanol
cba6bdaf52 UX: use solid circle to indicate selected option in polls 2019-01-24 12:25:37 +01:00
Bianca Nenciu
d589c66f3e FIX: Fix URL to user profile. (#6881) 2019-01-23 18:27:21 +01:00
Joffrey JAFFEUX
80d42b4ea2
icons deprecations fixes (#6920) 2019-01-22 12:02:02 +01:00
Penar Musaraj
ba5e17a7a9 FIX: IE11 layout glitches
IE11 requires a unit on the third parameter (flex-basis) of the flex property
2019-01-21 13:40:55 -05:00
Jeff Atwood
444bc466b0 for docs, normalize on space after code fence when specifying lang 2019-01-21 01:19:28 -08: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
Penar Musaraj
78730062de Fix prettier offence in local-dates plugin 2019-01-17 14:22:35 -05:00
Joffrey JAFFEUX
9703fa2abc
UX: improves dates display in emails (#6805) 2019-01-16 12:53:41 +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
Joffrey JAFFEUX
1a3655b787
DEV: s/Em/Ember (#6874) 2019-01-11 17:54:23 +01:00
Kris
5f75da6f61 FIX: Prensence was overlapping with full-screen icon 2019-01-10 21:02:02 -05:00
Joffrey JAFFEUX
f9648de897
DEV: upgrades from Ember 2.13 to Ember 3.5.1 (#6808)
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: David Taylor <david@taylorhq.com>
2019-01-10 11:06:01 +01:00
Neil Lalonde
d7656f30c3 Update translations 2019-01-02 12:32:38 -05:00
Régis Hanol
b478984f60 make eslint happy 2018-12-31 12:38:45 +01:00
Bianca Nenciu
e49bcebb35 FIX: Validate poll arguments. (#6740)
* FIX: Validate number poll.
* FEATURE: Poll's min can be 0.
* FIX: Fix URL to user profile.
2018-12-31 10:48:30 +01:00
Joffrey JAFFEUX
6578d56308
fix prettier offense (#6830) 2018-12-28 23:47:16 +01:00
Joffrey JAFFEUX
72afefe211
FIX: calendar range was too wide (#6829) 2018-12-28 22:56:49 +01:00
Joffrey JAFFEUX
608abd4c08
FIX: uses flex: 1 0 0; instead of flex: 1; for better browser compat (#6826) 2018-12-28 20:21:32 +01:00
Joffrey JAFFEUX
523e0248e1
FIX: recurrence was not applied when selected in the form (#6820) 2018-12-28 12:36:49 +01:00
Joffrey JAFFEUX
8ce76460ed
FIX: dates should also store recurring (#6814) 2018-12-26 23:35:10 +01: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
Bianca Nenciu
c928386c3e FIX: Copy old status to new poll. (#6788) 2018-12-19 11:29:13 +01:00
Bianca Nenciu
5bda4d26b4 FIX: Rescue errors in job. (#6745) 2018-12-17 15:28:57 +01:00
Neil Lalonde
124ae46763 Update translations 2018-12-14 10:34:12 -05:00
Guo Xiang Tan
71ce9ced47 FIX: Incorrect arguments were being passed to Jobs::ClosePoll.
Also fix spec that wasn't testing anything.
2018-12-13 16:46:00 +08:00
Bianca Nenciu
285ff3bfbd FIX: Show every voter only once. (#6746)
Each voter is represented by an object and Set does not properly check for equality.
2018-12-11 14:00:28 +01:00
Guo Xiang Tan
dcf9c6da59 DEV: Don't publish post messages to non-human users. 2018-12-06 08:24:13 +08:00
Régis Hanol
aea2d8bbeb FIX: properly secure poll message bus
Co-authored-by: Sam <sam.saffron@gmail.com>
2018-12-05 21:27:49 +01:00
Régis Hanol
f1050350ed FIX: clamp integers to prevent 'PG::NumericValueOutOfRange' errors 2018-12-04 22:51:56 +01:00
Régis Hanol
3c9c95ac83 Update Rubocop to 0.60 2018-12-04 10:48:16 +01:00
Neil Lalonde
d43d007929 Update translations 2018-11-29 10:51:16 -05:00
Joffrey JAFFEUX
6b433b66f5
FIX: always prepend watching user timezone to previews (#6695) 2018-11-29 12:02:27 +01:00
Joffrey JAFFEUX
4237ece065
FIX: positioning issues with local-dates (#6693) 2018-11-28 16:38:47 +01:00
Joffrey JAFFEUX
eb1607bd98
DEV: local-dates refactoring (#6692) 2018-11-28 16:19:25 +01:00
Joffrey JAFFEUX
04558b6ca4
FIX: makes sure we have a zone (#6686) 2018-11-27 16:42:23 +01:00
Joffrey JAFFEUX
3e116bb14e
FIX: better handling of same offset timezones (#6680) 2018-11-27 15:17:23 +01:00
Joffrey JAFFEUX
75dac31323
FIX: compares timezones on utc offset and not name (#6672) 2018-11-27 12:36:19 +01:00
Joffrey JAFFEUX
d461794fbf
FIX: removes country from timezone indicator (#6677) 2018-11-27 11:52:02 +01:00
Joffrey JAFFEUX
ac556298ca
FIX: resets timezone default after callback (#6675) 2018-11-27 09:56:31 +01:00
Guo Xiang Tan
9cf9dee4cc DEV: Locale dates test needs to set default moment timzone.
The tests were breaking on a machine configured to use SGT timezone.
2018-11-27 13:50:57 +08:00
Penar Musaraj
03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00
Joffrey JAFFEUX
b0d08b5a8c
FEATURE: refactoring and better handling of special cases (#6666) 2018-11-26 14:20:32 +01:00
Régis Hanol
ed400a90fe
FIX: properly migrate polls/votes stored as array 2018-11-24 17:14:03 +01:00
Régis Hanol
5142911012 FIX: auto-closing poll wasn't working 2018-11-23 17:42:57 +01:00
Régis Hanol
f402d0d74f FIX: couldn't delete users who voted on a poll 2018-11-23 11:45:53 +01:00
Régis Hanol
606faa2ee5 FIX: ensure poll options keep their order 2018-11-23 10:37:05 +01:00
Joffrey JAFFEUX
3ff3bb6e2a
FIX: improves code, tests and utc handling of local-dates (#6644) 2018-11-22 17:19:24 +01:00
Guo Xiang Tan
439b3fe10a Fix MigratePollsData failing when poll-votes have duplicated options. 2018-11-21 10:52:21 +08:00
Claas Augner
52a5a5983a Update narrative bot copy 2018-11-21 00:04:54 +01:00
Régis Hanol
92100f82eb FIX: properly disable serializable attributes when poll plugin is disabled 2018-11-20 17:28:41 +01:00
Joffrey JAFFEUX
95d8a421be
fixes linting 2018-11-19 16:29:15 +01:00
Régis Hanol
4459665dee
REFACTOR: use tables instead of custom fields for polls (#6359)
Co-authored-by: Guo Xiang Tan <tgx_world@hotmail.com>
2018-11-19 14:50:00 +01:00
Joffrey JAFFEUX
c4ed353fae DEV: removes _.map from codebase (#6616) 2018-11-19 10:46:46 +01:00
Joe
9c5b5243fc
UX: don't show 0 vote count in crawler or print view 2018-11-15 17:40:01 +08: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
Kris
c09a407f65 composer alignment fixes 2018-11-13 11:12:58 -05:00
Gerhard Schlager
cbd6bd191a Add base path to relative links in translations 2018-11-08 23:31:05 +00:00
Gerhard Schlager
42f693adfa Update 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
Sam
42572ff138 Revert font awesome 5 changes
We are still pushing ahead on this 100% just need a bit longer to prepare
all plugins
2018-11-08 16:12:18 +11:00
Penar Musaraj
52440415c5 Fix SVG icon in local-dates 2018-11-07 13:22:23 -05:00
Penar Musaraj
005e1ecb9b
FEATURE: Update Font Awesome to v5.4.1 and SVGs (#6557)
* First take on subsetting svg icons

* FontAwesome 5 svg subset WIP

* Include icons from plugins/badges into svg sprite subset

* add svg icon support to themes

* Add spec for SvgSprite

* Misc. SVG icon fixes

* Use FA5 svgs in local-dates plugin

* CSS adjustments, fix SVG icons in group flair

* Use SVG icons in poll plugin

* Add SVG icons to /wizard
2018-11-07 13:05:43 -05:00
David Taylor
d963f96fa4 Update translations 2018-11-05 11:16:58 +00:00
Sam
df62b48d51 UX: remove "at" word from relative dates in local dates
Previously we would render "Today at 2:42 PM"
Now we render "Today 2:42 PM"

This also introduces new strings so it can be properly translated

Finally it introduces tests so we can make sure this keeps working
2018-10-31 11:55:43 +11:00
Kris
c219a5fb1e
Add btn-default class to all default buttons (#6521) 2018-10-24 16:09:36 -04:00
Sam
29fdb50338 FIX: if poll has not options do not break serializer
Note: we have a proper rewrite of this plugin in progress
it will address this issue in a proper way
2018-10-24 10:04:17 +11:00
Vinoth Kannan
bfa25487eb FIX: Support for local-date email preview without time attribute 2018-10-16 16:19:43 +05:30
Vinoth Kannan
2c8c1bf188 Rename timezone attribute and add it to local date details field 2018-10-16 05:04:55 +05:30
Joe
a552a39f53
UX: presence-users overlaps with composer toggles 2018-10-15 16:25:28 +08:00
Guo Xiang Tan
a4aa4a9be4 DEV: Remove the use of mocks in our tests. 2018-10-15 10:38:02 +08:00
Neil Lalonde
af39624d19 Update translations 2018-10-12 10:40:25 -04:00
Vinoth Kannan
5550f405d3 minor css tweaks 2018-10-12 13:44:37 +05:30
Vinoth Kannan
f07bece17f FIX: Make time attribute as optional for local-dates bbcode 2018-10-12 05:44:00 +05:30
Vinoth Kannan
2502a3f780 FIX: email preview content not updated in second local date 2018-10-12 03:56:35 +05:30
Vinoth Kannan
f38caf30fb Add qunit test and fix the rspec method 2018-10-12 03:32:38 +05:30
Vinoth Kannan
f54052d796 minor css tweak on local dates style 2018-10-12 03:15:42 +05:30
Vinoth Kannan
ee9d4f5516 UX: Make time attribute optional and set default timezones 2018-10-12 03:11:57 +05:30
Vinoth Kannan
8cb59b9757 UX: Use dashed underline for local dates 2018-10-12 02:32:44 +05:30
Vinoth Kannan
b54d940182 FIX: Do not use force timezone value in display timezone 2018-10-11 19:49:40 +05:30
Vinoth Kannan
6a444eee56
Merge pull request #6476 from vinothkannans/tl4-flag
FEATURE: automatically hide non-TL4 posts when flagged by a TL4 user
2018-10-11 17:13:26 +05:30
Vinoth Kannan
9a0e4eec16 REFACTOR: discobot/TL4 :off_topic flag will hide the post 2018-10-11 17:12:35 +05:30
Robin Ward
a566ed42ae FEATURE: Option to disable user presence and profile
This allows users who are privacy conscious to disable the presence
features of the forum as well as their public profile.
2018-10-10 17:34:33 -04:00
Vinoth Kannan
6b7bb543af SPEC: Check data-email-preview existance on cooked 2018-10-10 11:50:05 +05:30
Vinoth Kannan
e8e5276f30 Remove extra semicolon 2018-10-10 04:29:34 +05:30
Vinoth Kannan
c877058a24
Merge pull request #6470 from vinothkannans/local-date-text
DEV: Use simple UTC datetime format for local date inner text
2018-10-10 03:52:58 +05:30
Vinoth Kannan
98865e86da DEV: Use simple UTC datetime format for local date inner text 2018-10-10 03:49:49 +05:30
Penar Musaraj
753d39f30d Fix NoMethodError in polls#voters 2018-10-09 12:51:49 -04:00
Vinoth Kannan
7a6c227fa4 UX: Use local timezone for insert date modal result 2018-10-09 20:15:32 +05:30
Joe
9d2f855790
UX: changes CSS class added to local dates 2018-10-09 15:04:42 +08:00
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
Vinoth Kannan
16d7132ba1 SPEC: Check date and time values separately 2018-09-17 18:39:59 +05:30
Vinoth Kannan
b13b6e30d6 DEV: Skip converting local dates as json 2018-09-17 18:18:43 +05:30
Guo Xiang Tan
53d34c69fc Fix lint. 2018-09-17 10:26:48 +08:00
Joffrey JAFFEUX
4b3c2490c3 FIX: allowes forcing timezone displayed in local-dates
Use case being you might want to always display a specific timezone, but still have the possibility to show the tooltip with various timezones.
2018-09-17 10:06:57 +08: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
89e5d91f0a FIX: Tooltip should use format option instead of defaulting to "LLL". 2018-09-07 11:32:44 +08:00
Guo Xiang Tan
def4fbaf01 UX: Join dates in tooltips using line breaks. 2018-09-07 11:24:05 +08: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
Vinoth Kannan
e894f895d4 DEV: Extract dates before post_process_cooked event 2018-09-07 00:31:45 +05:30
Vinoth Kannan
f0dab5a5e4 DEV: Add local_dates post custom field 2018-09-06 23:43:24 +05:30
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
Joffrey JAFFEUX
3ed9533066
FEATURE: adds support for seconds in local-dates (#6339) 2018-08-30 12:38:05 +02:00
Joffrey JAFFEUX
5afb09ebbe
FEATURE: displays "today" if event is... today (#6336) 2018-08-30 11:25:36 +02: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
Kris
6ec43f3472 FIX: poll avatar spacing too large 2018-08-29 09:11:03 -04:00
Kris
d6144c6d60 UX: More compact polls on mobile 2018-08-27 16:53:35 -04:00
Joffrey JAFFEUX
89e7d95cc7
SECURITY: prevents XSS in local-dates 2018-08-27 11:19:30 +02:00
Joe
aa5a993935
UX: Youtube embed title overlaps with select-kit 2018-08-24 14:32:22 +08: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
Arpit Jalan
7cbf2c182f FIX: do not hide YouTube embeds inside details tag 2018-08-21 13:42:59 +05:30
Sam
f939bdbf44 FIX: if user is logged off return 404 instead of 500
Return correct error when attempting to publish presence for
a logged out user.
2018-08-21 11:22:40 +10: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
Sam
a71fe16647 workaround, we need another lazy operator here
Data can be pretty inconsistent here till our big refactor is done
2018-08-20 10:37:06 +10:00
Sam
eacb2593ee workaround badly denormalized data in polls 2018-08-17 11:15:29 +10:00
Joffrey JAFFEUX
10a3499d68
uses emoji versions for specs (#6276) 2018-08-16 13:45:30 +02: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
Kris
97af6e070f FIX: email summary expansion button should use theme colors 2018-08-06 11:44:37 -04:00
Kris
84d822959a Reducing some specificity, color fix 2018-08-03 17:44:22 -04:00
Maja Komel
04baddf731 DEV: migrate tests to async/await 2018-07-30 12:21:05 +02: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
Joffrey JAFFEUX
c580a39d49
FIX: infers time from tz creator to ensure day shown is the one expected 2018-07-16 01:04:50 +02:00
Kris
b79fedd540 Streamlining some breakpoint mixins 2018-07-12 16:39:16 -04:00