Commit log

9dc558a Guix added this package

Stephen Paul Weber created

b17a9ec Handle multiple DKIM headers

Stephen Paul Weber created

c2bab9c Try to prevent double-submit

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

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

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

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

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

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

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

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

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

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

Click to expand commit body
This was a linter error, and I wanted to get it to linter clean before
writing new code.

Christopher Vollick created

91fb350 Modernize CI

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

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

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

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

Click to expand commit body
Support will need this

Stephen Paul Weber created

85ad44c Block repeated failed attempts to verify cards

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

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

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

Click to expand commit body
All at once kills the box

Stephen Paul Weber created

3c26c52 Merge branch 'bill-via-sgx-jmp'

Click to expand commit body
* bill-via-sgx-jmp:
  Billing monthly cronjob using sgx-jmp

Stephen Paul Weber created

e7b9751 Billing monthly cronjob using sgx-jmp

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

Click to expand commit body
Based on plan currency

Stephen Paul Weber created

a52b561 Merge branch 'settled-after'

Click to expand commit body
* settled-after:
  Bills and BTC are settled immediately

Stephen Paul Weber created

41faf76 Bills and BTC are settled immediately

Stephen Paul Weber created