Commit Graph

3743 Commits

Author SHA1 Message Date
Gerhard Schlager
8e48b339fa Drop unused tables (#5630) 2018-03-05 17:27:30 -05:00
Guo Xiang Tan
2f65393706 REFACTOR: Use Topic#private_message? to reduce duplication. 2018-03-05 15:39:22 +08:00
Guo Xiang Tan
07f1d90b88 FIX: Inviting a group that I am part of creates a notification.
https://meta.discourse.org/t/inviting-a-group-to-a-message-does-not-trigger-a-notification-mail/50509/10?u=tgxworld
2018-03-05 13:51:32 +08:00
Guo Xiang Tan
42e0aaed61 FIX: Set first visit PM notification level to group default notification level.
https://meta.discourse.org/t/notifications-not-received-for-private-messages-im-invited-to/71577/21?u=tgxworld
2018-03-05 13:39:00 +08:00
Sam
9331b4849d FEATURE: we need access to settings in theme js 2018-03-05 15:35:41 +11:00
Sam
2c25b9ae12 annotate 2018-03-05 11:06:45 +11:00
OsamaSayegh
282f53f0cd FEATURE: Theme settings (2) (#5611)
Allows theme authors to specify custom theme settings for the theme. 

Centralizes the theme/site settings into a single construct
2018-03-04 19:04:23 -05:00
Robin Ward
31e3bf6d8d FEATURE: New "Categories and Top" homepage style
Select this option if you want to show top topics on the homepage
instead of latest topics.
2018-03-03 14:26:57 -05:00
Robin Ward
730201d423 New interface to upsert custom fields 2018-03-02 12:45:52 -05:00
Arpit Jalan
334ed74346
Merge pull request #5635 from techAPJ/invite-muted
FIX: do not allow invite notifications from muted user/topic
2018-03-02 18:10:17 +04:00
Guo Xiang Tan
6b59a2827d Add more information to SSO user creation logging. 2018-03-02 18:27:15 +08:00
Guo Xiang Tan
642c60c310 Rename variable so that it is clearer which variable is being referred. 2018-03-02 16:41:02 +08:00
Arpit Jalan
2e202495a3 FIX: do not allow invite notifications from muted user/topic 2018-03-02 12:24:51 +05:30
Guo Xiang Tan
939180efa8 FIX: Missing 2FA guards when sso is enabled or when local login is disabled. 2018-03-02 10:39:10 +08:00
Gerhard Schlager
fffd1a6602 FIX: Associated Instagram account was missing at some places 2018-03-01 12:26:40 +01:00
Guo Xiang Tan
947b6fdf46 FIX: Incorrect rate limit applied to topics invitation flow. 2018-03-01 12:50:00 +08:00
Robin Ward
b283bb2ba7 FIX: Don't include unlisted topic in groups/posts 2018-02-28 14:40:18 -05:00
Guo Xiang Tan
e7a7356986 Remove ancient votes code that is no longer used. 2018-02-28 14:37:22 +08:00
Guo Xiang Tan
902c5d11cf FIX: Don't allow other flag actions after notify_moderator has happened.
https://meta.discourse.org/t/receiving-sorry-an-error-has-occurred-during-flagging-step-of-discobot-tutorial/77233/5
2018-02-28 11:27:56 +08:00
Gerhard Schlager
c22e56499a FIX: Allow changing post owner even when validations fail 2018-02-27 15:46:20 +01:00
Guo Xiang Tan
66d620f7b1 FEATURE: Trigger topic webhook when topic status is updated. 2018-02-27 11:07:37 +08:00
Robin Ward
c7a37f391a New event when a flag is handled 2018-02-26 18:51:51 -05:00
Gerhard Schlager
5ca5817902 FIX: Only likes should change the given daily likes 2018-02-26 22:27:18 +01:00
Guo Xiang Tan
c1f53e1ece UX: Invited users should watch PM topic once topic has been visited.
https://meta.discourse.org/t/notifications-not-received-for-private-messages-im-invited-to/71577/11
2018-02-26 17:58:58 +08:00
Guo Xiang Tan
982e5bae3a Update annotations. 2018-02-26 15:32:04 +08:00
Guo Xiang Tan
6a88f7db61 Notification created for wrong user after invite.
Introduced in c64f09b6b7
2018-02-26 13:21:19 +08:00
Guo Xiang Tan
31242335a6 Revert "Fix the build."
This reverts commit 07f928e05e.
2018-02-26 13:08:10 +08:00
Guo Xiang Tan
07f928e05e Fix the build. 2018-02-26 12:42:55 +08:00
Guo Xiang Tan
c64f09b6b7 REFACTOR: Simplify and DRY Group#invite. 2018-02-26 11:59:07 +08:00
Arpit Jalan
709f201bd4 FIX: update group user count when bulk adding users 2018-02-23 14:29:56 +05:30
Sam
6f076963f2 FIX: incorrect caching of theme keys 2018-02-23 17:58:13 +11:00
Guo Xiang Tan
dd26bbe868
Merge pull request #5610 from discourse/pm-tags
FEATURE: Allow staffs to tag PMs
2018-02-23 07:07:41 +08:00
Vinoth Kannan
7cbda949f1 REFACTOR: New spec tests and code improvement 2018-02-22 20:27:02 +05:30
Guo Xiang Tan
bbb30bedf3 Improve output of SSO verbose logging. 2018-02-22 11:26:13 +08:00
Sam
720e1965e3 FEATURE: add category suppress from latest
In the past we used suppress_from_homepage, it had mixed semantics
it would remove from category list if category list was on home and
unconditionally remove from latest.

New setting explicitly only removes from latest list but leaves the
category list alond
2018-02-22 09:56:35 +11:00
Vinoth Kannan
2b509eaa91
Merge branch 'master' into pm-tags 2018-02-21 23:55:59 +05:30
Neil Lalonde
81e873138f FIX: error when deleting a tag associated with a deleted topic 2018-02-21 12:35:53 -05:00
Vinoth Kannan
84ce1acfef FEATURE: Allow staffs to tag PMs 2018-02-21 20:11:46 +05:30
Guo Xiang Tan
8964e75ad6
Merge pull request #5612 from discourse/featheredtoast-two-factor-login
Featheredtoast two factor login
2018-02-21 15:00:10 +08:00
Guo Xiang Tan
14f3594f9f Review Changes for f4f8a293e7. 2018-02-21 14:55:49 +08:00
Robin Ward
5c40ae9e63 FIX: Links in quotes should be counted for rate limits 2018-02-20 20:42:01 -05:00
Jeff Wong
f4f8a293e7 FEATURE: Implement 2factor login TOTP
implemented review items.

Blocking previous codes - valid 2-factor auth tokens can only be authenticated once/30 seconds.
I played with updating the “last used” any time the token was attempted but that seemed to be overkill, and frustrating as to why a token would fail.
Translatable texts.
Move second factor logic to a helper class.
Move second factor specific controller endpoints to its own controller.
Move serialization logic for 2-factor details in admin user views.
Add a login ember component for de-duplication
Fix up code formatting
Change verbiage of google authenticator

add controller tests:
second factor controller tests
change email tests
change password tests
admin login tests

add qunit tests - password reset, preferences

fix: check for 2factor on change email controller
fix: email controller - only show second factor errors on attempt
fix: check against 'true' to enable second factor.

Add modal for explaining what 2fa with links to Google Authenticator/FreeOTP

add two factor to email signin link

rate limit if second factor token present

add rate limiter test for second factor attempts
2018-02-21 09:04:07 +08:00
Guo Xiang Tan
226ace1643 Update annotations. 2018-02-20 14:28:58 +08:00
Sam
86d12bd44b FEATURE: search within title using in:title
Also

- Significantly improved search ranking, title is treated most strongly
- Adds tag names to the index
- Run search re-indexer more aggressively
- Re-index topic and all posts on category change
2018-02-20 14:41:21 +11:00
Arpit Jalan
c419c26f56 FEATURE: new site setting 'max_emojis_in_title' 2018-02-19 18:15:26 +05:30
Neil Lalonde
991dfadad7 FIX: CategoryTagStat queries need to exclude PMs with tags 2018-02-15 12:13:42 -05:00
Arpit Jalan
f07b1a5c05 FIX: activate user even if email token is already confirmed 2018-02-14 20:44:48 +05:30
Sam
f028ffaf29 SECURITY: correct local onebox category checks
Also removes ugly "source_topic_id" from cooked posts

Patch was authored by @zogstrip

Signed-off-by: Sam <sam.saffron@gmail.com>
2018-02-14 10:40:46 +11:00
Gerhard Schlager
5a56746610 FIX: Embedded topic was not found when URL contained query string 2018-02-14 00:28:30 +01:00
Robin Ward
4c9959f795 FIX: Don't allow silenced users to reach TL3 2018-02-12 17:20:11 -05:00
Neil Lalonde
76c309fe6b PERF: a faster way to count tags used per category 2018-02-12 15:16:47 -05:00
Robin Ward
cee3337357 Don't allow users to auto-hide staff posts 2018-02-09 19:53:58 -05:00
Robin Ward
5466389f4e FIX: Consider oneboxes links wrt to min_trust_level_to_post_links 2018-02-08 18:27:40 -05:00
Gerhard Schlager
0ecdf90023 FIX: Validations could prevent moving posts 2018-02-08 13:36:13 +01:00
Gerhard Schlager
8ab6689f43 FIX: Preserve original date when moving first post 2018-02-08 12:55:32 +01:00
Gerhard Schlager
890ffb1eb5 FIX: overriding _MF translations worked only for English 2018-02-07 12:47:15 +01:00
Sam Saffron
884b9d4b78 PERF: optimize performance of new topics query (home page)
This ensures the bypass is always applied to query plan
also, add frozen strings
2018-02-06 12:37:23 -05:00
Vinoth Kannan
e8559f222c FIX: After moving the posts topic timestamp should be updated with newest post 2018-02-02 19:30:52 +05:30
Neil Lalonde
ef2a7ac0f7 FIX: admin reports would sometimes return fewer than 30 days of data, causing current 30 day period counts to be too small and prev30day counts to count the wrong days 2018-02-01 15:50:51 -05:00
Joshua Rosenfeld
f85055d653 FIX: Remove activation link from account approved email (#5548) 2018-02-01 14:59:37 +01:00
Arpit Jalan
f88b8a8945 rename 'default_email_private_messages' to 'default_email_personal_messages' 2018-02-01 13:25:29 +05:30
Arpit Jalan
6be536ca50 rename 'max_private_messages_per_day' to 'max_personal_messages_per_day' 2018-02-01 13:25:29 +05:30
Arpit Jalan
25ec077eca rename 'min_private_message_{post/title}_length' to 'min_personal_message_{post/title}_length' 2018-02-01 13:25:29 +05:30
Régis Hanol
4bcf9c5bf3 FIX: only count 'human' users in group.user_count 2018-01-31 21:55:01 +01:00
Arpit Jalan
1f6adbea5c FEATURE: log private message views 2018-01-29 08:08:08 +05:30
Robin Ward
6b04967e2f FEATURE: Staff members can lock posts
Locking a post prevents it from being edited. This is useful if the user
has posted something which has been edited out, and the staff members don't
want them to be able to edit it back in again.
2018-01-26 14:01:30 -05:00
Gerhard Schlager
b784c1eda4 FIX: Remove all notifications of staged user during sign-up 2018-01-25 14:58:43 +01:00
Gerhard Schlager
d9515c37b3 FIX: Show message from discobot when staged user signs up 2018-01-25 14:58:43 +01:00
Gerhard Schlager
eb52c5469e FEATURE: Allow plugins to register a new locale 2018-01-25 14:57:41 +01:00
Sam
c42bb94362 PERF: slow down optimizing images per host 2018-01-24 08:53:17 +11:00
Sam
bfd052a317 PERF: guard so we only create one optimized image per process
This protectd sidekiq and other cases where optimized images are created on
demand so they do not dominate the machine.
2018-01-24 08:22:28 +11:00
Gerhard Schlager
dde0fcc658 FEATURE: Allow sending invites to staged users 2018-01-22 15:37:18 +01:00
Kyle Zhao
83c549bd31 FEATURE: grant badges in post admin wrench (#5498)
* FEATURE: grant badges in post admin wrench

* only grant manually grantable badges

* extract GrantBadgeController mixin
2018-01-22 14:10:53 +11:00
Rafael dos Santos Silva
70c5f6ae17
Merge pull request #5489 from discourse/fix-shared-s3-cdn
FIX: Allow shared CDN for s3 and assets
2018-01-17 16:32:11 -02:00
Sam
b7023da894 PERF: reduce queries required for post timings
- also freezes a bunch of strings
- bypass active record for an exists query
2018-01-17 15:50:41 +11:00
Sam
2d2602edf0 no need to log anything if term is blank 2018-01-17 11:02:53 +11:00
Neil Lalonde
ce79ec0127 FIX: subfolder: top referred topics report was missing subfolder in links 2018-01-15 17:28:35 -05:00
Arpit Jalan
785d063a6b
Merge pull request #5496 from techAPJ/admin-graphs
FIX: graphs should go to zero for missing dates
2018-01-15 11:10:29 +05:30
Arpit Jalan
b7ba490df7 FIX: graphs should go to zero for missing dates 2018-01-15 10:16:34 +05:30
Sam
bf68d394f4 PERF: handle debounce in redis cause SQL can be slow 2018-01-15 14:48:28 +11:00
Neil Lalonde
298ee26908 FIX: when deleting a tag, the warning modal has the wrong topic count 2018-01-12 16:35:27 -05:00
Neil Lalonde
ad58a1743b rename topic_list.tags to topic_list.top_tags 2018-01-12 16:35:27 -05:00
Neil Lalonde
6d68275ef9 don't show tag groups if they're restricted to categories you can't access 2018-01-12 14:25:42 -05:00
Neil Lalonde
2493648f9c PERF: calculate topic_counts for tags in an async job so tag queries that include counts are much faster 2018-01-12 11:03:03 -05:00
Rafael dos Santos Silva
b9a343afe7 FIX: Allow shared CDN for s3 and assets 2018-01-12 01:08:15 -02:00
Vinoth Kannan
b96ae14261 FEATURE: Display force_https warning in admin problems dashboard 2018-01-11 12:16:10 +05:30
Neil Lalonde
8f21c96ea5 FIX: don't downcase watched words on input since it can break the watched_words_regular_expressions setting 2018-01-09 16:51:59 -05:00
Guo Xiang Tan
e90187cbf7
Merge pull request #5469 from tgxworld/add_guard_to_prevent_primary_email_from_being_reassigned
FIX: Add guard to prevent a primary `UserEmail` from being reassigned.
2018-01-09 13:35:08 +08:00
Vinoth Kannan
e5affdf230 FIX: URI must be ascii only for URI.parse command 2018-01-07 02:31:35 +05:30
Sam
0081de30a5 PERF: conserve memory while rebaking posts 2018-01-05 09:54:42 +11:00
Arpit Jalan
9030d3ef63 FIX: do not create duplicate topics
https://meta.discourse.org/t/duplicate-http-https-topics-are-randomly-created/77190
2018-01-04 23:53:52 +05:30
Guo Xiang Tan
8a3bbcb19a FIX: Add guard to prevent a primary UserEmail from being reassigned. 2018-01-04 19:40:50 +08:00
Guo Xiang Tan
ad02437358 FIX: Missing post/topic created web hooks due to race condition. 2018-01-03 17:24:01 +08:00
Guo Xiang Tan
9644569a28 FIX: Wildcard webhooks could send duplicated events. 2018-01-03 17:00:44 +08:00
Gerhard Schlager
38269c416d FIX: return regular notification level for categories when not set by user 2017-12-30 20:36:58 +01:00
Arpit Jalan
6a38e4336b FIX: use different variable name for referer record 2017-12-29 23:31:53 +05:30
Sam
c30ccceade correct params 2017-12-27 13:51:16 +11:00
Sam
0c834515a9 FIX: only attempt old rebakes a maximum of 3 times 2017-12-27 12:44:41 +11:00
Gerhard Schlager
727a45185d FIX: regex should behave the same in Ruby and Postgres 2017-12-21 11:26:56 +01:00
Guo Xiang Tan
6ecf37c482 Improve URL validation to check for a valid host.
Parsing a URL with `URI` is not sufficient as the following cases
are considered valid:

URI.parse("http://https://google.com")
=> #<URI::HTTP http://https//google.com>
2017-12-21 13:50:15 +08:00
Régis Hanol
7f69362d9d FIX: external links in whisper ended up in a white page
FIX: clicking a link in a onebox wasn't properly extracting the post_id
2017-12-20 17:55:15 +01:00
Gerhard Schlager
86c86a1ddb FIX: prevent loading of invalid locales from plugins 2017-12-20 12:14:39 +01:00
Philipp Daniels
6a2bce1931 FIX: Data loss on update of single user_field.
https://meta.discourse.org/t/api-data-loss-caused-by-changed-behaviour-of-custom-user-field-update/74990
2017-12-20 16:33:23 +08:00
Sam
7aa56fc9d9 refinement and test for batch mode on feature_topics 2017-12-20 13:58:05 +11:00
Neil Lalonde
f5a3be750c PERF: add option to limit how many categories are processed in one call to CategoryFeaturedTopic.feature_topics (#5446) 2017-12-20 13:42:29 +11:00
Arpit Jalan
eab66065d1 FEATURE: search log term details page (#5445) 2017-12-20 13:41:31 +11:00
Régis Hanol
24e89b6b38 FIX: validates 'ThemeField' name when used in a SCSS variable 2017-12-19 16:10:44 +01:00
Guo Xiang Tan
30ddc1f222 Don't swallow errors when failing to create message for post action. 2017-12-19 10:58:26 +08:00
Guo Xiang Tan
b39d3a863d FIX: moderators group wasn't being updated to be messagable by everyone.
https://meta.discourse.org/t/custom-flag-not-showing-text/76244
2017-12-19 10:14:56 +08:00
Sam
1abc276451 FIX: properly omit inactive and silenced users from directory 2017-12-19 12:53:59 +11:00
Régis Hanol
b91f83eb7d Ignore auto-quote/reply when counting replies 2017-12-15 00:38:14 +01:00
Sam
f18dda2adc FEATURE: full rebake of all old posts
This limits to 100 post per 15 minutes, so it will take a while.

This will pick up CommonMark and a large amount of onebox fixes.
2017-12-15 10:28:25 +11:00
Régis Hanol
092c976d7c FIX: prevent 💥 when selecting replies to posts quoting themselves 2017-12-15 00:23:51 +01:00
Robin Ward
4fcf9ece3a Allow plugins to customize the columns returned by user_actions
This is useful if they have a different mechanism for rendering an
avatar and want to include custom columns via the `custom_avatar_column`
plugin function.
2017-12-14 16:52:54 -05:00
Guo Xiang Tan
f2565f6c7e SECURITY: Any group can be invited into a PM. 2017-12-14 14:57:48 +08:00
Régis Hanol
5db3d39b05 FIX: Post.reply_ids should also handle quotes 2017-12-14 00:43:48 +01:00
Maja Komel
0f4ed2e070 display language name in user locale selector - make it consistent with admin (#5424) 2017-12-14 08:17:36 +11:00
Régis Hanol
1b4483c942 FEATURE: Added 'select +below' and 'select +all replies' options to selecting posts 2017-12-13 22:12:06 +01:00
Neil Lalonde
712c9fca1b sorry rubocop 2017-12-13 15:47:42 -05:00
Neil Lalonde
3f1d6a302e FIX: links with query params to external sites fail to load if ga universal auto link domains is used 2017-12-13 13:58:44 -05:00
Guo Xiang Tan
d5293aeae2 Clean Topic#slug when SiteSetting.slug_generation_method changes.
https://meta.discourse.org/t/removing-the-concept-of-slugs-for-some-languages/26643/24?u=tgxworld
2017-12-13 16:11:07 +08:00
Gerhard Schlager
a7c1b0c81f FIX: path whitelist for embedded comments didn't work with non-ASCII chars 2017-12-12 20:17:46 +01:00
Gerhard Schlager
e30851e45a Move escape_uri method to a more suitable place 2017-12-12 20:17:46 +01:00
Régis Hanol
af3c153687 make robocop 🤖 happy 2017-12-12 11:33:35 +01:00
Régis Hanol
62a5b174e1 FIX: wasn't able to use the same username when taking over a staged account 2017-12-12 11:26:00 +01:00
Guo Xiang Tan
4bd5acec47 FIX: Topic#featured_link may contain more than a URL. 2017-12-11 16:36:19 +08:00
Arpit Jalan
3c56c9b637 FIX: strip webhook payload_url 2017-12-11 13:48:11 +05:30
Robin Ward
74b9828731 FIX: Remove mentions filters from user and groups
Additionally return no data if disabled
2017-12-07 16:29:02 -05:00
Robin Ward
4ae1bbaeba FIX: Only show the full suspension reason on the admin side 2017-12-07 13:27:02 -05:00
Joffrey JAFFEUX
f0ef307d2d
FIX: topic timer offset applied two times
timezone offset was calculated and sent from browser to server, it would be applied on utc time generated from '2013-11-22 5:00' format for example and then sent back to browser which would display it thinking it's UTC time using `moment(utc time)` when it's in fact an UTC time we have offseted with the initial user timezone.

This is impossible to automatically test in the current app state. Easiest reproduction is in live browser after setting your timezone to `America/New_York`, when setting a topic timer to later_today, after save, the time under the topic should be off to something roughly equal +1/-1  hour to your timezone offset.
2017-12-07 14:42:58 +01:00
Arpit Jalan
daeb7694bc update annotations 2017-12-05 21:03:20 +05:30
Guo Xiang Tan
e73fbfe265 FIX: Topic#featured_link_root_domain extracts URL before parsing. 2017-12-04 10:00:07 +08:00
Arpit Jalan
496cd3b4df
Merge pull request #5385 from techAPJ/search-logs-improvements
FEATURE: support search click through tracking for user, category and tags
2017-12-01 12:08:38 +05:30
Arpit Jalan
e3925278e2 FEATURE: support search click through tracking for user, category and tags
https://meta.discourse.org/t/search-logs-page/73281/11?u=techapj

This commit adds following features:

- support for tracking click through to user, tag and category
- new filter for search type (header, full page)

This commit also removes "most viewed topic" field from search logs page because we are now tracking multiple click through entities, so topic is not a special entity anymore. This also improves query perf. The query now takes `20.5ms` to runs, as opposed to `655.9ms` previously.
2017-12-01 12:04:55 +05:30
Vinoth Kannan
7f2eeaf767 FIX: Password required flag should be cleared whenever clearing the raw password (#5384) 2017-12-01 15:19:24 +11:00
Vinoth Kannan
1ee48966ca REVERT: FIX: Password required flag should be cleared whenever clearing the raw password 2017-11-30 16:17:14 +05:30
Vinoth Kannan
1776649b4d FIX: Password required flag should be cleared whenever clearing the raw password 2017-11-30 13:40:18 +05:30
Guo Xiang Tan
853b51b519 Add uniqueness validation for SingleSignOnRecord#external_id. 2017-11-30 15:15:52 +08:00
Guo Xiang Tan
1c2d1682ae
Merge pull request #5328 from tgxworld/reenable_interpolation_keys_check
FIX: Re-enable invalid interpolation keys check and allow default key…
2017-11-30 13:04:54 +08:00
Guo Xiang Tan
9fbe1436b6 UX: Replace heuristic solution root domain extraction for topic featured link. 2017-11-29 21:52:41 +08:00
Guo Xiang Tan
bb0b7b61d7 FIX: Don't fail silently when updating a record. 2017-11-29 08:01:13 +08:00
Robin Ward
23ee3047bf FIX: Future date input selector was not respecting timezone 2017-11-28 13:44:24 -05:00
Robin Ward
77f90876d3 REFACTOR: Track manual locked user levels separately from groups 2017-11-27 11:23:44 -05:00
Guo Xiang Tan
5805979e88 FIX: Re-enable invalid interpolation keys check and allow default keys to be left out of translation overrides.
https://meta.discourse.org/t/bulk-invite-from-file-resets-the-invite-forum-mailer-customized-text/67606/16
2017-11-27 11:00:08 +08:00
Gerhard Schlager
b3094e9954 FIX: incoming and outgoing emails got lost when post was moved 2017-11-24 11:45:36 +01:00
Arpit Jalan
406ad1a1f2
Merge pull request #5357 from techAPJ/invite-trust-level
FIX: invited users were not granted trust level based on their group
2017-11-23 23:42:20 +05:30
Robin Ward
ad07e6e172 FEATURE: group_removes_trust_level setting
By default in Discourse, if a group grants a user a particular trust
level that is locked even if they are removed from the group.

With this new setting, when a user is removed from a group their
trust level is set to either the next highest trust level based on group
membership, or they are unlocked and promoted based on the default
mechanisms.
2017-11-23 13:03:24 -05:00
Arpit Jalan
3508046e33 FIX: invited users were not granted trust level based on their group
https://meta.discourse.org/t/bulk-invites-and-trust-level/73535

If the user enters password when accepting invite they were not granted
trust level based on their group privileges. It was because `password_required` was set to true when creating user record and when the user was updated again when granting trust level the password validation was raising error saying that the password is empty. This commit fetches fresh user record after the user is created so that the user record can be updated successfully.
2017-11-23 22:19:28 +05:30
Gerhard Schlager
39810e4425 FIX: do not move small post actions 2017-11-23 17:25:53 +01:00
Neil Lalonde
6c86e0c94a FEATURE: remove the featured link by editing the topic 2017-11-22 14:53:35 -05:00
Guo Xiang Tan
f7642e076d REFACTOR: Avoid duplicated logic on server and client. 2017-11-21 17:10:04 +08:00
Régis Hanol
2d48caffdf FIX: be more lenient when deleting a custom emoji 2017-11-20 23:50:23 +01:00
Sam
7e841a0495 FIX: stop counting PMs, deleted topics and whispers in directory and user stats 2017-11-20 16:44:09 +11:00
Gerhard Schlager
92a831bae6 FEATURE: user directory returns staged users during search 2017-11-19 01:17:31 +01:00
Neil Lalonde
6dda87c49b FEATURE: show topics viewed on user summary 2017-11-17 17:53:30 -05:00
Neil Lalonde
87ec11e298 FIX: more accurate counting of posts read. Skipping to the end of a topic does not count all posts as read in user stats. 2017-11-17 16:08:46 -05:00
Gerhard Schlager
8f6d35aa59 FEATURE: category setting for mailinglist mirror 2017-11-17 15:29:14 +01:00
Neil Lalonde
b37e40eea9 FEATURE: show read time in last 60 days 2017-11-16 15:46:51 -05:00
Régis Hanol
678e28794a FIX: properly handle too large & broken images in posts 2017-11-16 15:45:07 +01:00
Sam
174ab2d93a minor, ensure ordering of custom fields is consistent 2017-11-16 15:14:10 +11:00
Sam
20fbf81505 FEATURE: Allow plugins to easily add defaults to GlobalSetting
usage:

GlobalSetting.add_default("plugin_setting_name", "value")
2017-11-16 08:39:29 +11:00
Gerhard Schlager
9207dee69a FEATURE: escape HTML when cooking plaintext emails 2017-11-15 20:22:11 +01:00
Robin Ward
9e03b5c69a FIX: Don't load other locales in test mode 2017-11-15 12:50:20 -05:00
Robin Ward
fc73de9578 Support for finding new locales in plugins 2017-11-15 11:20:04 -05:00
Vinoth Kannan
cbc0afb399 REFACTOR: Instance methods added to 'PluginStore' model for easy access (#5315) 2017-11-15 10:10:20 -05:00
Arpit Jalan
2e7c61681e PERF: n+1 query when fetching search_logs 2017-11-15 16:23:57 +05:30
Vinoth Kanan
9ed16343fc Remove email column from schema information 2017-11-15 15:45:19 +05:30
Arpit Jalan
ee1f68438e UX: sort search logs results by unique searches 2017-11-15 12:58:40 +05:30
Arpit Jalan
3831663fea FEATURE: search logs page (#5313) 2017-11-15 11:13:50 +11:00
Robin Ward
971e302ff2 FEATURE: Support an end date for user silencing 2017-11-14 13:20:19 -05:00
Gerhard Schlager
4be8f17e66 FIX: counting invites didn't work
PostgreSQL reported the following error:
"for SELECT DISTINCT, ORDER BY expressions must appear in select list"
2017-11-14 11:40:07 +01:00
Sam
075a458489 FIX: child theme component vars not resolved in parent 2017-11-14 15:22:59 +11:00
Gerhard Schlager
d3baae5365 removes whitespaces and uses scope 2017-11-13 15:23:24 +01:00
Robin Ward
1f14350220 Rename "Blocked" to "Silenced" 2017-11-10 14:10:27 -05:00
Neil Lalonde
ec3d800492 add option to force DirectoryItem.refresh_period! to run even if user directory is disabled 2017-11-10 12:30:22 -05:00
Neil Lalonde
16ff2a4715 FIX: topic counts after converting topic to/from public and private 2017-11-09 15:33:44 -05:00
Michael Howell
38b8d68c68 FEATURE: Allow the user to select a custom home page (#5268)
* Add user_home configuration option

* Use the new user_home preference to actually show the right home page

* Fix trailing whitespace

* Update user_option_serializer.rb

* Fix JavaScript default homepage tests

* Use an object instead of a giant switch

* Remove trailing whitespace

* Make the default `user_home` set to `null` instead of `0`

* Rename user_home to homepage_id
2017-11-10 06:45:19 +11:00
Arpit Jalan
b21d5d3633 FIX: SSO email match should be case insensitive 2017-11-08 20:37:41 +05:30
Guo Xiang Tan
6090994cdf FEATURE: Retain the latest 30 days of WebHookEvent records by default. 2017-11-08 14:11:01 +08:00
Guo Xiang Tan
9abeaa4719 Revert "Validates presence of UserEmail#user_id in AR."
This reverts commit 0dec3269d8.
2017-11-08 11:54:18 +08:00
Guo Xiang Tan
0dec3269d8 Validates presence of UserEmail#user_id in AR. 2017-11-08 11:43:41 +08:00
Guo Xiang Tan
4bb454d889 FIX: JSON custom fields incorrectly being converted to an array.
https://meta.discourse.org/t/custom-fields-simultaneous-save-with-json-becomes-an-array/73647
2017-11-08 11:17:37 +08:00
Guo Xiang Tan
9355f92f78 Add more verbose SSO logging. 2017-11-07 19:38:36 +08:00
Guo Xiang Tan
95c891cf11 Raise error if sso record fails to create. 2017-11-07 18:38:38 +08:00
Guo Xiang Tan
b3237d37f0 Drop unused email column from users table. 2017-11-07 10:12:33 +08:00
Guo Xiang Tan
d320f4840d FIX: Unable to invite groups that are not public visible into pms.
https://meta.discourse.org/t/inviting-groups-broken-in-head/73346/6
2017-11-03 21:40:33 +08:00
Neil Lalonde
c7d7cb940c FIX: dashboard posts report was including posts in daily data, but not in totals 2017-11-02 18:46:28 -04:00
Neil Lalonde
24af9b7d97 FIX: when a topic is deleted, update the post count stats of all user who replied 2017-11-02 18:05:23 -04:00
Guo Xiang Tan
edf4af608e FIX: Better match when searching for groups. 2017-11-02 10:20:14 +08:00
Robin Ward
076df104dc FEATURE: Support filtering of groups page by category if in url 2017-10-31 17:50:06 -04:00
Neil Lalonde
d753adab84 FIX: badge description links broken on subfolder 2017-10-31 15:18:52 -04:00
Robin Ward
e02ad4249e FIX: In case that category is nil it should not throw an error 2017-10-30 11:59:13 -04:00
Robin Ward
00bc79439a FIX: Couldn't disagree with "notify moderator" flags 2017-10-30 10:52:00 -04:00
Sam
fab3e25101 FIX: badge selector showing up for anon 2017-10-30 16:21:31 +11:00
Robin Ward
530624d438 FIX: Couldn't agree with a custom flag type 2017-10-26 14:41:11 -04:00
Guo Xiang Tan
f1615c2148 Merge pull request #5263 from tgxworld/improve_pattern
REFACTOR: Always validate email by default.
2017-10-26 14:34:09 +08:00
Guo Xiang Tan
defea6245c REFACTOR: Always validate email by default. 2017-10-25 13:48:34 +08:00
Sam
0d816302e2 Explicitly avoid all readonly protection and scoping 2017-10-25 13:31:44 +11:00
Sam
877b7be579 FIX: in readonly mode don't double count pages 2017-10-25 13:19:43 +11:00
Guo Xiang Tan
19f3b81161 Revert "FIX: always trigger the ':user_updated' event"
This reverts commit 519b70ea46.

https://meta.discourse.org/t/creating-a-topic-or-a-post-sends-the-user-updated-webhook/71643
2017-10-23 11:44:22 +08:00
Robin Ward
e00d330579 FIX: Defer wasn't working on all flag types 2017-10-20 10:04:55 -04:00
Gerhard Schlager
4205c1ad2b FIX: postprocessing ignored cook method 2017-10-20 10:26:45 +02:00
Robin Ward
aad5118aa9 FIX: Post Action Type 6 is not a notify type 2017-10-19 17:13:55 -04:00
Robin Ward
7cfb8ed5c1 FIX: You can't notify a user on a flag topic 2017-10-19 14:11:31 -04:00
Robin Ward
838568cbc3 Refactor flag types for more customization 2017-10-19 13:55:23 -04:00
Gerhard Schlager
1cae875146 FIX: topic link extraction shouldn't fail when the parsed URL has no path 2017-10-19 15:26:37 +02:00
Gerhard Schlager
3cd73cdf18 FIX: fancy topic title must fit into column 2017-10-19 14:34:30 +02:00
Guo Xiang Tan
22ba70fb01 Merge pull request #5226 from tgxworld/allow_user_to_disable_private_messages
FEATURE: Allow users to disable new PMs.
2017-10-19 16:46:18 +08:00
Guo Xiang Tan
5b9ddaf972 FIX: Topic#fancy_title should not write in readonly mode. 2017-10-19 16:07:03 +08:00
Guo Xiang Tan
25c25ae423 FEATURE: Allow user to leave a PM. 2017-10-19 12:32:55 +08:00
Guo Xiang Tan
79de10b212 FEATURE: Allow users to disable new PMs.
https://meta.discourse.org/t/is-it-possible-to-disable-private-messaging-for-a-specific-user/46391
2017-10-19 12:32:55 +08:00
Guo Xiang Tan
b54eb8f53c FIX: Set PG connect_timeout to 5 seconds.
* 30 seconds is alittle too long.
2017-10-17 12:32:41 +08:00
Robin Ward
f73a3cc0d4 Don't include suspended_at or suspended_till unless suspended 2017-10-13 12:17:54 -04:00
Guo Xiang Tan
4e89d3f778 Only refresh site settings once on initialization. 2017-10-12 14:12:18 +08:00
Arpit Jalan
a2183c3f1d SECURITY: verify that inviter can invite new user to a topic 2017-10-09 15:59:41 +05:30
Sam
4ea87b5ab8 Merge branch 's3_refactor' 2017-10-09 10:27:52 +11:00
Régis Hanol
8d14d55fc5 make rubocop happy 2017-10-06 16:48:11 +02:00
Régis Hanol
3bdd8f57c1 FIX: invited staged users would sometimes not get notified of replies 2017-10-06 16:37:28 +02:00
Sam
70bb2aa426 FEATURE: allow specifying s3 config via globals
This refactors handling of s3 so it can be specified via GlobalSetting

This means that in a multisite environment you can configure s3 uploads
without actual sites knowing credentials in s3

It is a critical setting for situations where assets are mirrored to s3.
2017-10-06 16:20:01 +11:00
Guo Xiang Tan
d67f0b39ae Update annotations. 2017-10-06 11:13:01 +08:00
Guo Xiang Tan
5dc4b469be Remove unused code for Redis Sentinel. 2017-10-05 14:53:03 +08:00
Guo Xiang Tan
b0557c6692 UX: Allow users to remove a remind me topic timer. 2017-10-05 11:50:08 +08:00
Neil Lalonde
f5a2ed99b0 FIX: deleting category background images sometimes has no effect 2017-10-04 17:04:37 -04:00
Régis Hanol
e212435545 FIX: redirect to top wasn't working 2017-10-04 22:08:41 +02:00
Guo Xiang Tan
1310181664 FIX: Adding a public topic timer deletes a private topic timer. 2017-10-04 16:31:40 +08:00
Kyle Zhao
0342324b47 FEATURE: support regex in rake post:remap (#5201) 2017-10-04 11:47:53 +11:00
Robin Ward
4fbe4218c4 FIX: Header primary color was too dark in dark mode 2017-10-03 13:01:05 -04:00
Robin Ward
00b190af75 Revert "A safe way to create class variables in a multisite environment."
The approach taken by this interface was flawed. We need a better
solution.
2017-09-29 11:06:12 -04:00
Arpit Jalan
d64853dfa0 FIX: update group.has_messages field weekly 2017-09-29 08:23:07 +05:30
Guo Xiang Tan
30fa5379ce Merge pull request #5195 from henrik/patch-1
100.years.ago -> Time.at(0)
2017-09-28 15:47:06 +08:00
Sam
8ecf313a81 FIX: correctly raise errors when downloads fail
This corrects an issue where we are hitting Gravatar for 404 over and over

Also ensures file download properly reports errors
2017-09-28 16:35:43 +10:00
Sam
b80320da5e no verbose logging for failed downloads of gravatars 2017-09-28 11:32:26 +10:00
Robin Ward
3e13becf33 A safe way to create class variables in a multisite environment.
This should allow plugins to set class variables that will not
stomp on other plugins.
2017-09-27 13:00:47 -04:00
Guo Xiang Tan
367fb1c524 FIX: Onebox fails on encoded URL.
https://meta.discourse.org/t/onebox-breaks-if-theres-chinese-text-in-url/67364
2017-09-26 18:34:54 +08:00
Guo Xiang Tan
69e170efe8 Require right dependency. 2017-09-26 17:28:53 +08:00
Guo Xiang Tan
c37598ddbc Merge pull request #5200 from gschlager/embed
FIX: do not escape already escaped chars in URL
2017-09-26 09:07:57 +08:00
Robin Ward
09ed2ed749 Add Suspend User to flags page 2017-09-25 12:28:00 -04:00
Robin Ward
d7c37d9369 Add front end service for staff controls 2017-09-25 12:25:14 -04:00
Robin Ward
40eba8cd93 FEATURE: View flags grouped by topic 2017-09-25 12:25:14 -04:00
Guo Xiang Tan
88555f32cf Improve specs. 2017-09-25 13:49:00 +08:00
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
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
cpradio
20c2c66dd4 FEATURE: Add normal as a preference for topic subscription state when replying to a topic 2017-04-20 22:33:10 -04:00
Sam
aec73d4003 correct the spec again 2017-04-20 17:41:35 -04:00
Sam
dcf9459b7c staff should track 2017-04-20 17:32:05 -04:00
Sam
5365973c0a FIX: detection of error changed, so you can clear errors 2017-04-20 16:55:18 -04:00
Sam
7a9eee1b71 FEATURE: default notification level for group messages
also fixes it so staff can amend other user's group notification level
2017-04-20 15:47:35 -04:00
Guo Xiang Tan
2af1b9e93c Add time out when optimizing images. 2017-04-20 15:21:43 +08:00
Sam
7eabb90b71 FEATURE: added error messages for bad theme CSS / JS 2017-04-19 16:46:46 -04:00
Arpit Jalan
5fa5c18a48 use notification_levels methods for specifying normal notification level 2017-04-19 16:17:24 +05:30
cpradio
2dccaff25d FIX: Correct behavior of auto-notification state updating to exclude when the topic already has a state of normal/muted 2017-04-19 06:29:35 -04:00
Sam
0a67d859d5 correct watcher so it handles color scheme changes correctly 2017-04-18 16:48:15 -04:00
Arpit Jalan
1c23aedccf FIX: always send password reset email when accepting invite if password is not set 2017-04-18 14:37:06 +05:30
Guo Xiang Tan
60f1169077 REFACTOR: Reduce repetition in code. 2017-04-18 17:03:49 +08:00
Arpit Jalan
8dea70d354 Revert "FIX: User website allows new TLDs" 2017-04-18 13:18:51 +05:30
Rafael dos Santos Silva
4289dbe3e5 FIX: User website allows new TLDs 2017-04-18 00:30:37 -03:00
Sam
3ccd5eacb4 prefer multiline \A \z 2017-04-17 16:57:37 -04:00
Sam
86904e9cd6 FIX: better error handling for theme import 2017-04-17 16:55:53 -04:00
Sam
5e3a0846f7 FEATURE: allow themes to share color schemes 2017-04-17 15:56:24 -04:00
jloh
5f47603b07
FIX: increase host_must_be_valid regex for .technology TLD
.technology is 11 chars long and wasn't being matched previously
2017-04-15 21:06:51 +10:00
Arpit Jalan
0954367bf4 FIX: send activation email when accepting invite if password is set 2017-04-15 14:59:50 +05:30
Guo Xiang Tan
04016f0dec Support Ruby 2.4. 2017-04-15 12:29:00 +08:00
cpradio
4dc4c5bebc FIX: Update auto_notification to also update the subscription state when replying if the current state is less than the state being requested 2017-04-14 15:44:42 -04:00
Sam
def7348777 FIX: display custom sections with default theme
also cleans up mechanism for previewing themes, cleans up naming,
gets rid of old janky "preview_style", secures local theme key
2017-04-14 13:35:12 -04:00
Sam
809fbb25ce FIX: blanking theme field was not properly removing it 2017-04-13 17:24:15 -04:00
Guo Xiang Tan
3d76fb9c2c FIX: Don't show category options for reports that can't be scoped to a category. 2017-04-13 17:10:55 +08:00
Guo Xiang Tan
bda20cc44a FIX: Don't enqueue topic status update job if topic is deleted. 2017-04-13 12:02:35 +08:00
Guo Xiang Tan
72c16967e6 FIX: Check for reserved usernames before hitting DB. 2017-04-13 11:32:20 +08:00
Guo Xiang Tan
57788200ec REFACTOR: Add User.reserved_username?. 2017-04-13 10:44:26 +08:00
Neil Lalonde
8395569b05 FIX: Topic.similar_to error when Search is not loaded 2017-04-12 14:48:30 -04:00
Sam
a7ed8a0310 correct theme importer to support embedded.scss 2017-04-12 11:30:16 -04:00
Sam
a3e8c3cd7b FEATURE: Native theme support
This feature introduces the concept of themes. Themes are an evolution
of site customizations.

Themes introduce two very big conceptual changes:

- A theme may include other "child themes", children can include grand
children and so on.

- A theme may specify a color scheme

The change does away with the idea of "enabled" color schemes.

It also adds a bunch of big niceties like

- You can source a theme from a git repo

- History for themes is much improved

- You can only have a single enabled theme. Themes can be selected by
    users, if you opt for it.

On a technical level this change comes with a whole bunch of goodies

- All CSS is now compiled using a custom pipeline that uses libsass
    see /lib/stylesheet

- There is a single pipeline for css compilation (in the past we used
    one for customizations and another one for the rest of the app

- The stylesheet pipeline is now divorced of sprockets, there is no
   reliance on sprockets for CSS bundling

- CSS is generated with source maps everywhere (including themes) this
    makes debugging much easier

- Our "live reloader" is smarter and avoid a flash of unstyled content
   we run a file watcher in "puma" in dev so you no longer need to run
   rake autospec to watch for CSS changes
2017-04-12 10:53:49 -04:00
Dean Taylor
1a9afa976d FEATURE: Add AWS S3 EU (London) "eu-west-2" region 2017-04-12 10:38:17 -04:00
Guo Xiang Tan
7cb389a235 Add DiscourseEvent trigger when user's topic notification level changes. 2017-04-12 11:56:50 +08:00
Guo Xiang Tan
66a7b0c30b FIX: Add web hook DiscourseEvents in initializer. 2017-04-12 11:55:49 +08:00
Arpit Jalan
8fb41bf5fb FIX: update timestamp when resending invite 2017-04-11 20:02:32 +05:30
Guo Xiang Tan
73180c8a19 FIX: Private message can be set to publish in the future. 2017-04-11 20:44:25 +08:00
Guo Xiang Tan
fad04aad6c Missing association. 2017-04-07 17:05:58 +08:00
Guo Xiang Tan
ae1d6e7421 Fix incorrect method usage. 2017-04-07 15:52:08 +08:00
Guo Xiang Tan
71501feaf3 Improve validation for TopicStatusUpdate. 2017-04-07 15:32:00 +08:00
Guo Xiang Tan
0d67b507dc Merge pull request #4788 from davidtaylorhq/user_seen_event
Add a user_seen DiscourseEvent for plugins to hook into
2017-04-06 12:32:16 +08:00
David Rodríguez
934bff43d9 FIX: Copy post actions when moving a topic. 2017-04-06 12:16:22 +08:00