Commit log

900baf3 Merge branch 'dry-sentry'

Click to expand commit body
* dry-sentry:
  DRY up sentry and logging

Stephen Paul Weber created

3e43c1c Merge branch 'vcard4'

Click to expand commit body
* vcard4:
  Switch TTS OGM from vcard-temp to vcard4 PEP

Stephen Paul Weber created

a84946c DRY up sentry and logging

Click to expand commit body
Wrap every blather handler in sentry setup and exception capturing so each route
doesn't have to handle it seperately.

panic is a last resort, usually better to return an XMPP error and report/log,
so default to that.

Also wraps each handler in a span. Note that for multistage command handlers
this span is too long and they will want to call finish/set_span internally.

Stephen Paul Weber created

eaf8fee Merge branch 'background-log'

Click to expand commit body
* background-log:
  Log in background thread
  Don't run our whole app in an at_exit

Stephen Paul Weber created

21848ff Log in background thread

Click to expand commit body
File IO is fast, but can still block reactor.

Stephen Paul Weber created

2aa1030 Don't run our whole app in an at_exit

Click to expand commit body
We don't use much of it, and this makes using other at_exit hooks more realistic.

Stephen Paul Weber created

c89a05d Merge branch 'new-blather'

Click to expand commit body
* new-blather:
  Update to latest blather upstream
  notify_customer helper

Stephen Paul Weber created

8575f64 Fix for em-pg-client and latest pg gem

Stephen Paul Weber created

84b4e76 Minitest 5.16 contains a breaking change

Click to expand commit body
See: https://github.com/minitest/minitest/issues/912

Stephen Paul Weber created

c2b0584 Update to latest blather upstream

Click to expand commit body
Which has merged our changes

Stephen Paul Weber created

ff4d42f notify_customer helper

Stephen Paul Weber created

6c9e479 Switch TTS OGM from vcard-temp to vcard4 PEP

Stephen Paul Weber created

a5300d6 hotfix

Stephen Paul Weber created

da80d0c Throttle notification processing to prevent starvation

Stephen Paul Weber created

d0569f4 Do not catchup low-balance notifications for expired customers

Click to expand commit body
Makes the number of users to do on startup much smaller and slower-growing.
Expired users have been told about their low balance quite a bit already, and
will be notified by billing cronjob etc from here out.

Stephen Paul Weber created

07aca05 Optional alternate transcription with rev.ai

Click to expand commit body
The bitfield bit 1 was used by a different project (sgx-catapult, see:
https://gitlab.com/ossguy/sgx-catapult/-/commit/459d7d1dfe208db1708f1d648b82b38c002ad35a).
This other project no longer uses the bit, and in fact that whole project is
dead and gone, but if you previously ran that project against the same redis
that you now run this project against then please make sure you have zeroed-out
that bit first.

You can verify using this script:

    redis = Redis.new
    redis.keys("catapult_settings_flags-*").each do |k|
      p redis.getbit(k, 1)
    end

Stephen Paul Weber created

ab95e3b Bad XML parser produces hash for one element, array for >1

Stephen Paul Weber created

0e62b91 Empty URI is invalid

Stephen Paul Weber created

d5ca7cf Fix tests for sip account using APIError

Stephen Paul Weber created

2f5450c Amount needs to be a number to check it

Stephen Paul Weber created

7474137 Add to_s for Expired

Stephen Paul Weber created

1a0e03a Extract response_status type errors

Stephen Paul Weber created

0cca353 Don't bother looking for nothing

Stephen Paul Weber created

cd3111b Merge branch 'snikket'

Click to expand commit body
* snikket:
  Initial bare-bones admin command for launching a snikket instance

Stephen Paul Weber created

b31d693 Merge branch 'limit-credit-card-amount'

Click to expand commit body
* limit-credit-card-amount:
  Limit size of credit card transaction by trust level

Stephen Paul Weber created

3a71f5f Limit size of credit card transaction by trust level

Stephen Paul Weber created

a0ebeca Merge branch 'limit-top-up-take-2'

Click to expand commit body
* limit-top-up-take-2:
  Only one credit card transaction per customer per day

Stephen Paul Weber created

ecd2752 Only one credit card transaction per customer per day

Stephen Paul Weber created

92ed217 Initial bare-bones admin command for launching a snikket instance

Stephen Paul Weber created

c2b986f Fix test broken by hotfix

Stephen Paul Weber created

c4fc3de Revert "Merge branch 'limit-top-up-freq'"

Click to expand commit body
This reverts commit 7a28753d7df5d7d6f5f890d302634b1bdbd25f73, reversing
changes made to e4ec9b8eb368ed0997887ebd99f8c79982640d20.

Stephen Paul Weber created

7a28753 Merge branch 'limit-top-up-freq'

Click to expand commit body
* limit-top-up-freq:
  Only allow one credit card transaction per customer per day

Stephen Paul Weber created

e4ec9b8 Move between accounts requires a sip peer id

Stephen Paul Weber created

e412993 Update iris patch for new gem version

Stephen Paul Weber created

92bd0c6 EmptyRepo can wrap another to allow mutation

Stephen Paul Weber created

917096e Only allow one credit card transaction per customer per day

Stephen Paul Weber created

97df926 Merge branch 'cancel-account'

Click to expand commit body
* cancel-account:
  Admin command to cancel customer
  Move Customer factory/extractor to Customer

Stephen Paul Weber created

051be0a Admin command to cancel customer

Click to expand commit body
Notify customer
Deregister from SGX
Deregister from Cheogram
Disconnect from Bandwidth
	If on special list, move intead of disconnect

Stephen Paul Weber created

4e51ed4 Move Customer factory/extractor to Customer

Click to expand commit body
The repo's job is to get the data, constructing the object can be a factory's job.

Stephen Paul Weber created

9440485 Merge branch 'more-admin-info'

Click to expand commit body
* more-admin-info:
  Test Admin Info with Numbers
  Refetch Customer on Repeated Customer Info Calls
  Trust Level in Customer Info
  Show Callability State in Customer Info
  PromiseHash
  No Settled Transactions is 0, not Null

Stephen Paul Weber created

84c77d8 Test Admin Info with Numbers

Click to expand commit body
My current two AdminInfo tests have unregistered customers because it's
easier, but it means that some parts of the logic don't get tested.

This one digs a bit deeper to test this part of the forms, but it
requires injecting a repo

Christopher Vollick created

ebd6fcc Refetch Customer on Repeated Customer Info Calls

Click to expand commit body
This means if I fetch a user, make a change (add a transaction, set
their trust level, etc), I can re-run info from the menu to get the same
user with up-to-date info, so you can see the thing I just did reflected
back to me.

Christopher Vollick created

8041a50 Trust Level in Customer Info

Click to expand commit body
We have this thing, so we should probably be able to see it

Christopher Vollick created

dbf8df7 Show Callability State in Customer Info

Click to expand commit body
This shows relatively easily which class a given user finds themselves
in.

Whether they can't call because they have no balance, or if they have
lots of room, or if they're being asked.

Hopefully this will make it easier to tell at a glance if a calling
issue is due to a few things.

Christopher Vollick created

fd7951d PromiseHash

Click to expand commit body
Here in info I'm doing a lot of this pattern:

    EMPromise.all([one, two three]).then { |one, two, three|
    	new(one: one, two: two, three: three)
    }

Which felt really noisy for what is a pretty logical operation.
So now I can keep the keys and values together and do:

    PromiseHash.all(one: one, two: two, three:three).then(&method(:new))

It's smaller, but more importantly it's more meaningful to me.
It keeps the declaration of the meaning together with the sourcing of
the value.
And because it uses EMPromise.all in the guts it's not a problem if some
of the keys are not promises.
Easy-peasy!

Christopher Vollick created

5f30fd7 No Settled Transactions is 0, not Null

Click to expand commit body
Unexpectedly this doesn't return either no columns or a column with a
value of 0, but instead a column with no value...

Christopher Vollick created

c3f3220 Merge branch 'message-limits'

Click to expand commit body
* message-limits:
  Block outgoing messages when expired
  Contacting support is not billable
  Use TrustLevel to determine daily quota
  Refactor message limits, change to 500/day

Stephen Paul Weber created

5dfee34 Block outgoing messages when expired

Stephen Paul Weber created

0925ae7 Contacting support is not billable

Stephen Paul Weber created

94cef4e Use TrustLevel to determine daily quota

Stephen Paul Weber created