Guo Xiang Tan
e542884b00
FIX: Incorrect notification state being published.
2017-09-25 13:48:59 +08:00
Guo Xiang Tan
23b787e0a6
Require dependency otherwise it causes Sidekiq to lock up in development.
2017-09-25 13:48:59 +08:00
Guo Xiang Tan
77d4c4d8dc
Fix all the errors to get our tests green on Rails 5.1.
2017-09-25 13:48:58 +08:00
Gerhard Schlager
6f6b47f096
FIX: do not escape already escaped chars in URL
2017-09-22 17:36:44 +02:00
Gerhard Schlager
1a435414d5
FIX: handle URL encoded email addresses
2017-09-22 14:26:06 +02:00
Henrik Nyh
77cc33b231
100.years.ago -> Time.at(0)
...
A bit more robust ;)
2017-09-19 08:48:50 +01:00
Régis Hanol
8ed318c4fe
display 'similar to' earlier when composing a post
2017-09-16 01:03:29 +02:00
Régis Hanol
797936d2c5
FIX: don't leak whisper count in user card
2017-09-14 20:08:16 +02:00
Gerhard Schlager
f3d3129113
FIX: Use default locale for edit reason when owner of post gets changed
2017-09-14 17:17:37 +02:00
Gerhard Schlager
efef422416
FIX: Use default locale for moderator post when posts are moved
2017-09-14 17:17:37 +02:00
Guo Xiang Tan
26c6447161
Fix bugs in profiling scripts leading to incorrect results.
2017-09-13 15:33:59 +08:00
Neil Lalonde
6831efe2e9
FIX: no notification was being sent when a post is hidden by community flags
2017-09-12 15:43:44 -04:00
Leo McArdle
104d97695d
FIX: don't activate un-confirmed email on omniauth authentication ( #5176 )
2017-09-12 17:36:17 +02:00
Guo Xiang Tan
d3a409456f
PERF: Bypass AR and execute SQL directly.
2017-09-12 17:52:13 +08:00
Darren Lee
90dd1609eb
FIX: memoization in PostAnalyzer.raw_mentions ( #5172 )
...
Due to a missing 's' when assigning the computed value to @raw_mentions, the raw_mentions function in PostAnalyzer would never retrieve a memoized value.
2017-09-11 20:01:24 +02:00
Neil Lalonde
d7d9923b8e
FIX: display email validation error messages
2017-09-11 13:22:14 -04:00
David Taylor
1def49cf6c
SECURITY: Only publish PM reply messagebus notifications to allowed users
2017-09-08 14:12:15 -07:00
Guo Xiang Tan
5d4221fbe1
PERF: Avoid calling expensive PostGuardian#can_see_post?
multiple times.
...
Before
```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
50: 19
75: 19
90: 21
99: 27
topic:
50: 56
75: 62
90: 64
99: 99
timings:
load_rails: 1262
ruby-version: 2.4.1-p111
rss_kb: 198432
pss_kb: 136612
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_9877: 327892
pss_kb_9877: 263671
rss_kb_9946: 325468
pss_kb_9946: 261671
rss_kb_10153: 326456
pss_kb_10153: 262657
```
After
```
Your Results: (note for timings- percentile is first, duration is second
in millisecs)
---
topic_admin:
50: 18
75: 18
90: 20
99: 28
topic:
50: 41
75: 42
90: 46
99: 49
timings:
load_rails: 1201
ruby-version: 2.4.1-p111
rss_kb: 187936
pss_kb: 123596
virtual: physical
architecture: amd64
operatingsystem: Ubuntu
memorysize: 15.59 GB
kernelversion: 4.10.0
physicalprocessorcount: 1
processor0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
rss_kb_26478: 342360
pss_kb_26478: 276696
rss_kb_26547: 340368
pss_kb_26547: 275930
rss_kb_26747: 338964
pss_kb_26747: 274466
```
2017-09-08 14:07:24 +08:00
David Taylor
7d350d0d75
Revert plugin js changes ( #5139 )
...
* Revert "Add disabled_plugins to preloadstore for login_required anonymous users (#5134 )"
This reverts commit b840170f8d
.
* Revert "Do not load javascripts for disabled plugins (#5103 )"
This reverts commit a14ab48829
.
2017-09-07 15:15:29 +02:00
Régis Hanol
8a935a4b5f
FEATURE: new badges when visiting the forum for 10, 100 and 365 consecutive days
2017-09-06 22:35:08 +02:00
David Taylor
b840170f8d
Add disabled_plugins to preloadstore for login_required anonymous users ( #5134 )
2017-09-06 12:18:58 +02:00
Guo Xiang Tan
672b7cb9a5
Require missing dependency.
2017-09-05 09:39:56 +08:00
Guo Xiang Tan
7786c6c6f2
Remove duplicated scope.
2017-09-05 09:15:06 +08:00
Joffrey JAFFEUX
afe6f46b03
merges after_save
2017-09-04 13:40:11 +02:00
Joffrey JAFFEUX
caedefd675
FIX: correctly resets user_themes template
...
This commit adds tests for this behaviour and also adds support for
reseting cache when updating a theme name and destroying a theme.
2017-09-04 13:27:58 +02:00
Arpit Jalan
66f2925348
SECURITY: do not include links from whispers in topic summary map
...
https://meta.discourse.org/t/staff-whispers-links-in-whispers-showing-up-publicly-in-topics-summary/69134?u=techapj
2017-08-31 23:44:54 +05:30
Sam
c705159d22
Remove email column from user table
2017-08-29 11:50:56 -04:00
Sam
b3fd091379
annotate stuff
2017-08-29 10:48:22 -04:00
Bianca Nenciu
6bc74ceb50
Split alias levels in mentionable and messageable levels. ( #5065 )
...
* Split alias levels in mentionable and messageable levels.
* Fixed some tests.
* Set messageable level to everyone by default.
* By defaults, groups are not mentionable or messageable.
* Made staff groups messageable by the system.
2017-08-28 12:32:08 -04:00
Neil Lalonde
398604ac71
FEATURE: set purge_unactivated_users_grace_period_days to 0 to disable purging unactivated users
2017-08-25 15:20:06 -04:00
Neil Lalonde
2c56f8df7c
FEATURE: show tags in search results
2017-08-25 11:52:59 -04:00
Guo Xiang Tan
0531ef2e20
Fix calling exists?
on Arrays.
2017-08-24 09:56:07 +09:00
Guo Xiang Tan
91d3929f52
Merge pull request #5078 from lelelelemon/master
...
change count>0 to exists
2017-08-24 09:24:42 +09:00
junwen yang
8124f26a6e
change count>0 to exists
2017-08-23 22:54:51 +00:00
Sam
f766ea4257
Correct short url decoding for sha1s leading with zero
...
This was picked up cause we had a flaky test!
2017-08-23 11:08:18 -04:00
Neil Lalonde
224796a7d4
FIX: wrongs counts on tags with deleted topics
2017-08-22 16:55:05 -04:00
Sam
bcf7dc38c2
FEATURE: server side support for upload:// markdown
...
This allows uploads to be specified using short sha1 hash instead of full
URL
Client side change is pending
2017-08-22 11:46:23 -04:00
Arpit Jalan
b00747fd49
FIX: do not create topic link reflection for unlisted topics
2017-08-22 14:28:01 +05:30
Guo Xiang Tan
29a9e0c4d2
Fix the build.
2017-08-22 15:52:24 +09:00
Guo Xiang Tan
bc3e43b496
FIX: Topic timers being incorrectly trashed!
.
...
https://meta.discourse.org/t/temporary-timed-closure-of-topic-not-re-opening-topic/67877
2017-08-22 15:23:09 +09:00
Guo Xiang Tan
87994a86ce
FIX: Don't set topic timer for close topics when changing category.
...
https://meta.discourse.org/t/moving-a-topic-after-closure-reopens-topic/67659/4
2017-08-22 12:54:34 +09:00
Sam
c2a6616035
Correct erratic spec failure
2017-08-17 15:26:31 -04:00
Jen
d29fc781fb
trigger for other backup choices
2017-08-17 10:34:24 -04:00
Jen
b5823a3b03
add event for other backup choices
2017-08-17 10:34:24 -04:00
Régis Hanol
629810bd07
FIX: when registering custom_field types, ensure we're casting them before checking for equality
2017-08-16 23:04:40 +02:00
Robin Ward
b78958fbfc
Silence CSS logging in development - it's way too noisy
2017-08-16 10:59:56 -04:00
Sam
c68999e128
annotate models
...
WARNING annotators out there, be to run bin/annotate on RAILS_ENV=test on a clean db
2017-08-16 10:38:11 -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
Erick Guan
1146772deb
Fix: unlinked topic search model ( #5044 )
2017-08-15 11:46:57 -04:00
Neil Lalonde
94d8f6d734
FIX: digest emails should not include posts that are still in the edit grace period
2017-08-14 12:47:33 -04:00
Régis Hanol
c2061aae3d
Add new 'post_moved' event
2017-08-12 04:12:09 +02:00
Régis Hanol
4f09a5a7a5
Add 'Post.permitted_create_params' to allow plugins to add new params when creating a post
2017-08-12 04:10:45 +02:00
Neil Lalonde
9813f9f0f8
FIX: more cases of case sensitive group membership in sso
2017-08-11 18:09:29 -04:00
Neil Lalonde
15a74d6d3e
FIX: don't enforce newuser_spam_host_threshold on private messages
2017-08-10 17:19:08 -04:00
Guo Xiang Tan
b84e87dedd
FIX: Don't raise an error if URL timesout.
2017-08-10 12:58:56 +09:00
Guo Xiang Tan
b404a4b97c
Merge pull request #5034 from tgxworld/fix_staged_primary_email
...
FIX: Staged users are still missing primary email.
2017-08-10 10:30:51 +09:00
Neil Lalonde
ca1609c821
FIX: user directory didn't update stats of users with no recent activity
2017-08-09 15:57:42 -04:00
Guo Xiang Tan
90d7dd1f05
FIX: Ensure that post action moderation post uses the site's default locale.
...
https://meta.discourse.org/t/a-post-in-looking-for-someone-to-customize-discourse-to-create-a-forum-site-requires-staff-attention/67468/5?u=tgxworld
2017-08-09 18:20:20 +09:00
Guo Xiang Tan
0bc690ed11
FIX: Staged users are still missing primary email.
2017-08-09 12:03:49 +09:00
Régis Hanol
d182f0f2d1
Add support for preloaded custom_fields on Group
2017-08-08 15:45:27 +02:00
Guo Xiang Tan
f496302c2c
order
scope is ignored when using find_each
.
2017-08-07 11:46:18 +09:00
Guo Xiang Tan
3f24ed2b3e
Can't revert due to incompatibility of new site setting types.
...
Revert "Revert "FEATURE: Site settings defaults per locale""
This reverts commit 439fe8ba24
.
2017-08-07 10:43:09 +09:00
Guo Xiang Tan
439fe8ba24
Revert "FEATURE: Site settings defaults per locale"
...
This reverts commit 468a8fcd20
.
2017-08-07 10:31:50 +09:00
Régis Hanol
519b70ea46
FIX: always trigger the ':user_updated' event
...
We don't always use the UserUpdated class to update a user's record
2017-08-04 18:12:10 +02:00
Régis Hanol
c26ba890bd
prevent N+1 when loading custom emojis
2017-08-04 17:04:59 +02:00
Leo McArdle
99527af38a
FIX: show rejected emails with unrecognized errors ( #5026 )
...
Although 407a23663d
will send rejection
messages for unrecognized errors, sometimes processing the email will
raise an error which has a blank message.
This commit:
1. Shows rejected emails which have already been processed and contain
a blank error in /admin/email/rejected
2. Replaces new blank error messages with the error type
2017-08-04 16:20:44 +02:00
Guo Xiang Tan
40fc6c429a
Merge pull request #5018 from discourse/wekbit-embedded-referer
...
FIX: First load of embed comments would always fail on WebKit
2017-08-04 14:12:26 +09:00
Guo Xiang Tan
a47e297508
Merge pull request #5019 from tgxworld/more_resiliency_to_readonly_redis
...
Fix Redis command errors when trying to start app with a readonly Redis.
2017-08-03 06:34:36 +09:00
Rafael dos Santos Silva
57a214e920
FIX: First load of embed comments would always fail on WebKit
2017-08-02 17:43:31 -03:00
Erick Guan
468a8fcd20
FEATURE: Site settings defaults per locale
...
This change-set allows setting different defaults for different locales.
It also:
- Adds extensive testing around site setting validation
- raises deprecation error if site setting has the default property based on env
- relocated site settings for dev and tests in the initializer
- deprecated client_setting in the site setting's loading process
- ensure it raises when a enum site setting being set
- default_locale is promoted to `required` category.
- fixes incorrect default setting and validation
- fixes ensure type check for site settings
- creates a benchmark for site setting
- sets reasonable defaults for Chinese
2017-08-02 12:24:19 -04:00
Neil Lalonde
3de45ce0cd
FIX: use case insensitive group name search when applying group rules from SSO
2017-08-02 11:30:37 -04:00
Guo Xiang Tan
9bc3038728
Fix Redis command errors when trying to start app with a readonly Redis.
2017-08-02 21:33:56 +09:00
Régis Hanol
e43799134c
fix the regexp used to valide user's website
2017-08-02 10:19:24 +02:00
Benjamin Elijah Griffin
d471ad08c6
Website RE validator without a 10 char limit on TLD.
2017-08-01 23:37:28 -07:00
Guo Xiang Tan
bd0efb8525
Fix the build.
2017-08-01 17:57:26 +09:00
Guo Xiang Tan
1197750e7d
PERF: Allow plugins to preload custom fields for topics in CategoryList
.
2017-08-01 17:27:28 +09:00
Neil Lalonde
5d528f0d15
Merge pull request #4958 from dmacjam/search_posts_by_filetype
...
FEATURE: Search posts by filetype
2017-07-31 11:55:34 -04:00
Guo Xiang Tan
24e0e000b9
FIX: Always validate presence of user's primary_email.
2017-07-31 11:47:29 +09:00
Guo Xiang Tan
4620dfe92d
FEATURE: Add group settngs to allow users to leave a group freely.
...
https://meta.discourse.org/t/split-join-leave-freely-setting-on-groups/65565
2017-07-28 15:00:25 +09:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Guo Xiang Tan
2442bba131
UX: Better group creation workflow.
...
* Owners and users can now be added to a group during creation.
https://meta.discourse.org/t/you-cannot-allow-membership-requests-without-any-owners/64760/3
2017-07-27 16:12:42 +09:00
Guo Xiang Tan
fd95c971ec
REFACTOR: Better variable name.
2017-07-27 16:10:53 +09:00
Neil Lalonde
24cb950432
FEATURE: Watched Words: when posts contain words, do one of flag, require approval, censor, or block
2017-07-26 11:01:09 -04:00
Guo Xiang Tan
917d186303
REFACTOR: Reduce number of queries sent to the DB.
2017-07-26 17:20:00 +09:00
Guo Xiang Tan
3a46ea8bad
Sanitize SQL arguments to prevent injections.
2017-07-26 17:20:00 +09:00
Guo Xiang Tan
b59dfb86f4
UX: Include group name in email when group is invited to a PM.
...
https://meta.discourse.org/t/xyz-invited-you-to-a-message-but-really-invited-a-group-im-in/65996
2017-07-26 15:51:44 +09:00
Neil Lalonde
d8c27e3871
Merge branch 'master' into search_posts_by_filetype
2017-07-25 14:41:20 -04:00
Régis Hanol
d67fe4c674
FIX: block all emails associated to a user when destroying their record
2017-07-25 17:44:46 +02:00
Régis Hanol
c7c93e7159
FEATURE: new 'strip image metadata' site setting
2017-07-25 11:48:39 +02:00
Sam Saffron
045a2abcec
FEATURE: remove the timecop gem
...
We should only have one way of mocking time, misuse of timecop
was causing build stability issues
2017-07-24 12:11:10 -04:00
Guo Xiang Tan
6b17178533
Validate uniquness of api_key
.
2017-07-24 21:46:08 +09:00
Guo Xiang Tan
1b0750d7ef
Merge pull request #4983 from tgxworld/group_owners_can_invite_users_to_groups
...
Group owners can invite users to groups
2017-07-24 16:21:19 +09:00
Jeff Atwood
bc9270defb
filetype comparison needs to be case insensitive
2017-07-22 13:18:15 -07:00
Robin Ward
574681dc47
FIX: Show emoji in inline oneboxes
2017-07-21 14:24:48 -04:00
Joffrey JAFFEUX
54e0075a3e
use the EMOJI_VERSION constant
2017-07-21 19:42:49 +02:00
Guo Xiang Tan
2a17f1ccd7
FIX: Group owners should be able to invite users to their groups.
...
https://meta.discourse.org/t/group-owner-cannot-send-an-invite-to-a-group/60617/12
2017-07-21 23:48:25 +09:00
Robin Ward
3882722195
FEATURE: Inline (Mini) Oneboxing
...
see:
https://meta.discourse.org/t/mini-inline-onebox-support-rfc/66400?source_topic_id=66066
2017-07-20 15:38:04 -04:00
Leo McArdle
d0b027d88d
FEATURE: phase 1 of supporting multiple email addresses
2017-07-20 11:22:27 +09:00
Joffrey JAFFEUX
6de258d4cf
FEATURE: Introduces new emoji-picker
2017-07-19 16:48:23 +02:00
Robin Ward
21e02d6969
Include the search_log_id
in search results
2017-07-17 12:10:32 -04:00
Robin Ward
610728a70f
FIX: Don't include images in the topic map top links
2017-07-14 16:37:41 -04:00
Robin Ward
6b6ad9391b
Clean up job for search logs
2017-07-14 14:30:58 -04:00
Robin Ward
97e211f837
FEATURE: Log Search Queries
2017-07-14 14:30:58 -04:00
Guo Xiang Tan
9792e03c63
FIX: Group name was being reverted to non-localized version.
...
https://meta.discourse.org/t/localized-staff-group-names-changed/65360/16
2017-07-14 14:15:33 +09:00
Arpit Jalan
76981605fa
FIX: don't raise error when inviting existing user to private topic via email
...
https://meta.discourse.org/t/inviting-existing-user-to-a-private-topic-message-via-email-shows-error-message/65994
2017-07-12 21:51:21 +05:30
Arpit Jalan
35fb45749d
FIX: remove unneeded code
2017-07-11 13:21:41 +05:30
Guo Xiang Tan
f529cb1674
Remove validation for invalid interpolation keys.
...
* Our codebase currently supports custom interpolations keys that are
not present in the original translation. The proper fix should
be to make `TranslateOverride` aware of such keys.
2017-07-11 11:12:11 +09:00
Guo Xiang Tan
c5b1317a15
Remove code that is no longer being used.
2017-07-11 11:11:51 +09:00
Régis Hanol
c66b9dcdbd
add 'us-east-2' S3 region
2017-07-10 15:36:38 +02:00
Arpit Jalan
3b1b00a869
FIX: invited user should not be able to redeem invite as admin
2017-07-10 07:47:37 +05:30
Robin Ward
f1a6449e4b
SECURITY: Remove disposable invite feature
2017-07-07 20:24:39 -04:00
Jakub Macina
8c445e9f17
Fix backend code for searching by a filetype as a combination of uploads and topic links. Add rspec test for extracting file extension in upload.
2017-07-06 19:19:31 +02:00
Jakub Macina
f0a674d620
Add extraction of upload extension. Add rspec test for search of post
...
with upload by extension.
2017-07-06 19:16:07 +02:00
Joffrey JAFFEUX
6fd44b1efd
FIX: s/google_blob/google_classic
2017-07-06 09:05:15 +02:00
Robin Ward
754c1e5438
Upgrade to Babel 6
2017-07-05 15:25:23 -04:00
Neil Lalonde
fcb2f68565
FIX: duplicate topics and posts in summary email because user has muted tags and topics contain multiple tags
2017-07-04 16:12:10 -04:00
Neil Lalonde
3964929c75
FIX: summary email excludes all untagged topics if user has muted some tags
2017-07-04 12:52:25 -04:00
Joffrey JAFFEUX
a71c75367e
FEATURE: emoji generation now use emoji-db
...
- unicode 10
- emoji 5.0
- support for google_blob and facebook_messenger sets
2017-07-04 14:08:47 +02:00
Sam
845170bd6b
FEATURE: add support for group visibility level
...
There are 4 visibility levels
- public (default)
- members only
- staff
- owners
Note, admins and group owners ALWAYS have visibility to groups
Migration treated old "non public" as "members only"
2017-07-03 15:26:57 -04:00
Sam
c79418d334
DEV: Move RTL into lib where it belongs
2017-07-03 15:26:57 -04:00
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