Commit Graph

429 Commits

Author SHA1 Message Date
Sam 1f4ace4f56 FEATURE: autocomplete usernames early in topic based on participation
Following this change when a user hits `@` and is replying to a topic they
will see usernames of people who were last seen and participated in the topic

This is somewhat experimental, we may tweak this, or make it optional.

Also, a regression in a423a938 where hitting TAB would eat a post you were writing:

Eg this would eat a post:

``` text
@hello, testing 123 <tab>
```
2019-02-20 13:34:43 +11:00
Dan Ungureanu a423a9383f FIX: Stop autocomplete for invalid usernames. (#7005) 2019-02-15 11:29:26 +11:00
Penar Musaraj c50db76f5d FIX: do not treat TIFF, BMP, WEBP as images
Treating TIFF and BMP as images cause us to add them to IMG tags, this is very inconsistent across browsers.

You can still upload these files they will simply not be displayed in IMG tags.
2019-02-11 16:28:43 +11:00
Vinoth Kannan 7e4edcfae8 FIX: Convert lightbox html into proper image markdown 2019-01-27 01:21:56 +05:30
Joffrey JAFFEUX 1a3655b787
DEV: s/Em/Ember (#6874) 2019-01-11 17:54:23 +01:00
Vinoth Kannan 2076f371b3 FIX: Hashtags should work for non-english characters 2018-12-26 22:12:40 +05:30
Bianca Nenciu 79d987e483 FEATURE: Show autocomplete when enable_inline_emoji_translation is true. 2018-12-05 21:58:55 +01:00
Bianca Nenciu e9bbdef156 FEATURE: Add support for inline emoji translation. 2018-12-05 21:58:55 +01:00
Penar Musaraj 923692d45a FIX: tooltip regression in admin dashboard
- adds registerHoverTooltip in tooltip qunit test
2018-12-03 11:15:31 -05:00
Penar Musaraj 03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00
Joffrey JAFFEUX 3453707784
FEATURE: allows html tooltips (#6665) 2018-11-26 11:15:23 +01:00
Guo Xiang Tan 57e2f4990d
PERF: Move processing of inline onebox out of V8 context. (#6658) 2018-11-26 09:21:38 +08:00
Guo Xiang Tan c5a70eca6e
PERF: Move mention lookups out of the V8 context. (#6640)
We were looking up each mention one by one without any form of caching and that results
in a problem somewhat similar to an N+1. When we have to do alot of DB
lookups, it also increased the time spent in the V8 context which may
eventually lead to a timeout. The change here makes it such that mention lookups only does a single
DB query per post that happens outside of the V8 context.
2018-11-22 14:28:48 +08:00
Joffrey JAFFEUX 58c795ef30 DEV: adds test for image-short-url (#6642) 2018-11-22 07:48:52 +11:00
Joffrey JAFFEUX 9672c92045
DEV: removes _.each from codebase (#6629) 2018-11-20 14:46:58 +01:00
Bianca Nenciu 2a77550f8c FIX: Do not track right clicks. (#6530) 2018-10-25 09:46:04 +00:00
Bianca Nenciu 22ada32d4d FIX: Strip @ when searching for users and groups. (#6506) 2018-10-19 11:56:10 +11:00
Maja Komel 57b52cd1de FIX: keep emoji syntax for custom emojis in quotes (#6488) 2018-10-15 10:57:15 +08:00
Guo Xiang Tan 84d4c81a26 FEATURE: Support backup uploads/downloads directly to/from S3.
This reverts commit 3c59106bac.
2018-10-15 09:43:31 +08:00
Bianca Nenciu 6275e745a7 FIX: Fix open quote links in new window. (#6477) 2018-10-11 15:51:14 +08:00
Guo Xiang Tan 3c59106bac Revert "FEATURE: Support backup uploads/downloads directly to/from S3."
This reverts commit c29a4dddc1.

We're doing a beta bump soon so un-revert this after that is done.
2018-10-11 11:08:23 +08:00
Gerhard Schlager c29a4dddc1 FEATURE: Support backup uploads/downloads directly to/from S3. 2018-10-11 10:38:43 +08: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
David Taylor 3c2608d41c
FIX: Correctly censor strings starting or ending with non-word characters (#6445) 2018-10-04 15:15:10 +01:00
Bianca Nenciu 6ad13e5ae9 FIX: Avoid redirection when not leaving forum. (#6419)
* FIX: Avoid redirection when not leaving forum.

* DEV: Updated click-track's tests.
2018-10-04 22:06:31 +08:00
Kyle Zhao 373d6e3fe6
always `loadScript` with a script tag (#6411)
to avoid Content Security Policy unsafe-line violations
2018-10-01 10:06:01 +08:00
Vinoth Kannan 092fb0c170
Merge pull request #6333 from vinothkannans/rich-text-pasting
FIX: Use tight list format for GDocs html to markdown
2018-08-30 12:14:50 +05:30
Vinoth Kannan 4c99acea1b FIX: Use tight list format for GDocs html to markdown 2018-08-29 16:21:31 +00:00
Vinoth Kannan 26f17150e1
Merge pull request #6327 from vinothkannans/rich-text-pasting
FIX: Keep emojis and remove clicks count on html to markdown
2018-08-29 13:38:55 +05:30
Vinoth Kannan fb35b0b3c3 FIX: Keep emojis and remove clicks count 2018-08-29 07:26:25 +00:00
Sam 9ab1fb7dfc FEATURE: correctly store width and height on uploads
Previously we used width and height for thumbnails, new code ensures

1. We auto correct width and height
2. We added extra columns for thumbnail_width and height, this is determined
 by actual upload and no longer passed in as a side effect
3. Optimized Image now stores filesize which can be used for analysis, decisions

Also

- fixes Android image manifest as a side effect
- fixes issue where a thumbnail generated that is smaller than the upload is no longer used
2018-08-28 12:59:22 +10:00
Sam 5d96809abd FIX: improve support for subfolder S3 CDN 2018-08-22 12:31:13 +10:00
Arpit Jalan fc3b904e1f remove "track external right clicks" feature 2018-07-29 15:01:33 +05:30
Joffrey JAFFEUX 9f4e814dbc
tests for XSS injection in tooltips 2018-06-28 14:24:21 +02:00
Joffrey JAFFEUX 2268e29c26
fix linting removed by prettier 2018-06-15 18:18:45 +02:00
Joffrey JAFFEUX 03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
Joffrey JAFFEUX eddcb07f03 FEATURE: adds plugin sharing api 2018-06-13 13:25:51 +02:00
Joffrey JAFFEUX 1071aa21ab
FIX: slightly safer rounding 2018-06-07 10:59:17 +02:00
Joffrey JAFFEUX ab089cd68b
FIX: makes format number round the value before using parseInt 2018-06-07 10:44:21 +02:00
Joffrey JAFFEUX 43b1768987
UX: ceil dahsboard values 2018-05-30 16:32:43 +02:00
Joffrey JAFFEUX dd76ba90b3
FIX: bbcode regex was greedy and preventing quotes 2018-05-23 11:55:02 +02:00
Sam 17a7bb8e23 use async test 2018-05-17 17:18:22 +10:00
Régis Hanol 938934f5e9 FIX: keep '<kbd>' formatting when quoting posts 2018-05-16 17:40:45 +02:00
Régis Hanol 81f4da7dd2 FIX: remove unneeded escape when building a Quote 2018-05-12 01:16:05 +02:00
Régis Hanol 3483c7bc58 FIX: supports user/group mentions and category hashtags when quoting posts 2018-05-09 12:42:12 +02:00
Robin Ward 895bca5f5b FIX: Broken JS tests 2018-04-02 14:18:10 -04:00
Sam b57d4c87a4 FEATURE: update CommonMark to version 0.28 2018-03-08 12:19:53 +11:00
Joffrey JAFFEUX 6d4ff05cf0
FIX: makes sure [999500..999999] is correctly shown as 999k 2018-03-02 11:00:48 +01:00
Neil Lalonde 3313072957 Remove censored_pattern site setting, which is replaced by watched words 2018-02-26 16:29:27 -05:00
Sam b34b1b6fe3 FIX: invite to message was not allowing groups
Previously we were incorrectly checking mentionable instead of messageable

Also fix edge case where multiple groups sharing a name mean that exact match override is not working

Also cleans up params sent to user selector
2018-02-13 13:28:46 +11:00
Vinoth Kannan 91beedd0ca FEATURE: Composer HTML pasting ul tag support for MS Word 2018-02-10 01:18:56 +05:30
Robin Ward 96710754d9
Merge pull request #5540 from discourse/mixed-text-direction-support
FEATURE: Mixed text direction support
2018-02-01 07:29:15 -08:00
Sam 187b0031c5 correct specs 2018-02-01 16:16:14 +11:00
Vinoth Kannan 10ed4c0078 FEATURE: Composer HTML pasting support for complex table formats 2018-01-31 01:39:11 +05:30
scossar 843d88c5d0 Remove unused imports 2018-01-29 20:11:12 -08:00
scossar 5d18f72b8c Add tests for text-direction functions 2018-01-29 19:16:35 -08:00
scossar 41f1e7430c Refactor code; add tests 2018-01-29 17:42:19 -08:00
Gerhard Schlager eb52c5469e FEATURE: Allow plugins to register a new locale 2018-01-25 14:57:41 +01:00
Neil Lalonde dc97239040 FIX: censored regex words were replacing other text that shouldn't be censored 2018-01-24 12:33:47 -05:00
Sam 3b083ca0bd correct spec 2018-01-24 13:23:27 +11:00
Régis Hanol f674b9e86e FIX: encode image filename so '[', ']' and '|' doesn't break the markdown 2018-01-19 19:52:03 +01:00
Arpit Jalan b7ba490df7 FIX: graphs should go to zero for missing dates 2018-01-15 10:16:34 +05:30
Joffrey JAFFEUX e9fd4f271a
FIX: fix category-link spec failure 2018-01-11 13:43:05 +01:00
Neil Lalonde edb3a7f646 FIX: support for watched_words_regular_expressions when censoring words 2018-01-10 14:11:23 -05:00
Neil Lalonde ad62f1099c FIX: censored words should support * as wildcard 2018-01-09 15:53:40 -05:00
Vinoth Kannan 035f96d25f Allow linked images inside table cells in HTML to Markdown conversion 2017-12-23 22:48:39 +05:30
Vinoth Kannan 3ae9d91d86 UX: Use tight list by default in HTML to Markdown conversion 2017-12-22 21:34:55 +05:30
Vinoth Kannan ac1e93e82a Minor fix to correctly trim spaces in HTML to Markdown conversion 2017-12-22 19:05:40 +05:30
Vinoth Kannan 4935ae4338 Remove unwanted spaces between HTML tags and support Word documents 2017-12-22 09:28:24 +05:30
Sam ab2215e629 fix broken test 2017-12-21 20:19:15 +11:00
Vinoth Kannan 129d924c0d Dont support single row or column tables in HTML to Markdown conversion 2017-12-21 12:58:57 +05:30
Vinoth Kannan ac1d3a761e Support for table & ol tags for HTML pasting in composer 2017-12-20 19:24:55 +05:30
Vinoth Kannan 6272f35eec blockquote tag support for HTML pasting in composer 2017-12-19 20:59:55 +05:30
Guo Xiang Tan 6a4f391e38 Switch to chrome headless mode instead of phantomjs. 2017-12-19 16:00:43 +08:00
Vinoth Kannan ad41523895 FEATURE: Converting code tags to Markdown while pasting 2017-12-18 22:12:05 +05:30
Vinoth Kannan 0588edbc96 FEATURE: Keep supported HTML tags in HTML to Markdown conversion 2017-12-18 12:48:17 +05:30
Vinoth Kannan 4f2f42d710 PERF: Better handling of headings in HTML inline pasting 2017-12-17 00:45:21 +05:30
Vinoth Kannan dc159d7fa6 Grab dimention of the clipboard images 2017-12-15 17:28:38 +05:30
Vinoth Kannan f0497ee9c4
FEATURE: HTML to Markdown conversion using native JavaScript ES6 classes (#5425) 2017-12-15 10:28:20 +05:30
Joffrey JAFFEUX fd99e1ef56 FEATURE: site setting enable_mentions to turn on/off mentions 2017-12-07 16:27:58 -05:00
Gerhard Schlager 41e70c410c
FEATURE: replace GUID in image name uploaded from iOS (#5370) 2017-11-28 11:05:34 +01:00
Neil Lalonde 33feb62673 FIX: times showing as < 1m instead of blank 2017-11-21 14:33:49 -05:00
Neil Lalonde b37e40eea9 FEATURE: show read time in last 60 days 2017-11-16 15:46:51 -05:00
Sam 38c103c75e correct spec 2017-11-13 18:09:24 +11:00
Michael Howell 38b8d68c68 FEATURE: Allow the user to select a custom home page (#5268)
* Add user_home configuration option

* Use the new user_home preference to actually show the right home page

* Fix trailing whitespace

* Update user_option_serializer.rb

* Fix JavaScript default homepage tests

* Use an object instead of a giant switch

* Remove trailing whitespace

* Make the default `user_home` set to `null` instead of `0`

* Rename user_home to homepage_id
2017-11-10 06:45:19 +11:00
ckeboss 93633865d9 Adds primary user group as a class to quote (#5285)
* Adds primary user group as a class to quote

This feature addition will add the class `group-PRIMARY_USER_GROUP` to
the quote `aside`. `PRIMARY_USER_GROUP` will be the primary user group
of the user being quoted. This is similar to the class that is added to
a `topic-post`.

* Remove trailing whitespace

* Fix avatar in test

* Address PR comments

* Fix trailing whitespace
2017-11-03 09:51:40 -04:00
Robin Ward fb2e581b26 FIX: Headings must begin with `heading--` to avoid some griefing 2017-10-16 11:53:47 -04:00
Robin Ward f4decf9193 The `quote-other-topic` class has been removed 2017-10-06 15:16:06 -04:00
Sam Saffron 46ebd0ee40 correct spec and allow for zero allowed iframes 2017-09-01 12:08:55 -04:00
Guo Xiang Tan 93fe76fc02 Make eslint happy. 2017-08-21 21:56:22 +09:00
Neil Lalonde 24cb950432 FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block 2017-07-26 11:01:09 -04:00
Sam 17d56a4cb7 FEATURE: use Markdown for image pasted in as opposed to IMG tags 2017-07-25 15:11:38 -04:00
Sam d7d22554ca correct js test 2017-07-17 18:06:11 -04: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 bcbb9f208d Revert "Integrate new engine, correct old specs"
This reverts commit f1b38ba4fb.
2017-07-12 18:10:07 -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 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
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
Joffrey JAFFEUX 64336a8c75 Emoji 5.0 support 2017-06-05 14:06:23 +02:00
Sam 556ef4cfbd FIX: case sensitive unconditional add of exact match in user search 2017-05-01 14:37:16 -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 a4b658920e FIX: Clear `sessionStorage` between click track tests 2017-03-27 16:16:14 -04:00
Régis Hanol dd60cb82c3 UX: add client-side rate limit on click counters 2017-03-13 11:31:37 +01: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
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
Guo Xiang Tan 058df4329d FIX: Escape escape regexp characters. 2017-01-31 10:39:45 +08:00
Erick Guan fb3c5bcd0f
FIX: activy column title shows the non-i18n datetime 2016-11-16 22:15:34 +01:00
Neil Lalonde 86522a52b7 FEATURE: add censored_pattern setting to censor posts using regex 2016-11-08 16:39:26 -05:00
David McClure 9bbab6e64e FIX: Auto-link URLs that are inside parentheses 2016-10-29 18:57:25 -07:00
Guo Xiang Tan 299800f524 Make eslint happy. 2016-10-24 12:21:02 +08:00
Guo Xiang Tan 3eae668e64 Set up pretender inside test file. 2016-10-24 12:17:17 +08:00
Sam f083994f5a FIX: exact group match always should be added 2016-10-24 12:43:38 +11:00
Régis Hanol 35a79a70c3 FIX: uploading custom avatar was always hidden 2016-10-20 19:53:41 +02:00
Régis Hanol 9f7b529495 FIX: properly detect when attachments are allowed 2016-10-19 18:42:24 +02:00
Erick Guan 9ce61b4586 FEATURE: Webhooks. 2016-09-05 18:44:00 +08:00
Robin Ward 78e8aa823d UX: Just show "1m" if less than 1m 2016-08-18 12:47:00 -04:00
Robin Ward 4d8584f427 FIX: Support `div dir=` in sanitizer 2016-08-15 11:19:10 -04:00
Robin Ward 9cb8d5d19e FIX: Whitelist the `big` tag 2016-07-29 16:11:18 -04:00
Robin Ward fbfd3124a0 Whitelist some more tags and add extra tests 2016-07-26 11:02:09 -04:00
Jeff Atwood 1379bd5053 fix all v=2 spec / test errors for emoji 2016-07-25 15:53:48 -07:00
Robin Ward b9177af1eb FIX: Protocol-less links that begin with `a` shouldn't error 2016-07-20 13:44:12 -04:00
Robin Ward 7dd4470075 FIX: Allow `div align` 2016-07-20 12:39:12 -04:00
Robin Ward e7e6840803 FIX: I shouldn't commit while tired :) 2016-07-20 10:42:35 -04:00
Robin Ward ad7e2f15c7 Support linking to anchored headings in the first post 2016-07-19 17:05:45 -04:00
Robin Ward 81500e6f40 FIX: Move details tests into the plugin directory 2016-07-19 16:20:59 -04:00
Robin Ward 8141e1d9bc FIX: details fixes with extra formatting 2016-07-19 15:14:55 -04:00
Robin Ward 4d65370797 FIX: `<strike>` was no longer whitelisted 2016-07-11 12:57:05 -04:00
Robin Ward a291944835 FIX: Add `kbd` support to the sanitizer 2016-07-11 12:57:05 -04:00
Robin Ward bba0fd0654 REFACTOR: PreloadStore to ES6 2016-07-11 12:57:05 -04:00
Robin Ward b8125b3512 REFACTOR: Remove `Discourse.Ajax` 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
Sam c665607f72 FIX: not doing non leading word match in emoji autocomplete 2016-07-04 19:16:08 +10:00
Mark Wingerd e4074f75b1 Stop URLs from being censored (#4288)
URLs that contained a censored word were being altered by
censored-words.js and ulimately this broke the links. As an example
www.expertsexchange.com would get censored when it would link to a
legitimate website.  This URL blocking functionality should be
handled through other settings.
2016-06-29 10:41:54 -04:00
Robin Ward 90330d30f4
FIX: Error in smart short date function 2016-05-31 10:51:47 -04:00
Régis Hanol c4f93846f9 add linebreaks when uploading a file 2016-05-20 11:35:47 +02:00
Régis Hanol ad15049ef0 FIX: don't track clicks on links in quotes 2016-05-03 18:47:01 +02:00
cpradio b7b5caa50e FEATURE: Apply external window setting to Revision History (#4207) 2016-05-02 14:48:34 -04:00
cpradio 5c583ff5bb FEATURE: Extend clicking tracking to the user profile page. (#4203)
* Extend clicking tracking to the user profile page.
Added qunit tests
Fixed click-track-test so it uses the correct data attribute for topic_id in its fixture

* Added a second excerpt to verify test pulls from the appropriate one.
2016-05-02 11:43:58 -04:00
Robin Ward 187d7d6f96
Remove more views and deprecations. 2016-04-28 16:17:18 -04:00
Régis Hanol 6ee11adf58 FIX: 'Discourse.isInternal' wasn't working with protocol-less URLs 2016-04-11 22:21:39 +02:00
Peter Lejeck 9bba68ed74 Allow disabling link tracking with .no-track-link (#4160) 2016-04-11 11:39:49 -04:00