Commit Graph

353 Commits

Author SHA1 Message Date
Joffrey JAFFEUX
8e68244eea
FIX: prevents google to track certain pages (#7463) 2019-04-30 15:57:51 +02:00
Joffrey JAFFEUX
726dd0fe37 Revert "FIX: prevents google to track certain pages (#7455)"
This reverts commit c863e62998.
2019-04-30 10:17:12 +02:00
Joffrey JAFFEUX
c863e62998 FIX: prevents google to track certain pages (#7455) 2019-04-30 13:59:55 +08:00
Joffrey JAFFEUX
d4e788c136
FIX: improves share/invite behavior on mobile and especially iOS (#7416) 2019-04-23 17:07:31 +02:00
Robin Ward
8e77b4d58e FIX: Replace references to flags in the header with review 2019-04-18 13:25:23 -04:00
Penar Musaraj
de10bd7fb4 UI: Footer nav fixes
- moves footer nav to the header on iPads
- disables scrolling events for iPads
- removes footer nav entirely on Chrome PWAs
- toggles DiscourseHub iOS app status bar styling (dark/light) when opening/closing lightboxes and modals
2019-04-15 15:25:40 -04:00
Penar Musaraj
14eb8eea01 FIX: Prevent input zooming in iOS
Since enabling pinch-to-zoom in iOS (eae22548de), there was an issue with inputs: Safari auto-zooms inputs with font-size under 16px. Now zooming will be disabled while focus is on an input.

This commit also removes a) a lightbox zoom-enabling event (no longer needed) and b) a comment about iOS zoom issues.
2019-04-15 13:05:43 -04:00
Penar Musaraj
eae22548de
Footer navigation for iOS PWAs and DiscourseHub app (#7347) 2019-04-10 12:23:18 -04:00
Sam Saffron
88f8c9f43e FIX: when banner is removed update all clients
Previously removing a banner raised a null "banner" in the message bus
channel.

Then Ember.Object.create would fail cause it always expects an object in
constructor.
2019-04-10 15:59:29 +10:00
Vinoth Kannan
ca57e18f42 UX: display signup cta even if 'must_approve_users' setting enabled. 2019-04-08 12:27:56 +05:30
Robin Ward
a5182b0d6c FIX: Rewrite old /admin/flags links to use the review queue
Such links might be in present in old PMs. For example, a notification of
outstanding flags.

New PMs should receive the correct link but this prevents 404s in the
other case.
2019-04-04 10:15:23 -04:00
Penar Musaraj
fdf4145d4b
FEATURE: Delegated authentication via user api keys (#7272) 2019-04-01 13:18:53 -04:00
Joffrey JAFFEUX
13a6a04cad
FIX: ensures popover is hidden when changing route (#7300) 2019-04-01 16:23:57 +02:00
Robin Ward
b58867b6e9 FEATURE: New 'Reviewable' model to make reviewable items generic
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.

Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Joffrey JAFFEUX
8fb63b2706
FEATURE: unified popover implementation (#7244) 2019-03-26 15:43:27 +01:00
Maja Komel
f3d0d8fe7d Upgrade to Ember 3.7.0 2019-03-20 14:43:25 +01:00
David Taylor
4e8c174ee5
FEATURE: Display notification count in title for logged in users (#7184)
This replaces the 'contextual' counters for logged in users. We will still use the old method for anon users
2019-03-18 12:59:47 +00:00
Rafael dos Santos Silva
fb8bcd7469
FEATURE: Enable experimental Badging API (#7173) 2019-03-14 18:16:16 -03:00
Roman Rizzi
77931b70c3
Revert "DEV: Upgrade to Ember 3.7.0 (#6977)" (#7165)
This reverts commit 3eebf8be73.
2019-03-13 15:49:47 -03:00
Maja Komel
3eebf8be73
DEV: Upgrade to Ember 3.7.0 (#6977)
* Upgrade to Ember 3.7.0

* use ember source 3.7.0.2

* fix mobile header

* fix navigation
2019-03-13 12:16:06 +01:00
Joffrey JAFFEUX
8d779db270
FIX: allows invite modal from topic-map post-actions (#7047) 2019-02-21 13:48:03 +01:00
Guo Xiang Tan
46e62c0d22
UX: Default user facing routes to /g instead of /groups. (#7042) 2019-02-21 13:44:25 +08: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
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
Jeff Wong
1328a127ee FIX: translate bootbox confirmation dialog (#6981) 2019-02-13 14:04:56 +11:00
Joffrey JAFFEUX
e3324737ee
FIX: position invite footer button before archive (#6990) 2019-02-08 12:21:51 +01:00
Joffrey JAFFEUX
6c195640b9
FEATURE: adds an API to register topic footer buttons 2019-02-07 14:43:33 +01:00
Penar Musaraj
9886934ef5 DEV: fix some deprecated SVG icon refs 2019-01-22 14:42:00 -05:00
David Taylor
98f26bcaf5 Revert "FIX: makes click-interceptor working with touchstart (#6890)"
This reverts commit fd2dd8d67d.
2019-01-16 17:47:40 +00:00
Joffrey JAFFEUX
fd2dd8d67d
FIX: makes click-interceptor working with touchstart (#6890)
Probable regression due to the removal of Modernizr.
2019-01-16 17:56:43 +01:00
David Taylor
49593d1a00 FIX: Fix registration dialog popup for 'full screen' social logins
Regression following the ember3 upgrade. In addition to fixing, this commit consolidates our social registration logic into one place, and adds tests for the behaviour.
2019-01-12 12:08:13 +00:00
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
Zach Whitehead
2748822576 FEATURE: Remove option for Google Plus sharing (#6864)
* Remove option for Google Plus sharing

* remove google+ share translations
2019-01-09 10:17:50 +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
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
f4432648fd
FIX: categories/delete_categories can be undefined (#6657) 2018-11-23 00:57:18 +01:00
Joffrey JAFFEUX
9672c92045
DEV: removes _.each from codebase (#6629) 2018-11-20 14:46:58 +01:00
Joffrey JAFFEUX
907cf3ee2f DEV: replaces setTimeout by Ember.run.later (#6618) 2018-11-19 10:46:38 +01: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
Osama Sayegh
8e70b82baa FIX: maintain theme preview when refreshing (#6356) 2018-09-02 17:23:46 +10: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
Régis Hanol
637850d867 REFACTOR: new 'show-avatar-select' app event to trigger the avatar selector modal 2018-07-25 12:38:15 +02: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
Guo Xiang Tan
6d0732f7b4 Disable service worker on Apple devices for now.
The service worker is not used for any features
on Apple devices and we've received multiple reports
of service workers causing problems.
2018-07-09 11:34:16 +08:00
Guo Xiang Tan
0ab42e9185 Revert "DEV: Add param that allows service worker to be removed."
This reverts commit cb12f462a2.
2018-07-09 11:29:09 +08:00
Guo Xiang Tan
cb12f462a2 DEV: Add param that allows service worker to be removed. 2018-07-09 11:24:06 +08:00
Guo Xiang Tan
af5cd7e548 Unregister old service workers when Discourse.ServiceWorkerURL changes. 2018-07-05 14:57:32 +08:00
Joffrey JAFFEUX
03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
Régis Hanol
f988fa31aa FIX: ensure 'notifications_state' is up to date after creating a notification 2018-05-26 02:09:48 +02:00
Jeff Wong
82a95164e9 Fix: Safari failing to download backups from email links
disable service workers on safari

bypass serviceworker network if this is a URL with a token param
2018-05-15 14:38:31 -07: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
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
Jeff Wong
32f919ea34 Fix - service worker registrations
* register service workers in a development env

* register service worker from ember initialize fn
2018-04-10 15:17:32 -07:00
Arpit Jalan
03725c7c8a FIX: add reserved usernames for ‘/u/’ static routes 2018-03-28 11:15:38 +05:30
Sam
ba15273d3f FEATURE: maintain preview theme, while previewing
This means you can browse around in preview mode without losing the theme.
At any point you can refresh page and maintain the preview theme.
2018-03-15 16:17:22 +11:00
Sam
0134e41286 FEATURE: detect when client thinks user is logged on but is not
This cleans up an error condition where UI thinks a user is logged on
but the user is not. If this happens user will be prompted to refresh.
2018-03-06 16:49:31 +11:00
Guo Xiang Tan
28365f8ae5 PERF: Have nginx cache and serve the service worker file. 2018-02-15 10:50:39 +08:00
Sam
14d0450bef FEATURE: Only load service worker for Android
TBD an interface for plugin to enable service workers on desktop if they need them
2018-02-13 16:23:36 +11:00
Robin Ward
9f96d59a17 FIX: Unused import 2018-02-01 16:31:21 -05:00
Robin Ward
08db10491e Adds a new plugin API for adding classes to be shown on user avatars 2018-02-01 15:24:26 -05:00
scossar
caa38aaaad Add support for mixed text directions 2018-01-28 18:33:55 -08:00
Gerhard Schlager
3fde4c9db7 FIX: Enabling verbose localization for session didn't work 2018-01-25 23:29:53 +01:00
Sam
95ac1655bc revert settings 2018-01-24 13:21:23 +11:00
Sam
7ba06de0d6 FEATURE: disable service worker for all browsers except for android
Service worker is still quite experimental, only enable on android
where it provides many benefits
2018-01-24 12:03:08 +11:00
Neil Lalonde
718e932b44 FEATURE: plugins can send more data to Google Tag Manager 2018-01-17 11:18:17 -05:00
Vinoth Kannan
d18c42abd5 FIX: Ignore if the default localization node is not an object (#5439) 2017-12-27 16:53:53 +11:00
Jeff Wong
b094894c94 Feature: Add service worker registration method to plugin API 2017-11-28 14:01:41 +08:00
Rafael dos Santos Silva
bf82b34f10 FIX: Remove scope in SW register, avoid duplicated SWs 2017-11-07 01:05:30 -02:00
Robin Ward
fbd5f1e411 REFACTOR: Rename store:main to service:store so we can inject it 2017-10-27 13:59:45 -04:00
Robin Ward
954013a45c Use appEvents for page tracking so widgets can listen to it easily 2017-09-28 14:20:32 -04:00
Robin Ward
b78958fbfc Silence CSS logging in development - it's way too noisy 2017-08-16 10:59:56 -04:00
Guo Xiang Tan
ed851dbfff FIX: Avoid publishing a gigantic payload.
* Certain sites have way too many categories.
2017-08-16 11:38:30 +09:00
Robin Ward
5b590b9637 REFACTOR: Replace some fa-* uses with helpers 2017-07-27 14:55:41 -04:00
David Taylor
febd7621ea Qunit plugin rake tasks (#4985)
* Allow running specific plugin tests using ENV variables

* Add a `rake plugin:qunit` task to match the existing `rake plugin:spec` task

* Improve docker.rake to allow running specific plugin qunit tests

* Purge cache before and after qunit tests

* Stop module auto-loader trying to auto-load tests

* Use URL query parameters to pass config into Qunit, avoiding caching issues

* Oops, searchParams doesn’t work in phantomJS. Parse the URL manually.

* Escape ampersands before passing URL to phantomJS, otherwise multiple parameters go wrong
2017-07-26 09:07:46 -04:00
Robin Ward
754c1e5438 Upgrade to Babel 6 2017-07-05 15:25:23 -04:00
Robin Ward
867cefc492 Ember.K was deprecated, so let's remove it. 2017-06-13 15:59:48 -04:00
Robin Ward
006b35d2f3 FIX: Don't redirect for users/account-created path 2017-05-11 11:04:45 -04:00
Sam Saffron
c182dcc64c FEATURE: add .admin-interface class to BODY when in admin
removes some dead code as well
2017-05-04 15:13:32 -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
bb82e0a041 FIX: theme preview from preferences wasn't working 2017-04-28 14:01:57 -04:00
Sam
0a67d859d5 correct watcher so it handles color scheme changes correctly 2017-04-18 16:48:15 -04: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
Robin Ward
6b976433c9 Support for both /users/ and /u/ paths 2017-03-30 10:23:24 -04:00
Guo Xiang Tan
32d8447838 REFACTOR: Don't lookup container for certain objects if user is not signed in. 2017-03-20 15:49:36 +08:00
Robin Ward
42fd4f987e When viewing yourself, default to activity, not summary. 2017-03-07 12:03:05 -05:00
Guo Xiang Tan
f5bf6256a9 Merge pull request #4732 from nbianca/typo
Fixed typo.
2017-03-02 06:02:43 +08:00
Bianca Nenciu
2c22a7f78b Fixed typo. 2017-03-01 23:02:29 +02:00
Sam
122fb8025d FIX: last seen date erroneously updated when browser in background
In some cases user may be "last seen" even though browser tab is in
the background or computer is locked
2017-02-28 12:35:10 -05: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
Sam
06638c78e7 Merge pull request #4617 from claygriffiths/trailingslash-message-bus
Fix: Forced trailing slash on messageBus.baseUrl
2017-01-26 12:03:06 -05:00
Robin Ward
98eac4924c FIX: If an audio file is playing, don't cloak it 2016-12-27 11:38:14 -05:00
Clay Griffiths
d15bfc9880 Forced trailing slash on messageBus.baseUrl 2016-12-19 14:34:19 -07:00
Robin Ward
a9ed15e11a FIX: Remove more of those pesky View classes 2016-11-11 17:03:15 -05:00
Guo Xiang Tan
a8b7599d4a FEATURE: Add a radial ping when user's first notification has not been read. 2016-11-08 16:23:12 +08:00
Robin Ward
e18ae34493 Don't try injecting into the Resolver. Use options instead. 2016-11-04 10:23:24 -04:00
Robin Ward
3bb4e22692 FIX: cleanDOM couldn't be called from url 2016-10-26 13:27:47 -04:00
Robin Ward
bd352385a5 Framework for supporting Ember 1.12/1.13 helpers simulataneously 2016-10-24 15:13:32 -04:00