@@ -8,7 +8,6 @@ import type {
8
8
ClientPresence ,
9
9
UserPresence ,
10
10
PresenceStatus ,
11
- UserStatus ,
12
11
PresenceState ,
13
12
PerAccountApplicableAction ,
14
13
} from '../types' ;
@@ -163,13 +162,6 @@ export const statusFromPresence = (presence: UserPresence | void): PresenceStatu
163
162
return presence . aggregated . status ;
164
163
} ;
165
164
166
- // TODO(server-6.0): Remove; UserStatus['away'] was deprecated at FL 148.
167
- const statusFromPresenceAndUserStatus = (
168
- presence : UserPresence | void ,
169
- userStatus : UserStatus ,
170
- ) : PresenceStatus | 'unavailable' = >
171
- userStatus . away ? 'unavailable' : statusFromPresence ( presence ) ;
172
-
173
165
/**
174
166
* Get a user's overall presence status, aggregated from all their devices.
175
167
*
@@ -189,14 +181,14 @@ export const getPresenceStatusForUserId = (
189
181
if ( ! userPresence || ! userPresence . aggregated ) {
190
182
return null ;
191
183
}
192
- const userStatus = getUserStatus ( state , userId ) ;
193
184
194
- // "Invisible mode", new in FL 148, doesn't involve UserStatus['away']:
185
+ // TODO(server-6.0): Cut this; UserStatus['away'] was replaced by "invisible mode".
195
186
// https://chat.zulip.org/#narrow/stream/2-general/topic/.22unavailable.22.20status/near/1454779
196
- // TODO(server-6.0): Simplify to just statusFromPresence.
197
- return getZulipFeatureLevel ( state ) >= 148
198
- ? statusFromPresence ( userPresence )
199
- : statusFromPresenceAndUserStatus ( userPresence , userStatus ) ;
187
+ if ( getZulipFeatureLevel ( state ) < 148 && getUserStatus ( state , userId ) . away ) {
188
+ return 'unavailable' ;
189
+ }
190
+
191
+ return statusFromPresence ( userPresence ) ;
200
192
} ;
201
193
202
194
//
0 commit comments