Commit Graph

14058 Commits

Author SHA1 Message Date
Guo Xiang Tan fa35137d3a PERF: Reduce allocations in `Emoji.unicode_replacements`.
```
MemoryProfiler.report { Emoji.unicode_replacements }.pretty_print
```

Before:

```
Total allocated: 2032131 bytes (30219 objects)
Total retained:  798059 bytes (10734 objects)

allocated memory by gem
-----------------------------------
   1270762  discourse/app
    690149  2.4.1/lib
     48764  activesupport-4.2.8
     11405  bootsnap-1.0.0
      5266  logster-1.2.7
      2473  hiredis-0.6.1
      2056  redis-3.3.3
       840  discourse/lib
       240  activerecord-4.2.8
       176  thread_safe-0.3.6
```

After:

```
Total allocated: 1715713 bytes (22449 objects)
Total retained:  797985 bytes (10737 objects)

allocated memory by gem
-----------------------------------
    957250  discourse/app
    690028  2.4.1/lib
     48764  activesupport-4.2.8
     11445  bootsnap-1.0.0
      2745  hiredis-0.6.1
      2624  redis-3.3.3
      1473  logster-1.2.7
       928  discourse/lib
       280  activerecord-4.2.8
       176  thread_safe-0.3.6
```
2017-06-20 13:50:37 +09:00
Guo Xiang Tan 40ef5c4f14 PERF: Reduce memory allocation by `Emoji.unicode_replacements`.
Calling `Emoji.tonable_emojis` fetches from the cache but creates
a giant array each time it is called.

```
MemoryProfiler.report { Emoji.unicode_replacements }.pretty_print
```

Before:

```
Total allocated: 16560770 bytes (246364 objects)
Total retained:  784793 bytes (10624 objects)

allocated memory by gem
-----------------------------------
  10224581  activesupport-4.2.8
   3504241  hiredis-0.6.1
   1449466  discourse/app
    679314  2.4.1/lib
    419592  discourse/lib
    226720  redis-3.3.3
     56680  activerecord-4.2.8
       176  thread_safe-0.3.6
```

After:

```
Total allocated: 2127703 bytes (30556 objects)
Total retained:  798099 bytes (10735 objects)

allocated memory by gem
-----------------------------------
   1270762  discourse/app
    690149  2.4.1/lib
    106977  bootsnap-1.0.0
     48764  activesupport-4.2.8
      5266  logster-1.2.7
      2473  hiredis-0.6.1
      2056  redis-3.3.3
       840  discourse/lib
       240  activerecord-4.2.8
       176  thread_safe-0.3.6
```
2017-06-20 13:10:44 +09:00
Robin Ward 394efb3290 FIX: Docking of progress component on iOS was a bit off 2017-06-19 15:53:51 -04:00
Neil Lalonde 14256e11e7 FIX: topic list wrapping under category list on some screens 2017-06-19 15:23:32 -04:00
Arpit Jalan 34126eb9e0 optimize 'hide help button' code 2017-06-19 22:20:09 +05:30
Arpit Jalan 2bf2d506bf UX: hide help button after click 2017-06-19 16:27:31 +05:30
Arpit Jalan ee1f3a4b25 UX: make font size consistent on password reset modal 2017-06-19 16:09:29 +05:30
Arpit Jalan 74e6717b40 FEATURE: offer help on forgot password modal 2017-06-19 14:05:45 +05:30
hosnas 4d62f41fbc RTL digest emails
Allows RTL digest emails. 
For this to work, I have done the following major additions:
1- adding appropriate direction to body and tables
2- making text-direction compatible with rtl
3- making float, padding, and margin tags compatible with rtl
2017-06-16 15:20:20 +04:30
Arpit Jalan 77e886ec90 UX: move optional to the description text for the password field 2017-06-16 15:32:15 +05:30
Guo Xiang Tan d82dbd565b FIX: Remove dependency on `rest-client`. 2017-06-16 09:42:41 +09:00
Guo Xiang Tan b5ec241716 FIX: Validate interpolation keys used in translation overrides.
https://meta.discourse.org/t/discobot-translation-missing-error/64429/6?u=tgxworld
2017-06-16 08:54:48 +09:00
Robin Ward 6ab4692431 FEATURE: Add a user's primary group class name to the body tag 2017-06-15 14:25:39 -04:00
Robin Ward cc525b1a8d Upgrade QUnit to latest version 2017-06-15 10:12:07 -04:00
Robin Ward 8ae445766f Upgrade Ember to 2.13 2017-06-15 10:12:07 -04:00
Guo Xiang Tan b5249fb4ca FIX: Send request membership PM to last 5 active group owner. 2017-06-15 11:37:09 +08:00
Neil Lalonde b98a930364 Merge pull request #4896 from dmacjam/multiple-tags-logical-and-search
FEATURE: Advanced search supports logical AND of multiple tags
2017-06-14 14:39:23 -04:00
Régis Hanol d6c63cc5b2 FIX: user's default group should only be set once
Setting a user's default groups based on their email address should only be done once, ie. when they confirm their email address.
Previously we were doing this everytime we'd save a user record 🤷
2017-06-14 19:20:18 +02:00
Joffrey JAFFEUX 353d059133 Explains sort/reverse of emoji replacements 2017-06-14 17:54:52 +02:00
Sam 93778500c3 Merge pull request #4929 from jjaffeux/fixes-emojits-not-getting-converted
Improves native emoji conversion
2017-06-14 11:44:32 -04:00
Joffrey JAFFEUX 95e1843d33 Improves native emoji conversion 2017-06-14 17:42:52 +02:00
Régis Hanol 31b8477d8b use obj.prop syntax rather than obj[prop] syntax 2017-06-14 17:08:42 +02:00
Régis Hanol f77e6c8fc6 Merge pull request #4928 from jjaffeux/transform-native-emojis-to-names
Transforms native emojis to valid names
2017-06-14 15:43:09 +02:00
Joffrey JAFFEUX ab6086bce9 Transforms native skin toned emojis to valid names 2017-06-14 15:35:37 +02:00
Régis Hanol 04e175bc06 Merge pull request #4925 from jjaffeux/adds-tones-to-clear-cache
Makes sure we clear tonable_emojis cache
2017-06-14 14:56:41 +02:00
Régis Hanol 1ceb64500f Merge pull request #4926 from jjaffeux/fixes-mouse-three
Uses computer_mouse as base name
2017-06-14 14:55:48 +02:00
Joffrey JAFFEUX df75df7169 missing semicolon 2017-06-14 14:47:53 +02:00
Joffrey JAFFEUX fa508042ff Makes sure we clear tonable_emojis cache 2017-06-14 11:11:02 +02:00
Joffrey JAFFEUX 252c811dae Uses computer_mouse as base name 2017-06-14 11:10:09 +02:00
Régis Hanol f943efe1a9 remove use of soon-to-be-deprecated 'Discourse.SiteSettings' (cc @eviltrout) 2017-06-14 10:02:13 +02:00
Régis Hanol 493ab9d10e Merge pull request #4923 from jjaffeux/fixes-automobile-emoji-not-displayed
Fixes automobile being an alias now
2017-06-14 09:25:10 +02:00
Guo Xiang Tan 2fdf9068eb FIX: Create notification for group users when group has been invited.
https://meta.discourse.org/t/inviting-a-group-to-a-message-does-not-trigger-a-notification-mail/50509
2017-06-14 14:53:49 +09:00
Joffrey JAFFEUX 03f3612884 Fixes automobile being an alias now 2017-06-14 07:50:36 +02:00
Robin Ward 867cefc492 Ember.K was deprecated, so let's remove it. 2017-06-13 15:59:48 -04:00
Robin Ward 74858fd450 FIX: Don't show emoji selector when ending a line with a colon 2017-06-13 14:25:31 -04:00
Joffrey JAFFEUX 299339a373 Fixes emoji name to code missing tones 2017-06-13 14:10:26 -04:00
Robin Ward 13f89a53a3 FIX: Autocomplete wasn't showing up for PM user selection 2017-06-13 13:23:27 -04:00
Arpit Jalan 34996b4eff FIX: show invite validation error message in response 2017-06-13 22:41:53 +05:30
Sam 826f332766 Merge pull request #4901 from jjaffeux/emoji-5.0
Emoji next
2017-06-13 11:12:41 -04:00
Régis Hanol 5d63a7f4a6 FIX: pull hotlinked images even when they have no extension 2017-06-13 13:27:05 +02:00
Guo Xiang Tan a5d3abc9b6 FIX: Create group membership request on behalf of user. 2017-06-13 17:49:21 +09:00
Guo Xiang Tan c5caa9cf71 Revert "FIX: Disable request membership button if user does not have sufficient trust level."
This reverts commit 5f441a2614.
2017-06-13 17:49:21 +09:00
Arpit Jalan baf635c06e UX: better accept invite page on mobile 2017-06-13 07:27:22 +05:30
Régis Hanol 5f6c859744 missing semicolon 2017-06-12 23:01:38 +02: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
Neil Lalonde 16475bae89 padding below suggested topics on mobile 2017-06-12 15:46:10 -04:00
Robin Ward 2ff850d446 FIX: If forcing a refresh, don't return a onebox preview 2017-06-12 14:05:59 -04:00
Neil Lalonde 0b41046238 don't force SiteSetting.title into meta title tag 2017-06-12 13:50:50 -04:00
Robin Ward bd70656b90 FIX: Oneboxing root domains could stop previewing 2017-06-12 12:13:29 -04:00
Arpit Jalan b9c94aa234 FEATURE: add required user fields to invite accept form
UX: make "accept invitation" page consistent with sign up modal
2017-06-12 20:43:07 +05:30
Blake Erickson 9b8bf9c18c reverting add readonly to site settings
see this commit for more details:

2ffddfb32c (commitcomment-22480952)
2017-06-12 06:53:57 -06:00
Guo Xiang Tan eab3562864 Merge pull request #4905 from tgxworld/strip-zero-width-chars-from-search-term
FIX: Strip zero-width characters from search terms.
2017-06-12 18:01:02 +09:00
Guo Xiang Tan 5994c85ea9 FIX: Raise the right error when email params is missing. 2017-06-12 17:48:32 +09:00
Guo Xiang Tan e888369f51 UX: Don't send emails for discobot notifications. 2017-06-12 17:00:27 +09:00
Arpit Jalan 6e37f09b19 UX: add email to '/email/unsubscribed' page 2017-06-10 09:51:12 +05:30
Blake Erickson 2ffddfb32c add Enable read-only to Settings page 2017-06-09 16:07:02 -06:00
Jeff Atwood 5ff986129a copyedit to unsubscribe email 2017-06-09 00:27:24 -07:00
Arpit Jalan 1c0bbcd580 UX: show user email when unsubscribing 2017-06-09 09:20:24 +05:30
Robin Ward 8e2e962b1a FIX: Replace `/my/` URLs before fixing the prefix 2017-06-08 16:21:54 -04:00
Robin Ward d92c938491 FIX: Don't raise an error cleaning up uploads if a path is nil 2017-06-08 14:31:58 -04:00
Régis Hanol 038454bde2 FIX: always confirm emails when SSO says so 2017-06-08 01:05:33 +02:00
Régis Hanol e8f0771dc9 FIX: the 'clean_up_uploads' jobs would delete images used in site settings
when they were entered using absolute URLs, with the CDN or simple a different format than the one used in the database
2017-06-07 22:53:15 +02:00
Robin Ward 54bb2a6bc2 FIX: Don't redirect to wizard when resetting password 2017-06-07 12:36:52 -04:00
Guo Xiang Tan 5794ff53a1 FIX: Copy custom fields when moving first post of a topic.
https://meta.discourse.org/t/transfer-poll-votes-when-moving-a-topic-into-an-existing-one/63678
2017-06-07 19:04:48 +09:00
Guo Xiang Tan 684b05f510 FIX: Strip zero-width characters from search terms. 2017-06-07 18:19:47 +09:00
Guo Xiang Tan 2cad739262 FIX: Better error message when username change fails.
https://meta.discourse.org/t/500-error-on-username-edit/64064
2017-06-07 10:45:53 +09:00
Guo Xiang Tan da736f70a4 Merge pull request #4845 from vinothkannans/download-onebox-images
FEATURE: pull onebox images
2017-06-07 09:55:04 +09:00
Neil Lalonde 7dfbb5a395 UX: don't hide the subcategory filters when subcategories are listed below 2017-06-06 17:38:59 -04:00
Neil Lalonde 6aa0823bf4 FIX: lounge category security settings won't be reset after an upgrade 2017-06-06 16:57:21 -04:00
Robin Ward 00f06b8086 UX: Show column headers on user topic lists 2017-06-06 16:07:47 -04:00
Vinoth Kannan 209383faab FEATURE: pull onebox images 2017-06-06 18:51:58 +05:30
Robin Ward 63c32b6b21 FIX: Don't animate the progress bar unless scrolling 2017-06-05 15:38:40 -04:00
Robin Ward 02ab2706df FIX: Timeline was wrong sometimes on iPad 2017-06-05 15:23:37 -04:00
Robin Ward 79763a6b97 FIX: If a topic is really long, show the timeline 2017-06-05 13:11:25 -04:00
Joffrey JAFFEUX 2aae6cfdbe look for aliases in Emoji.lookup_unicode 2017-06-05 18:53:11 +02:00
Neil Lalonde a922db6158 FIX: set max width and prevent wrapping on composer submit button on mobile 2017-06-05 12:25:20 -04:00
Neil Lalonde d78956c0c5 FIX: topic flagged message squeezed into a small column 2017-06-05 11:23:23 -04:00
Joffrey JAFFEUX ab8a1a377c fixes eslint errors 2017-06-05 15:50:15 +02:00
Joffrey JAFFEUX 05f8b5b72e white_sun_small_cloud is an alias 2017-06-05 15:31:24 +02:00
Joffrey JAFFEUX ba07ae67fb prefer const over let 2017-06-05 14:35:27 +02:00
Joffrey JAFFEUX f8e5cbd81a prefer const when not reasigned 2017-06-05 14:33:52 +02:00
Joffrey JAFFEUX 64336a8c75 Emoji 5.0 support 2017-06-05 14:06:23 +02:00
Guo Xiang Tan ac6c1acbed FIX: Groups that do not have any owners should not allow membership requests. 2017-06-05 10:02:37 +09:00
Arpit Jalan a10c939775 FIX: do not show website name on TL0 profile 2017-06-04 18:30:28 +05:30
Arpit Jalan 2518c6156d UX: add more glyphs on /about page 2017-06-03 08:03:25 +05:30
Arpit Jalan 44cf0bdf9e UX: add admin/moderator icon on /about page 2017-06-03 01:05:26 +05:30
Sam b4060778d9 FIX: you should always be allowed to see actions you created 2017-06-02 14:24:06 -04:00
Robin Ward 007873af3c FIX: Don't run in testing mode 2017-06-02 12:42:00 -04:00
Robin Ward 62e6108756 FIX: Improper error message 2017-06-02 12:37:03 -04:00
Jakub Macina eaec35d230 Fix tag related advanced search tests into one context. Fix dynamic locale and select clause in search by all tags. Fix separator for all tags to plus sign. 2017-06-02 12:39:07 +02:00
Guo Xiang Tan af3dc4e537 FIX: Publish group's categories to user when adding user to group.
https://meta.discourse.org/t/joining-a-group-doesnt-take-effect-unless-the-browser-is-hard-refreshed/57357/11?u=tgxworld
2017-06-02 17:38:14 +09:00
Guo Xiang Tan 5f441a2614 FIX: Disable request membership button if user does not have sufficient trust level. 2017-06-02 16:06:25 +09:00
Sam a7fc93acac FIX: post mover not clearing reply_to_user_id 2017-06-01 18:00:14 -04:00
Sam e050308f36 FIX: don't allow moderators to save category tracking settings 2017-06-01 15:26:05 -04:00
Guo Xiang Tan 2ee144c27f FEATURE: Add DiscourseEvent trigger when a user logs in.
* Also adds a event trigger when user logs in for the first time.
2017-06-01 17:44:49 +09:00
Robin Ward e66fa82f3a FIX: Don't load JS via SCRIPT tag in QUnit mode 2017-05-31 15:31:24 -04:00
Robin Ward f8fa25a042 FIX: Be smart about refreshing the topic title when editing the OP 2017-05-31 11:13:16 -04:00
Guo Xiang Tan b0dd05fdc6 FIX: Inherit topic auto close when changing topic's category. 2017-05-31 17:40:21 +09:00
Guo Xiang Tan 2302493c64 PERF: N+1 query in search when plugin loads custom fields in `TopicListItemSerializer`. 2017-05-31 09:54:10 +09:00
Robin Ward 76aa651ad4 FIX: Posts weren't cloaking properly 2017-05-30 15:34:00 -04:00
Neil Lalonde 872928bbc1 add loading arg for plugin outlet discovery-list-container-top 2017-05-30 14:30:47 -04:00
Robin Ward 9be782acf6 FIX: Rerender posts when selecting replies 2017-05-30 12:50:31 -04:00
Sam 607998af33 FEATURE: dropdown to filter staff action logs 2017-05-30 11:25:42 -04:00
Neil Lalonde 75c3e7b63c css tweaks to admin user page on mobile 2017-05-29 14:13:33 -04:00
Jakub Macina 2927b45ff2 Add checkbox to contain all tags in advanced search and change separators according its state. 2017-05-29 19:12:07 +02:00
Arpit Jalan a0acce174c Merge pull request #4888 from techAPJ/invite-full-name
FEATURE: require name when accepting invite if 'full name required' setting is enabled
2017-05-29 22:21:32 +05:30
Arpit Jalan d2c2139da8 FEATURE: require name when accepting invite if 'full name required' setting is enabled 2017-05-29 21:46:43 +05:30
Neil Lalonde 847d831555 FIX: docking position of topic progress at bottom of topic on mobile 2017-05-29 12:14:45 -04:00
Sam a7e65d98a9 FIX: mutex to avoid race condition with double notify 2017-05-26 17:04:40 -04:00
Robin Ward 81c18fc0bd UX: Add link to the user's preferences page next to the avatar 2017-05-26 15:00:49 -04:00
Sam aa24bcbcc9 correct annotation 2017-05-26 09:04:54 -04:00
Sam 0aed2533ac Revert unread optimisation, has too many edge cases 2017-05-26 09:04:13 -04:00
Guo Xiang Tan e57d2f5cb8 FIX: Don't do anything if avatar url returns an invalid status code. 2017-05-26 13:02:40 +08:00
Sam Saffron 7d59ff67b8 adjust qurey to include messages, once everything is read
then mark first_topic_unread_at to be current time
2017-05-25 18:40:32 -04:00
Robin Ward 39e1948174 FIX: If the error is 401 unauthorized or such, just do nothing 2017-05-25 15:42:05 -04:00
Robin Ward b584264d82 FIX: Don't show "resend email" option when user approval is on 2017-05-25 15:29:05 -04:00
Sam 29fac1ac18 PERF: improve performance of unread queries
Figuring out what unread topics a user has is a very expensive
operation over time.

Users can easily accumulate 10s of thousands of tracking state rows
(1 for every topic they ever visit)

When figuring out what a user has that is unread we need to join
the tracking state records to the topic table. This can very quickly
lead to cases where you need to scan through the entire topic table.

This commit optimises it so we always keep track of the "first" date
a user has unread topics. Then we can easily filter out all earlier
topics from the join.

We use pg functions, instead of nested queries here to assist the
planner.
2017-05-25 15:07:30 -04:00
Robin Ward 6eb6c25816 FIX: Keep the flash when redirecting for login_required 2017-05-25 14:10:15 -04:00
Robin Ward ca965f83c3 Revert "FIX: If login is required, redirect to the `/login` route instead of root"
This reverts commit 8a8dec550b.
2017-05-25 14:04:28 -04:00
Robin Ward 8a8dec550b FIX: If login is required, redirect to the `/login` route instead of root 2017-05-25 13:35:15 -04:00
Neil Lalonde f8584e28d7 UX: improved layout of flag handling UI on mobile 2017-05-24 15:52:29 -04:00
Robin Ward f481708348 FIX: Sometimes the duplicate link text made no sense 2017-05-24 14:07:29 -04:00
Robin Ward 0a08c18a14 FIX: Don't rate limit gravatar downloads 2017-05-24 13:54:26 -04:00
Robin Ward cdbe027c1c Refactor `FileHelper` to use keyword arguments. 2017-05-24 13:54:26 -04:00
Robin Ward 87ac758f05 FIX: Don't raise an error when the upload can't be retrieved 2017-05-24 13:54:26 -04:00
Sam e8c89b4535 Merge pull request #4865 from chrisgavin/login-button-fix
Fix the padding on the login and register buttons.
2017-05-24 12:41:07 -04:00
Neil Lalonde 4266828c62 FIX: incorrect margins on buttons in modals on mobile 2017-05-24 11:57:26 -04:00
Sam d0f84aa14e FIX: missing to_i which breaks selector component for anon 2017-05-24 11:39:10 -04:00
Robin Ward b78b010757 FIX: Fixes to grant new user of the month badge 2017-05-24 11:36:24 -04:00
Neil Lalonde 0756602dfa UX: h1, h2, etc css reset should give them a bottom margin 2017-05-24 10:38:25 -04:00
Neil Lalonde c9028f517a UX: headings in banners had no margins 2017-05-23 11:25:40 -04:00
Neil Lalonde 9edc490d3f FIX: remove memoized values in jobs 2017-05-22 16:26:30 -04:00
Robin Ward b23fc2bf84 Helper to find the final destination for a URL 2017-05-22 15:52:41 -04:00
Neil Lalonde f350dd4fd1 FIX: possible data leaking from one site to another in multisite in PendingFlagsReminder 2017-05-22 15:18:13 -04:00
Arpit Jalan decb432740 FIX: fill date input with default date range 2017-05-22 21:54:28 +05:30
Robin Ward 773445b8df FIX: Topic Crawling should only crawl HTTP/S urls 2017-05-22 11:57:20 -04:00
Guo Xiang Tan 08c36fa968 REFACTOR: Clean up some code associated with topic timers. 2017-05-22 18:10:29 +08:00
Guo Xiang Tan 604aaf8686 FIX: N+1 query in suggested topics list. 2017-05-22 18:05:38 +08:00
Guo Xiang Tan 238a156300 FIX: `TopicTimestampChanger` should not allow timestamps in the future. 2017-05-22 16:03:49 +08:00
Guo Xiang Tan 4382a0bb07 Rename `PostTimestampChanger` -> `TopicTimestampChanger`. 2017-05-22 15:01:33 +08:00
Jeff Atwood 393c060047 use moon glyph to denote "later today" 2017-05-19 17:02:00 -07:00
Robin Ward ea9f93dcc5 FIX: Don't crawl non-http/s links 2017-05-19 16:57:41 -04:00
Neil Lalonde 558a274187 UX: flag custom message description is too close to textarea on mobile 2017-05-19 16:08:28 -04:00
Robin Ward 908433a7a0 SECURITY: Validate the `entity` when downloading a CSV 2017-05-19 16:00:51 -04:00
Neil Lalonde 0a8e16d049 UX: show short flag descriptions in the flag modal on mobile 2017-05-19 15:35:10 -04:00
Neil Lalonde c0c6cb8124 mobile like count css rules being ignored 2017-05-19 11:10:18 -04:00
Neil Lalonde 3681b350cd FIX: new topics alert wasn't covering the entire topic list column headings 2017-05-19 11:05:38 -04:00
Jeff Atwood 387cad693e "next month" doesn't need time fidelity 2017-05-18 23:29:37 -07:00
Guo Xiang Tan e93535e239 Add "Next month" to topic timer selection options. 2017-05-19 14:09:53 +08:00
Guo Xiang Tan 8ab9f30bbd FIX: User can't remove bookmark from a deleted post. 2017-05-19 12:25:12 +08:00