question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Signal API bug with persistent storage

See original GitHub issue

📣 Notification Service(s) Impacted Signal-api

🐞 Describe the bug Signal API works with Apprise’s CLI (although with a warning), but fails with the Web-UI and the Web API.

💡 Screenshots and Logs

$ docker logs apprise
2022-08-24 17:19:09,756 [DEBUG] apprise: Loaded URL: signal://signal-api:8080/123456789/?batch=no&status=no&format=text&overflow=upstream&rto=4.0&cto=4.0&verify=yes
2022-08-24 17:19:09,757 [INFO] apprise: Loaded 3 entries from memory://
2022-08-24 17:19:09,758 [INFO] apprise: Notifying 1 service(s) asynchronously.
2022-08-24 17:19:09,760 [WARNING] apprise: There were no Signal API targets to notify.
2022-08-24 17:19:09,766 [WARNING] django.request: Failed Dependency: /notify/apprise
2022/08/24 22:19:09 [info] 9#9: *7 recv() failed (104: Connection reset by peer) while sending to client, client: 5.6.7.8, server: , request: "POST /notify/apprise HTTP/1.1", upstream: "http://127.0.0.1:8080/notify/apprise", host: "apprise:12345"

command to trigger this with the stateful API

$ curl -X POST -d '{"tag":"signal", "body":"test message"}' -H "Content-Type: application/json" https://apprise:12345/notify/apprise
{"error": "One or more notification could not be sent."}

and the Apprise configuration file

urls:
  - signal://signal-api:8080/123456789:
    - tag: signal

The CLI works but triggers a warning

$ docker exec -it apprise bash
$ apprise -vvv -t "Test Message Title" -b "Test Message Body" \
   signal://signal-api:8080/123456789
2022-08-24 22:34:53,601 - DEBUG - Loaded Signal API URL: signal://signal-api:8080/123456789/?batch=no&status=no&format=text&overflow=upstream&rto=4.0&cto=4.0&verify=yes
2022-08-24 22:34:53,602 - DEBUG - Using selector: EpollSelector
2022-08-24 22:34:53,603 - INFO - Notifying 1 service(s) asynchronously.
2022-08-24 22:34:53,609 - DEBUG - Signal API POST URL: http://signal-api:8080/v2/send (cert_verify=True)
2022-08-24 22:34:53,610 - DEBUG - Signal API Payload: {'message': 'Test Message Title\r\nTest Message Body', 'number': '123456789', 'recipients': ['123456789']}
2022-08-24 22:34:57,640 - WARNING - A Connection error occured sending 1 Signal API notification(s).
2022-08-24 22:34:57,640 - DEBUG - Socket Exception: HTTPConnectionPool(host='signal-api', port=8080): Read timed out. (read timeout=4.0)

and the stateless API works for some reason despite the message

$ curl -X POST -d '{"urls":"signal://signal-api:8080/123456789", "body":"test message"}' -H "Content-Type: application/json" https://apprise:12345/notify
One or more notification could not be sent.

In short:

  • stateless Web-API works
  • stateful (persistent storage) Web-API fails
  • CLI works
  • Web-UI notification test fails

My guess is that Apprise does not translate the configuration into a proper call.

💻 Your System Details:

  • OS: Debian 11
  • Python Version: 3.10.6

🔮 Additional context I am using the latest Docker image (v0.8.0).

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
caronccommented, Nov 12, 2022

This has been fixed now in the master branch. 🚀 Closing this ticket off

1reaction
caronccommented, Sep 1, 2022

But this is a fairly minor problem, the main issue is that I cannot trigger signal remotely using a configuration (stateful).

Unfortunately, adding rto: 30 to the YAML configuration does not solve it: both Web-UI and stateful curl triggers fail.

I hear you. Looks like this is definitely a bug. I’ll investigate further and let you know as I learn more or can patch it up 👍

Read more comments on GitHub >

github_iconTop Results From Across the Web

Signal uses too much data on storage / can't clear ... - GitHub
I can confirm this issue under Android 5+. Signal occupied over 1,5 GB app data although the Data (Text of conversation + Images...
Read more >
Signal >> Blog
We're talking enclaves and memory access patterns. ... Inside, you'll find performance enhancements, a slew of bug fixes, improvements to ...
Read more >
signal sigabrt error? | Apple Developer Forums
A SIGABRT (signal abort) error means that the app was deliberately crashed due to ... The persistent store is not accessible, due to...
Read more >
Reading bug reports | Android Open Source Project
The memory snapshot is a dumpstate that lists running Java and native processes (for details, refer to Viewing Overall Memory Allocations). Keep ...
Read more >
A Mechanism for Building Synchronous and Persistent Signal ...
However, the current design of persistent signals is very rudimental. For example, they cannot represent complex data structures; they can only ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found