Page MenuHomePhorge

D15071.1765043494.diff
No OneTemporary

Size
9 KB
Referenced Files
None
Subscribers
None

D15071.1765043494.diff

diff --git a/keyserver/src/fetchers/link-fetchers.js b/keyserver/src/fetchers/link-fetchers.js
--- a/keyserver/src/fetchers/link-fetchers.js
+++ b/keyserver/src/fetchers/link-fetchers.js
@@ -51,7 +51,8 @@
threadID,
threadRole,
} = result[0];
- const communityStatus = communityRole > 0 ? 'already_joined' : 'valid';
+ const communityStatus: 'already_joined' | 'valid' =
+ communityRole > 0 ? 'already_joined' : 'valid';
const communityResult = {
status: communityStatus,
community: {
diff --git a/keyserver/src/fetchers/message-fetchers.js b/keyserver/src/fetchers/message-fetchers.js
--- a/keyserver/src/fetchers/message-fetchers.js
+++ b/keyserver/src/fetchers/message-fetchers.js
@@ -538,7 +538,7 @@
const messages = parseMessageSQLResult(result, derivedMessages, viewer);
const rawMessageInfos = [];
- let currentThreadID = null;
+ let currentThreadID: ?string = null;
let numMessagesForCurrentThreadID = 0;
for (const message of messages) {
const { rawMessageInfo } = message;
diff --git a/keyserver/src/fetchers/thread-permission-fetchers.js b/keyserver/src/fetchers/thread-permission-fetchers.js
--- a/keyserver/src/fetchers/thread-permission-fetchers.js
+++ b/keyserver/src/fetchers/thread-permission-fetchers.js
@@ -118,7 +118,7 @@
return positiveRoles.length > 0;
}
-type Check =
+export type Check =
| { +check: 'is_member' }
| { +check: 'permission', +permission: ThreadPermission };
@@ -400,7 +400,7 @@
const fetchMembersPromise = fetchKnownUserInfos(viewer, allCandidates);
const parentPermissionsPromise = (async () => {
- const parentPermissions = {};
+ const parentPermissions: { [string]: ThreadPermissionsBlob } = {};
if (!params.parentThreadID || allCandidates.length === 0) {
return parentPermissions;
}
diff --git a/keyserver/src/push/rescind.js b/keyserver/src/push/rescind.js
--- a/keyserver/src/push/rescind.js
+++ b/keyserver/src/push/rescind.js
@@ -122,7 +122,9 @@
const deliveryPromises: {
[string]: Promise<APNPushResult> | Promise<FCMPushResult>,
} = {};
- const notifInfo = {};
+ const notifInfo: {
+ [string]: { userID: string, threadID: string, messageID: string },
+ } = {};
const rescindedIDs = [];
for (const row of fetchResult) {
diff --git a/keyserver/src/responders/entry-responders.js b/keyserver/src/responders/entry-responders.js
--- a/keyserver/src/responders/entry-responders.js
+++ b/keyserver/src/responders/entry-responders.js
@@ -68,7 +68,7 @@
filters: input.filters,
};
}
- const filters = [];
+ const filters: Array<CalendarFilter> = [];
if (!input.includeDeleted) {
filters.push({ type: calendarThreadFilterTypes.NOT_DELETED });
}
diff --git a/keyserver/src/responders/redux-state-responders.js b/keyserver/src/responders/redux-state-responders.js
--- a/keyserver/src/responders/redux-state-responders.js
+++ b/keyserver/src/responders/redux-state-responders.js
@@ -25,7 +25,10 @@
import type { ServerWebInitialReduxStateResponse } from 'lib/types/redux-types.js';
import { threadPermissions } from 'lib/types/thread-permission-types.js';
import { threadTypes } from 'lib/types/thread-types-enum.js';
-import { type GlobalAccountUserInfo } from 'lib/types/user-types.js';
+import {
+ type GlobalAccountUserInfo,
+ type UserInfos,
+} from 'lib/types/user-types.js';
import { currentDateInTimeZone } from 'lib/utils/date-utils.js';
import { ServerError } from 'lib/utils/errors.js';
import { promiseAll } from 'lib/utils/promises.js';
@@ -221,7 +224,7 @@
}
return await entryStorePromise;
})();
- const userInfosPromise = (async () => {
+ const userInfosPromise = (async (): Promise<UserInfos> => {
const [userInfos, hasNotAcknowledgedPolicies] = await Promise.all([
userInfoPromise,
hasNotAcknowledgedPoliciesPromise,
diff --git a/keyserver/src/updaters/relationship-updaters.js b/keyserver/src/updaters/relationship-updaters.js
--- a/keyserver/src/updaters/relationship-updaters.js
+++ b/keyserver/src/updaters/relationship-updaters.js
@@ -397,7 +397,7 @@
viewer: Viewer,
request: RelationshipRequest,
userIDs: $ReadOnlyArray<string>,
-) {
+): Promise<{ +[string]: string }> {
// If you add another RelationshipAction to the supported list below, you'll
// probably want to add it to the FRIEND / FARCASTER_MUTUAL special cases in
// useUpdateRelationships as well
diff --git a/keyserver/src/updaters/thread-updaters.js b/keyserver/src/updaters/thread-updaters.js
--- a/keyserver/src/updaters/thread-updaters.js
+++ b/keyserver/src/updaters/thread-updaters.js
@@ -56,6 +56,7 @@
rawThreadInfosFromServerThreadInfos,
determineThreadAncestryForPossibleMemberResolution,
} from '../fetchers/thread-fetchers.js';
+import { type Check } from '../fetchers/thread-permission-fetchers.js';
import {
checkThreadPermission,
viewerHasPositiveRole,
@@ -420,7 +421,7 @@
if (ignorePermissions) {
return;
}
- const checks = [];
+ const checks: Array<Check> = [];
if (sqlUpdate.name !== undefined) {
checks.push({
check: 'permission',
diff --git a/lib/push/utils.js b/lib/push/utils.js
--- a/lib/push/utils.js
+++ b/lib/push/utils.js
@@ -125,7 +125,8 @@
const { type } = messageInfo;
const { getMessageNotifyType } = messageSpecs[type];
- let messageNotifyType = messageNotifyTypes.SET_UNREAD;
+ let messageNotifyType: MessageNotifyType =
+ messageNotifyTypes.SET_UNREAD;
if (messageInfo.creatorID === userID) {
// We don't need to notify the message author about their message
messageNotifyType = messageNotifyTypes.NONE;
diff --git a/lib/shared/dm-ops/process-dm-ops.js b/lib/shared/dm-ops/process-dm-ops.js
--- a/lib/shared/dm-ops/process-dm-ops.js
+++ b/lib/shared/dm-ops/process-dm-ops.js
@@ -461,7 +461,8 @@
invariant(id, 'Thick thread RawMessageInfos should always have ID');
const { getMessageNotifyType } = messageSpecs[type];
- let messageNotifyType = messageNotifyTypes.SET_UNREAD;
+ let messageNotifyType: MessageNotifyType =
+ messageNotifyTypes.SET_UNREAD;
if (getMessageNotifyType) {
messageNotifyType = await getMessageNotifyType(rawMessageInfo, {
notifTargetUserID: viewerID,
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
@@ -1070,7 +1070,7 @@
const disabledPermissions: ThreadPermissionsInfo =
permissionsDisabledByBlockArray.reduce(
- (permissions: ThreadPermissionsInfo, permission: string) => ({
+ (permissions: ThreadPermissionsInfo, permission: ThreadPermission) => ({
...permissions,
[permission]: { value: false, source: null },
}),
diff --git a/lib/types/message-types.js b/lib/types/message-types.js
--- a/lib/types/message-types.js
+++ b/lib/types/message-types.js
@@ -158,7 +158,7 @@
thickIDRegExp,
} from '../utils/validation-utils.js';
-const composableMessageTypes = new Set([
+const composableMessageTypes = new Set<MessageType>([
messageTypes.TEXT,
messageTypes.IMAGES,
messageTypes.MULTIMEDIA,
@@ -200,7 +200,7 @@
return messageData.localID;
}
-const mediaMessageTypes = new Set([
+const mediaMessageTypes = new Set<MessageType>([
messageTypes.IMAGES,
messageTypes.MULTIMEDIA,
]);
diff --git a/lib/utils/validation-utils.test.js b/lib/utils/validation-utils.test.js
--- a/lib/utils/validation-utils.test.js
+++ b/lib/utils/validation-utils.test.js
@@ -15,7 +15,7 @@
describe('Validation utils', () => {
describe('tNumEnum validator', () => {
it('Should discard when accepted set is empty', () => {
- expect(tNumEnum([]).is(1)).toBe(false);
+ expect(tNumEnum(([]: Array<number>)).is(1)).toBe(false);
});
it('Should accept when array contains number', () => {
diff --git a/native/roles/community-roles-screen.react.js b/native/roles/community-roles-screen.react.js
--- a/native/roles/community-roles-screen.react.js
+++ b/native/roles/community-roles-screen.react.js
@@ -11,6 +11,7 @@
useRoleUserSurfacedPermissions,
} from 'lib/shared/thread-utils.js';
import type { ThreadInfo } from 'lib/types/minimally-encoded-thread-permissions-types.js';
+import type { UserSurfacedPermission } from 'lib/types/thread-permission-types';
import RolePanelEntry from './role-panel-entry.react.js';
import type { RolesNavigationProp } from './roles-navigator.react.js';
@@ -89,7 +90,7 @@
threadInfo,
action: 'create_role',
roleName: 'New role',
- rolePermissions: new Set(),
+ rolePermissions: new Set<UserSurfacedPermission>(),
}),
[threadInfo, props.navigation],
);
diff --git a/web/url-utils.js b/web/url-utils.js
--- a/web/url-utils.js
+++ b/web/url-utils.js
@@ -135,7 +135,8 @@
if (urlInfo.selectedUserList) {
const selectedUsers = _keyBy('id')(navInfo?.selectedUserList ?? []);
- const userInfos = backupInfo.userInfos ?? {};
+ const userInfos: { +[id: string]: AccountUserInfo } =
+ backupInfo.userInfos ?? {};
newNavInfo.selectedUserList = urlInfo.selectedUserList
?.map(id => selectedUsers[id] ?? userInfos[id])
?.filter(Boolean);

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 6, 5:51 PM (20 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5839876
Default Alt Text
D15071.1765043494.diff (9 KB)

Event Timeline