Page MenuHomePhorge

D15153.1768626045.diff
No OneTemporary

Size
10 KB
Referenced Files
None
Subscribers
None

D15153.1768626045.diff

diff --git a/lib/reducers/dm-operations-queue-reducer.js b/lib/reducers/dm-operations-queue-reducer.js
--- a/lib/reducers/dm-operations-queue-reducer.js
+++ b/lib/reducers/dm-operations-queue-reducer.js
@@ -4,10 +4,7 @@
import type { DMOperationStoreOperation } from '../ops/dm-operations-store-ops.js';
import {
- clearQueuedEntryDMOpsActionType,
- clearQueuedMembershipDMOpsActionType,
- clearQueuedMessageDMOpsActionType,
- clearQueuedThreadDMOpsActionType,
+ clearQueuedDMOpsActionType,
type OperationsQueue,
pruneDMOpsQueueActionType,
queuedDMOperationConditionType,
@@ -117,45 +114,52 @@
},
operations: [],
};
- } else if (action.type === clearQueuedThreadDMOpsActionType) {
- const { [action.payload.threadID]: removed, ...threadQueue } =
- store.threadQueue;
- return {
- store: {
- ...store,
- threadQueue,
- },
- operations: [],
- };
- } else if (action.type === clearQueuedMessageDMOpsActionType) {
- const { [action.payload.messageID]: removed, ...messageQueue } =
- store.messageQueue;
- return {
- store: {
- ...store,
- messageQueue,
- },
- operations: [],
- };
- } else if (action.type === clearQueuedEntryDMOpsActionType) {
- const { [action.payload.entryID]: removed, ...entryQueue } =
- store.entryQueue;
- return {
- store: {
- ...store,
- entryQueue,
- },
- operations: [],
- };
- } else if (action.type === clearQueuedMembershipDMOpsActionType) {
- const threadQueue = store.membershipQueue[action.payload.threadID];
+ } else if (action.type === clearQueuedDMOpsActionType) {
+ const condition = action.payload;
+
+ if (condition.type === queuedDMOperationConditionType.THREAD) {
+ const { [condition.threadID]: removed, ...threadQueue } =
+ store.threadQueue;
+ return {
+ store: {
+ ...store,
+ threadQueue,
+ },
+ operations: [],
+ };
+ }
+
+ if (condition.type === queuedDMOperationConditionType.ENTRY) {
+ const { [condition.entryID]: removed, ...entryQueue } = store.entryQueue;
+ return {
+ store: {
+ ...store,
+ entryQueue,
+ },
+ operations: [],
+ };
+ }
+
+ if (condition.type === queuedDMOperationConditionType.MESSAGE) {
+ const { [condition.messageID]: removed, ...messageQueue } =
+ store.messageQueue;
+ return {
+ store: {
+ ...store,
+ messageQueue,
+ },
+ operations: [],
+ };
+ }
+
+ const threadQueue = store.membershipQueue[condition.threadID];
if (!threadQueue) {
return { store, operations: [] };
}
- const { [action.payload.userID]: removed, ...queue } = threadQueue;
+ const { [condition.userID]: removed, ...queue } = threadQueue;
if (Object.keys(queue).length === 0) {
- const { [action.payload.threadID]: removedThread, ...membershipQueue } =
+ const { [condition.threadID]: removedThread, ...membershipQueue } =
store.membershipQueue;
return {
store: {
@@ -171,7 +175,7 @@
...store,
membershipQueue: {
...store.membershipQueue,
- [action.payload.threadID]: queue,
+ [condition.threadID]: queue,
},
},
operations: [],
diff --git a/lib/reducers/dm-operations-queue-reducer.test.js b/lib/reducers/dm-operations-queue-reducer.test.js
--- a/lib/reducers/dm-operations-queue-reducer.test.js
+++ b/lib/reducers/dm-operations-queue-reducer.test.js
@@ -2,10 +2,6 @@
import { reduceDMOperationsQueue } from './dm-operations-queue-reducer.js';
import {
- clearQueuedEntryDMOpsActionType,
- clearQueuedMembershipDMOpsActionType,
- clearQueuedMessageDMOpsActionType,
- clearQueuedThreadDMOpsActionType,
type DMAddMembersOperation,
type DMSendTextMessageOperation,
type DMCreateEntryOperation,
@@ -13,6 +9,8 @@
type QueuedDMOperations,
queueDMOpsActionType,
type DMLeaveThreadOperation,
+ clearQueuedDMOpsActionType,
+ queuedDMOperationConditionType,
reportUnshimmingOperationCompletedActionType,
} from '../types/dm-ops.js';
import type { BaseAction } from '../types/redux-types.js';
@@ -398,8 +396,9 @@
};
const action: BaseAction = {
- type: clearQueuedThreadDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.THREAD,
threadID: 'thread1',
},
};
@@ -424,8 +423,9 @@
};
const action: BaseAction = {
- type: clearQueuedMessageDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.MESSAGE,
messageID: 'msg1',
},
};
@@ -450,8 +450,9 @@
};
const action: BaseAction = {
- type: clearQueuedEntryDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.ENTRY,
entryID: 'entry1',
},
};
@@ -482,8 +483,9 @@
};
const action: BaseAction = {
- type: clearQueuedMembershipDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.MEMBERSHIP,
threadID: 'thread1',
userID: 'user1',
},
@@ -521,8 +523,9 @@
};
const action: BaseAction = {
- type: clearQueuedMembershipDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.MEMBERSHIP,
threadID: 'thread1',
userID: 'user1',
},
@@ -549,8 +552,9 @@
};
const action: BaseAction = {
- type: clearQueuedMembershipDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.MEMBERSHIP,
threadID: 'nonexistent',
userID: 'user1',
},
diff --git a/lib/shared/dm-ops/dm-ops-queue-handler.react.js b/lib/shared/dm-ops/dm-ops-queue-handler.react.js
--- a/lib/shared/dm-ops/dm-ops-queue-handler.react.js
+++ b/lib/shared/dm-ops/dm-ops-queue-handler.react.js
@@ -11,11 +11,9 @@
threadInfoSelector,
} from '../../selectors/thread-selectors.js';
import {
- clearQueuedEntryDMOpsActionType,
- clearQueuedMembershipDMOpsActionType,
- clearQueuedMessageDMOpsActionType,
- clearQueuedThreadDMOpsActionType,
+ clearQueuedDMOpsActionType,
pruneDMOpsQueueActionType,
+ queuedDMOperationConditionType,
reportUnshimmingOperationCompletedActionType,
} from '../../types/dm-ops.js';
import type { DMOperation } from '../../types/dm-ops.js';
@@ -117,8 +115,9 @@
{
type: 'action',
action: {
- type: clearQueuedThreadDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.THREAD,
threadID,
},
},
@@ -159,8 +158,9 @@
{
type: 'action',
action: {
- type: clearQueuedMessageDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.MESSAGE,
messageID,
},
},
@@ -202,8 +202,9 @@
{
type: 'action',
action: {
- type: clearQueuedEntryDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.ENTRY,
entryID,
},
},
@@ -253,8 +254,9 @@
{
type: 'action',
action: {
- type: clearQueuedMembershipDMOpsActionType,
+ type: clearQueuedDMOpsActionType,
payload: {
+ type: queuedDMOperationConditionType.MEMBERSHIP,
threadID,
userID: member.id,
},
diff --git a/lib/types/dm-ops.js b/lib/types/dm-ops.js
--- a/lib/types/dm-ops.js
+++ b/lib/types/dm-ops.js
@@ -610,27 +610,7 @@
+pruneMaxTimestamp: number,
};
-export const clearQueuedThreadDMOpsActionType = 'CLEAR_QUEUED_THREAD_DM_OPS';
-export type ClearQueuedThreadDMOpsPayload = {
- +threadID: string,
-};
-
-export const clearQueuedMessageDMOpsActionType = 'CLEAR_QUEUED_MESSAGE_DM_OPS';
-export type ClearQueuedMessageDMOpsPayload = {
- +messageID: string,
-};
-
-export const clearQueuedEntryDMOpsActionType = 'CLEAR_QUEUED_ENTRY_DM_OPS';
-export type ClearQueuedEntryDMOpsPayload = {
- +entryID: string,
-};
-
-export const clearQueuedMembershipDMOpsActionType =
- 'CLEAR_QUEUED_MEMBERSHIP_DM_OPS';
-export type ClearQueuedMembershipDMOpsPayload = {
- +threadID: string,
- +userID: string,
-};
+export const clearQueuedDMOpsActionType = 'CLEAR_QUEUED_DM_OPS';
export const saveUnsupportedOperationActionType =
'SAVE_UNSUPPORTED_DM_OPERATION';
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
@@ -52,12 +52,9 @@
QueuedDMOperations,
QueueDMOpsPayload,
PruneDMOpsQueuePayload,
- ClearQueuedThreadDMOpsPayload,
- ClearQueuedMessageDMOpsPayload,
- ClearQueuedEntryDMOpsPayload,
- ClearQueuedMembershipDMOpsPayload,
SaveUnsupportedOperationPayload,
ReportUnshimmingOperationCompletedPayload,
+ QueueDMOpsCondition,
} from './dm-ops.js';
import type { DraftStore } from './draft-types.js';
import type { EnabledApps, SupportedApps } from './enabled-apps.js';
@@ -1575,22 +1572,7 @@
}
| { +type: 'QUEUE_DM_OPS', +payload: QueueDMOpsPayload }
| { +type: 'PRUNE_DM_OPS_QUEUE', +payload: PruneDMOpsQueuePayload }
- | {
- +type: 'CLEAR_QUEUED_THREAD_DM_OPS',
- +payload: ClearQueuedThreadDMOpsPayload,
- }
- | {
- +type: 'CLEAR_QUEUED_MESSAGE_DM_OPS',
- +payload: ClearQueuedMessageDMOpsPayload,
- }
- | {
- +type: 'CLEAR_QUEUED_ENTRY_DM_OPS',
- +payload: ClearQueuedEntryDMOpsPayload,
- }
- | {
- +type: 'CLEAR_QUEUED_MEMBERSHIP_DM_OPS',
- +payload: ClearQueuedMembershipDMOpsPayload,
- }
+ | { +type: 'CLEAR_QUEUED_DM_OPS', +payload: QueueDMOpsCondition }
| {
+type: 'STORE_ESTABLISHED_HOLDER',
+payload: BlobHashAndHolder,

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 17, 5:00 AM (4 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5947171
Default Alt Text
D15153.1768626045.diff (10 KB)

Event Timeline