Robin Ward
6287eccb35
REFACTOR: Remove Ember.Controller
in favor of import
2019-10-23 13:06:54 -04:00
Robin Ward
e18af18fec
Support and examples for Ember.Object
and Ember.Controller
imports
...
We should stop using global variables and instead import these as
needed.
2019-10-23 12:55:11 -04:00
Robin Ward
0b37a3c235
Additioning Linting fixes
2019-10-23 12:41:58 -04:00
Robin Ward
dd3ace5c77
REFACTOR: Replace Ember.Route
with proper import
2019-10-23 12:39:32 -04:00
Robin Ward
a8a76198b1
REFACTOR: Remove Ember.Component
global variable
...
Use imports instead.
2019-10-23 12:30:52 -04:00
Joffrey JAFFEUX
3db61aa18a
UX: applies correct background to <select> on dark themes ( #8234 )
2019-10-23 17:10:10 +02:00
Penar Musaraj
4fa1ef0945
UX: Improve quoting on iOS
...
Fixes quote usability on iOS when the button is near the right edge of the screen.
2019-10-23 10:44:47 -04:00
Dan Ungureanu
a7301c8671
PERF: Add index on group to category_groups ( #8231 )
2019-10-23 10:30:43 +01:00
Dan Ungureanu
09a569aaba
PERF: Add unique index oauth2_user_infos(user_id, provider) ( #8230 )
2019-10-23 10:27:56 +01:00
Daniel Waterworth
1a72a61822
FIX: Fixed testsuite
...
The backup restorer tests weren't cleaning up after themselves and
playing poorly with prefabrication.
2019-10-23 09:43:05 +01:00
Krzysztof Kotlarek
f34a0141c7
FIX: Correct path to ImportExport module ( #8227 )
...
During the move from Classic autoloader to Zeitwerk import_export module was moved to correct file name convention.
427d54b2b0 (diff-d896ec33b95afb7fae9f8bfe73d0580b)
Problem is that export/import is still using old path to require that module
Meta: https://meta.discourse.org/t/topic-and-category-export-import/38930/40
2019-10-23 17:27:14 +11:00
Krzysztof Kotlarek
f69dacf979
FIX: Reconnect in restore process connects to correct DB ( #8218 )
...
Simplified flow of restore is like that
```
migrate_database
reconnect
extract_uploads
```
Problem with incorrect current database started with this fix https://github.com/discourse/discourse/commit/025d4ee91f4
Dump task is reconnecting to default database https://github.com/rails/rails/blob/master/activerecord/lib/active_record/railties/databases.rake#L429
And then, we are trying to reconnect to the original database with that code:
```
def reconnect_database
log "Reconnecting to the database..."
RailsMultisite::ConnectionManagement::establish_connection(db: @current_db)
end
```
This reconnect is not switching us back to correct database because of that check
https://github.com/discourse/rails_multisite/blob/master/lib/rails_multisite/connection_management.rb#L181
Basically, it finds existing handler and it thinks that we are connected to correct DB and this step can be skipped.
To solve it, we can reload RailsMultisite::ConnectionManagement which creates a new instance of that class
https://github.com/discourse/rails_multisite/blob/master/lib/rails_multisite/connection_management.rb#L38
2019-10-23 17:23:50 +11:00
Sam Saffron
950da34826
DEV: waiting for 10ms is hardly enough
...
tests that test thread behavior and rely on scheduling need to allow for
a wider amount of error margin
2019-10-23 16:18:41 +11:00
Sam Saffron
676c432b0f
FIX: notifications are missing under certain conditions
...
This simplifies the code for refreshing notification counts. It now
unconditionally looks up the user object which protects against stale objects
in memory.
This also removes a pile of conditional logic we no longer need.
2019-10-23 16:09:55 +11:00
Penar Musaraj
ab6a540fc4
UX: fixes regression with iOS composer
...
Fixes a bug introduced in e83c2488a2
where dismissing the keyboard in iOS would not minimize the composer.
2019-10-22 23:10:18 -04:00
Kris
67ad8fbd1b
minor button styling for admin login
2019-10-22 16:45:23 -04:00
Kris
d4f1e6d11b
UX: update disabled dropdowns style w/ color variables
2019-10-22 16:32:24 -04:00
Penar Musaraj
2ab6a68629
UX: Standardize tag display in search menu results
...
This allows theme components (like discourse-tag-icons) to apply to tag results in search menu.
2019-10-22 14:19:24 -04:00
Arpit Jalan
1e9d9d9346
FIX: respect tl3 links no follow
setting ( #8232 )
2019-10-22 22:41:04 +05:30
Gerhard Schlager
51ecbeef4d
DEV: Upgrade lefthook
...
`yarn install` didn't work on a fresh system
2019-10-22 18:00:20 +02:00
romanrizzi
a411806551
FIX: Return blank avatar when downloading an avatar is not possible due to file size
2019-10-22 12:05:36 -03:00
romanrizzi
e112369bb6
FIX: Exclude image_url from web_hook_topic_view_serializer
2019-10-22 11:53:24 -03:00
Blake Erickson
7d09af7eda
FIX: Prevent null-byte searches causing 500 error ( #8226 )
...
This fix ensures that searches that contain a null byte return a 400
error instead of causing a 500 error.
For some reason from rspec we will reach the raise statement inside
of the `rescue_from ArgumentError` block, but outside of rspec it will
not execute the raise statement and so a 500 is thrown instead of
reaching the `rescue_from Discourse::InvalidParameters` block inside of
the application controller.
This fix raises Discourse::InvalidParameters directly from the search
controller instead of relying on `PG::Connection.escape_string` to
raise the `ArgumentError`.
2019-10-22 08:44:52 -06:00
Robin Ward
283a0add80
Support for importing @ember/component
and @ember/routing/route
( #8214 )
...
This will allow us to take the first step in updating our modules
to be consistent with example Ember code and to align with Ember CLI.
2019-10-22 09:47:27 -04:00
Mark VanLandingham
e5311ab645
DEV: Import DiscourseRoute rather than Discourse.Route ( #8225 )
...
* DEV: Discourse.Route -> DiscourseRoute with import
* ran prettier on all routes
* prettiered one more file
2019-10-22 09:46:10 -04:00
Arpit Jalan
12409f63a0
Bump onebox version.
...
- FIX: Follow redirect returns url if response code is 200
- FIX: do not resize xkcd image
2019-10-22 12:26:01 +05:30
Blake Erickson
3201613f13
FEATURE: Include image url in topic serializer
...
The `image_url` is already included when fetching a list of topics, and
this commit adds it to the individual topic serializer so that it is
available via the api.
See
https://meta.discourse.org/t/single-topic-api-endpoint-should-contain-image-url/131020
for more details.
2019-10-21 22:02:49 -06:00
Blake Erickson
ef0fe51e05
FIX: Include user id in notification webhook ( #8195 )
...
The payload when receiving a notification webhook is pointless without
knowing which user the notification is for. This fix adds the user_id to
the notification serializer so that when you receive a notification
webhook you can properly identify which user the notification is for.
See
https://meta.discourse.org/t/getting-the-target-user-for-notification-webhook-events/129052?u=blake
for more details.
2019-10-21 16:24:41 -06:00
Dan Ungureanu
ceb74bef8f
DEV: Add test.
...
Follow-up to 2f54dd5e3d
.
2019-10-21 21:33:58 +03:00
Dan Ungureanu
2f54dd5e3d
FIX: Load user model when some attributes are missing.
...
Follow-up to 3ad07aacfa
.
2019-10-21 21:05:25 +03:00
Robin Ward
ab53b485b4
Add setter for excerpt_size
so plugins can set it more easily
2019-10-21 13:44:32 -04:00
Michael Brown
40b0b549ff
DEV: update the comments re the encoded slug changes
...
* followup to 2e73985d
2019-10-21 13:39:45 -04:00
Rafael dos Santos Silva
2e73985d1b
FIX: Make category updates slug validation idempotent
...
Co-authored-by: Michael Brown <supermathie@gmail.com>
2019-10-21 14:33:19 -03:00
Dan Ungureanu
3ad07aacfa
FIX: Reload only notifications when refreshing notification count ( #8221 )
...
Previously, we used to reload the whole User instance which discarded
any changes made (for example setting 'unstage' to false).
2019-10-21 20:25:46 +03:00
Dan Ungureanu
1358312584
FIX: Zeitwerk-related fixes for jobs. ( #8219 )
2019-10-21 20:25:35 +03:00
Kris
b41b12ad71
Add unique class to custom field wrappers ( #8193 )
2019-10-21 12:22:55 -04:00
Kris
56862f61c0
Add group name classes to tag page so groups can be hidden with CSS ( #8118 )
2019-10-21 12:22:19 -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
Nacho Caballero
d5121e5ddb
FIX: Add common HTML5 media extensions to onebox audio and video tags ( #8216 )
2019-10-21 12:10:40 -04:00
Robin Ward
3085b923f6
Removed MOVED_MODULES
which is 3 years old
2019-10-21 11:59:13 -04:00
Robin Ward
9dcdbcfd5b
Run prettier on the loader
2019-10-21 11:56:15 -04:00
David Taylor
cc56f226b8
FIX: Correct mention autocomplete in new topics in unsecured categories
...
When autocompleting mentions in secure categories, we immediately populate the list with users which have permission to view the category. This logic is applied to unsecured categories as well, but the server returns an empty list of users. This commit teaches the autocomplete to understand empty lists of users without terminating the autocomplete dropdown.
2019-10-21 14:52:54 +01:00
Vinoth Kannan
5e55e75aed
FIX: 'only_hidden_tags_changed?' method returned 'true' even when tags are not changed.
...
While editing the first post it does't bumped the topic when the new post revision created. Because we wrongly assumed that the hidden tags are changed even when no tags are updated.
2019-10-21 17:57:31 +05:30
Daniel Waterworth
594925b896
FIX: id is always true since it's been to_i'd
...
Let's only look up the category if the id has been provided
2019-10-21 13:21:12 +01:00
Daniel Waterworth
1352a5b5fa
DEV: undo pluck_first changes to micro benchmark
...
and add pluck_first benchmark
2019-10-21 12:21:24 +01:00
Daniel Waterworth
55a1394342
DEV: pluck_first
...
Doing .pluck(:column).first is a very common pattern in Discourse and in
most cases, a limit cause isn't being added. Instead of adding a limit
clause to all these callsites, this commit adds two new methods to
ActiveRecord::Relation:
pluck_first, equivalent to limit(1).pluck(*columns).first
and pluck_first! which, like other finder methods, raises an exception
when no record is found
2019-10-21 12:08:20 +01:00
Joffrey JAFFEUX
72822aa93f
FIX: d-button should default type to button ( #8217 )
...
This will prevent unexpected behaviour of d-button being considered as a submit button.
2019-10-21 09:42:19 +02:00
Joffrey JAFFEUX
8f51445e9f
FIX: fixes plugin generator with zeitwerk ( #8220 )
2019-10-21 09:24:14 +02:00
Sam Saffron
98d6cee7c7
FIX: various fixes to draft system
...
- destroyDraft which is called when we cancel a draft is now async,
removing race conditions when you click "reply" to a post and are
already editing. We used to trigger double dialogs for cancelling
drafts which was confusing.
- Remove reply as new topic / reply as pm keys, they are no longer
used and only caused confustion. For example we used to pop up a
warning when you are composing a reply and flick to reply as
new topic
- Remove createTopic key, this was a bug that proliferated. Whenever
creating a topic via the C shortcut or clicking on new topic on full
screen search the correct new topic draft key will be used
consistently
- When abandoning an edit we now say "Are you sure you want to discard
your changes" (instead of abandon your post which is confusing)
2019-10-21 17:24:06 +11:00
Krzysztof Kotlarek
858cf5836c
FIX: update Redis gem to version 4.1.3
...
I run our benchmark on commit with hiredis and redis-4.1.3
Results:
type | hidredis | redis 4.1.3 | percent
--- | --- | --- | ---
Categories-50 | 49 | 50 | 102.04%
Categories-75 | 51 | 51 | 100.00%
Categories-90 | 63 | 64 | 101.59%
Categories-99 | 86 | 85 | 98.84%
Home-50 | 55 | 55 | 100.00%
Home-75 | 56 | 57 | 101.79%
Home-90 | 68 | 69 | 101.47%
Home-99 | 102 | 104 | 101.96%
Topic-50 | 36 | 37 | 102.78%
Topic-75 | 37 | 37 | 100.00%
Topic-90 | 47 | 48 | 102.13%
Topic-99 | 60 | 61 | 101.67%
Categories-admin-50 | 124 | 117 | 94.35%
Categories-admin-75 | 130 | 129 | 99.23%
Categories-admin-90 | 147 | 143 | 97.28%
Categories-admin-99 | 204 | 199 | 97.55%
Home-admin-50 | 146 | 148 | 101.37%
Home-admin-75 | 150 | 152 | 101.33%
Home-admin-90 | 169 | 168 | 99.41%
Home-admin-99 | 232 | 223 | 96.12%
Topic-admin-50 | 60 | 61 | 101.67%
Topic-admin-75 | 64 | 63 | 98.44%
Topic-admin-90 | 76 | 73 | 96.05%
Topic-admin-99 | 124 | 94 | 75.81%
Load rails | 2412 | 2360 | 97.84%
rss | 290204 | 295828 | 101.94%
pss | 277948 | 283624 | 102.04%
Redis gem is manipulating Redis config https://github.com/redis/redis-rb/blob/master/lib/redis/client.rb#L95
therefore we cannot pass the frozen config object.
Pass of the copy of the object is protecting original config
2019-10-21 09:59:24 +11:00