~singpolyma/sgx-jmp

ref: 045da39f25b74034e7bba44cb5f1db48a935ba84 sgx-jmp/lib/registration.rb -rw-r--r-- 10.5 KiB
Hotfix: arguments in wrong order
The sugar version prevents the promise from being returned
Merge branch 'finish-btc'

* finish-btc:
  No more legacy session for BTC
  Do not lose WebRegisterManager on retart
No more legacy session for BTC

Set the same key as web register manager, so that on next register jmp.chat the
tel we were using in this flow will be used.   Not needed if they came from web
register, but will still extend expiry in that case and no harm.

Clean up pending tel key on Finish.
Do not lose WebRegisterManager on retart

Store web registrations in redis.  Set an expiry so they don't grow in RAM
forever as they previously would have without a restart.
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.
Next