Repository navigation
fix(console): audit log From / To filters use the platform date picker - #26061
Conversation
Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SMps7wq7rBTk53e8KTSEup
…dit-log-date-picker
席位核对ACCEPT ·
|
…it log's From / To labels Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SMps7wq7rBTk53e8KTSEup
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 40317493401 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 分类: 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
Fixes #25875
Clause-②: no
Metadata-protocol: none
What changed
Setup → Audit Log drew the browser's native
input type=datefor its From and To filters, which shows the operating system'smm/dd/yyyyface and picker whatever the console's language. Both filters now draw the platform date picker that a record form'sdatefield draws (the objectui#12642 family): a text box in the display locale's format, a calendar popover, a clear button and today / tomorrow shortcuts.ui/apps/console/src/pages/system/AuditLogPage.tsx: From and To rendergetLazyFieldWidget('date')(resolved once at module scope, asScreenViewdoes forlookup) inside aSuspensewith aSkeletonfallback. Props:id(the existing label target),value,onChange(keepssetPage(0)),field={{ type: 'date', name, label }}. TheInputimport is dropped (no other use).DatePickerFieldimport and no new subpath export: the picker stays in its own lazy chunk, reached through the existing publicgetLazyFieldWidget.YYYY-MM-DD, and''on clear, as the native input did, so thecreated_atbounds are the same ($gtethe From day,$ltethe To day atT23:59:59). "Clear filters" resets both pickers through the same state.Tests
AuditLogPage.filterLabels-13224.test.tsxflips its native-input pins:type=text, inside thedate-pickerslot), never its calendar button; noinput type=dateis left on the page.10/01/2026(en-US display format) and blurs, then10/20/2026and presses Enter. The requests carry{ created_at: { $gte: '2026-10-01' } }and then{ created_at: { $gte: '2026-10-01', $lte: '2026-10-20T23:59:59' } }.Verification (head
63114661, after mergingorigin/main)vitest run --project @object-ui/consoleover the sixAuditLogPage.*.test.tsx,consolePagesLocale-secondPass-13460,consoleFaces.displayLocale-9909andorphanedPageComponentRefs-10520: Test Files 9 passed (9), Tests 68 passed (68).turbo run type-check --filter=@object-ui/console(with its^buildclosure): 71 successful, 71 total, exit 0.main, on lines this diff does not touch).HEADand its blob hash compared): withAuditLogPage.tsxswapped for the base copy (2 native date inputs, 0 picker), the flipped suite goes red, 2 failed / 1 passed. Restored: hash matchesHEAD,git diff HEADempty.dispatch-gates --commandsderived 34 commands. All 34 exited 0, and--ranreconciles: 34 derived, 34 run, 0 NOT-MEASURED, 0 UNRUN.check-changeset-fixed(its roster lives under.changeset/) also exited 0.check-sdui-manifestis green, soscripts/sdui-manifest.record.jsonis untouched.Acceptance notes
fields.datePicker.*) already ship in every locale pack. No locale file is touched.Generated by Claude Code