Commit Graph

284 Commits

Author SHA1 Message Date
Sam 49f1f10f75 file is a .js file so don't use let 2018-09-13 14:58:45 +10:00
Sam daa02431df FIX: remove div used to measure textarea position
Also corrects the positioning of autocomplete (when typing @ or emoji)

Previously there were edge conditions where autocomplete would be hundreds
of pixels away due to a bug measuring.


This correct an issue where Firefox ends up having an enormous blank space
at the bottom of topics after editing.
2018-09-13 14:53:32 +10:00
Guo Xiang Tan a033327b93 Manage qunit via yarn. 2018-09-11 15:07:28 +08:00
Guo Xiang Tan fb96ab4464
Delete pretender.js 2018-09-07 21:26:36 +08:00
Vinoth Kannan f896d6b021 FIX: Skip keypress event if alt key is down 2018-09-04 10:45:35 +05:30
Sam 4194886b62 correct failing test 2018-05-24 13:02:20 +10:00
Sam 54d153068a DEV: remove qunit rails fork and add a couple of async tests 2018-04-23 16:42:40 +10:00
Sam 6a0aeae91b DEV: clean up JavaScript testing
- Unify runner for autospec and qunit:test
- Report on slowest 30 tests
- Use async await instead of promise tower
2018-04-23 14:43:04 +10:00
Guo Xiang Tan 71b2f8ae1d Use an ENV to trigger `--remote-debugging-port` instead. 2018-04-12 10:12:02 +08:00
Guo Xiang Tan 560bb02f7c `--remote-debugging-port` is our best friend in headless mode. 2018-04-12 08:56:58 +08:00
Sam 420739e12c FEATURE: upgrade jQuery to version 3.3.1 2018-03-08 14:31:13 +11:00
Sam b57d4c87a4 FEATURE: update CommonMark to version 0.28 2018-03-08 12:19:53 +11:00
Joffrey JAFFEUX ac701696b3
FEATURE: replaces tag-chooser/tag-group-chooser with select-kit component
These component were also the last using select2. As a consequence select2 is removed from Discourse in this commit.
2018-02-26 11:42:57 +01:00
scossar d0c467babc Set caret-clone position based on rtl class 2018-01-19 09:53:39 -08:00
scossar b652791a20 Add id to clone div; override inline styles for rtl locales 2018-01-19 09:53:39 -08:00
Guo Xiang Tan 6a4f391e38 Switch to chrome headless mode instead of phantomjs. 2017-12-19 16:00:43 +08:00
Guo Xiang Tan 77fbb2306d Fix chrome-qunit-test.js wasn't exiting with the right error code. 2017-12-15 14:12:01 +08: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
Sam 902be91a5a FEATURE: CTRL+/ to trigger search even from composer 2017-08-02 16:26:03 -04:00
Régis Hanol 28a397398f change the *correct* timeout value 2017-07-24 11:44:33 +02:00
Régis Hanol 2779fde565 increase js tests suite timeout to allow more time to travis-ci 2017-07-24 11:28:32 +02:00
Joffrey JAFFEUX bd0607b15b makes emoji-picker position more dynamic 2017-07-19 22:54:55 +02:00
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 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
Robin Ward 2f480e21a0 Stop using Babel source gem, which is no longer updated 2017-07-05 14:19:16 -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
Robin Ward 1ef43c33d8 Don't pre-minifiy autoellipsis 2017-05-18 15:16:15 -04:00
Robin Ward 0c46f51412 Use unminified resize to make debugging easier 2017-03-22 16:39:18 -04:00
Robin Ward f97a6598aa Use the same jQuery in prod and dev, avoid minimizing twice 2017-03-22 15:48:37 -04:00
Robin Ward ba8202d199 FIX: Silence DOMException errors when running phantomjs 2017-02-17 16:21:35 -05:00
Robin Ward e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05: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
Robin Ward 600541c623 REVERT: Ember 2.10 -- it's not building properly 2016-12-12 16:19:05 -05:00
Robin Ward 765e5e9186 Upgrade to Ember 2.9 2016-12-12 14:44:29 -05:00
Guo Xiang Tan 2ffb42a055 Fix qunit tests on Travis. 2016-11-30 16:30:58 +08:00
Robin Ward 3765ee84e5 FIX: Syntax error in phantomjs 2016-11-25 14:59:16 -05:00
Robin Ward 3bd5ac8015 Fix Wizard unit tests 2016-11-25 14:29:45 -05:00
Robin Ward 2d3518f475 Enable newer version of Ember 2016-11-25 10:09:58 -05:00
Guo Xiang Tan ed78b47745 Increase timeout for all qunit tests.
* Timeout any test that takes more than 10 seconds.
2016-11-16 18:07:30 +08:00
Robin Ward 0f9e45f283 Allow the loader to understand when files are moved 2016-11-15 11:41:16 -05:00
Robin Ward 7d560ea3d5 More ember-qunit fixes 2016-11-08 14:42:10 -05:00
Robin Ward 6a1c05a268 Upgrade ember-qunit 2016-11-08 14:29:50 -05:00
Sam 1bf0b2a5f4 FEATURE: show timeline component when expanding post progress
- Show fullscreen timeline with title of topic in mobile
- Go to post # kb shortcut now unconditionally uses a modal
- Always show wrench on topics (was missing if progress bar was showing)
- Be smarter about rendering timeline even if composer is open (provided there is room)
2016-10-19 14:29:58 +11:00
Robin Ward 3fac43249c Javascript file was missing 2016-09-22 09:52:19 -04:00
Robin Ward bba0fd0654 REFACTOR: PreloadStore to ES6 2016-07-11 12:57:05 -04:00
Robin Ward a546395397 REFACTOR: Migrate markdown functionality in ES6 2016-07-11 12:57:05 -04:00
Robin Ward f854eebc5f
FIX: Entering a topic at the bottom would cause scroll jumps 2016-05-31 10:51:59 -04:00
Robin Ward 9ea32bf7d8
Deprecation: Change `{{#each x in y}}` to `{{#each y as |x|}}` 2016-05-04 16:18:09 -04:00
Guo Xiang Tan 256d7a00e9 Update sprockets. (#4167)
* Update sass-rails.

* FIX: Tilt dependency has been removed from Ember::Handlebars::Template.

* Update `DiscourseIIFE` to new Sprockets API.

* `Rails.application.assets` returns `nil` in production.

* Move sprockets-rails out of the assets group.

* Pin ember-rails to 0.18.5 which works with Sprockets 3.x.

* Update sprockets to 3.6.0.

* Make `DiscourseSassCompiler` work with Sprockets 3.

* Use `Sass::Rails::SassImporterGlobbing` instead of haxxing our own.

* Moneky patch so that we don't add dependencies for our custom css.

* FIX: Missing class.

* Upgrade ember-handlebars-template.

* FIX: require path needs to share the same root as the folder's path.

* Bump discourse-qunit-rails.

* Update ember-template-compiler.js to 1.12.2.

* `prepend` is private in Ruby 2.0.0.
2016-04-18 10:47:52 +08:00
Robin Ward 46e4768971 FIX: `highlight.js` is used, but for highlighting text, not code. 2016-02-18 12:19:00 -05:00
Robin Ward 9b60551d4e Upgrade jQuery 2016-02-11 11:00:41 -05:00
Robin Ward d1e85bdd8b FEATURE: Use virtual dom framework for faster post rendering 2016-02-11 11:00:40 -05:00
Robin Ward 4bbbdd8dc4 SECURITY: Upgrade Ember to fix CVE-2015-7565. Also upgrade Handlebars 2016-01-15 13:57:45 -05:00
Jeff Atwood e1f90d12f1 formally remove IE9 support 2016-01-02 23:49:52 -08:00
Sam 43d63367fd PERF: stop loading handlebars and ember compilers in prod
(this removes a nice 50K from our initial payload and saves memory)

Also fixes invalid HTML automatically if added to HEAD or /BODY
2015-11-27 11:59:01 +11:00
Robin Ward 434deb1bd3 SECURITY: Backported XSS fixes from Handlebars 2015-11-24 16:08:08 -05:00
Robin Ward 05849d2afb FIX: Upgrade Select2 widget - fixes focus on mobile 2015-11-09 13:57:47 -05:00
Robin Ward bb21902954 Add keyboard shortcuts back to d-editor 2015-11-03 14:01:26 -05:00
Sam 0c5189fa2a SECURITY: fix possible XSS expanding quotes 2015-09-08 15:25:00 +10:00
Robin Ward f5cbaf5609 Have menu panels show up on top of the composer, stop composer at header 2015-09-01 17:34:04 -04:00
Sam 16d532e9c8 FIX: stop disabling default in detect swipe library 2015-08-26 10:26:58 +10: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
Régis Hanol e7e96eb8af fix the run-qunit scripts with backward compatible syntax 2015-08-25 17:37:36 +02:00
Régis Hanol 294669c856 FIX qunit test runner for phantomjs 2.0 2015-08-25 10:42:19 +02:00
Robin Ward 22844b9e46 Ember 1.12 support 2015-08-13 11:14:16 -04:00
Robin Ward e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Sam e93665b9f7 FEATURE: site setting to allow html tables (which may come from imports)
(allow_html_tables , disabled by default)
2015-07-20 16:56:46 +10:00
Robin Ward 7a58d64f37 Upgrade ember qunit, create new interface for testing components 2015-07-14 13:56:59 -04:00
Robin Ward 01d4085125 Removed bad JS tests, upgrade QUnit + ember-qunit 2015-05-13 14:13:37 -04:00
Robin Ward 0d51c1f0a0 FIX: List views in admin were broken 2015-05-11 13:17:12 -04:00
Robin Ward d9e5302a16 FIX: HTMLBars compilation was broken in production mode 2015-05-11 11:20:46 -04:00
Robin Ward 39a1444838 Fixes deprecations on various discovery routes 2015-05-11 11:20:45 -04:00
Robin Ward c6d99bd141 Fixes routing in tests 2015-05-11 11:18:38 -04:00
Robin Ward ed398e65e0 Fixes issues with composer 2015-05-11 11:18:38 -04:00
Robin Ward 14fa033288 Update cloaking code for HTMLBars 2015-05-11 11:18:37 -04:00
Robin Ward 8294205f7c Ember 1.11 broken WIP 2015-05-11 11:18:37 -04:00
Robin Ward b3b4fd21ed Broken WIP 2015-05-11 11:18:37 -04:00
Robin Ward 76f7786d0d Support saving posts via Store 2015-04-15 14:54:36 -04:00
Robin Ward 22ffcba8e6 Convert `Discourse.Post` to ES6 and use Store model
- Includes acceptance tests for composer (post, edit)
- Supports acceptance testing of bootbox
2015-04-15 14:54:36 -04:00
Robin Ward 77f9d1e223 Use pretender's passthrough for dynamically loaded scripts 2015-03-13 12:14:22 -04:00
Robin Ward de4e4f2b98 Replace $LAB with path aware `loadScript` that uses jQuery 2015-03-09 14:39:39 -04:00
Sam 3e5420da35 correct comments 2015-03-05 15:09:31 +11:00
Sam 5ba5a9f3d6 UX: fix jerky UI when creating new posts
- do not scroll screen if post is already on screen
- do not hide/show suggested topics each time you post
- be less aggressive about setting scrollTop in LockOn
2015-03-05 15:01:17 +11:00
Robin Ward cf3582bedb FIX: JSHint wasn't validating ES6 files, this fixes a bunch of errors. 2015-02-10 17:21:16 -05:00
Sam 5ddec2e76d revert lodash upgrade, it is causing severe breakages elsewhere 2015-02-03 11:51:34 +11:00
Régis Hanol 69f95df297 FEATURE: recently used emoji tab
⬆️ update lodash to V.3.0.1
2015-02-02 21:54:15 +01:00
Régis Hanol cd2c9edb46 FIX: 🐛 upload on IE9 wasn't working :'(
- FIX: make sure we set a default name to a pasted image only on Chrome (the only browser that supports it)
- FIX: use ".json" extension to uploads endpoints since IE9 doesn't pass the correct header
- FIX: pass the CSRF token in a query parameter since IE9 doesn't pass it in the headers
- FIX: display error messages comming from the server when there is one over the default error message
- FIX: HACK around IE9 security issue when clicking a file input via JavaScript (use a label and set `visibility:hidden` on the input)
- FIX: hide the "cancel" upload on IE9 since it's not supported
- FIX: return "text/plain" content-type when uploading a file for IE9 in order to prevent it from displaying the save dialog
- FIX: check the maximum file size on the server 💥
- update jQuery File Upload Plugin to v. 5.42.2
- update JQuery IFram Transport Plugin to v. 1.8.5
- update jQuery UI Widget to v. 1.11.1
2015-01-28 19:43:20 +01:00
Robin Ward 7cc96bdac5 FIX: v8 issue with regexp 2015-01-20 17:29:59 -05:00
Robin Ward c4ca6b9934 FIX: Activate account page JS error with I18n 2015-01-14 14:00:47 -05:00
Robin Ward 3e7e47e917 Upgrade Select2 2015-01-05 16:02:08 -05:00
Robin Ward 36f53790f4 Added test for markdown bug with linking `[ul]` and `[poll]` 2014-12-31 11:45:23 -05:00
Sam 2aec93c13d FEATURE: hasModule global helper to figure out if module exists 2014-12-31 12:29:18 +11:00
Sam 8d8b4ff781 FIX: allow [poll] and [ul] to be used as markdown link name 2014-12-30 14:18:46 +11:00