Hi everyone,

For the past weeks I’ve been working hard on a push notification service for Avelon that is finally ready for open beta! This feature involves a completely new cloud service that automatically notifies you whenever someone replies to your posts/comments, and it simultaneously supports multiple accounts you might have. Although the app itself doesn’t change much with this new Testflight build, there’s a lot of stuff happening in the background to make push notifications happen.

My goal with the open beta is to test the service with many more users to see how it scales under heavier load. I’m not sure how powerful of a server it’ll need - and as many of you might know cloud compute isn’t exactly cheap. The service isn’t quite done yet, so while I keep working on it you should expect downtime and occasionally delayed notifications.

How to join

  • Download the latest 1.0.8 testflight build
  • Open Avelon and go to Settings/Notifications
  • Enable notifications for the accounts you wanna use

When you’re testing, I’m especially interested in verifying that you’re not getting any duplicate notifications and that you’re receiving notifications for all the accounts you’ve enabled. Also, please share any bugs you might find or thoughts about how to improve things!

Notifications should still work if you go back to the App Store version without deleting the app, but notifications won’t open the post and the notification badge will probably not behave properly. This is just a result of the previous version not supporting notifications yet, and will ofc be resolved with the official release!

Technical stuff for those interested

The push notification service is written in Rust, which is a pretty awesome language. This is my first time using it for a complete solution, but I must say I’m already sold on the features the language offers. Ensuring performance and security was a breeze compared to many other languages I’ve used. For those unaware, Lemmy itself is also written in Rust.

I’ve prioritized making sure the service scales well with many users, whilst not being heavier than necessary on the Lemmy servers. All traffic from the Avelon service is properly tagged to make it easy for instance owners to verify that the traffic is legit, and not some kind of DOS attack. If the traffic turns out to be a bit heavy for any instance owners, please don’t hesitate to contact me to discuss how I can tweak the service to be less demanding on your server.

With the addition of push notifications I’ll also update the privacy badge on the App Store to include (opt-in) collection of device identifiers. This is just a practical necessity to know which device to send notifications to. Apple continuously shuffles these random IDs, and they are the only ones who know who each one belongs to. The Avelon service simply sends a notification with the ID to Apple, and they figure out which device to forward it to. And of course, if you disable push notifications in the app all your info is immediately deleted from the notification server.

Thanks for reading & helping me test!

  • LazaroFilm@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    So weird thing is happening. I tried the beta flight version to try the push notifications but then went back to the AppStore version for the pro options. Now I get notifications on the AppStore version but they don’t disappear when read so I have a permanent red badge on the app.

    • evgiz@lemm.eeOPM
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      1 year ago

      Hi, yeah this is expected unfortunately. Basically since the App Store version doesn’t support notifications it doesn’t know to lower the badge count when you open a reply, but the badge is still increased by iOS when it receives a notification. Best solution atm is disabling the badge in settings until the update is out!