Skip to content

Commit 0306c47

Browse files
committed
presence: Check away status first in getPresenceStatusForUserId
Not NFC, in that if the user is away but we lack presence data for them, this will switch from returning null to returning "unavailable". But I don't really have a clear preference which of those two happens, particularly as the "away status" concept is obsolete.
1 parent 72b89fb commit 0306c47

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/presence/presenceModel.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,12 @@ export const getPresenceStatusForUserId = (
172172
state: PerAccountState,
173173
userId: UserId,
174174
): PresenceStatus | 'unavailable' | null => {
175+
// TODO(server-6.0): Cut this; UserStatus['away'] was replaced by "invisible mode".
176+
// https://chat.zulip.org/#narrow/stream/2-general/topic/.22unavailable.22.20status/near/1454779
177+
if (getZulipFeatureLevel(state) < 148 && getUserStatus(state, userId).away) {
178+
return 'unavailable';
179+
}
180+
175181
const presence = getPresence(state);
176182
const user = tryGetUserForId(state, userId);
177183
if (!user) {
@@ -182,12 +188,6 @@ export const getPresenceStatusForUserId = (
182188
return null;
183189
}
184190

185-
// TODO(server-6.0): Cut this; UserStatus['away'] was replaced by "invisible mode".
186-
// https://chat.zulip.org/#narrow/stream/2-general/topic/.22unavailable.22.20status/near/1454779
187-
if (getZulipFeatureLevel(state) < 148 && getUserStatus(state, userId).away) {
188-
return 'unavailable';
189-
}
190-
191191
return statusFromPresence(userPresence);
192192
};
193193

0 commit comments

Comments
 (0)