Commit log

e284468 Admin Command Flash

Click to expand commit body
Having a second response here just to show the result, and then have to
skip by it to get back to the menu is dumb.

So instead we just added a thing here so we can tag some info to show up
on the next form, and then go to it.

Much smoother, but it does depend on a change in the adhoc bot which
previously didn't show notes when there was also a form.

Christopher Vollick created

a15d64c AddInvites Command

Click to expand commit body
This one adds a certain number of invites to a user, and then records
which ones were added so they can be removed in the undo case.

Christopher Vollick created

c576c9a SetTrustLevel Command

Click to expand commit body
Here we have a form for the extra information we need. They say they
want to set the trust level, we ask which one they'd like, and then we
make the command that does that.

This involves adding a new method to the TrustLevel to get just the
manual level, so I can tell the difference between being set to Customer
manually (in the form) or being automatically determined to be Customer
(which means the form should be set to automatic).

I also obviously need the method to set a new trust level too.

Christopher Vollick created

36182e5 ResetDeclines Command

Click to expand commit body
This is a nice simple first one.
I set the declines to 0, and on Undo I set it back to what it was
before.

There's no extra form or information, it just does the thing.

Christopher Vollick created

67609fe Undo and Undoable Command Harness

Click to expand commit body
It's a little weird to start with Undo when there's nothing to Undo yet,
but it's laying the groundwork for what's to come.

This gives me a harness I can use here that gets the action, performs
it, gets the result of that performed action, and then persists that to
the log and reports success or failure.

And the first such action I have just grabs the most recent item and
undoes it.

Christopher Vollick created

3162f5f Move Cancel and Financial Admin Commands

Click to expand commit body
This class gets pretty tight later, so I have to move these out to make
room in the class for the other commands.

This Simple class is a bit weird on its own here, but it makes a bit
more sense later when compared to another class.

Christopher Vollick created

4e2b287 AdminAction and AdminActionRepo

Click to expand commit body
This allows me to enqueue a description of a change to a stream and then
run it. And then later find / list them and undo any of them.

The goal here is to make these safe to run and safe to reverse so the
user can just run things with confidence knowing that undo's always got
their back.

This allows me to avoid confirmation boxes on everything and careful
scrutinizing of each command before it's run just in case...

Christopher Vollick created

2fa5a83 Invites Repo

Click to expand commit body
In preparation for another command I'd like to make I've first got to
make a place where Invites live.

There's probably other parts of the code that interact with Invites that
I've missed, but this is a good start at least.

Christopher Vollick created

54189f8 Cleanup Admin Form

Click to expand commit body
It used to handle the initial failure differently than internal failure.
Now I've moved the outside bits inside, so it can run again when it
encounters an unknown character.

Christopher Vollick created

c6027db Merge branch 'policy'

Click to expand commit body
* policy:
  Show FUP before starting registration in earnest

Stephen Paul Weber created

5b59db2 Show FUP before starting registration in earnest

Stephen Paul Weber created

faa3c37 If balance is exactly enough, still use it

Stephen Paul Weber created

c2cc2f0 Use default OGM when error loading customer

Stephen Paul Weber created

65d4a15 On customer load error, try not loading from SGX and assuming no transcription

Stephen Paul Weber created

4ace341 Log errors from rev.ai

Stephen Paul Weber created

a9caee5 Finish span on error as well

Stephen Paul Weber created

71ed2c2 Add breadcrumbs regardless of log level

Stephen Paul Weber created

633d209 Spans for iqs

Stephen Paul Weber created

2b25bd9 Sentry instrumentation to own file, better logger, instrument redis

Stephen Paul Weber created

13a472e Testing has gone well, enable RevAI for everyone

Click to expand commit body
Disabling the Bandwidth transcription in the process

Stephen Paul Weber created

a8d0861 Error String becomes an exception

Click to expand commit body
So that singletons can be added, for example

Stephen Paul Weber created

48e9553 Sentry hotfixes

Stephen Paul Weber created

6fa0039 Do not use the promise results here, since they are meant for elsewhere

Click to expand commit body
Explicitly return true to avoid passing to next link in the tree.  Make sure
command stanzas fulfill both command and iq manager if needed.

Stephen Paul Weber created

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