Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33267237
D15153.1768626045.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
10 KB
Referenced Files
None
Subscribers
None
D15153.1768626045.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D15153: [lib] merge `clearQueuedDMOpsActionType` actions
Attached
Detach File
Event Timeline
Log In to Comment