@sogni-ai/sogni-client 5.23.0 → 5.24.0

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 (45) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +49 -0
  3. package/dist/ApiClient/WebSocketClient/events.d.ts +127 -2
  4. package/dist/ApiClient/events.d.ts +5 -3
  5. package/dist/ApiClient/index.d.ts +5 -1
  6. package/dist/ApiClient/index.js +56 -9
  7. package/dist/ApiClient/index.js.map +1 -1
  8. package/dist/Projects/Project.d.ts +23 -1
  9. package/dist/Projects/Project.js +25 -2
  10. package/dist/Projects/Project.js.map +1 -1
  11. package/dist/Projects/index.d.ts +92 -1
  12. package/dist/Projects/index.js +377 -1
  13. package/dist/Projects/index.js.map +1 -1
  14. package/dist/Projects/recovery.d.ts +31 -0
  15. package/dist/Projects/recovery.js +153 -0
  16. package/dist/Projects/recovery.js.map +1 -0
  17. package/dist/Projects/types/RawProject.d.ts +1 -1
  18. package/dist/Projects/types/events.d.ts +50 -1
  19. package/dist/index.d.ts +6 -2
  20. package/dist/index.js +5 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/version.d.ts +1 -1
  23. package/dist/version.js +1 -1
  24. package/dist-esm/ApiClient/index.js +56 -9
  25. package/dist-esm/ApiClient/index.js.map +1 -1
  26. package/dist-esm/Projects/Project.js +25 -2
  27. package/dist-esm/Projects/Project.js.map +1 -1
  28. package/dist-esm/Projects/index.js +377 -1
  29. package/dist-esm/Projects/index.js.map +1 -1
  30. package/dist-esm/Projects/recovery.js +144 -0
  31. package/dist-esm/Projects/recovery.js.map +1 -0
  32. package/dist-esm/index.js +2 -1
  33. package/dist-esm/index.js.map +1 -1
  34. package/dist-esm/version.js +1 -1
  35. package/package.json +2 -1
  36. package/src/ApiClient/WebSocketClient/events.ts +149 -2
  37. package/src/ApiClient/events.ts +5 -3
  38. package/src/ApiClient/index.ts +59 -9
  39. package/src/Projects/Project.ts +39 -2
  40. package/src/Projects/index.ts +431 -2
  41. package/src/Projects/recovery.ts +148 -0
  42. package/src/Projects/types/RawProject.ts +2 -0
  43. package/src/Projects/types/events.ts +57 -1
  44. package/src/index.ts +33 -2
  45. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [5.24.0](https://github.com/Sogni-AI/sogni-client/compare/v5.23.0...v5.24.0) (2026-08-29)
2
+
3
+
4
+ ### Features
5
+
6
+ * **projects:** resume in-flight projects across reconnects and refreshes ([58666ef](https://github.com/Sogni-AI/sogni-client/commit/58666ef2336c9edc269358b59acfcfb1e015aaae))
7
+
1
8
  # [5.23.0](https://github.com/Sogni-AI/sogni-client/compare/v5.22.0...v5.23.0) (2026-08-28)
2
9
 
3
10
 
package/README.md CHANGED
@@ -386,6 +386,55 @@ project.on('failed', async (errorData) => {
386
386
 
387
387
  External API-backed jobs may not report diffusion steps. For those jobs, SDK progress uses provider progress or ETA-derived progress and remains a finite 0-100 number. GPT Image 2 and Seedance results can arrive as direct hosted URLs; the SDK preserves those URLs on `job.resultUrl` and `job.getResultUrl()` returns the cached URL without requesting a Sogni signed download URL.
388
388
 
389
+ ### Resuming projects after a refresh or reconnect
390
+
391
+ Generation keeps running on the Supernet while your socket is down. The SDK treats a dropped
392
+ connection as a transport gap, not a failure: tracked projects stay alive, the client reconnects
393
+ with capped exponential backoff for as long as the session is authenticated, and on every
394
+ `authenticated` handshake it reconciles with the server. Whatever the client missed is replayed
395
+ through the normal `project` / `job` events, so listeners attached before the gap simply keep
396
+ receiving updates, and `waitForCompletion()` still resolves.
397
+
398
+ Projects the server knows about but this client does not (a page refresh, a second tab sharing the
399
+ socket, cleared local state) are rebuilt as tracked `Project` instances with `project.recovered ===
400
+ true`. Their `params` are reconstructed from the original request; asset inputs are not recoverable.
401
+
402
+ ```typescript
403
+ // Every reconciliation — after reconnect, after a shared-socket tab connects, or after a manual
404
+ // sync() — reports what changed. `snapshot` is the raw server view, for apps that keep their own
405
+ // project store.
406
+ sogni.projects.on('projectsSynced', ({ reason, active, completed, lost, recoveredActive, recoveredCompleted }) => {
407
+ console.log(reason, { active, completed, lost });
408
+ });
409
+
410
+ // In-flight projects this client was not tracking; they are tracked now, so `project` / `job`
411
+ // events follow as usual.
412
+ sogni.projects.on('activeProjectsRecovered', (projects) => {
413
+ for (const recovered of projects) {
414
+ const project = sogni.projects.trackedProjects.find((p) => p.id === recovered.id);
415
+ project?.on('completed', (urls) => console.log('Finished after resume:', urls));
416
+ }
417
+ });
418
+
419
+ // Projects that finished while this client was away, with result URLs already resolved.
420
+ sogni.projects.on('completedProjectsRecovered', (projects) => {
421
+ for (const project of projects) console.log(project.id, project.resultUrls);
422
+ });
423
+
424
+ // Ask for a fresh reconciliation yourself, e.g. when the page returns to the foreground.
425
+ document.addEventListener('visibilitychange', () => {
426
+ if (document.visibilityState === 'visible') void sogni.projects.sync();
427
+ });
428
+ ```
429
+
430
+ A project that the server no longer lists is looked up on the REST API (which only stores finished
431
+ projects) a few times before it is declared lost; it then fails with an error where
432
+ `isProjectLostError(error)` is `true`. Apps that persist project ids themselves can run the same
433
+ lookup with `sogni.projects.resolveMissing(ids)`.
434
+
435
+ Recovery is per app instance: the server hands projects back to the `appId` that created them, so
436
+ persist your `appId` (browsers: `localStorage`) and reuse it across reloads.
437
+
389
438
  ### Project parameters
390
439
 
391
440
  Here is a full list of project parameters that you can use:
@@ -109,8 +109,17 @@ export interface AuthenticatedData {
109
109
  };
110
110
  };
111
111
  subscriptionEntitlement?: SocketSubscriptionEntitlementData;
112
- activeProjects: [];
113
- unclaimedCompletedProjects: [];
112
+ /**
113
+ * This app-id's projects that are still in flight (pending, queued, or
114
+ * rendering). The server reclaims them for the new socket, so live events
115
+ * follow. See {@link RecoveredProject}.
116
+ */
117
+ activeProjects: RecoveredProject[];
118
+ /**
119
+ * This app-id's projects that reached a terminal state while it had no
120
+ * socket. Held server-side for one hour; delivered here once.
121
+ */
122
+ unclaimedCompletedProjects: RecoveredProject[];
114
123
  isMainnet: boolean;
115
124
  accountWasMigrated: boolean;
116
125
  /**
@@ -374,3 +383,119 @@ export type SocketEventMap = {
374
383
  artistCancelConfirmation: ArtistCancelConfirmation;
375
384
  };
376
385
  export type SocketEventName = keyof SocketEventMap;
386
+ /**
387
+ * Server status of a project as sogni-socket reports it in recovery payloads.
388
+ * `authorized` and `queued` are the socket's own names; the REST API reports
389
+ * `active` for the queued window.
390
+ */
391
+ export type RecoveredProjectStatus = 'pending' | 'authorized' | 'active' | 'queued' | 'assigned' | 'progress' | 'completed' | 'errored' | 'cancelled';
392
+ export type RecoveredWorkerJobStatus = 'created' | 'queued' | 'assigned' | 'initiatingModel' | 'jobStarted' | 'jobProgress' | 'jobCompleted' | 'jobError';
393
+ /**
394
+ * A worker job inside a {@link RecoveredProject}, as serialized by
395
+ * sogni-socket (`serializeWorkerJob`).
396
+ *
397
+ * `imgID` is the stable per-job identity. `id` is rewritten to the project id
398
+ * for legacy native clients and must not be used to distinguish jobs.
399
+ */
400
+ export interface RecoveredWorkerJob {
401
+ id: string;
402
+ SID?: number | string;
403
+ imgID: string;
404
+ worker?: {
405
+ id?: string;
406
+ clientSID?: number;
407
+ address?: string;
408
+ addressSID?: number;
409
+ SID?: number;
410
+ username?: string;
411
+ image?: string;
412
+ nftTokenId?: string;
413
+ };
414
+ createTime?: number;
415
+ startTime?: number | null;
416
+ updateTime?: number;
417
+ actualStartTime?: number | null;
418
+ endTime?: number | null;
419
+ status: RecoveredWorkerJobStatus;
420
+ reason?: string;
421
+ performedSteps?: number;
422
+ triggeredNSFWFilter?: boolean;
423
+ seedUsed?: number;
424
+ costActual?: Record<string, unknown>;
425
+ network?: string;
426
+ txId?: string | null;
427
+ jobType?: string;
428
+ tokenType?: string;
429
+ isTest?: boolean;
430
+ /** Present for vendor (external API) jobs only; GPU jobs mint a signed URL from `(projectId, imgID)`. */
431
+ resultUrl?: string;
432
+ resultKey?: string;
433
+ provider?: string;
434
+ modelType?: 'video' | 'audio';
435
+ videoFrames?: number;
436
+ videoFps?: number;
437
+ width?: number;
438
+ height?: number;
439
+ audioDuration?: number;
440
+ [key: string]: unknown;
441
+ }
442
+ /**
443
+ * A project the server can hand back to its owner after a refresh or
444
+ * reconnect: carried by `authenticated.activeProjects` /
445
+ * `authenticated.unclaimedCompletedProjects` and by
446
+ * `GET /api/v1/artist/projects/sync` on the socket host.
447
+ *
448
+ * `clientRequestData` is the original `jobRequest`, base64-encoded JSON, so a
449
+ * client that lost its local state can rebuild the prompt and parameters.
450
+ */
451
+ export interface RecoveredProject {
452
+ id: string;
453
+ SID?: number;
454
+ /** App instance (`appId`) that created the project. Newer socket builds only. */
455
+ appId?: string;
456
+ appSource?: string;
457
+ jobType?: string;
458
+ model: {
459
+ id: string;
460
+ SID?: number;
461
+ name?: string;
462
+ type?: string;
463
+ };
464
+ imageCount: number;
465
+ stepCount: number;
466
+ previewCount?: number;
467
+ hasGuideImage?: boolean;
468
+ denoiseStrength?: string;
469
+ controlNetId?: string | null;
470
+ costEstimate?: Record<string, unknown>;
471
+ costActual?: Record<string, unknown>;
472
+ createTime: number;
473
+ updateTime: number;
474
+ endTime?: number | null;
475
+ status: RecoveredProjectStatus;
476
+ reason?: string | null;
477
+ network?: string;
478
+ txId?: string | null;
479
+ sizePreset?: string;
480
+ width?: number;
481
+ height?: number;
482
+ jobCountCompletedByState?: Record<string, number>;
483
+ isTest?: boolean;
484
+ tokenType?: string;
485
+ billingMode?: string;
486
+ clientRequestData?: string;
487
+ workerJobs?: RecoveredWorkerJob[];
488
+ completedWorkerJobs?: RecoveredWorkerJob[];
489
+ premium?: Record<string, unknown>;
490
+ modelType?: 'video' | 'audio';
491
+ videoFrames?: number;
492
+ videoFps?: number;
493
+ provider?: string;
494
+ [key: string]: unknown;
495
+ }
496
+ /** Body of `GET /api/v1/artist/projects/sync`; the same two arrays the `authenticated` frame carries. */
497
+ export interface ProjectRecoverySnapshot {
498
+ activeProjects: RecoveredProject[];
499
+ unclaimedCompletedProjects: RecoveredProject[];
500
+ serverTime?: number;
501
+ }
@@ -14,9 +14,11 @@ export type ApiClientEvents = {
14
14
  network: SupernetType;
15
15
  };
16
16
  /**
17
- * @event ApiClient#disconnected - The client has been disconnected by the server,
18
- * either authentication is lost or the server is unreachable.This event is not triggered
19
- * when the client manually disconnects.
17
+ * @event ApiClient#disconnected - The connection ended and the client will not retry on its
18
+ * own: authentication was lost or rejected, the server closed with a non-recoverable code,
19
+ * or the client disconnected deliberately. Recoverable drops (network blips, server
20
+ * restarts) do not emit this; the client keeps reconnecting with backoff and emits
21
+ * `connecting` before each attempt, then `connected`.
20
22
  */
21
23
  disconnected: {
22
24
  code: ErrorCode;
@@ -48,7 +48,9 @@ declare class ApiClient extends TypedEventEmitter<ApiClientEvents> {
48
48
  private _rest;
49
49
  private _socket;
50
50
  private _auth;
51
- private _reconnectAttempts;
51
+ private _reconnectAttempt;
52
+ private _reconnectTimer;
53
+ private _onlineListener;
52
54
  private _disableSocket;
53
55
  constructor({ baseUrl, socketUrl, appId, appSource, attribution, socketEventSubscriptions, networkType, authType, logger, disableSocket, multiInstance }: ApiClientOptions);
54
56
  get isAuthenticated(): boolean;
@@ -62,6 +64,8 @@ declare class ApiClient extends TypedEventEmitter<ApiClientEvents> {
62
64
  handleSocketConnecting(): void;
63
65
  handleSocketConnect({ network }: ServerConnectData): void;
64
66
  handleSocketDisconnect(data: ServerDisconnectData): void;
67
+ private _scheduleReconnect;
68
+ private _clearReconnect;
65
69
  handleAuthUpdated(isAuthenticated: boolean): void;
66
70
  /**
67
71
  * Dispose of this client, disconnecting the socket and removing all event listeners.
@@ -14,7 +14,14 @@ const index_js_2 = require("../lib/AuthManager/index.js");
14
14
  const isNodejs_js_1 = __importDefault(require("../lib/isNodejs.js"));
15
15
  const index_js_3 = __importDefault(require("./WebSocketClient/BrowserWebSocketClient/index.js"));
16
16
  const attribution_js_1 = require("../lib/attribution.js");
17
- const WS_RECONNECT_ATTEMPTS = 5;
17
+ /**
18
+ * Reconnect backoff for recoverable socket drops. Attempts continue for as
19
+ * long as the session stays authenticated: an in-flight generation survives a
20
+ * network blip, a sleeping laptop, or a socket deploy, and the server hands it
21
+ * back on reconnect.
22
+ */
23
+ const WS_RECONNECT_BASE_DELAY_MS = 1000;
24
+ const WS_RECONNECT_MAX_DELAY_MS = 15000;
18
25
  class ApiError extends Error {
19
26
  constructor(status, payload) {
20
27
  super(payload.message);
@@ -26,7 +33,9 @@ exports.ApiError = ApiError;
26
33
  class ApiClient extends TypedEventEmitter_js_1.default {
27
34
  constructor({ baseUrl, socketUrl, appId, appSource, attribution, socketEventSubscriptions, networkType, authType, logger, disableSocket = false, multiInstance = false }) {
28
35
  super();
29
- this._reconnectAttempts = WS_RECONNECT_ATTEMPTS;
36
+ this._reconnectAttempt = 0;
37
+ this._reconnectTimer = null;
38
+ this._onlineListener = null;
30
39
  this._disableSocket = false;
31
40
  this.appId = appId;
32
41
  this.appSource = (appSource === null || appSource === void 0 ? void 0 : appSource.trim()) || undefined;
@@ -88,12 +97,14 @@ class ApiClient extends TypedEventEmitter_js_1.default {
88
97
  this.emit('connecting', { network: this.socket.supernetType });
89
98
  }
90
99
  handleSocketConnect({ network }) {
91
- this._reconnectAttempts = WS_RECONNECT_ATTEMPTS;
100
+ this._reconnectAttempt = 0;
101
+ this._clearReconnect();
92
102
  this.emit('connected', { network });
93
103
  }
94
104
  handleSocketDisconnect(data) {
95
105
  // If user is not authenticated, we don't need to reconnect
96
106
  if (!this.auth.isAuthenticated || data.code === 1000) {
107
+ this._clearReconnect();
97
108
  this.emit('disconnected', data);
98
109
  return;
99
110
  }
@@ -131,17 +142,52 @@ class ApiClient extends TypedEventEmitter_js_1.default {
131
142
  this.logger.error('Not recoverable socket error', data);
132
143
  return;
133
144
  }
134
- if (this._reconnectAttempts <= 0) {
135
- this.emit('disconnected', data);
136
- this._reconnectAttempts = WS_RECONNECT_ATTEMPTS;
145
+ // Recoverable drop: keep trying with capped exponential backoff while the
146
+ // session is authenticated. Consumers see `connecting` before each attempt;
147
+ // `disconnected` is reserved for terminal outcomes.
148
+ this._scheduleReconnect();
149
+ }
150
+ _scheduleReconnect() {
151
+ this._clearReconnect();
152
+ const attempt = this._reconnectAttempt++;
153
+ const base = Math.min(WS_RECONNECT_BASE_DELAY_MS * Math.pow(2, attempt), WS_RECONNECT_MAX_DELAY_MS);
154
+ const delay = Math.round(base * (0.8 + Math.random() * 0.4));
155
+ this.handleSocketConnecting();
156
+ const connect = () => {
157
+ this._reconnectTimer = null;
158
+ if (!this.auth.isAuthenticated || this._disableSocket)
159
+ return;
160
+ this.socket.connect().catch((error) => {
161
+ this.logger.warn('WebSocket reconnect attempt failed', error);
162
+ this._scheduleReconnect();
163
+ });
164
+ };
165
+ if (typeof window !== 'undefined' &&
166
+ typeof navigator !== 'undefined' &&
167
+ navigator.onLine === false) {
168
+ // Offline: a timer would only burn attempts. Wake up when the browser is back online.
169
+ this._onlineListener = () => {
170
+ this._onlineListener = null;
171
+ connect();
172
+ };
173
+ window.addEventListener('online', this._onlineListener, { once: true });
137
174
  return;
138
175
  }
139
- this._reconnectAttempts--;
140
- this.handleSocketConnecting();
141
- setTimeout(() => void this.socket.connect(), 1000);
176
+ this._reconnectTimer = setTimeout(connect, delay);
177
+ }
178
+ _clearReconnect() {
179
+ if (this._reconnectTimer) {
180
+ clearTimeout(this._reconnectTimer);
181
+ this._reconnectTimer = null;
182
+ }
183
+ if (this._onlineListener && typeof window !== 'undefined') {
184
+ window.removeEventListener('online', this._onlineListener);
185
+ this._onlineListener = null;
186
+ }
142
187
  }
143
188
  handleAuthUpdated(isAuthenticated) {
144
189
  if (!isAuthenticated) {
190
+ this._clearReconnect();
145
191
  if (this.socket.isConnected) {
146
192
  this.socket.disconnect();
147
193
  }
@@ -156,6 +202,7 @@ class ApiClient extends TypedEventEmitter_js_1.default {
156
202
  * After calling this method, the client should not be used.
157
203
  */
158
204
  dispose() {
205
+ this._clearReconnect();
159
206
  this._socket.disconnect();
160
207
  this._socket.removeAllListeners();
161
208
  this._auth.removeAllListeners();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiClient/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiClient/index.ts"],"names":[],"mappings":"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"}
@@ -46,18 +46,40 @@ export interface ProjectEventMap extends EntityEvents {
46
46
  export interface ProjectOptions {
47
47
  api: ProjectsApi;
48
48
  logger: Logger;
49
+ /**
50
+ * Reuse a server-known project id instead of minting a new one. Used when a
51
+ * project is rebuilt from a recovery snapshot.
52
+ * @internal
53
+ */
54
+ id?: string;
55
+ /**
56
+ * Mark the project as rebuilt from a server snapshot rather than created by
57
+ * this client.
58
+ * @internal
59
+ */
60
+ recovered?: boolean;
49
61
  }
50
62
  declare class Project extends DataEntity<ProjectData, ProjectEventMap> {
51
63
  private _jobs;
52
64
  private _lastEmitedProgress;
53
65
  private readonly _api;
54
66
  private readonly _logger;
67
+ private readonly _recovered;
55
68
  private _timeout;
56
69
  private _failedSyncAttempts;
57
70
  constructor(data: ProjectParams, options: ProjectOptions);
58
71
  get id(): string;
72
+ /** When this client started (or, for a recovered project, first learned about) the project. */
73
+ get startedAt(): Date;
74
+ /**
75
+ * `true` when this project was rebuilt from a server snapshot — after a page
76
+ * refresh, a reconnect, or in a second tab — instead of being created by this
77
+ * client. Its {@link params} are reconstructed from the original request and
78
+ * omit asset inputs (starting images, reference media).
79
+ */
80
+ get recovered(): boolean;
59
81
  get params(): ProjectParams;
60
- get type(): "image" | "video" | "audio";
82
+ get type(): "video" | "audio" | "image";
61
83
  get status(): ProjectStatus;
62
84
  /**
63
85
  * Estimated time of completion in seconds (for long-running projects like video generation).
@@ -31,7 +31,9 @@ function formatRuntimeLimit(limitMs) {
31
31
  }
32
32
  const PROJECT_STATUS_MAP = {
33
33
  pending: 'pending',
34
+ authorized: 'pending',
34
35
  active: 'queued',
36
+ queued: 'queued',
35
37
  assigned: 'processing',
36
38
  progress: 'processing',
37
39
  completed: 'completed',
@@ -41,7 +43,7 @@ const PROJECT_STATUS_MAP = {
41
43
  class Project extends DataEntity_js_1.default {
42
44
  constructor(data, options) {
43
45
  super({
44
- id: (0, getUUID_js_1.default)(),
46
+ id: options.id || (0, getUUID_js_1.default)(),
45
47
  startedAt: new Date(),
46
48
  params: data,
47
49
  queuePosition: -1,
@@ -53,12 +55,26 @@ class Project extends DataEntity_js_1.default {
53
55
  this._failedSyncAttempts = 0;
54
56
  this._api = options.api;
55
57
  this._logger = options.logger;
58
+ this._recovered = Boolean(options.recovered);
56
59
  this._timeout = setInterval(this._checkForTimeout.bind(this), PROJECT_TIMEOUT);
57
60
  this.on('updated', this.handleUpdated.bind(this));
58
61
  }
59
62
  get id() {
60
63
  return this.data.id;
61
64
  }
65
+ /** When this client started (or, for a recovered project, first learned about) the project. */
66
+ get startedAt() {
67
+ return this.data.startedAt;
68
+ }
69
+ /**
70
+ * `true` when this project was rebuilt from a server snapshot — after a page
71
+ * refresh, a reconnect, or in a second tab — instead of being created by this
72
+ * client. Its {@link params} are reconstructed from the original request and
73
+ * omit asset inputs (starting images, reference media).
74
+ */
75
+ get recovered() {
76
+ return this._recovered;
77
+ }
62
78
  get params() {
63
79
  return this.data.params;
64
80
  }
@@ -267,6 +283,13 @@ class Project extends DataEntity_js_1.default {
267
283
  });
268
284
  }
269
285
  _checkForTimeout() {
286
+ var _a, _b;
287
+ if ((_b = (_a = this._api)._shouldDeferProjectTimeouts) === null || _b === void 0 ? void 0 : _b.call(_a)) {
288
+ // The socket is down. Silence is expected, not staleness: the server
289
+ // keeps rendering and hands the project back on reconnect.
290
+ this._keepAlive();
291
+ return;
292
+ }
270
293
  if (this.lastUpdated.getTime() + PROJECT_TIMEOUT < Date.now()) {
271
294
  void this._runStalenessCheck();
272
295
  }
@@ -352,7 +375,7 @@ class Project extends DataEntity_js_1.default {
352
375
  // This should never happen, but just in case we log a warning
353
376
  if (!restJob) {
354
377
  this._logger.warn(`Job with id ${job.id} not found in the REST project data`);
355
- return;
378
+ continue;
356
379
  }
357
380
  try {
358
381
  yield job._syncWithRestData(restJob);
@@ -1 +1 @@
1
- {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/Projects/Project.ts"],"names":[],"mappings":"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"}