Commit Graph

20054 Commits

Author SHA1 Message Date
Arpit Jalan
a3bcb8e887 UX: make onebox video placeholder icon grey 2019-06-26 23:40:36 +05:30
Arpit Jalan
168a38dc29 Bump onebox version.
- better Twitch placeholder
- CSS for said placeholder
2019-06-26 23:22:29 +05:30
Robin Ward
817661aed9 UX: Require a confirmation if approving a post in a closed topic 2019-06-26 12:21:49 -04:00
Robin Ward
14a64e7c4c Move "Hide Post" option up to the top on the review interface
If you agree with the post you are likely to want to hide it.
2019-06-26 11:35:59 -04:00
Robin Ward
eedec7d79b FIX: Only include pending/agreed scores in the total score
This should prevent posts from being hidden if a previous flag was
rejected and a new one was added.
2019-06-26 11:21:35 -04:00
Joffrey JAFFEUX
c63268467e
DEV: prettier 1.18.2 (#7810) 2019-06-26 17:09:52 +02:00
Penar Musaraj
76307611dc
UX: new inline button to remove a topic timer (#7790) 2019-06-26 11:08:53 -04:00
Gerhard Schlager
13f38055ac SECURITY: XSS in routes
Co-authored-by: Guo Xiang Tan <tgx_world@hotmail.com>
Co-authored-by: David Taylor <david@taylorhq.com>
2019-06-26 16:34:15 +02:00
Joffrey JAFFEUX
56b76f31dc
fix prettier linting (#7809) 2019-06-26 15:26:02 +02:00
Joffrey JAFFEUX
dfde59f631
FIX: provides an emoji helper to replace codes by images (#7802) 2019-06-26 15:11:04 +02:00
Daniel Waterworth
65a6e2c860 Change Widget#attach signature
Take a fallback option instead of a list of names
2019-06-26 09:01:25 -04:00
Daniel Waterworth
37b8f5d989 Use dasherize instead of replace 2019-06-26 09:01:25 -04:00
Daniel Waterworth
d025e188e8 Make the linter happy 2019-06-26 09:01:25 -04:00
Daniel Waterworth
70e27641eb Pass data to description to prevent duplication 2019-06-26 09:01:25 -04:00
Daniel Waterworth
8c349101c5 Pass data to text method to prevent duplication 2019-06-26 09:01:25 -04:00
Daniel Waterworth
86d5208b31 Pass data to url method to avoid duplication 2019-06-26 09:01:25 -04:00
Daniel Waterworth
ac6f7b3625 Remove notificationType argument from text 2019-06-26 09:01:25 -04:00
Daniel Waterworth
a3254b8446 Pull invitee accepted notification behaviour into its own class 2019-06-26 09:01:25 -04:00
Daniel Waterworth
7c52ba1431 Pull liked consolidated notification behaviour into its own class 2019-06-26 09:01:25 -04:00
Daniel Waterworth
42143a874e Pull custom notification behaviour into its own class 2019-06-26 09:01:25 -04:00
Daniel Waterworth
305562bf66 Pull title logic into its own method 2019-06-26 09:01:25 -04:00
Daniel Waterworth
d83147d137 Rename "title" variable to more apt "description" 2019-06-26 09:01:25 -04:00
Daniel Waterworth
02deaa4bc6 Pull icon choosing into its own method 2019-06-26 09:01:25 -04:00
Daniel Waterworth
36d7abed0b Pull group message summary behaviour into its own class 2019-06-26 09:01:25 -04:00
Daniel Waterworth
396e13aaa7 Pull liked notification behaviour in its own class 2019-06-26 09:01:25 -04:00
Daniel Waterworth
bd062fcbef Export DefaultNotificationItem 2019-06-26 09:01:25 -04:00
Daniel Waterworth
04a75b1cb3 Change the way notification items are created
Look for the specialised version first, before falling back to the
default. This allows the behaviour to be customised based on the type of
notification.
2019-06-26 09:01:25 -04:00
Daniel Waterworth
cdf0cd3ecd createWidgetFrom creates a new widget with an arbitrary base class 2019-06-26 09:01:25 -04:00
Daniel Waterworth
01a7fd4225 Make attach optionally take a list of widget names to try 2019-06-26 09:01:25 -04:00
Daniel Waterworth
41129f933d Rename notification-item to default-notification-item 2019-06-26 09:01:25 -04:00
Daniel Waterworth
7e70db3fb7 s/notName/notificationName/g 2019-06-26 09:01:25 -04:00
Joffrey JAFFEUX
7c9d62c280
FIX: prevents failure when TL was mutated on internal object (#7808) 2019-06-26 14:51:45 +02:00
Joffrey JAFFEUX
01de7e1444
FIX: calling action with a string is deprecated (#7807) 2019-06-26 12:42:46 +02:00
Joffrey JAFFEUX
e64544ae44
icon s/trash/trash-alt (#7806) 2019-06-26 12:31:49 +02:00
Joffrey JAFFEUX
ea2a9bc4fc
FIX: closes search-menu on escape (#7804) 2019-06-26 11:53:39 +02:00
Arpit Jalan
2af4002817 Bump onebox version.
- Add a placeholder icon for Twitch onebox preview
- Add CSS for showing fontawesome play icon for placeholder class
2019-06-26 13:40:14 +05:30
Sam Saffron
333b5a19b2 FIX: do not include uncategorized_category_id in topic_create_allowed if posting in uncategorized is disabled
Previously users were still allowed to create topic via API even if
uncategorized was disabled.

Not 100% happy with all this special casing, but I guess we have to do
something.

This also splits up a mega spec now that we have fab! into a more easy to
understand structure (I hope)
2019-06-26 17:41:07 +10:00
Osama Sayegh
2eece2c41b
UX: add shortcut for deferring topics (#7798) 2019-06-25 07:20:55 +03:00
David Taylor
afb5ec811d FIX: Don't use DistributedCache to store redis readonly state
This can cause unbound CPU usage in some cases, and excessive logging in other cases. This commit moves redis readonly information into the local process, but maintains the DistributedCache for postgres readonly state.
2019-06-25 11:20:34 +08:00
Sam Saffron
f3e4e6941c DEV: Correct batch setting of categories
followup to #bc03c509

There were 2 problems

1. VALUES was not properly getting multiple results ... we need (1),(2),(3)
not (1,2,3)

2. changes was mistakenly lazy evaluated eg `changed ||=` which meant some
queries were not running
2019-06-25 13:05:43 +10:00
Daniel Waterworth
bc03c509ab FIX: CategoryUser#batch_set (#7787)
* Remove unused method

* Prefabricate user in category_user_spec.rb

* FIX: Remove notification_level from category_users unique indexes

* FIX: CategoryUser#batch_set wasn't updating pre-existing records

* Improve tests for CategoryUser#batch_set

* FIX: changed was being reported incorrectly

* DEV: Rewrote query to do a bulk insert

* DEV: remove unnecessary parentheses
2019-06-25 12:13:27 +10:00
Jeff Wong
6de254f642 FIX: iterate when clearing watched words cache 2019-06-24 17:17:56 -07:00
Vinoth Kannan
b1ca64487a FIX: multisite upload urls must have either db name or the word 'short-url'. 2019-06-25 01:19:58 +05:30
Kris
9e54e0141e FIX: mobile overflow for tall fixed modals 2019-06-24 12:24:13 -04:00
Joffrey JAFFEUX
c1ca942a77
REFACTOR: removes self pattern from safari-hacks lib (#7795) 2019-06-24 11:12:06 +02:00
Joffrey JAFFEUX
e064db35d9
REFACTOR: removes self pattern from eyeline lib (#7796) 2019-06-24 10:58:59 +02:00
Joffrey JAFFEUX
cea3a027f3
FIX: category-chooser search should be scoped to category (#7794) 2019-06-24 10:45:30 +02:00
Joffrey JAFFEUX
7cabc47945
UX: improves change-timestamp modal datepicker (#7771) 2019-06-24 10:24:54 +02:00
Dan Ungureanu
ee8669d778
FIX: Ensure :after_auth event is triggered. (#7791) 2019-06-21 21:57:49 +03:00
Robin Ward
02f6db4e59 FIX: Back button shenanigans when redirecting from index routes
This is a problem that has long plagued Discourse. The root issue here
is that we have to implement our own link click handler, because
Discourse allows users to create HTML blobs of content with links, and
when those links are clicked they must be handled by the Ember router.

This always involved a certain amount of use of private Ember APIs which
of course evolved over time.

The API has more or less stabilized in the last two years, however we
have hacks in our URLs to handle a dynamic root path, depending on how
forums have set up their filters and in what order.

This patch adds a special case for the root path so we needn't update
the URL ourselves otherwise, which preserves the back button on index
routes. The update call would otherwise insert an extra history event if
a route redirected on transition, breaking the back button.
2019-06-21 14:42:01 -04:00
Penar Musaraj
e51de4cc25
FEATURE: Add endpoint to individually update a theme setting (#7789)
- also adds a new staff action type called "change theme setting" for easier logging of staff changes to theme settings
2019-06-21 13:49:14 -04:00
Arpit Jalan
2738d11f60
UX: show like icon on archived posts (#7775) 2019-06-21 20:47:32 +05:30
Joffrey JAFFEUX
1cbe2dd2ce
DEV: adds polyfill to fully support DOMTokenList in IE (#7765) 2019-06-21 09:59:28 +02:00
Guo Xiang Tan
7c86f16aa3 FIX: Support carriage return in InlineUploads.
Follow up to 8deaef3872.
2019-06-21 14:07:06 +08:00
Guo Xiang Tan
8deaef3872 FIX: Don't replace img tags within anchor tags with markdown format.
Follow up to 9a25b0d614.
2019-06-21 12:32:02 +08:00
Guo Xiang Tan
9a25b0d614 FIX: Edge case with anchor tag in InlineUploads. 2019-06-21 09:55:56 +08:00
Robin Ward
fc026e12a5 FIX: Some toolbar operations weren't triggering the change event
This would mean that some simple edits to queued posts did not get
saved.
2019-06-20 13:35:12 -04:00
Penar Musaraj
0e26c57afa FIX: Do not refresh all settings on save for all settings, limit to only a few
- Followup to 0e303c7f5d

- Automatically reloads site settings after saving only for the logo, logo_small and large_icon settings.
2019-06-20 10:57:31 -04:00
Vinoth Kannan
56b7777705 FIX: 'status' param change not filtering the topics in tag route.
Use existing 'filterQueryParams' helper method to set 'queryParams' value for tag route.
2019-06-20 17:27:32 +05:30
Guo Xiang Tan
53efb7bd24 FIX: BBcode edge case for InlineUploads. 2019-06-20 11:47:51 +08:00
Penar Musaraj
f096c994de FIX: use correct name for selectable_avatars_enabled site setting 2019-06-19 13:18:16 -04:00
Guo Xiang Tan
34f382b758 FIX: InlineUploads should replace attachment links with markdown text. 2019-06-19 11:15:02 +08:00
Guo Xiang Tan
73a45048a0 FIX: Upload#short_url generates incorrect URL when extension is nil. 2019-06-19 09:10:50 +08:00
Robin Ward
6fec4982d9 FIX: Couldn't modify a widget that wasn't in the registry 2019-06-18 12:28:18 -04:00
Sam Saffron
03ba1d49fb DEV: lint file
We no longer need that isAppleDevice require
2019-06-18 17:12:55 +10:00
Maja Komel
506de13896 FIX: remove temporary hack for fixed iOS bug (#7773)
A bug where input focus is displaced on modals was fixed in iOS 11.3 update. This hack was causing problems on topic page since hiding main-outlet results in lost read position after opening and closing a modal.
2019-06-18 16:25:29 +10:00
Jeff Wong
893b50031d
replace subfolder on cdn url conversion between general cdn and s3 (#7764)
When both a cdn URL and an s3 cdn URL defined, subfolder paths were leaking
through to the s3 cdn URL. If we are replacing the cdn url with the s3_cdn url,
we also need to make sure that the subpath is removed as well, as it appears in
the original cdn url.

The test should give a fairly good gist of the situations - in subfolder
situations where s3_cdn and a cdn is defined:
`asset_path` returns the asset with a subfolder, in the form `{cdn_url}/{subfolder}/{asset_path}`

Currently this is being replaced to `{s3_cdn_url}/{subfolder}/{asset_path}`
I am proposing we change this to: `{s3_cdn_url}/{asset_path}` as it seems like
for s3_cdn urls we should not be carrying around app subfolder pathing anywhere
we are looking up s3 paths.
2019-06-17 11:51:17 -07:00
David Taylor
e6e47f2fb2 SECURITY: Add confirmation screen when logging in via user-api OTP 2019-06-17 16:18:44 +01:00
David Taylor
52387be4a4 SECURITY: Add confirmation screen when logging in via email link 2019-06-17 16:18:37 +01:00
David Taylor
5f6f707080 Revert "Merge pull request from GHSA-hv9p-jfm4-gpr9"
This reverts commit b8340c6c8e.
2019-06-17 16:17:10 +01:00
David Taylor
b8340c6c8e
Merge pull request from GHSA-hv9p-jfm4-gpr9
* SECURITY: Add confirmation screen when logging in via email link

* SECURITY: Add confirmation screen when logging in via user-api OTP

* FIX: Correct translation key in session controller specs

* FIX: Use .email-login class for page
2019-06-17 15:59:41 +01:00
Arpit Jalan
863d8014d0 FIX: respond with 400 error on invalid redirect param 2019-06-17 16:44:30 +05:30
Arpit Jalan
102be5a9e3 DEV: optimize fix for sub-categories not getting pre-filled. 2019-06-17 13:28:08 +05:30
tshenry
c909033f2b Add plugin outlets to login/create-account modals (#7770) 2019-06-17 16:22:00 +10:00
Sam Saffron
704c579550 FIX: do not allow unbound membership lookups
Previously we would allow looking up membership limits in an unbound way
via the API, this introduces an upper limit of 1000 per page.
2019-06-17 15:32:06 +10:00
Sam Saffron
fe4f0a4369 FIX: staged users should not be included in TL groups
staged users should not be included in any automatic groups cause for all
purposes they do not exist.
2019-06-17 15:10:47 +10:00
Arpit Jalan
48b9e0d749 FIX: sub-categories was not getting selected for pre-filled topics 2019-06-15 13:46:15 +05:30
Kris
9cb656250d FIX: Allow tall tables to scroll vertically on iOS 2019-06-14 14:26:59 -04:00
Guo Xiang Tan
77c06384c0 Fix the build. 2019-06-14 13:56:35 +08:00
Guo Xiang Tan
5d16d10a9e DEV: Fix edge case for InlineUploads. 2019-06-14 13:48:03 +08:00
Guo Xiang Tan
befb074c98 DEV: InlineUploads should process CDN upload URLs as well. 2019-06-14 13:14:37 +08:00
Guo Xiang Tan
41abebcbce DEV: Support both http and https for InlineUploads. 2019-06-14 12:48:31 +08:00
Guo Xiang Tan
c9db897777 FIX: Remove onebox src from Jobs::PullHotlinkedImages.
The test that was added is incorrect because the post was not cooked.
2019-06-14 09:21:25 +08:00
Sam Saffron
457be89445 DEV: only skip migration if a non seeded upload exists
Followup to 667b9801
2019-06-14 09:52:02 +10:00
Sam Saffron
667b98017a FIX: do not attempt to migrate pre-existing uploads
This makes this job re-runnable just in case cause it will skip creation
of new uploads if an upload already exists
2019-06-14 09:39:22 +10:00
Arpit Jalan
efc05e7224 FIX: remove topic timer info on completion 2019-06-13 17:01:43 +05:30
Joffrey JAFFEUX
fbbce235ce
UX: improves change-timestamp modal (#7766) 2019-06-13 13:30:33 +02:00
Guo Xiang Tan
9daed05ad0 Fix the build. 2019-06-13 13:53:43 +08:00
Guo Xiang Tan
7a0d031bc4 FIX: InlineUploads matching on external bbcode img url. 2019-06-13 13:47:36 +08:00
Guo Xiang Tan
782e583844 FIX: Edge cases with markdown references for InlineUploads. 2019-06-13 12:08:01 +08:00
Guo Xiang Tan
93c552afda FIX: InlineUploads does not correct urls with uppercase extension. 2019-06-13 11:19:33 +08:00
Sam
fa2a5f6f56
FEATURE: SKIP_DB_AND_REDIS env var (#7756)
Sometimes we would like to create a base image without any DB access, this
assists in creating custom base images with custom plugins that already
includes `public/assets`

Following this change set you can run:

```
SPROCKETS_CONCURRENT=1 DONT_PRECOMPILE_CSS=1 SKIP_DB_AND_REDIS=1 RAILS_ENV=production bin/rake assets:precompile
```

Then it is straight forward to create a base image without needing a DB or
Redis.
2019-06-13 12:58:27 +10:00
Joffrey JAFFEUX
19ca2d4772
DEV: reset widget clean callback between tests (#7761) 2019-06-12 17:49:02 +02:00
Robin Ward
13b979cb71 FIX: Performing actions on a particular reviewable was displaying an error
It was expecting a method to remove the reviewable from the current
list, only we were not displaying a list.

Instead, we refresh the reviewable model with the latest result.
2019-06-12 10:56:30 -04:00
Arpit Jalan
36e53db300 Fix the build. 2019-06-12 16:44:17 +05:30
Arpit Jalan
7b66f8fb46 DEV: optimize bulk invite process 2019-06-12 16:33:19 +05:30
Guo Xiang Tan
f0846ea7cf DEV: Remove unused line. 2019-06-12 17:38:30 +08:00
Guo Xiang Tan
641521896c FIX: Cover more edge cases in InlineUploads. 2019-06-12 17:06:58 +08:00
Maja Komel
0a1b16bb16 FIX: clean up cooked group bio when bio is removed (#7745) 2019-06-12 16:18:38 +10:00
Guo Xiang Tan
73bf880f74 FIX: Correct more edge cases with InlineUploads. 2019-06-12 10:44:25 +08:00