Commit Graph

18464 Commits

Author SHA1 Message Date
Vinoth Kannan
e7e4074856 FIX: raises an error if q param is empty in search page 2018-12-20 21:43:14 +05:30
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
Joe
d7466156ae UX: adds missing wizard icons
With our recent move to SVG icons, the font file does not work in the wizard. I've opted for path2D, which accepts an SVG path

Path2D is not supported by IE11 but the chances of admins running the wizard on IE11 are practically none. 

https://caniuse.com/#feat=path2d
2018-12-20 14:55:40 +02:00
Rishabh
3d2c72dd33 UX: Switch placeholder to an SSH url if importing a private theme 2018-12-20 17:01:50 +05:30
Bianca Nenciu
a06d310855 DEV: Refactor location string builders. (#6794) 2018-12-20 10:23:05 +01:00
Vinoth Kannan
dc292d4598 FIX: Use one-way binding to prevent unnecessary updates in site.periods 2018-12-20 03:39:05 +05:30
Arpit Jalan
bb67ca9d21 FIX: use correct post object when logging exception 2018-12-19 22:17:37 +05:30
Arpit Jalan
1ea0cbece8 FIX: skip adding sso diagnostics if sso object is nil 2018-12-19 20:55:35 +05:30
Joffrey JAFFEUX
e655e1863f
UX: Adding reports dashboard tab, new layout, report descriptions (#6790)
Co-Authored-By: Kris  <shout@k-ris.com>
2018-12-19 14:44:43 +01: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
Bianca Nenciu
7050ce4638 FIX: Bypass draft check when switching to shared draft. (#6782) 2018-12-19 10:25:33 +01:00
Maja Komel
0ce5f05b2a FIX: hide emails on admin user list for moderators (#6781) 2018-12-19 10:24:57 +01:00
Maja Komel
2fcbbead45 FIX: move sso provider into its own class so it doesn't interfere with sso client (#6767) 2018-12-19 10:22:10 +01:00
Bianca Nenciu
2eefe6d5d6 FIX: Use CDN for logos and icons. (#6698) 2018-12-19 10:20:48 +01:00
Kris
41e06efb94 Adding padding to mobile that was removed in 3710b016 2018-12-18 22:20:02 -05:00
Kris
3710b01660 Header was 16px too narrow due to border-box and padding 2018-12-18 20:38:43 -05:00
Kris
5b9c1bcf59 User page button style fix 2018-12-18 20:36:42 -05:00
Neil Lalonde
6774b64aef FEATURE: add /conduct as an alias for /guidelines 2018-12-18 16:40:24 -05:00
Vinoth Kannan
9c6f77f9da DEV: Remove the unique_searches column from select query 2018-12-19 02:45:48 +05:30
Robin Ward
6080e3a2c0 FIX: Broken spec 2018-12-18 14:55:09 -05: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
e593d68beb Use an options hash instead of boolean parameters 2018-12-19 01:57:30 +08:00
Rishabh
c279792130 FIX: Allow sending test e-mails to any email address when disable_email is set to non-staff (#6792) 2018-12-18 16:12:05 +01:00
Gerhard Schlager
32784ad11a FIX: Disable multipart backup uploads to S3
Multipart upload from within the browser result in corrupt files on S3.
2018-12-18 16:01:15 +01:00
Gerhard Schlager
081aa6ad2b UX: Use new FA5 icons on Backups tab 2018-12-18 16:01:14 +01:00
Vinoth Kannan
a313b01148 DEV: raise error if search term length is less than required 2018-12-18 20:06:59 +05:30
Vinoth Kannan
341a6bd78a
REFACTOR: Calculate CTR in SearchLog model and hide unique column (#6791) 2018-12-18 19:13:46 +05:30
Maja Komel
98d09c90ac Current user serializer groups (ef7f84b follow-up) 2018-12-18 09:05:45 +01:00
Kris
2a518c88d0 Prevent bullet badge from shrinking/growing as flex item 2018-12-17 21:05:32 -05:00
Kris
7d7b6baab9 Topic-list category width restriction no longer needed 2018-12-17 21:01:04 -05:00
Vinoth Kannan
ece44a44f8 UX: Change default date range of dashboard trending search report to a month 2018-12-18 03:00:30 +05:30
Bianca Nenciu
f0027961c7 FIX: Properly reset controller of admin-user-index. (#6760) 2018-12-17 15:28:29 +01:00
Bianca Nenciu
1023003eba FIX: Strip remote url before import. (#6762) 2018-12-17 15:27:49 +01:00
Joffrey JAFFEUX
22cea9ce90
FIX: adusts select-kit position even if not expanded (#6785) 2018-12-17 12:29:51 +01:00
Joffrey JAFFEUX
6ee3900791
FIX: ensures nothing is triggering rendering loop in after render (#6784) 2018-12-17 12:15:03 +01:00
Gerhard Schlager
1a8ca68ea3 FEATURE: Improve backup stats on admin dashboard
* Dashboard doesn't timeout anymore when Amazon S3 is used for backups
* Storage stats are now a proper report with the same caching rules
* Changing the backup_location, s3_backup_bucket or creating and deleting backups removes the report from the cache
* It shows the number of backups and the backup location
* It shows the used space for the correct backup location instead of always showing used space on local storage
* It shows the date of the last backup as relative date
2018-12-17 11:35:11 +01:00
Maja Komel
040ddec63d Fix avatar flair styles 2018-12-17 10:44:34 +01:00
Guo Xiang Tan
c0aae16f6b FIX: Clear anon cache when disabling readonly mode.
`SiteSerializer#is_readonly` is cached for an anonymous user so we have
to clear the cache when disabling readonly mode. Otherwise, the site may
appear to be in readonly mode for an extended period of time.
2018-12-17 17:27:44 +08:00
Saurabh Patel
ed1a309fe4 FIX: use new key for delete topic to make it lowercased as all other buttons label around it (#6778) 2018-12-17 10:55:19 +08:00
Joffrey JAFFEUX
d803dfc14a
FIX: makes more resilient select-kit positioning (#6776) 2018-12-15 16:23:23 +01:00
Kris
6213e020e6 Improving usercard badge alignment 2018-12-14 22:16:18 -05:00
Guo Xiang Tan
e9ea0102a5 FIX: Consistency about our response for invalid user id in Admin::UsersController. 2018-12-15 08:01:35 +08:00
Neil Lalonde
ef0e84e3d9 FIX: clear the site_contact_username setting if the user's staff privileges are revoked 2018-12-14 16:52:44 -05:00
David Taylor
1960236822
FIX: Suspicious login detection (#6772) 2018-12-14 16:30:34 +00:00
David Taylor
9f3e2a9e34
FIX: Only serialize group membership domains for administrators (#6771) 2018-12-14 15:47:00 +00:00
Penar Musaraj
a19f69590a DEV: add "topic-list-before-relative-date" plugin outlet 2018-12-14 10:39:22 -05:00
Kris
2f70bd83a3 Increase contrast of pinned excerpt for dark themes 2018-12-14 10:04:44 -05:00
Joffrey JAFFEUX
03014b0d05
FEATURE: adds security tab to dashboard (#6768)
This commit also includes the new staff_logins report
2018-12-14 13:47:59 +01:00
Maja Komel
9f89aadd33 FIX: delete all posts in batches without hijack (#6747) 2018-12-14 11:04:18 +01:00
Guo Xiang Tan
05104600ea FIX: Incorrect translation key on admin search logs. 2018-12-14 17:12:33 +08:00
Kris
6553744e50 Fixing topic status alignment in search 2018-12-13 21:49:43 -05:00
Kris
6cbcd58603 Lighten lazyload placeholder background 2018-12-13 15:38:33 -05:00
Joffrey JAFFEUX
afdd244486
UX: removes superfluous posters column header (#6765) 2018-12-13 21:29:00 +01:00
Kris
60189e8c92 Mobile alignment fixes 2018-12-13 15:26:52 -05:00
Joffrey JAFFEUX
bcf4a17751
FIX: apply original margin-bottom to fix position placeholder (#6764) 2018-12-13 18:21:12 +01:00
Joffrey JAFFEUX
5cb99d08ed
FIX: define actions on connector class early (#6763)
This would prevent failure with connectors templates defining actions as closures. In this case action existence is checked at compile time and not runtime.
2018-12-13 15:43:30 +01:00
Joe
8ef2085585
UX: increase selector specificity so that "inline" lightboxes in quotes don't get backgrounds
When a quote is not expanded and it contains lightboxes, those lightboxes are not displayed and instead we show a link that looks like this `[image_title]` 

These still have the lightbox CSS class and so they still get the backgrounds we add to lightboxes while they load. Increasing the selector specificity prevents that from happening.
2018-12-13 15:17:08 +08:00
Sam
7ee9a6a7ec SECURITY: do not delete avatars uploads when deleting accounts
We rely on the clean up uploads job to do this safely
2018-12-13 16:26:07 +11:00
Sam
f74ef71130 DEV: add transaction and active check to invalidate job
Follows up on 3b76f19668 this per @tgxworld a transaction makes sense here

Very minor
2018-12-13 14:59:56 +11:00
Sam
94b8ba4f8f FIX: remove slow platform detection from server side
Historically due to https://meta.discourse.org/t/why-is-discourse-so-slow-on-android/8823
we decreased page sizes of both home page and topic page on android by half.

This was done on the server side and as a side effect and caused page sizes on android
to mismatch between Android and non Android.

Unfortunately about a year ago googlebot started pretending it is Android,
this cause Google to start indexing pages as what android would see. So
it saw double the amount of pages in the index as what exists on desktop.
This in turn caused double the amount of indexing work and a large amount
of broken links on long topics.

This fix removes all special behavior which is no longer needed due to
other performance work in Discourse including raw handlebars on home page
and virtual dom on topic pages.

I tested we do not need this on Blu Advance 5.0 it has 1.3 GHZ mediatec mt6580
This phone retails for around $50 USD.

If we decide long term that we want any hacks like this we will shift them
to the client side. It can just hold data in memory without rendering.
2018-12-13 13:57:05 +11:00
Kyle Zhao
92df7b212c rename visible to visibleSiteSettings 2018-12-13 13:00:13 +11:00
Kyle Zhao
c9279a118e FIX: always show filtered site settings 2018-12-13 13:00:13 +11:00
Neil Lalonde
3b76f19668 FIX: invalidating inactive admin emails should mark them as not active 2018-12-12 17:07:49 -05:00
Neil Lalonde
a1db15fead FEATURE: require admins to re-validate their email addresses if they haven't been seen for a number of days, configurable with the invalidate_inactive_admin_email_after_days site setting. Social logins are also revoked. Default is 365 days. 2018-12-12 15:32:38 -05:00
Maja Komel
dbbadb5c35 FEATURE: add short_site_description setting to be included in title tag on homepage 2018-12-12 11:46:58 +01:00
Joffrey JAFFEUX
793f1274d1
FIX: makes charts more resilient to resizing (#6758) 2018-12-12 11:11:56 +01:00
Joffrey JAFFEUX
3a799ed922
FEATURE: Check if draft exists before starting a new one (#6755)
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: zogstrip <regis@hanol.fr>
2018-12-12 10:21:51 +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
Kris
6d353a1e47 Alignment & spacing fix for quote controls 2018-12-11 21:17:31 -05:00
Guo Xiang Tan
86926f4aee DEV: Let create! handle the check for persistence.
This is unlikely to fail but we want to know when it does.
2018-12-12 08:36:13 +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
Jeff Wong
5358f25fc6 FIX: Support RTL languages in header menu 2018-12-11 10:33:56 -08:00
Jeff Wong
d2569f8e77 make linter happy 2018-12-11 09:41:40 -08:00
David Taylor
0f734e2ae2 FIX: Return authenticated=true when reconnecting
This prevents a registration popup on the client
2018-12-11 17:40:02 +00:00
Jeff Wong
71d8807fec
Full height swipe-able menus (#6566)
* Feature: Full height swipe enabled menus

support pan events on iphone
2018-12-11 09:15:20 -08:00
Gerhard Schlager
688755baf2 DEV: Improve specs and handle invalid email token
Follow-up to 7977b09025
2018-12-11 18:04:10 +01:00
Kris
8c227715ae $primary-high contrast reduction for dark themes 2018-12-11 10:08:00 -05:00
Kris
4cc0a3503b Adding space between badges for medium-sized viewports 2018-12-11 09:45:49 -05:00
David Taylor
c7c56af397
FEATURE: Allow connecting associated accounts when two-factor is enabled (#6754)
Previously the 'reconnect' process was a bit magic - IF you were already logged into discourse, and followed the auth flow, your account would be reconnected and you would be 'logged in again'.

Now, we explicitly check for a reconnect=true parameter when the flow is started, store it in the session, and then only follow the reconnect logic if that variable is present. Setting this parameter also skips the 'logged in again' step, which means reconnect now works with 2fa enabled.
2018-12-11 13:19:00 +00:00
Maja Komel
2ee2e5c981 UX: fix cropped image thumbnails 2018-12-11 12:23:39 +01:00
David Taylor
3fedb2ad20 DEV: Style and performance improvements
Follow-up from 9db8291
2018-12-11 09:58:20 +00:00
Sam
671469bcc7 FIX: URLs containing two # would fail to work
Some URLs in browsers are non compliant and contain twos `#` this commit adds
special handling for this edge case by auto encoding any fragments containing `#`
2018-12-11 18:03:13 +11:00
Sam Saffron
bb4ef644bf UX: reduce show dismiss.. at top of unread/new to 15
Previously we would require 30 unread or new topic to show the button at the top.
2018-12-11 14:11:54 +11:00
Gerhard Schlager
7977b09025 FEATURE: Activate users invited via email when invite is redeemed
Do not send an activation email to users invited via email. They
already confirmed their email address by clicking the invite link.
Users invited via link will need to confirm their email address before
they can login.
2018-12-11 00:09:53 +01:00
Kris
73d2fc194d UX: More consistent category lock and topic-status styles 2018-12-10 16:06:26 -05:00
David Taylor
071bd15463 FIX: Redirect to default homepage when visiting /login
Previously this was hard-coded to redirect to `/latest`
2018-12-10 15:39:05 +00:00
Maja Komel
ef7f84b59b Add groups to current user serializer (#6748) 2018-12-10 16:23:29 +01:00
David Taylor
9db829134c
FIX: Use database to persist metadata during social registration (#6750)
Previously was using the cookie_store, which is limited to 4kb. This caused issues for providers sending large volumes of metadata about a user.
2018-12-10 15:10:06 +00:00
Joffrey JAFFEUX
e06a8980fb
FIX: category-drop initial state was incorrect (#6743) 2018-12-10 14:05:00 +01:00
Penar Musaraj
7f361a546e UX: Add styling for updated twitter status icons in onebox
Minor adjustments needed by onebox version 1.8.69
2018-12-09 21:58:02 -05:00
Kris
c84b837d50 category badge alignment fix 2018-12-08 22:33:11 -05:00
Gerhard Schlager
0f41770547 Make Danger happy by running prettier 2018-12-08 02:59:09 +01:00
Kris
050c02228e UX: Globally dim categories slightly 2018-12-07 20:01:38 -05:00
Penar Musaraj
67450ba402 UX: when composer is minimized, let user open composer in regular size instead of full screen 2018-12-07 17:45:13 -05:00
Jeff Wong
ccd80a8b14 update png assets for push notification images 2018-12-07 14:00:39 -08:00
Kris
b26d0f20cc Fixing slight misalignment of login/signup buttons 2018-12-07 13:56:54 -05:00
Kris
d16a4b895f only dim categories, not all topic stats per 547eaa6 2018-12-07 13:35:57 -05:00
Kris
98c18f8349 button and alignment fixes for mobile user page 2018-12-07 12:34:37 -05:00
Kris
547eaa6060 UX: Dim visited post info along with title 2018-12-07 11:09:56 -05:00
Rafael dos Santos Silva
efec2db859 FEATURE: Web Share Target Support
This adds a **very basic** support for share to Discourse.

Currently, this is only supported in Android + Chrome 71+.

After installing a Discourse site to the Home Screen, you will be
able to share from anywhere in the OS to the Discourse site.

Discourse will use the title and text from the share event.
2018-12-07 13:48:09 -02:00
David Taylor
160d29b18a
REFACTOR: Migrate TwitterAuthenticator to use ManagedAuthenticator (#6739)
No changes to functionality. TwitterAuthenticator goes from 136 lines to 24, and all twitter-specific logic elsewhere has been deleted 🎉
2018-12-07 15:39:06 +00:00
Saurabh Patel
9e3143445b DEV:add uploaded_meta option in category for category meta image (#6724) 2018-12-07 16:24:07 +01:00
David Taylor
f7ce607e5d
FIX: Return 422 instead of 500 for invalid SSO signature (#6738) 2018-12-07 15:01:44 +00:00
David Taylor
5e09398c5b
FIX: Do not serialize user fields unless they are specified for display (#6736) 2018-12-07 10:57:28 +00:00
Sam
8e307e633e FIX: posts would not auto rebake unless gravatar download was enabled 2018-12-07 17:03:22 +11:00
Kris
031c252cd3 Slight alignment follow-up to db32d29 2018-12-06 20:01:38 -05:00
Kris
db32d29eaa UX: Refactoring topic statuses for consistent icon sizes & colors 2018-12-06 19:22:04 -05:00
Penar Musaraj
06d1b19ca2 FIX: Refactor lightbox mobile icon
- Fixes a performance issue on a site with lots of images in posts

- turns out that "filter: invert(100%)" performs very poorly on Safari/iPhone

- also disables transition on the element on mobile
2018-12-06 15:32:26 -05:00
Kris
b54b4d05c5 UX: improve code highlighting diffs for dark themes 2018-12-06 10:54:30 -05:00
Gerhard Schlager
4300ac0f4a UX: Show smaller Emojis within some HTML elements 2018-12-06 15:13:16 +01:00
Xiao Guan
7ec124fc89 FEATURE: Improved deprecation warnings (#6722)
* FEATURE: Discourse.deprecate can report version

* Ember counterpart for deprecation
2018-12-06 11:38:01 +00:00
Maja Komel
1d649e147b FEATURE: show avatar flair on group, badges and directory pages (#6732) 2018-12-06 12:18:52 +01:00
Gerhard Schlager
43cfdb1cb9 FIX: Wizard tries harder to find existing Welcome Topic
The wizard searches for:

* a topic that with the "is_welcome_topic" custom field
* a topic with the correct slug for the current default locale
* a topic with the correct slug for the English locale
* the oldest globally pinned topic

It gives up if it didn't find any of the above.
2018-12-06 10:27:22 +01:00
Guo Xiang Tan
27c793a192 FIX: `UserNotificationsHelper#logo_url' to work with S3 based uploads.
https://meta.discourse.org/t/digest-logo-not-working/103255
2018-12-06 09:39:08 +08:00
Guo Xiang Tan
dcf9c6da59 DEV: Don't publish post messages to non-human users. 2018-12-06 08:24:13 +08:00
Kris
a88f931d6f UX: Moving categories under topic title in topic list, removing category column (#6731)
* Starting to remove category column from topic list

* stacked nav alignment adjustment

* Revert "stacked nav alignment adjustment"

This reverts commit 98800c7058.

* remove comment

* removing function
2018-12-05 16:12:26 -08:00
Bianca Nenciu
a8e8473ea5 DEV: Apply code review. 2018-12-05 21:58:55 +01:00
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
Bianca Nenciu
0c88052641 UX: Wrap pre element. 2018-12-05 21:56:18 +01:00
Bianca Nenciu
b585f7f336 DEV: Apply code review. 2018-12-05 21:56:18 +01:00
Bianca Nenciu
56890efd7a FEATURE: Add 'Advanced Test' for admin panel. 2018-12-05 21:56:18 +01:00
Bianca Nenciu
1a4f592749 FIX: Always allow admins upload selectable avatars. 2018-12-05 21:55:23 +01:00
Régis Hanol
aea2d8bbeb FIX: properly secure poll message bus
Co-authored-by: Sam <sam.saffron@gmail.com>
2018-12-05 21:27:49 +01:00
David Taylor
8aff99761a FIX: Ignore query parameters when displaying counter on internal links
This matches the server-side behaviour, so that the links display counters correctly
2018-12-05 18:29:54 +00:00
David Taylor
a1d9aeda8b REFACTOR: split TopicLink#extract_from into multiple methods
Also rename some confusing variables
2018-12-05 18:54:30 +01:00
David Taylor
37249c9a32 FIX: Do not reset link counts when post is rebaked
This was an indentation mistake introduced in 44eba0b. Pretty understandable, considering we are indented 8 levels deep in this method. Will follow-up with a refactor to improve this.
2018-12-05 18:54:30 +01:00
Guo Xiang Tan
978f0db109 SECURITY: Require groups to be given when inviting to a restricted category. (#6715) 2018-12-05 16:43:07 +01:00
Vinoth Kannan
57ba4b7cb2
DEV: remove unnecessary safe nav operators (#6730) 2018-12-05 20:07:18 +05:30
Kyle Zhao
97e6e3b133 DEV: duplicate and unreachable code after return 2018-12-05 09:17:20 -05:00
Vinoth Kannan
fb78414229 Add missing safe navigation operator 2018-12-05 16:23:43 +05:30
Vinoth Kannan
d33d031742
FEATURE: Filter topic and post web hook events by tags (#6726)
* FEATURE: Filter topic and post web hook events by tags

* Add a spec test with unmatched tags
2018-12-05 14:44:06 +05:30
Sam
82e45f5485 FIX: method extraction caused push notifications to include incorrect post
Previously the push notification code path was not tested for notification
collapsing. This happens if you get multiple replies to a topic you are
watching.
2018-12-05 16:40:10 +11:00
Vinoth Kannan
ec26a59eac FIX: variable name typo in subcategory image 2018-12-05 10:41:06 +05:30
Kris
e0aac75607 Restrict width of category heading to prevent mobile overflow 2018-12-04 19:01:27 -05:00
Kris
28ddaf80d2 Adding max-width to category logos 2018-12-04 13:01:27 -05:00
Régis Hanol
3c9c95ac83 Update Rubocop to 0.60 2018-12-04 10:48:16 +01:00
Joe
72bd388ff7
UX: truncate long topic tiles to prevent badges and date from wrapping 2018-12-04 15:27:23 +08:00
Sam
aa97f6fdba FEATURE: disable notifications for small actions that are whispers
Previously we would notify on small actions if they were whispers
this inconsistently lead to all sorts of problems including

- collapsed "N replies" after assign
- empty push notifications

New behavior adds an api to explicitly send push notifications as well
if needed: create_notification_alert
2018-12-04 17:54:42 +11:00
Sam
5c17e46274 FEATURE: allow advanced specification of excerpts for posts
Previously users could control excerpt with `<span class='excerpt'>`
in Markdown, this is somewhat limited for plugins that need to define this
across a section. This adds support for DIV as well
2018-12-04 15:13:34 +11:00
David Taylor
9248ad1905 DEV: Enable Style/SingleLineMethods and Style/Semicolon in Rubocop (#6717) 2018-12-04 11:48:13 +08:00
Penar Musaraj
56948896ff UX: replace FA5 compress/expand icons
Adds a new SVG sprite file that contains non-FontAwesome 5 icons to our subset.

Adds the FontAwesome 4.7.0 icons for expand / collapse.
2018-12-03 22:29:20 -05: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
f8e6a37858 FIX: raise exception when getting dimensions of missing image
- follow-up on 0eacd45ab1
2018-12-03 10:19:49 -05:00
Maja Komel
142361d6da FIX: don't steal focus when text in editor is replaced (#6712) 2018-12-03 09:49:17 +01:00
Guo Xiang Tan
125bb46052 Remove unused constant in the codebase. 2018-12-03 11:04:47 +08:00
Sam
cc04c86859 UX: do not restrict width of category image, only height
This was a recent visual regression which caused a fair amount of pain.
Previously we only restricted height
2018-12-03 09:35:16 +11:00
Sam
236c755d62 FIX: do not store key tracking last seen time indefinitely
UserStat has some special logic to keep adding time read if repeat calls
are made in intervals less than 100 seconds. This is called regularly
when we update read timings on a topic.

We only need to cache this key in redis for 100 seconds, however previously
we would keep it forever, 1 key per user. This has potential of bloating
a very large amount of keys for no longer active users in redis.
2018-12-03 08:35:26 +11:00
Kris
26e9b628b8 post-infos alignment fix 2018-11-30 21:31:36 -05:00
Kris
a113777003 Extra margin isn't needed on mobile 2018-11-30 19:49:26 -05:00
Penar Musaraj
bbd33de05b FIX: lightbox expand icon on mobile 2018-11-30 14:35:45 -05:00
Kyle Zhao
488fba3c5f
FEATURE: allow plugins and themes to extend the default CSP (#6704)
* FEATURE: allow plugins and themes to extend the default CSP

For plugins:

```
extend_content_security_policy(
  script_src: ['https://domain.com/script.js', 'https://your-cdn.com/'],
  style_src: ['https://domain.com/style.css']
)
```

For themes and components:

```
extend_content_security_policy:
  type: list
  default: "script_src:https://domain.com/|style_src:https://domain.com"
```

* clear CSP base url before each test

we have a test that stubs `Rails.env.development?` to true

* Only allow extending directives that core includes, for now
2018-11-30 09:51:45 -05:00
Penar Musaraj
7dec963f2e FIX: add vkontakte icon alias 2018-11-30 08:50:38 -05:00
David Taylor
208005f9c9 REFACTOR: Migrate FacebookAuthenticator to use ManagedAuthenticator
Changes to functionality
  - Removed syncing of user metadata including gender, location etc.
    These are no longer available to standard Facebook applications.
  - Removed the remote 'revoke' functionality. No other providers have
    it, and it does not appear to be standard practice in other apps.
  - The 'facebook_no_email' event is no longer logged. The system can
    cope fine with a missing email address.

Data is migrated to the new user_associated_accounts table.
facebook_user_infos can be dropped once we are confident the data has
been migrated successfully.
2018-11-30 11:18:11 +00:00
David Taylor
534e1b1b18 DEV: Introduce Auth::ManagedAuthenticator
A generic implementation of Auth::Authenticator which stores data in the
new UserAssociatedAccount model. This should help significantly reduce the duplicated
logic across different auth providers.
2018-11-30 11:18:11 +00:00
Arpit Jalan
059e36a6ff FIX: log name changes only when the name is actually updated 2018-11-30 15:30:46 +05:30
Guo Xiang Tan
eecd1a7d8c FIX: Jobs::CleanUpUploads fails when value of upload data_type is an empty string. 2018-11-30 10:46:39 +08:00
Penar Musaraj
0eacd45ab1 FIX: refactor ImageSizer.resize
reverts 140d9c2
2018-11-29 15:28:45 -05:00
Penar Musaraj
140d9c2910 FIX: call ImageSizer only if width/height are available 2018-11-29 15:03:02 -05:00
Arpit Jalan
40f10855c6
FIX: defer flags (only) when handling a flag and deleting replies (#6702) 2018-11-29 22:44:18 +05:30
Maja Komel
4a8f21d387 FIX: prevent minimum_required_tags on category being set to null (#6703)
* FIX: prevent minimum_required_tags on category being set to null

* add migration for NOT_NULL constraint for minimum_required_tags

* add specs
2018-11-29 18:10:14 +01:00
Penar Musaraj
5b6c1b1670 SCSS refactoring
followup on c388cac
2018-11-29 12:02:11 -05:00
Joffrey JAFFEUX
4f24d7dec8
FIX: more resilient whisper state between composer states (#6687) 2018-11-29 16:16:34 +01:00
Joffrey JAFFEUX
8da8f5d0f7
FIX: call onSelect plugin callbacks for noop rows (#6682) 2018-11-29 15:56:19 +01:00
Joffrey JAFFEUX
4c7dfed32e
FIX: error with tags enabled and no tags created (#6701) 2018-11-29 10:39:09 +01:00
Guo Xiang Tan
ffdacba219 Remove extra apple-touch-icon link in head.
The sizes attribute does not make a difference because both
image provided is of the same size.
2018-11-29 15:24:52 +08:00
Vinoth Kannan
5db50d6cdc UX: Use aspect ratio to calculate width and height precisely
Followup on 1da265d
2018-11-29 09:32:03 +05:30
Penar Musaraj
c388cacb81 UX: Style group flair in /groups same as in topic avatars 2018-11-28 16:02:49 -05:00
Penar Musaraj
6568832235 FIX: map discord/patreon FA5 icons for login buttons correctly 2018-11-28 14:36:36 -05:00
Kris
6027e7ba3d FIX: Restrict logo width for small screens 2018-11-28 13:27:56 -05:00
Saurabh Patel
55945ec7c8 FIX: throw error when link in reason for grant badge is an external link (#6690) 2018-11-28 18:01:41 +01:00
Gerhard Schlager
e7b76b319a FEATURE: Setting for short title used by Android on homescreen 2018-11-28 14:59:30 +01:00
Saurabh Patel
49c3cf9c75 UX: Topic stats were hard to translate 2018-11-28 14:25:22 +01:00
Arpit Jalan
851ef14096 Revert "FIX: do not agree flags by default when deleting posts"
This reverts commit cb6fc8057b.
2018-11-28 10:21:11 +05:30
Arpit Jalan
654d7996ae FIX: title was repeating on about page 2018-11-28 08:06:14 +05:30
Sam
912a7105d2 DEV: polyfill Object.values and use where needed
We now have polyfills for `values` IE and `entries` IE

This commit uses values where appropriate to eliminate an extra lookup
This simplifies the code a bit.

Followup to: 7f089f07a7
2018-11-28 10:07:05 +11:00
Sam
3cb88bc566 DEV: Run file through prettier
We only alert on .js.es6 this is a js file so it is bypassed
2018-11-28 10:03:54 +11:00
Arpit Jalan
bdb1268528 FIX: static page title should be consistent on client side and server side 2018-11-27 22:03:52 +05:30
Joffrey JAFFEUX
7f089f07a7
FIX: better fix for #ca84c06 (#6684) 2018-11-27 16:12:07 +01:00
David Taylor
f993aca363 FIX: Fix editing built-in badges after removing _.include
We want to send the unprotected fields to the server. Corrects 4c8cfe0f
2018-11-27 15:01:02 +00:00
Joffrey JAFFEUX
ca84c06c59
FIX: revert to using _.each (#6683)
Should be replaced with Object.keys variation when reproducible
2018-11-27 15:55:56 +01:00
Kris
964fd983b7 z-index fix for tooltips within posts 2018-11-27 09:49:34 -05:00
Maja Komel
a2bff038e8 FIX: set overridden param for customize site text query only when checkbox value changes 2018-11-27 14:29:48 +01:00
Maja Komel
a0fca2b6ed FIX: popular posts font weight in summary email 2018-11-27 12:58:28 +01:00
Gerhard Schlager
886ef7251d REFACTOR: Simplify extraction of mentions 2018-11-27 12:46:02 +01:00
Guo Xiang Tan
c92c56d986 FIX: Randomly failing QUnit test.
The `post` variable can be an actual post object or a `new Placeholder("post-placeholder")` which does not define the function `get`.

* QUNIT_SEED=11414431645131211212599424733847938795
2018-11-27 16:00:46 +08:00
Guo Xiang Tan
a1e77aa2ed
FEATURE: Reimplement SiteSetting.max_oneboxes_per_post. (#6668)
Previously, the site setting was only effective on the client side of
things. Once the site setting was been reached, all oneboxes are not
rendered. This commit changes it such that the site setting is respected
both on the client and server side. The first N oneboxes are rendered and
once the limit has been reached, subsequent oneboxes will not be
rendered.
2018-11-27 16:00:31 +08:00
Arpit Jalan
6cb49cd42c
Merge pull request #6671 from techAPJ/destroy-posts-flags
FIX: do not agree flags by default when deleting posts
2018-11-27 11:27:23 +05:30
Arpit Jalan
cb6fc8057b FIX: do not agree flags by default when deleting posts 2018-11-27 10:57:20 +05:30
Dan Ungureanu
38e29d8c94 DEV: Fix coding style. 2018-11-27 13:05:27 +11:00
Dan Ungureanu
d657ce844b DEV: Call onClose for closing modals. 2018-11-27 13:05:27 +11:00
Dan Ungureanu
0005bded6c DEV: Added composer-action-after plugin outlet. 2018-11-27 13:05:27 +11:00
Dan Ungureanu
1f9f00a629 DEV: Add data-topic-id to more elements containing titles. 2018-11-27 13:05:27 +11:00
Dan Ungureanu
8837fe47d7 DEV: Add app event triggered when composer's reply is reloaded. 2018-11-27 13:05:27 +11:00
Dan Ungureanu
b65e5d263e DEV: Add a plugin outlet for top-side notices. 2018-11-27 13:05:27 +11:00
Vinoth Kannan
1da265db11 UX: category images have no sizes (#6662) 2018-11-27 08:40:06 +08: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
818761c3a4
FIX: uses appropriate z-index for tooltips (#6674) 2018-11-26 22:47:12 +01:00
Gerhard Schlager
5640166b27 FIX: Notify only invited users about mentions in PMs 2018-11-26 22:42:56 +01:00
Kris
593cd831e1 Wrap long lists of admin tabs on large screens 2018-11-26 14:51:45 -05:00