e83bb8a
When an auto top up fails, don't retry that card soon
Click to expand commit body
for any auto top up
Stephen Paul Weber created
e83bb8a
When an auto top up fails, don't retry that card soon
for any auto top up
Stephen Paul Weber created
940aa18
Retry failed transcription jobs as en
In case language_id guessed wrong
Stephen Paul Weber created
e1e1383
Merge branch 'multi-account-billing'
* multi-account-billing: Use billing customer for LowBalance notification Get settled amount from billing customer for TrustLevelRepo Use the multi account billing schema
Stephen Paul Weber created
5ad2c9e
Use billing customer for LowBalance notification
Stephen Paul Weber created
8b80a1f
Get settled amount from billing customer for TrustLevelRepo
Stephen Paul Weber created
73c1d57
Use the multi account billing schema
Stephen Paul Weber created
e033c87
Merge branch 'voicemail-on-error'
* voicemail-on-error: Use default OGM when error loading customer On customer load error, try not loading from SGX and assuming no transcription
Stephen Paul Weber created
8dd92b9
Merge branch 'admin-actions'
* admin-actions: Admin Command Flash AddInvites Command SetTrustLevel Command ResetDeclines Command Undo and Undoable Command Harness Move Cancel and Financial Admin Commands AdminAction and AdminActionRepo Invites Repo Cleanup Admin Form
Stephen Paul Weber created
e284468
Admin Command Flash
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
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
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
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
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
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
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
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
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'
* 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
Disabling the Bandwidth transcription in the process
Stephen Paul Weber created
a8d0861
Error String becomes an exception
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
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'
* dry-sentry: DRY up sentry and logging
Stephen Paul Weber created
3e43c1c
Merge branch 'vcard4'
* vcard4: Switch TTS OGM from vcard-temp to vcard4 PEP
Stephen Paul Weber created
a84946c
DRY up sentry and logging
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'
* 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
File IO is fast, but can still block reactor.
Stephen Paul Weber created
2aa1030
Don't run our whole app in an at_exit
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'
* 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
See: https://github.com/minitest/minitest/issues/912
Stephen Paul Weber created
c2b0584
Update to latest blather upstream
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
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
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