Commit Graph

1188 Commits

Author SHA1 Message Date
Sam Saffron
d0c5205a52 Feature: Change markdown engine to markdown it
This commit removes the old evilstreak markdownjs engine.

- Adds specs to WhiteLister and changes it to stop using globals
    (Fixes large memory leak)
- Fixes edge cases around bbcode handling
- Removes mdtest which is no longer valid (to be replaced with
    CommonMark)
- Updates MiniRacer to correct minor unmanaged memory leak
- Fixes plugin specs
2017-07-17 11:41:34 -04:00
Sam
79a084dd58 Revert "remove old markdown engine work-in-progress"
This reverts commit ee470b5317.
2017-07-12 18:10:51 -04:00
Sam
bcbb9f208d Revert "Integrate new engine, correct old specs"
This reverts commit f1b38ba4fb.
2017-07-12 18:10:07 -04:00
Sam
8caaa6a56e Revert "Remove mdtest, the plan is to use commonmark spec instead"
This reverts commit c64aabc964.
2017-07-12 18:10:03 -04:00
Sam
c64aabc964 Remove mdtest, the plan is to use commonmark spec instead 2017-07-12 17:44:40 -04:00
Sam
f1b38ba4fb Integrate new engine, correct old specs
corrects edge cases with

- full quotes
- [url] with nested tags
- engine overrides
- onebox applying to non http srcs
2017-07-12 17:44:40 -04:00
Sam Saffron
ee470b5317 remove old markdown engine work-in-progress 2017-07-12 17:44:40 -04:00
Robin Ward
754c1e5438 Upgrade to Babel 6 2017-07-05 15:25:23 -04:00
Sam Saffron
b8b4970481 correct some tests 2017-07-04 10:01:36 -04: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
8967d50dc2 Clean up sanitization code
- remove html table test, this is soon to be deprecated
- move sanitization tests into pretty text.rb
- fix up whitelister so it makes a copy of options
2017-06-26 15:21:47 -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
Régis Hanol
f943efe1a9 remove use of soon-to-be-deprecated 'Discourse.SiteSettings' (cc @eviltrout) 2017-06-14 10:02:13 +02:00
Robin Ward
867cefc492 Ember.K was deprecated, so let's remove it. 2017-06-13 15:59:48 -04:00
Sam
826f332766 Merge pull request #4901 from jjaffeux/emoji-5.0
Emoji next
2017-06-13 11:12:41 -04:00
Régis Hanol
54e8fb0d89 FEATURE: new 'allow_staff_to_upload_any_file_in_pm' site setting 2017-06-12 22:41:29 +02:00
Arpit Jalan
b9c94aa234 FEATURE: add required user fields to invite accept form
UX: make "accept invitation" page consistent with sign up modal
2017-06-12 20:43:07 +05:30
Guo Xiang Tan
684b05f510 FIX: Strip zero-width characters from search terms. 2017-06-07 18:19:47 +09:00
Joffrey JAFFEUX
64336a8c75 Emoji 5.0 support 2017-06-05 14:06:23 +02:00
Robin Ward
e66fa82f3a FIX: Don't load JS via SCRIPT tag in QUnit mode 2017-05-31 15:31:24 -04:00
Sam
febc2c571f add a test for customize theme controller 2017-05-31 11:18:17 -04:00
Neil Lalonde
0c2a54dbb5 fix failing js test 2017-05-30 15:13:56 -04:00
Arpit Jalan
d2c2139da8 FEATURE: require name when accepting invite if 'full name required' setting is enabled 2017-05-29 21:46:43 +05:30
Robin Ward
2820cf2b50 FIX: Broken Acceptance test 2017-05-25 15:56:11 -04:00
Neil Lalonde
0a8e16d049 UX: show short flag descriptions in the flag modal on mobile 2017-05-19 15:35:10 -04:00
Neil Lalonde
019f954c44 fix js test failure 2017-05-18 13:36:45 -04:00
Neil Lalonde
dbb814ec6a FIX: allow pasting links into title field that are longer than the max title length 2017-05-18 12:32:47 -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
Sam
bc0b9af576 FEATURE: support uploads for themes
This allows themes to bundle various assets
2017-05-10 15:47:11 -04: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
2b21e5ea7e UX: Display translated group name for automatic groups. 2017-05-05 14:34:47 +08:00
Neil Lalonde
c98601129b Move name, avatar, and title fields from profile tab to account tab 2017-05-04 12:04:07 -04:00
Guo Xiang Tan
489c3bc1cd Disable failing JS tests first. 2017-05-04 16:49:12 +08:00
Guo Xiang Tan
94c8410521 FIX: Show share popup only for valid buttons. 2017-05-04 10:31:09 +08:00
Neil Lalonde
7f09bc9a09 Merge pull request #4849 from discourse/prefs
User preferences in tabs
2017-05-03 16:53:26 -04:00
Neil Lalonde
47b816c168 comment test failing on theme widget 2017-05-03 15:33:25 -04:00
Neil Lalonde
96aee443fa wip js test 2017-05-03 13:49:16 -04:00
Robin Ward
12fb20fe1b FEATURE: Allow users to resend/update email from confirmation page 2017-05-03 11:18:01 -04:00
Robin Ward
b381372184 Use Ember.js for the /u/account-created path so we can add controls 2017-05-03 11:18:01 -04:00
Neil Lalonde
2503241ce5 FEATURE: rebuild user preferences page to use tabs 2017-05-02 16:52:18 -04:00
Sam
f5f4c36795 Increase autospec qunit timeout to 600 seconds
Correct it so it refocuses on correct runner after running a test
JS tests can not focus on line so skip in vim mode
2017-05-02 16:02:14 -04:00
Sam
556ef4cfbd FIX: case sensitive unconditional add of exact match in user search 2017-05-01 14:37:16 -04:00
Sam
a5fc51a967 improve QUNIT support for autospec 2017-05-01 13:50:28 -04:00
Guo Xiang Tan
59b906ab0d FEATURE: Disable minimum post length check when in PM with non human users.
https://meta.discourse.org/t/discourse-narrative-bot-beta-feedback/58621/65?u=tgxworld
2017-04-27 16:00:22 +08:00
James Kiesel
48c0f3faf3 Use image gallery feature of magnific
commit cc7061e9458d04dd02aad9c02ba3a89306e0fae7
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 11:21:08 2017 +0900

    ;

commit 9233be7e432daff605812e6b49042f69d348b6e7
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 10:01:26 2017 +0900

    Don't break if $elem is undefined

commit 598a694c070c86df8d9f5ffa1ed84e2f8756e65f
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 04:51:14 2017 +0900

    .

commit 1711685a33ccd236011f54d3e652991728530b3a
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 04:34:11 2017 +0900

    ;

commit 81703f36c0593250aeac3418fde86660fd307092
Author: James Kiesel <james.kiesel@gmail.com>
Date:   Tue Apr 25 04:12:37 2017 +0900

    Use image gallery functionality in magnific
2017-04-25 11:23:15 +09:00
Guo Xiang Tan
5c39c8f24b UX: Improve the way users set timers for TopicStatusUpdate. 2017-04-20 14:25:45 +08:00
Sam
a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Guo Xiang Tan
24d3c77d19 Fix the build. 2017-04-12 10:38:17 -04:00
Guo Xiang Tan
5cb64810cd FIX: Changing notification level in topic footer buttons was not updating timeline. 2017-04-12 14:54:03 +08:00
Robin Ward
40ab2e5667 FEATURE: Let users update their emails before confirming
This allows users who entered a typo or invalid email address when
signing up an opportunity to fix it and resending the confirmation
email to that address.
2017-04-05 16:44:49 -04:00
Robin Ward
0829671963 FIX: Nested quotes weren't rendered properly with BBCode 2017-04-03 14:38:30 -04:00
Robin Ward
7b6242bfbb Minor cleanup of /users/ rename 2017-03-30 10:23:24 -04:00
Robin Ward
14410b71fb Convert server side paths to use /u/ 2017-03-30 10:23:24 -04:00
Robin Ward
45a257815a Convert front end paths from /users/ to /u/ 2017-03-30 10:23:24 -04:00
Robin Ward
6b976433c9 Support for both /users/ and /u/ paths 2017-03-30 10:23:24 -04:00
Robin Ward
a4b658920e FIX: Clear sessionStorage between click track tests 2017-03-27 16:16:14 -04:00
Arpit Jalan
ec2a66d1f0 FEATURE: make summary as first tab on user page
https://meta.discourse.org/t/custom-user-fields-show-on-activity-but-not-summary-page/59196/3?u=techapj
2017-03-21 23:12:28 +05:30
Neil Lalonde
22f197c153 FEATURE: subcategory list style: boxes with featured topics 2017-03-16 11:54:45 -04: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
83d2e63771 Make eslint happy. 2017-03-14 11:47:35 +08:00
Guo Xiang Tan
8e45322b09 FIX: Only group admins can see group edit page. 2017-03-14 11:45:58 +08:00
Neil Lalonde
6d7e968e30 FEATURE: box-style rendering of sub-categories 2017-03-13 15:25:52 -04:00
Régis Hanol
dd60cb82c3 UX: add client-side rate limit on click counters 2017-03-13 11:31:37 +01:00
Guo Xiang Tan
b419a5765e FEATURE: Add seen/unseen filters to advanced search UI.
https://meta.discourse.org/t/advanced-search-posts-that-i-have-seen/57966
2017-03-09 10:46:06 +08:00
Robin Ward
c310a32ac1 FIX: Broken tests. :( 2017-03-07 12:36:31 -05:00
Guo Xiang Tan
2a35abf757 Fix the build. 2017-03-02 12:36:15 +08:00
Neil Lalonde
262016604d FEATURE: each category can control how many topics to show on categories page 2017-03-01 15:12:57 -05:00
Régis Hanol
b20b568039 FIX: allow for empty translated strings 2017-03-01 11:30:44 +01:00
Régis Hanol
3f5d8b8000 make eslint happy 2017-02-28 10:33:16 +01:00
Régis Hanol
5738253998 FIX: locale fallback with pluralized strings 2017-02-28 10:02:29 +01:00
Guo Xiang Tan
ac37bd3dbc FIX: Search menu results does not refresh when search context is changed. 2017-02-27 12:23:41 +08:00
Régis Hanol
a2c04be718 FIX: eradicate I18n fallback issues 💣
FIX: client's translation overrides were not working when the current locale was missing a key
FIX: ExtraLocalesController.show was not properly handling multiple translations
FIX: JsLocaleHelper#output_locale was not properly handling multiple translations

FIX: ExtraLocalesController.show's spec which was randomly failing
FIX: JsLocaleHelper#output_locale was muting cached translations hashes

REFACTOR: move 'enableVerboseLocalization' to the 'localization' initializer
REFACTOR: remove unused I18n.js methods (getFallbacks, localize, parseDate, toTime, strftime, toCurrency, toPercentage)
REFACTOR: remove all I18n.pluralizationRules and instead use MessageFormat's pluralization rules

TEST: add tests for localization initializer
TEST: add tests for I18n.js
2017-02-24 11:31:21 +01:00
Neil Lalonde
a702330ccd FEATURE: make show_subcategory_list a per-category setting 2017-02-22 11:42:36 -05:00
Neil Lalonde
1dda998a4e FEATURE: search should default scope to current category or user 2017-02-20 17:02:02 -05:00
Neil Lalonde
a6ebe495bf FEATURE: links that can't have no onebox can be used as featured topic links 2017-02-17 18:35:19 -05:00
Robin Ward
e089515dab FIX: Don't try to load avatars in test mode 2017-02-17 16:21:35 -05:00
Robin Ward
c6a0e74945 FIX: Remove errors when running phantomjs 2017-02-17 16:21:35 -05:00
Neil Lalonde
d0fbb27f3e FEATURE: new invite acceptance page, where username can be chosen and password can be set 2017-02-15 16:51:57 -05:00
Robin Ward
9d4405d602 Don't add an empty class to the list elements in the hamburger 2017-02-13 11:28:10 -05:00
Rimian Perkins
432b08f296 remove personal email from fixtures
I'm writing acceptance tests against the user fixture in my plugin. It would be a good idea to use a generic email address as I'd like to respect eviltrout's privacy :)
2017-02-13 11:29:03 +11:00
Neil Lalonde
e077b3f141 FIX: composer should only feature links to external sites 2017-02-08 15:34:54 -05:00
Neil Lalonde
8643620172 automatically redirect when password reset completes successfully 2017-02-06 15:04:58 -05:00
Neil Lalonde
e82240fbd9 autofocus password field on password reset page, and remove static password length message 2017-02-06 12:46:02 -05:00
Neil Lalonde
5613e3b82b fix travis build. use indexOf instead of includes in js tests. 2017-02-06 11:21:29 -05:00
Neil Lalonde
c4e10f2a9d FEATURE: redesign the change password page to use javascript and validations 2017-02-03 16:09:24 -05:00
Guo Xiang Tan
0988420b48 Fix broken qunit tests. 2017-02-03 12:09:30 +08:00
Guo Xiang Tan
058df4329d FIX: Escape escape regexp characters. 2017-01-31 10:39:45 +08:00
Leo McArdle
c76f6856ea FEATURE: reply as new message to the same recipients 2017-01-27 12:24:31 +08:00
Guo Xiang Tan
156a00af47 UX: Show edit button on post revision modal as long as user can edit. 2017-01-27 10:49:17 +08:00
Guo Xiang Tan
ee396edd9c Add edit post button to post revision modal for wiki-ed posts. 2017-01-25 14:36:00 +08:00
Guo Xiang Tan
32846aad2a FIX: Toggling post's wiki status should not create a new version. 2017-01-20 15:42:33 +08:00
Neil Lalonde
222125de10 oops here's the test 2017-01-18 12:13:55 -05:00
Guo Xiang Tan
c76ee788a7 Merge pull request #4656 from tgxworld/dont_display_an_extra_button_for_wiki_post
UX: Display wiki icon on post edits indicator.
2017-01-17 06:34:43 +08:00
Guo Xiang Tan
17da0bd11f UX: Display wiki icon on post edits indicator. 2017-01-17 06:33:58 +08:00
Neil Lalonde
60a9030d25 UX: don't show search and hamburger menus to anon visitors on login-required sites 2017-01-16 16:33:14 -05:00
Guo Xiang Tan
d793a0fbfc Fix JS tests. 2017-01-06 16:00:29 +08:00
Guo Xiang Tan
389e1d0bd5 Add acceptance JS tests for group membership button. 2017-01-06 11:56:10 +08:00
Robin Ward
7c8095294d FIX: Raw plugin outlets were broken 2017-01-05 11:38:57 -05:00
Guo Xiang Tan
3aed15c99e FIX: Group membership button now showing properly. 2017-01-03 14:36:56 +08:00
Guo Xiang Tan
f1beef43a8 Merge pull request #4618 from tgxworld/fix_invalid_emails
FIX: Don't allow invalid email to be saved.
2016-12-30 07:11:48 +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
a481bf048f FIX: Incorrect membership action buttons shown for non logged in users. 2016-12-29 12:51:36 +08:00
Guo Xiang Tan
3c4920d234 FIX: Group admin tabs showing for non logged in users. 2016-12-29 11:52:07 +08:00
Guo Xiang Tan
a5fead3857 UX: Redesign group page to follow user page. 2016-12-22 13:08:59 +08:00
Neil Lalonde
783490f763 FIX: with featured links enabled and uncategorized topic not allowed, allow featued links behaviour before choosing a category 2016-12-21 13:40:05 -05:00
Guo Xiang Tan
13c6191e89 FIX: Don't allow invalid email to be saved. 2016-12-21 17:47:11 +08:00
Robin Ward
e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05:00
Guo Xiang Tan
51679ef6b2 Fix JS tests. 2016-12-17 00:51:40 +08:00
Robin Ward
ddd299f4aa Revert "Revert "Revert Ember 2.10+ for a short while""
This reverts commit 76bbc481cb.
2016-12-16 10:29:30 -05:00
Robin Ward
76bbc481cb Revert "Revert Ember 2.10+ for a short while"
This reverts commit 21682fd60b.
2016-12-16 09:52:29 -05:00
Robin Ward
21682fd60b Revert Ember 2.10+ for a short while 2016-12-15 16:43:38 -05:00
Robin Ward
28699e66d8 Revert "REVERT: Ember 2.10 -- it's not building properly"
This reverts commit 600541c623.
2016-12-15 10:28:15 -05:00
Guo Xiang Tan
0ab52b127b Fix JS tests. 2016-12-15 16:52:47 +08:00
Guo Xiang Tan
50aa9ba396 Fix JS tests. 2016-12-15 14:17:15 +08:00
Guo Xiang Tan
4b940dc8bd FEATURE: Add groups page. 2016-12-14 17:27:47 +08:00
Neil Lalonde
1f0793ac50 Improvements to automatic topic title based on pasted link 2016-12-13 13:11:52 -05:00
Guo Xiang Tan
eefd286f71 Fix JS tests. 2016-12-13 16:45:49 +08:00
Guo Xiang Tan
43ee9f884e FEATURE: Add Group#full_name. 2016-12-13 16:16:26 +08:00
Guo Xiang Tan
7bfabb029b UX: Move editing group from into an individual tab. 2016-12-13 15:15:20 +08:00
Robin Ward
600541c623 REVERT: Ember 2.10 -- it's not building properly 2016-12-12 16:19:05 -05:00
Arpit Jalan
ec5615033d Add acceptance test for escaping search term 2016-12-13 01:55:39 +05:30
Robin Ward
9a7998a930 Various fixes for Ember 2.10 2016-12-12 14:44:29 -05:00
Robin Ward
2efe4900cf Plugin Outlets need their arguments to be explicit 2016-12-12 14:44:29 -05:00
Robin Ward
765e5e9186 Upgrade to Ember 2.9 2016-12-12 14:44:29 -05:00
Guo Xiang Tan
3089752b13 Make eslint happy. 2016-12-12 22:52:57 +08:00
Guo Xiang Tan
da7009a968 FEATURE: Add request membership button for allowed groups. 2016-12-12 22:48:08 +08:00
Guo Xiang Tan
beb8245d04 Correct tests. 2016-12-12 17:32:16 +08:00
Guo Xiang Tan
05f55dbc10 FEATURE: Group logs. 2016-12-12 17:29:54 +08:00
Guo Xiang Tan
be5b5f6bea FEATURE: Public groups. 2016-12-12 17:00:30 +08:00
Neil Lalonde
fb2633366a FIX: featured link topics shouldn't require the same min post length 2016-12-09 15:46:26 -05:00
Neil Lalonde
a4c4f13901 Remove the topic_featured_link_onebox setting. We will always try to onebox a link and add it to the body if topic_featured_link_enabled is enabled. 2016-12-09 13:28:12 -05:00
Neil Lalonde
fbd8e6ed4a FEATURE: pasting a link into the title of the composer can automatically onebox it and update the title 2016-12-08 16:09:46 -05:00
Robin Ward
a9acced4ca FIX: Broken tests after removing attribute 2016-12-08 11:45:27 -05:00
Guo Xiang Tan
545dfa7191 FEATURE: Allow group owners to edit title. 2016-12-07 10:26:28 +08:00
Guo Xiang Tan
8c7a0b7684 UX: Display group title if it exists. 2016-12-07 10:20:13 +08:00
Erick Guan
52763f5115
FEATURE: Allow posting a link with topics 2016-12-05 17:20:54 +01:00
Guo Xiang Tan
adb7fcb6b3 FEATURE: Add bio to group page. 2016-12-05 16:58:04 +08:00
Guo Xiang Tan
e0c28d6fd5 REFACTOR: Stop mixing users page and groups page CSS. 2016-12-05 14:27:47 +08:00
Guo Xiang Tan
31acd311e5 FEATURE: Allow group owners to edit group name and avatar flair. 2016-12-05 14:27:46 +08:00
Guo Xiang Tan
0d4f71e90b FIX: Display group avatar flair on user page. 2016-11-29 13:47:45 +08:00
Sam
0631a84ca0 Merge pull request #4576 from cpradio/min-posts-search
FEATURE: Add min_post_count search filter
2016-11-29 10:19:33 +11:00
cpradio
66ca6d622e FEATURE: Add min_post_count search filter 2016-11-28 11:43:12 -05:00
Robin Ward
6aa5722d2b Remove Ember 1.x specific code 2016-11-25 15:38:45 -05:00
Guo Xiang Tan
5794f1619d PERF: Fix N+1 queries when loading groups. 2016-11-26 02:20:26 +08:00
Robin Ward
ae4fd06444 Add acceptance tests for custom-html 2016-11-23 13:02:22 -05:00