@protontech/drive-sdk 0.14.1 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/internal/batchLoading.d.ts +2 -0
- package/dist/internal/batchLoading.js +18 -5
- package/dist/internal/batchLoading.js.map +1 -1
- package/dist/internal/batchLoading.test.js +92 -0
- package/dist/internal/batchLoading.test.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.js +1 -1
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +3 -2
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/photos/index.js +3 -1
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/upload.d.ts +1 -1
- package/dist/internal/photos/upload.js +2 -2
- package/dist/internal/photos/upload.js.map +1 -1
- package/dist/internal/sharing/events.d.ts +4 -2
- package/dist/internal/sharing/events.js +40 -9
- package/dist/internal/sharing/events.js.map +1 -1
- package/dist/internal/sharing/events.test.js +30 -2
- package/dist/internal/sharing/events.test.js.map +1 -1
- package/dist/internal/sharing/index.js +1 -1
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/upload/fileUploader.d.ts +19 -3
- package/dist/internal/upload/fileUploader.js +31 -5
- package/dist/internal/upload/fileUploader.js.map +1 -1
- package/dist/internal/upload/fileUploader.test.js +1 -1
- package/dist/internal/upload/fileUploader.test.js.map +1 -1
- package/dist/internal/upload/index.js +4 -11
- package/dist/internal/upload/index.js.map +1 -1
- package/dist/internal/upload/index.test.js +104 -45
- package/dist/internal/upload/index.test.js.map +1 -1
- package/dist/internal/upload/smallFileUploader.d.ts +14 -14
- package/dist/internal/upload/smallFileUploader.js +38 -20
- package/dist/internal/upload/smallFileUploader.js.map +1 -1
- package/dist/internal/upload/smallFileUploader.test.js +35 -36
- package/dist/internal/upload/smallFileUploader.test.js.map +1 -1
- package/package.json +1 -1
- package/src/internal/batchLoading.test.ts +104 -0
- package/src/internal/batchLoading.ts +21 -5
- package/src/internal/nodes/nodesAccess.test.ts +4 -3
- package/src/internal/nodes/nodesAccess.ts +1 -1
- package/src/internal/photos/index.ts +2 -0
- package/src/internal/photos/upload.ts +13 -1
- package/src/internal/sharing/events.test.ts +35 -2
- package/src/internal/sharing/events.ts +47 -10
- package/src/internal/sharing/index.ts +1 -0
- package/src/internal/upload/fileUploader.test.ts +1 -0
- package/src/internal/upload/fileUploader.ts +60 -2
- package/src/internal/upload/index.test.ts +121 -63
- package/src/internal/upload/index.ts +4 -30
- package/src/internal/upload/smallFileUploader.test.ts +33 -40
- package/src/internal/upload/smallFileUploader.ts +47 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smallFileUploader.test.js","sourceRoot":"","sources":["../../../src/internal/upload/smallFileUploader.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smallFileUploader.test.js","sourceRoot":"","sources":["../../../src/internal/upload/smallFileUploader.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProtonDriveError } from '../errors';
|
|
1
2
|
import { BatchLoading } from './batchLoading';
|
|
2
3
|
|
|
3
4
|
describe('BatchLoading', () => {
|
|
@@ -54,4 +55,107 @@ describe('BatchLoading', () => {
|
|
|
54
55
|
expect(iterateItems).toHaveBeenNthCalledWith(2, ['c', 'd']);
|
|
55
56
|
expect(iterateItems).toHaveBeenNthCalledWith(3, ['e']);
|
|
56
57
|
});
|
|
58
|
+
|
|
59
|
+
it('should capture loadItems failure, continue with next batches, and throw at loadRest', async () => {
|
|
60
|
+
const loadItems = jest.fn((items: string[]) => {
|
|
61
|
+
if (items.includes('a')) {
|
|
62
|
+
return Promise.reject(new Error('loader failed'));
|
|
63
|
+
}
|
|
64
|
+
return Promise.resolve(items.map((item) => `loaded:${item}`));
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
batchLoading = new BatchLoading<string, string>({ loadItems, batchSize: 2 });
|
|
68
|
+
|
|
69
|
+
const result: string[] = [];
|
|
70
|
+
for (const item of ['a', 'b', 'c', 'd']) {
|
|
71
|
+
for await (const loadedItem of batchLoading.load(item)) {
|
|
72
|
+
result.push(loadedItem);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let thrown: unknown;
|
|
77
|
+
try {
|
|
78
|
+
for await (const loadedItem of batchLoading.loadRest()) {
|
|
79
|
+
result.push(loadedItem);
|
|
80
|
+
}
|
|
81
|
+
} catch (e) {
|
|
82
|
+
thrown = e;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
expect(result).toEqual(['loaded:c', 'loaded:d']);
|
|
86
|
+
expect(loadItems).toHaveBeenCalledTimes(2);
|
|
87
|
+
expect(thrown).toBeInstanceOf(ProtonDriveError);
|
|
88
|
+
expect((thrown as ProtonDriveError).cause).toEqual([expect.objectContaining({ message: 'loader failed' })]);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it('should capture iterateItems failure, continue with next batches, and throw at loadRest', async () => {
|
|
92
|
+
const iterateItems = jest.fn(async function* (items: string[]) {
|
|
93
|
+
for (const item of items) {
|
|
94
|
+
if (item !== 'a') {
|
|
95
|
+
yield `loaded:${item}`;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (items.includes('a')) {
|
|
99
|
+
throw new Error('iterator failed');
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
batchLoading = new BatchLoading<string, string>({ iterateItems, batchSize: 2 });
|
|
104
|
+
|
|
105
|
+
const result: string[] = [];
|
|
106
|
+
for (const item of ['a', 'b', 'c', 'd']) {
|
|
107
|
+
for await (const loadedItem of batchLoading.load(item)) {
|
|
108
|
+
result.push(loadedItem);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
let thrown: unknown;
|
|
113
|
+
try {
|
|
114
|
+
for await (const loadedItem of batchLoading.loadRest()) {
|
|
115
|
+
result.push(loadedItem);
|
|
116
|
+
}
|
|
117
|
+
} catch (e) {
|
|
118
|
+
thrown = e;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
expect(result).toEqual(['loaded:b', 'loaded:c', 'loaded:d']);
|
|
122
|
+
expect(iterateItems).toHaveBeenCalledTimes(2);
|
|
123
|
+
expect(thrown).toBeInstanceOf(ProtonDriveError);
|
|
124
|
+
expect((thrown as ProtonDriveError).cause).toEqual([expect.objectContaining({ message: 'iterator failed' })]);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it('should throw ProtonDriveError with causes when multiple batches fail', async () => {
|
|
128
|
+
const loadItems = jest.fn((items: string[]) => {
|
|
129
|
+
if (items.includes('a') || items.includes('e')) {
|
|
130
|
+
return Promise.reject(new Error(`failed:${items.join(',')}`));
|
|
131
|
+
}
|
|
132
|
+
return Promise.resolve(items.map((item) => `loaded:${item}`));
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
batchLoading = new BatchLoading<string, string>({ loadItems, batchSize: 2 });
|
|
136
|
+
|
|
137
|
+
const result: string[] = [];
|
|
138
|
+
for (const item of ['a', 'b', 'c', 'd', 'e', 'f']) {
|
|
139
|
+
for await (const loadedItem of batchLoading.load(item)) {
|
|
140
|
+
result.push(loadedItem);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
let thrown: unknown;
|
|
145
|
+
try {
|
|
146
|
+
for await (const loadedItem of batchLoading.loadRest()) {
|
|
147
|
+
result.push(loadedItem);
|
|
148
|
+
}
|
|
149
|
+
} catch (e) {
|
|
150
|
+
thrown = e;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
expect(result).toEqual(['loaded:c', 'loaded:d']);
|
|
154
|
+
expect(thrown).toBeInstanceOf(ProtonDriveError);
|
|
155
|
+
expect((thrown as ProtonDriveError).cause).toEqual([
|
|
156
|
+
expect.objectContaining({ message: 'failed:a,b' }),
|
|
157
|
+
expect.objectContaining({ message: 'failed:e,f' }),
|
|
158
|
+
]);
|
|
159
|
+
expect(loadItems).toHaveBeenCalledTimes(3);
|
|
160
|
+
});
|
|
57
161
|
});
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { c } from 'ttag';
|
|
2
|
+
|
|
3
|
+
import { ProtonDriveError } from '../errors';
|
|
4
|
+
|
|
1
5
|
const DEFAULT_BATCH_LOADING = 10;
|
|
2
6
|
|
|
3
7
|
/**
|
|
@@ -28,6 +32,8 @@ export class BatchLoading<ID, ITEM> {
|
|
|
28
32
|
|
|
29
33
|
private itemsToFetch: ID[];
|
|
30
34
|
|
|
35
|
+
private errors: unknown[] = [];
|
|
36
|
+
|
|
31
37
|
constructor(options: {
|
|
32
38
|
loadItems?: (ids: ID[]) => Promise<ITEM[]>;
|
|
33
39
|
iterateItems?: (ids: ID[]) => AsyncGenerator<ITEM>;
|
|
@@ -58,17 +64,27 @@ export class BatchLoading<ID, ITEM> {
|
|
|
58
64
|
this.itemsToFetch.push(nodeUid);
|
|
59
65
|
|
|
60
66
|
if (this.itemsToFetch.length >= this.batchSize) {
|
|
61
|
-
yield* this.
|
|
67
|
+
yield* this.iterateItemsWithErrorHandling(this.itemsToFetch);
|
|
62
68
|
this.itemsToFetch = [];
|
|
63
69
|
}
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
async *loadRest() {
|
|
67
|
-
if (this.itemsToFetch.length
|
|
68
|
-
|
|
73
|
+
if (this.itemsToFetch.length > 0) {
|
|
74
|
+
yield* this.iterateItemsWithErrorHandling(this.itemsToFetch);
|
|
75
|
+
this.itemsToFetch = [];
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
if (this.errors.length > 0) {
|
|
79
|
+
throw new ProtonDriveError(c('Error').t`Failed to load some items`, { cause: this.errors });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private async *iterateItemsWithErrorHandling(items: ID[]) {
|
|
84
|
+
try {
|
|
85
|
+
yield* this.iterateItems(items);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
this.errors.push(error);
|
|
88
|
+
}
|
|
73
89
|
}
|
|
74
90
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getMockTelemetry } from '../../tests/telemetry';
|
|
2
2
|
import { PrivateKey } from '../../crypto';
|
|
3
|
-
import { DecryptionError } from '../../errors';
|
|
3
|
+
import { DecryptionError, ProtonDriveError } from '../../errors';
|
|
4
4
|
import { NodeAPIService } from './apiService';
|
|
5
5
|
import { NodesCache } from './cache';
|
|
6
6
|
import { NodesCryptoCache } from './cryptoCache';
|
|
@@ -327,11 +327,12 @@ describe('nodesAccess', () => {
|
|
|
327
327
|
const node2 = await generator.next();
|
|
328
328
|
expect(node2.value).toMatchObject({ uid: 'volumeId~node3' });
|
|
329
329
|
const node3 = generator.next();
|
|
330
|
-
await expect(node3).rejects.toThrow('Failed to
|
|
330
|
+
await expect(node3).rejects.toThrow('Failed to load some items');
|
|
331
331
|
try {
|
|
332
332
|
await node3;
|
|
333
333
|
} catch (error: any) {
|
|
334
|
-
expect(error.cause).toEqual([new
|
|
334
|
+
expect(error.cause).toEqual([new ProtonDriveError('Failed to load some nodes')]);
|
|
335
|
+
expect(error.cause[0].cause).toEqual([new DecryptionError('Decryption failed')]);
|
|
335
336
|
}
|
|
336
337
|
});
|
|
337
338
|
|
|
@@ -304,7 +304,7 @@ export abstract class NodesAccessBase<
|
|
|
304
304
|
|
|
305
305
|
if (errors.length > 0) {
|
|
306
306
|
this.logger.error(`Failed to decrypt ${errors.length} nodes`, errors);
|
|
307
|
-
throw new
|
|
307
|
+
throw new ProtonDriveError(c('Error').t`Failed to load some nodes`, { cause: errors });
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
const missingNodeUids = nodeUids.filter((nodeUid) => !returnedNodeUids.includes(nodeUid));
|
|
@@ -47,9 +47,21 @@ export class PhotoFileUploader extends FileUploader {
|
|
|
47
47
|
name: string,
|
|
48
48
|
metadata: PhotoUploadMetadata,
|
|
49
49
|
onFinish: () => void,
|
|
50
|
+
shouldUseSmallFileUpload: (expectedSize: number) => Promise<boolean>,
|
|
50
51
|
signal?: AbortSignal,
|
|
51
52
|
) {
|
|
52
|
-
super(
|
|
53
|
+
super(
|
|
54
|
+
telemetry,
|
|
55
|
+
apiService,
|
|
56
|
+
cryptoService,
|
|
57
|
+
manager,
|
|
58
|
+
parentFolderUid,
|
|
59
|
+
name,
|
|
60
|
+
metadata,
|
|
61
|
+
onFinish,
|
|
62
|
+
shouldUseSmallFileUpload,
|
|
63
|
+
signal,
|
|
64
|
+
);
|
|
53
65
|
this.photoApiService = apiService;
|
|
54
66
|
this.photoManager = manager;
|
|
55
67
|
this.photoMetadata = metadata;
|
|
@@ -4,6 +4,7 @@ import { SharingCache } from './cache';
|
|
|
4
4
|
import { SharingAccess } from './sharingAccess';
|
|
5
5
|
import { SharingEventHandler } from './events';
|
|
6
6
|
import { SharesManager } from '../shares/manager';
|
|
7
|
+
import { NodesService } from './interface';
|
|
7
8
|
|
|
8
9
|
// FIXME: test tree_refresh and tree_remove
|
|
9
10
|
|
|
@@ -11,6 +12,7 @@ describe('handleSharedByMeNodes', () => {
|
|
|
11
12
|
let cache: SharingCache;
|
|
12
13
|
let sharingEventHandler: SharingEventHandler;
|
|
13
14
|
let sharesManager: SharesManager;
|
|
15
|
+
let nodesService: NodesService;
|
|
14
16
|
|
|
15
17
|
beforeEach(() => {
|
|
16
18
|
jest.clearAllMocks();
|
|
@@ -26,7 +28,11 @@ describe('handleSharedByMeNodes', () => {
|
|
|
26
28
|
sharesManager = {
|
|
27
29
|
isOwnVolume: jest.fn(async (volumeId: string) => volumeId === 'MyVolume1'),
|
|
28
30
|
} as any;
|
|
29
|
-
|
|
31
|
+
// @ts-expect-error No need to implement all methods for mocking
|
|
32
|
+
nodesService = {
|
|
33
|
+
notifyNodeChanged: jest.fn(),
|
|
34
|
+
};
|
|
35
|
+
sharingEventHandler = new SharingEventHandler(getMockLogger(), cache, sharesManager, nodesService);
|
|
30
36
|
});
|
|
31
37
|
|
|
32
38
|
it('should add if new own shared node is created', async () => {
|
|
@@ -138,12 +144,14 @@ describe('handleSharedWithMeNodes', () => {
|
|
|
138
144
|
let cache: SharingCache;
|
|
139
145
|
let sharingAccess: SharingAccess;
|
|
140
146
|
let sharesManager: SharesManager;
|
|
147
|
+
let nodesService: NodesService;
|
|
141
148
|
|
|
142
149
|
beforeEach(() => {
|
|
143
150
|
jest.clearAllMocks();
|
|
144
151
|
|
|
145
152
|
// @ts-expect-error No need to implement all methods for mocking
|
|
146
153
|
cache = {
|
|
154
|
+
hasSharedWithMeNodeUidsLoaded: jest.fn().mockResolvedValue(false),
|
|
147
155
|
getSharedWithMeNodeUids: jest.fn(),
|
|
148
156
|
setSharedWithMeNodeUids: jest.fn(),
|
|
149
157
|
};
|
|
@@ -154,6 +162,10 @@ describe('handleSharedWithMeNodes', () => {
|
|
|
154
162
|
sharesManager = {
|
|
155
163
|
isOwnVolume: jest.fn(async (volumeId: string) => volumeId === 'MyVolume1'),
|
|
156
164
|
} as any;
|
|
165
|
+
// @ts-expect-error No need to implement all methods for mocking
|
|
166
|
+
nodesService = {
|
|
167
|
+
notifyNodeChanged: jest.fn(),
|
|
168
|
+
};
|
|
157
169
|
});
|
|
158
170
|
|
|
159
171
|
it('should update cache', async () => {
|
|
@@ -163,11 +175,32 @@ describe('handleSharedWithMeNodes', () => {
|
|
|
163
175
|
treeEventScopeId: 'core',
|
|
164
176
|
};
|
|
165
177
|
|
|
166
|
-
const sharingEventHandler = new SharingEventHandler(getMockLogger(), cache, sharesManager);
|
|
178
|
+
const sharingEventHandler = new SharingEventHandler(getMockLogger(), cache, sharesManager, nodesService);
|
|
167
179
|
await sharingEventHandler.handleDriveEvent(event);
|
|
168
180
|
|
|
169
181
|
expect(cache.setSharedWithMeNodeUids).toHaveBeenCalledWith(undefined);
|
|
170
182
|
expect(cache.getSharedWithMeNodeUids).not.toHaveBeenCalled();
|
|
171
183
|
expect(sharingAccess.iterateSharedNodesWithMe).not.toHaveBeenCalled();
|
|
184
|
+
expect(nodesService.notifyNodeChanged).not.toHaveBeenCalled();
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
it('should notify nodes changes', async () => {
|
|
188
|
+
cache.hasSharedWithMeNodeUidsLoaded = jest.fn().mockResolvedValue(true);
|
|
189
|
+
cache.getSharedWithMeNodeUids = jest.fn().mockResolvedValue(['nodeUid1', 'nodeUid2']);
|
|
190
|
+
|
|
191
|
+
const event: DriveEvent = {
|
|
192
|
+
type: DriveEventType.SharedWithMeUpdated,
|
|
193
|
+
eventId: 'event1',
|
|
194
|
+
treeEventScopeId: 'core',
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
const sharingEventHandler = new SharingEventHandler(getMockLogger(), cache, sharesManager, nodesService);
|
|
198
|
+
await sharingEventHandler.handleDriveEvent(event);
|
|
199
|
+
|
|
200
|
+
expect(cache.setSharedWithMeNodeUids).toHaveBeenCalledWith(undefined);
|
|
201
|
+
expect(cache.getSharedWithMeNodeUids).toHaveBeenCalled();
|
|
202
|
+
expect(nodesService.notifyNodeChanged).toHaveBeenCalledTimes(2);
|
|
203
|
+
expect(nodesService.notifyNodeChanged).toHaveBeenCalledWith('nodeUid1');
|
|
204
|
+
expect(nodesService.notifyNodeChanged).toHaveBeenCalledWith('nodeUid2');
|
|
172
205
|
});
|
|
173
206
|
});
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Logger } from '../../interface';
|
|
2
2
|
import { DriveEvent, DriveEventType } from '../events';
|
|
3
3
|
import { SharingCache } from './cache';
|
|
4
|
-
import { SharesService } from './interface';
|
|
4
|
+
import { NodesService, SharesService } from './interface';
|
|
5
5
|
|
|
6
6
|
export class SharingEventHandler {
|
|
7
7
|
constructor(
|
|
8
8
|
private logger: Logger,
|
|
9
9
|
private cache: SharingCache,
|
|
10
10
|
private shares: SharesService,
|
|
11
|
+
private nodesService: NodesService,
|
|
11
12
|
) {}
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -26,23 +27,59 @@ export class SharingEventHandler {
|
|
|
26
27
|
*/
|
|
27
28
|
async handleDriveEvent(event: DriveEvent) {
|
|
28
29
|
try {
|
|
29
|
-
|
|
30
|
-
await this.cache.setSharedWithMeNodeUids(undefined);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
30
|
+
await this.handleSharedWithMeNodeUidsLoaded(event);
|
|
33
31
|
await this.handleSharedByMeNodeUidsLoaded(event);
|
|
34
32
|
} catch (error: unknown) {
|
|
35
|
-
this.logger.error(`Skipping
|
|
33
|
+
this.logger.error(`Skipping sharing cache update`, error);
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
private async
|
|
40
|
-
if (
|
|
41
|
-
|
|
37
|
+
private async handleSharedWithMeNodeUidsLoaded(event: DriveEvent) {
|
|
38
|
+
if (
|
|
39
|
+
![DriveEventType.SharedWithMeUpdated, DriveEventType.TreeRefresh, DriveEventType.TreeRemove].includes(
|
|
40
|
+
event.type,
|
|
41
|
+
)
|
|
42
|
+
) {
|
|
42
43
|
return;
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
// When user changes the membership (permissions) for a user, the
|
|
47
|
+
// backend emits both NodeUpdated and SharedWithMeUpdated events.
|
|
48
|
+
// Ideally, the SDK doesn't have to refresh all the shared nodes,
|
|
49
|
+
// only those that were changed via the NodeUpdated event. However,
|
|
50
|
+
// the client very likely will not be subscribed to all shared volumes.
|
|
51
|
+
// When the client only lists the list itself and not the trees, it
|
|
52
|
+
// is still required to refresh all the nodes to be sure to have the
|
|
53
|
+
// latest state.
|
|
54
|
+
// The sharing module doesn't have access to the nodes cache, thus
|
|
55
|
+
// it notifies the nodes via the service. If this fails, we need to
|
|
56
|
+
// log it, but it should not block the event handling. The node might
|
|
57
|
+
// be wrong at the "shared with me" listing, but it will be eventually
|
|
58
|
+
// updated once the user opens the volume tree and client processes
|
|
59
|
+
// the events for that volume.
|
|
60
|
+
// Ideally, in the future, the Drive API provides a custom event with
|
|
61
|
+
// indication of what node was added or removed or updated, instead
|
|
62
|
+
// of emitting destructive SharedWithMeUpdated event.
|
|
63
|
+
const hasSharedWithMeLoaded = await this.cache.hasSharedWithMeNodeUidsLoaded();
|
|
64
|
+
if (event.type === DriveEventType.SharedWithMeUpdated && hasSharedWithMeLoaded) {
|
|
65
|
+
try {
|
|
66
|
+
const sharedWithMeNodeUids = await this.cache.getSharedWithMeNodeUids();
|
|
67
|
+
this.logger.debug(`Shared with me updated, notifying ${sharedWithMeNodeUids.length} nodes`);
|
|
68
|
+
for (const nodeUid of sharedWithMeNodeUids) {
|
|
69
|
+
await this.nodesService.notifyNodeChanged(nodeUid);
|
|
70
|
+
}
|
|
71
|
+
} catch (error: unknown) {
|
|
72
|
+
this.logger.error(`Skipping shared with me node cache update`, error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
await this.cache.setSharedWithMeNodeUids(undefined);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private async handleSharedByMeNodeUidsLoaded(event: DriveEvent) {
|
|
80
|
+
if (
|
|
81
|
+
![DriveEventType.NodeCreated, DriveEventType.NodeUpdated, DriveEventType.NodeDeleted].includes(event.type)
|
|
82
|
+
) {
|
|
46
83
|
return;
|
|
47
84
|
}
|
|
48
85
|
|
|
@@ -5,6 +5,7 @@ import { UploadController } from './controller';
|
|
|
5
5
|
import { UploadCryptoService } from './cryptoService';
|
|
6
6
|
import { NodeRevisionDraft } from './interface';
|
|
7
7
|
import { UploadManager } from './manager';
|
|
8
|
+
import { SmallFileRevisionUploader, SmallFileUploader } from './smallFileUploader';
|
|
8
9
|
import { StreamUploader } from './streamUploader';
|
|
9
10
|
import { UploadTelemetry } from './telemetry';
|
|
10
11
|
|
|
@@ -26,6 +27,7 @@ export abstract class Uploader {
|
|
|
26
27
|
protected manager: UploadManager,
|
|
27
28
|
protected metadata: UploadMetadata,
|
|
28
29
|
protected onFinish: () => void,
|
|
30
|
+
protected shouldUseSmallFileUpload: (expectedSize: number) => Promise<boolean>,
|
|
29
31
|
protected signal?: AbortSignal,
|
|
30
32
|
) {
|
|
31
33
|
this.telemetry = telemetry;
|
|
@@ -34,6 +36,7 @@ export abstract class Uploader {
|
|
|
34
36
|
this.manager = manager;
|
|
35
37
|
this.metadata = metadata;
|
|
36
38
|
this.onFinish = onFinish;
|
|
39
|
+
this.shouldUseSmallFileUpload = shouldUseSmallFileUpload;
|
|
37
40
|
|
|
38
41
|
this.signal = signal;
|
|
39
42
|
this.abortController = new AbortController();
|
|
@@ -97,10 +100,28 @@ export abstract class Uploader {
|
|
|
97
100
|
thumbnails: Thumbnail[],
|
|
98
101
|
onProgress?: (uploadedBytes: number) => void,
|
|
99
102
|
): Promise<{ nodeRevisionUid: string; nodeUid: string }> {
|
|
103
|
+
const expectedEncryptedTotalSize = this.getExpectedEncryptedTotalSize(thumbnails);
|
|
104
|
+
if (await this.shouldUseSmallFileUpload(expectedEncryptedTotalSize)) {
|
|
105
|
+
return this.initSmallFileUploader(stream, thumbnails, onProgress);
|
|
106
|
+
}
|
|
107
|
+
|
|
100
108
|
const uploader = await this.initStreamUploader();
|
|
101
109
|
return uploader.start(stream, thumbnails, onProgress);
|
|
102
110
|
}
|
|
103
111
|
|
|
112
|
+
private getExpectedEncryptedTotalSize(thumbnails: Thumbnail[]): number {
|
|
113
|
+
const thumbnailSize = thumbnails.reduce((acc, thumbnail) => acc + thumbnail.thumbnail.length, 0);
|
|
114
|
+
const totalSize = this.metadata.expectedSize + thumbnailSize;
|
|
115
|
+
const expectedEncryptedTotalSize = totalSize * 1.1; // 10% margin for encryption overhead
|
|
116
|
+
return expectedEncryptedTotalSize;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
protected abstract initSmallFileUploader(
|
|
120
|
+
stream: ReadableStream,
|
|
121
|
+
thumbnails: Thumbnail[],
|
|
122
|
+
onProgress?: (uploadedBytes: number) => void,
|
|
123
|
+
): Promise<{ nodeRevisionUid: string; nodeUid: string }>;
|
|
124
|
+
|
|
104
125
|
protected async initStreamUploader(): Promise<StreamUploader> {
|
|
105
126
|
const { revisionDraft, blockVerifier } = await this.createRevisionDraft();
|
|
106
127
|
|
|
@@ -154,9 +175,10 @@ export class FileUploader extends Uploader {
|
|
|
154
175
|
private name: string,
|
|
155
176
|
metadata: UploadMetadata,
|
|
156
177
|
onFinish: () => void,
|
|
178
|
+
protected shouldUseSmallFileUpload: (expectedSize: number) => Promise<boolean>,
|
|
157
179
|
signal?: AbortSignal,
|
|
158
180
|
) {
|
|
159
|
-
super(telemetry, apiService, cryptoService, manager, metadata, onFinish, signal);
|
|
181
|
+
super(telemetry, apiService, cryptoService, manager, metadata, onFinish, shouldUseSmallFileUpload, signal);
|
|
160
182
|
|
|
161
183
|
this.parentFolderUid = parentFolderUid;
|
|
162
184
|
this.name = name;
|
|
@@ -192,6 +214,24 @@ export class FileUploader extends Uploader {
|
|
|
192
214
|
protected async deleteRevisionDraft(revisionDraft: NodeRevisionDraft): Promise<void> {
|
|
193
215
|
await this.manager.deleteDraftNode(revisionDraft.nodeUid);
|
|
194
216
|
}
|
|
217
|
+
|
|
218
|
+
protected async initSmallFileUploader(
|
|
219
|
+
stream: ReadableStream,
|
|
220
|
+
thumbnails: Thumbnail[],
|
|
221
|
+
onProgress?: (uploadedBytes: number) => void,
|
|
222
|
+
): Promise<{ nodeRevisionUid: string; nodeUid: string }> {
|
|
223
|
+
const uploader = new SmallFileUploader(
|
|
224
|
+
this.telemetry,
|
|
225
|
+
this.cryptoService,
|
|
226
|
+
this.manager,
|
|
227
|
+
this.metadata,
|
|
228
|
+
this.onFinish,
|
|
229
|
+
this.signal,
|
|
230
|
+
this.parentFolderUid,
|
|
231
|
+
this.name,
|
|
232
|
+
);
|
|
233
|
+
return uploader.upload(stream, thumbnails, onProgress);
|
|
234
|
+
}
|
|
195
235
|
}
|
|
196
236
|
|
|
197
237
|
/**
|
|
@@ -206,9 +246,10 @@ export class FileRevisionUploader extends Uploader {
|
|
|
206
246
|
private nodeUid: string,
|
|
207
247
|
metadata: UploadMetadata,
|
|
208
248
|
onFinish: () => void,
|
|
249
|
+
protected shouldUseSmallFileUpload: (expectedSize: number) => Promise<boolean>,
|
|
209
250
|
signal?: AbortSignal,
|
|
210
251
|
) {
|
|
211
|
-
super(telemetry, apiService, cryptoService, manager, metadata, onFinish, signal);
|
|
252
|
+
super(telemetry, apiService, cryptoService, manager, metadata, onFinish, shouldUseSmallFileUpload, signal);
|
|
212
253
|
|
|
213
254
|
this.nodeUid = nodeUid;
|
|
214
255
|
}
|
|
@@ -243,4 +284,21 @@ export class FileRevisionUploader extends Uploader {
|
|
|
243
284
|
protected async deleteRevisionDraft(revisionDraft: NodeRevisionDraft): Promise<void> {
|
|
244
285
|
await this.manager.deleteDraftRevision(revisionDraft.nodeRevisionUid);
|
|
245
286
|
}
|
|
287
|
+
|
|
288
|
+
protected async initSmallFileUploader(
|
|
289
|
+
stream: ReadableStream,
|
|
290
|
+
thumbnails: Thumbnail[],
|
|
291
|
+
onProgress?: (uploadedBytes: number) => void,
|
|
292
|
+
): Promise<{ nodeRevisionUid: string; nodeUid: string }> {
|
|
293
|
+
const uploader = new SmallFileRevisionUploader(
|
|
294
|
+
this.telemetry,
|
|
295
|
+
this.cryptoService,
|
|
296
|
+
this.manager,
|
|
297
|
+
this.metadata,
|
|
298
|
+
this.onFinish,
|
|
299
|
+
this.signal,
|
|
300
|
+
this.nodeUid,
|
|
301
|
+
);
|
|
302
|
+
return uploader.upload(stream, thumbnails, onProgress);
|
|
303
|
+
}
|
|
246
304
|
}
|