Skip to content

#151 varchar length caps, #164 always run E2E, #160/#162 milestones contract groundwork - #221

Merged
chonilius merged 11 commits into
MergeFi:mainfrom
thefadah:fix/issues-151-160-162-164
Aug 26, 2026
Merged

#151 varchar length caps, #164 always run E2E, #160/#162 milestones contract groundwork#221
chonilius merged 11 commits into
MergeFi:mainfrom
thefadah:fix/issues-151-160-162-164

Conversation

@thefadah

@thefadah thefadah commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Fixes #151, Fixes #164, Fixes #160, Fixes #162.

#151 — free-text DTO fields have no @MaxLength(), entity columns no varchar length

  • TeamMemberSplitDto.role@MaxLength(50); column varchar(50)
  • CreateMilestoneDto.title@MaxLength(200); column varchar(200)
  • CreateMilestoneDto.description@MaxLength(2000) (column stays text)
  • CreatePoolDto.name@MaxLength(100); column varchar(100)
  • Migration 1784800000000-BoundFreeTextColumnLengths applies the ALTER COLUMN ... TYPE character varying(N) for existing databases.

#164 — CI's E2E step has never run

Gating npm run test:e2e on GITHUB_CLIENT_ID/GITHUB_CLIENT_SECRET (never configured as repo secrets) meant the else branch was never reached. The e2e specs run against the local Postgres service + mocked Stellar SDK and use neither secret, so the step now runs npm run test:e2e unconditionally and its failure fails the pipeline.

#160 / #162 — milestones vs. the real mergefi-milestones contract

Full resolution needs MilestonesService to track per-issue allocations (mirroring the real contract's allocate / release_issue) instead of draining one ever-LOCKED escrow via repeated releasePartial. This PR lands the groundwork and one concrete correctness fix:

  • soroban-client.service.ts now documents the real create_milestone / allocate / release_issue interface alongside the escrow and maintenance-pool ones.
  • resolveIssue now rejects resolving an issue that is not open — previously an already-resolved (CLOSED) issue could be resolved again, and paid again, as long as any other issue in the milestone was still open. This enforces the "each issue paid at most once" invariant the real release_issue has.

The per-issue-allocation data-model change is a larger follow-up.

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

@thefadah is attempting to deploy a commit to the chonilius' projects Team on Vercel.

A member of the Team first needs to authorize it.

@chonilius
chonilius merged commit 18f4008 into MergeFi:main Aug 26, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment