Commit log

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

Click to expand commit body
Not typing indicators, etc.

Stephen Paul Weber created

b9c4c2c Notify admin if a user goes over 500 messages in 30 days

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

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

Click to expand commit body
To show mailing address, eTransfer address, Bitcoin addresses, and allow
generating a new Bitcoin address.

Stephen Paul Weber created

cf84aef Handle invalid customer id

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

Click to expand commit body
Also rename buy credit to top up

Stephen Paul Weber created

847be4f Add btc_addresses to Customer

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

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

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

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

Click to expand commit body
* credit-card-bonus:
  Insert bonus when paying by credit card

Stephen Paul Weber created

895781e Merge branch 'tel-search-temp'

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

Click to expand commit body
Otherwise we go in hierarchy order and stanza comes last.

Stephen Paul Weber created

be92f94 Merge branch 'passthrough-commands'

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

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

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

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

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

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

Click to expand commit body
* create-reset-sip-account:
  Create or reset SIP account
  Factor out Catapult connection

Stephen Paul Weber created

3a27852 Create or reset SIP account

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

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

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

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

Click to expand commit body
To allow these modules to be used in isolation (especially when
testing).

Stephen Paul Weber created

4ffa367 Refactor BuyAccountCreditForm

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

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

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