Commit Graph

370 Commits

Author SHA1 Message Date
David Taylor
18ae8de9e5 FIX: Sanitize tags before creation 2018-10-19 15:43:31 +01:00
Maja Komel
27e732a58d FEATURE: allow multiple secrets for Discourse SSO provider
This splits off the logic between SSO keys used incoming vs outgoing, it allows to far better restrict who is allowed to log in using a site.

This allows for better auditing of the SSO provider feature
2018-10-15 16:03:53 +11:00
Guo Xiang Tan
43512e9865
Merge pull request #6457 from pmusaraj/yarn-manage-test-vendor-dependencies
DEV: Use Yarn managed test vendor dependencies
2018-10-08 09:26:26 +08: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
Penar Musaraj
cd82107976 use yarn to manage test vendor dependencies, upgrade sinon to v6.3.5 2018-10-04 11:06:14 -04:00
Kris
cb519a3bec Fix test 2018-10-02 15:20:11 -04:00
Bianca Nenciu
719a433c03 FIX: Sync client & server rules regarding tag names. (#6400) 2018-10-01 21:45:44 -07:00
Joffrey JAFFEUX
a713c0d366
FIX: ensures onSelect/onDeselect are called
This commit also add a FIX and a test for toolbar-popup-menu-options which had a behavior slightly specific.
2018-09-18 11:31:23 +02:00
Joffrey JAFFEUX
2ff2c49908 Revert "FIX: ensures onSelect/onDeselect are called"
This reverts commit 52eed73294.
2018-09-17 22:14:41 +02:00
Joffrey JAFFEUX
52eed73294
FIX: ensures onSelect/onDeselect are called 2018-09-17 10:36:14 +02:00
Sam
e15a1e7c38 lint code 2018-09-17 11:10:09 +10:00
pmusaraj
03edb31a4d add tag-drop component test 2018-09-17 10:40:47 +10:00
Joffrey JAFFEUX
754d5b62a8
makes mini-tag-chooser test use can_create_tag (#6402) 2018-09-14 13:30:55 +02:00
Joffrey JAFFEUX
d2ea618af1
adds a test for mini-tag-chooser 2018-09-14 12:13:00 +02:00
Joffrey JAFFEUX
38668818a5
FIX: allows forcing unsafe string in select-kit (#6386)
forceEscape will be defaulted to true before next release.
2018-09-12 12:19:04 +02:00
Joffrey JAFFEUX
17087eff2a
FIX: Reset tags on category change (#6363) 2018-09-05 17:18:52 +02:00
Joffrey JAFFEUX
82dcc5cbfa
FEATURE: makes reports loadable in bulk (#6309) 2018-08-24 15:28:01 +02:00
Joffrey JAFFEUX
599cebf8ad
FIX: better message if request for report is rate limited (#6298) 2018-08-22 11:25:12 +02:00
Joffrey JAFFEUX
37d4f27c44
FIX: quality/bugfix dashboard/reports pass (#6283) 2018-08-17 16:19:25 +02:00
Joffrey JAFFEUX
c301111461
FIX: display select kit body if no choices (#6237) 2018-08-06 11:22:48 -04:00
Joffrey JAFFEUX
066010db7d
FEATURE: introduces list/compact_list components 2018-08-03 16:41:37 -04:00
Joffrey JAFFEUX
2b2a506a7b
FIX: makes dashboard more resilient to errors (#6217)
This commit is an attempt to limit cases where the dashboard will generate a full exception page and also make it easier to track the error.
2018-07-31 21:23:28 -04:00
Joffrey JAFFEUX
37252c1a5e
UI: improves dashboard table reports
- support for avatars
- support for topic/post/user type in reports
- improved totals row UI
- minor css tweaks
2018-07-31 17:35:13 -04:00
Maja Komel
04baddf731 DEV: migrate tests to async/await 2018-07-30 12:21:05 +02:00
Joffrey JAFFEUX
ad95c24307
FEATURE: displays a notice if report has no data (#6178) 2018-07-25 14:28:41 -04:00
Dan Ungureanu
44a5c29d42 Clear old text and URL when showing up the "Insert Hyperink" modal. (#6138) 2018-07-25 17:12:49 +10:00
Maja Komel
d16a2c776a DEV: migrate components tests to async/await 2018-07-24 22:41:14 +02:00
Joffrey JAFFEUX
1a78e12f4e
FEATURE: part 2 of dashboard improvements
- moderation tab
- sorting/pagination
- improved third party reports support
- trending charts
- better perf
- many fixes
- refactoring
- new reports

Co-Authored-By: Simon Cossar <scossar@users.noreply.github.com>
2018-07-19 14:33:11 -04:00
Jeff Atwood
7dce8290ed copyedit on category drop down 2018-06-26 12:43:45 -07:00
OsamaSayegh
d81f8ea378
fix prettier 2018-06-26 15:31:43 +03:00
OsamaSayegh
bfe0178270 FIX: use the correct notification levels titles for PMs 2018-06-26 14:01:52 +02:00
Joffrey JAFFEUX
eb9b99e519
FIX: makes select-kit match searches with accents (filter and content) 2018-06-26 12:19:14 +02:00
Joffrey JAFFEUX
60ff0e9b8c
missing prettified files 2018-06-15 18:42:20 +02:00
Joffrey JAFFEUX
03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
OsamaSayegh
629a2fbc2b add JS tests 2018-06-15 14:04:14 +10:00
Joffrey JAFFEUX
1be76d066c
FIX: forces boolean when content is only "true" && "false" 2018-05-24 23:41:39 +02:00
Joffrey JAFFEUX
db91d71bf1
fix category chooser spec 2018-05-23 21:07:39 +02:00
Claas Augner
ba905b24ca FIX: differentiate one/other select-kit maximumLabel/minimumLabel 2018-04-09 09:12:01 +02:00
Joffrey JAFFEUX
f0fe16d824
FEATURE: implements minimum selection for select-kit 2018-04-05 16:45:19 +02:00
Joffrey JAFFEUX
3287ac77e0
FIX: reverts combobox placeholder and introduces noneLabel
noneLabels works almost like none but instead of actually adding a row in the list, it will only change the text displayed in the header, when there's no selection.
2018-03-29 13:42:00 +02:00
Joffrey JAFFEUX
15aa712227
fix category-row regressions 2018-03-27 14:11:05 +02:00
Joffrey JAFFEUX
d48542796e
FIX: select-kit refactoring
- improve mini-tag-chooser keyboard behavior
- all multil select now respond to select all and left/right arrows
- improve events handling
- many minor tweaks
2018-03-22 11:29:55 +01:00
Guo Xiang Tan
2b7fb43d84 Fix the build. 2018-03-19 18:47:17 +08:00
Joffrey JAFFEUX
97ddaeeae8
FIX: use css instead of js to fix select-kit-collection max-height 2018-02-01 16:56:07 +01:00
scossar
41f1e7430c Refactor code; add tests 2018-01-29 17:42:19 -08:00
Vinoth Kannan
86e142b39f UX: Copy selected text to the link building modal 2018-01-24 02:02:12 +05:30
Joffrey JAFFEUX
3ee7b18886
FIX: disable by default limitMatches 2018-01-11 09:54:39 +01:00
Joffrey JAFFEUX
3ec2024466
select-kit refactoring
* improve events naming/handling
* do not explicitly check for true/Fasle
* make sure header is re-computed on toggle
2018-01-11 09:39:51 +01:00
Joffrey JAFFEUX
c9921869f1
FIX: adds select-kit api to modify header computed content (#5476)
This api would allow to simply modify header text or icons, eg:

```
      api.modifySelectKit("select-kit")
        .modifyHeaderComputedContent((context, computedContent) => {
          computedContent.title = "Not so evil";
          return computedContent;
        });
```
2018-01-09 10:52:32 +01:00
Joffrey JAFFEUX
315b9d796d
select-kit refactoring
* better test helper
* more reliable tests
* more consistent use of data-value/data-name/title/aria-label everywhere: header and rows
2017-12-22 13:08:12 +01:00
Joffrey JAFFEUX
c1c31b99ce
Replaces toolbar popup-menu with select-kit 2017-12-13 10:49:32 +01:00
Joffrey JAFFEUX
dbadebacd1
FIX: allows select-kit to search by null value 2017-12-01 20:02:00 +01:00
Joffrey JAFFEUX
96cdc4e66e
FIX: makes allowInitialValueMutation more restrictive 2017-11-24 13:15:02 +01:00
Joffrey JAFFEUX
9208909b26 tweak icon-library generation 2017-11-23 18:24:26 +01:00
Joffrey JAFFEUX
b14d9529b8
FIX: adds support for name changes tracking 2017-11-22 13:49:45 +01:00
Joffrey JAFFEUX
b2b565c2fb
select-kit initial plugin api implementation (0.8.13)
```
api.modifySelectKit("identifier-of-the-select-targeted")
  .modifyContent((context, existingContent) => {})
  .appendContent(() => {})
  .prependContent(() => {})
  .onSelect((context, val) => {});
```
2017-11-22 10:34:12 +01:00
Joffrey JAFFEUX
39f3dbd945
Introduces select-kit
* renames `select-box-kit` into `select-kit`
* introduces `single-select` and `multi-select` as base components
* introduces {{search-advanced-category-chooser}} as a better component for selecting category in advanced search
* improves events handling in select-kit
* recreates color selection inputs using {{multi-select}} and a custom {{selected-color}} component
* replaces category-selector by a component using select-kit and based on multi-select
* improves positioning of wrapper
* removes the need for offscreen, and instead use `select-kit-header` as a base focus point for all select-kit based components
* introduces a formal plugin api for select-kit based components
* introduces a formal pattern for loading and updating select-kit based components:

```
computeValue()
computeContent()
mutateValue()
```
2017-11-21 11:53:09 +01:00
Robin Ward
b9595966d4 FIX: Error applying quotes with blank lines in front 2017-11-20 13:46:19 -05:00
Joffrey JAFFEUX
6d3ed966cd
FEATURE: replace admin flags modal by a select-box 2017-11-09 12:33:36 -08:00
Joffrey JAFFEUX
0da529010a
FEATURE: support for multi-combo-box 2017-11-09 10:57:53 -08:00
OsamaSayegh
55095bc44e FEATURE: Use ACE for badge queries (#5269)
* FEATURE: Use ACE for badge queries

* Forgot disabled

* When disabled, cursor should be `not-allowed`

* Tests + prefix custom attribute with `data-`
2017-10-30 18:07:49 +11:00
Joffrey JAFFEUX
ae1e4de286 [FIX] better control on value mutation 2017-10-20 13:40:56 -07:00
Régis Hanol
62156885ec UX: remove 🔥heading and ruler button from composer toolbar 2017-10-20 10:59:31 +02:00
Joffrey JAFFEUX
4d041d5b87 [FIX] Fix wizard spec
This commit introduces a mutation on input value given to select-box-kit when value is empty. The refactoring required to avoid this would be too heavy atm, but ultimately we would want to avoid this.
2017-10-19 17:34:56 -07:00
Joffrey JAFFEUX
d77ef05ee1 Fix broken tests 2017-10-19 14:32:37 -07:00
Joffrey JAFFEUX
ae1743c61f [WIP] select-box-kit refactoring 2017-10-19 12:51:08 -07:00
Joffrey JAFFEUX
e6385e4527 attempts to fix broken spec only on CI 2017-09-14 20:34:37 +02:00
Joffrey JAFFEUX
562e48dfb7 adds a dsl to simplify testing of the select-box 2017-09-14 19:50:32 +02:00
Joffrey JAFFEUX
c06c88b479 cleaner title attribute for select-box 2017-09-12 01:36:58 +02:00
Joffrey JAFFEUX
e924920bec uses select-box for pinned-button
This commit also moves more logic in dropdown-select-box instead of
duplicating it for notifications-options and pinned-options
2017-09-11 19:14:22 +02:00
Joffrey JAFFEUX
7f9220a2cd minor select-box fixes
- select row when using tab
- makes sure tab order is correct
- highlight first row when filtering
2017-09-11 00:38:32 +02:00
Joffrey JAFFEUX
4b558638c8 FEATURE: improves keyboard handling of select-box
- arrow keys
- escape key
2017-09-10 19:12:03 +02:00
Joffrey JAFFEUX
ccf5005feb FEATURE: uses select-box for topic-notifications-button component
- Introduces ComponentConnector to use a component inside a widget
- Use css to set size of components instead of properties
- Smarted positionning
- Style tweaks
2017-09-06 16:58:00 +02:00
Robin Ward
70706897f4 FIX: Test was failing on high DPI monitor 2017-08-30 15:32:58 -04:00
Joffrey JAFFEUX
746c5927e1 Replaces remaining {{category-chooser}} by {{category-select-box}}
To achieve replacement, this commit also adds support for:
- clearSelectionLabel which will allows to unselect any chosen category
- select-box inside a modal
- fixes minor css positioning issues

Note: {{category-chooser}} will be removed in the next weeks.
2017-08-30 17:04:17 +02:00
Joffrey JAFFEUX
f101fec19c FIX: improves uncategorized support for category-select-box 2017-08-29 12:48:26 +02:00
Joffrey JAFFEUX
861dbe3b51 select-box refactoring
- more flexibility (allows custom title)
- less re-render
- more robustness
2017-08-29 12:25:54 +02:00
Joffrey JAFFEUX
b83c0747d9 FIX: select-box improvments
- more tests for category-select-box
- allows to clear selection
- fix positioning on safari
- focus on click
- do not display uncategorized if not allowed in settings
- fix component state impacting other specs
- better texts
- higher category-select-box on mobile
2017-08-28 14:34:04 +02:00
Joffrey JAFFEUX
14f06c2740 select-box minor fixes 2017-08-25 19:56:57 +02:00
Joffrey JAFFEUX
d05df4a337 FIX: better headerText handling on select-box 2017-08-24 18:31:33 +02:00
Joffrey JAFFEUX
d52048ad34 Revert "Revert "FEATURE: improves select-box to support category selection on new topic""
This reverts commit 1d90f6016a.
2017-08-24 16:04:47 +02:00
Joffrey JAFFEUX
1d90f6016a Revert "FEATURE: improves select-box to support category selection on new topic"
This reverts commit 7b4e302677.
2017-08-23 16:33:03 +02:00
Joffrey JAFFEUX
7b4e302677 FEATURE: improves select-box to support category selection on new topic 2017-08-23 15:08:19 +02:00
Guo Xiang Tan
9f11223250 Fix select-box Qunit tests to use the proper Ember test helpers. 2017-08-16 09:35:56 +09:00
Joffrey JAFFEUX
cad6107624 refactors select-box
Note: this commit also now uses select-box for mobile topics controls
2017-08-16 00:41:56 +02:00
Joffrey JAFFEUX
482924b161 FEATURE: initial implementation of an ember native select 2017-08-13 14:34:50 +02:00
Robin Ward
8dd7c0c984 UX: Convert buttons to d-button 2017-08-01 17:24:06 -04:00
Robin Ward
75d10a4098 UX: Add consistent classes to buttons 2017-08-01 17:24:06 -04:00
Guo Xiang Tan
4620dfe92d FEATURE: Add group settngs to allow users to leave a group freely.
https://meta.discourse.org/t/split-join-leave-freely-setting-on-groups/65565
2017-07-28 15:00:25 +09:00
Robin Ward
bc3a32385c FIX: Empty lines should be selected for block quotes 2017-07-21 16:32:29 -04:00
Joffrey JAFFEUX
e36d9f55c3 replaces links/imgs by buttons in the emoji-picker 2017-07-21 19:42:50 +02:00
Joffrey JAFFEUX
7718141ee0 not applicable anymore 2017-07-19 16:48:23 +02:00
Sam
e2f57a154b FIX: blockquote button implementation
Previously clicking on blockquote in the middle of sentence
would result in incorrect formatting
2017-06-27 13:32:20 -04:00
Sam
234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Robin Ward
cc525b1a8d Upgrade QUnit to latest version 2017-06-15 10:12:07 -04:00
Guo Xiang Tan
accd78cd8c Make eslint happy. 2017-05-12 09:31:23 +08:00
Guo Xiang Tan
e63614024d FIX: Users can't request to join group due to alias level restriction.
https://meta.discourse.org/t/request-to-join-group-not-working/62371
2017-05-12 09:26:26 +08:00
Neil Lalonde
b7322b05a0 FIX: some changes in composer affect all visible text editors 2017-05-05 12:59:45 -04:00
Guo Xiang Tan
5c39c8f24b UX: Improve the way users set timers for TopicStatusUpdate. 2017-04-20 14:25:45 +08:00
Guo Xiang Tan
bb85795934 FIX: Leave group membership button not updating.
https://meta.discourse.org/t/leave-group-button-on-groups-page-doesnt-give-any-feedback/57359/4
2017-03-16 11:33:55 +08:00
Guo Xiang Tan
3aed15c99e FIX: Group membership button now showing properly. 2017-01-03 14:36:56 +08:00
Régis Hanol
f71040dc23 Merge pull request #4630 from caugner/feature-preserve-cursor-in-editor-upload
FEATURE: Preserve cursor in editor upload
2016-12-29 14:46:10 +01:00
Claas Augner
37386faff2
Fix eslint nits. 2016-12-29 10:05:07 +01:00
Claas Augner
43c1dd82f6
Add cursor tests, fix algorithm and extract method. 2016-12-29 09:54:15 +01:00
Guo Xiang Tan
6d00650972 Fix JS tests. 2016-12-29 13:47:11 +08:00
Guo Xiang Tan
0ab52b127b Fix JS tests. 2016-12-15 16:52:47 +08:00
Robin Ward
6a1c05a268 Upgrade ember-qunit 2016-11-08 14:29:50 -05:00
Robin Ward
151597bf0f Update code so Ember 2.3 can have more tests passing 2016-11-08 13:40:35 -05:00
Robin Ward
622dc82481 Replace deprecated render(buffer) with a custom buffered renderer 2016-10-25 14:00:21 -04:00
Guo Xiang Tan
90571f0364 FIX: Format selection as multiline code only when selection spans multiple lines. 2016-08-23 15:00:16 +08:00
Guo Xiang Tan
f32d8e2882 FIX: Code fences shortcut did not insert newlines before and after backticks. 2016-08-23 09:51:01 +08:00
Robin Ward
3200d836f7 FIX: After uploading an image the selection was not in the correct spot 2016-07-25 15:31:21 -04:00
Robin Ward
6d7e8bd68b FIX: Customizations were broken 2016-07-11 12:57:05 -04:00
Arpit Jalan
83309752ae FEATURE: new site setting 'code formatting style' 2016-06-27 01:00:11 +05:30
Robin Ward
514c3976f0
PERF: Migrate header to discourse widgets 2016-04-25 10:48:04 -04:00
Robin Ward
c948d53d91
UX: Use separate input fields for link and description in d-editor 2016-04-08 16:13:42 -04:00
Robin Ward
d1b9a9370a PERF: Render logo significantly faster 2016-03-21 15:14:31 -04:00
Robin Ward
a9daa33953 Add tests to home-logo component 2016-03-21 14:16:33 -04:00
Sam Saffron
7be90a885c FIX: bolding text when selection has a leading space 2016-03-10 22:43:48 +11:00
Sam Saffron
f3efe657fa FEATURE: Automatically add http:// when adding links without them via composer 2016-03-10 18:25:02 +11:00
Robin Ward
f6aa1ac37a Migrate onToolbarCreate to the DiscourseAPI 2016-02-18 15:23:43 -05:00
Robin Ward
d1e85bdd8b FEATURE: Use virtual dom framework for faster post rendering 2016-02-11 11:00:40 -05:00
Robin Ward
57c3d65777 Change d-editor to use _ instead of * for italics. 2016-01-18 14:54:54 -05:00
Robin Ward
fd6bbc69e2 FIX: On chrome, focusing on a recently changed textarea would scroll 2015-12-29 14:59:12 -05:00
Robin Ward
49bda0b17d FIX: Improve windows double clicking on words in editor 2015-11-24 13:42:22 -05:00
Robin Ward
c76caca109 FIX: Perform the same operation on multilines in d-editor 2015-11-24 13:03:37 -05:00
Robin Ward
84a50a1260 FIX: Keyboard handling regression 2015-11-18 12:35:17 -05:00
Robin Ward
8dc0fa97d4 Better behavior When inserting a link with no description 2015-11-17 13:26:55 -05:00
cpradio
8f39f25cad FIX: Use selected text in the link if text is already selected, otherwise, put the URL 2015-11-09 15:29:19 -05:00
Robin Ward
52579179bd FIX: Broken tests in phantom, not in browser 2015-11-06 16:44:38 -05:00
Robin Ward
15931fce1e FIX: Allow us to insert things between words. 2015-11-06 15:40:52 -05:00
Robin Ward
47495a5713 FEATURE: Replace composer editor with ember version 2015-11-06 09:49:16 -05:00
Robin Ward
5cd6308850 API for adding buttons to the new composer 2015-11-02 16:18:09 -05:00
Robin Ward
0428bacfa9 SECURITY: A user could XSS themselves on their preference page 2015-10-20 12:09:59 -04:00
Robin Ward
94b60e62a2 FEATURE: New markdown editor re-written in Ember
Note this commit leaves out the biggest occurrence of the editor
which is the post/topic composer.

To avoid major breakage, this replaces it everywhere else it was
used:

* User preferences (About Me)
* Admin Customizations > Text Content
* Category Templates
* Editing Queued Posts

A future commit will replace the main composer with this editor
and will remove the unused pagedown code.
2015-10-19 11:01:20 -04:00
Sam
bfd08ca649 correct invalid tests 2015-09-28 17:18:46 +10:00
Robin Ward
975edceff4 Add semi colon linting to Javascript 2015-09-15 17:08:50 -04:00
Robin Ward
c36fdccab2 Add d-link component to simplify menu markup 2015-09-01 16:14:34 -04:00
Jeff Atwood
5336677be7 missed a few spots where close-panel was used 2015-08-29 04:04:04 -07:00
Robin Ward
3ae5a0a2df UX: Merge notifications and user dropdown 2015-08-28 16:11:40 -04:00
Robin Ward
5457684975 Split hamburger-menu out into menu-panel 2015-08-26 16:29:10 -04:00
Robin Ward
c5460b7d3f FEATURE: Full height hamburger menu
- Rename `site-map` to `hamburger-menu`
- Includes acceptance tests
2015-08-25 16:48:43 -04:00
Robin Ward
b0541500b4 FIX: eslint deprecations 2015-08-13 15:14:08 -04:00
Robin Ward
e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Robin Ward
7ef83913b6 FIX: Couldn't select values of 0 in the combo-box 2015-08-05 16:19:44 -04:00
Robin Ward
dc8a68fd29 FEATURE: New "Dropdown" user field type 2015-07-28 12:30:21 -04:00
Robin Ward
cc2a33617f Refactor likes/flags to simplify things a lot 2015-07-14 15:50:27 -04:00
Robin Ward
fcfcda099f Component tests for like button 2015-07-14 14:46:46 -04:00
Robin Ward
7a58d64f37 Upgrade ember qunit, create new interface for testing components 2015-07-14 13:56:59 -04:00
Robin Ward
7b6d6b76eb FEATURE: Multiple embeddable hosts
- Also refactors two site settings components into one, with tests
2015-06-09 13:25:43 -04:00