Page MenuHomePhabricator

D11333.diff
No OneTemporary

D11333.diff

diff --git a/keyserver/src/push/send.js b/keyserver/src/push/send.js
--- a/keyserver/src/push/send.js
+++ b/keyserver/src/push/send.js
@@ -23,7 +23,7 @@
import { notifTextsForMessageInfo } from 'lib/shared/notif-utils.js';
import {
rawThreadInfoFromServerThreadInfo,
- threadInfoFromRawThreadInfo,
+ serverThreadInfoFromRawThreadInfo,
} from 'lib/shared/thread-utils.js';
import { hasMinCodeVersion } from 'lib/shared/version-utils.js';
import type { Platform, PlatformDetails } from 'lib/types/device-types.js';
@@ -144,7 +144,11 @@
'rawThreadInfo from rawThreadInfoFromServerThreadInfo must be ' +
'minimallyEncoded when minimallyEncodePermissions option is set',
);
- return threadInfoFromRawThreadInfo(rawThreadInfo, userID, userInfos);
+ return serverThreadInfoFromRawThreadInfo(
+ rawThreadInfo,
+ userID,
+ userInfos,
+ );
}),
_pickBy(threadInfo => threadInfo),
)(serverThreadInfos);
diff --git a/lib/selectors/thread-selectors.js b/lib/selectors/thread-selectors.js
--- a/lib/selectors/thread-selectors.js
+++ b/lib/selectors/thread-selectors.js
@@ -30,7 +30,7 @@
threadInHomeChatList,
threadInBackgroundChatList,
threadInFilterList,
- threadInfoFromRawThreadInfo,
+ serverThreadInfoFromRawThreadInfo,
threadHasPermission,
threadInChatList,
threadHasAdminRole,
@@ -70,7 +70,7 @@
(state: BaseAppState<>) => state.threadStore.threadInfos,
(state: BaseAppState<>) => state.currentUserInfo && state.currentUserInfo.id,
(state: BaseAppState<>) => state.userStore.userInfos,
- threadInfoFromRawThreadInfo,
+ serverThreadInfoFromRawThreadInfo,
);
const communityThreadSelector: (
diff --git a/lib/shared/thread-utils.js b/lib/shared/thread-utils.js
--- a/lib/shared/thread-utils.js
+++ b/lib/shared/thread-utils.js
@@ -421,7 +421,7 @@
userInfos[id] = { id, username };
}
- return threadInfoFromRawThreadInfo(rawThreadInfo, viewerID, userInfos);
+ return serverThreadInfoFromRawThreadInfo(rawThreadInfo, viewerID, userInfos);
}
type PendingPersonalThread = {
@@ -942,7 +942,7 @@
};
}
-function threadInfoFromRawThreadInfo(
+function serverThreadInfoFromRawThreadInfo(
rawThreadInfo: RawThreadInfo,
viewerID: ?string,
userInfos: UserInfos,
@@ -961,6 +961,26 @@
);
}
+function clientThreadInfoFromRawThreadInfo(
+ rawThreadInfo: RawThreadInfo,
+ communityThread: ?RawThreadInfo,
+ viewerID: ?string,
+ userInfos: UserInfos,
+): ThreadInfo {
+ const currentUser = getMinimallyEncodedCurrentUser(
+ rawThreadInfo,
+ communityThread,
+ viewerID,
+ userInfos,
+ );
+ return baseThreadInfoFromRawThreadInfo(
+ rawThreadInfo,
+ viewerID,
+ userInfos,
+ currentUser,
+ );
+}
+
function baseThreadInfoFromRawThreadInfo(
rawThreadInfo: RawThreadInfo,
viewerID: ?string,
@@ -1928,7 +1948,8 @@
threadFrozenDueToViewerBlock,
rawThreadInfoFromServerThreadInfo,
threadUIName,
- threadInfoFromRawThreadInfo,
+ serverThreadInfoFromRawThreadInfo,
+ clientThreadInfoFromRawThreadInfo,
threadTypeDescriptions,
memberHasAdminPowers,
roleIsDefaultRole,
diff --git a/lib/shared/thread-utils.test.js b/lib/shared/thread-utils.test.js
--- a/lib/shared/thread-utils.test.js
+++ b/lib/shared/thread-utils.test.js
@@ -2,7 +2,7 @@
import {
parsePendingThreadID,
- threadInfoFromRawThreadInfo,
+ serverThreadInfoFromRawThreadInfo,
} from './thread-utils.js';
import { threadInfoValidator } from '../permissions/minimally-encoded-thread-permissions-validators.js';
import { specialRoles } from '../permissions/special-roles.js';
@@ -191,7 +191,7 @@
describe('threadInfoFromRawThreadInfo', () => {
it('should return correctly formed ThreadInfo from RawThreadInfo', () => {
- const threadInfo = threadInfoFromRawThreadInfo(
+ const threadInfo = serverThreadInfoFromRawThreadInfo(
rawThreadInfo,
null,
userInfos,

File Metadata

Mime Type
text/plain
Expires
Wed, Dec 25, 7:32 AM (7 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2700772
Default Alt Text
D11333.diff (3 KB)

Event Timeline