diff --git a/.changeset/config-reload-isolation.md b/.changeset/config-reload-isolation.md deleted file mode 100644 index 85c03959..00000000 --- a/.changeset/config-reload-isolation.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@when/web': patch -'@when/worker': patch -'@when/cli': patch ---- - -Isolate configuration loading inputs and adopt a reusable, serialized reload monitor based on Directory's approach. Preserve existing path conventions and restart rules, retain accepted settings after invalid edits, and make cleanup available before startup reconciliation. diff --git a/.changeset/duration-aware-rescheduling.md b/.changeset/duration-aware-rescheduling.md deleted file mode 100644 index bb380ae2..00000000 --- a/.changeset/duration-aware-rescheduling.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@when/web': patch ---- - -Allow rescheduling to change the start time, duration, or both within the existing guest and admin constraints. Start with the current day and interval selected in the calendar wizard, retain the start when a new duration fits, and build a factual proposed-selection summary as changes are made. Keep navigation available and disable only final reschedule submission until the interval is valid and changed, with the same check inside the write transaction. - -Restore pending guests' saved public location choices in the reschedule form without exposing private host-entered meeting details. diff --git a/.changeset/google-consent-form-policy.md b/.changeset/google-consent-form-policy.md deleted file mode 100644 index f02b8a5c..00000000 --- a/.changeset/google-consent-form-policy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@when/web': patch ---- - -Allow Google's consent origin in the form security policy so the admin calendar connection can redirect in Chromium. diff --git a/.changeset/modern-sveltekit-three.md b/.changeset/modern-sveltekit-three.md deleted file mode 100644 index c3fbec1b..00000000 --- a/.changeset/modern-sveltekit-three.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@when/web': patch ---- - -Upgrade to SvelteKit 3 with native subpath imports, current framework APIs, and trusted reverse-proxy origin handling. diff --git a/.changeset/navigation-progress.md b/.changeset/navigation-progress.md deleted file mode 100644 index 2e97634d..00000000 --- a/.changeset/navigation-progress.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@when/web': patch ---- - -Show a themed navigation progress bar using native SvelteKit state and Svelte motion. Preserve a short completion cue across full-page transitions with session storage, handle back-to-back navigation safely, and respect reduced-motion preferences. diff --git a/.changeset/official-prometheus-client.md b/.changeset/official-prometheus-client.md deleted file mode 100644 index a07b84bd..00000000 --- a/.changeset/official-prometheus-client.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@when/web': patch -'@when/worker': patch ---- - -Replace deprecated prom-client with the official @prometheus-io/client and remove Node collectors and their background sampling. Aggregate private worker snapshots natively and expose worker collection health. Centralize instrumentation at operation boundaries, count appointment operation outcomes, and categorize SMTP/calendar failures without putting metric calls in business implementations. - -Booking attempts now label unclassified failures `error` rather than `database_error`. diff --git a/.changeset/stateless-better-auth.md b/.changeset/stateless-better-auth.md deleted file mode 100644 index 6a0d6e4e..00000000 --- a/.changeset/stateless-better-auth.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@when/web': patch ---- - -Replace Auth.js with stateless Better Auth for admin sign-in, including native request throttling and fixed seven-day sessions. Existing sessions require signing in again. diff --git a/.changeset/stop-web-config-watcher.md b/.changeset/stop-web-config-watcher.md deleted file mode 100644 index dc740e09..00000000 --- a/.changeset/stop-web-config-watcher.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@when/web': patch ---- - -Stop the configuration watcher after native server shutdown so the web process can exit cleanly. diff --git a/.changeset/yaml-first-onboarding.md b/.changeset/yaml-first-onboarding.md deleted file mode 100644 index 1d5add37..00000000 --- a/.changeset/yaml-first-onboarding.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@when/web': patch -'@when/cli': patch ---- - -Make first-time setup YAML-first without requiring an environment file. Accept an optional `auth.secret`, preserve existing `AUTH_SECRET` overrides, and otherwise generate a secure session key at web startup; restarting signs users out unless a stable key is configured. - -Align Compose, configuration examples, CLI starter and setup documentation around existing service/path defaults, optional interpolation and advanced per-service overrides. Leave required passwords blank rather than shipping a shared admin login, create CLI starters with private permissions, and keep inline credentials out of YAML syntax diagnostics. diff --git a/apps/cli/CHANGELOG.md b/apps/cli/CHANGELOG.md index 14b05944..c1165eba 100644 --- a/apps/cli/CHANGELOG.md +++ b/apps/cli/CHANGELOG.md @@ -1,5 +1,14 @@ # @when/cli +## 0.1.1 + +### Patch Changes + +- d9aba2d: Isolate configuration loading inputs and adopt a reusable, serialized reload monitor based on Directory's approach. Preserve existing path conventions and restart rules, retain accepted settings after invalid edits, and make cleanup available before startup reconciliation. +- e11ef0d: Make first-time setup YAML-first without requiring an environment file. Accept an optional `auth.secret`, preserve existing `AUTH_SECRET` overrides, and otherwise generate a secure session key at web startup; restarting signs users out unless a stable key is configured. + + Align Compose, configuration examples, CLI starter and setup documentation around existing service/path defaults, optional interpolation and advanced per-service overrides. Leave required passwords blank rather than shipping a shared admin login, create CLI starters with private permissions, and keep inline credentials out of YAML syntax diagnostics. + ## 0.1.0 ### Minor Changes diff --git a/apps/cli/package.json b/apps/cli/package.json index 25ad2880..7cd1f89b 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "@when/cli", - "version": "0.1.0", + "version": "0.1.1", "private": true, "type": "module", "files": [ diff --git a/apps/web/CHANGELOG.md b/apps/web/CHANGELOG.md index bf2706c9..60a6b367 100644 --- a/apps/web/CHANGELOG.md +++ b/apps/web/CHANGELOG.md @@ -1,5 +1,27 @@ # @when/web +## 0.1.1 + +### Patch Changes + +- d9aba2d: Isolate configuration loading inputs and adopt a reusable, serialized reload monitor based on Directory's approach. Preserve existing path conventions and restart rules, retain accepted settings after invalid edits, and make cleanup available before startup reconciliation. +- a1a3d31: Allow rescheduling to change the start time, duration, or both within the existing guest and admin constraints. Start with the current day and interval selected in the calendar wizard, retain the start when a new duration fits, and build a factual proposed-selection summary as changes are made. Keep navigation available and disable only final reschedule submission until the interval is valid and changed, with the same check inside the write transaction. + + Restore pending guests' saved public location choices in the reschedule form without exposing private host-entered meeting details. + +- d60f89c: Allow Google's consent origin in the form security policy so the admin calendar connection can redirect in Chromium. +- c84110f: Upgrade to SvelteKit 3 with native subpath imports, current framework APIs, and trusted reverse-proxy origin handling. +- d5561bf: Show a themed navigation progress bar using native SvelteKit state and Svelte motion. Preserve a short completion cue across full-page transitions with session storage, handle back-to-back navigation safely, and respect reduced-motion preferences. +- c5feeb8: Replace deprecated prom-client with the official @prometheus-io/client and remove Node collectors and their background sampling. Aggregate private worker snapshots natively and expose worker collection health. Centralize instrumentation at operation boundaries, count appointment operation outcomes, and categorize SMTP/calendar failures without putting metric calls in business implementations. + + Booking attempts now label unclassified failures `error` rather than `database_error`. + +- 7802f13: Replace Auth.js with stateless Better Auth for admin sign-in, including native request throttling and fixed seven-day sessions. Existing sessions require signing in again. +- 71da8a9: Stop the configuration watcher after native server shutdown so the web process can exit cleanly. +- e11ef0d: Make first-time setup YAML-first without requiring an environment file. Accept an optional `auth.secret`, preserve existing `AUTH_SECRET` overrides, and otherwise generate a secure session key at web startup; restarting signs users out unless a stable key is configured. + + Align Compose, configuration examples, CLI starter and setup documentation around existing service/path defaults, optional interpolation and advanced per-service overrides. Leave required passwords blank rather than shipping a shared admin login, create CLI starters with private permissions, and keep inline credentials out of YAML syntax diagnostics. + ## 0.1.0 ### Minor Changes diff --git a/apps/web/package.json b/apps/web/package.json index 3e0b8a2d..574cc034 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,7 +1,7 @@ { "name": "@when/web", "private": true, - "version": "0.1.0", + "version": "0.1.1", "type": "module", "packageManager": "pnpm@11.9.0", "engines": { diff --git a/apps/worker/CHANGELOG.md b/apps/worker/CHANGELOG.md index 0cb97186..628f42e6 100644 --- a/apps/worker/CHANGELOG.md +++ b/apps/worker/CHANGELOG.md @@ -1,5 +1,14 @@ # @when/worker +## 0.1.1 + +### Patch Changes + +- d9aba2d: Isolate configuration loading inputs and adopt a reusable, serialized reload monitor based on Directory's approach. Preserve existing path conventions and restart rules, retain accepted settings after invalid edits, and make cleanup available before startup reconciliation. +- c5feeb8: Replace deprecated prom-client with the official @prometheus-io/client and remove Node collectors and their background sampling. Aggregate private worker snapshots natively and expose worker collection health. Centralize instrumentation at operation boundaries, count appointment operation outcomes, and categorize SMTP/calendar failures without putting metric calls in business implementations. + + Booking attempts now label unclassified failures `error` rather than `database_error`. + ## 0.1.0 ### Minor Changes diff --git a/apps/worker/package.json b/apps/worker/package.json index c9d5b473..ae16c4e9 100644 --- a/apps/worker/package.json +++ b/apps/worker/package.json @@ -1,6 +1,6 @@ { "name": "@when/worker", - "version": "0.1.0", + "version": "0.1.1", "private": true, "type": "module", "files": [ diff --git a/mise.toml b/mise.toml index 59687bd6..d51bc332 100644 --- a/mise.toml +++ b/mise.toml @@ -1,5 +1,5 @@ #:schema https://mise.jdx.dev/schema/mise.json [tools] -node = "26.4.0" +node = "26.5.0" pnpm = "11" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d2e4b0e..3d8729c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2937,7 +2937,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': @@ -3589,7 +3589,7 @@ snapshots: esrap@2.4.0(@typescript-eslint/types@8.60.0): dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 optionalDependencies: '@typescript-eslint/types': 8.60.0 @@ -3813,7 +3813,7 @@ snapshots: magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 magic-string@1.4.5: dependencies: