HomePhabricator

Cache user notification and message counts

Description

Cache user notification and message counts

Summary:
Ref T4103. Ref T10078. This puts a user cache in front of notification and message counts.

This reduces the number of queries issued on every page by 4 (2x building the menu, 2x building Quicksand data).

Also fixes some minor issues:

  • Daemons could choke on sending mail in the user's translation.
  • No-op object updates could fail in the daemons.
  • Questionable data access pattern in the file query coming out of the profile file cache.

Test Plan:

  • Sent myself notifications. Saw count go up.
  • Cleared them by visiting objects and clearing all notifications. Saw count go down.
  • Sent myself messages. Saw count go up.
  • Cleared them by visiting threads. Saw count go down.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4103, T10078

Differential Revision: https://secure.phabricator.com/D16041