From aeb1f0654e245199e96c5eaf6de734d3309c9db7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 17:12:20 +0000 Subject: [PATCH 1/3] Initial plan From 454b3c75e9bef574c10e9df546633d4b9d619767 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 17:16:58 +0000 Subject: [PATCH 2/3] Fix calendar time settings to use user-configured values instead of hardcoded 06:00-22:00 Co-authored-by: gregor202 <6792983+gregor202@users.noreply.github.com> --- src/templates/defaultBasesFiles.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/templates/defaultBasesFiles.ts b/src/templates/defaultBasesFiles.ts index d6712bf0..d012d650 100644 --- a/src/templates/defaultBasesFiles.ts +++ b/src/templates/defaultBasesFiles.ts @@ -231,8 +231,8 @@ ${orderYaml} calendarView: "timeGridWeek" customDayCount: 3 firstDay: 0 - slotMinTime: "06:00:00" - slotMaxTime: "22:00:00" + slotMinTime: "${settings.calendarViewSettings.slotMinTime}" + slotMaxTime: "${settings.calendarViewSettings.slotMaxTime}" slotDuration: "00:30:00" `; @@ -356,8 +356,8 @@ export const DEFAULT_BASES_FILES: Record = { calendarView: "timeGridWeek" customDayCount: 3 firstDay: 0 - slotMinTime: "06:00:00" - slotMaxTime: "22:00:00" + slotMinTime: "00:00:00" + slotMaxTime: "24:00:00" slotDuration: "00:30:00" `, From 82d6e0832e4e587f963afb246ad8d07b3b32660a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 17:20:58 +0000 Subject: [PATCH 3/3] Add tests for calendar time settings fix Co-authored-by: gregor202 <6792983+gregor202@users.noreply.github.com> --- package-lock.json | 28 --------- .../unit/templates/defaultBasesFiles.test.ts | 59 +++++++++++++++++++ 2 files changed, 59 insertions(+), 28 deletions(-) create mode 100644 tests/unit/templates/defaultBasesFiles.test.ts diff --git a/package-lock.json b/package-lock.json index c7e9c8cd..ad1a7313 100644 --- a/package-lock.json +++ b/package-lock.json @@ -140,7 +140,6 @@ "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -742,7 +741,6 @@ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz", "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==", "license": "MIT", - "peer": true, "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } @@ -752,7 +750,6 @@ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.1.tgz", "integrity": "sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ==", "license": "MIT", - "peer": true, "dependencies": { "@codemirror/state": "^6.5.0", "crelt": "^1.0.6", @@ -848,7 +845,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -872,7 +868,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -1469,7 +1464,6 @@ "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.19.tgz", "integrity": "sha512-z0aVlO5e4Wah6p6mouM0UEqtRf1MZZPt4mwzEyU6kusaNL+dlWQgAasF2cK23hwT4cmxkEmr4inULXgpyeExdQ==", "license": "MIT", - "peer": true, "dependencies": { "preact": "~10.12.1" } @@ -2657,7 +2651,6 @@ "integrity": "sha512-7199re3wvMAlVqXLaCyAr8IkJSXqkeVAxcYyB2rBu4Id5m2hhlGX1dQsdMBiCXLwu6/LLVqDvJggSNVQBzL6ZQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/css-font-loading-module": "^0.0.7" }, @@ -2707,7 +2700,6 @@ "integrity": "sha512-0XtvrfxHlS2T+beBBSpo7GI8+QLyyTqMVQpNmPqB4woYxzrOEJ9JaUFBaBfCvycLeUkfVih1u6HAbtF+2d1EjQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@pixi/color": "7.2.4", "@pixi/constants": "7.2.4", @@ -2730,7 +2722,6 @@ "integrity": "sha512-w5tqb8cWEO5qIDaO9GEqRvxYhL0iMk0Wsngw23bbLm1gLEQmrFkB2tpJlRAqd7H82C3DrDDeWvkrrxW6+m4apg==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@pixi/core": "7.2.4" } @@ -2741,7 +2732,6 @@ "integrity": "sha512-/JtmoB98fzIU8giN9xvlRvmvOi6u4MaD2DnKNOMHkQ1MBraj3pmrXM9fZ0JbNzi+324GraAAY76QidgHjIYoYQ==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@pixi/core": "7.2.4", "@pixi/display": "7.2.4" @@ -2830,7 +2820,6 @@ "integrity": "sha512-3A2EumTjWJgXlDLOyuBrl9b6v1Za/E+/IjOGUIX843HH4NYaf1a2sfDfljx6r3oiDvy+VhuBFmgynRcV5IyA0Q==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@pixi/core": "7.2.4", "@pixi/display": "7.2.4", @@ -2850,7 +2839,6 @@ "integrity": "sha512-wiALIqcRKib2BqeH9kOA5fOKWN352nqAspgbDa8gA7OyWzmNwqIedIlElixd0oLFOrIN5jOZAdzeKnoYQlt9Aw==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@pixi/core": "7.2.4", "@pixi/display": "7.2.4" @@ -2957,7 +2945,6 @@ "integrity": "sha512-DhR1B+/d0eXpxHIesJMXcVPrKFwQ+zRA1LvEIFfzewqfaRN3X6PMIuoKX8SIb6tl+Hq8Ba9Pe28zI7d2rmRzrA==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@pixi/core": "7.2.4", "@pixi/display": "7.2.4" @@ -3003,7 +2990,6 @@ "integrity": "sha512-DGu7ktpe+zHhqR2sG9NsJt4mgvSObv5EqXTtUxD4Z0li1gmqF7uktpLyn5I6vSg1TTEL4TECClRDClVDGiykWw==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "@pixi/core": "7.2.4", "@pixi/sprite": "7.2.4" @@ -3054,7 +3040,6 @@ "integrity": "sha512-VUGQHBOINIS4ePzoqafwxaGPVRTa3oM/mEutIIHbNGI3b+QvSO+1Dnk40M0zcH6Bo+MxQZbOZK5X/wO9oU5+LQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@pixi/color": "7.2.4", "@pixi/constants": "7.2.4", @@ -3875,7 +3860,6 @@ "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.29.0", "@typescript-eslint/types": "5.29.0", @@ -4494,7 +4478,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4948,7 +4931,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001718", "electron-to-chromium": "^1.5.160", @@ -5184,7 +5166,6 @@ "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@chevrotain/cst-dts-gen": "11.0.3", "@chevrotain/gast": "11.0.3", @@ -5397,7 +5378,6 @@ "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } @@ -5832,7 +5812,6 @@ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -6578,7 +6557,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -6651,7 +6629,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -9007,7 +8984,6 @@ "integrity": "sha512-yC3JvpP/ZcAZX5rYCtXO/g9k6VTCQz0VFE2v1FpxytWzUqfDtu0XL/pwnNvptzYItvGwomh1ehomRNMOyhCJKw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "30.1.1", "@jest/types": "30.0.5", @@ -9769,7 +9745,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -11185,7 +11160,6 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -12738,7 +12712,6 @@ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12815,7 +12788,6 @@ "integrity": "sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.1.0", "@typescript-eslint/types": "7.1.0", diff --git a/tests/unit/templates/defaultBasesFiles.test.ts b/tests/unit/templates/defaultBasesFiles.test.ts new file mode 100644 index 00000000..0487b931 --- /dev/null +++ b/tests/unit/templates/defaultBasesFiles.test.ts @@ -0,0 +1,59 @@ +import { generateBasesFileTemplate } from '../../../src/templates/defaultBasesFiles'; +import { DEFAULT_SETTINGS } from '../../../src/settings/defaults'; +import { TaskNotesSettings } from '../../../src/types/settings'; + +describe('generateBasesFileTemplate', () => { +describe('Calendar time settings', () => { +it('should use user-configured slotMinTime and slotMaxTime for advanced calendar view', () => { +// Create settings with custom calendar times +const customSettings: TaskNotesSettings = { +...DEFAULT_SETTINGS, +calendarViewSettings: { +...DEFAULT_SETTINGS.calendarViewSettings, +slotMinTime: "08:00:00", +slotMaxTime: "20:00:00", +}, +}; + +const template = generateBasesFileTemplate('open-advanced-calendar-view', customSettings); + +// Verify the template includes the custom times +expect(template).toContain('slotMinTime: "08:00:00"'); +expect(template).toContain('slotMaxTime: "20:00:00"'); +}); + +it('should use default 00:00-24:00 times when using default settings', () => { +const template = generateBasesFileTemplate('open-advanced-calendar-view', DEFAULT_SETTINGS); + +// Verify the template includes the default times +expect(template).toContain('slotMinTime: "00:00:00"'); +expect(template).toContain('slotMaxTime: "24:00:00"'); +}); + +it('should NOT use hardcoded 06:00-22:00 times', () => { +const template = generateBasesFileTemplate('open-advanced-calendar-view', DEFAULT_SETTINGS); + +// Verify the template does NOT include the old hardcoded times +expect(template).not.toContain('slotMinTime: "06:00:00"'); +expect(template).not.toContain('slotMaxTime: "22:00:00"'); +}); + +it('should respect extreme time ranges', () => { +// Test with a very narrow time range +const narrowSettings: TaskNotesSettings = { +...DEFAULT_SETTINGS, +calendarViewSettings: { +...DEFAULT_SETTINGS.calendarViewSettings, +slotMinTime: "09:00:00", +slotMaxTime: "17:00:00", +}, +}; + +const template = generateBasesFileTemplate('open-advanced-calendar-view', narrowSettings); + +// Verify the template includes the narrow time range +expect(template).toContain('slotMinTime: "09:00:00"'); +expect(template).toContain('slotMaxTime: "17:00:00"'); +}); +}); +});