Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Spoke does not handle Bandwidth password errors cleanly #2231

Open
rhayhow opened this issue Oct 20, 2022 · 4 comments
Open

Bug: Spoke does not handle Bandwidth password errors cleanly #2231

rhayhow opened this issue Oct 20, 2022 · 4 comments
Labels

Comments

@rhayhow
Copy link

rhayhow commented Oct 20, 2022

Describe the bug
I changed my Bandwidth password (at their prompting) and forgot to update the password saved in the Spoke configuration page for my organization. Later in the day we had a texting party where we sent ~88,000 texts before anyone started wondering if something was wrong. We did not see any replies or opt-outs which is highly unlikely after sending that many texts. I didn't see any errors in the campaign console, which is also odd because we almost always get a few errors.

This led me to look at the Heroku logs for the Spoke app where I saw errors indicating that the user attempting to send texts was not authenticated. However there was no indication in the Spoke application (either to texters or administrators) that there was a problem. I know that I have seen error message in Spoke before like "There was a problem sending the message," but for some reason this type of error didn't cause that message.

To resolve the issue I updated my password in the Spoke configuration page and the errors went away.

To Reproduce
Steps to reproduce the behavior:

  1. Configure a Spoke instance to use Bandwidth and confirm that it is working. Use the suggested username/password pair in the Spoke Settings page.
    Blurred

  2. Change your Bandwidth password here https://passport.bandwidth.com/forgot-password

  3. Try to send texts and observe errors in Heroku log console

  4. Also observe that no errors appear either in the Texter context or in the Campaign page for that campaign

Expected behavior
An error message would be displayed to the Texter, "There was a problem sending your message." and the error would appear in the Campaign page for that campaign.

Screenshots
See above

Platform (please complete the following information):

  • OS: Ubuntu 22.04
  • Browser Chrome
  • Desktop or Mobile Desktop
  • Version 106.0.5249.119

Additional context
Add any other context about the problem here.

@rhayhow rhayhow added the C-bug Type: Bug label Oct 20, 2022
@Arique1104
Copy link
Collaborator

Thank you for sharing your notes! I have forwarded this issue to our engineering team.

As for the monitoring the Heroku Logs so that you can be notified when there is a problem.

Jeff from AFL-CIO suggested the following:

"we use the corologix addon for heroku to capture/analyze logs, but I’ve also totally replaced the spoke logging with a json logger (pino), so YMMV"

I'd be happy to meet with you soon to work on getting corologix add-on information loaded to your instance (and doubly prepare documentation that can be added to the Spoke.)

@crayolakat
Copy link
Collaborator

Hey @rhayhow , thanks for reporting this issue! It's definitely important for there to be some sort of indication that there's an error when Bandwidth authentication fails.

Side note: Are you currently using an "API Access" user in the Spoke configuration? An "API Access" user won't be prompted to change their password every 90 days, whereas a regular user with access to the Bandwidth dashboard will be prompted to change their password every 90 days: https://support.bandwidth.com/hc/en-us/articles/360061927414-Changes-to-the-Bandwidth-Dashboard-UI-API-user-access-methods

I recommend for you to use an "API Access" user in your Spoke configuration to avoid the mandatory 90-day password change and potential interruptions in texting.
Screen Shot 2022-10-24 at 11 30 10 AM

@rhayhow
Copy link
Author

rhayhow commented Oct 25, 2022 via email

@Arique1104
Copy link
Collaborator

Thank you @crayolakat!

Hey @rhayhow, I think it's less about whether or not you are using the API and more about Spoke having the functionality to synch credential updates between your Bandwidth Account and your Spoke Account if those credentials are connected to a user setting called "API User." It is my belief that this access comes with your Bandwidth Account.

When we read your issue ticket with the Engineering Team, we were able to identify two separate issues

  1. The first being a missing setting on the user type that will synch your credentials between Bandwidth and Spoke.
  2. The second is upgrading our error-handling.
  3. With a sub-section focused on providing a workaround while that project gets off the ground. The Workaround will provide documentation on integrating a monitoring application in Heroku deployments.

Do you have any questions or concerns about this plan?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants