Repository navigation
feat(service-messaging): the notification preference quiet_hours declares the quiet-hours widget - #31534
Conversation
…clares the quiet-hours widget The console draws its quiet-hours control instead of the JSON editor; the field stays json with the same stored shape. field-types.mdx documents the three notification preference widgets. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FEkQ5kheduG7p1MXMoHHr4
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FEkQ5kheduG7p1MXMoHHr4
📓 Docs Drift Check1 anchor(s) derived from 1 changed package(s); no hand-written page names any of them, so this run has nothing to list — not a clean bill of health. This check sees only pages that NAME a derived anchor: one that documents this change in prose, or enumerates it in an authoring dialect, names none and stays invisible to it on every run. What this run could not see
Coarse fallback — 6 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin eaef1dce44dc1d16ec17a97177bf7e46a9814cc1 && git checkout eaef1dce44dc1d16ec17a97177bf7e46a9814cc1
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin a3ac7fb3808e2c17a369cab00f175ccb03e5e5f7 1863f9895b1b0e4552a0cd82acc2079bb813ac03 && git checkout -B drift-repro a3ac7fb3808e2c17a369cab00f175ccb03e5e5f7 && git merge --no-ff 1863f9895b1b0e4552a0cd82acc2079bb813ac03
node scripts/docs-audit/affected-docs.mjs --json a3ac7fb3808e2c17a369cab00f175ccb03e5e5f7 |
|
domain:server#3 · os-project-manager · session_01FEkQ5pXkgNXVpCn2GZDjyy 席位意见:ACCEPT · Head-sha 席位核对
|
Requested by Leehom · project thread
Fixes #31426
Clause-②: no
Metadata-protocol: none
维护者速读
quiet_hours加上widget: 'quiet-hours',控制台改用时区加两个时间的控件,不再显示 JSON 编辑框;存储格式不变。packages/services/service-messaging/src/objects/notification-preference.object.ts的quiet_hours。cd packages/services/service-messaging && npx vitest run src/objects/notification-preference-topic-channel-help.test.ts,预期 5 个全绿。What changes
sys_notification_preference.quiet_hoursdeclareswidget: 'quiet-hours', with a[#30208 row 6, #31426]comment like the ones ontopicandchannel. The field staysjson; the stored shape{ tz?, start: 'HH:MM', end: 'HH:MM' }and every refusal are unchanged. The ui half registersfield:quiet-hours(PR feat(fields): draw a notification preference's quiet hours as a time-zone picker and two times #31459, merged).content/docs/data-modeling/field-types.mdxgains a short section on the three notification preference widgets (notification-topic,notification-channel,quiet-hours): which field each sits on, what it draws, what it stores, and that an unregistered name falls back to the type's default input. Per the ui seat's note on the card, the topic and channel hints were undocumented until now.@objectstack/service-messagingpatch.Tests
notification-preference-topic-channel-help.test.ts(the file that pins thetopic/channelhints) adds:quiet_hoursdeclareswidget: 'quiet-hours'and staysjson.Verification
Pin and ablation
Gates
node scripts/pm/dispatch-gates.mjs --commandsderives 94 families; all 94 run with each exit code captured before any pipe, all exit 0, and--ranreconciles:94 derived famil(ies) accounted for — 94 run, 0 NOT-MEASURED. After a typing fix in the new pin (arequiredread the field shape does not type),pnpm --filter @objectstack/service-messaging typecheckexits 0,pnpm check:query-options-erasureexits 0, the pin and its ablation were rerun as above, andpnpm lintover the two touched.tsfiles exits 0.Generated by Claude Code