Arpit Jalan
984778d3ac
FIX: handle moving first post to a closed/archived topic
2017-07-03 21:21:20 +05:30
Arpit Jalan
d3ee5752b8
remove unneeded condition from invite model
2017-07-01 21:50:34 +05:30
Arpit Jalan
16d356ab4e
FEATURE: resending invite should include original custom message
...
https://meta.discourse.org/t/will-resent-invite-include-original-custom-message/64699
2017-06-30 18:13:33 +05:30
Arpit Jalan
e7b9b1312e
FEATURE: remove all invites
...
https://meta.discourse.org/t/remove-all-invitations-button-for-the-admin-panel/65207
2017-06-29 22:30:10 +05:30
Guo Xiang Tan
5e156fbe85
FIX: Group.search
should look up Group#full_name
too.
...
https://meta.discourse.org/t/mentioning-group-by-full-name-doesnt-work/63437/3
2017-06-29 16:37:59 +09:00
Régis Hanol
aa69f78fed
let's not use progressing rendering on images
2017-06-26 23:19:48 +02:00
Neil Lalonde
69b2d64334
FIX: letter avatars in quotes on subfolders installs are broken
2017-06-23 17:12:13 -04:00
Régis Hanol
6e5c59e5ec
FIX: image orientation wasn't properly working
2017-06-22 16:53:49 +02:00
Régis Hanol
a916f6b0c8
remove some warnings with already declared constants
2017-06-22 12:55:58 +02:00
Guo Xiang Tan
80e348d226
PERF: Speed up slow tests in our test suite.
...
Before
```
Finished in 7 minutes 23 seconds (files took 4.15 seconds to load)
7145 examples, 0 failures, 10 pending
```
After
```
Finished in 6 minutes 12 seconds (files took 4.41 seconds to load)
7145 examples, 0 failures, 10 pending
```
2017-06-22 11:23:31 +09:00
Guo Xiang Tan
4c98bd9d5f
FIX: Can't update status_type of topic timers.
...
https://meta.discourse.org/t/topic-timers-internal-error-500/64805
2017-06-21 15:31:15 +09:00
Guo Xiang Tan
dd85c1098b
Remove comment that is no longer valid.
2017-06-21 14:10:30 +09:00
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
Jakub Macina
eaf46431d4
Add extraction of file extension in TopicLink and related rspec tests.
2017-06-19 17:09:54 +02: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
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
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
Joffrey JAFFEUX
fa508042ff
Makes sure we clear tonable_emojis cache
2017-06-14 11:11:02 +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
299339a373
Fixes emoji name to code missing tones
2017-06-13 14:10:26 -04:00
Sam
826f332766
Merge pull request #4901 from jjaffeux/emoji-5.0
...
Emoji next
2017-06-13 11:12:41 -04:00
Régis Hanol
54e8fb0d89
FEATURE: new 'allow_staff_to_upload_any_file_in_pm' site setting
2017-06-12 22:41:29 +02:00
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
Guo Xiang Tan
e888369f51
UX: Don't send emails for discobot notifications.
2017-06-12 17:00:27 +09:00
Régis Hanol
038454bde2
FIX: always confirm emails when SSO says so
2017-06-08 01:05:33 +02: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
Joffrey JAFFEUX
2aae6cfdbe
look for aliases in Emoji.lookup_unicode
2017-06-05 18:53:11 +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
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
Sam
a7fc93acac
FIX: post mover not clearing reply_to_user_id
2017-06-01 18:00:14 -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
Guo Xiang Tan
b0dd05fdc6
FIX: Inherit topic auto close when changing topic's category.
2017-05-31 17:40:21 +09: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
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
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
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
Robin Ward
ed4b2b6d8d
FIX: Don't incluide a trailing <br>
in the bio excerpt
2017-05-18 16:40:07 -04:00
Régis Hanol
13e489b4ca
replace the upload type whitelist with a sanitizer
2017-05-18 12:13:13 +02:00
Arpit Jalan
8e5b0c79ae
FIX: allow images to be uploaded in wizard
2017-05-18 13:53:23 +05:30
Robin Ward
f8c503186e
FIX: If there's an error downloading, don't raise it
2017-05-17 12:38:18 -04:00
Sam
763f156d91
FIX: require re-activation if SSO changes email and updates it
2017-05-16 16:18:18 -04:00
Sam
4424fd81b8
add a tiny bit of extra protection
2017-05-16 16:08:42 -04:00
Sam
4b449914b8
FIX: admins could never remove self from messages
2017-05-16 16:06:24 -04:00
Neil Lalonde
7821400141
FEATURE: staff can set a timer to remind them about a topic
2017-05-16 14:49:50 -04:00
Sam
e1dd543a93
FEATURE: allow users to select theme on single device
2017-05-15 12:48:16 -04:00
Sam
44d7fe89ed
FIX: unescape emoji in pretty title
...
This makes emoji in title consistent, it is later escaped back when needed
2017-05-15 10:28:05 -04:00
Sam
baf011cbf6
annotate models
2017-05-12 14:47:08 -04:00
Sam
e232f87cde
PERF: avoid query as admin
...
As admin no need to query categories over and over
2017-05-12 11:09:41 -04:00
Guo Xiang Tan
8eecd42856
FIX: Delete topic timer after completion.
2017-05-12 10:28:51 +08:00
Neil Lalonde
55b61e9bea
rename topic_status_update to topic_timer
2017-05-11 18:27:53 -04:00
Sam
52ae63d5d7
FIX: when searching PMs also search group PMs
...
Users belonging to a group could not search for PMs unless explicitly added
to the PM unless admin
2017-05-11 15:59:03 -04:00
Pat David
4bf8548dc5
Add embed class name setup for embeddable hosts
2017-05-11 15:16:16 -04:00
Neil Lalonde
1019bbda46
FEATURE: set a timer to delete a topic
2017-05-11 12:52:29 -04:00
Arpit Jalan
8c337ecf82
FIX: allow uploading of category logo and background
2017-05-11 12:48:54 +05:30
Régis Hanol
214939bb87
freeze array constants
2017-05-11 09:08:59 +02:00
Régis Hanol
9641d2413d
REFACTOR: upload workflow creation into UploadCreator
...
- Automatically convert large-ish PNG/BMP to JPEG
- Updated fast_image to latest version
2017-05-11 00:16:57 +02:00
Sam
bc0b9af576
FEATURE: support uploads for themes
...
This allows themes to bundle various assets
2017-05-10 15:47:11 -04:00
Sam
f709899a1d
Allow theme field object model to support uploads
2017-05-10 15:46:42 -04:00
Robin Ward
4db76796b9
FEATURE: Setting to poll feeds more frequently
2017-05-10 14:30:12 -04:00
Guo Xiang Tan
41fb76cc66
Don't rescue all errors.
2017-05-10 09:12:44 +08:00
Robin Ward
24e1892d28
Silence logs for OptimizedImage failures
2017-05-09 14:59:46 -04:00
Robin Ward
da92f35e08
Don't log a gravatar failure that is a socket error
2017-05-09 14:44:53 -04:00
Robin Ward
bcf1a9d43f
We don't need to log when we can't download a Gravatar
2017-05-09 14:43:39 -04:00
Robin Ward
96c59c5b82
FIX: Don't notify or return flags on system users
2017-05-08 13:13:35 -04:00
Sam
257c0dea70
Merge pull request #4852 from tgxworld/pull_the_plug_on_daily_mailing_list
...
Remove daily mailing mode option as it doesn't scale.
2017-05-08 09:10:46 -04:00
Régis Hanol
8bc47d0bae
fix build (cc @tgxworld)
2017-05-05 13:13:49 +02:00
Guo Xiang Tan
e61959e6a8
FIX: CustomEmoji
may contain an invalid upload_id.
...
https://meta.discourse.org/t/white-screen-after-deleting-custom-emoji/61608
2017-05-05 14:53:38 +08:00
Guo Xiang Tan
2b21e5ea7e
UX: Display translated group name for automatic groups.
2017-05-05 14:34:47 +08:00
Guo Xiang Tan
71a266b673
Remove daily mailing mode option as it doesn't scale.
...
https://meta.discourse.org/t/daily-updates-option-for-mailing-list-mode/45029/14?u=tgxworld
2017-05-05 12:21:50 +08:00
Sam
4ebbad991e
FIX: properly clean up related color schemes on delete
2017-05-04 14:03:17 -04:00
Robin Ward
55ca5df96b
FIX: If the host can't be extracted don't raise an error
2017-05-04 13:26:37 -04:00
Neil Lalonde
389a0e1a1c
FIX: emails should use default theme colors
2017-05-03 14:35:13 -04:00
Sam
342ef5f81a
FEATURE: out-of-the-box dark/light user selectable themes
2017-05-03 11:31:33 -04:00
Arpit Jalan
86f1cc8c92
FIX: don't apply max_emails_per_day_per_user on critical emails
2017-05-03 17:07:39 +05:30
Guo Xiang Tan
982e3d04f6
PERF: Allow memory to be freed instead of fetching all the objects into memory at once.
...
```
MemoryProfiler.report do
Jobs::UserEmail.new.execute(type: :mailing_list, user_id: user.id)
end.pretty_print
```
Before:
```
Total allocated: 180096119 bytes (1962025 objects)
Total retained: 2194 bytes (16 objects)
allocated memory by gem
-----------------------------------
66979096 activerecord-4.2.8
43507184 nokogiri-1.7.1
43365188 mail-2.6.4
5960201 activesupport-4.2.8
5056267 discourse/lib
4835284 rack-mini-profiler-0.10.1
3825817 arel-6.0.4
2186088 i18n-0.8.1
1719330 discourse/app
```
After:
```
Total allocated: 161935975 bytes (1473940 objects)
Total retained: 2234 bytes (17 objects)
allocated memory by gem
-----------------------------------
45430264 activerecord-4.2.8
43568627 nokogiri-1.7.1
43430754 mail-2.6.4
11233878 rack-mini-profiler-0.10.1
5260825 activesupport-4.2.8
5054491 discourse/lib
2186088 i18n-0.8.1
1822494 arel-6.0.4
```
2017-05-03 17:01:57 +08:00
Arpit Jalan
cdce060a38
FIX: don't apply max emails per day per user to forgot password
2017-05-03 14:02:37 +05:30
Sam
946f25098f
Refactor theme fields so they support custom theme defined vars
...
This paves the way to allowing themes to specify uploads and so on.
2017-05-02 16:02:14 -04:00
Arpit Jalan
77a8cae094
FIX: rescue specific errors on invite failure
2017-05-02 15:13:33 +05:30
Jeff Atwood
a4815047c0
purge scheduler_stats
every 1 month instead of 3
2017-04-28 15:05:15 -07:00
Robin Ward
f05f1a24d3
Change Anniversary badge to be multiple grant, once per year
2017-04-28 14:22:54 -04:00
Guo Xiang Tan
59b906ab0d
FEATURE: Disable minimum post length check when in PM with non human users.
...
https://meta.discourse.org/t/discourse-narrative-bot-beta-feedback/58621/65?u=tgxworld
2017-04-27 16:00:22 +08:00
Robin Ward
bf9c4a7828
FEATURE: secure_email site setting to prevent data going out in email
2017-04-26 13:05:56 -04:00
Guo Xiang Tan
1f6418f907
Track error message in SchedulerStats
.
2017-04-26 01:34:25 +08:00
Arpit Jalan
aeead60036
FIX: make TopicEmbed trashable
2017-04-25 18:40:39 +05:30
Régis Hanol
0d66529d2b
PostReply doesn't have a primary key, so no luck here
2017-04-24 23:14:01 +02:00
Régis Hanol
1787c45b38
PERF: don't load all replies in memory when moving posts
2017-04-24 23:00:32 +02:00
Régis Hanol
8fe0bbb238
REFACTOR: improve Notification.ensure_consistency SQL query readability
2017-04-24 23:00:27 +02:00
Régis Hanol
301dd139ae
PERF: faster Group.refresh_automatic_group & Group.ensure_consistency
2017-04-24 23:00:21 +02:00
Régis Hanol
3d406b047c
PERF: much faster Badge.ensure_consistency
2017-04-24 22:59:49 +02:00