Rapptz f8999b63ae Fix long-standing issue with user updates not dispatching properly.
This fix is long coming. For a long time due to the addition of a
global user cache, the on_member_update event would only have the
updated user in the very first dispatch due to a quirk in the reference
only being updated once.

In order to fix this issue two things had to change:

1. There had to be a new event, `on_user_update` to complement
   the equivalent member event.
2. Unnecessary copies of User had to be removed to compensate for the
   performance hit from the diffing.

While doing these two fixes I also re-evaluated some more unnecessary
copies done during the PRESENCE_UPDATE to add member case while
fetch_offline_members=False is set or due to chunking issues. The
number of copies was brought down from 2 to 1, discounting the original
Member creation. Unsure on the benefits of this one, however.

N.B: this doesn't change the pre-existing behaviour of on_member_update
2019-04-08 07:45:04 -04:00
..
2018-01-26 12:46:19 -05:00
2019-02-26 08:41:00 -05:00
2019-01-28 22:22:50 -05:00
2019-03-19 08:24:42 -04:00
2019-03-19 08:24:42 -04:00
2019-01-28 22:22:50 -05:00
2019-03-19 08:24:42 -04:00
2019-03-19 08:24:42 -04:00
2019-04-07 22:46:41 -07:00
2019-01-28 22:22:50 -05:00
2019-03-19 08:24:42 -04:00
2019-03-19 08:24:42 -04:00
2019-04-06 19:18:06 -04:00
2019-03-19 08:24:42 -04:00
2019-03-19 08:24:42 -04:00
2019-03-19 08:24:42 -04:00
2019-04-07 00:46:15 -04:00