David Taylor
0dd717e641
Revert "FIX: Sanitize tags before creation"
...
This reverts commit 18ae8de9e5 .
2018-10-19 15:49:05 +01:00
David Taylor
18ae8de9e5
FIX: Sanitize tags before creation
2018-10-19 15:43:31 +01:00
David Taylor
7166d7de9a
FIX: Prevent duplicate tags in tag-choosers ( #6512 )
...
* FIX: Prevent duplicate tags in tag-choosers
This reverts 5685b45 , which fixes the duplicate tags problem.
The fix introduced by 5685b45 is re-implemented on the server.
2018-10-19 13:44:43 +01:00
David Taylor
065bf0762c
FEATURE: New plugin outlets for user card customization
2018-10-17 14:15:48 +01:00
David Taylor
501ac4dfa6
DEV: Cleanup properly after user_serializer test
2018-10-17 10:54:22 +01:00
David Taylor
c6f364224e
FEATURE: Allow plugins to whitelist user custom fields for public display ( #6499 )
...
This works exactly the same as `whitelist_staff_user_custom_fields`, but is not limited to staff
2018-10-17 10:33:27 +01:00
David Taylor
7ac08f936e
FEATURE: Upload tags from CSV ( #6484 )
2018-10-15 09:12:54 +01:00
David Taylor
1b0fbc4d30
FIX: Allow theme edit route name to be overridden
...
This is required for the theme-creator plugin, this change won't have
any effect on regular Discourse installations
2018-10-11 13:20:04 +01:00
David Taylor
98211f945f
FIX: 'none' tag page would not load
2018-10-10 16:00:33 +01:00
David Taylor
ac89a728f8
DEV: Remove autospec hacks for social auth providers
...
This was causing erratic test failures. Autospec continues to work after
removing, so this 5-year-old code is no longer needed.
2018-10-09 12:42:57 +01:00
David Taylor
cbb8f6f0fe
UX: Use 'trash' icon instead of 'times' for deleting small actions
2018-10-05 22:31:56 +01:00
David Taylor
75488257c5
FIX: Redirect users to top when latest is the homepage
2018-10-05 12:14:57 +01:00
David Taylor
9bf522f227
FEATURE: Mixed case tagging ( #6454 )
...
- By default, behaviour is not changed: tags are made lowercase upon creation and edit.
- If force_lowercase_tags is disabled, then mixed case tags are allowed.
- Tags must remain case-insensitively unique. This is enforced by ActiveRecord and Postgres.
- A migration is added to provide a `UNIQUE` index on `lower(name)`. Migration includes a safety to correct any current tags that do not meet the criteria.
- A `where_name` scope is added to `models/tag.rb`, to allow easy case-insensitive lookups. This is used instead of `Tag.where(name: "blah")`.
- URLs remain lowercase. Mixed case URLs are functional, but have the lowercase equivalent as the canonical.
2018-10-05 10:23:52 +01:00
David Taylor
9554d657c5
DEV: Remove underscore from tags-test
2018-10-04 21:14:52 +01:00
David Taylor
5b56a8cd09
DEV: Merge multiple discourse_tagging_spec files
2018-10-04 15:44:29 +01:00
David Taylor
3c2608d41c
FIX: Correctly censor strings starting or ending with non-word characters ( #6445 )
2018-10-04 15:15:10 +01:00
David Taylor
2a8ce0cb04
UX: Improve shared_drafts_category description
2018-09-27 22:39:10 +01:00
David Taylor
0b2b617483
FIX: Corrected copy on post_edit_time_limit site setting
2018-09-26 18:49:10 +01:00
David Taylor
19c9a6699a
FIX: Validate auto_close_hours category setting
...
This prevents server errors when the value is set too high
2018-09-26 16:04:49 +01:00
David Taylor
84f5448a92
FEATURE: Display trust level descriptions in site settings ( #6421 )
2018-09-21 15:10:38 +01:00
David Taylor
b8c0e77908
DEV: apply plugin migrations when testing in Travis and Docker
...
In `RAILS_ENV=test`, plugins are not loaded by default. Therefore we need to explicitly specify `LOAD_PLUGINS=1` when we want to apply plugin migrations.
2018-09-13 12:39:54 +01:00
David Taylor
9461c99210
DEV: Add travis_fold to termination stage
2018-09-12 18:59:48 +01:00
David Taylor
26bd67a865
DEV: Add travis_fold statements to docker_test
2018-09-12 17:52:58 +01:00
David Taylor
84fc7abb73
FIX: Allow rake destroy:topics to delete topics in sub-categories
2018-09-10 12:52:14 +01:00
David Taylor
4382fb5fac
DEV: Allow plugins to whitelist specific user custom_fields for editing ( #6358 )
2018-09-04 20:45:36 +10:00
David Taylor
103509b9dd
SECURITY: Prevent users from modifying custom fields
2018-08-30 12:59:36 +01:00
David Taylor
f0abb4d09a
FIX: Allow user actions to be saved even if the post has nil user
...
This issue made it impossible to delete users if they had flagged a post with nil user
2018-08-30 01:03:32 +01:00
David Taylor
e7e8f4ef4c
Add plugin API for handling uploads with specific file extensions
2018-08-17 16:08:47 +01:00
David Taylor
7b089f7af4
FIX: Don't throw exception if welcome topic cannot be found
2018-08-15 15:50:55 +01:00
David Taylor
d3a9596d08
Remove unused import
2018-08-08 10:46:43 +01:00
David Taylor
d4d5088324
FIX: Don't require device capabilities when calculating login methods
2018-08-08 10:37:25 +01:00
David Taylor
575d9e0b1a
FIX: Include parameters in function call
2018-08-08 10:09:22 +01:00
David Taylor
aa9a9a5a72
FIX: Include auth_providers for anonymous users when login_required
2018-08-07 09:24:16 +01:00
David Taylor
3ffe084384
Merge pull request #6238 from LeoMcA/fix-fsl
...
FIX: don't require auth providers to set full_screen_login_setting
2018-08-06 10:29:22 +01:00
David Taylor
812add18bd
REFACTOR: Serve auth provider information in the site serializer.
...
At the moment core providers are hard-coded in Javascript, and plugin providers get added to the JS payload at compile time. This refactor means that we only ship enabled providers to the client.
2018-08-06 09:25:48 +01:00
David Taylor
6566b2f11a
FEATURE: Allow revoke and connect for Instagram logins
2018-07-30 14:38:53 +01:00
David Taylor
8d1acbd4c2
DEV: Include specific authenticator name in warning message
2018-07-30 11:33:48 +01:00
David Taylor
e9856522dc
UX: Add 'when' to autobump messages
2018-07-30 11:06:14 +01:00
David Taylor
5f1fd0019b
FEATURE: Allow revoke and connect for GitHub logins
2018-07-27 17:18:53 +01:00
David Taylor
6296f63804
FEATURE: Revoke and connect for Yahoo logins
2018-07-27 16:20:47 +01:00
David Taylor
9c72c00206
FEATURE: Revoke and reconnect for Twitter logins
2018-07-27 12:28:51 +01:00
David Taylor
467c529920
FIX: Remove return statement from inside block
2018-07-26 15:52:39 +01:00
David Taylor
88241f57a3
FEATURE: allow auth plugins to have a site setting for full screen login
2018-07-26 11:11:16 +01:00
David Taylor
63e15aa41a
Add missing semicolon
2018-07-26 10:30:10 +01:00
David Taylor
0d0d78841b
FIX: Remove plugin.enabled? checks at initialization time ( #6166 )
...
Checking `plugin.enabled?` while initializing plugins causes issues in two ways:
- An application restart is required for changes to take effect. A load-balanced multi-server environment could behave very weirdly if containers restart at different times.
- In a multisite environment, it takes the `enabled?` setting from the default site. Changes on that site affect all other sites in the cluster.
Instead, `plugin.enabled?` should be checked at runtime, in the context of a request. This commit removes `plugin.enabled?` from many `instance.rb` methods.
I have added a working `plugin.enabled?` implementation for methods that actually affect security/functionality:
- `post_custom_fields_whitelist`
- `whitelist_staff_user_custom_field`
- `add_permitted_post_create_param`
2018-07-25 16:44:09 +01:00
David Taylor
f38942d121
FIX: Destroy session between omniauth callbacks controller tests
2018-07-25 16:33:42 +01:00
David Taylor
fa399ce1c5
FEATURE: Add revoke and reconnect functionality for google logins
2018-07-25 16:03:14 +01:00
David Taylor
776fd0de66
FIX: Filter open-id logins by identifier
2018-07-25 11:47:09 +01:00
David Taylor
abddb48260
Rubocop fix
2018-07-24 10:49:20 +01:00
David Taylor
20a21b1240
Move into MiniSQLMultisiteConnection, and add test for rollback
2018-07-24 09:41:55 +01:00
David Taylor
eda1462b3b
FEATURE: List, revoke and reconnect associated accounts. Phase 1 ( #6099 )
...
Listing connections is supported for all built-in auth providers. Revoke and reconnect is currently only implemented for Facebook.
2018-07-23 16:51:57 +01:00
David Taylor
d7b5a374c2
Fix indentation
2018-07-23 10:42:15 +01:00
David Taylor
5b4b632358
Correct typo
2018-07-18 22:27:55 +01:00
David Taylor
32db976156
FIX: Stop race condition when topic notification jobs are scheduled during a database transaction
...
This was not picked up by tests because scheduled jobs are run immediately
and in the current thread (and therefore the current database transaction).
This particular case sometimes occurs inside multiple nested transactions,
so simply moving the offending line outside of the transaction is not enough.
Implemented TransactionHelper, which allows us to use `TransactionHelper.after_commit`
to define code to be run after the current transaction has been committed.
2018-07-18 22:04:43 +01:00
David Taylor
2dc3a50dac
FIX: Do not update last seen time for suspended users
2018-07-18 16:04:57 +01:00
David Taylor
f4c902b434
FIX: set default on theme.key, if it has not yet been dropped ( #6095 )
2018-07-17 08:40:35 +10:00
David Taylor
81f9500f5c
FIX: Change megatopic threshold to 10,000 posts
2018-07-12 22:00:53 +01:00
David Taylor
9a813210b9
SECURITY: Do not allow authentication with disabled plugin-supplied a… ( #6071 )
...
Do not allow authentication with disabled plugin-supplied auth providers
2018-07-09 14:25:58 +10:00
David Taylor
c168639be2
Add plugin outlet in admin theme list ( #5837 )
...
This will be used by discourse-theme-creator to add avatars next to each theme.
2018-05-18 10:09:21 +02:00
David Taylor
ad7f2b7dc6
Allow import and keyGen URLs to be overridden in import modal
2018-04-09 16:42:47 +10:00
David Taylor
a17cb11dc3
Allow adminCustomizeThemes.edit route name to be overridden in themes-show
2018-04-09 16:42:47 +10:00
David Taylor
37fe1c76b9
Allow FIELDS_IDS to be overridden
2018-04-09 16:42:47 +10:00
David Taylor
70e60f4afe
Allow adminCustomizeThemes.edit route name to be overridden
2018-04-09 16:42:47 +10:00
David Taylor
7426e63c30
Allow theme asset upload url to be overridden
2018-04-09 16:42:47 +10:00
David Taylor
f1f2ae594c
Remove wrapper <span> from user nav plugin outlet ( #5455 )
2017-12-27 16:51:39 +11:00
David Taylor
28073413eb
FIX: Presence bug ( #5329 )
...
* Add failing test case
* FIX: new activity was not triggering cleanup
2017-11-20 15:24:59 +01:00
David Taylor
8825581d98
Discourse-presence improvements
...
- Added guardian checks to endpoint
- Added security to messagebus publishing
- Added specs for security measures
- Moved all logic into component
- Stop sending ‘keepAlive’ messages if the user stops editing for more then 2 minutes
- Enable plugin by default
2017-09-08 14:32:13 -07:00
David Taylor
1def49cf6c
SECURITY: Only publish PM reply messagebus notifications to allowed users
2017-09-08 14:12:15 -07:00
David Taylor
feef5491a2
Simplify copy & add transifex config
2017-09-08 00:47:35 +01:00
David Taylor
7d350d0d75
Revert plugin js changes ( #5139 )
...
* Revert "Add disabled_plugins to preloadstore for login_required anonymous users (#5134 )"
This reverts commit b840170f8d .
* Revert "Do not load javascripts for disabled plugins (#5103 )"
This reverts commit a14ab48829 .
2017-09-07 15:15:29 +02:00
David Taylor
c9912fcc37
Add discourse-presence as a core plugin ( #5137 )
...
* Add discourse-presence as a core plugin
* Default enabled
2017-09-07 09:40:18 +02:00
David Taylor
b840170f8d
Add disabled_plugins to preloadstore for login_required anonymous users ( #5134 )
2017-09-06 12:18:58 +02:00
David Taylor
a14ab48829
Do not load javascripts for disabled plugins ( #5103 )
...
* Do not load javascript for disabled plugins
* Appease rubocop
2017-09-06 10:06:47 +02:00
David Taylor
ce2250d7aa
Add avatar-flair plugin outlet for user card ( #5104 )
2017-08-28 12:26:42 -04:00
David Taylor
ed6e1c3825
Combine docker:lint and docker:test into one command
2017-08-22 13:47:29 +01:00
David Taylor
6e7488178f
Add documentation to docker_test.rb
2017-08-19 11:10:17 +01:00
David Taylor
a3f5878ec9
Use if, not unless
2017-08-18 22:12:20 +01:00
David Taylor
7704e8246b
Allow SINGLE_PLUGIN environment variable to be used
2017-08-18 22:04:35 +01:00
David Taylor
ea43f50f6d
Add documentation for new ENV variables
2017-08-18 22:03:09 +01:00
David Taylor
d65570a8a1
Preparation for using chrome for qunit in docker images ( #5062 )
...
Move use_chrome option to ENV variable
Rewrite script to work with node 6 (current LTS version used in discourse_docker)
Add node stuff to gitignore
2017-08-18 14:08:58 -04:00
David Taylor
c981edfa20
Add option to run qunit tests in headless chrome ( #5054 )
2017-08-16 07:42:42 -04:00
David Taylor
37300d6777
SECURITY: Do not show latest/top topics on 404 for login_required sites
2017-08-13 19:02:44 +03:00
David Taylor
ea032d8372
Improve source code linting for continuous integration ( #5017 )
...
* Add rubocop linting to docker:test rake task
* Add eslint JS listing to plugin files, and add SKIP_LINT variable
* Fix failing ‘polls’ plugin eslint
Using eslint-disable-line, as is done in core qunit tests such as `acceptance/group-logs-test.js.es6`
* Add plugin test eslint to travis config
* Merge some eslint lines
2017-08-02 11:33:29 +09:00
David Taylor
4b00fdbc5b
Exclude bundle directory when running rubocop ( #5016 )
...
* Exclude bundle directory when running rubocop
* Include the default excludes as well
2017-08-01 12:47:09 -04:00
David Taylor
2c6ed64ebe
Spawn a new rake process to run tests, so that LOAD_PLUGINS gets re-checked ( #5001 )
2017-07-26 12:54:56 -04:00
David Taylor
27539e15e1
Allow whitespace around % scaler in markdown image syntax ( #5000 )
2017-07-26 10:54:20 -04:00
David Taylor
febd7621ea
Qunit plugin rake tasks ( #4985 )
...
* Allow running specific plugin tests using ENV variables
* Add a `rake plugin:qunit` task to match the existing `rake plugin:spec` task
* Improve docker.rake to allow running specific plugin qunit tests
* Purge cache before and after qunit tests
* Stop module auto-loader trying to auto-load tests
* Use URL query parameters to pass config into Qunit, avoiding caching issues
* Oops, searchParams doesn’t work in phantomJS. Parse the URL manually.
* Escape ampersands before passing URL to phantomJS, otherwise multiple parameters go wrong
2017-07-26 09:07:46 -04:00
David Taylor
4ad864892b
Improve “server warmup” check for qunit rake task
2017-07-25 16:31:30 +01:00
David Taylor
2ddf365e3a
Fix user stats colour for dark themes
2017-07-22 23:48:31 +01:00
David Taylor
62604e9297
Allow docker test rake task to be used for single plugins ( #4973 )
...
* Allow docker test rake task to be used for single plugins
2017-07-21 09:59:54 +09:00
David Taylor
2808e3f63e
Fix for the last broken discourse-details qunit test
2017-07-11 22:43:33 +01:00
David Taylor
1091d101ef
Load plugins for qunit travis tests
2017-07-11 21:50:16 +01:00
David Taylor
c8e9f4bd3a
Fix failing discourse-details plugin qunit tests
2017-07-11 17:25:53 +01:00
David Taylor
0b222493f6
For rake plugin:spec, only load ruby files ending in _spec.rb
...
This matches the default behaviour of rspec
2017-07-10 12:06:37 +01:00
David Taylor
9294826f31
Allow inclusion of elided text from emails when sending to a category… ( #4844 )
...
* Allow inclusion of elided text from emails when sending to a category address
2017-06-29 13:03:14 +09:00
David Taylor
058cde1fc5
Use bundle exec for docker_dev rake
2017-05-16 17:18:45 +01:00
David Taylor
96f2335c09
FIX: Corrects typo to avoid error 500 on theme change
2017-04-15 01:21:53 +01:00
David Taylor
03373a0e84
Add a user_seen DiscourseEvent for plugins to hook into
2017-03-31 23:30:59 +01:00
David Taylor
89d41ecb39
Add support for oneboxing twitter videos
2017-03-17 20:49:29 +00:00
David Taylor
ea45cc1293
Request full tweets, since twitter has increased the allowed length
2017-03-17 20:36:53 +00:00