Skip to content

fix: avoid duplicate legacy rows in channel reports - #76

Merged
steipete merged 2 commits into
mainfrom
sweep3/channel-rows
Sep 23, 2026
Merged

steipete merged 2 commits into
mainfrom
sweep3/channel-rows

Conversation

@steipete

@steipete steipete commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

What Problem This Solves

Fixes aggregate channel reports counting legacy rows twice when the same channel also has versioned data files.

User Impact

Mixed-layout datasets retain every row once, in chronological order. Legacy-only and versioned-only channels remain supported.

Why This Change Was Made

The aggregate reader loaded each legacy file directly and then loaded it again while reading that channel’s directory. It now discovers unique channel IDs and uses the existing per-channel reader once per channel.

Evidence

The regression fixture returns five rows from four inputs on main, duplicating the legacy Telegram row. The fixed reader returns exactly four rows in order. Independent Codex review found no actionable P0–P2 findings.

The final branch includes the landed QA and tooling fixes. Remote Linux validation passed all 226 tests with zero failures or cancellations, followed by npm run check (data validation and unchanged README generation). The final rebased diff also passed independent P0–P2 review.

Exact-head Scripts, Actionlint, and CodeQL checks are green at f004d28de2b54289a590bab076eb3801beac30a1: https://github.com/openclaw/openclaw-rtt/actions/runs/35836983718

@steipete
steipete requested review from a team and vincentkoc September 23, 2026 08:24
@steipete
steipete merged commit ded242c into main Sep 23, 2026
5 checks passed
@vincentkoc
vincentkoc deleted the sweep3/channel-rows branch September 25, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant