Arpit Jalan
146f634c8f
FIX: UTF-8 encode feed response body
2018-05-16 12:59:23 +05:30
Sam
6332d5040d
UX: switch dashboard to be the new dashboard
...
Also:
- add pageviews
- add problems and version sections
2018-05-14 13:07:59 +10:00
Sam
bc9e0d46af
PERF: use cached reports for dashboard if available
2018-05-14 12:01:44 +10:00
Arpit Jalan
91bf10bd12
FIX: create upload record for exported csv files
2018-04-20 00:27:49 +05:30
Joffrey JAFFEUX
0e414d0890
dashboard next: trending search report
...
This commit also improves how data is loaded sync and async
2018-04-19 18:19:21 +02:00
Joffrey JAFFEUX
01c061d20d
dashboard next: perf and UI tweaks
...
* cache CORE reports
* adds backups/uploads section
* few css tweaks
2018-04-18 21:30:41 +02:00
Guo Xiang Tan
7bf9650e96
Remove comment that is no longer accurate.
2018-04-18 14:22:18 +08:00
Neil Lalonde
ced7e9a691
FEATURE: control which web crawlers can access using a whitelist or blacklist
2018-03-22 15:41:02 -04: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
Sam
d8b4627fc8
we have to define this for tests to pass
2018-02-15 13:30:34 +11:00
Sam
b5b866aab3
oops
2018-02-15 13:13:31 +11:00
Sam
c89b42c488
PERF: only require the rss library if used
...
Before:
Total allocated: 257909321 bytes (2514134 objects)
Total retained: 39681579 bytes (343387 objects)
allocated memory by gem
-----------------------------------
42875979 rss
retained memory by gem
-----------------------------------
2080188 rss
retained objects by gem
-----------------------------------
13052 rss
After:
Total allocated: 210562047 bytes (2252030 objects)
Total retained: 37433816 bytes (328635 objects)
----
So, 2 less megabytes on boot and 13000 objects stuck in ruby heaps forever.
2018-02-15 13:11:33 +11:00
Régis Hanol
7d501058d7
FIX: don't grant new user of the month badge to suspended users or based on deleted topics/posts
2018-02-13 17:32:38 +01:00
Neil Lalonde
76c309fe6b
PERF: a faster way to count tags used per category
2018-02-12 15:16:47 -05:00
Neil Lalonde
d7e90edeb5
PERF: Tl3Promotions job can limit the number of TL3 candidates by using some simple requirements in the query
2018-02-05 17:54:36 -05:00
Régis Hanol
130974d58d
FIX: automatically unsilence users
2018-02-05 17:45:47 +01:00
Régis Hanol
77ac14d475
prevent users with a tiny number of posts to dominate the 'new user of the month' leaderboard
2018-01-29 12:09:17 +01: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
Robin Ward
69a90f31fb
FEATURE: Allow Forums to disable the Backups feature
2017-12-21 15:22:04 -05: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
scossar
11050e5d10
Don't override count value that has been set by query.count
2017-12-13 18:48:46 -08:00
Kyle Zhao
5f318a5241
FEATURE: Replace SimpleRSS with Ruby RSS module ( #5311 )
...
* SPEC: PollFeedJob parsing atom feed
* add FeedItemAccessor
It is to provide a consistent interface to access a feed item's tag
content.
* add FeedElementInstaller
to install non-standard and non-namespaced feed elements
* FEATURE: replace SimpleRSS with Ruby RSS module
* get FinalDestination and download with Excon
* support namespaced element with FeedElementInstaller
2017-12-06 10:45:09 +11:00
Robin Ward
77f90876d3
REFACTOR: Track manual locked user levels separately from groups
2017-11-27 11:23:44 -05:00
Régis Hanol
4addc5e329
Add missing contexts when destroying users
2017-11-22 15:43:54 +01:00
Régis Hanol
c4d0eb802e
FIX: delete upload records when sha is null
2017-11-21 10:20:42 +01:00
Régis Hanol
2d48caffdf
FIX: be more lenient when deleting a custom emoji
2017-11-20 23:50:23 +01:00
Robin Ward
971e302ff2
FEATURE: Support an end date for user silencing
2017-11-14 13:20:19 -05:00
Régis Hanol
ba2209f7d7
FIX: always clean up uploads with no sha1
2017-11-14 10:56:10 +01:00
Régis Hanol
7370adeae3
FIX: don't delete uploads referenced in drafts or queued posts when using the short_url
2017-11-13 15:01:31 +01:00
Robin Ward
1f14350220
Rename "Blocked" to "Silenced"
2017-11-10 14:10:27 -05:00
Guo Xiang Tan
6def5a344a
Let's be more aggressive with purging old WebHookEvent records.
2017-11-08 14:15:34 +08:00
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
0abc5f90cd
FIX: Broken link in new user of the month post.
2017-10-30 13:11:29 +08:00
Guo Xiang Tan
d5e369d6cf
Fix weird Rubocop error.
2017-10-23 12:30:28 +08:00
Sam
4ea87b5ab8
Merge branch 's3_refactor'
2017-10-09 10:27:52 +11: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
4ba5e678d8
Require dependencies to enable live reload in dev for Sidekiq.
2017-10-06 11:39:00 +08:00
Kyle Zhao
ac666ddf17
PollFeed: check 'content:encoded' for content first
2017-10-02 01:16:11 -04:00
Guo Xiang Tan
d79fee9ff3
Fix undefined method for Nil class error.
2017-09-28 17:38:53 +08:00
Robin Ward
fa41913ba5
FIX: Don't count private content in New User of the Month
2017-09-27 15:03:24 -04:00
Robin Ward
d1ebc62065
The ability to display errors on flagging actions.
2017-09-25 12:28:01 -04:00
Robin Ward
677b016387
Send a suspension message via email to a user
2017-09-25 12:26:41 -04:00
Neil Lalonde
16fe7aa307
FEATURE: automatically handle flags and posts that have been waiting in a queue for a long time. Flags will be deferred. Posts waiting for approval will be rejected. Control how old the records need to be with the auto_handle_queued_age site setting.
2017-09-14 12:01:06 -04:00
Neil Lalonde
beea5cac48
FIX: send the queued posts reminder as a message to moderators instead of an email to the contact_email
2017-09-12 18:00:51 -04:00
Neil Lalonde
2c56f8df7c
FEATURE: show tags in search results
2017-08-25 11:52:59 -04:00
Sam Saffron
56f7b4e01e
PERF: reindex search data without loading large post counts
2017-08-16 08:18:59 -04:00
Erick Guan
6e59149a77
FIX: rebuild index when engine replaced ( #5021 )
2017-08-16 07:38:34 -04:00
Leo McArdle
836dee1120
FIX: add additional email to tests and clean up resulting mess
2017-07-31 22:27:29 +00:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Robin Ward
6b6ad9391b
Clean up job for search logs
2017-07-14 14:30:58 -04:00
Guo Xiang Tan
1ab60d83df
PERF: Terminate scheduled job earlier if badge is not enabled.
2017-06-26 10:13:58 +09:00
Guo Xiang Tan
6cc174ca82
PERF: Fetch users in batches in grant anniversary badge job.
2017-06-23 16:54:35 +09:00
Robin Ward
d92c938491
FIX: Don't raise an error cleaning up uploads if a path is nil
2017-06-08 14:31:58 -04:00
Régis Hanol
e8f0771dc9
FIX: the 'clean_up_uploads' jobs would delete images used in site settings
...
when they were entered using absolute URLs, with the CDN or simple a different format than the one used in the database
2017-06-07 22:53:15 +02:00
Sam
0aed2533ac
Revert unread optimisation, has too many edge cases
2017-05-26 09:04:13 -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
b78b010757
FIX: Fixes to grant new user of the month badge
2017-05-24 11:36:24 -04:00
Neil Lalonde
9edc490d3f
FIX: remove memoized values in jobs
2017-05-22 16:26:30 -04:00
Neil Lalonde
f350dd4fd1
FIX: possible data leaking from one site to another in multisite in PendingFlagsReminder
2017-05-22 15:18:13 -04:00
Robin Ward
bd0bb879e5
FIX: Don't count likes from system users in the new user of the month
2017-05-15 13:14:32 -04:00
Neil Lalonde
55b61e9bea
rename topic_status_update to topic_timer
2017-05-11 18:27:53 -04:00
Robin Ward
3ade46de0b
FIX: Don't send system message for new user of the month if disabled
2017-05-11 11:33:16 -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
Robin Ward
6e4ba8a33e
Catch RSS Parsing errors
2017-05-09 15:07:06 -04: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
Neil Lalonde
ca224ed8e9
FIX: pending flags message should go to moderators group, not staff
2017-05-01 14:53:16 -04: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
85d9342ff0
Merge pull request #4836 from tgxworld/fix_clean_up_staged_users_job
...
FIX: Clean up unused staged users job not completing.
2017-04-27 15:41:46 +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
daa97c40ce
FIX: Clean up unused staged users job not completing.
2017-04-26 10:51:36 +08:00
Neil Lalonde
05efa7ce68
simplify last_notified_id
2017-04-20 15:26:28 -04:00
Neil Lalonde
3835e16cf7
FIX: New implementation of the "notify about flag after" setting. Only notify about new flags since the last notification. Send a private message to staff. Mention the 3 most active moderators in the message so they get notification emails.
2017-04-19 16:17:45 -04:00
Guo Xiang Tan
5943543ec3
FIX: Improve checks for non-human users.
2017-04-06 11:29:34 +08:00
Robin Ward
ebe232da47
Weigh staff votes more for New User of the Month badges
2017-04-03 16:52:31 -04:00
Robin Ward
a13a8dc96c
FIX: Safeguard to not award NewUserOfTheMonth if it hasn't been a month
2017-04-03 13:26:51 -04:00
Robin Ward
3d64f33d40
Require at least two likes to get the "New User of the Month" badge
2017-04-03 13:03:28 -04:00
Jeff Atwood
3b64aeaf21
loosen new user of the month criteria slightly
2017-03-31 16:33:50 -07:00
Robin Ward
e4b1376146
Change New User of the Month Badge to use trust level rather than age
2017-03-31 16:56:58 -04:00
Robin Ward
a8d3779f0b
Update New User of the Month badge to require 4 posts in 2 topics
2017-03-31 16:52:00 -04:00
Robin Ward
fc7fa4c0ad
Rename "Rookie of the Month" to "New User of the Month"
2017-03-31 16:30:30 -04:00
Robin Ward
e6f6bd34d8
Send the user a notice when they've received rookie of the month
2017-03-31 15:06:31 -04:00
Robin Ward
893e93dfbe
New badge, Rookie of the Month, for two new high quality users.
2017-03-31 15:06:31 -04:00
Guo Xiang Tan
34b7bee568
FEATURE: Allow admin to auto reopen at topic.
...
* This commit also introduces a `TopicStatusUpdate`
model to support other forms of deferred topic
status update in the future.
2017-03-31 11:14:18 +08:00
Guo Xiang Tan
1a7e954e09
FIX: Store custom emojis as uploads.
...
* Depending on a hardcoded directory was a flawed design
which made it impossible to debug when custom emojis go
missing.
2017-03-14 13:07:18 +08:00
Régis Hanol
23b06d2895
FIX: should not try to send digest to users who reached the bounce threshold
2017-03-08 19:19:11 +01:00
Blake Erickson
0a41da6bad
FEATURE: Add order logic to admin users controller
...
Added order and direction parameters for sorting admin user pages. This
commit only includes backend api changes.
https://meta.discourse.org/t/make-admin-users-list-sortable-suggestion/47649
Now you can pass in `order` and `asc` parameters to the
`/admin/users/list/<query>.json` endpoint.
Example:
`/admin/users/list/active.json?&order=post_count` which defaults to desc
and
`/admin/users/list/active.json?order=post_count&asc=true`
2017-02-24 17:11:17 -07:00
Régis Hanol
f07b4b310a
should not have renamed this setting in 460665895c
2017-02-08 18:11:34 +01:00
Sam
ff49f72ad9
FEATURE: per client user tokens
...
Revamped system for managing authentication tokens.
- Every user has 1 token per client (web browser)
- Tokens are rotated every 10 minutes
New system migrates the old tokens to "legacy" tokens,
so users still remain logged on.
Also introduces weekly job to expire old auth tokens.
2017-02-07 09:22:16 -05:00
Régis Hanol
664feca199
FIX: don't send emails from muted users in mailing list mode
2016-12-12 15:28:26 +01:00
Guo Xiang Tan
9a800107cb
FIX: Associate category logo and background to uploads record.
2016-12-12 17:37:28 +08:00
Robin Ward
424fc8e2e2
FIX: Don't raise an error if the RSS endpoint is 404
2016-12-05 12:29:14 -05:00
Guo Xiang Tan
55b35a05ed
FIX: This should not have been checked in.
2016-12-05 11:49:04 +08:00
Guo Xiang Tan
22059d4df9
Add Rake task to clean up unused multisite Redis keys.
2016-12-05 11:46:34 +08:00
Andreas Motl
43fd3ebd4a
Add “pop3_polling_openssl_verify” setting to turn off TLS server certificate verification like “smtp_openssl_verify_mode”. Defaults to “true”, so it does not change current behavior.
2016-11-11 21:59:15 +01:00
Guo Xiang Tan
f03d9cad06
PERF: NOT IN
query is really inefficient for large tables.
2016-11-02 13:09:18 +08:00
Régis Hanol
52b338db62
FIX: category logo & background URLs should not use the CDN
2016-10-25 10:43:57 +02:00
Robin Ward
af83c8dc14
Upload Logos Step
2016-09-22 09:52:19 -04:00
Guo Xiang Tan
baacb30ba1
FIX: Incorrect folder.
2016-09-15 15:20:07 +08:00
Matt Palmer
394cd43d77
Scrub only after converting strings to UTF-8
...
Scrubbing an ASCII-8BIT string isn't ever going to remove anything, because
there's no code point that isn't valid 8-bit ASCII. Since we'd really
prefer it if everything were UTF-8 anyway, we'll just assume, for now, that
whatever comes out of SimpleRSS is probably UTF-8, and just nuke anything
that isn't a valid UTF-8 codepoint.
Of course, the *real* bug here is that SimpleRSS [unilaterally converts
everything to
ASCII-8BIT](https://github.com/cardmagic/simple-rss/issues/15 ). It's
presumably *far* too much to ask that it detects the encoding of the source
RSS feed and marks the parsed strings with the correct encoding...
2016-08-25 16:09:07 +10:00