Commit log

5a1e3cb s/WebRegisterManager/TelSelections

Stephen Paul Weber created

36dbdd7 Even if key catapult_jid- exists, this is bonkers, just say no

Stephen Paul Weber created

045da39 Hotfix: arguments in wrong order

Stephen Paul Weber created

589ab72 Hotfix: can't create this until REDIS exists now

Stephen Paul Weber created

f68da9c The sugar version prevents the promise from being returned

Stephen Paul Weber created

358e866 Merge branch 'finish-btc'

Click to expand commit body
* finish-btc:
  No more legacy session for BTC
  Do not lose WebRegisterManager on retart

Stephen Paul Weber created

c49b2c6 No more legacy session for BTC

Click to expand commit body
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.

Stephen Paul Weber created

64b88af Do not lose WebRegisterManager on retart

Click to expand commit body
Store web registrations in redis.  Set an expiry so they don't grow in RAM
forever as they previously would have without a restart.

Stephen Paul Weber created

94b7b99 hotfix

Stephen Paul Weber created

7b1379d Customer Visible Plan Info

Click to expand commit body
We moved some of the currently private things to be public, like currency, and
then included things like how much the monthly price is as well.

Christopher Vollick created

5a8273f Allow Next on Picker Form

Click to expand commit body
Execute works, but next is more right

Christopher Vollick created

2a2047e Handle False Registration

Click to expand commit body
Turns out my dummy-sgx doesn't act the same as production.
Rather than getting a successful registration with no phone, in production I
get false, so I need to handle that.

Christopher Vollick created

1f188a7 Need node for spec compliance

Click to expand commit body
And also so Gajim works

Stephen Paul Weber created

497b442 Customer Info

Click to expand commit body
This should allow us, the admins, to query information about a customer
without having to dive in and run a couple redis queries and some
database queries before getting the full picture of who we're talking
to.

It also allows the users to request some data about themselves. Balance and
phone number are already visible in other places, but their expiry is currently
not, and people have been asking about it.

Christopher Vollick created

6ead876 Remove BigDecimal.new

Click to expand commit body
It turns out in newer versions of Ruby this isn't cool anymore.
The new way is BigDecimal(value), which is dumb, but whatever...

Christopher Vollick created

d319846 Invite Codes is a Result Form

Click to expand commit body
If we don't do this, the ad-hoc bot won't format the table properly.

Christopher Vollick created

2930055 Update submodule to get trigger for new-user invites

Stephen Paul Weber created

e84191c Merge branch 'invite-codes'

Click to expand commit body
* invite-codes:
  Command to list unused invite codes

Stephen Paul Weber created

1e9a5c0 Command to list unused invite codes

Click to expand commit body
Instructions also provide details about how the program works.

Stephen Paul Weber created

4676444 Fix variable reference

Stephen Paul Weber created

39729c2 Check for going over 500 every time

Click to expand commit body
Don't fill redis with keys for users who did not go over

Stephen Paul Weber created

b59275f Check sample against schema in CI

Stephen Paul Weber created

c407d89 Check config against schema when loading

Click to expand commit body
So we know very quickly why it's not working.

Stephen Paul Weber created

39131ba It's never been called customer.id

Stephen Paul Weber created

eb754a9 Use CustomerRepo

Stephen Paul Weber created

27a02de Bring in line with the key from billing_monthly_cronjob

Stephen Paul Weber created

9347725 Customer always has a JID

Stephen Paul Weber created

56f62d1 There might be no customer

Stephen Paul Weber created

a4c8c4a Quieter tests

Stephen Paul Weber created

4e091b6 Merge branch 'low-balance-auto-top-up'

Click to expand commit body
* low-balance-auto-top-up:
  Some people have exactly 5 who don't need to be told
  On low balance, top-up or notify
  ExpiringLock helper

Stephen Paul Weber created

a9c201d Some people have exactly 5 who don't need to be told

Stephen Paul Weber created

1b9bf29 On low balance, top-up or notify

Click to expand commit body
On start up, check for users with low balance and NOTIFY about them.  LISTEN for
such notifications and process by either sending a low-balance warning message
or else attempting an auto-top-up as configured.

Using NOTIFY/LISTEN because then we can NOTIFY after any INSERT that leaves the
balance too low (using a trigger).  Doing the sync on start-up in case we missed
a NOTIFY during any downtime.  Using the Redis lock to prevent spamming a
low-balance user in case of many restarts or if they have many small
transactions happen in one day.

Stephen Paul Weber created

eaeee71 ExpiringLock helper

Click to expand commit body
For things we want to do only so often, set up a helper to push expiring keys to
Redis and check for them.

Stephen Paul Weber created

53d0894 hotfix

Stephen Paul Weber created

88d7cc8 Merge branch 'cancel-timeout'

Click to expand commit body
* cancel-timeout:
  Timeout is not a fatal error
  When user cancels the command, respond with canceled

Stephen Paul Weber created

575da6d Timeout is not a fatal error

Click to expand commit body
If the user does not proceed with a command after N time, we don't hold on to it
forever and time out.  We cannot return anything to the user because they
haven't sent us anything, so just ignore it.

Stephen Paul Weber created

2f33536 When user cancels the command, respond with canceled

Click to expand commit body
If the cancel has not been fully handled in the body of the command, at least
respond with canceled status and do not go to sentry.

Stephen Paul Weber created

e1e78a1 Braintree logs

Stephen Paul Weber created

3bccfa1 Merge branch 'command-object'

Click to expand commit body
* 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

Stephen Paul Weber created

d1a28bd ErrorToSend => FinalStanza

Stephen Paul Weber created

83603be Since Command#finish causes an error, a then off the end won't work

Stephen Paul Weber created

b363f2b Merge branch 'statsd-logging'

Click to expand commit body
* statsd-logging:
  Use the logger for all gems

Stephen Paul Weber created

2ece5c3 Use the logger for all gems

Stephen Paul Weber created

737a7f5 README Notes for Setup

Click to expand commit body
I ran this setup from a semi-clean environment, and there were some
steps I needed to do that weren't captured anywhere.

Christopher Vollick created

80f6aee Fix usage report range

Click to expand commit body
Show things from all of the start of range (today)

Stephen Paul Weber created

9a1a09e Refactor commands to have Command and Command::Execution objects

Click to expand commit body
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.

Stephen Paul Weber created

d799a92 Ask electrum to notify on new BTC addresses

Click to expand commit body
Otherwise we won't know when someone has paid...

Stephen Paul Weber created

71349ef Factor out CustomerRepo

Click to expand commit body
Using the Repository pattern to encapsulate the fetch and create operations on
the persistence layer for a domain object.  These were not really factories in
the classic sense, but rather "fetch from persisitence layer" methods, and so
they now have a home.

Stephen Paul Weber created

3471f2d Merge branch 'logging'

Click to expand commit body
* logging:
  Slightly better logging

Stephen Paul Weber created

d52e900 Slightly better logging

Click to expand commit body
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.

Stephen Paul Weber created