From ec3e0c16e07495079b0b63ddc6b8cab3c604ad9e Mon Sep 17 00:00:00 2001 From: Rawman Grey Date: Fri, 30 Oct 2026 10:22:27 +0300 Subject: [PATCH] docs: record F12 uploaded_on verification (host fix) --- .opencode/feature_list.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.opencode/feature_list.json b/.opencode/feature_list.json index 5c3b508..321511d 100644 --- a/.opencode/feature_list.json +++ b/.opencode/feature_list.json @@ -238,12 +238,14 @@ "Keep `TUS_ENABLED=true`; no Directus upgrade and no extension code change required for this fix.", "Document latent 11.17.4 TUS defects not changed here: client-declared `type`/`filesize`, and stale `tus_id` placeholders hidden from `/files` if finish/cleanup fails." ], - "passes": false, + "passes": true, "blocked_by": [], "notes": [ "Source: v11.17.4 `api/src/services/tus/{data-store,server}.ts` omits `uploaded_on`; only `/files` (`FilesService.uploadOne`) sets it. Upstream #28042 fixed in 12.4.0, not backported to 11.x.", "Raw SQL is the only way to avoid bumping `modified_on`/`modified_by`; `ItemsService.updateOne` always runs payload specials even with `emitEvents:false`.", - "TUS row insert omits `uploaded_on` entirely, so a DB default applies to future inserts. `now() at time zone 'utc'` matches Directus's UTC writes for the tz-less timestamp column.", + "TUS row insert omits `uploaded_on` entirely, so a DB default applies to future inserts. Host `TimeZone=Etc/UTC`; `(now() at time zone 'utc')::timestamptz` matches Directus's UTC writes.", + "Verified 2026-10-30: 2,836 null rows backfilled from `created_on`; 39,350/39,350 dated; latest 5 TUS rows have non-null `uploaded_on`, `tus_id=null`, delta vs `created_on` 0–0.24s; zero `idle in transaction`.", + "Apparent inverted sort is a UI icon issue, not data: Directus cards `header.vue` flips the sort glyph for descending, opposite to tabular. Network `sort[]=-uploaded_on` = newest first; `sort[]=uploaded_on` = oldest first. No server/data fix needed.", "This is host data remediation, not extension code; keep it separate from the preview warmer." ] }