348acf1
Allow printing NotLoaded values in tests
Stephen Paul Weber created
348acf1
Allow printing NotLoaded values in tests
Stephen Paul Weber created
876ec3f
Accept referral code on activation screen
If it's not a one-use code, save it as a pending code for later use maybe.
Stephen Paul Weber created
ef46f03
Reload customer after changing jid so welcome goes to new jid
Stephen Paul Weber created
6317f62
Move too-many-tries guard into the repo
Stephen Paul Weber created
4e1f2d4
Node is optional
Stephen Paul Weber created
c69eba6
Allow entering a particular number to buy
Stephen Paul Weber created
20fd6a9
terminate account command
Stephen Paul Weber created
4cf1b6d
New parented customer should save plan and get balance from parent
Stephen Paul Weber created
370fef4
New customers on certain domains should automatically get a certain parent
Stephen Paul Weber created
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
So that we have a model we can save/load and not just the XML element
Stephen Paul Weber created
4668db8
Merge branch 'snikket'
* 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
Changed the SIP account creation and reset command to prepend a "c" in front of the customer_id.
root21 created
5a565ff
Added Transaction Templates
Added template item for Data Topups.
root21 created
6d96300
Merge branch 'reg-new'
* 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
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'
* 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
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
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
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
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
The data-model supports it, so we probably shouldn't crash
Christopher Vollick created
4866cdf
Move to New Blather Version with Better IDs
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
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
Gives it more structure, and also makes cut-paste easier in the app.
Stephen Paul Weber created
1173bfc
Include customer id when onboarding
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
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
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'
* 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
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