Commit Graph

17 Commits

Author SHA1 Message Date
d9f8f93e83 Do not send notifications about unsupported nostr event kinds
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 18:54:59 -07:00
ee79f04d24 Improve message formatting fallbacks
to something more user-friendly

Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 18:49:01 -07:00
94778cdf70 Fix nostr event payload on custom data
Previously, the nostr event data was being transformed into
serde::Value, which is incompatible with the current notification
extension implementation. This commit fixes that by serializing it all
into a single JSON string

Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 18:34:26 -07:00
31ab709b1c Improve logging verbosity
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 18:18:43 -07:00
73a7dc1e4a Reduce shared resource contention
This commit should drastically improve performance of the relay.

It reduces contention by removing the mutex on NotificationManager and
replacing it with several smaller mutexes for each shared resource, so
that more operations can happen concurrently.

Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 17:32:44 -07:00
82c28abff7 Add timeout to mute list fetching
If a relay does not have a user's mutelist, a function in our pipeline
would wait indefinitely, causing all other requests to be locked as
well.

This commit adds a timeout to avoid this issue

Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 16:49:30 -07:00
697bd4eb83 Add more debug logging for better troubleshooting
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 16:49:30 -07:00
db088b1aa3 Unified API + Websockets server
Both API and Websockets are running on the same port

Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 16:48:56 -07:00
daa2408cfd Remove unused code to fix cargo warnings
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
2024-08-02 10:24:25 -07:00
8d5c9475ab Merge pull request #2 from damus-io/fmt
run cargo fmt --all
2024-08-02 10:17:42 -07:00
36cc9f8742 run cargo fmt --all
we should try to stick to rustfmt style, many editors save it like this
by default.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-31 17:44:48 -07:00
e704f6e24c Make APNS client persistent across sends + better logging
Previously, the APNS client would be reinitialized in every send.
This commit makes it so that the client is initialized with the rest of
Notification manager, to avoid performance and token management issues.
2024-07-31 14:12:23 -07:00
1e591217c5 Web API interface
First implementation of the Web API interface, which can be used to
manage pubkey to APNS token relationships.
2024-07-31 14:11:42 -07:00
3d447e9527 Merge branch 'master' of github.com:damus-io/damus-push-notification-relay
Manually solved conflicts:
- In README.md
- In Cargo.lock, by completely regenerating it.
2024-07-19 22:03:22 -07:00
c0cded7255 Improve relay draft
This commit brings a compilable, runnable relay draft, with logging
setup, basic README instructions, Mutex protection around shared
resources, implemented with code safety in mind

Notes:
- This is not fully tested
- The mutex design is not the most efficient, and could cause some contention on high traffic
- The REST API is not yet integrated
2024-07-19 20:52:30 -07:00
0a6ba2ee11 rename to notepush
Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-11 10:04:44 -07:00
e11c636ce3 Initial draft commit 2024-07-11 09:53:43 -07:00