Commit log

ca758e2 docs: add agents.md

Amolith created

d51ed18 Fix editorconfig

Stephen Paul Weber created

eebff0f pin blather to better-ids branch

Click to expand commit body
includes the same fix as better-feature-order

Phillip Davis created

ace95df Add .gitignore

Phillip Davis created

cecd219 Add .editorconfig

Click to expand commit body
so I stop accidentally blowing it away

Phillip Davis created

8bba5ad fix: monkeypatch URI.escape, for now

Click to expand commit body
pending bigger move to newer Ruby version which supports Gems that don't
rely on old, broken APIs from the stdlib

Phillip Davis created

68a0ab4 Merge branch 'catch-errors-from-at-least-bandwidth' of https://git.secluded.site/sgx-bwmsgsv2

Click to expand commit body
* 'catch-errors-from-at-least-bandwidth' of https://git.secluded.site/sgx-bwmsgsv2:
  Adopt cmd error handling like sgx-jmp

Stephen Paul Weber created

7fefb47 Owner more often etc

Stephen Paul Weber created

ccff41b From and to do not need to be phone numbers

Click to expand commit body
Might be short codes for example

Stephen Paul Weber created

22acdfe Fix because we require synchrony now

Stephen Paul Weber created

ee1ac92 Merge branch 'emit-messages-to-event-stream' of https://git.secluded.site/sgx-bwmsgsv2

Click to expand commit body
* 'emit-messages-to-event-stream' of https://git.secluded.site/sgx-bwmsgsv2:
  Separate message_id into bandwidth/stanza IDs, make timestamp optional
  Switch from ValueSemantics to normal OOP Ruby
  Use stream name in example
  Remove unused wait_for
  Pin ruby-bandwidth-iris to ~> 2.7
  Add Redis stream trim example
  Emit messages and statuses to Redis stream

Stephen Paul Weber created

484bb55 Fixa already broken test + 1 new test fix

Click to expand commit body
- The first commit was broken since it didn't include the `with_stubs`
  helper

- The second one was included in a previous patchset but I'm including
  it as a standalone to get upstream tests 'fixed.' Apparnetly this test
  reliably passed without stubbing TnOptiions.get, but clearly it should
  be stubbed or mocked.

The following changes since commit 710dfae450ea52a53a46f92776451e9e3f1afa19:

  Merge branch '380-conditionally-show-command' of https://git.secluded.site/sgx-bwmsgsv2 (2025-10-22 09:49:51 -0500)

are available in the Git repository at:

  test_fixes

for you to fetch changes up to 23cca00d8274c7f8bf808d5f0af6993369c7a76d:

  fix `test_port_out_pin` (2026-01-31 10:17:03 -0500)

----------------------------------------------------------------
Phillip Davis (2):
      fix: handle 404 in tn_eligible_for_port_out_pin?
      fix `test_port_out_pin`

 lib/bandwidth_tn_options.rb       |  8 +++++++-
 test/test_bandwidth_tn_options.rb | 19 +++++++++++++++++++
 test/test_component.rb            | 34 ++++++++++++++++++++++++----------
 test/test_helper.rb               | 11 +++++++++++
 4 files changed, 61 insertions(+), 11 deletions(-)
 create mode 100644 test/test_bandwidth_tn_options.rb

Phillip Davis created

a0b76cc Adopt cmd error handling like sgx-jmp

Click to expand commit body
So it doesn't fall over on errors and we have to rely on a supervisor to
bring it back up a couple minutes after. This also adds Sentry error
reporting, only tested with the mock, not with actual GlitchTip.

Amolith created

324d4e3 Separate message_id into bandwidth/stanza IDs, make timestamp optional

Click to expand commit body
Having both bandwidth and stanza IDs would be useful instead of only
ever capturing one. With both, message_id becomes redundant.

Use provided timestamp everywhere, don't generate a timestamp when one's
not provided and instead just rely on the event ID from redis, because
stream IDs are timestamps.

Amolith created

d71aff8 Switch from ValueSemantics to normal OOP Ruby

Click to expand commit body
The more I tried to clean up and improve the use of ValueSemantics, the
more I came to the conclusion it would either have way too much
duplication or deduplicating would be too messy and complex.

Amolith created

0e03f2d Tidy test deps

Click to expand commit body
- depend on Amolith's fork of Rantly. Fix has moved into upstream but
  requires jump to Ruby 3.3; should do eventually, but 3.3 isn't even
  packaged in our Guix commit.
- pin to same Rubocop version as sgx-jmp.
- pry-byebug

Phillip Davis created

4f2f3b1 Add 'csv' and 'mutex_m' to Gemfile

Click to expand commit body
Some dependencies or other depend on them, but don't add them to their
Gemfile. However, they were removed from the stdlib in later Ruby
versions, so things break if we don't explicitly include them.

Phillip Davis created

752795f fix: handle 404 in tn_eligible_for_port_out_pin?

Phillip Davis created

7505075 Use stream name in example

Amolith created

c3975c3 Remove unused wait_for

Click to expand commit body
I refactored away how I was using it before committing
51d5802e2782f49f6ade16e36d0caf599a9020ef, then forgot to remove it.

Amolith created

5736b88 Pin ruby-bandwidth-iris to ~> 2.7

Click to expand commit body
Version 2.7.0 added TnOptions endpoints needed for port-out PIN
functionality. The lock file had 1.0.2 which predates that feature.

Amolith created

aa48bfa Add Redis stream trim example

Amolith created

51d5802 Emit messages and statuses to Redis stream

Click to expand commit body
- in: inbound message-received
- out: outbound after successful Bandwidth API call
- thru: pass-through XMPP-to-XMPP messages
- delivered: message-delivered callback
- failed: message-failed callback

Implements: https://todo.sr.ht/~singpolyma/soprani.ca/517
Implements: https://todo.sr.ht/~singpolyma/soprani.ca/518

Amolith created

710dfae Merge branch '380-conditionally-show-command' of https://git.secluded.site/sgx-bwmsgsv2

Click to expand commit body
* '380-conditionally-show-command' of https://git.secluded.site/sgx-bwmsgsv2:
  refactor: only show port-out cmd if tn eligible

Stephen Paul Weber created

a953751 refactor: only show port-out cmd if tn eligible

Click to expand commit body
References: https://todo.sr.ht/~singpolyma/soprani.ca/380
Co-authored-by: Crush <crush@charm.land>

Amolith and Crush created

16170c6 Merge branch '380-set-port-out-pin' of https://git.secluded.site/sgx-bwmsgsv2

Click to expand commit body
* '380-set-port-out-pin' of https://git.secluded.site/sgx-bwmsgsv2:
  chore: swap StandardError/RuntimeError, simplify
  feat: let users set their port-out PIN
  chore: update rubocop names
  test: rescue NameError
  chore: add missing webrick dependency

Stephen Paul Weber created

97a38ec chore: swap StandardError/RuntimeError, simplify

Amolith created

fe75c33 feat: let users set their port-out PIN

Amolith created

a42646d chore: update rubocop names

Amolith created

70a2071 test: rescue NameError

Amolith created

facf6fe chore: add missing webrick dependency

Amolith created

8829bbd Fix redis keys

Stephen Paul Weber created

dd73941 use doesn't return for chain

Stephen Paul Weber created

9ac5842 Fixups not worth sending back to review

Stephen Paul Weber created

8fa3d50 forward errors to users when a msg gets blocked

Phillip Davis created

a3ad5dd dedup 'to' array

Phillip Davis created

8a577f3 Forgot this require

Stephen Paul Weber created

0968b7e Use explicit txt URL

Stephen Paul Weber created

44c55ae Convert long message to MMS

Stephen Paul Weber created

1babdd4 Allow any media URL, and resiliency

Stephen Paul Weber created

c427405 No need to generate fallback body in SGX anymore, cheogram can do that now

Stephen Paul Weber created

3605df4 Merge branch 'send-big-or-bad-mime-as-link' into 'master'

Click to expand commit body
Added method to send link via SMS on large file sizes and unsupported MIME types.

See merge request soprani.ca/sgx-bwmsgsv2!16

Stephen Paul Weber created

9595ade Added comments to new code blocks.

root root created

d5f7384 Added commented link for MIME type support

root root created

eee0826 Added method to send link via SMS on large file sizes and unsupported MIME types.

root21 created

e18e0b6 Merge branch 'allow_updating_user_registration' into 'master'

Click to expand commit body
Allow updating existing user registration

See merge request soprani.ca/sgx-bwmsgsv2!15

Christopher Vollick created

339caef Allow updating existing user registration

Stephen Paul Weber created

449c2e4 Use new blather properly

Stephen Paul Weber created

23eaf6b Merge branch 'ibr-refactor' into 'master'

Click to expand commit body
Ibr refactor

See merge request soprani.ca/sgx-bwmsgsv2!14

Stephen Paul Weber created

e144002 Refactor IBR get/form to use the IBR helpers

Stephen Paul Weber created