After the previous TICKET_BUTTON_HANDLERS gate, ticket creators and /add'd members were locked out of every ticket button — including close_ticket on their own ticket. Add a PUBLIC_TICKET_BUTTONS set so the close flow (close_ticket / confirm_close / confirm_close_with_email / confirm_close_no_email / cancel_close) skips the staff check. Claim, escalate, and de-escalate remain staff-only. The 60s FORCE_CLOSE_TIMER countdown, the transcript archive, and the optional customer-closure email all continue to fire on the existing runFinalClose path — nothing about the close behavior changes, only who is allowed to click the button. cancel_close is intentionally public too: anyone in the channel can abort a pending close, including the original setter, staff, or the creator. The pendingCloses entry stores who set it, but the abort path doesn't gate on that — kept permissive to match the rest of the close flow.
31 KiB
31 KiB