Commit Graph

24556 Commits

Author SHA1 Message Date
Guo Xiang Tan 195982fd41 PERF: Remove N+1 query when generating posters summary. 2017-09-14 12:07:35 +08:00
Guo Xiang Tan f3fadf41b7 PERF: Avoid unnecessary expensive joins if possible.
```
EXPLAIN ANALYZE SELECT  "topics".* FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (
  topics.id IN (
    SELECT topic_id
    FROM topic_allowed_groups tg
    JOIN group_users gu ON gu.user_id = 13455 AND gu.group_id =
tg.group_id
    WHERE gu.group_id IN (47)
  )
)
AND (
  topics.id IN (
    SELECT ta.topic_id
    FROM topic_allowed_users ta
    WHERE ta.user_id IN (32852,-10)
  )
  OR
  topics.id IN (
    SELECT tg.topic_id
    FROM topic_allowed_groups tg
    WHERE tg.group_id IN (-10)
  )
)
AND (topics.id NOT IN (69933,69995,69988,69984,69968,69973,69971,69952))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 3;
```

Planning time: 1.277 ms
Execution time: 71.577 ms

```
EXPLAIN ANALYZE SELECT  "topics".* FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
LEFT JOIN (
  SELECT * FROM topic_allowed_groups _tg
  LEFT JOIN group_users gu
  ON gu.user_id = 13455
  AND gu.group_id = _tg.group_id
  AND gu.group_id IN (47)
) tg ON topics.id = tg.topic_id
LEFT JOIN topic_allowed_users ta2 ON topics.id = ta2.topic_id AND
ta2.user_id IN (32852)
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (tg.topic_id IS NOT NULL)
AND (ta2.topic_id IS NOT NULL)
AND (topics.id NOT IN (69933,69995,69988,69984,69968,69973,69971,69952))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 3;
```

Planning time: 1.191 ms
Execution time: 0.129 ms
2017-09-14 11:18:58 +08:00
Jeff Atwood 9dc5bf1d97 minor copyedits 2017-09-13 17:39:15 -07:00
Régis Hanol 7aa0d044de FIX: link to sub-categories in group activity feed wasn't working 2017-09-13 23:14:46 +02:00
Joffrey JAFFEUX 7a4ddc2bb1 FIX: makes state of select-box more resilient to model changes 2017-09-13 18:44:40 +02:00
Régis Hanol eb61ad0114 fix the build 2017-09-13 18:25:58 +02:00
Régis Hanol d9465bac13 add 'staged' column to user export 2017-09-13 18:09:11 +02:00
Robin Ward 4f9ba874a9 API so that you don't have to use a global variable for pretender 2017-09-13 11:55:58 -04:00
Régis Hanol a6fc42753c FIX: don't include last_wiki_edit when there's no revision 2017-09-13 17:46:58 +02:00
Régis Hanol 0096ee40da FIX: only show participants the user can see 2017-09-13 17:14:03 +02:00
Robin Ward e5db126a8e FIX: Small fixes to enable better testing of components 2017-09-13 10:33:36 -04:00
Guo Xiang Tan 28148197d6 PERF: Avoid `NOT IN (<subquery>>` which can get really slow.
```
EXPLAIN ANALYZE SELECT  "topics".*
FROM "topics" LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND
tu.user_id = 13455
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (
  topics.id IN (
    SELECT topic_id
    FROM topic_allowed_users
    WHERE user_id = 13455
   )
)
AND (
  topics.id IN (
    SELECT ta.topic_id
    FROM topic_allowed_users ta
    WHERE ta.user_id IN (2,1995,8307,17621,22980,-10)
  )
  OR
  topics.id IN (
    SELECT tg.topic_id
    FROM topic_allowed_groups tg
    WHERE tg.group_id IN (-10)
  )
)
AND (topics.id NOT IN (68559,60069,42145))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at
DESC LIMIT 5;
```

Planning time: 1.196 ms
Execution time: 21.176 ms

```
EXPLAIN ANALYZE SELECT  "topics".*
FROM "topics"
LEFT JOIN topic_users tu ON topics.id = tu.topic_id AND tu.user_id =
13455
LEFT JOIN topic_allowed_users ta ON topics.id = ta.topic_id AND
ta.user_id = 13455
LEFT JOIN topic_allowed_users ta2 ON topics.id = ta2.topic_id AND
ta2.user_id IN (2,1995,8307,17621,22980,-10)
LEFT JOIN topic_allowed_groups tg ON topics.id = tg.topic_id AND
tg.group_id IN (-10)
WHERE ("topics"."deleted_at" IS NULL)
AND (topics.archetype = 'private_message')
AND (ta.topic_id IS NOT NULL)
AND (ta2.topic_id IS NOT NULL OR tg.topic_id IS NOT NULL)
AND (topics.id NOT IN (68559,60069,42145))
AND "topics"."visible" = 't'
ORDER BY topics.bumped_at DESC
LIMIT 5;
```

Planning time: 1.792 ms
Execution time: 2.546 ms
2017-09-13 22:28:33 +08:00
Joffrey JAFFEUX b537bf1ba4 FIX: better alignments of categories/tags in .topic-category 2017-09-13 16:24:36 +02:00
Jeff Atwood 11cc8ff52d Merge pull request #5181 from vinothkannans/image-placeholder-styling
UX: Placeholder images color changed & tootip added
2017-09-13 02:49:34 -07:00
Vinoth Kannan 6e9671c2c3 UX: Placeholder images color changed & tootip added 2017-09-13 15:16:38 +05:30
Joffrey JAFFEUX 3713278a4b FIX: reason paragraph styling broken on mobile 2017-09-13 10:24:02 +02:00
Guo Xiang Tan 4c1fa759e5 FIX: Add missing option to apache bench. 2017-09-13 16:12:38 +08:00
Joffrey JAFFEUX 64c154d9df FIX: prevents click on select-box to close timeline-container on mobile 2017-09-13 10:00:10 +02:00
Guo Xiang Tan 26c6447161 Fix bugs in profiling scripts leading to incorrect results. 2017-09-13 15:33:59 +08:00
Guo Xiang Tan e70428ac8c FIX: Don't write `wget` response to file. 2017-09-13 14:09:23 +08:00
Neil Lalonde 7181fce71e remove unused file pending_flags_mailer.rb 2017-09-12 18:00:51 -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
Gerhard Schlager 31ecb4fecf FIX: Handle incoming emails without email address in From header (#5177) 2017-09-12 22:35:24 +02: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
Robin Ward 9b3b39d8a2 FIX: Users should be able to activate their emails even if unapproved
Note in discourse `active` means "Email is active" - they still can't
login until approved
2017-09-12 15:04:39 -04:00
Leo McArdle 104d97695d FIX: don't activate un-confirmed email on omniauth authentication (#5176) 2017-09-12 17:36:17 +02:00
Robin Ward c097fbbdff FIX: Don't append `.no-results` if there's nothing to display 2017-09-12 11:19:17 -04:00
Robin Ward bc613e1df5 Adjust nesting of search divs 2017-09-12 11:14:13 -04:00
Robin Ward 171d9e5aed SECURITY: Prevent users from updating to blacklisted email domains 2017-09-12 10:11:08 -04:00
Régis Hanol 85ef3696de UX: show date of last edit on wiki topics 2017-09-12 15:37:47 +02:00
Guo Xiang Tan 07bfe3d053 FIX: Use a distrbuted cache for site locale. 2017-09-12 19:36:17 +08:00
Guo Xiang Tan 51e1c0b6ce Revert "FIX: Move check to right serializer."
This reverts commit 793f933b6b.
2017-09-12 18:11:08 +08:00
Guo Xiang Tan 793f933b6b FIX: Move check to right serializer. 2017-09-12 17:52:13 +08:00
Guo Xiang Tan d3a409456f PERF: Bypass AR and execute SQL directly. 2017-09-12 17:52:13 +08:00
Arpit Jalan 18142d8abf new rake task to bake uncooked posts 2017-09-12 12:40:18 +05:30
Joffrey JAFFEUX c06c88b479 cleaner title attribute for select-box 2017-09-12 01:36:58 +02:00
Joffrey JAFFEUX 18114c7bdb Revert "FIX: pinned-button sometimes not shown when unpinned is null"
This reverts commit 01f0b56331.
2017-09-12 01:03:16 +02:00
Joffrey JAFFEUX b875d17e1f fix linter error 2017-09-11 23:51:42 +02:00
Neil Lalonde c12a53449c FIX: output css for category backgrounds only if uploads have a url 2017-09-11 17:10:30 -04:00
Joffrey JAFFEUX 2c284874b4 FIX: icon showing as null 2017-09-11 22:47:47 +02:00
Joffrey JAFFEUX 01f0b56331 FIX: pinned-button sometimes not shown when unpinned is null 2017-09-11 20:04:07 +02: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
Joffrey JAFFEUX e924920bec uses select-box for pinned-button
This commit also moves more logic in dropdown-select-box instead of
duplicating it for notifications-options and pinned-options
2017-09-11 19:14:22 +02:00
Régis Hanol f1639bf4f5 make eslint happy 2017-09-11 16:49:09 +02:00
Régis Hanol 5a51953c8e UX: '.visited' wasn't applied in categories view and suggested topics 2017-09-11 16:42:51 +02:00
Robin Ward 81e576ae37 FIX: Missing color on queued posts dropdown 2017-09-11 09:47:16 -04:00
Joffrey JAFFEUX 2708243584 FIX: makes sure the select-box doesn’t go over header 2017-09-11 11:23:46 +02:00
Joffrey JAFFEUX b2dcb51e48 adds missing spacing around links in reason text 2017-09-11 10:42:53 +02:00
Joffrey JAFFEUX 7f9220a2cd minor select-box fixes
- select row when using tab
- makes sure tab order is correct
- highlight first row when filtering
2017-09-11 00:38:32 +02:00