Robin Ward
480e2ec523
FIX: If we run db:migrate on its own, it should load the environment
2019-12-16 14:46:33 -05:00
Robin Ward
ce78eff888
FIX: Migration paths were being forgotten
...
According to the [Rails
Source](https://github.com/rails/rails/blob/master/activerecord/lib/active_record/railties/databases.rake#L20 )
the `ActiveRecord::Migrator.migrations_paths` are overwritten with the
value of `ActiveRecord::Tasks::DatabaseTasks.migrations_paths` every
time the config is loaded.
This caused a bug for Discourse development where if you ran:
`rake db:drop db:create db:migrate` in one line, you would not get our
post migrations, as those had a custom value for `migrations_paths`.
The fix is to use `ActiveRecord::Tasks::DatabaseTasks.migrations_paths`
to set up all our custom paths. Everything seems to work as expected.
2019-12-16 14:13:47 -05:00
Robin Ward
bc97d39688
FIX: Allow IE script to load with a CDN
...
A proper fix would involve it being precompiled like other assets, but
due to the conditional nature of the resource this is more complicated.
For now this is better than IE being broken.
2019-12-13 15:50:46 -05:00
Robin Ward
a04a631674
Changed CONFLICT to SQL for multiline strings
...
This is more consistent with the rest of our codebase.
2019-12-13 11:51:40 -05:00
Robin Ward
76f676879c
FIX: Constraint error when inserting the same topic group twice
...
If that happens, update the value instead of raising an error.
2019-12-12 13:10:46 -05:00
Robin Ward and jjaffeux
4abe4454dd
FEATURE: Create IE Support Plugin ( #8520 )
...
This core plugin, which could be split off in the future, allows us to load IE specific code on demand.
Co-authored-by: jjaffeux <j.jaffeux@gmail.com >
2019-12-11 09:07:22 -05:00
Robin Ward
895d5cb592
FIX: Anonymous cache regression
2019-12-05 15:07:48 -05:00
Robin Ward
532fea1460
DEV: Provide API for anonymous cache segments ( #8455 )
...
This can be used from a plugin that needs to establish something new in
the anonymous cache. For example `is_ie` for an internet explorer
plugin.
2019-12-05 14:57:18 -05:00
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