~singpolyma/sgx-jmp

ref: 94b7b998d195a73afe638a3d9da926edd402e0b5 sgx-jmp/lib/registration.rb -rw-r--r-- 10.5 KiB
Customer always has a JID
Merge branch 'command-object'

* command-object:
  ErrorToSend => FinalStanza
  Since Command#finish causes an error, a then off the end won't work
  Refactor commands to have Command and Command::Execution objects
ErrorToSend => FinalStanza
Refactor commands to have Command and Command::Execution objects

Brings the common elements of all commands together, and threads the most useful
state (such as ability to reply) through automatically using the new EMPromise
fiber trampoline.
Merge branch 'logging'

* logging:
  Slightly better logging
Slightly better logging

Import structured logging gem ougai and replace current use of puts/warn with
logging calls.  Gives us level, timestamp, and formatting for exceptions and/or
hash of arbitrary context data.  Can do JSON logging if we ever need that, but
set to human-readable (with colour if isatty) for now.
On SGX register! failure, return a useful error to user
Alt registration payment wording
No more "choose next"

Instead, adhoc bot will show the options for actions to take
Set catapult_fwd_timeout on our backend-facing JID

Not on our inbound-facing JID.  This is why we shouldn't be mucking in the SGX's
Redis at all...
Fix Invites with Empty Guard

Turns out every user will start with no attempts, and the code wasn't
handling that case. Oops.
Cheogram should not save the route since signup is not done
Signup should work if rate center lookup fails
Allow using pay-by-mail or eTransfer during register

Just gives them the information and we're done. Support has to manually process
these payments anyway.
Add btc_addresses to Customer

And use that in registration instead of implementing it inline
Merge branch 'bitcoin-tmp'

* bitcoin-tmp:
  Save legacy session for Bitcoin flow
This is not really an error, it just means you're all done
Save legacy session for Bitcoin flow

This is not a permanent solution, but for now it will allow Bitcoin flow users
to get the same message from the cronjob that legacy web flow users get, and
thus complete their signup using the legacy web flow.

Eventually we'll want to reverse this and direct every Bitcoin activation via a
new end flow.
Add missing require

To allow these modules to be used in isolation (especially when
testing).
Next