So I’m developing a mobile client using React Native, where I’m utilizing Lemmy’s messaging functionality as well. This makes it extremely crucial to have notification support (including push notifications).

How are you guys dealing with this problem? This is what I think an elegant solution could look like. We would need to achieve two things:

  1. Bring back websockets only for notifications by directly changing lemmy server side code.
  2. Find where the email notification code is at, and simply implement expo notifications there.

Whaddya think?

  • UraniumBlazer@lemm.eeOP
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    1 year ago

    Webpush or UnifiedPush would be the answers, but neither is currently supported by Lemmy.

    I see. I was looking at the Novu project that seems to be working with expo notifications as well. Have you heard of it before? If you have, do you know how it is different from Webpush? I tried researching on this, but didn’t really find any answers.

    please don’t abuse Lemmy’s DMs as a sort of instant messenger

    I’ll tell you what the problem is. I think that a Discord x Reddit platform would be absolutely perfect. Chatroom conversations that can be indexed by search engines + posts would be very cool imo. E2EE can be worked on relatively easily for private messaging (I’ve tried it with no real problems). Chatrooms for communities with different channels can easily be done by creating a special post for every community, where all replied under it are the chat messages (sorted by new). This can make stuff like megathreads much easier and much more accessible.

    Unfortunately, there just are no alternative to make this possible. Matrix is a PITA to implement in react native, and not indexable. To implement XMPP by E2EE-ing it, it too is a PITA for react native. Plus, we would have to deal with separate databases, separate logins, registrations, different MFA, etc.

    This is why I decided to go with Lemmy’s DM thing. I would have to somehow E2EE it, which I would have to do for the alternatives either ways. Which is why I see much potential in working with this.