Page MenuHomePhabricator

D12660.diff
No OneTemporary

D12660.diff

diff --git a/keyserver/src/fetchers/thread-fetchers.js b/keyserver/src/fetchers/thread-fetchers.js
--- a/keyserver/src/fetchers/thread-fetchers.js
+++ b/keyserver/src/fetchers/thread-fetchers.js
@@ -12,13 +12,12 @@
import { hasMinCodeVersion } from 'lib/shared/version-utils.js';
import type { AvatarDBContent, ClientAvatar } from 'lib/types/avatar-types.js';
import type { RawMessageInfo, MessageInfo } from 'lib/types/message-types.js';
-import type { RawThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js';
+import type { ThinRawThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js';
import { threadTypes, type ThreadType } from 'lib/types/thread-types-enum.js';
import {
type ServerThreadInfo,
- type MixedRawThreadInfos,
- type LegacyRawThreadInfo,
type ServerLegacyRoleInfo,
+ type LegacyThinRawThreadInfo,
} from 'lib/types/thread-types.js';
import { ServerError } from 'lib/utils/errors.js';
@@ -249,7 +248,9 @@
}
export type FetchThreadInfosResult = {
- +threadInfos: MixedRawThreadInfos,
+ +threadInfos: {
+ +[id: string]: LegacyThinRawThreadInfo | ThinRawThreadInfo,
+ },
};
async function fetchThreadInfos(
@@ -305,7 +306,7 @@
);
const threadInfos: {
- [string]: LegacyRawThreadInfo | RawThreadInfo,
+ [string]: LegacyThinRawThreadInfo | ThinRawThreadInfo,
} = {};
for (const threadID in serverResult.threadInfos) {
const serverThreadInfo = serverResult.threadInfos[threadID];
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
@@ -46,6 +46,7 @@
RoleInfo,
ThreadInfo,
MinimallyEncodedThickMemberInfo,
+ ThinRawThreadInfo,
} from '../types/minimally-encoded-thread-permissions-types.js';
import {
decodeMinimallyEncodedRoleInfo,
@@ -85,6 +86,7 @@
UserProfileThreadInfo,
MixedRawThreadInfos,
LegacyMemberInfo,
+ LegacyThinRawThreadInfo,
} from '../types/thread-types.js';
import { updateTypes } from '../types/update-types-enum.js';
import { type ClientUpdateInfo } from '../types/update-types.js';
@@ -710,7 +712,7 @@
serverThreadInfo: ServerThreadInfo,
viewerID: string,
options?: RawThreadInfoOptions,
-): ?LegacyRawThreadInfo | ?RawThreadInfo {
+): ?LegacyThinRawThreadInfo | ?ThinRawThreadInfo {
const filterThreadEditAvatarPermission =
options?.filterThreadEditAvatarPermission;
const excludePinInfo = options?.excludePinInfo;
@@ -861,6 +863,7 @@
}
const minimallyEncoded = minimallyEncodeRawThreadInfo(rawThreadInfo);
+ invariant(!minimallyEncoded.thick, 'ServerThreadInfo should be thin thread');
if (shouldIncludeSpecialRoleFieldInRoles) {
return minimallyEncoded;
}
diff --git a/lib/types/thread-types.js b/lib/types/thread-types.js
--- a/lib/types/thread-types.js
+++ b/lib/types/thread-types.js
@@ -184,7 +184,7 @@
export type ServerThreadInfo = {
+id: string,
- +type: ThreadType,
+ +type: ThinThreadType,
+name: ?string,
+avatar?: AvatarDBContent,
+description: ?string,

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 24, 6:12 AM (21 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2574250
Default Alt Text
D12660.diff (2 KB)

Event Timeline