diff --git a/lib/types/redux-types.js b/lib/types/redux-types.js --- a/lib/types/redux-types.js +++ b/lib/types/redux-types.js @@ -20,7 +20,7 @@ UpdateUserAvatarResponse, } from './avatar-types.js'; import type { CommunityStore, AddCommunityPayload } from './community-types.js'; -import type { DBOpsStore } from './db-ops-types.js'; +import type { MessageID, DBOpsStore } from './db-ops-types.js'; import type { GetVersionActionPayload, LastCommunicatedPlatformDetails, @@ -195,1188 +195,1192 @@ +updatesCurrentAsOf: number, }; -export type BaseAction = - | { - +type: '@@redux/INIT', - +payload?: void, - } - | { - +type: 'FETCH_ENTRIES_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_ENTRIES_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_ENTRIES_SUCCESS', - +payload: FetchEntryInfosResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LOG_OUT_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LOG_OUT_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LOG_OUT_SUCCESS', - +payload: LogOutResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CLAIM_USERNAME_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CLAIM_USERNAME_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CLAIM_USERNAME_SUCCESS', - +payload: ClaimUsernameResponse, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_KEYSERVER_ACCOUNT_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_KEYSERVER_ACCOUNT_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_KEYSERVER_ACCOUNT_SUCCESS', - +payload: KeyserverLogOutResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_ACCOUNT_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_ACCOUNT_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_ACCOUNT_SUCCESS', - +payload: LogOutResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CREATE_LOCAL_ENTRY', - +payload: RawEntryInfo, - } - | { - +type: 'CREATE_ENTRY_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CREATE_ENTRY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CREATE_ENTRY_SUCCESS', - +payload: CreateEntryPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SAVE_ENTRY_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SAVE_ENTRY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SAVE_ENTRY_SUCCESS', - +payload: SaveEntryPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CONCURRENT_MODIFICATION_RESET', - +payload: { - +id: string, - +dbText: string, - }, - } - | { - +type: 'DELETE_ENTRY_STARTED', - +loadingInfo: LoadingInfo, - +payload: { - +localID: ?string, - +serverID: ?string, - }, - } - | { - +type: 'DELETE_ENTRY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_ENTRY_SUCCESS', - +payload: ?DeleteEntryResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_LOG_IN_STARTED', - +loadingInfo: LoadingInfo, - +payload?: void, - } - | { - +type: 'IDENTITY_LOG_IN_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_LOG_IN_SUCCESS', - +payload: IdentityAuthResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'KEYSERVER_AUTH_STARTED', - +loadingInfo: LoadingInfo, - +payload: LogInStartingPayload, - } - | { - +type: 'KEYSERVER_AUTH_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'KEYSERVER_AUTH_SUCCESS', - +payload: KeyserverAuthResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LOG_IN_STARTED', - +loadingInfo: LoadingInfo, - +payload: LogInStartingPayload, - } - | { - +type: 'LOG_IN_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LOG_IN_SUCCESS', - +payload: LogInResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'KEYSERVER_REGISTER_STARTED', - +loadingInfo: LoadingInfo, - +payload: LogInStartingPayload, - } - | { - +type: 'KEYSERVER_REGISTER_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'KEYSERVER_REGISTER_SUCCESS', - +payload: RegisterResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_REGISTER_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_REGISTER_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_REGISTER_SUCCESS', - +payload: IdentityAuthResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_GENERATE_NONCE_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_GENERATE_NONCE_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'IDENTITY_GENERATE_NONCE_SUCCESS', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_KEYSERVER_USER_PASSWORD_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_KEYSERVER_USER_PASSWORD_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_KEYSERVER_USER_PASSWORD_SUCCESS', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_THREAD_SETTINGS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_THREAD_SETTINGS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_THREAD_SETTINGS_SUCCESS', - +payload: ChangeThreadSettingsPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_THREAD_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_THREAD_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_THREAD_SUCCESS', - +payload: LeaveThreadPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'NEW_THREAD_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'NEW_THREAD_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'NEW_THREAD_SUCCESS', - +payload: NewThreadResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'REMOVE_USERS_FROM_THREAD_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'REMOVE_USERS_FROM_THREAD_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'REMOVE_USERS_FROM_THREAD_SUCCESS', - +payload: ChangeThreadSettingsPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_THREAD_MEMBER_ROLES_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_THREAD_MEMBER_ROLES_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CHANGE_THREAD_MEMBER_ROLES_SUCCESS', - +payload: ChangeThreadSettingsPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_REVISIONS_FOR_ENTRY_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_REVISIONS_FOR_ENTRY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_REVISIONS_FOR_ENTRY_SUCCESS', - +payload: FetchRevisionsForEntryPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'RESTORE_ENTRY_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'RESTORE_ENTRY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'RESTORE_ENTRY_SUCCESS', - +payload: RestoreEntryPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'JOIN_THREAD_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'JOIN_THREAD_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'JOIN_THREAD_SUCCESS', - +payload: ThreadJoinPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LEAVE_THREAD_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LEAVE_THREAD_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'LEAVE_THREAD_SUCCESS', - +payload: LeaveThreadPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_NEW_SESSION', - +payload: SetSessionPayload, - } - | { - +type: 'persist/REHYDRATE', - +payload: ?BaseAppState<>, - } - | { - +type: 'FETCH_MESSAGES_BEFORE_CURSOR_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_MESSAGES_BEFORE_CURSOR_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_MESSAGES_BEFORE_CURSOR_SUCCESS', - +payload: FetchMessageInfosPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_MOST_RECENT_MESSAGES_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_MOST_RECENT_MESSAGES_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_MOST_RECENT_MESSAGES_SUCCESS', - +payload: FetchMessageInfosPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_SINGLE_MOST_RECENT_MESSAGES_FROM_THREADS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_SINGLE_MOST_RECENT_MESSAGES_FROM_THREADS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_SINGLE_MOST_RECENT_MESSAGES_FROM_THREADS_SUCCESS', - +payload: SimpleMessagesPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_TEXT_MESSAGE_STARTED', - +loadingInfo?: LoadingInfo, - +payload: RawTextMessageInfo, - } - | { - +type: 'SEND_TEXT_MESSAGE_FAILED', - +error: true, - +payload: Error & { - +localID: string, - +threadID: string, - }, - +loadingInfo?: LoadingInfo, - } - | { - +type: 'SEND_TEXT_MESSAGE_SUCCESS', - +payload: SendMessagePayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_MULTIMEDIA_MESSAGE_STARTED', - +loadingInfo?: LoadingInfo, - +payload: RawMultimediaMessageInfo, - } - | { - +type: 'SEND_MULTIMEDIA_MESSAGE_FAILED', - +error: true, - +payload: Error & { - +localID: string, - +threadID: string, - }, - +loadingInfo?: LoadingInfo, - } - | { - +type: 'SEND_MULTIMEDIA_MESSAGE_SUCCESS', - +payload: SendMessagePayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REACTION_MESSAGE_STARTED', - +loadingInfo?: LoadingInfo, - +payload: RawReactionMessageInfo, - } - | { - +type: 'SEND_REACTION_MESSAGE_FAILED', - +error: true, - +payload: Error & { - +localID: string, - +threadID: string, - +targetMessageID: string, - +reaction: string, - +action: string, - }, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REACTION_MESSAGE_SUCCESS', - +payload: SendMessagePayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEARCH_USERS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEARCH_USERS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEARCH_USERS_SUCCESS', - +payload: UserSearchResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'EXACT_SEARCH_USER_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'EXACT_SEARCH_USER_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'EXACT_SEARCH_USER_SUCCESS', - +payload: ExactUserSearchResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_DRAFT', - +payload: { - +key: string, - +text: string, - }, - } - | { - +type: 'MOVE_DRAFT', - +payload: { - +oldKey: string, - +newKey: string, - }, - } - | { - +type: 'SET_CLIENT_DB_STORE', - +payload: ClientStore, - } - | { - +type: 'UPDATE_ACTIVITY_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_ACTIVITY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_ACTIVITY_SUCCESS', - +payload: ActivityUpdateSuccessPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_DEVICE_TOKEN_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_DEVICE_TOKEN_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_DEVICE_TOKEN_SUCCESS', - +payload: SetDeviceTokenActionPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REPORT_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REPORT_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REPORT_SUCCESS', - +payload?: ClearDeliveredReportsPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REPORTS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REPORTS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_REPORTS_SUCCESS', - +payload?: ClearDeliveredReportsPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'QUEUE_REPORTS', - +payload: QueueReportsPayload, - } - | { - +type: 'SET_URL_PREFIX', - +payload: string, - } - | { - +type: 'SAVE_MESSAGES', - +payload: SaveMessagesPayload, - } - | { - +type: 'UPDATE_CALENDAR_THREAD_FILTER', - +payload: CalendarThreadFilter, - } - | { - +type: 'CLEAR_CALENDAR_THREAD_FILTER', - +payload?: void, - } - | { - +type: 'SET_CALENDAR_DELETED_FILTER', - +payload: SetCalendarDeletedFilterPayload, - } - | { - +type: 'UPDATE_SUBSCRIPTION_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_SUBSCRIPTION_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_SUBSCRIPTION_SUCCESS', - +payload: SubscriptionUpdateResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_CALENDAR_QUERY_STARTED', - +loadingInfo: LoadingInfo, - +payload?: CalendarQueryUpdateStartingPayload, - } - | { - +type: 'UPDATE_CALENDAR_QUERY_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_CALENDAR_QUERY_SUCCESS', - +payload: CalendarQueryUpdateResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FULL_STATE_SYNC', - +payload: StateSyncFullActionPayload, - } - | { - +type: 'INCREMENTAL_STATE_SYNC', - +payload: StateSyncIncrementalActionPayload, - } - | ProcessServerRequestAction - | { - +type: 'UPDATE_CONNECTION_STATUS', - +payload: UpdateConnectionStatusPayload, - } - | { - +type: 'QUEUE_ACTIVITY_UPDATES', - +payload: QueueActivityUpdatesPayload, - } - | { - +type: 'UNSUPERVISED_BACKGROUND', - +payload: { +keyserverID: string }, - } - | { - +type: 'UPDATE_LIFECYCLE_STATE', - +payload: LifecycleState, - } - | { - +type: 'ENABLE_APP', - +payload: SupportedApps, - } - | { - +type: 'DISABLE_APP', - +payload: SupportedApps, - } - | { - +type: 'UPDATE_REPORTS_ENABLED', - +payload: Partial, - } - | { - +type: 'PROCESS_UPDATES', - +payload: ClientUpdatesResultWithUserInfos, - } - | { - +type: 'PROCESS_MESSAGES', - +payload: NewMessagesPayload, - } - | { - +type: 'MESSAGE_STORE_PRUNE', - +payload: MessageStorePrunePayload, - } - | { - +type: 'SET_LATE_RESPONSE', - +payload: SetLateResponsePayload, - } - | { - +type: 'UPDATE_KEYSERVER_REACHABILITY', - +payload: UpdateKeyserverReachabilityPayload, - } - | { - +type: 'REQUEST_ACCESS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'REQUEST_ACCESS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'REQUEST_ACCESS_SUCCESS', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_MULTIMEDIA_MESSAGE_MEDIA', - +payload: UpdateMultimediaMessageMediaPayload, - } - | { - +type: 'CREATE_LOCAL_MESSAGE', - +payload: LocallyComposedMessageInfo, - } - | { - +type: 'UPDATE_RELATIONSHIPS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_RELATIONSHIPS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_RELATIONSHIPS_SUCCESS', - +payload: RelationshipErrors, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_THREAD_UNREAD_STATUS_STARTED', - +payload: { - +threadID: string, - +unread: boolean, - }, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_THREAD_UNREAD_STATUS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_THREAD_UNREAD_STATUS_SUCCESS', - +payload: SetThreadUnreadStatusPayload, - } - | { - +type: 'SET_USER_SETTINGS_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_USER_SETTINGS_SUCCESS', - +payload: DefaultNotificationPayload, - } - | { - +type: 'SET_USER_SETTINGS_FAILED', - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_MESSAGE_REPORT_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_MESSAGE_REPORT_SUCCESS', - +payload: MessageReportCreationResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_MESSAGE_REPORT_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FORCE_POLICY_ACKNOWLEDGMENT', - +payload: ForcePolicyAcknowledgmentPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'POLICY_ACKNOWLEDGMENT_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'POLICY_ACKNOWLEDGMENT_SUCCESS', - +payload: PolicyAcknowledgmentPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'POLICY_ACKNOWLEDGMENT_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'GET_SIWE_NONCE_STARTED', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'GET_SIWE_NONCE_SUCCESS', - +payload?: void, - +loadingInfo: LoadingInfo, - } - | { - +type: 'GET_SIWE_NONCE_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SIWE_AUTH_STARTED', - +payload: LogInStartingPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SIWE_AUTH_SUCCESS', - +payload: LogInResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SIWE_AUTH_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'RECORD_NOTIF_PERMISSION_ALERT', - +payload: { +time: number }, - } - | { - +type: 'UPDATE_USER_AVATAR_STARTED', - +payload: UpdateUserAvatarRequest, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_USER_AVATAR_SUCCESS', - +payload: UpdateUserAvatarResponse, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_USER_AVATAR_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_EDIT_MESSAGE_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'SEND_EDIT_MESSAGE_SUCCESS', - +payload: EditMessagePayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEND_EDIT_MESSAGE_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'TOGGLE_MESSAGE_PIN_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'TOGGLE_MESSAGE_PIN_SUCCESS', - +payload: ToggleMessagePinResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'TOGGLE_MESSAGE_PIN_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_PINNED_MESSAGES_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'FETCH_PINNED_MESSAGES_SUCCESS', - +payload: FetchPinnedMessagesResult, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_PINNED_MESSAGES_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'VERIFY_INVITE_LINK_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'VERIFY_INVITE_LINK_SUCCESS', - +payload: InviteLinkVerificationResponse, - +loadingInfo: LoadingInfo, - } - | { - +type: 'VERIFY_INVITE_LINK_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_PRIMARY_INVITE_LINKS_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'FETCH_PRIMARY_INVITE_LINKS_SUCCESS', - +payload: FetchInviteLinksResponse, - +loadingInfo: LoadingInfo, - } - | { - +type: 'FETCH_PRIMARY_INVITE_LINKS_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_CALENDAR_COMMUNITY_FILTER', - +payload: string, - } - | { - +type: 'CLEAR_CALENDAR_COMMUNITY_FILTER', - +payload: void, - } - | { - +type: 'UPDATE_CHAT_COMMUNITY_FILTER', - +payload: string, - } - | { - +type: 'CLEAR_CHAT_COMMUNITY_FILTER', - +payload: void, - } - | { - +type: 'SEARCH_MESSAGES_STARTED', - +payload: void, - +loadingInfo?: LoadingInfo, - } - | { - +type: 'SEARCH_MESSAGES_SUCCESS', - +payload: SearchMessagesResponse, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SEARCH_MESSAGES_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CREATE_OR_UPDATE_PUBLIC_LINK_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'CREATE_OR_UPDATE_PUBLIC_LINK_SUCCESS', - +payload: InviteLink, - +loadingInfo: LoadingInfo, - } - | { - +type: 'CREATE_OR_UPDATE_PUBLIC_LINK_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DISABLE_INVITE_LINK_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'DISABLE_INVITE_LINK_SUCCESS', - +payload: DisableInviteLinkPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DISABLE_INVITE_LINK_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'GET_OLM_SESSION_INITIALIZATION_DATA_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'GET_OLM_SESSION_INITIALIZATION_DATA_SUCCESS', - +payload: GetOlmSessionInitializationDataResponse, - +loadingInfo: LoadingInfo, - } - | { - +type: 'GET_OLM_SESSION_INITIALIZATION_DATA_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_DATA_LOADED', - +payload: { - +dataLoaded: boolean, - }, - } - | { - +type: 'GET_VERSION_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'GET_VERSION_SUCCESS', - +payload: GetVersionActionPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'GET_VERSION_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'UPDATE_LAST_COMMUNICATED_PLATFORM_DETAILS', - +payload: LastCommunicatedPlatformDetails, - } - | { +type: 'RESET_USER_STATE', +payload?: void } - | { - +type: 'MODIFY_COMMUNITY_ROLE_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'MODIFY_COMMUNITY_ROLE_SUCCESS', - +payload: RoleModificationPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'MODIFY_COMMUNITY_ROLE_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_COMMUNITY_ROLE_STARTED', - +loadingInfo?: LoadingInfo, - +payload?: void, - } - | { - +type: 'DELETE_COMMUNITY_ROLE_SUCCESS', - +payload: RoleDeletionPayload, - +loadingInfo: LoadingInfo, - } - | { - +type: 'DELETE_COMMUNITY_ROLE_FAILED', - +error: true, - +payload: Error, - +loadingInfo: LoadingInfo, - } - | { - +type: 'SET_ACCESS_TOKEN', - +payload: ?string, - } - | { - +type: 'UPDATE_THREAD_LAST_NAVIGATED', - +payload: { +threadID: string, +time: number }, - } - | { - +type: 'UPDATE_INTEGRITY_STORE', - +payload: { - +threadIDsToHash?: $ReadOnlyArray, - +threadHashingStatus?: 'starting' | 'running' | 'completed', +export type BaseAction = $ReadOnly<{ + +messageID?: MessageID, + ... + | { + +type: '@@redux/INIT', + +payload?: void, + } + | { + +type: 'FETCH_ENTRIES_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_ENTRIES_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_ENTRIES_SUCCESS', + +payload: FetchEntryInfosResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LOG_OUT_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LOG_OUT_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LOG_OUT_SUCCESS', + +payload: LogOutResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CLAIM_USERNAME_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CLAIM_USERNAME_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CLAIM_USERNAME_SUCCESS', + +payload: ClaimUsernameResponse, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_KEYSERVER_ACCOUNT_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_KEYSERVER_ACCOUNT_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_KEYSERVER_ACCOUNT_SUCCESS', + +payload: KeyserverLogOutResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_ACCOUNT_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_ACCOUNT_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_ACCOUNT_SUCCESS', + +payload: LogOutResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CREATE_LOCAL_ENTRY', + +payload: RawEntryInfo, + } + | { + +type: 'CREATE_ENTRY_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CREATE_ENTRY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CREATE_ENTRY_SUCCESS', + +payload: CreateEntryPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SAVE_ENTRY_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SAVE_ENTRY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SAVE_ENTRY_SUCCESS', + +payload: SaveEntryPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CONCURRENT_MODIFICATION_RESET', + +payload: { + +id: string, + +dbText: string, + }, + } + | { + +type: 'DELETE_ENTRY_STARTED', + +loadingInfo: LoadingInfo, + +payload: { + +localID: ?string, + +serverID: ?string, + }, + } + | { + +type: 'DELETE_ENTRY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_ENTRY_SUCCESS', + +payload: ?DeleteEntryResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_LOG_IN_STARTED', + +loadingInfo: LoadingInfo, + +payload?: void, + } + | { + +type: 'IDENTITY_LOG_IN_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_LOG_IN_SUCCESS', + +payload: IdentityAuthResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'KEYSERVER_AUTH_STARTED', + +loadingInfo: LoadingInfo, + +payload: LogInStartingPayload, + } + | { + +type: 'KEYSERVER_AUTH_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'KEYSERVER_AUTH_SUCCESS', + +payload: KeyserverAuthResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LOG_IN_STARTED', + +loadingInfo: LoadingInfo, + +payload: LogInStartingPayload, + } + | { + +type: 'LOG_IN_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LOG_IN_SUCCESS', + +payload: LogInResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'KEYSERVER_REGISTER_STARTED', + +loadingInfo: LoadingInfo, + +payload: LogInStartingPayload, + } + | { + +type: 'KEYSERVER_REGISTER_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'KEYSERVER_REGISTER_SUCCESS', + +payload: RegisterResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_REGISTER_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_REGISTER_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_REGISTER_SUCCESS', + +payload: IdentityAuthResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_GENERATE_NONCE_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_GENERATE_NONCE_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'IDENTITY_GENERATE_NONCE_SUCCESS', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_KEYSERVER_USER_PASSWORD_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_KEYSERVER_USER_PASSWORD_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_KEYSERVER_USER_PASSWORD_SUCCESS', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_THREAD_SETTINGS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_THREAD_SETTINGS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_THREAD_SETTINGS_SUCCESS', + +payload: ChangeThreadSettingsPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_THREAD_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_THREAD_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_THREAD_SUCCESS', + +payload: LeaveThreadPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'NEW_THREAD_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'NEW_THREAD_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'NEW_THREAD_SUCCESS', + +payload: NewThreadResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'REMOVE_USERS_FROM_THREAD_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'REMOVE_USERS_FROM_THREAD_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'REMOVE_USERS_FROM_THREAD_SUCCESS', + +payload: ChangeThreadSettingsPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_THREAD_MEMBER_ROLES_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_THREAD_MEMBER_ROLES_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CHANGE_THREAD_MEMBER_ROLES_SUCCESS', + +payload: ChangeThreadSettingsPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_REVISIONS_FOR_ENTRY_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_REVISIONS_FOR_ENTRY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_REVISIONS_FOR_ENTRY_SUCCESS', + +payload: FetchRevisionsForEntryPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'RESTORE_ENTRY_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'RESTORE_ENTRY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'RESTORE_ENTRY_SUCCESS', + +payload: RestoreEntryPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'JOIN_THREAD_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'JOIN_THREAD_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'JOIN_THREAD_SUCCESS', + +payload: ThreadJoinPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LEAVE_THREAD_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LEAVE_THREAD_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'LEAVE_THREAD_SUCCESS', + +payload: LeaveThreadPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_NEW_SESSION', + +payload: SetSessionPayload, + } + | { + +type: 'persist/REHYDRATE', + +payload: ?BaseAppState<>, + } + | { + +type: 'FETCH_MESSAGES_BEFORE_CURSOR_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_MESSAGES_BEFORE_CURSOR_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_MESSAGES_BEFORE_CURSOR_SUCCESS', + +payload: FetchMessageInfosPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_MOST_RECENT_MESSAGES_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_MOST_RECENT_MESSAGES_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_MOST_RECENT_MESSAGES_SUCCESS', + +payload: FetchMessageInfosPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_SINGLE_MOST_RECENT_MESSAGES_FROM_THREADS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_SINGLE_MOST_RECENT_MESSAGES_FROM_THREADS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_SINGLE_MOST_RECENT_MESSAGES_FROM_THREADS_SUCCESS', + +payload: SimpleMessagesPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_TEXT_MESSAGE_STARTED', + +loadingInfo?: LoadingInfo, + +payload: RawTextMessageInfo, + } + | { + +type: 'SEND_TEXT_MESSAGE_FAILED', + +error: true, + +payload: Error & { + +localID: string, + +threadID: string, + }, + +loadingInfo?: LoadingInfo, + } + | { + +type: 'SEND_TEXT_MESSAGE_SUCCESS', + +payload: SendMessagePayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_MULTIMEDIA_MESSAGE_STARTED', + +loadingInfo?: LoadingInfo, + +payload: RawMultimediaMessageInfo, + } + | { + +type: 'SEND_MULTIMEDIA_MESSAGE_FAILED', + +error: true, + +payload: Error & { + +localID: string, + +threadID: string, + }, + +loadingInfo?: LoadingInfo, + } + | { + +type: 'SEND_MULTIMEDIA_MESSAGE_SUCCESS', + +payload: SendMessagePayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REACTION_MESSAGE_STARTED', + +loadingInfo?: LoadingInfo, + +payload: RawReactionMessageInfo, + } + | { + +type: 'SEND_REACTION_MESSAGE_FAILED', + +error: true, + +payload: Error & { + +localID: string, + +threadID: string, + +targetMessageID: string, + +reaction: string, + +action: string, + }, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REACTION_MESSAGE_SUCCESS', + +payload: SendMessagePayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEARCH_USERS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEARCH_USERS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEARCH_USERS_SUCCESS', + +payload: UserSearchResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'EXACT_SEARCH_USER_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'EXACT_SEARCH_USER_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'EXACT_SEARCH_USER_SUCCESS', + +payload: ExactUserSearchResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_DRAFT', + +payload: { + +key: string, + +text: string, + }, + } + | { + +type: 'MOVE_DRAFT', + +payload: { + +oldKey: string, + +newKey: string, + }, + } + | { + +type: 'SET_CLIENT_DB_STORE', + +payload: ClientStore, + } + | { + +type: 'UPDATE_ACTIVITY_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_ACTIVITY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_ACTIVITY_SUCCESS', + +payload: ActivityUpdateSuccessPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_DEVICE_TOKEN_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_DEVICE_TOKEN_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_DEVICE_TOKEN_SUCCESS', + +payload: SetDeviceTokenActionPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REPORT_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REPORT_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REPORT_SUCCESS', + +payload?: ClearDeliveredReportsPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REPORTS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REPORTS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_REPORTS_SUCCESS', + +payload?: ClearDeliveredReportsPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'QUEUE_REPORTS', + +payload: QueueReportsPayload, + } + | { + +type: 'SET_URL_PREFIX', + +payload: string, + } + | { + +type: 'SAVE_MESSAGES', + +payload: SaveMessagesPayload, + } + | { + +type: 'UPDATE_CALENDAR_THREAD_FILTER', + +payload: CalendarThreadFilter, + } + | { + +type: 'CLEAR_CALENDAR_THREAD_FILTER', + +payload?: void, + } + | { + +type: 'SET_CALENDAR_DELETED_FILTER', + +payload: SetCalendarDeletedFilterPayload, + } + | { + +type: 'UPDATE_SUBSCRIPTION_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_SUBSCRIPTION_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_SUBSCRIPTION_SUCCESS', + +payload: SubscriptionUpdateResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_CALENDAR_QUERY_STARTED', + +loadingInfo: LoadingInfo, + +payload?: CalendarQueryUpdateStartingPayload, + } + | { + +type: 'UPDATE_CALENDAR_QUERY_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_CALENDAR_QUERY_SUCCESS', + +payload: CalendarQueryUpdateResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FULL_STATE_SYNC', + +payload: StateSyncFullActionPayload, + } + | { + +type: 'INCREMENTAL_STATE_SYNC', + +payload: StateSyncIncrementalActionPayload, + } + | ProcessServerRequestAction + | { + +type: 'UPDATE_CONNECTION_STATUS', + +payload: UpdateConnectionStatusPayload, + } + | { + +type: 'QUEUE_ACTIVITY_UPDATES', + +payload: QueueActivityUpdatesPayload, + } + | { + +type: 'UNSUPERVISED_BACKGROUND', + +payload: { +keyserverID: string }, + } + | { + +type: 'UPDATE_LIFECYCLE_STATE', + +payload: LifecycleState, + } + | { + +type: 'ENABLE_APP', + +payload: SupportedApps, + } + | { + +type: 'DISABLE_APP', + +payload: SupportedApps, + } + | { + +type: 'UPDATE_REPORTS_ENABLED', + +payload: Partial, + } + | { + +type: 'PROCESS_UPDATES', + +payload: ClientUpdatesResultWithUserInfos, + } + | { + +type: 'PROCESS_MESSAGES', + +payload: NewMessagesPayload, + } + | { + +type: 'MESSAGE_STORE_PRUNE', + +payload: MessageStorePrunePayload, + } + | { + +type: 'SET_LATE_RESPONSE', + +payload: SetLateResponsePayload, + } + | { + +type: 'UPDATE_KEYSERVER_REACHABILITY', + +payload: UpdateKeyserverReachabilityPayload, + } + | { + +type: 'REQUEST_ACCESS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'REQUEST_ACCESS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'REQUEST_ACCESS_SUCCESS', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_MULTIMEDIA_MESSAGE_MEDIA', + +payload: UpdateMultimediaMessageMediaPayload, + } + | { + +type: 'CREATE_LOCAL_MESSAGE', + +payload: LocallyComposedMessageInfo, + } + | { + +type: 'UPDATE_RELATIONSHIPS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_RELATIONSHIPS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_RELATIONSHIPS_SUCCESS', + +payload: RelationshipErrors, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_THREAD_UNREAD_STATUS_STARTED', + +payload: { + +threadID: string, + +unread: boolean, + }, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_THREAD_UNREAD_STATUS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_THREAD_UNREAD_STATUS_SUCCESS', + +payload: SetThreadUnreadStatusPayload, + } + | { + +type: 'SET_USER_SETTINGS_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_USER_SETTINGS_SUCCESS', + +payload: DefaultNotificationPayload, + } + | { + +type: 'SET_USER_SETTINGS_FAILED', + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_MESSAGE_REPORT_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_MESSAGE_REPORT_SUCCESS', + +payload: MessageReportCreationResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_MESSAGE_REPORT_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FORCE_POLICY_ACKNOWLEDGMENT', + +payload: ForcePolicyAcknowledgmentPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'POLICY_ACKNOWLEDGMENT_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'POLICY_ACKNOWLEDGMENT_SUCCESS', + +payload: PolicyAcknowledgmentPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'POLICY_ACKNOWLEDGMENT_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'GET_SIWE_NONCE_STARTED', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'GET_SIWE_NONCE_SUCCESS', + +payload?: void, + +loadingInfo: LoadingInfo, + } + | { + +type: 'GET_SIWE_NONCE_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SIWE_AUTH_STARTED', + +payload: LogInStartingPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SIWE_AUTH_SUCCESS', + +payload: LogInResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SIWE_AUTH_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'RECORD_NOTIF_PERMISSION_ALERT', + +payload: { +time: number }, + } + | { + +type: 'UPDATE_USER_AVATAR_STARTED', + +payload: UpdateUserAvatarRequest, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_USER_AVATAR_SUCCESS', + +payload: UpdateUserAvatarResponse, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_USER_AVATAR_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_EDIT_MESSAGE_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'SEND_EDIT_MESSAGE_SUCCESS', + +payload: EditMessagePayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEND_EDIT_MESSAGE_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'TOGGLE_MESSAGE_PIN_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'TOGGLE_MESSAGE_PIN_SUCCESS', + +payload: ToggleMessagePinResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'TOGGLE_MESSAGE_PIN_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_PINNED_MESSAGES_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'FETCH_PINNED_MESSAGES_SUCCESS', + +payload: FetchPinnedMessagesResult, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_PINNED_MESSAGES_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'VERIFY_INVITE_LINK_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'VERIFY_INVITE_LINK_SUCCESS', + +payload: InviteLinkVerificationResponse, + +loadingInfo: LoadingInfo, + } + | { + +type: 'VERIFY_INVITE_LINK_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_PRIMARY_INVITE_LINKS_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'FETCH_PRIMARY_INVITE_LINKS_SUCCESS', + +payload: FetchInviteLinksResponse, + +loadingInfo: LoadingInfo, + } + | { + +type: 'FETCH_PRIMARY_INVITE_LINKS_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_CALENDAR_COMMUNITY_FILTER', + +payload: string, + } + | { + +type: 'CLEAR_CALENDAR_COMMUNITY_FILTER', + +payload: void, + } + | { + +type: 'UPDATE_CHAT_COMMUNITY_FILTER', + +payload: string, + } + | { + +type: 'CLEAR_CHAT_COMMUNITY_FILTER', + +payload: void, + } + | { + +type: 'SEARCH_MESSAGES_STARTED', + +payload: void, + +loadingInfo?: LoadingInfo, + } + | { + +type: 'SEARCH_MESSAGES_SUCCESS', + +payload: SearchMessagesResponse, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SEARCH_MESSAGES_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CREATE_OR_UPDATE_PUBLIC_LINK_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'CREATE_OR_UPDATE_PUBLIC_LINK_SUCCESS', + +payload: InviteLink, + +loadingInfo: LoadingInfo, + } + | { + +type: 'CREATE_OR_UPDATE_PUBLIC_LINK_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DISABLE_INVITE_LINK_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'DISABLE_INVITE_LINK_SUCCESS', + +payload: DisableInviteLinkPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DISABLE_INVITE_LINK_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'GET_OLM_SESSION_INITIALIZATION_DATA_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'GET_OLM_SESSION_INITIALIZATION_DATA_SUCCESS', + +payload: GetOlmSessionInitializationDataResponse, + +loadingInfo: LoadingInfo, + } + | { + +type: 'GET_OLM_SESSION_INITIALIZATION_DATA_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_DATA_LOADED', + +payload: { + +dataLoaded: boolean, + }, + } + | { + +type: 'GET_VERSION_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'GET_VERSION_SUCCESS', + +payload: GetVersionActionPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'GET_VERSION_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'UPDATE_LAST_COMMUNICATED_PLATFORM_DETAILS', + +payload: LastCommunicatedPlatformDetails, + } + | { +type: 'RESET_USER_STATE', +payload?: void } + | { + +type: 'MODIFY_COMMUNITY_ROLE_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'MODIFY_COMMUNITY_ROLE_SUCCESS', + +payload: RoleModificationPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'MODIFY_COMMUNITY_ROLE_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_COMMUNITY_ROLE_STARTED', + +loadingInfo?: LoadingInfo, + +payload?: void, + } + | { + +type: 'DELETE_COMMUNITY_ROLE_SUCCESS', + +payload: RoleDeletionPayload, + +loadingInfo: LoadingInfo, + } + | { + +type: 'DELETE_COMMUNITY_ROLE_FAILED', + +error: true, + +payload: Error, + +loadingInfo: LoadingInfo, + } + | { + +type: 'SET_ACCESS_TOKEN', + +payload: ?string, + } + | { + +type: 'UPDATE_THREAD_LAST_NAVIGATED', + +payload: { +threadID: string, +time: number }, + } + | { + +type: 'UPDATE_INTEGRITY_STORE', + +payload: { + +threadIDsToHash?: $ReadOnlyArray, + +threadHashingStatus?: 'starting' | 'running' | 'completed', + }, + } + | { + +type: 'UPDATE_THEME_INFO', + +payload: Partial, + } + | { + +type: 'ADD_KEYSERVER', + +payload: AddKeyserverPayload, + } + | { + +type: 'REMOVE_KEYSERVER', + +payload: RemoveKeyserverPayload, + } + | { + +type: 'SET_CUSTOM_SERVER', + +payload: string, + } + | { + +type: 'SET_CONNECTION_ISSUE', + +payload: { +connectionIssue: ?ConnectionIssue, +keyserverID: string }, + } + | { + +type: 'ADD_COMMUNITY', + +payload: AddCommunityPayload, + } + | { + +type: 'SET_ACTIVE_SESSION_RECOVERY', + +payload: SetActiveSessionRecoveryPayload, + } + | { + +type: 'OPS_PROCESSING_FINISHED_ACTION_TYPE', + +payload?: void, }, - } - | { - +type: 'UPDATE_THEME_INFO', - +payload: Partial, - } - | { - +type: 'ADD_KEYSERVER', - +payload: AddKeyserverPayload, - } - | { - +type: 'REMOVE_KEYSERVER', - +payload: RemoveKeyserverPayload, - } - | { - +type: 'SET_CUSTOM_SERVER', - +payload: string, - } - | { - +type: 'SET_CONNECTION_ISSUE', - +payload: { +connectionIssue: ?ConnectionIssue, +keyserverID: string }, - } - | { - +type: 'ADD_COMMUNITY', - +payload: AddCommunityPayload, - } - | { - +type: 'SET_ACTIVE_SESSION_RECOVERY', - +payload: SetActiveSessionRecoveryPayload, - } - | { - +type: 'OPS_PROCESSING_FINISHED_ACTION_TYPE', - +payload?: void, - }; +}>; export type ActionPayload = ?(Object | Array<*> | $ReadOnlyArray<*> | string); export type DispatchSource = 'tunnelbroker' | 'tab-sync'; export type SuperAction = { - type: string, - payload?: ActionPayload, - loadingInfo?: LoadingInfo, - error?: boolean, - dispatchSource?: DispatchSource, + +type: string, + +payload?: ActionPayload, + +loadingInfo?: LoadingInfo, + +error?: boolean, + +dispatchSource?: DispatchSource, + +messageID?: MessageID, }; type ThunkedAction = (dispatch: Dispatch) => void; export type PromisedAction = (dispatch: Dispatch) => Promise; diff --git a/lib/types/request-types.js b/lib/types/request-types.js --- a/lib/types/request-types.js +++ b/lib/types/request-types.js @@ -6,6 +6,7 @@ import { type ActivityUpdate } from './activity-types.js'; import type { SignedIdentityKeysBlob } from './crypto-types.js'; import { signedIdentityKeysBlobValidator } from './crypto-types.js'; +import type { MessageID } from './db-ops-types.js'; import type { Platform, PlatformDetails } from './device-types.js'; import { type RawEntryInfo, @@ -267,6 +268,7 @@ +keyserverID: string, }; export type ProcessServerRequestAction = { + +messageID?: MessageID, +type: 'PROCESS_SERVER_REQUESTS', +payload: ProcessServerRequestsPayload, }; diff --git a/native/redux/action-types.js b/native/redux/action-types.js --- a/native/redux/action-types.js +++ b/native/redux/action-types.js @@ -3,6 +3,7 @@ import type { Orientations } from 'react-native-orientation-locker'; import { saveMessagesActionType } from 'lib/actions/message-actions.js'; +import type { MessageID } from 'lib/types/db-ops-types'; import type { BaseAction } from 'lib/types/redux-types.js'; import type { DimensionsInfo } from './dimensions-updater.react.js'; @@ -23,33 +24,38 @@ saveMessagesActionType, ]); -export type Action = +export type Action = $ReadOnly< | BaseAction | { - +type: 'SET_REDUX_STATE', - +payload: { +state: AppState, +hideFromMonitor: boolean }, - } - | { - +type: 'UPDATE_DIMENSIONS', - +payload: Partial, - } - | { - +type: 'UPDATE_CONNECTIVITY', - +payload: ConnectivityInfo, - } - | { - +type: 'UPDATE_DEVICE_CAMERA_INFO', - +payload: Partial, - } - | { - +type: 'UPDATE_DEVICE_ORIENTATION', - +payload: Orientations, - } - | { - +type: 'UPDATE_THREAD_LAST_NAVIGATED', - +payload: { +threadID: string, +time: number }, - } - | { - +type: 'SET_STORE_LOADED', - } - | { +type: 'SET_LOCAL_SETTINGS', +payload: LocalSettings }; + +messageID?: MessageID, + ... + | { + +type: 'SET_REDUX_STATE', + +payload: { +state: AppState, +hideFromMonitor: boolean }, + } + | { + +type: 'UPDATE_DIMENSIONS', + +payload: Partial, + } + | { + +type: 'UPDATE_CONNECTIVITY', + +payload: ConnectivityInfo, + } + | { + +type: 'UPDATE_DEVICE_CAMERA_INFO', + +payload: Partial, + } + | { + +type: 'UPDATE_DEVICE_ORIENTATION', + +payload: Orientations, + } + | { + +type: 'UPDATE_THREAD_LAST_NAVIGATED', + +payload: { +threadID: string, +time: number }, + } + | { + +type: 'SET_STORE_LOADED', + } + | { +type: 'SET_LOCAL_SETTINGS', +payload: LocalSettings }, + }, +>; diff --git a/web/redux/redux-setup.js b/web/redux/redux-setup.js --- a/web/redux/redux-setup.js +++ b/web/redux/redux-setup.js @@ -27,7 +27,7 @@ identityInvalidSessionDowngrade, } from 'lib/shared/session-utils.js'; import type { CommunityStore } from 'lib/types/community-types.js'; -import type { DBOpsStore } from 'lib/types/db-ops-types.js'; +import type { MessageID, DBOpsStore } from 'lib/types/db-ops-types.js'; import type { DraftStore } from 'lib/types/draft-types.js'; import type { EnabledApps } from 'lib/types/enabled-apps.js'; import type { EntryStore } from 'lib/types/entry-types.js'; @@ -121,18 +121,23 @@ +dbOpsStore: DBOpsStore, }; -export type Action = +export type Action = $ReadOnly< | BaseAction - | { +type: 'UPDATE_NAV_INFO', +payload: Partial } | { - +type: 'UPDATE_WINDOW_DIMENSIONS', - +payload: WindowDimensions, - } - | { - +type: 'UPDATE_WINDOW_ACTIVE', - +payload: boolean, - } - | { +type: 'SET_INITIAL_REDUX_STATE', +payload: InitialReduxState }; + +messageID?: MessageID, + ... + | { +type: 'UPDATE_NAV_INFO', +payload: Partial } + | { + +type: 'UPDATE_WINDOW_DIMENSIONS', + +payload: WindowDimensions, + } + | { + +type: 'UPDATE_WINDOW_ACTIVE', + +payload: boolean, + } + | { +type: 'SET_INITIAL_REDUX_STATE', +payload: InitialReduxState }, + }, +>; function reducer(oldState: AppState | void, action: Action): AppState { invariant(oldState, 'should be set');