826b538
Typo
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
1e6063d
Merge identical cases
Stephen Paul Weber created
3c312eb
Validate that amount of credit to buy is in valid range
Stephen Paul Weber created
d632629
Rename buy-credit to buy credit
Stephen Paul Weber created
c29b156
When no plan, all plan attributes are nil
Stephen Paul Weber created
df67870
Merge branch 'conditionally-show-commands'
* conditionally-show-commands: Only show buy credit option if customer has a plan and a credit card Show commands conditionally (plus add voicemail record command)
Stephen Paul Weber created
3e6ca1e
Only show buy credit option if customer has a plan and a credit card
Stephen Paul Weber created
345895d
Show commands conditionally (plus add voicemail record command)
Refactor to a factory that allows commands to be shown conditionally, so that the voicemail record command can only be shown if the customer has a forwarding target set up.
Stephen Paul Weber created
a6e94c5
Merge branch 'credit-card-bonus'
* credit-card-bonus: Insert bonus when paying by credit card
Stephen Paul Weber created
895781e
Merge branch 'tel-search-temp'
* tel-search-temp: No tel picker yet, so just go to the webpage
Stephen Paul Weber created
94f5a8d
Use before filter to actually come before everything
Otherwise we go in hierarchy order and stanza comes last.
Stephen Paul Weber created
be92f94
Merge branch 'passthrough-commands'
* passthrough-commands: Pass through commands we know the SGX can handle Pass everything from SGX to user, not just <message/> Remove some of the noise from the command list
Stephen Paul Weber created
2cf86cf
Insert bonus when paying by credit card
Stephen Paul Weber created
33ea52c
Merge branch 'bitcoin-tmp'
* bitcoin-tmp: Save legacy session for Bitcoin flow
Stephen Paul Weber created
2506431
Pass through commands we know the SGX can handle
Stephen Paul Weber created
edd8623
Pass everything from SGX to user, not just <message/>
Stephen Paul Weber created
75652d7
Remove some of the noise from the command list
Stephen Paul Weber created
22b1197
Fix sentry issue SGX-JMP-4
Typo not caught by tests because this method had none. Add a test, fix the typo.
Stephen Paul Weber created
b4391f1
Fix copy-paste error
These lines won't work because not processing an iq or anything with a node here. Set up sentry in a sensible way for messages.
Stephen Paul Weber created
4cc98aa
This is not really an error, it just means you're all done
Stephen Paul Weber created
8cb2f01
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.
Stephen Paul Weber created
0693d5a
No tel picker yet, so just go to the webpage
Direct users to the homepage if they haven't selected a tel yet. Not what we want eventually, but better than crashing.
Stephen Paul Weber created
e97ecf1
Merge branch 'create-reset-sip-account'
* create-reset-sip-account: Create or reset SIP account Factor out Catapult connection
Stephen Paul Weber created
3a27852
Create or reset SIP account
New command to create or reset SIP account. Always try create first because it's faster and more common, fall back to search the list for our account if that fails due to conflict. Password is always randomly generated from the mnemonicode word list.
Stephen Paul Weber created
4178a87
Factor out Catapult connection
So that every object which needs to talk to Catapult does not need to know everthing about it.
Stephen Paul Weber created
a9ebca9
Usage command
Customer has a CustomerUsage which can fetch data to build a UsageReport which returns a jabber:x:data form "table" as per spec for per-day in the last month. Minutes come from cdr table in postgresql. Messages come from redis.
Stephen Paul Weber created
51897c8
Catch more exception in web-register command and send user to sentry
Stephen Paul Weber created
c9a8aa5
Add Sentry
Capture in #panic and a few other places, add customer and route context as well as some initial breadcrumbs in the register command.
Stephen Paul Weber created
7794a8e
Add missing require
To allow these modules to be used in isolation (especially when testing).
Stephen Paul Weber created
4ffa367
Refactor BuyAccountCreditForm
add_to_form no longer needs a promise or a network call, instead we use a factory to get that data up front and inject the dependency. New BuyAccountCreditForm#parse to get the relevant data back out of an XMPP form. Some changes to Transaction and sgx_jmp.rb to use the new method semantics.
Stephen Paul Weber created
b6ad9e2
Merge branch 'count-outbound-messages'
* count-outbound-messages: Store customer outbound messages/day for 1 year in redis
Stephen Paul Weber created
bc13638
Store customer outbound messages/day for 1 year in redis
Storage is a sorted set, with dates as the values and message counts as the scores. Use zincrby to increment the message count by 1 on each new message. Use zremrangebylex to remove all items older than 1 year so the set does not grow unboundedly. Dates with known message counts can be found using zrangebylex. Scores can be had one at a time with zscore. In redis 6.2+ zrange bylex withscores or zmscore may also be used, but that is only in Debian experimental at time of writing.
Stephen Paul Weber created