Skip to content

[#447] Resolve "waitlist for pending channel requests"

aguestuser requested to merge 447-waitlist-for-pending-channel-requests into main

Closes #447 (closed)

context

  • after !528 (merged) if we let our channel reserve drop to 0 (which we might do intentionally to throttle user growth pending performance improvments), users who try to create a channel will simply have their request dropped and be told to try again later
  • but we would still like these people to be able to get channels later once we have capacity without having to "try again!"
  • this MR introduces a "wait list" that users will be added to that will allow maintainers to go back and manually create channels for them once capacity frees up (which we will measure via #456 (closed) )

changes

data layer

  • create channelRequest table/model (to store waitlist)
  • add channelRequestRepository#addToWaitlist (to create a channelRequest record)

repository/execute layer

use UNAVAILABLE status for channel requests when none available. if user requests a channel and none are available:

  • let channelRegistrar#create return sbStatuses.UNAVAILABLE (instead of generic ERROR)
  • let execute#maybeCreateChannel handle this special error by adding admins to waitlist and returning waitlist command response (but handling other errors with generic error message)

user-facing

update "requestsClosed" command response to mention waitlist

misc

channel phone number is no longer required, so allow it to be null in boost!

Edited by aguestuser

Merge request reports

Loading