Skip to content

[Export] Column derivation samples only the first 50 rows — later-only columns dropped from grid and export #73

Description

@Exotic209093

Severity

Medium — silent column loss dependent on row order.

What happens

deriveColumns(rawRecords) samples limit = 50. For SELECT Id, Account.Name FROM Contact where the first 50 rows have Account = null (e.g. ORDER BY … NULLS FIRST), derived columns are [Id, Account]; rows 51+ carry data under Account.Name, which never becomes a column — the value is absent from the grid and every export, for every row. Load More pages beyond row 50 never contribute columns either.

Evidence

  • src/ui/utils/records.ts:69; also src/services/salesforce/queryAll.ts:56

Suggested fix

Derive columns over all loaded records (the flatten pass is already O(N)) or union keys incrementally as pages arrive.

Environment

Commit 74cf21b (main), WaveLink 0.6.0. Found in the 2026-08-31 adversarial audit (code-verified).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions