Commit Graph

1415 Commits

Author SHA1 Message Date
Sam
0b86a99c39 FEATURE: allow iPad users to specify they have a physical keyboard
Sadly there is no clean way of detecting a keyboard is connected to an iPad

If the keyboard is connected we want to disable all the touch related hacks
on iOS

This allows iPad users to specify they have a keyboard connected. Setting
is per device.
2019-02-28 15:59:44 +11:00
Joffrey JAFFEUX
d04c4bf8e7
UX: puts back share-panel as floating pane on post actions (#7066) 2019-02-26 14:15:25 +01:00
Jeff Wong
8be7878656 FEATURE: add ability to clear previously set mobile_view with mobile_view=auto 2019-02-22 10:44:49 -08:00
Guo Xiang Tan
46e62c0d22
UX: Default user facing routes to /g instead of /groups. (#7042) 2019-02-21 13:44:25 +08:00
Sam
07b856700d REFACTOR: remove disallowEmails option from user-selector
Negative option was leading to a fair amount of confusion, going forward
if we want to allow selection of emails from user selector it must be
supplied with `allowEmails=true`

This corrects a regression in 1f4ace4f which broke invite by emails and
start PM to email
2019-02-21 16:37:26 +11:00
Penar Musaraj
4955ab1689 DEV: add replaceTagRenderer to pluginApi 2019-02-20 14:52:56 -05:00
Joffrey JAFFEUX
18296b4211
FIX: more reliable native sharing (#7039) 2019-02-20 20:43:48 +01:00
Joffrey JAFFEUX
9618300d69
s/share/nativeShare (#7038) 2019-02-20 20:03:30 +01:00
Joffrey JAFFEUX
994a09e5e8
FIX: stricter window.navigator.share check (#7037) 2019-02-20 19:40:51 +01:00
Joffrey JAFFEUX
04a63cfaaa
[WIP] FEATURE: merge share and invite actions together (#7021)
This commit also:
- removes [+ New Topic] behaviour from share, this feature has been duplicated in composer actions, months ago
- introduces our new experimental spacing standard for css: eg: `s(2)`
- introduces a new panel UI for modals
2019-02-20 15:42:44 +01:00
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
Jeff Wong
246997dbd9 FIX: an <a> with a target of _blank wants a new window 2019-02-19 14:44:30 -08:00
Dan Ungureanu
a423a9383f FIX: Stop autocomplete for invalid usernames. (#7005) 2019-02-15 11:29:26 +11: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
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
Joffrey JAFFEUX
6c195640b9
FEATURE: adds an API to register topic footer buttons 2019-02-07 14:43:33 +01:00
Dan Ungureanu
fc4c015bee FEATURE: Shortcut 'g s' goes to first suggested topic 2019-02-07 08:43:07 +11:00
Dan Ungureanu
2c222e16fe FEATURE: Returning falsy value from upload handler stops upload. (#6969) 2019-02-05 10:54:11 +01:00
Joffrey JAFFEUX
0d0303e7ea
FIX: more resilient lookup in plugin-api (#6961)
Ember3 is more picky about having a container being destroyed and it's easier to cause exceptions, especially in tests.

This fix has been initially created for an exception occuring in tests when running discourse-code-review and discourse-polls tests at the same time. `getCurrentUser` method body was failing as the container was destroyed.

Original  stacktrace:

```
"Error: Assertion Failed: expected container not to be destroyed
    at new EmberError (ember:2929:31)
    at assert (ember:1793:23)
    at Container.lookup (ember:17736:64)
    at PluginApi.getCurrentUser (discourse/lib/plugin-api:56:31)
    at allowUser (javascripts/discourse/initializers/init-code-review:38:29)
    at eval (javascripts/discourse/initializers/init-code-review:78:11)
    at eval (select-kit/mixins/plugin-api:86:19)
    at Array.forEach (<anonymous>)
    at eval (select-kit/mixins/plugin-api:85:44)
    at Array.forEach (<anonymous>)"
```
2019-01-29 16:54:04 +01:00
Vinoth Kannan
62a0f88e97 FIX: More link in topic page search shouldn't navigate to full page result 2019-01-29 02:26:55 +05:30
Vinoth Kannan
7e4edcfae8 FIX: Convert lightbox html into proper image markdown 2019-01-27 01:21:56 +05:30
Joffrey JAFFEUX
0e1862013a
FIX: prevents race condition where the same report is loaded multiple times (#6953) 2019-01-25 19:29:45 +01:00
Robin Ward
a518950e52 FIX: Use context sensitive "create topic" via keyboard if possible 2019-01-24 13:20:33 -05:00
Daniel
48c9234545 FIX: Lazy Loading: copy only present srcset
When showing a lazy-loaded image, copy the `srcset` property only when
it is actually set. `copyImg.srcset = copyImg.srcset` is not actually a
noop but creates an empty `srcset`, changing content security rules on
the image.
2019-01-23 14:04:43 -05:00
Joffrey JAFFEUX
d0129b85f4
FIX: stop propagating keyboard event when replying to topic/post (#6930) 2019-01-23 14:38:20 +01:00
Penar Musaraj
9886934ef5 DEV: fix some deprecated SVG icon refs 2019-01-22 14:42:00 -05:00
Joffrey JAFFEUX
80d42b4ea2
icons deprecations fixes (#6920) 2019-01-22 12:02:02 +01:00
Joffrey JAFFEUX
502b1316d0
DEV: s/this._super()/this._super(...arguments) (#6908) 2019-01-19 10:05:51 +01:00
Penar Musaraj
3501533a2b DEV: unpin Prettier version, apply to YAML files
We had Prettier pinned because of https://github.com/prettier/prettier/issues/5529. Since that bug is fixed, unpinning.

Prettier now supports YAML, so this applies Prettier to all .yml except for translations, which should not be edited directly anyway.
2019-01-17 13:05:39 -05:00
David Taylor
b69e57e2f3 FIX: Prevent layout changes while images are lazy-loading
This commit moves the temporary image to be adjacent to the original image in the DOM. Previously the temporary image was appended to the parent element. Normally this makes no difference because the temporary element has position:absolute. However, if the `:last-child` selector is being used on the parent, it can cause layout changes during loading.
2019-01-15 17:35:55 +00:00
Arpit Jalan
a121d40771
FIX: do not show PM topics when moving posts to an existing public topic (#6876) 2019-01-14 15:00:45 +05:30
Joffrey JAFFEUX
1a3655b787
DEV: s/Em/Ember (#6874) 2019-01-11 17:54:23 +01: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
Angus McLeod
798e98a7cc remove safari check from isAppleDevice (#6869) 2019-01-10 13:02:55 +11:00
Robin Ward
312e282b6a FIX: Apply classes when lazily loading images
If an image had extra classes (for example oneboxes), then while loading
the copy of the image would lose those classes and look differently
until the image had loaded fully.

This fix copies the classes while loading.
2019-01-09 12:56:25 -05:00
Jeff Wong
439eff4709 revert null checking around interceptClick 2019-01-09 09:44:30 -08:00
Vinoth Kannan
b7c501bf52 FIX: full page search results are unclickable
data-ember-action can have empty value in favor of data-ember-action-ID attribute
2019-01-09 10:59:37 +05:30
Jeff Wong
09cbd08c64 FIX: ensure ember transitions do not get hijacked by discourse intercept-click
explicit null checks as a blank string evaluates to false
2019-01-08 15:38:13 -08:00
Jeff Wong
d75262046d Revert "FIX: ensure ember transitions do not get hijacked by discourse intercept-click"
This reverts commit a2cb2f2366.
2019-01-08 15:37:10 -08:00
Jeff Wong
a2cb2f2366 FIX: ensure ember transitions do not get hijacked by discourse intercept-click
explicit null checks as a blank string evaluates to false
2019-01-08 15:09:50 -08:00
Sam
d0f38dbb07 FIX: image rendered temporarily in wrong position while loading
Previously non lightboxed images would render in the wrong spot while loading.

We assumed the image we were rendering while loading was at 0,0 position.
This is not the case on non-lightboxed images cause they have no surrounding
DIV.
2019-01-04 11:50:44 +11:00
Penar Musaraj
a953b71797 FEATURE: allow custom HighlightJS languages
Adds pluginApi function that allows themes and plugins to register languages for HighlightJS.
2019-01-02 19:07:36 -05:00
Penar Musaraj
4f6ca66df5 FIX: routeToTag mini-fix for IE11
skip "a.host" for IE11 since IE11 does not support URL interface
2018-12-28 11:49:51 -05:00
Joffrey JAFFEUX
695894d458 FIX: delete dataset doesn’t work on safari 2018-12-27 06:49:49 +02:00
Arpit Jalan
1e2b81991f fix the build 2018-12-25 10:27:51 +05:30
Jeff Atwood
a74e49c87c use proper typographical × instead of x 2018-12-24 20:33:17 -08:00
Robin Ward
0e710dc573 Improvements to Lazy Loading
- Now applied to all images over 150x150px

- Stores the width and height in the WeakMap rather than using
percentages for accuracy

- When oneboxed images are hidden, they are given a subtle border for better
visibility.

- Don't apply when in the composer. Causes flickering.
2018-12-21 11:31:27 -05:00
Robin Ward
a2ae67509d Don't use getAttribute if we don't need to 2018-12-20 16:41:04 -05:00
Sam Saffron
400eea4d13 UX: show lazy loaded images while they are downloading
Also shows fuzzy image right away prior to it being downloaded
2018-12-20 22:04:30 +08:00
Penar Musaraj
f5c4ab0573 Add category link renderer to plugin API (#6787)
* Add category link renderer to plugin API

- lets themes/plugins override the category link display

- planning to use this in a "category icons" theme component

* small code review fix

* Code review refactor
2018-12-19 10:26:09 +01:00
Robin Ward
662cfc416b FEATURE: Show a blurry preview when lazy loading images
This generates a 10x10 PNG thumbnail for each lightboxed image.
If Image Lazy Loading is enabled (IntersectionObserver API) then
we'll load the low res version when offscreen. As the image scrolls
in we'll swap it for the high res version.

We use a WeakMap to track the old image attributes. It's much less
memory than storing them as `data-*` attributes and swapping them
back and forth all the time.
2018-12-19 01:57:30 +08:00
Robin Ward
6797a710aa FEATURE: Lazily Load Images as they scroll into the viewport.
This feature uses the Intersection Observer API

https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API

It should be compatible with all modern browsers. Non-Edge IE is *NOT*
supported, so in that particular browser images are loaded by default.
2018-12-12 10:12:49 +11:00
Penar Musaraj
923692d45a FIX: tooltip regression in admin dashboard
- adds registerHoverTooltip in tooltip qunit test
2018-12-03 11:15:31 -05:00
Dan Ungureanu
d657ce844b DEV: Call onClose for closing modals. 2018-11-27 13:05:27 +11: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
Joffrey JAFFEUX
9672c92045
DEV: removes _.each from codebase (#6629) 2018-11-20 14:46:58 +01:00
Joffrey JAFFEUX
30e0d744db DEV: removes _.delay from codebase (#6619) 2018-11-19 10:47:00 +01:00
Joffrey JAFFEUX
907cf3ee2f DEV: replaces setTimeout by Ember.run.later (#6618) 2018-11-19 10:46:38 +01:00
Régis Hanol
0f5aeab003 DEV: enable no-alert & no-console eslint rules 2018-11-14 23:17:56 +01:00
Guo Xiang Tan
44391ee8ab
FEATURE: Upload Site Settings. (#6573) 2018-11-14 15:03:02 +08:00
Robin Ward
467be59d75 FEATURE: Allow expanded posts to return user custom fields 2018-11-13 12:44:54 -05:00
Sam
42572ff138 Revert font awesome 5 changes
We are still pushing ahead on this 100% just need a bit longer to prepare
all plugins
2018-11-08 16:12:18 +11:00
Penar Musaraj
005e1ecb9b
FEATURE: Update Font Awesome to v5.4.1 and SVGs (#6557)
* First take on subsetting svg icons

* FontAwesome 5 svg subset WIP

* Include icons from plugins/badges into svg sprite subset

* add svg icon support to themes

* Add spec for SvgSprite

* Misc. SVG icon fixes

* Use FA5 svgs in local-dates plugin

* CSS adjustments, fix SVG icons in group flair

* Use SVG icons in poll plugin

* Add SVG icons to /wizard
2018-11-07 13:05:43 -05:00
Joffrey JAFFEUX
11ee07093c FEATURE: revamps search-menu layout (#6543) 2018-10-30 10:44:49 -04: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
Vinoth Kannan
08c404e138 FIX: Do not set null value to remove cookie 2018-10-16 06:12:32 +05:30
Joe
2acb885c72 FEATURE: fullscreen composer mode on desktop
Adds keyboard shortcut and icon that allows expanding composer to full screen.
2018-10-15 13:59:49 +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
Kyle Zhao
ffc241eb25
FIX: multiple loadScript to the same url may resolve prematurely (#6474)
This is how `loadScript(url)` currently deals with multiple concurrent requests

1. Check existing `<script>` tags, and mark existing scripts (other than the 
   input `url`) as loaded
2. Find "true" `url` of the requested resource (CDN, subfolder path, etc)
3. Check if we have loaded the resource with that "true" `url`, and resolve 
   immediately if we have
4. Otherwise insert a `<script>` tag with the "true" `url` to load it

For example, in a subfolder install:

- Input `url` = `/javascripts/script.js`
- "True" `url` = `/subfolder/javascript/script.js`

And the _very_ subtle bug here is that we should use also use the true `url` 
for step (1), because:

- Since the input and true `url` are different, we mistakenly mark the true 
  `url` as loaded in step one 
- After finding the true `url`, and setting `loaded[trueUrl] = true` in (1), we
  resolve the promise prematurely, when the resource could still be loading
2018-10-11 08:55:36 +08:00
Penar Musaraj
0ea8c1943f Let plugins decorate banner topic, fixes local dates in banners (#6452) 2018-10-10 17:27:23 +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
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
Joffrey JAFFEUX
7bf8b0d305
FIX: treats users_(by_type|tl) as other reports (#6391) 2018-09-13 17:35:54 +02: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
Sam
56b6a4779d FIX: make route to tag more robust
There are some edge cases where code would fail here, so adding protection
2018-09-06 17:24:32 +10:00
Sam
5bdc00c3be FIX: do not automatically route all actions to hovered posts
This feature (hitting d when a post is hovered with mouse deletes) causes a lot of confusion and is very risky.
2018-09-06 10:34:58 +10:00
Joffrey JAFFEUX
17087eff2a
FIX: Reset tags on category change (#6363) 2018-09-05 17:18:52 +02:00
Guo Xiang Tan
0f812aa768 Make prettier happy. 2018-08-30 15:56:30 +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
Kris
8ff83d174e
FIX: Changing tag name class to data attribute (#6326) 2018-08-29 10:49:19 -04: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
Joffrey JAFFEUX
82dcc5cbfa
FEATURE: makes reports loadable in bulk (#6309) 2018-08-24 15:28:01 +02:00
James Kiesel
a4001c1ea0 FEATURE: Pop revise modal on post edited notification (#6287)
* Add revision number to notification url

* Pop modal on route change

* Add semicolon

* Ensure modal pops even when navigating within a topic

* Ensure modal pops when visiting from other page

* Fix eslint errors

* Fix prettier errors

* Add callback for notification item click

* Remove stray revisionUrl function

* Rename to afterRouteComplete
2018-08-24 09:13:07 -04:00
Bianca Nenciu
758fae7f9f UX: Keyboard shortcuts will automatically select hovered post 2018-08-22 15:47:17 +10:00
David Taylor
e7e8f4ef4c Add plugin API for handling uploads with specific file extensions 2018-08-17 16:08:47 +01:00
Joffrey JAFFEUX
37d4f27c44
FIX: quality/bugfix dashboard/reports pass (#6283) 2018-08-17 16:19:25 +02:00
Bianca Nenciu
b69f72853f UX: Show static page title. (#6273) 2018-08-17 10:47:11 +02:00
Sam
ed4c0f256e FIX: check permalinks for deleted topics
- allow to specify 410 vs 404 in Discourse::NotFound exception
- remove unused `permalink_redirect_or_not_found` which
- handle JS side links to topics via Discourse-Xhr-Redirect mechanism
2018-08-09 15:05:12 +10:00
Neil Lalonde
35bef72d4e FIX: subfolder redirects to wrong URL if the subfolder appears in the slug 2018-08-08 13:41:29 -04:00
Osama Sayegh
0b7ed8ffaf FEATURE: backend support for user-selectable components
* FEATURE: backend support for user-selectable components

* fix problems with previewing default theme

* rename preview_key => preview_theme_id

* omit default theme from child themes dropdown and try a different fix

* cache & freeze stylesheets arrays
2018-08-08 14:46:34 +10:00
Penar Musaraj
4a872823e7 Improvements to user drafts (#6226)
* drafts in user profile: only show to user herself (not to admins), use avatar replying to (instead of topic OP), add keyboard shortcut for drafts, simplify display labels

* use JSON when testing Draft.stream
2018-08-02 07:41:27 +10:00
Robin Ward
4eef41ea1b FIX: Error with debouncing mentions 2018-08-01 15:57:24 -04:00
Robin Ward
7c950321d1 FIX: Allow non-english usernames in autocomplete
Also add support for username formatters
2018-08-01 11:53:20 -04:00
Vinoth Kannan
8178444382 Make prettier happy 2018-08-01 15:13:54 +05:30
Vinoth Kannan
8556288397 DEV: Export Tag class to modify methods in plugin 2018-08-01 15:10:15 +05:30
Guo Xiang Tan
ef78268c01 Give ExtraNavItem more control over when it can be displayed. 2018-07-30 17:30:13 +08:00
Arpit Jalan
fc3b904e1f remove "track external right clicks" feature 2018-07-29 15:01:33 +05:30
Sam
35bc72ef30 lint file 2018-07-23 10:58:24 +10:00
Dan Ungureanu
b14cd2f179 FEATURE: Make the login error message more informative if cookies are disabled 2018-07-23 10:50:41 +10: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
Sam
a24b9981c6 UX: adjust positioning of auto complete vertical
On iPad portrait autocomplete would render off screen
2018-07-18 16:41:31 +10:00
Sam
67bc972d74 UX: make sure autocomplete does not render off screen 2018-07-12 17:07:25 +10:00
Sam
29eb9dda59 DEV: add deprecation for currentThemeKey
This ensures that theme components will not explode when attempting to access this
2018-07-12 15:36:38 +10:00
OsamaSayegh
decf1f27cf FEATURE: Groundwork for user-selectable theme components
* Phase 0 for user-selectable theme components

- Drops `key` column from the `themes` table
- Drops `theme_key` column from the `user_options` table
- Adds `theme_ids` (array of ints default []) column to the `user_options` table and migrates data from `theme_key` to the new column.
- Removes the `default_theme_key` site setting and adds `default_theme_id` instead.
- Replaces `theme_key` cookie with a new one called `theme_ids`
- no longer need Theme.settings_for_client
2018-07-12 14:18:21 +10:00
OsamaSayegh
f13a7226db FIX: display tables in posts history diff (#6032) 2018-07-12 14:13:52 +10:00
Guo Xiang Tan
73e30ff4c2 Revert "Rename s3 vars, change condition when displaying s3 uploads"
The new variables do not reflect that they represent S3 settings.

This reverts commit 24dfa1b657.
2018-07-06 15:53:57 +08:00
Joffrey JAFFEUX
b5b847f6d6 SECURITY: prevents XSS when showing tooltip 2018-06-27 14:35:47 +02:00
Guo Xiang Tan
0b6a2e9d1f Remove force summary mode for megatopics for now.
The logic is too hairy and we can't reliably determine
when to force summary mode. Work is underway to improve
perf for megatopics so this will not be required
eventually.
2018-06-26 12:49:06 +08:00
Maja Komel
24dfa1b657 Rename s3 vars, change condition when displaying s3 uploads 2018-06-25 17:16:01 +02:00
Sam
85d97caa56 lint file 2018-06-25 15:35:45 +10:00
OsamaSayegh
d58ff44b04 Simplify to only support topics list for now 2018-06-25 15:02:22 +10:00
OsamaSayegh
b4a13a1afa UX: keyboard shortcuts (j/k) should work with /categories 2018-06-25 15:02:22 +10:00
Guo Xiang Tan
cb622ead43 Make prettier happy. 2018-06-22 11:37:43 +08:00
Guo Xiang Tan
f69356e628 FIX: Users can't "show all posts" in forced summary topics. 2018-06-22 11:32:45 +08:00
Guo Xiang Tan
71908cd634 Make prettier happy. 2018-06-21 15:37:24 +08:00
Guo Xiang Tan
9a7a079f4d Force summary mode when user enters at the top of megalodoon topics. 2018-06-21 15:18:52 +08:00
Joffrey JAFFEUX
2f7960bd2a
DEV: updates prettier and displays linters/prettifiers version in CI 2018-06-20 18:34:49 +02:00
Joffrey JAFFEUX
4b604b1e68
FIX: displays correct upload icon when only images are allowed 2018-06-18 11:16:34 +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
Guo Xiang Tan
c06824e9c2 FIX: Clients get stucked in readonly mode if messageBus fails. 2018-06-12 12:02:37 +08:00
kleinfreund
4ce1d230c7 Prefer throwing a new Error object instead of just a string expression 2018-06-12 12:56:22 +10: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
Robin Ward
597ffd7e3f FIX: Keyboard shortcuts didn't work on subfolders 2018-06-01 14:38:09 -04:00
Joffrey JAFFEUX
43b1768987
UX: ceil dahsboard values 2018-05-30 16:32:43 +02:00
Sam
11b544ef4e DEV: add support for custom post message callbacks
Allows for cleaner subscription to changes by plugins, polls will move to
it.
2018-05-24 12:34:53 +10:00
Régis Hanol
938934f5e9 FIX: keep '<kbd>' formatting when quoting posts 2018-05-16 17:40:45 +02:00
Joffrey JAFFEUX
9554d9c56a
UX: tooltips and improvements to new dashboard
- tooltips
- revert chart title UI
- reduce period chooser font-size
- localize dates of data points
- fix a bug where multiple reports were loaded at the same time
- fix a bug where % was not showing anymore
- remove spacing at the top
- remove loadingTitle feature (Loading...%report name%) incompatible with new hijack design
2018-05-16 16:45:21 +02:00
Sam
7dd68e64d9 FEATURE: allow plugins to modify class statics
Adds `modifyClassStatic` to plugin api which can be used to amend static
methods on a class
2018-05-15 16:01:51 +10:00
Sam
9d97e1244e correct it so when we have no dates we still return graphs 2018-05-14 11:12:52 +10: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
Guo Xiang Tan
b618ffb715 Remove file that is no longer used. 2018-05-07 12:07:50 +08:00
Sam
9c6cf9eb14 FIX: decorate user stream should include element
In the past we would call the decorate function with no element
this made the extension on user stream pointless
2018-05-07 09:50:56 +10:00
Bianca Nenciu
71f74c0b28 Improved email validation in user search module. (#5804) 2018-05-06 11:39:59 +02:00
Régis Hanol
71f5215711 FEATURE: keep formatting when quoting 2018-05-05 10:51:54 +02:00
Jeff Wong
91b31860a1
Feature: Push notifications for Android (#5792)
* Feature: Push notifications for Android

Notification config for desktop and mobile are merged.

Desktop notifications stay as they are for desktop views.

If mobile mode, push notifications are enabled.

Added push notification subscriptions in their own table, rather than through
custom fields.

Notification banner prompts appear for both mobile and desktop when enabled.
2018-05-04 15:31:48 -07:00
Sam
458b9c3a62 FEATURE: suppress duplicate username/names containing .
- Adds official API to disable suppression if needed
2018-04-27 11:41:16 +10:00
Sam
9a55a3e8fd FIX: message bus now properly detects log off
Previously under some conditions message bus could continue firing
even if a user is logged off.

This change ensures that under all conditions once server informs
client of a log off, client stops talking to server
2018-04-20 16:22:40 +10:00