Commit log

a62aadf Fix CDR recording

Stephen Paul Weber created

ad68e7d Fix typo

Stephen Paul Weber created

e59ee9e Link to bot commands when suggesting buy more credit

Stephen Paul Weber created

d48ecc2 hotfix

Stephen Paul Weber created

f799b68 hotfix

Stephen Paul Weber created

ec6b59b Forgot the form

Stephen Paul Weber created

efdc438 Verified google play purchases get first month free one time

Stephen Paul Weber created

4390b00 Allow code to extend plan without billing

Stephen Paul Weber created

85e561c Use support-addresses not notify_from

Stephen Paul Weber created

06e59b2 Show "link" to contact support if snikket creation is slow

Stephen Paul Weber created

4a37e5a Need to use symbol keys

Stephen Paul Weber created

e9d11e6 Check for snikket instance before making new one

Stephen Paul Weber created

4f03b9d Save Snikket Instance after launch

Stephen Paul Weber created

553f750 Refactor Snikket code to use a CustomerInstance object

Click to expand commit body
So that we have a model we can save/load and not just the XML element

Stephen Paul Weber created

4668db8 Merge branch 'snikket'

Click to expand commit body
* snikket:
  Welcome message after final jidswitch for onboarding
  Finish onboarding by creating a Snikket instance

Stephen Paul Weber created

8a4fdc1 Ruby3 fix

Stephen Paul Weber created

e87a71e SIP account creation and reset

Click to expand commit body
Changed the SIP account creation and reset command to prepend a "c" in
front of the customer_id.

root21 created

5a565ff Added Transaction Templates

Click to expand commit body
Added template item for Data Topups.

root21 created

6d96300 Merge branch 'reg-new'

Click to expand commit body
* reg-new:
  Show Bitcoin registration info as form not note
  Include customer id when onboarding

Stephen Paul Weber created

13dc410 Welcome message after final jidswitch for onboarding

Stephen Paul Weber created

0adc5c5 Finish onboarding by creating a Snikket instance

Click to expand commit body
Custom domain not supported by the API yet, so stub for now.

Stephen Paul Weber created

459dfd0 Support for optionally-rendered prefix and suffix labels on fields

Stephen Paul Weber created

9b2e3b1 Refactor top up form to use FormTemplate

Stephen Paul Weber created

0350567 Better datatypes on forms

Stephen Paul Weber created

3c15e92 Welcome message for new users

Stephen Paul Weber created

b6f226f Fix for new blather version

Stephen Paul Weber created

a7c2ebb Merge branch 'porting'

Click to expand commit body
* porting:
  Porting Script
  Porting Logic
  Add CommandExecution to BlatherNotify
  Import Blather Notify and ToForm from JMP Pay
  Allow User FWD to be Nil
  Move to New Blather Version with Better IDs
  Update ruby-bandwidth-iris Gem

Stephen Paul Weber created

052cbfa Porting Script

Click to expand commit body
This does a few things. It's meant to be run headlessly, but it can also
be run by a human if they want to do it manually.

So in pursuit of that it has a few options. The defaults ignore
informational logs, send exceptions to sentry, warnings to a pubsub
channel, and send messages to the customer to tell them the port is
finished.

But the manual mode logs informational messages, warnings, and errors
all to the terminal. And then it can either also log the things it would
have said to the customer, or it can send those automatically still.

I've also got an option for making fake ports. Yeah, it's just used when
testing the thing, but given that I run it that way 90% of the time, it
felt weird to just have it floating around in my working dir and having
to keep remembering to take it out, commit, put it back, etc.

So I just decided I'd put it in here behind a flag.

Christopher Vollick created

5311547 Porting Logic

Click to expand commit body
Ok, so I've built a big tree of states here to represent us trying to
figure out what the current situation is in this mad world.

Then each one of those leaves has some thing that it does to hopefully
move towards the next step.

There's also the warnings which are emitted, while also still attempting
to make progress. We want to tell people about things, but not get stuck
in "busted" mode forever.

Christopher Vollick created

74983b2 Add CommandExecution to BlatherNotify

Click to expand commit body
This follows a single command through a chain of steps and takes care of
the flow where sometimes I fetch a form before I submit it, and other
times I've already gotten the form on the last step, etc.

Christopher Vollick created

19661cb Import Blather Notify and ToForm from JMP Pay

Click to expand commit body
These are some helpers I'm going to use to run my porting logic later.
I've imported BlatherNotify verbatim here, though I will be making
changes in later commits.

ToForm on the other hand has been just added to the existing Form
refinement we already had, making it a two-way conversion now.

Christopher Vollick created

8bac167 Allow User FWD to be Nil

Click to expand commit body
The data-model supports it, so we probably shouldn't crash

Christopher Vollick created

4866cdf Move to New Blather Version with Better IDs

Click to expand commit body
This is currently just my branch, but we'll move to another commit after
it gets merged.

This commit makes it so session IDs and IQ IDs are unique rather than
the current state where they're always blather01, blather02, etc.

Given that we just start, run roughly the same commands, and then close
it meant all of our sessions were predictably numbered, and so we were
seeing some previous runs of the script picking up old sessions, etc.

Not great!

Also, at some point between whenever the last version was and now the
API changed for handlers, so we have to do that now. If we don't, the
commands just sit there and never respond. Bad.

So this makes our extensions more inline with upstream's new API.

Christopher Vollick created

861f4b0 Update ruby-bandwidth-iris Gem

Click to expand commit body
It looks like the commits on this branch were merged to upstream a long
time ago, and other changes have been made since which I'm going to need
in a moment.

Christopher Vollick created

9a0d773 Show Bitcoin registration info as form not note

Click to expand commit body
Gives it more structure, and also makes cut-paste easier in the app.

Stephen Paul Weber created

1173bfc Include customer id when onboarding

Click to expand commit body
They don't really know their throwaway onboarding JID anyway.

NOTE: they have a customer ID but not a cheogram route, so contact from support
must still go via whisper to their JID and not direct to this customer ID!

Stephen Paul Weber created

4eb081a Disconnect Number on Swap

Click to expand commit body
I decided that when undoing this action I shouldn't delete the new
number automatically, and when redoing I probably shouldn't re-delete
the new number.

This situations are weird, and so the human should probably think
criticially here.

So what I do instead is only delete the number the first time the action
gets run, and then in the other two cases I warn the operator that I
didn't delete anything so they can go figure stuff out.

I put this `first_time?` logic in the parent because I already know of
another place where I'm planning on using it in a different PR.

Christopher Vollick created

9b2a008 Fix Whitespace

Click to expand commit body
I'm going to make changes to this file at some point, but while I was in
here I noticed the whitespace was a bit weird.

So this change is only whitespace, no logic.

Christopher Vollick created

826454a Merge branch '3ds-tx'

Click to expand commit body
* 3ds-tx:
  Privacy.com doesn't even like us anymore
  3DS first transaction

Stephen Paul Weber created

f4d974e Privacy.com doesn't even like us anymore

Stephen Paul Weber created

9a8c6e7 3DS first transaction

Click to expand commit body
Use the new with-amount jmp pay and when they click next check their balance
before we charge them, if they did make a transaction already then we can
proceed to BillPlan.

Stephen Paul Weber created

445c909 Customer cc limit to 130

Stephen Paul Weber created

d5811da CDRs for everyone

Stephen Paul Weber created

cd00a32 Porting Zips Can Contain "-"

Click to expand commit body
I use presence of only numerals to guess if a port is Canadian or not.
Today we got a Zip+4, which has a dash. Right... that...

Christopher Vollick created

9d529fc SIM nicknames feature

Click to expand commit body
Added columns to the eSIMs command to now display the nickname of a SIM,
if set.
Added test for the new columns in sim_repo.
Added nicknames column to sims form, and modified to a multiline form.

root21 created

245f384 Don't Count Stanzas Without Body as Reached

Click to expand commit body
We get messages without bodies from time to time as things like delivery
receipts.

These are great, and we don't want to forward them to the end-user for
sure if we're dealing with a reachable number, but we also don't want to
count it as a message that reached us.

It's a receipt for a thing I did, not a thing the tester did.

Christopher Vollick created

1145cc7 Reachability Command

Click to expand commit body
This creates the keys that the previous commits use, and also reports
their current values.

It's a pretty sparse command in terms of UX, but only admins will use it
so I kept it simple.

This also optionally sends the prompt to one of the chosen reachability
numbers. It's optional so a human running the command can query the
result without looking in redis, but also without spamming their phone
with another message.

Christopher Vollick created

aafb948 Track Call Reachability

Click to expand commit body
This intercepts calls that are from the reachability numbers and checks
their status.

I had to extend the reachability repo a bit because I realized that
unlike texts which I just want to do nothing when they're intercepted,
for calls I actually have to _return_ something in that case.

Due to my short-circuit none of the existing tests needed to be changed,
because the calls weren't coming from a reachability number. But then I
added two more tests, one to make sure a call from the reachability
number works normally if reachability is not being tested for that user,
and another that verifies that if we're testing reachability it hangs up
and increments the counter, which is the actual point of this patch.

Christopher Vollick created

f74beeb SMS Reachability Check

Click to expand commit body
On an inbound stanza it checks if the initiator is one of the
whitelisted numbers that can perform reachability checks. If not, which
virtually all received SMSs won't be, it just runs the code that was
already there.

If it is, then it does a further check to see if the reachability check
is ongoing for this user, and if not it runs the code that was already
there.

And finally, if the key exists it increments it and otherwise doesn't
process the message.

Christopher Vollick created

eeb2432 Fix for nil response

Stephen Paul Weber created