Comments (4)
I don't see a reason that this should be Riot-specific as far as is feasible; it wouldn't stand if we turned around and said Synapse or Sydent were Riot-specific.
Of course, we have to apply some modest realism; it's likely out of scope to offer a completely customisable 'experience' without touching a line of code, yet on the other hand,
most IM-type apps will more or less want the same things and it seems only reasonable for us to support this kind of 'baseline' use-case by default.
Indeed, I didn't intentionally write anything to be Riot specific (though I may have missed some subtleties as I don't have all that much visibility into what happens on the target devices). There's not much to it in Sygnal; data comes from Synapse and Sygnal glues on an API key and rewrites it into GCM- or APNs-speke and bounces it off again.
If we shook out the last few drips (AFAICT) of Riot-specificism (#107), wouldn't Sygnal overall be better off?
from sygnal.
For the record, this issue came out of a discussion within the NV team (https://matrix.to/#/!WCHwNGGsrVwPeRtAnq:matrix.org/$1592306178253GDjUs:sw1v.org?via=sw1v.org&via=matrix.org&via=vector.modular.im, for those with access to it), where highlights include:
[@dbkr] the apns pushkin is riot specific though
[@richvdh] sure, but if half of sygnal is riot-specific, that must make the whole riot-specific
[@dbkr] so yeah, technically vector-im may be a better place for it, or have syngnal in matrix-org and split out the riot pushkins into vector-im if you wanted to be really Technically Correct
[@dbkr] (not that there are any other pushkins)
[@dbkr] (to be clear, sygnal et al all date back from a time before riot or vector existed and Matrix Console roamed the lands which is why the water are so muddy here)
(though I may have missed some subtleties as I don't have all that much visibility into what happens on the target devices)
I think this is kinda the trouble with making it generic: development is driven primarily by the riot mobile teams, meaning that bugs like #107 can exist for months without anyone noticing, and riot-specific behaviour gets introduced without it necessarily being clearly documented for other apps. (#127 was a recent example of this, although in that instance we eventually ended up with an implementation which seemed to be generic enough to make sense in its own right, and did get documented in the README).
Having mulled this over a bit in the last couple of weeks, I'm minded to agree with you that in principle there is no need for Sygnal itself or even the pushkins to be riot-specific (though the instance of sygnal which is deployed at https://matrix.org/_matrix/push/v1/notify
necessarily is, because of the need for APNS/FCM account keys).
In practice it may be hard to come up with generic implementations of the pushkins which work for all apps, but I guess we should have a go.
from sygnal.
Going to take this on as more of a documentation task
from sygnal.
#107 (comment) (default payload on iOS) could do with documentation as even I don't know where to look for nice, readable instructions of what to do
from sygnal.
Related Issues (20)
- FCM push for iOS issue HOT 2
- Web push notifications are not working with web.push.apple.com (Safari) HOT 3
- missing setup.py file HOT 3
- UnifiedPush support HOT 11
- Upgrade dependencies HOT 1
- Documentation for using Sygnal behind a reverse proxy HOT 9
- New tagged version HOT 2
- Disable logging for health endpoint
- anyway to use gcm/fcm key as of today 24/10/2023 for android notification HOT 2
- `sygnal.__version__` is broken
- Tests failing with Twisted 23.10
- twisted Timing out client: IPv6Address HOT 1
- ios push how to cancel user_id HOT 1
- GCMPushkin assumes that content field is not null. Fails when push format is `event_id_only`
- Unable to send Push notification with content_available and mutable_content configurations in sygnal.yaml HOT 13
- Sygnal only sending data-only FCM messages HOT 3
- v0.14.0 FCM error sending notification HOT 8
- FCM v1 Upgrade - 'NoneType' object has no attribute 'items' HOT 2
- docker build failed from tar.gz source HOT 1
- FCM API Credential refresh mechanism doesn't support HTTP proxies and blocks the event loop HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sygnal.