-
-
Notifications
You must be signed in to change notification settings - Fork 834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS app #4
Comments
I am working on the iOS app for ntfy, in case github cannot assign the issue to me. |
Hey @Copephobia, can you give an update of how it's going? Need any help? |
Hey you can build cross platform golang apps using gio It has notifications plugin here: i use it . It is easy no works . Not web notification yet but quite easy with gio - just look at other plugins to see how . gio is all golang and compiles for web , all desktops, all mobiles. just wanted to highlight this as an option . If you search for “gioui” you will find many apps built with it . I use it . It’s really high quality |
Sadly I haven't heard from @Copephobia in weeks, so I don't think it'll happen :-( I'm gonna go looking for an iOS dev. |
I read on the Unified Push web site that the IOS app needs to support Background worker , but i don’t think it’s possible . AppNap on iOS puts applications into sleep mode . gio android does support foreground and background btw . gio iOS only supports foreground and so the IOS AppNap never occurs. |
For the iOS app I'd love at least basic messages with firebase for ntfy.sh. i think that should be possible hopefully. Whether or not and to what extent other features are supported we'll have to see. But for now I can't even find anyone to do the iOS basic app. |
well you could do it with golang, but GIo does not have a IOS driver yet. It does have a driver for web, desktop ( win, mac, linux ) and mobile (android). I think that it could be done in a few days. https://github.com/gioui/gio-x/tree/main/notify Looking for devs using it: https://github.com/search?o=desc&p=2&q=gioui.org%2Fx%2Fnotify&s=indexed&type=Code found one decent example: https://github.com/arborchat/sprig/blob/main/core/notification-service.go |
Current work towards iOS, feel free to follow along: https://github.com/Copephobia/ntfy-ios (Relevant macOS development branch: https://github.com/Copephobia/ntfy/tree/macos-development) |
For transparency, here's the contents of the Discord #ios channel. That room is now bridged to Matrix as well: https://matrix.to/#/#ntfy-ios:matrix.org |
📢 Update: Sadly work has been stale for over a month now, and I'm not sure when/if it'll be picked up again. If anyone else is interested in continuing the work, please feel free to do so. Maybe I'll buy a Mac at some point. |
Here's an iOS Shortcut that checks for new ntfy notifications and shows them. Unfortunately you can't have a Shortcut run on a fixed interval, only on manually added times (ex. you can set a Shortcut to run every day at 2pm, but not every 5 minutes) so if you want it to check automatically you're going to be adding a LOT of automations. It supports titles, messages, and turns off sound for low-priority notifications. |
I would love to be proven incorrect, but doesn't iOS require the device to be unlocked (as in, the screen turned on and not on the lock screen) for shortcuts to run? |
I don't think this is true - I have a Shortcut that opens Spotify when my phone connects to my in-car entertainment via Bluetooth, and this will usually fire with my phone in my pocket. I say "usually" because sometimes Spotify doesn't actually open, but even when Spotify isn't opened I still get the notification that the Shortcut was executed. |
Hello, So I took a look at the iOS code (https://github.com/Copephobia/ntfy-ios). As I see it, the app is practically ready. I think the problem why the development was stopped is that Copephobia probably didn't find a good solution for the notifications. I thought about the problem and wondered how Mastadon solved it. Because here each instance is self-hosted and yet the notification works via a central official app. I came across the various proxy's / relay's (such as https://github.com/DagAgren/toot-relay). I think this could solve the whole thing quite elegantl. Sorry if I now come here with an 'idea' that was already known to all of you - did not want to be the wise guy - just give a hint or help. A good explanation how this all works i found here is ntfy already capable to send such notification to a push relay? |
Tested on an iPad Mini 4 with OS version 15.4.1. I'd say it basically works quite good already. What works:
What didn't work 100%:
What didn't work:
|
Thank you @cmeis for the detailed feedback. I'm gonna all this a win overall.
That's a Firebase thing. Nothing I can do about I think. Firebase is icky on Android too sometimes. Thank you for reporting it.
That's not implemented yet, so it's expected :-)
@fosspill You have been so far the only person who mentioned that no messages were received at all.
|
So... I'm not entirely sure about what happened here but the issue is resolved 🤷 |
@fosspill Thank you for retesting. That makes me feel much better. You were the first feedback and it was "nothing works", that was quite the bummer. Glad it works now. Maybe I can somehow get an indication in the UI to show if Firebase works or not. |
@binwiederhier Hah, I can imagine that. It did feel pretty bad to leave that feedback right away as well, but I'm super happy that it works now. I'll finally be able to use ntfy in my workflow and that's all thanks to your hard work. |
Dont feel bad. This is exactly the feedback that I need. Only a handful from the people who try it leave any feedback. So this is good stuff. It's a really really rough version, but I want to release quickly and then iterate towards features and stability. |
Here me feedback:
Seems like everything works as it should! Thank you for the App!! Cant wait for Content & Tags to work ;) |
Thank you for your feedback! |
I'd like to thank everyone for the feedback. Keep it coming!! It helped a lot to assess the state of the app. I have decided to submit the app for review as-is by tomorrow night (Tuesday, May 24). I know there are lots of issues, but I'd rather the Apple community have something than nothing. Issues I am aware of:
Feature requests:
👉 I am still updating #4 (comment) with more feedback as it comes in. |
I'm new to ntfy because I was looking for an (possibly self-hosted) alternative to ifttt.com push messages. As I saw the development/progress of the iOS I subscribed to this topic and tried the TestFlight build as it came out: P.S.: Any official channels to donate / support the project? Paypal? Github sponsor? |
A little late to the party as it looks like you're pushing live today sometime, but I just happened to see this posted on /r/selfhosted and have been waiting for iOS support for some time now. Prelim run through of different things on an iPhone 13 Pro, iOS 15.4.1: 👍 Works perfectly, even with some odd ASCII characters and emoji thrown at it. Can't wait to run a selfhosted version! |
Love hearing that. Thanks folks. 👍 |
Rejected... For mentioning Android... I suppose that's an easy enough fix. "We found the metadata of your submitted in-app purchases includes irrelevant third-party platform information. Specifically, Android references is mentioned in the description. Referencing third-party platforms in your app or its metadata is not permitted on the App Store." Edit: This was my mistake. The description was just copied from the Android app and mentioned that this is the Android app not the iOS app. Oops. Well let's try it again. |
🥳 It's happeninghttps://apps.apple.com/us/app/ntfy/id1625396347 -- |
I'm going to keep this ticket open for a while to communicate updates on iOS, but eventually I'll close it. To stay in the iOS loop, I highly recommend joining the Discord or Matrix (links on main GIthub page). Updates:
Here are a bunch of pictures: https://photos.app.goo.gl/KeERoCa25WqnfpuC8 |
Here's a short video showing my progress on the selfhosted server support: https://photos.app.goo.gl/weSQxdbL8kkt11nS8 Here's what's happening:
--> Firebase/APNS are used as signalling mechanism, and the actual message is fetched by the phone. |
You might be able to use location service feature of iOS to have frequent polling. At least that is what Dropbox and other products do. https://help.dropbox.com/installs-integrations/mobile/location-data Other option I could see is adding shortcut to force poll so I can run it when it charges or connects to Wi-Fi and so on. Shortcuts does have show notification action. Some more additional options here. https://stackoverflow.com/questions/35388086/is-there-a-way-to-wakeup-suspended-app-in-ios-without-user-or-server-interventio found a bug: |
Hi. I just tested NTFY App 1.1 and it works very good with self hosted ntfy. Thank you for your hard work! |
Whoa. I didn't even know it was live yet. Apple hasn't sent me an email yet that it's live. I would've posted instructions here too. I'll do that later. Right now I'm in IKEA bed building mode. |
📢 🥳 Request for testingThis release of the iOS app adds message priorities (mapped to iOS interruption levels), tags and emojis, action buttons to open websites or perform HTTP requests (in the notification and the detail view), a custom click action when the notification is tapped, and various other fixes. It also adds support for self-hosted servers (albeit not supporting auth yet). The selfhosted server needs to be configured to forward poll requests to upstream ntfy.sh for push notifications to work (see https://ntfy.sh/docs/config/#ios-instant-notifications for details). PLEASE TEST all of the above features. Report issues ON GITHUB or IN TESTFLIGHT. How to test➡️ https://testflight.apple.com/join/P1fFnAm9 ⬅️ NotesAfter this release, I will close this issue and I'll be moving towards a business as usual method for iOS releases. I'll still try to catch up with most Android features, but I won't be asking for TestFlight here. Instead, I'll ask in Discord/Matrix, and/or in https://ntfy.sh/announcements. I added a bunch of tickets for future iOS work (
ios
|
Any positive/negative feedback on the new iOS version? |
I've got it working nicely with my self hosted instance of ntfy, after following the instructions and adding the upstream url 🙌 Almost instant push notifications 🎯 |
Works well - the only thing that tripped me up was the need to specify the server is using https in the app. I'd initially specified "ntfy.<my_selfhosted_instance>.xyz" instead of "https://ntfy.<my_selfhosted_instance>.xyz". Maybe it's worth prepending the server address with https:// automatically? |
Awesome to hear that it's working. Thanks for the feedback. Keep them coming
👍 The Android app has validation and a placeholder for this. I'll add something like that. |
Tried the selfhosted server and it works great. iOS Bug:
Web Bug:
iOS feature requests:
ntfy feature requests:
docs request:
|
Thank you for the detailed feedback. I love it ❤️ Would you mind reporting bugs and feature requests in individual tickets? It's impossible for me to keep track of things if they are in comments. Thanks. I'll respond to your comments in detail tomorrow. |
Created separate feature requests. Hope it is not a lot 😃 . Here are the top ones for me to replace pushover with ntfy. I probably only need 1 and 2 to start testing E2E in my real home servers.
(By the way thanks for the awesome progress in the past few days. Really excited to see ntfy working on iOS.) |
Closing this ticket 🥳With the release of the iOS v1.1 app 🥳, I am ceremonially closing this ticket. 🥳 🥳 🥳 You may of course continue to leave feedback here, or create tickets in the main GitHub. Discord/Matrix + ntfy.sh/announcementsI also encourage you to join Discord or Matrix, and subscribe to the https://ntfy.sh/announcements topic. I'll potentially be asking for TestFlight testers there. |
If you're interested in making an iOS app, I'm more than happy to help out. Unfortunately I don't have an iPhone or a Mac so it's a little tricky for me.Significant work has been done here (https://github.com/Copephobia/ntfy-ios), but it's stale now, sadly.I have picked up the work in https://github.com/binwiederhier/ntfy-ios and will hopefully be able to release soon.
The text was updated successfully, but these errors were encountered: