From 7a573d4e0e425fbee836d830fd10103ddbfc848c Mon Sep 17 00:00:00 2001 From: Killian Courvoisier <killian.courvoisier@cozycloud.cc> Date: Wed, 24 Jul 2024 15:53:56 +0200 Subject: [PATCH 1/7] feat: Add shouldFullSync function --- .../src/contentscript/ContentScript.js | 62 ++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/packages/cozy-clisk/src/contentscript/ContentScript.js b/packages/cozy-clisk/src/contentscript/ContentScript.js index 1e659ec8e..2e73c2ad4 100644 --- a/packages/cozy-clisk/src/contentscript/ContentScript.js +++ b/packages/cozy-clisk/src/contentscript/ContentScript.js @@ -100,6 +100,7 @@ export default class ContentScript { suffixFn: args => args?.[0] } ) + this.shouldFullSync = wrapTimerDebug(this, 'shouldFullSync') if (options.requestInterceptor) { this.requestInterceptor = options.requestInterceptor @@ -136,7 +137,8 @@ export default class ContentScript { 'getDebugData', 'getCliskVersion', 'checkForElement', - 'evaluate' + 'evaluate', + 'shouldFullSync' ] if (options.additionalExposedMethodsNames) { @@ -923,6 +925,57 @@ export default class ContentScript { } } + /** + * Determine if the konnector must fetch all or parts of the data. + * + * @param {object} options - All the data already fetched by the connector in a previous execution. + * Useful to optimize connector execution by not fetching data we already have. + * @returns {Promise<object>} - Promise that resolves to an object with the following properties: + * @property {boolean} shouldFullSync - Indicates if a full synchronization is needed. + * @property {number|NaN} distanceInDays - The number of days since the last sync, or NaN if not applicable. + */ + + async shouldFullSync(options) { + this.onlyIn(PILOT_TYPE, 'shouldFullSync') + const { trigger, flags } = options + let forceFullSync = false + let userFullSync = false + if (flags['clisk.force-full-sync'] === true) { + this.log('info', 'User forces full sync') + userFullSync = true + } + const isFirstJob = + !trigger.current_state?.last_failure && + !trigger.current_state?.last_success + const isLastJobError = + !isFirstJob && + trigger.current_state?.last_failure > trigger.current_state?.last_success + const hasLastExecution = Boolean(trigger.current_state?.last_execution) + let distanceInDays = 0 + if (hasLastExecution) { + distanceInDays = getDateDistanceInDays( + trigger.current_state?.last_execution + ) + } + this.log('debug', `distanceInDays: ${distanceInDays}`) + if ( + userFullSync || + !hasLastExecution || + isLastJobError || + distanceInDays >= 30 + ) { + this.log('info', '🐢️ Long execution') + this.log( + 'debug', + `isLastJobError: ${isLastJobError} | hasLastExecution: ${hasLastExecution}` + ) + forceFullSync = true + } else { + this.log('info', '🐇️ Quick execution') + } + return { forceFullSync, distanceInDays } + } + /** * Main function, fetches all connector data and save it to the cozy * @@ -951,3 +1004,10 @@ function sendPageMessage(message) { log.error('No window.ReactNativeWebView.postMessage available') } } + +function getDateDistanceInDays(dateString) { + const distanceMs = Date.now() - new Date(dateString).getTime() + const days = 1000 * 60 * 60 * 24 + + return Math.floor(distanceMs / days) +} From df6ba20af6073ce5f0ff5e83178854c34c301d68 Mon Sep 17 00:00:00 2001 From: Killian Courvoisier <killian.courvoisier@cozycloud.cc> Date: Wed, 24 Jul 2024 15:54:33 +0200 Subject: [PATCH 2/7] feat: Add shouldFullSync UTs --- .../src/contentscript/ContentScript.spec.js | 87 ++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/packages/cozy-clisk/src/contentscript/ContentScript.spec.js b/packages/cozy-clisk/src/contentscript/ContentScript.spec.js index 19c92d61b..dfbe910f1 100644 --- a/packages/cozy-clisk/src/contentscript/ContentScript.spec.js +++ b/packages/cozy-clisk/src/contentscript/ContentScript.spec.js @@ -168,7 +168,6 @@ describe('ContentScript', () => { ) }) }) - describe('runInWorkerUntilTrue', () => { const contentScript = new ContentScript() contentScript.contentScriptType = PILOT_TYPE @@ -200,4 +199,90 @@ describe('ContentScript', () => { ).rejects.toThrow('Timeout error') }) }) + describe('shouldFullSync', () => { + it('should force full sync => Flag', async () => { + const contentScript = new ContentScript() + contentScript.contentScriptType = PILOT_TYPE + + const options = { + flags: { + 'clisk.force-full-sync': true + }, + trigger: { + current_state: { + last_execution: '2024-07-24T14:55:57.83761233+02:00', + last_failure: '2024-07-23T14:55:57.83761233+02:00', + last_success: '2024-07-24T14:55:57.83761233+02:00' + } + } + } + const result = await contentScript.shouldFullSync(options) + expect(result).toEqual({ + forceFullSync: true, + distanceInDays: 0 + }) + }) + it('should force full sync => First execution', async () => { + const contentScript = new ContentScript() + contentScript.contentScriptType = PILOT_TYPE + + const options = { + flags: { + 'clisk.force-full-sync': false + }, + trigger: { + current_state: {} + } + } + const result = await contentScript.shouldFullSync(options) + expect(result).toEqual({ + forceFullSync: true, + distanceInDays: 0 + }) + }) + it('should force full sync => Last execution failed', async () => { + const contentScript = new ContentScript() + contentScript.contentScriptType = PILOT_TYPE + + const options = { + flags: { + 'clisk.force-full-sync': false + }, + trigger: { + current_state: { + last_execution: '2024-07-24T14:55:57.83761233+02:00', + last_failure: '2024-07-24T14:55:57.83761233+02:00', + last_success: '2024-07-23T14:55:57.83761233+02:00' + } + } + } + const result = await contentScript.shouldFullSync(options) + expect(result).toEqual({ + forceFullSync: true, + distanceInDays: 0 + }) + }) + it('should not force full sync', async () => { + const contentScript = new ContentScript() + contentScript.contentScriptType = PILOT_TYPE + + const options = { + flags: { + 'clisk.force-full-sync': false + }, + trigger: { + current_state: { + last_execution: '2024-07-24T14:55:57.83761233+02:00', + last_failure: '2024-07-23T14:55:57.83761233+02:00', + last_success: '2024-07-24T14:55:57.83761233+02:00' + } + } + } + const result = await contentScript.shouldFullSync(options) + expect(result).toEqual({ + forceFullSync: false, + distanceInDays: 0 + }) + }) + }) }) From e0f0eee17ea9f1dce799f62f3db6ef49ec48caa2 Mon Sep 17 00:00:00 2001 From: Killian Courvoisier <killian.courvoisier@cozycloud.cc> Date: Thu, 25 Jul 2024 10:30:48 +0200 Subject: [PATCH 3/7] fix: Small renaming and corrections after review --- .../cozy-clisk/src/contentscript/ContentScript.js | 11 ++++------- .../src/contentscript/ContentScript.spec.js | 8 ++++---- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/packages/cozy-clisk/src/contentscript/ContentScript.js b/packages/cozy-clisk/src/contentscript/ContentScript.js index 2e73c2ad4..eb12dc81d 100644 --- a/packages/cozy-clisk/src/contentscript/ContentScript.js +++ b/packages/cozy-clisk/src/contentscript/ContentScript.js @@ -100,8 +100,6 @@ export default class ContentScript { suffixFn: args => args?.[0] } ) - this.shouldFullSync = wrapTimerDebug(this, 'shouldFullSync') - if (options.requestInterceptor) { this.requestInterceptor = options.requestInterceptor this.requestInterceptor.setLogger(this.log.bind(this)) @@ -137,8 +135,7 @@ export default class ContentScript { 'getDebugData', 'getCliskVersion', 'checkForElement', - 'evaluate', - 'shouldFullSync' + 'evaluate' ] if (options.additionalExposedMethodsNames) { @@ -939,10 +936,10 @@ export default class ContentScript { this.onlyIn(PILOT_TYPE, 'shouldFullSync') const { trigger, flags } = options let forceFullSync = false - let userFullSync = false + let flagFullSync = false if (flags['clisk.force-full-sync'] === true) { this.log('info', 'User forces full sync') - userFullSync = true + flagFullSync = true } const isFirstJob = !trigger.current_state?.last_failure && @@ -959,7 +956,7 @@ export default class ContentScript { } this.log('debug', `distanceInDays: ${distanceInDays}`) if ( - userFullSync || + flagFullSync || !hasLastExecution || isLastJobError || distanceInDays >= 30 diff --git a/packages/cozy-clisk/src/contentscript/ContentScript.spec.js b/packages/cozy-clisk/src/contentscript/ContentScript.spec.js index dfbe910f1..d4146ef29 100644 --- a/packages/cozy-clisk/src/contentscript/ContentScript.spec.js +++ b/packages/cozy-clisk/src/contentscript/ContentScript.spec.js @@ -200,7 +200,7 @@ describe('ContentScript', () => { }) }) describe('shouldFullSync', () => { - it('should force full sync => Flag', async () => { + it('should force full sync if forceFullSync flag is activated', async () => { const contentScript = new ContentScript() contentScript.contentScriptType = PILOT_TYPE @@ -222,7 +222,7 @@ describe('ContentScript', () => { distanceInDays: 0 }) }) - it('should force full sync => First execution', async () => { + it('should force full sync if it is the first execution', async () => { const contentScript = new ContentScript() contentScript.contentScriptType = PILOT_TYPE @@ -240,7 +240,7 @@ describe('ContentScript', () => { distanceInDays: 0 }) }) - it('should force full sync => Last execution failed', async () => { + it('should force full sync if the last execution failed', async () => { const contentScript = new ContentScript() contentScript.contentScriptType = PILOT_TYPE @@ -262,7 +262,7 @@ describe('ContentScript', () => { distanceInDays: 0 }) }) - it('should not force full sync', async () => { + it('should not force full sync in nominal case', async () => { const contentScript = new ContentScript() contentScript.contentScriptType = PILOT_TYPE From 40d3391f81dcd2c1315834b030aa73da7ce1d13f Mon Sep 17 00:00:00 2001 From: Killian Courvoisier <killian.courvoisier@cozycloud.cc> Date: Fri, 26 Jul 2024 15:43:20 +0200 Subject: [PATCH 4/7] fix: Mock date of the day for shouldFullSync --- .../cozy-clisk/src/contentscript/ContentScript.spec.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/cozy-clisk/src/contentscript/ContentScript.spec.js b/packages/cozy-clisk/src/contentscript/ContentScript.spec.js index d4146ef29..4aa1c0fea 100644 --- a/packages/cozy-clisk/src/contentscript/ContentScript.spec.js +++ b/packages/cozy-clisk/src/contentscript/ContentScript.spec.js @@ -200,6 +200,13 @@ describe('ContentScript', () => { }) }) describe('shouldFullSync', () => { + const fixedDate = new Date('2024-07-24T14:55:57.83761233+02:00').getTime() + beforeAll(() => { + jest.spyOn(Date, 'now').mockImplementation(() => fixedDate) + }) + afterAll(() => { + jest.restoreAllMocks() + }) it('should force full sync if forceFullSync flag is activated', async () => { const contentScript = new ContentScript() contentScript.contentScriptType = PILOT_TYPE From 8284c6c46d6c9ec8a18a724ca7ec55b117e1a740 Mon Sep 17 00:00:00 2001 From: Cozy Bot <npm@cozycloud.cc> Date: Fri, 26 Jul 2024 13:54:33 +0000 Subject: [PATCH 5/7] [skip ci] Publish - cozy-clisk@0.38.0 --- packages/cozy-clisk/CHANGELOG.md | 18 ++++++++++++++++++ packages/cozy-clisk/package.json | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/cozy-clisk/CHANGELOG.md b/packages/cozy-clisk/CHANGELOG.md index 39b358a03..7dcb3378f 100644 --- a/packages/cozy-clisk/CHANGELOG.md +++ b/packages/cozy-clisk/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.38.0](https://github.com/konnectors/libs/compare/cozy-clisk@0.37.0...cozy-clisk@0.38.0) (2024-07-26) + + +### Bug Fixes + +* Mock date of the day for shouldFullSync ([40d3391](https://github.com/konnectors/libs/commit/40d3391f81dcd2c1315834b030aa73da7ce1d13f)) +* Small renaming and corrections after review ([e0f0eee](https://github.com/konnectors/libs/commit/e0f0eee17ea9f1dce799f62f3db6ef49ec48caa2)) + + +### Features + +* Add shouldFullSync function ([7a573d4](https://github.com/konnectors/libs/commit/7a573d4e0e425fbee836d830fd10103ddbfc848c)) +* Add shouldFullSync UTs ([df6ba20](https://github.com/konnectors/libs/commit/df6ba20af6073ce5f0ff5e83178854c34c301d68)) + + + + + # [0.37.0](https://github.com/konnectors/libs/compare/cozy-clisk@0.36.1...cozy-clisk@0.37.0) (2024-06-17) diff --git a/packages/cozy-clisk/package.json b/packages/cozy-clisk/package.json index 27021b727..558ef3a25 100644 --- a/packages/cozy-clisk/package.json +++ b/packages/cozy-clisk/package.json @@ -1,6 +1,6 @@ { "name": "cozy-clisk", - "version": "0.37.0", + "version": "0.38.0", "description": "All the libs needed to run a cozy client connector", "repository": { "type": "git", From 443e52478c4facc0e288f564d2acbc66435abaa2 Mon Sep 17 00:00:00 2001 From: doubleface <christophe@cozycloud.cc> Date: Tue, 21 May 2024 17:21:35 +0200 Subject: [PATCH 6/7] fix: Explicitely use node-fetch 2.7.0 To avoid node-fetch bug with node 20 : "socket hang up" / ECONNRESET on consecutive requests with Node.js 19 and Node.js 20 --- packages/cozy-konnector-libs/package.json | 2 +- yarn.lock | 33 ++++++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/packages/cozy-konnector-libs/package.json b/packages/cozy-konnector-libs/package.json index 7bf2fb28b..656f6cb79 100644 --- a/packages/cozy-konnector-libs/package.json +++ b/packages/cozy-konnector-libs/package.json @@ -38,7 +38,7 @@ "lodash-id": "^0.14.0", "lowdb": "^1.0.0", "mime-types": "^2.1.31", - "node-fetch": "^2.6.1", + "node-fetch": "^2.7.0", "raven": "^2.6.4", "raw-body": "^2.4.1", "request": "^2.88.2", diff --git a/yarn.lock b/yarn.lock index cbf2016df..ecbe857e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9088,7 +9088,7 @@ nock@^12.0.3: lodash "^4.17.13" propagate "^2.0.0" -node-fetch@2.7.0, node-fetch@^2.0.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@2.7.0, node-fetch@^2.0.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7, node-fetch@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -11310,7 +11310,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -11328,6 +11328,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -11403,7 +11412,7 @@ stringify-clone@^1.0.0: resolved "https://registry.yarnpkg.com/stringify-clone/-/stringify-clone-1.1.1.tgz#309a235fb4ecfccd7d388dbe18ba904facaf433b" integrity sha512-LIFpvBnQJF3ZGoV770s3feH+wRVCMRSisI8fl1E57WfgKOZKUMaC1r4eJXybwGgXZ/iTTJoK/tsOku1GLPyyxQ== -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -11417,6 +11426,13 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -12613,7 +12629,16 @@ wordwrapjs@^3.0.0: reduce-flatten "^1.0.1" typical "^2.6.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From bc376a88dfd81f4b722fc717d458cbdc8ec69bb5 Mon Sep 17 00:00:00 2001 From: Cozy Bot <npm@cozycloud.cc> Date: Tue, 17 Sep 2024 07:24:56 +0000 Subject: [PATCH 7/7] [skip ci] Publish - cozy-jobs-cli@2.4.4 - cozy-konnector-libs@5.12.1 --- packages/cozy-jobs-cli/CHANGELOG.md | 8 ++++++++ packages/cozy-jobs-cli/package.json | 4 ++-- packages/cozy-konnector-libs/CHANGELOG.md | 11 +++++++++++ packages/cozy-konnector-libs/package.json | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/cozy-jobs-cli/CHANGELOG.md b/packages/cozy-jobs-cli/CHANGELOG.md index c7bc8bbc1..f4cd00d04 100644 --- a/packages/cozy-jobs-cli/CHANGELOG.md +++ b/packages/cozy-jobs-cli/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.4](https://github.com/cozy/cozy-konnector-libs/compare/cozy-jobs-cli@2.4.3...cozy-jobs-cli@2.4.4) (2024-09-17) + +**Note:** Version bump only for package cozy-jobs-cli + + + + + ## [2.4.3](https://github.com/cozy/cozy-konnector-libs/compare/cozy-jobs-cli@2.4.2...cozy-jobs-cli@2.4.3) (2024-07-18) **Note:** Version bump only for package cozy-jobs-cli diff --git a/packages/cozy-jobs-cli/package.json b/packages/cozy-jobs-cli/package.json index 0c8c9ffa3..1b3c067f7 100644 --- a/packages/cozy-jobs-cli/package.json +++ b/packages/cozy-jobs-cli/package.json @@ -1,6 +1,6 @@ { "name": "cozy-jobs-cli", - "version": "2.4.3", + "version": "2.4.4", "description": "Manage cozy jobs", "main": "index.js", "repository": { @@ -29,7 +29,7 @@ "cozy-client": "45.14.1", "cozy-device-helper": "^2.1.0", "cozy-flags": "^2.8.7", - "cozy-konnector-libs": "^5.12.0", + "cozy-konnector-libs": "^5.12.1", "cozy-logger": "1.9.0", "node-fetch": "2.7.0", "open": "8.4.0", diff --git a/packages/cozy-konnector-libs/CHANGELOG.md b/packages/cozy-konnector-libs/CHANGELOG.md index a4ff6f028..1a484823b 100644 --- a/packages/cozy-konnector-libs/CHANGELOG.md +++ b/packages/cozy-konnector-libs/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.12.1](https://github.com/cozy/cozy-konnector-libs/compare/cozy-konnector-libs@5.12.0...cozy-konnector-libs@5.12.1) (2024-09-17) + + +### Bug Fixes + +* Explicitely use node-fetch 2.7.0 ([443e524](https://github.com/cozy/cozy-konnector-libs/commit/443e52478c4facc0e288f564d2acbc66435abaa2)) + + + + + # [5.12.0](https://github.com/cozy/cozy-konnector-libs/compare/cozy-konnector-libs@5.11.0...cozy-konnector-libs@5.12.0) (2024-07-18) diff --git a/packages/cozy-konnector-libs/package.json b/packages/cozy-konnector-libs/package.json index 656f6cb79..720e6fb3f 100644 --- a/packages/cozy-konnector-libs/package.json +++ b/packages/cozy-konnector-libs/package.json @@ -1,6 +1,6 @@ { "name": "cozy-konnector-libs", - "version": "5.12.0", + "version": "5.12.1", "description": "All the libs needed by a cozy v3 konnector", "main": "dist/index.js", "repository": {