Robin Ward
888d56774a
DEV: HTML Builders should respect if a plugin is enabled or not ( #8454 )
...
Previously they would return the HTML regardless of whether the plugin
was enabled or not.
2019-12-04 12:26:23 -05:00
Robin Ward
5df719a3c2
FEATURE: Support pasting a list of usernames into a PM
...
This allows you to paste multiple usernames into a PM's recipient list
at once. It supports usernames separated by spaces, commas, and new lines.
2019-12-02 11:28:09 -05:00
Robin Ward
7fee3c61de
Support for custom messages and redirects when creating posts ( #8434 )
...
* Support for custom messages and redirects when creating posts
When a post/topic is created Discourse serializes a `NewPostResult`
object. Normally this contains a status like `created_post` or
errors describing why the post could not be created.
There are times when a plugin might want to take the inputted post
and do something in the background. In this case, the plugin
can return a custom `message` and `route_to` attribute in the
`NewPostResult`.
If present, the message will be displayed in an alert, and when "Ok" is
clicked the user will be routed to the new URL.
* Destroy the draft in parallel
2019-11-29 09:30:54 -05:00
Robin Ward
d7b710194d
Revert "REVERT: Use 1.0.6 for linting for now"
...
This reverts commit 457986d52a .
2019-11-21 10:35:57 -05:00
Robin Ward
457986d52a
REVERT: Use 1.0.6 for linting for now
...
Plugins have not been updated and our build fails.
2019-11-20 16:06:39 -05:00
Robin Ward
947416004f
FIX: EventTarget error
2019-11-20 15:51:42 -05:00
Robin Ward
d7ae052efe
DEV: Don't allow Promise unless imported from "rsvp"
...
We want to make sure we are using the correct promise implementation so
let's lint out the browser version.
2019-11-20 15:24:59 -05:00
Robin Ward
9b60900b8d
FIX: More Promise uses that were not imported
2019-11-19 15:58:40 -05:00
Robin Ward
397852a9a6
FIX: Support for rake db:rollback with plugins
...
For this to work we need to overwrite `db:rollback` in our Rakefile like
we do for migrate, so that it removes the load_config dependency. This
allows our custom migration paths to work.
2019-11-15 16:38:46 -05:00
Robin Ward
d4b7c028fa
REFACTOR: Move upload utilities to their own file
2019-11-14 12:51:08 -05:00
Robin Ward
a4b89f8187
DEV: Remove some extra Discourse.Site uses
2019-11-13 16:00:58 -05:00
Robin Ward
bc2067898e
FIX: Missing User objects in Utilities
2019-11-13 15:55:32 -05:00
Robin Ward
f5ed0dc2e6
FIX: Failing tests
2019-11-13 15:34:30 -05:00
Robin Ward
3d0b310368
DEV: Fix some more deprecated Discourse.User and Discourse.Site
2019-11-13 15:34:30 -05:00
Robin Ward
d2b3ac1282
FIX: Missing braces
2019-11-13 12:04:40 -05:00
Robin Ward
f518065654
FIX: computed is part of @ember/object not @ember/object/computed
2019-11-13 11:58:09 -05:00
Robin Ward
4422d9a4bf
DEV: Provide a nicer error when JSON is malformed
...
This is very useful for development. It will give a much nicer error if
the JSON that comes back from the server is missing a required key.
2019-11-12 13:04:52 -05:00
Robin Ward
f49494b0bf
REFACTOR: Remove a few Discourse.Site globals
2019-11-12 10:53:22 -05:00
Robin Ward
afadf361b3
REFACTOR: idMap should be a private API
2019-11-12 10:53:22 -05:00
Robin Ward
7f651b9666
REFACTOR: Deprecate Discourse.Site and Discourse.User
2019-11-12 10:53:22 -05:00
Robin Ward
6e481851e7
REFACTOR: Don't generate Discourse constants for mixins
2019-11-12 10:21:43 -05:00
Robin Ward
34665d3f96
FIX: In case @ember/object hasn't been loaded yet
2019-11-11 15:56:58 -05: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
Robin Ward
e8dae447bd
REFACTOR: Remove discourse/lib/throttle
2019-11-11 13:21:03 -05:00
Robin Ward
0c8ae1e849
FIX: More missing RSVP imports
2019-11-11 09:25:33 -05:00
Robin Ward
2a6713c2ba
FIX: Was using a native browser Promise instead of RSVP
2019-11-11 09:23:26 -05:00
Robin Ward
920f8c6d75
REFACTOR: Remove Discourse.Route in lieu of importing
2019-11-08 15:18:13 -05:00
Robin Ward
c0e105fc8c
FIX: Return a deprecation for Discourse.Session
2019-11-08 14:55:36 -05:00
Robin Ward
bd92fdeb4d
FIX: Add deprecation for Discourse.NavItem in case themes are using it
2019-11-08 14:14:51 -05:00
Robin Ward
f03edb36be
REFACTOR: Remove Discourse.Model
2019-11-08 14:13:35 -05:00
Robin Ward
fa71919693
REFACTOR: Don't transpile Discourse.Session
2019-11-08 13:48:18 -05:00
Robin Ward
291572a97a
REFACTOR: Remove Discourse.Session constants
2019-11-08 13:46:50 -05:00
Robin Ward
7ac2a55588
REFACTOR: Remove Discourse.Category constants
2019-11-08 13:31:00 -05:00
Robin Ward
7e44065bcb
REFACTOR: Migrate Discourse.Post to imports
2019-11-08 13:13:13 -05:00
Robin Ward
932c169d46
REFACTOR: Remove Discourse.NavItem constants
2019-11-08 12:56:13 -05:00
Robin Ward
779ee3558d
REFACTOR: Remove Discourse.UserAction from code
2019-11-08 12:52:39 -05:00
Robin Ward
1990baa457
REFACTOR: Remove constant definition for discourse/routes/grouped
2019-11-08 12:47:39 -05:00
Robin Ward
d74546f50e
REFACTOR: Remove Discourse.Topic constant
2019-11-07 15:46:58 -05:00
Robin Ward
9d457fa51f
REFACTOR: Remove Discourse.TrustLevel constant
2019-11-07 15:26:26 -05:00
Robin Ward
0e2261c414
FIX: Linting
2019-11-01 13:57:22 -04:00
Robin Ward
dceb72bc69
FIX: Move makeArray to discourse-common
2019-11-01 13:50:15 -04:00
Robin Ward
6300ac699a
FIX: Missing run import
2019-11-01 13:50:15 -04:00
Robin Ward
75b751c108
REFACTOR: An ember.get we missed
2019-11-01 13:50:15 -04:00
Robin Ward
785ebb674d
REFACTOR: Split off raw handlebars helpers from compiler
...
This allows us to compile without Ember being present
2019-11-01 13:50:15 -04:00
Robin Ward
4e07f725c6
Remove debug info
2019-11-01 13:50:15 -04:00
Robin Ward
640a05c4ee
REFACTOR: Remove Ember.get
2019-11-01 13:50:15 -04:00
Robin Ward
89f602f66b
REFACTOR: Ember.makeArray was removed from the public API
2019-11-01 13:50:15 -04: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
cfa5d123a3
Temporary fix: Don't use ember imports in pretty text
2019-10-29 16:45:05 -04:00
Robin Ward
249dff85c7
FIX: Use modules for Ember.run.debounce hack in testing
2019-10-29 16:25:37 -04:00
Robin Ward
e5525d03b8
FIX: Yet more linting fixes
2019-10-29 16:14:46 -04:00
Robin Ward
5ca60fcb6b
REFACTOR: Use imports for Ember.run
2019-10-29 15:31:56 -04:00
Robin Ward
356e2a4b4a
FIX: Linting
2019-10-29 13:31:44 -04:00
Robin Ward
230541c975
REFACTOR: Use Ember modules for @ember/service
2019-10-29 13:29:08 -04:00
Robin Ward
a99c705c21
REFACTOR: Replace Ember.controller.inject with import
...
Puts it more in line with updated ember code
2019-10-29 13:17:38 -04:00
Robin Ward
7b04bb7290
Add event for when a post is flagged
...
This allows plugins to track events such as analytics.
2019-10-24 16:48:18 -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
Robin Ward
9347108f02
Support for importing jQuery
...
Also remove Ember.Qunit error about Ember.$ for now
2019-10-23 13:25:25 -04:00
Robin Ward
39159ad5e4
FIX: Wizard tests were broken with new loader
2019-10-23 13:15:28 -04:00
Robin Ward
391db25665
FIX: Sortable controller var conflict
2019-10-23 13:08:41 -04:00
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
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
Robin Ward
ab53b485b4
Add setter for excerpt_size so plugins can set it more easily
2019-10-21 13:44:32 -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
Robin Ward
f14020dd0a
Allow the topic excerpt size to be customizable by plugins
2019-10-16 16:28:28 -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
Robin Ward
de3db0e485
FIX: Remove another broken test
2019-10-11 15:52:14 -04:00
Robin Ward
204cd43861
FIX: This emoji test was broken too
2019-10-11 15:41:19 -04:00
Robin Ward
342bbe66dd
FIX: Flaky tests
...
We had acceptance tests that were testing the contents of the post
stream preview, not the contents of the eventual topic itself.
This became apparent when I introduced a new promise which caused the
tests to finish waiting for work properly. Before that, it was up to the
speed of the execution, very spooky!
2019-10-11 15:33:34 -04:00
Robin Ward
c5d03c30ca
DEV: Add a plugin API for registering a "beforeSave" on the composer
...
This allows plugins to perform operations before saves occur, and
perhaps reject the post.
2019-10-11 14:55:27 -04:00
Robin Ward
ee4369f972
Hook that allows custom logic before saving the composer
2019-10-11 14:55:09 -04:00
Robin Ward
eae57652a4
FIX: Bump Compiler Version
...
In 98719be we fixed raw handlebars, but they won't be recompiled without
this bump.
2019-10-08 14:50:14 -04:00
Robin Ward
d527f3a723
Log an event for topic:created
...
You can distinguish between `post:created` and `topic:created` now.
2019-10-08 10:39:03 -04:00
Robin Ward
50fae909d6
Add an appEvent for when a post is created
...
List for `post:created` and you'll be passed the new post when it is
created.
2019-10-08 10:12:38 -04:00
Robin Ward
afe7429e7d
Add more analytics events
...
The ability to track when likes and bookmarks are toggled
2019-10-07 16:39:17 -04:00
Robin Ward
5c9acfec1d
Add event for when "Reply" is clicked
...
This is useful by analytics libraries or other code that wants to track
when replies are begun. A new event: `page:compose-reply` is fired with
the topic.
2019-10-07 14:30:31 -04:00
Robin Ward
847f48a9d0
Add an app event for when a topic is fully loaded
...
If we are interested in page events (say analytics), they are reported
when the route changes, which does not wait for any promises in
`setupController` to finish.
A plugin might want to know when a topic has fully loaded, so this event
is triggered when that happens.
2019-10-07 14:30:31 -04: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
Robin Ward
a404cab509
The generated plugin should also freeze strings
2019-10-03 11:43:36 -04:00
Robin Ward
32a11a93ac
Update the template for plugin generator to be rubocop compliant
2019-10-03 11:41:53 -04:00
Robin Ward
d5c5ca46b6
SECURITY: Don't allow base_uri as embeddable host if none exist
2019-09-29 20:51:59 -04:00
Robin Ward
d251f12c9c
Tweak calculation for reviewable sensitivities/priorities
...
Previously, calculating thresholds for reviewables was done based on the
50th and 85th percentile across all reviewables. However, many forum
owners provided feedback that these thresholds were too easy to hit, in
particular when it came to auto hiding content.
The calculation has been adjusted to base the priorities on reviewables
that have a minimum of 2 scores (flags). This should push the amount of
flags required to hide something higher then before.
2019-09-19 14:07:56 -04:00
Robin Ward
d5b52abf2f
FIX: Require a min amount of reviewables before calculating thresholds
...
On forums with very few flags you don't want to calculate averages
because they won't be very useful. Stick with the defaults until we hit
15 reviewables at least.
2019-09-19 13:42:50 -04:00
Robin Ward
3c6a5836c2
FIX: Sensitivity did not work by default
...
Forums without previously calculated scores would return the same values
for low/medium/high sensitivity. Now those are scaled based on the
default value.
The default value has also been changed from 10.0 to 12.5 based on
observing data from live discourse forums.
2019-09-19 13:26:17 -04:00
Robin Ward
0b921d2356
Add spec to confirm auto hide is not executed on like
2019-09-18 09:51:07 -04:00
Robin Ward
7ae071282a
FIX: Only apply post hide logic to flag actions
2019-09-18 09:39:09 -04:00
Robin Ward
c3bbf643b1
FIX: Put back the TL3 -> TL0 spam thing
...
We talked about it and decided it's still relevant in the score world.
2019-09-17 16:04:46 -04:00
Robin Ward
5bf3a00328
FIX: Ignored flags should not count in your accuracy score
2019-09-17 14:54:20 -04:00
Robin Ward
4cd620e36e
Remove special cases for flagging
...
Prior to the new review queue there were a couple special cases where
posts would be auto hidden:
* If a TL3 or above flagged a TL0 post as spam
* If a TL4 or above flagged a non-staff, non-TL4 post as spam, inappropriate or off
topic.
These cases are now removed in favour of the scoring system.
2019-09-17 13:44:15 -04:00