diff --git a/packages/integrations/package.json b/packages/integrations/package.json index eedb34ecf..e5f2b93e4 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -43,7 +43,7 @@ "@octokit/auth-app": "^8.2.0", "ical.js": "^2.2.1", "maria2": "^0.4.1", - "node-ical": "^0.22.1", + "node-ical": "^0.23.1", "octokit": "^5.0.5", "proxmox-api": "1.1.1", "tsdav": "^2.1.8", diff --git a/packages/integrations/src/nextcloud/nextcloud.integration.ts b/packages/integrations/src/nextcloud/nextcloud.integration.ts index 531191cf6..5c8aabc90 100644 --- a/packages/integrations/src/nextcloud/nextcloud.integration.ts +++ b/packages/integrations/src/nextcloud/nextcloud.integration.ts @@ -87,10 +87,7 @@ export class NextcloudIntegration extends Integration implements ICalendarIntegr const durationMs = veventObject.end.getTime() - veventObject.start.getTime(); return startDates.map((startDate) => { - const timezoneOffsetMinutes = veventObject.rrule?.origOptions.tzid - ? dayjs(startDate).tz(veventObject.rrule.origOptions.tzid).utcOffset() - : 0; - const utcStartDate = new Date(startDate.getTime() - timezoneOffsetMinutes * 60 * 1000); + const utcStartDate = dayjs(startDate).tz("UTC").toDate(); const endDate = new Date(utcStartDate.getTime() + durationMs); const dateInMillis = utcStartDate.valueOf(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0fc8bca3d..cd8ecb847 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1481,8 +1481,8 @@ importers: specifier: ^0.4.1 version: 0.4.1 node-ical: - specifier: ^0.22.1 - version: 0.22.1 + specifier: ^0.23.1 + version: 0.23.1 octokit: specifier: ^5.0.5 version: 5.0.5 @@ -3704,6 +3704,10 @@ packages: '@js-sdsl/ordered-map@4.4.2': resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + '@js-temporal/polyfill@0.5.1': + resolution: {integrity: sha512-hloP58zRVCRSpgDxmqCWJNlizAlUgJFqG2ypq79DCvyv9tHjRYMDOcPFjzfl/A1/YxDvRCZz8wvZvmapQnKwFQ==} + engines: {node: '>=12'} + '@jsep-plugin/assignment@1.3.0': resolution: {integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==} engines: {node: '>= 10.16.0'} @@ -7866,6 +7870,9 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsbi@4.3.2: + resolution: {integrity: sha512-9fqMSQbhJykSeii05nxKl4m6Eqn2P6rOlYiS+C5Dr/HPIU/7yZxu5qzbs40tgaFORiw2Amd0mirjxatXYMkIew==} + jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} @@ -8519,8 +8526,8 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true - node-ical@0.22.1: - resolution: {integrity: sha512-rMdc5hhJT3ZPtZIWfEXcetRrPl2xeHGpMJX8lq4VwyLKfOzGr+rXVtx0lD8lSf27Hn3mxrbU3MUcMSMXp4rIQA==} + node-ical@0.23.1: + resolution: {integrity: sha512-4+FON2u++r7vU9VfTCris9hgxS5darN4P7aQZOJkzDazXLRS7cExb0G5OWO3CzRs8gHd5um1fdSMF0e45f7xAg==} engines: {node: '>=18'} node-loader@2.1.0: @@ -9558,8 +9565,8 @@ packages: rrdom@0.1.7: resolution: {integrity: sha512-ZLd8f14z9pUy2Hk9y636cNv5Y2BMnNEY99wxzW9tD2BLDfe1xFxtLjB4q/xCBYo6HRe0wofzKzjm4JojmpBfFw==} - rrule@2.8.1: - resolution: {integrity: sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==} + rrule-temporal@1.3.0: + resolution: {integrity: sha512-0duSf+wBX4FKNpznFDecEDkIzdoP7n3++Lt9TPpImhaRtENsa/qd3EhpV5Fi1TxVvBFN4ayOXVrK0aPvt+a80g==} rrweb-player@1.0.0-alpha.4: resolution: {integrity: sha512-Wlmn9GZ5Fdqa37vd3TzsYdLl/JWEvXNUrLCrYpnOwEgmY409HwVIvvA5aIo7k582LoKgdRCsB87N+f0oWAR0Kg==} @@ -12213,6 +12220,10 @@ snapshots: '@js-sdsl/ordered-map@4.4.2': {} + '@js-temporal/polyfill@0.5.1': + dependencies: + jsbi: 4.3.2 + '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)': dependencies: jsep: 1.4.0 @@ -17062,6 +17073,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsbi@4.3.2: {} + jsbn@1.1.0: {} jsdom@28.1.0(@noble/hashes@2.0.1): @@ -17849,9 +17862,10 @@ snapshots: node-gyp-build@4.8.4: {} - node-ical@0.22.1: + node-ical@0.23.1: dependencies: - rrule: 2.8.1 + '@js-temporal/polyfill': 0.5.1 + rrule-temporal: 1.3.0 node-loader@2.1.0(webpack@5.94.0): dependencies: @@ -18961,9 +18975,9 @@ snapshots: dependencies: rrweb-snapshot: 2.0.0-alpha.4 - rrule@2.8.1: + rrule-temporal@1.3.0: dependencies: - tslib: 2.8.1 + '@js-temporal/polyfill': 0.5.1 rrweb-player@1.0.0-alpha.4: dependencies: