Repository navigation
π fix(meeting-recordings): ignore per-video updatedAt bumps when deciding whether to rewrite the snapshot - #566
Conversation
β¦ng whether to rewrite the snapshot YouTube moves the per-video feed <updated> stamp on its own schedule and nothing renders it, yet each bump rewrote the snapshot and cost a full refresh PR (#495, #562). Treat an updatedAt-only difference as unchanged; real changes still rewrite the file and refresh the store updatedAt. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
β Deploy Preview for hivecommons-docs canceled.
|
|
Hive status β updated in place; edits do not notify. Full history is in the Activity Monitor. hive/awaiting-ci: CI pending β sweep will merge when green. π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 Review findings from Read
Body matches the diff (updatedAt-only β no rewrite; title/publishedAt/url/thumbnail/description β rewrite + store |
There was a problem hiding this comment.
Read scripts/update-meeting-recordings.ts at 06725f8 plus the src/ consumers. Looks correct to me.
What I checked:
- Key-order safety of the
JSON.stringifycomparison (update-meeting-recordings.ts:142-148):merged = { ...previous, ...recording }keepsprevious's key order and only appends keyspreviouslacked, so an equal-content record always stringifies identically; a newly-present field (e.g. adescriptionthat was previously absent) still differs and triggers a rewrite.updatedAt: undefinedis dropped byJSON.stringifyon both sides. - When
continueis taken,byIdretainspreviousunchanged, so the downstreamexistingStable === nextStablecheck (:155-158) hits the unchanged path β that is the mechanism that stops the rewrite, and the new test asserts both that path and the title-change rewrite path. - The issue's "nothing renders per-recording
updatedAt" claim holds:grep -rn updatedAt src/only hits shared-config and RelatedProjects types, notRecording. - Pre-existing behaviour preserved: a feed entry with no
<updated>still overwritesprevious.updatedAtwithundefinedwhen other fields change, exactly as before this PR.
Body matches the diff; Closes #565 is the right link. No findings.
β hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
YouTube moves the per-video feed
<updated>stamp on its own schedule, and nothing insrc/renders it. Because the refresh script compared it when deciding whether to rewritedata/meeting-recordings.json, each bump cost a full refresh PR plus CI run for a timestamp-only diff (#495, #562 were exactly that).Now an
updatedAt-only difference keeps the committed record and the file is not rewritten. New recordings or changes to title/publishedAt/url/thumbnail/description still rewrite it and refresh the storeupdatedAt. TheupdatedAtkey stays on disk, so there is no schema change. An in-process test covers both the no-rewrite and rewrite cases.Closes #565
β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88