Organization fixes#337
Merged
Merged
Conversation
… mod merge into main
… mod merge into main
… mod merge into main
8 tasks
0xdevcollins
pushed a commit
to Benjtalkshow/boundless
that referenced
this pull request
Jul 5, 2026
Fill the management dashboard's Submissions tab: list submitted work from the organizer submissions endpoint (boundlessfi#337) with submitter identity, status, the content link plus documentation/tweet/demo/media, and submitted-at. Respect submissionVisibility — competition work stays sealed (and unfetched) until the deadline. Adds a client-side 'stage for payout' selection that feeds winner selection (boundlessfi#633).
0xdevcollins
pushed a commit
to Benjtalkshow/boundless
that referenced
this pull request
Jul 5, 2026
Fill the management dashboard's Submissions tab: list submitted work from the organizer submissions endpoint (boundlessfi#337) with submitter identity, status, the content link plus documentation/tweet/demo/media, and submitted-at. Respect submissionVisibility — competition work stays sealed (and unfetched) until the deadline. Adds a client-side 'stage for payout' selection that feeds winner selection (boundlessfi#633).
0xdevcollins
added a commit
that referenced
this pull request
Jul 5, 2026
* feat(bounty): submissions review tab (#632) Fill the management dashboard's Submissions tab: list submitted work from the organizer submissions endpoint (#337) with submitter identity, status, the content link plus documentation/tweet/demo/media, and submitted-at. Respect submissionVisibility — competition work stays sealed (and unfetched) until the deadline. Adds a client-side 'stage for payout' selection that feeds winner selection (#633). * fix(bounty): review fixes for submissions tab (#632) - rebase onto the #630 review fixes (ace008f); port listBountySubmissions to apiClient/unwrapData and drop the hand-rolled query serializer - lift winner staging into the dashboard so it survives tab switches and can feed the Payout tab (#633) - add pagination (backend caps pages at 50, defaults to 20): pager UI plus showing-x-of-y, so large bounties are no longer silently truncated - unlock the hidden-until-deadline gate live via a 30s recheck; do not gate when no deadline exists; label the gate as UX-only in comments (the organizer endpoint returns submissions regardless of visibility) - type submissionVisibility as the generated enum end to end, dropping the fails-open '' fallback - share submissionStatusClass from statusClass.ts; import ordinal from lib/utils; drop redundant retry: false - show tier amounts with full precision and the reward currency - render non-link submitter when no username; optimize Cloudinary media thumbs (96px) instead of full-size unoptimized originals; index media keys - fold hook options into one bag: useBountySubmissions(org, id, { params, enabled }) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0xdevcollins
added a commit
that referenced
this pull request
Jul 5, 2026
* chore(bounty): refresh codegen for v2 organizer DTOs Regenerate the OpenAPI schema against v2 to pull the new organizer DTOs (BountyOperateOverviewDto, OrganizerBountySubmissionDto, BountyAnnouncementDto, etc.). Drop applicationCreditCost from the bounty publish request body; the backend removed it from PublishBountyEscrowDto and now applies it server-side from the draft. * feat(bounty): management dashboard shell + overview (#630) Add the per-bounty organizer management hub at /organizations/[id]/bounties/[bountyId]: a tabbed shell (Overview, mode-aware Applications, Submissions, Payout & Winners, Settings) with the status + mode header, and an Overview tab that consumes the operate-reads endpoint (#338) for intake stats, deadlines, and prize tiers. Non-overview tabs are placeholders for the follow-up issues (#631-#634). * feat(bounty): submissions review tab (#632) Fill the management dashboard's Submissions tab: list submitted work from the organizer submissions endpoint (#337) with submitter identity, status, the content link plus documentation/tweet/demo/media, and submitted-at. Respect submissionVisibility — competition work stays sealed (and unfetched) until the deadline. Adds a client-side 'stage for payout' selection that feeds winner selection (#633). * feat(bounty): winner selection + payout tab (#633) Fill the management dashboard's Payout & Winners tab: assign anchored submissions to prize tiers (one winner per tier, single-claim = 1, competition = 1-N), then drive the single select-winners escrow op (useBountyPayout, organizer scope; MANAGED signs server-side, EXTERNAL via wallet kit) with progress + payout tx link. On settle the bounty flips to COMPLETED; already-completed bounties show recorded winners. Consumes the submissions review (#632) staging. * fix(bounty): review fixes for winner selection + payout (#633) - require every prize tier to have a winner before payout: the on-chain select_winners op is one-shot and completion strands unpaid tiers' escrow - add a review + confirm dialog before the irreversible payout (winner, address, amount per tier, total), matching publish/treasury precedent - fetch the COMPLETE submission pool for winner selection (listAllBountySubmissions pages the capped endpoint) so late entrants are never invisible; the completed-state winner list uses it too - exclude rejected and disputed submissions from eligibility, show review status in the picker, and hide submissions whose payout address is already assigned to another tier (backend rejects duplicate addresses) - derive summary, request body, and total from one resolved-selections source so the footer can never promise more than the request sends - build the tx link via getTransactionExplorerUrl (network-aware) instead of a hardcoded testnet URL - share the sealed-until-deadline card + 30s deadline recheck (SealedUntilDeadline, useDeadlinePassed) with the submissions tab, so the payout gate opens live and a null deadline does not seal forever - surface staged submissions from the Submissions tab first in each picker - share ESCROW_PHASE_LABEL from features/bounties (submit form + payout) - drop dead payoutResponse/hasStarted state in useBountyPayout and document the owner-address limitation (treasury-funded bounties need backend work) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Collins Ikechukwu <collinschristroa@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.