252e5574cc
FIX: Prevent ambigous column errors when joining TopicView
queries.
2018-06-29 10:33:08 +08:00
eb427f7cf4
PERF: Update TopicView#participant_count
to use Topic#posts_count
.
...
Use the counter cache instead of hitting the DB and plucking
every single id.
2018-06-27 17:18:47 +08:00
cfa7898c2d
Rename TopicView#last_read_post_id
to TopicView#filtered_post_id
.
2018-06-27 12:33:57 +08:00
cb69888758
PERF: Don't pluck all the columns just to retrieve a single value.
2018-06-27 11:41:35 +08:00
49ffc1eb61
Revert "PERF: Send down gaps as the relevant posts load instead of front loading."
...
This reverts commit 4c3352528e20e61609fc3e3c89bf1de6fde511c1.
2018-06-26 12:54:14 +08:00
4c3352528e
PERF: Send down gaps as the relevant posts load instead of front loading.
2018-06-26 12:49:06 +08:00
0b6a2e9d1f
Remove force summary mode for megatopics for now.
...
The logic is too hairy and we can't reliably determine
when to force summary mode. Work is underway to improve
perf for megatopics so this will not be required
eventually.
2018-06-26 12:49:06 +08:00
5100a62fc0
FIX: Megatopics forced into summary mode when loading posts.
2018-06-25 22:11:56 +08:00
f69356e628
FIX: Users can't "show all posts" in forced summary topics.
2018-06-22 11:32:45 +08:00
9a7a079f4d
Force summary mode when user enters at the top of megalodoon topics.
2018-06-21 15:18:52 +08:00
f7d22bad90
FEATURE: Forced summary mode for megalodon topics.
...
This is mainly done for performance reasons and megalodon
topics are usually a byproduct of imports where site setting
limits are not respected.
2018-06-21 14:00:20 +08:00
5cef4e281b
PERF: Memoize TopicView#gaps
results.
2018-06-21 12:37:24 +08:00
2d59d06916
PERF: mega_topics get no post counts per user
2018-06-21 11:09:45 +10:00
ff5fc3cb08
Use a fixed limit for mega topic posts count.
2018-06-20 16:58:52 +08:00
9c925a66ff
PERF: Don't display days ago on timeline for megatopics.
...
Analysis using `pg_stat_statements` showed this query
to be eating up a significant portion of CPU.
2018-06-20 16:25:54 +08:00
cbdab71179
PERF: stop counting participants on very large topics
...
This query gets very expensive and can be bypassed on large topics
2018-06-20 18:11:39 +10:00
5f64fd0a21
DEV: remove exec_sql and replace with mini_sql
...
Introduce new patterns for direct sql that are safe and fast.
MiniSql is not prone to memory bloat that can happen with direct PG usage.
It also has an extremely fast materializer and very a convenient API
- DB.exec(sql, *params) => runs sql returns row count
- DB.query(sql, *params) => runs sql returns usable objects (not a hash)
- DB.query_hash(sql, *params) => runs sql returns an array of hashes
- DB.query_single(sql, *params) => runs sql and returns a flat one dimensional array
- DB.build(sql) => returns a sql builder
See more at: https://github.com/discourse/mini_sql
2018-06-19 16:13:36 +10:00
81b5d61fa7
FIX: topic_destroyed
web hook couldn't find topic.
2018-05-28 17:38:02 +08:00
c5c1d8e180
Add support for the '/p/:post_id' route on the client-side
2018-03-24 02:44:39 +01:00
345b453ee1
optimize query for fetching PM created in previous hour
2018-03-12 16:40:17 +05:30
3a35f459c7
optimize last pm log fetching
2018-03-11 09:34:08 +05:30
f862122978
FIX: do not log personal message view if there exists a similar log in previous hour
2018-03-11 09:23:32 +05:30
b9a669ba32
FIX: do not log personal message view if user can't see the message
2018-02-25 22:39:25 +05:30
1f6adbea5c
FEATURE: log private message views
2018-01-29 08:08:08 +05:30
dee498a281
correct regression
2017-12-13 17:36:36 +11:00
9d925f6b26
FIX: correctly count participants when more than 24
...
Also cuts out one query for the normal case
2017-12-13 17:19:42 +11:00
44ee388070
FEATURE: omit images from og and twitter description tags
2017-11-28 21:34:02 +01:00
47e79570cc
FIX: frequent posters wasn't displaying the correct information
2017-10-02 17:47:04 +02:00
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
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
5be5def217
PERF: Bypass AR and just use raw SQL.
2017-09-25 13:48:59 +08:00
797936d2c5
FIX: don't leak whisper count in user card
2017-09-14 20:08:16 +02:00
0096ee40da
FIX: only show participants the user can see
2017-09-13 17:14:03 +02:00
58321d0783
PERF: Remove Object#present?
check introduced in e0d5d9670a
.
2017-09-07 21:36:27 +08:00
e0d5d9670a
Fix the build.
2017-09-07 18:41:44 +08:00
3e123b1a39
PERF: Use pluck
instead of enmurating through all the records.
2017-09-07 17:24:23 +08:00
75e4f7f896
Shorten some very long lines
...
Prevent warnings from already defined constants when reloading
2017-08-12 04:18:04 +02:00
ecbeaed0bc
fix weird indentation
2017-08-04 17:28:25 +02:00
c76161787c
eager load more tables for the topic_view
2017-08-04 17:23:53 +02:00
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
6ddd8d9166
FIX: when entering topics "tracking" would not be set
...
There was a timing issue when subscribing to messages for topics.
Old flow:
- We generate JSON for topic
- We subscribe to messages for topic
New flow:
- We keep track of last id in the topic message bus channel
- We generate JSON
- We subscribe to messages for topic starting at saved message id
This ensures that there is complete overlap for message consumption
and that there are no cases where an update may go missing due to timing
2017-05-16 15:04:21 -04:00
5a8bbe663a
FEATURE: include most popular tag in page title for webcrawlers of tagged uncategorized topics
2017-02-07 16:55:42 -05:00
61d4c1203e
FEATURE: group avatar flair shows on topic participants list, and participant avatars can have custom styles
2017-01-18 11:38:00 -05:00
988aca6d92
FIX: bump opengraph user avatar image to 200px
2016-11-26 23:00:18 +05:30
382803cb05
FEATURE: include post image in OpenGraph image tag
2016-10-31 15:11:33 +05:30
0229df4c73
Second review fixes
2016-09-26 20:46:55 -03:00
2a5a0bebb3
Adjusts from review
2016-09-26 20:46:55 -03:00
804019647e
Makes it possible to paginate on print page
2016-09-26 20:46:55 -03:00
9a46af59ad
FIX: TopicView were using Topic.relative_url instead of TopicView.relative_url on all methods.
2016-09-26 20:46:55 -03:00
70c68f0a7c
Open print dialog automatically
2016-09-26 20:44:50 -03:00