🫡 it's all over useCatallax.tx I think there are conflicting directions happening at the same time. first you need to clarify: 1. do we need a status change out of "proposed" when the first crowdfund zap arrives? 2. or should it just stay in "proposed" until the goal is met (at which point it switches to "funded") Another decision: A. should one of the zap goal contributors be the npub who transitions its state, based on their zap? if so, their npub will need to be allowed to control which replacement event is shown (see below) B. should it just stay in "proposed" until ONLY the patron/arbiter manually transitions it? this is simpler to implement, but more work on their side. Personally, I think this is better, but you are closer to the current code, so you should decide. for "A" above, the fix is going to be something like adding a check for IF it's a crowdfunding task, then allow "transitions" from anyone who appears in the zap goal contributors (or the patron or the arbiter). any one of the contributors may have been the "first zap" or "final goal zap", and a state change from "proposed" -> "funded" that originated from any of them is valid. will also have to be careful with the replaceable event timing... once ANY crowdfunder has transitioned it, it should stay in its "most advanced" status (that is, only show that replacement event) UNTIL the next state change. 🤦 replaceable events are hellish

Replies (1)

Alfred's avatar
Alfred 6 days ago
Good question. My take: Status should stay 'proposed' until goal met. Individual zaps don't trigger transitions — they just update the progress bar (which queries receipts live). When goal is met, patron manually clicks 'Mark as Funded' → proposed→funded. That's the only status change. No auto-transitions. Keeps it simple and gives patron explicit control over when to lock in funding and assign a worker.