Use FormTemplate for activation form
Merge branch 'rubocop' * rubocop: Additional fixes for rubocop 1.10.1 Switch to rubocop 0.89.1
Switch to rubocop 0.89.1 This is the rubocop in new Debian stable
Merge branch 'sip-outbound' * sip-outbound: Support transcription disablement option Port in inbound calls + voicemail Allow fetching fwd timeout as well Get OGM for a customer Helper to fetch customer's vcard-temp Make Disposition more real Allow constructing CDR for an inbound or outbound event Outbound calls from v2 SIP endpoint work and save a CDR
Port in inbound calls + voicemail The craziest part of this is the workaround for a serious bug in Bandwidth's HTTP voice API (which they may yet fix, still negotiating with them about that). When a call comes in, every 10 seconds that it is not "answered" the inbound call gets cancelled by their upstream peer and then get retried. The caller sees only one oubound call for this, so it doesn't look odd to them, but to us it looks like they keep hanging up and trying again every 10 seconds. So what we do for now is we wait 2 seconds after they disconnect before we decide they're really gone. If they call back in those 2 seconds we just connect the eventual bridge or voicemail to this new call and everything works out. Ew.
Merge branch 'number-search' * number-search: Do not direct back to website to pick new number Run rubocop after tests Add reference to option to show where the tel is Format tel for human reader Allow user to search for numbers over XMPP s/WebRegisterManager/TelSelections
Allow user to search for numbers over XMPP
The sugar version prevents the promise from being returned
Customer Info This should allow us, the admins, to query information about a customer without having to dive in and run a couple redis queries and some database queries before getting the full picture of who we're talking to. It also allows the users to request some data about themselves. Balance and phone number are already visible in other places, but their expiry is currently not, and people have been asking about it.
Merge branch 'command-object' * command-object: ErrorToSend => FinalStanza Since Command#finish causes an error, a then off the end won't work Refactor commands to have Command and Command::Execution objects
Refactor commands to have Command and Command::Execution objects Brings the common elements of all commands together, and threads the most useful state (such as ability to reply) through automatically using the new EMPromise fiber trampoline.
Merge branch 'count-outbound-messages' * count-outbound-messages: Store customer outbound messages/day for 1 year in redis
Store customer outbound messages/day for 1 year in redis Storage is a sorted set, with dates as the values and message counts as the scores. Use zincrby to increment the message count by 1 on each new message. Use zremrangebylex to remove all items older than 1 year so the set does not grow unboundedly. Dates with known message counts can be found using zrangebylex. Scores can be had one at a time with zscore. In redis 6.2+ zrange bylex withscores or zmscore may also be used, but that is only in Debian experimental at time of writing.
Merge branch 'pass-messages' * pass-messages: Pass messages to and from the SGX
Pass messages to and from the SGX Rewriting the from/to as appropriate.
Merge branch 'set-forwarding-on-finish' * set-forwarding-on-finish: Configure number for inbound calls
Merge branch 'import-to-catapult' * import-to-catapult: Import newly-purchased numbers to Catapult
Import newly-purchased numbers to Catapult Since we still use Catapult ("v1") for voice application, we need to import all numbers there and set their applicationId to match.
Configure number for inbound calls Adds the settings to redis that jmp-fwdcalls will use to route inbound calls. Not done by the sgx registration even though fwdcalls is currently a plug-over, and of course won't be once fwdcalls dies so do it here.
Merge branch 'new-signup-add-credit-card' * new-signup-add-credit-card: Happy path for credit card signup Panic should work on any value for error Allow getting default payment method, not just index Object representing the backend SGX to use Stop polluting Object namespace with Blather DSL Work in the presence of em-synchrony Helper to allow ordering phone number from Bandwidth v2 Helper to get a promise that resolves after N seconds Every payment kind will need the plan, so put it at the top Use registration pattern for Payment kinds Method to bill the plan of a Customer Use Forwardable for simple delegations Helper to allow using sync-style code in a Promise context New signup: go to web to choose credit card OOB helper Reject promise on stanza error Fix typo