2ece5c3
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
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
Show things from all of the start of range (today)
Stephen Paul Weber created
9a1a09e
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.
Stephen Paul Weber created
d799a92
Ask electrum to notify on new BTC addresses
Otherwise we won't know when someone has paid...
Stephen Paul Weber created
71349ef
Factor out CustomerRepo
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'
* logging: Slightly better logging
Stephen Paul Weber created
d52e900
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.
Stephen Paul Weber created
6e8fb2e
Merge branch 'btc_spop'
* btc_spop: Get new Bitcoin address from Redis set
Stephen Paul Weber created
a7f39ff
Get new Bitcoin address from Redis set
This set is populated by a cron job to have only known-good available addresses in it.
Stephen Paul Weber created
5bbec00
typo
Stephen Paul Weber created
39741b7
On SGX register! failure, return a useful error to user
Stephen Paul Weber created
a58d09c
Explicitly wrap errors we want to send
Stephen Paul Weber created
75362f5
Sync/flush stdout when logging
Stephen Paul Weber created
13db097
Set type map on *all* connections in pool
Stephen Paul Weber created
35bce21
monthly_price is in 10000ths of a dollar, not 1000ths
Stephen Paul Weber created
4922e6b
Alt registration payment wording
Stephen Paul Weber created
decdb12
Command cancel rejects the promise
So it won't be taken as next by naive code.
Stephen Paul Weber created
b64408f
No more "choose next"
Instead, adhoc bot will show the options for actions to take
Stephen Paul Weber created
313111a
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...
Stephen Paul Weber created
7e4d61d
Fix Invites with Empty Guard
Turns out every user will start with no attempts, and the code wasn't handling that case. Oops.
Christopher Vollick created
1e8eef2
Set location (API calls it "SipPeer") on new TN orders
Stephen Paul Weber created
5b36a8c
Funnel statsd for registration
Stephen Paul Weber created
2c2975d
Import group-text fix from prod
Stephen Paul Weber created
a4621ec
Cheogram should not save the route since signup is not done
Stephen Paul Weber created
33e8ec5
typo
Stephen Paul Weber created
324f326
Add disco info features
Stephen Paul Weber created
1c26971
Show current balance in alt top up form
Stephen Paul Weber created
1148e56
Signup should work if rate center lookup fails
Stephen Paul Weber created
8965c1b
error of type error
Stephen Paul Weber created
8fc925f
hotfix
Stephen Paul Weber created
826b538
Typo
Stephen Paul Weber created
28d302a
Fix sending to MUC
Stephen Paul Weber created
6b6e3ee
Use stats-instrument with graphite support
Stephen Paul Weber created
e417c05
Send to StatsD for different inbound stanza types
Stephen Paul Weber created
257d026
Only count billable messages
Not typing indicators, etc.
Stephen Paul Weber created
b9c4c2c
Notify admin if a user goes over 500 messages in 30 days
Notify only once per day (using expiring redis key). Can notify MUC or user, always sends directed presence first so it will join MUC if not joined. Ignore all messages direct to the component, mostly to throw out live messages from MUC if we join that to notify.
Stephen Paul Weber created
b1cee59
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.
Stephen Paul Weber created
f5cf445
Tell user about bonus amount when doing credit card top up
Stephen Paul Weber created
f238598
Use PG connection pool
Stephen Paul Weber created
e5f1219
Hotfix, iq replies coming to customer_ should try the manager first
Stephen Paul Weber created
6d7b1ee
Alt top up command
To show mailing address, eTransfer address, Bitcoin addresses, and allow generating a new Bitcoin address.
Stephen Paul Weber created
cf84aef
Handle invalid customer id
An invalid customer id is an error from braintree, so handle the error and return an empty list of payment methods.
Stephen Paul Weber created
bbc0bb6
Refactor command list to use composition
Also rename buy credit to top up
Stephen Paul Weber created
847be4f
Add btc_addresses to Customer
And use that in registration instead of implementing it inline
Stephen Paul Weber created
938e2d7
Command to get to the credit card settings page
Stephen Paul Weber created
2ae7839
Add plans and electrum structure to example
Stephen Paul Weber created
6670718
Reply to extdisco with sip server
Stephen Paul Weber created
fe4c9e8
fix config sample syntax
Stephen Paul Weber created
2b7b276
Spec says we must reply to all IQs
So say feature-not-implemented if we haven't got it with some other handler.
Stephen Paul Weber created