9dc558a
Guix added this package
Stephen Paul Weber created
9dc558a
Guix added this package
Stephen Paul Weber created
b17a9ec
Handle multiple DKIM headers
Stephen Paul Weber created
c2bab9c
Try to prevent double-submit
By disabling and hiding the button and ignoring signals from the app during the submission process.
Stephen Paul Weber created
4272d64
Onboarding gets the full command UI link
This is because they really aren't using the bot, but sending the big link to everyone is not only ugly, but at least in gajim it makes the link not do anything. Ideally we'd do something with pushed command list or xhtml-im or fallback bodies, but using whispers makes that not easy at the moment, and we use whispers because new customers don't have a cheogram route set yet.
Stephen Paul Weber created
902324d
get bonus amount from tx
Stephen Paul Weber created
404eb9b
new is on class
Stephen Paul Weber created
e654803
Fix btc script use of Transaction
Stephen Paul Weber created
4ecd14b
Get method token from transaction as well
Stephen Paul Weber created
5109bd7
Merge branch '3ds-tx'
* 3ds-tx: Allow fully 3DS'd transaction from the web Factor out with_antifraud helper Factor out a transaction object Factor out a Customer object
Stephen Paul Weber created
e1cf684
Allow fully 3DS'd transaction from the web
Stephen Paul Weber created
61c7c01
Factor out with_antifraud helper
Stephen Paul Weber created
dd0f2f2
Factor out a transaction object
Stephen Paul Weber created
fee70ea
Factor out a Customer object
Stephen Paul Weber created
199fd55
Pass through all events
Stephen Paul Weber created
faa4893
Setup Sentry
I thought the gem did this automatically if I wanted the default config, but apparently not! So this requires the SENTRY_DSN env-var to be set, and also in practice requires SSL_CERT_DIR=/etc/ssl/certs if you don't have the certs installed in guix as well. Then we set the worker threads to 0 so it sends synchronously, since otherwise we're about to quit and it'll just get enqueued and never flushed.
Christopher Vollick created
3b9e2eb
Change Spam header to Authentication Status header
The way I'm running it is before spam assassin runs right now, but after opendkim, so instead I just use that status as authoritative. I've left the Spam Assassin code in there but just commented out for now, because I may turn it back on later, etc.
Christopher Vollick created
9de5399
Merge branch 'interac'
* interac: Interac Email Processor Allow Running BlatherNotify in Reactor Add PubSub Helpers to BlatherNotify Resync Guix Dependencies with Gemfile Fixup Correct Duplicate Addrs
Stephen Paul Weber created
507a409
Interac Email Processor
This script is expected to be run by piping an email into it and also giving a dhall config as the first argument. This will contain the JID and password to connect as, and the pubsub_node to dump the outcome to. It doesn't write anything directly, it just produces Atom into the pubsub channel, and the expectation is that some other process will do something with it; either display the message or the actual handling of the transaction. The Email parsing is intentionally very defensive, because the expectation is that whatever passes this parsing gets turned into credit in a user's account, so we want to make sure it's all above-board and bail early if something looks off. It's better to have to manually do something than to have it do too much on its own. We've tried to integrate the transaction values into atom as best as we can, and we've pulled in schema.org for the few things that didn't have a correlation.
Christopher Vollick created
1128cbd
Allow Running BlatherNotify in Reactor
All of the other scripts spin up the reactor in another thread, and then they do stuff on this thread and use that reactor to have things happen, so they are happy to have BlatherNotify handle the reactor. The script I have coming, though, will instead use EM in the course of it's operation, so it's beneficial that I be able to spin up BlatherNotify in my reactor which allows me to block until the process is done there.
Christopher Vollick created
2ac3560
Add PubSub Helpers to BlatherNotify
Since we think we may end up struturing a few scripts to push things into a PubSub node, I wanted to make that as easy as possible. So the way this works is that at startup we can give it a pubsub node and server, and then we can call `BlatherNotify.publish` from then on giving it the thing we want to publish and it'll just push it to the node we configured. Easy. But if we run into a situation where we want to publish to 2 or more different pubsub nodes in different situations, we can instead call `BlatherNotify.pubsub(node, server)` and it'll return us a non-global thing we can call publish on which will publish to that node specifically.
Christopher Vollick created
9ab992d
Resync Guix Dependencies with Gemfile
I tried running this under Guix and it didn't even build. It turns out a lint rule got added that doesn't allow license to have that value any longer, and a few changes to the dependencies of the project have been made without those same changes being reflected in the guix definition. Also, one of the dependencies that made it upstream works upstream, but fails in our definition due to a bundler version issue. A few of these changes may even be out of date by now, in terms of both guix upstream or pointing at branches we don't need to point at due to upstream taking patches, but I wanted to make the minimal set of changes here to make the Gemfile and the Guix have the same information. A later commit can change *both* to point at upstream, etc, if they so choose.
Christopher Vollick created
8846977
Fixup Correct Duplicate Addrs
This was a linter error, and I wanted to get it to linter clean before writing new code.
Christopher Vollick created
91fb350
Modernize CI
This was very complicated... I took the build definition from jmp-register, and I replaced everywhere I saw jmp-register with jmp-pay. Oh, and made it point at the right repo. Crafty, huh!?
Christopher Vollick created
7c850ab
Modernize guix
I've taken the pattern from jmp-register and imported it over here. Main takeaways is that there's no module anymore, and there's a manifest with dev dependencies. So, basically it's much easier to now just run `guix shell` and have that work automatically, but also have things like pry! Wow! Even if you wanted to test build, though, it's now the simpler: guix build --with-source=$PWD -f guix.scm Rather than the older version that used `-L.` and had jmp-pay and then also had to specify that that was the source you were overriding.
Christopher Vollick created
0345edb
Resync Guix Dependencies with Gemfile
I tried running this under Guix and it didn't even build. It turns out a lint rule got added that doesn't allow license to have that value any longer, and a few changes to the dependencies of the project have been made without those same changes being reflected in the guix definition. Also, one of the dependencies that made it upstream works upstream, but fails in our definition due to a bundler version issue. A few of these changes may even be out of date by now, in terms of both guix upstream or pointing at branches we don't need to point at due to upstream taking patches, but I wanted to make the minimal set of changes here to make the Gemfile and the Guix have the same information. A later commit can change *both* to point at upstream, etc, if they so choose.
Christopher Vollick created
0238ab4
Request submit of credit card form when pushing next in the app
Stephen Paul Weber created
e275d7b
Commit hotfix
Stephen Paul Weber created
6e4801c
Forgot to add this file
Stephen Paul Weber created
fe075a8
Merge branch 'card-form-improvements'
* card-form-improvements: Allow bypassing antifraud for a customer Block repeated failed attempts to verify cards Capture exceptional cases to Sentry Show decline error text in more cases
Stephen Paul Weber created
061d465
Allow bypassing antifraud for a customer
Support will need this
Stephen Paul Weber created
85ad44c
Block repeated failed attempts to verify cards
Declined verifications are ultimately a kind of declined transaction, and still reflect poorly on us.
Stephen Paul Weber created
2412b1e
Capture exceptional cases to Sentry
Stephen Paul Weber created
37cb77a
Show decline error text in more cases
Stephen Paul Weber created
f3a2a3b
No ReferenceError please
Stephen Paul Weber created
67b8504
If in an XMPP-aware app, move command execution along
Stephen Paul Weber created
d95a977
Set sampling rate to 1%
Stephen Paul Weber created
a45fe0f
Pull old port ins (from v1 days) from config file
Stephen Paul Weber created
fdd24d1
Hotfixes
Stephen Paul Weber created
d33d2a2
Merge branch 'cancel-expired'
* cancel-expired: Safety guard Add script to cancel expired customers
Stephen Paul Weber created
5f5ccfc
Safety guard
Stephen Paul Weber created
4480ff5
Add script to cancel expired customers
Stephen Paul Weber created
fdedfcb
Stop storing 3DS ID
It can't be used after vault time anyway.
Stephen Paul Weber created
a56128b
Only try to bill if expired for under a month
Stephen Paul Weber created
68ed9c3
Run billing 3 at a time
All at once kills the box
Stephen Paul Weber created
3c26c52
Merge branch 'bill-via-sgx-jmp'
* bill-via-sgx-jmp: Billing monthly cronjob using sgx-jmp
Stephen Paul Weber created
e7b9751
Billing monthly cronjob using sgx-jmp
Just get the list of expired customers and tell sgx-jmp about each of them, wait until all return or one errors and log result.
Stephen Paul Weber created
b4fbb78
Work even with no plan
Stephen Paul Weber created
a5fbd9e
Use correct merchant account for card verification
Based on plan currency
Stephen Paul Weber created
a52b561
Merge branch 'settled-after'
* settled-after: Bills and BTC are settled immediately
Stephen Paul Weber created
41faf76
Bills and BTC are settled immediately
Stephen Paul Weber created