@protontech/drive-sdk 0.14.1 → 0.14.3

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.
Files changed (57) hide show
  1. package/dist/internal/batchLoading.d.ts +2 -0
  2. package/dist/internal/batchLoading.js +18 -5
  3. package/dist/internal/batchLoading.js.map +1 -1
  4. package/dist/internal/batchLoading.test.js +92 -0
  5. package/dist/internal/batchLoading.test.js.map +1 -1
  6. package/dist/internal/download/apiService.js +27 -23
  7. package/dist/internal/download/apiService.js.map +1 -1
  8. package/dist/internal/events/apiService.js +3 -1
  9. package/dist/internal/events/apiService.js.map +1 -1
  10. package/dist/internal/nodes/nodesAccess.js +1 -1
  11. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  12. package/dist/internal/nodes/nodesAccess.test.js +3 -2
  13. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  14. package/dist/internal/photos/index.js +3 -1
  15. package/dist/internal/photos/index.js.map +1 -1
  16. package/dist/internal/photos/upload.d.ts +1 -1
  17. package/dist/internal/photos/upload.js +2 -2
  18. package/dist/internal/photos/upload.js.map +1 -1
  19. package/dist/internal/sharing/events.d.ts +4 -2
  20. package/dist/internal/sharing/events.js +40 -9
  21. package/dist/internal/sharing/events.js.map +1 -1
  22. package/dist/internal/sharing/events.test.js +30 -2
  23. package/dist/internal/sharing/events.test.js.map +1 -1
  24. package/dist/internal/sharing/index.js +1 -1
  25. package/dist/internal/sharing/index.js.map +1 -1
  26. package/dist/internal/upload/fileUploader.d.ts +19 -3
  27. package/dist/internal/upload/fileUploader.js +31 -5
  28. package/dist/internal/upload/fileUploader.js.map +1 -1
  29. package/dist/internal/upload/fileUploader.test.js +1 -1
  30. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  31. package/dist/internal/upload/index.js +4 -11
  32. package/dist/internal/upload/index.js.map +1 -1
  33. package/dist/internal/upload/index.test.js +104 -45
  34. package/dist/internal/upload/index.test.js.map +1 -1
  35. package/dist/internal/upload/smallFileUploader.d.ts +14 -14
  36. package/dist/internal/upload/smallFileUploader.js +38 -20
  37. package/dist/internal/upload/smallFileUploader.js.map +1 -1
  38. package/dist/internal/upload/smallFileUploader.test.js +35 -36
  39. package/dist/internal/upload/smallFileUploader.test.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/internal/batchLoading.test.ts +104 -0
  42. package/src/internal/batchLoading.ts +21 -5
  43. package/src/internal/download/apiService.ts +32 -28
  44. package/src/internal/events/apiService.ts +3 -1
  45. package/src/internal/nodes/nodesAccess.test.ts +4 -3
  46. package/src/internal/nodes/nodesAccess.ts +1 -1
  47. package/src/internal/photos/index.ts +2 -0
  48. package/src/internal/photos/upload.ts +13 -1
  49. package/src/internal/sharing/events.test.ts +35 -2
  50. package/src/internal/sharing/events.ts +47 -10
  51. package/src/internal/sharing/index.ts +1 -0
  52. package/src/internal/upload/fileUploader.test.ts +1 -0
  53. package/src/internal/upload/fileUploader.ts +60 -2
  54. package/src/internal/upload/index.test.ts +121 -63
  55. package/src/internal/upload/index.ts +4 -30
  56. package/src/internal/upload/smallFileUploader.test.ts +33 -40
  57. 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@protontech/drive-sdk",
3
- "version": "0.14.1",
3
+ "version": "0.14.3",
4
4
  "description": "Proton Drive SDK",
5
5
  "license": "GPL-3.0",
6
6
  "main": "dist/index.js",
@@ -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.iterateItems(this.itemsToFetch);
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 === 0) {
68
- return;
73
+ if (this.itemsToFetch.length > 0) {
74
+ yield* this.iterateItemsWithErrorHandling(this.itemsToFetch);
75
+ this.itemsToFetch = [];
69
76
  }
70
77
 
71
- yield* this.iterateItems(this.itemsToFetch);
72
- this.itemsToFetch = [];
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,8 +1,10 @@
1
1
  import { DriveAPIService, drivePaths, ObserverStream } from '../apiService';
2
+ import { batch } from '../batch';
2
3
  import { makeNodeThumbnailUid, splitNodeRevisionUid, splitNodeThumbnailUid } from '../uids';
3
4
  import { BlockMetadata } from './interface';
4
5
 
5
6
  const BLOCKS_PAGE_SIZE = 20;
7
+ const MAX_THUMBNAIL_IDS_PER_REQUEST = 30;
6
8
 
7
9
  type GetRevisionResponse =
8
10
  drivePaths['/drive/v2/volumes/{volumeID}/files/{linkID}/revisions/{revisionID}']['get']['responses']['200']['content']['application/json'];
@@ -118,37 +120,39 @@ export class DownloadAPIService {
118
120
  }
119
121
 
120
122
  for (const [volumeId, thumbnailIds] of thumbnailIdsByVolumeId.entries()) {
121
- const result = await this.apiService.post<PostGetThumbnailsRequest, PostGetThumbnailsResponse>(
122
- `drive/volumes/${volumeId}/thumbnails`,
123
- {
124
- ThumbnailIDs: thumbnailIds.map(({ thumbnailId }) => thumbnailId),
125
- },
126
- signal,
127
- );
128
-
129
- for (const thumbnail of result.Thumbnails) {
130
- const id = thumbnailIds.find(({ thumbnailId }) => thumbnailId === thumbnail.ThumbnailID);
131
- if (!id) {
132
- continue;
123
+ for (const thumbnailIdBatch of batch(thumbnailIds, MAX_THUMBNAIL_IDS_PER_REQUEST)) {
124
+ const result = await this.apiService.post<PostGetThumbnailsRequest, PostGetThumbnailsResponse>(
125
+ `drive/volumes/${volumeId}/thumbnails`,
126
+ {
127
+ ThumbnailIDs: thumbnailIdBatch.map(({ thumbnailId }) => thumbnailId),
128
+ },
129
+ signal,
130
+ );
131
+
132
+ for (const thumbnail of result.Thumbnails) {
133
+ const id = thumbnailIdBatch.find(({ thumbnailId }) => thumbnailId === thumbnail.ThumbnailID);
134
+ if (!id) {
135
+ continue;
136
+ }
137
+ yield {
138
+ uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, thumbnail.ThumbnailID),
139
+ ok: true,
140
+ bareUrl: thumbnail.BareURL,
141
+ token: thumbnail.Token,
142
+ };
133
143
  }
134
- yield {
135
- uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, thumbnail.ThumbnailID),
136
- ok: true,
137
- bareUrl: thumbnail.BareURL,
138
- token: thumbnail.Token,
139
- };
140
- }
141
144
 
142
- for (const error of result.Errors) {
143
- const id = thumbnailIds.find(({ thumbnailId }) => thumbnailId === error.ThumbnailID);
144
- if (!id) {
145
- continue;
145
+ for (const error of result.Errors) {
146
+ const id = thumbnailIdBatch.find(({ thumbnailId }) => thumbnailId === error.ThumbnailID);
147
+ if (!id) {
148
+ continue;
149
+ }
150
+ yield {
151
+ uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, error.ThumbnailID),
152
+ ok: false,
153
+ error: error.Error,
154
+ };
146
155
  }
147
- yield {
148
- uid: makeNodeThumbnailUid(id.volumeId, id.nodeId, error.ThumbnailID),
149
- ok: false,
150
- error: error.Error,
151
- };
152
156
  }
153
157
  }
154
158
  }
@@ -81,7 +81,9 @@ export class EventsAPIService {
81
81
  const type = VOLUME_EVENT_TYPE_MAP[event.EventType];
82
82
  const uids = {
83
83
  nodeUid: makeNodeUid(volumeId, event.Link.LinkID),
84
- parentNodeUid: makeNodeUid(volumeId, event.Link.ParentLinkID as string),
84
+ parentNodeUid: event.Link.ParentLinkID
85
+ ? makeNodeUid(volumeId, event.Link.ParentLinkID)
86
+ : undefined,
85
87
  };
86
88
  return {
87
89
  type,
@@ -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 decrypt some nodes');
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 DecryptionError('Decryption failed')]);
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 DecryptionError(c('Error').t`Failed to decrypt some nodes`, { cause: errors });
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));
@@ -181,6 +181,8 @@ export function initPhotoUploadModule(
181
181
  name,
182
182
  metadata,
183
183
  onFinish,
184
+ // Small-file upload is not supported for photos yet.
185
+ () => Promise.resolve(false),
184
186
  signal,
185
187
  );
186
188
  }
@@ -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(telemetry, apiService, cryptoService, manager, parentFolderUid, name, metadata, onFinish, signal);
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
- sharingEventHandler = new SharingEventHandler(getMockLogger(), cache, sharesManager);
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
- if (event.type === DriveEventType.SharedWithMeUpdated) {
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 shared by me node cache update`, error);
33
+ this.logger.error(`Skipping sharing cache update`, error);
36
34
  }
37
35
  }
38
36
 
39
- private async handleSharedByMeNodeUidsLoaded(event: DriveEvent) {
40
- if (event.type === DriveEventType.TreeRefresh || event.type === DriveEventType.TreeRemove) {
41
- await this.cache.setSharedWithMeNodeUids(undefined);
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
- if (![DriveEventType.NodeCreated, DriveEventType.NodeUpdated, DriveEventType.NodeDeleted].includes(event.type)) {
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
 
@@ -48,6 +48,7 @@ export function initSharingModule(
48
48
  telemetry.getLogger('sharing-event-handler'),
49
49
  cache,
50
50
  sharesService,
51
+ nodesService,
51
52
  );
52
53
 
53
54
  return {
@@ -129,6 +129,7 @@ describe('FileUploader', () => {
129
129
  'name',
130
130
  metadata,
131
131
  onFinish,
132
+ () => Promise.resolve(false),
132
133
  abortController.signal,
133
134
  );
134
135