Skip to content

fix: apply cliff_duration from CSV batch uploads - #259

Merged
Austinaminu2 merged 1 commit into
FlowwStar:mainfrom
SYMBAxx:fix/csv-cliff-duration
Jul 21, 2026
Merged

Austinaminu2 merged 1 commit into
FlowwStar:mainfrom
SYMBAxx:fix/csv-cliff-duration

Conversation

@SYMBAxx

@SYMBAxx SYMBAxx commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • cliff_duration was parsed by lib/csv-parser.ts but never read in app/app/create/batch/page.tsx, so cliffs specified as a relative duration silently didn't apply.
  • Added parseDuration() (plain seconds or 30d/12h/90m/2w/45s suffixes) and derive cliff_time = start_time + duration when no absolute cliff_time is given (absolute still takes precedence).
  • Invalid cliff_time/cliff_duration values now show as a row validation error instead of being dropped with no feedback.

Test plan

  • vitest run __tests__/lib/csv-parser.test.ts — 26/26 pass, 12 new cases covering parseDuration and the cliff_duration/cliff_period columns
  • Full suite: 212 pass, 6 pre-existing unrelated failures (verified present on clean upstream/main)
  • tsc --noEmit clean

closes #234

cliff_duration was parsed but never consumed, so cliffs specified as a
relative duration silently vanished. Add parseDuration() (plain seconds
or 30d/12h/90m/2w/45s suffixes) and derive cliff_time = start_time +
duration when no absolute cliff_time is given. Invalid cliff_time/
cliff_duration values now surface as row errors instead of being dropped.

Fixes FlowwStar#234
@Austinaminu2
Austinaminu2 merged commit 31327d2 into FlowwStar:main Jul 21, 2026
1 of 6 checks passed

This branch had an error being deployed

1 failed deployment
staging — ddae8b36 Deployed Jul 21, 2026 by SYMBAxx via deploy-staging #54
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.

bug: CSV cliff_duration column is parsed but silently discarded, cliff never applied

2 participants