Commit Graph

348 Commits

Author SHA1 Message Date
Joffrey JAFFEUX
02492679bd
FIX: experimental fix to Ember.ENV.EXTEND_PROTOTYPES rare exception (#7133) 2019-03-08 15:12:13 +01:00
Osama Sayegh
d5efe2d7ee UX: make composer resize work on touch devices (#7068)
* UX: make composer resize work on touch devices

This also replaces a vendor dependency with a small built-in resize mechanism.

* Make blue bar's larger padding specific to touch devices
2019-02-26 08:04:14 +11:00
Penar Musaraj
9bf11a7c02
FEATURE: Add localized timezone names (#7004)
Uses github.com/discourse/moment-timezone-names-translations to translate timezone names.
Plugins can also provide their own timezone name translations.
2019-02-25 14:40:02 -05:00
Penar Musaraj
090e9c8432
FIX: make composer full screen shortcut work when inputs have focus (#6907)
- Uses a Mousetrap plugin for global shortcuts
- Implemented for search `ctrl+alt+f` and composer fullscreen `shift+f11` shortcuts
2019-02-14 00:19:27 -05:00
Penar Musaraj
5cef5b34ef DEV: Yarn-manage moment and moment-timezone libraries 2019-02-12 13:57:52 -05:00
Penar Musaraj
c8c84f462b FIX: use Handlebars 4.0.12
Use 4.0.12 for both versions of Handlebars (runtime and not)
2019-01-14 12:56:14 -05:00
Penar Musaraj
b28d68efbf DEV: Use yarn to manage Highlight.js dependency
Moves Highlight.js files to vendor/assets/javascripts

Adds Highlight.js in yarn package management

Removes old rake task and reliance on NPM to build Highlight.js

Highlight.js is now integrated in the "javascript:update" rake task
2019-01-14 12:46:35 -05:00
Joffrey JAFFEUX
f9648de897
DEV: upgrades from Ember 2.13 to Ember 3.5.1 (#6808)
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: David Taylor <david@taylorhq.com>
2019-01-10 11:06:01 +01:00
Sam
0ca61242b8 FEATURE: polyfill intersection observer for IE11 / iOS Safari
This feature is used for defer loading of images and in future for post cloaking

This gives us a polyfill so we can safely use the feature in problem browsers

The polyfill supports "polling" but it does not appear we need it yet.

If we discover anything odd here, consider setting poll interval per:

https://github.com/w3c/IntersectionObserver/tree/master/polyfill

```
var io = new IntersectionObserver(callback);
io.POLL_INTERVAL = 100; // Time in milliseconds.
```

Keeping the mutation observer cause we often mutate the DOM
2018-12-12 15:36:08 +11:00
David Taylor
404acef6e3 DEV: Move run-qunit.js out of the vendor directory 2018-12-03 16:16:37 +00:00
Sam
74b300110f DEV: lint run-qunit
also handles situation where startsWith is missing, when this happens
simply log

This corrects an issue where console.log explodes autospec
2018-11-27 17:41:29 +11:00
Kris
c219a5fb1e
Add btn-default class to all default buttons (#6521) 2018-10-24 16:09:36 -04:00
Penar Musaraj
4ae9cb28e4 remove probes.js, highlight.pack.js 2018-10-04 13:50:54 -04: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
Penar Musaraj
dc8a16b43b
Use Yarn to manage dependencies, cleanup unused bootstrap libs (#6436) 2018-10-03 10:15:43 -04:00
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
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
Robin Ward
1d74e3c663 FIX: Not highlighting posts when entering a topic 2014-12-19 14:44:45 -05:00
Robin Ward
b716682fe5 FIX: Upgrade Ember List View to add 1.9 support 2014-12-18 12:32:53 -05:00
Robin Ward
f3babdb319 Fixes many Ember 1.9.0 deprecations 2014-12-17 09:31:42 -05:00
Robin Ward
331bba4b6d Correct the last few test failures in the 1.9.0 branch 2014-12-17 09:31:42 -05:00
Robin Ward
5659b93c71 Many fixes for Ember 1.9.0 2014-12-17 09:31:40 -05:00
Robin Ward
5f6f85b182 FIX: Disable loading below HTML, we have our own spinner for that and it
broke scrolling on some custom CSS.
2014-12-04 17:12:47 -05:00
Robin Ward
e1f4d781d2 Remove unncessary null check now that the fix is done properly 2014-12-04 16:13:55 -05:00
Robin Ward
a1498925ef FIX: Errors due to _elementCreated called on null 2014-12-04 16:10:10 -05:00
Robin Ward
e035b07e92 Put Ember 1.8.1 + fixes back. 2014-12-04 08:51:35 -05:00
Sam
8977d5917b revert 2014-12-04 09:35:11 +11:00
Sam
6175973fda Revert "Patch Ember to fix https://github.com/emberjs/ember.js/issues/9805"
This reverts commit 393607d25c.
2014-12-04 09:32:02 +11:00
Robin Ward
393607d25c Patch Ember to fix https://github.com/emberjs/ember.js/issues/9805 2014-12-03 16:41:27 -05:00
Robin Ward
ead073bd87 FIX: If we are scheduled after being torn down don't do anything 2014-12-03 15:55:29 -05:00
Robin Ward
39fde5b9fb Upgrade to 1.8.1: So long, metamorphs! 2014-12-03 10:49:18 -05:00
Robin Ward
f73aa444ee FIX: GroupedView bug with latest Ember build 2014-11-17 20:26:21 -05:00
Robin Ward
72cd2f284b FIX: Try a different way of removing use strict from Ember 1.7.1 2014-11-17 15:31:30 -05:00
Robin Ward
7b7567f8e6 FIX: Remove use strict from ember build to get around iOS bugs 2014-11-17 14:42:21 -05:00
Robin Ward
a6b1be81b1 Upgrade to Ember 1.7.1 + group patch 2014-11-10 14:49:02 -05:00
Robin Ward
bab4f48eeb FIX: Trim the profile text in the user card even if it has multiple lines. 2014-11-03 11:59:56 -05:00
Robin Ward
f58c0e1f22 Patch ember-cloaking to work in Ember 1.7 as well as 1.6 2014-10-29 14:21:05 -04:00
Robin Ward
b250696e04 FIX: Deprecation warnings on webkitIndexedDB 2014-10-15 15:46:23 -04:00
Robin Ward
0a5c7b15e2 SECURITY: RegExp engine loopwith improperly formatted URLs. 2014-09-26 13:37:19 -04:00
Robin Ward
0fc0533134 FEATURE: Admin interface for adding custom fields for users 2014-09-25 16:17:51 -04:00
Robin Ward
1e880fd5e1 SECURITY: Malformed URL could crash V8 2014-09-12 13:19:15 -04:00
Jens Maier
9be5c98c8c FIX: Markdown parser: empty links and bbcode parsed as link refs 2014-08-31 02:55:43 +02:00
Jens Maier
b8f5c21df0 Workaround markdown-js links parser bug 2014-08-24 01:56:14 +02:00
Robin Ward
d3cc85c784 TESTS: Use Pretender in test mode for more flexible server responses 2014-07-31 16:49:30 -04:00
Robin Ward
b6684e7168 Upgrade to ember-qunit 2014-07-30 20:09:44 -04:00
Robin Ward
5bee6887cf Sync __oneElement__ with the upstream PR for markdown-js 2014-07-29 12:01:02 -04:00
Robin Ward
f6a15893e4 Small updates from upstream markdown-js 2014-07-28 16:50:32 -04:00
Jens Maier
9124cf0eaf FIX: auto-quote should not trigger when the first " is preceded by bbcode-like garbage. 2014-07-27 16:05:29 +02:00
Robin Ward
0f23456259 FIX: Instead of patching markdown-js, fix the issue in Discourse. 2014-07-21 13:09:57 -04:00
Robin Ward
d6589d4c53 FIX: Cooking issue with paragraphs in a list 2014-07-15 16:42:14 -04:00
Régis Hanol
ef44b6218d FEATURE: better mobile upload experience (upload the picture right away) 2014-07-09 22:40:22 +02:00
Sam
dc9b6b53ad PERF: editor could be crashed if you entered huge inline blocks 2014-07-04 12:49:50 +10:00
Sam
c5bd454ea6 BUGFIX: not binding "this" correctly in horizRule 2014-06-25 10:03:41 +10:00