Skip to content
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

Implement notifications #12

Open
janimo opened this issue Sep 13, 2015 · 30 comments
Open

Implement notifications #12

janimo opened this issue Sep 13, 2015 · 30 comments

Comments

@janimo
Copy link
Owner

janimo commented Sep 13, 2015

This will need a server component as well and likely collaboration with OWS on server infrastructure setup.

@janimo
Copy link
Owner Author

janimo commented Dec 2, 2015

Thanks, the client side is implemented already.
I need to work on the server and when I have working code try to get it accepted by OpenWhisperSystems.

@janimo
Copy link
Owner Author

janimo commented Jan 8, 2016

Ubuntu push server does not seem to work well with Java clients.
https://bugs.launchpad.net/ubuntu-push/+bug/1522810

PRs for upstream TextSecure server component

signalapp/Signal-Server#62
signalapp/PushServer#4

@K14D
Copy link

K14D commented Feb 29, 2016

Moxie unfortunately rejected the PRs. Is there any plan b?

@janimo
Copy link
Owner Author

janimo commented Feb 29, 2016

Nothing I am afraid. If the Ubuntu Touch push system implemented (not sure if it is doable at all) GCM compatibility maybe. Or if lightweight background tasks were allowed that would keep a websocket open. But both these would require more work for very little gain - the number of Signal users (even including all potential ones) is very small.

@ghost
Copy link

ghost commented Feb 29, 2016

Hi janimo, I tried to politely ask the openwhisper developers about the state of affairs regarding your both commits. I don't know what to think about Moxie's response, but I must say, I am shocked how he refused it, without giving any reason and also by locking the conversation to collaborators (so I could not ask why he refused it). It would be really interesting to know why the commits were refused.

@K14D
Copy link

K14D commented Mar 1, 2016

It would be just a crutch, but wouldn't it be possible to build a kind of proxy server, which fetches messages from the textsecure server via websocket and pushes them via UPS? Because of the users credentials each user should run his own proxy, but basically this could be a way to make textsecure on ubuntu really usable!?

@bonanza123
Copy link

bonanza123 commented Apr 27, 2016

Is there any change to use parts of the websocket stuff that has been done for https://github.com/LibreSignal/LibreSignal ?

@ghost
Copy link

ghost commented Aug 14, 2016

Hi Janimo,

thanks again for the great Textsecure Client for Ubuntu Touch. I frequently use and enjoy it.
I would like to ask you whether you have any news or ideas for the issue of notifications?

Thanks,
Pete

@janimo
Copy link
Owner Author

janimo commented Aug 14, 2016

Hi, nothing has changed since last time.

On Sun, Aug 14, 2016, 1:58 PM Pete413 [email protected] wrote:

Hi Janimo,

thanks again for the great Textsecure Client for Ubuntu Touch. I
frequently use and enjoy it.
I would like to ask you whether you have any news or ideas for the issue
of notifications?

Thanks,
Pete


You are receiving this because you authored the thread.

Reply to this email directly, view it on GitHub
#12 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADD2tGRXuVEdVaLDm3RUH4uJuysqdxbks5qfvTLgaJpZM4F8Ye4
.

@StuntsPT
Copy link

StuntsPT commented Sep 30, 2016

Would implementing this proposal potentially solve the issue?
https://docs.google.com/document/d/1o-y3dUOm8voAzhZCpbPSg-zhRBweYHXn8voQDprZtsc/edit#heading=h.mkp949ntqaq5
Thanks.

@janimo
Copy link
Owner Author

janimo commented Sep 30, 2016

Thanks for the link. I haven't studied it besides a cursory look, but if/when this is implemented it may be a workaround for the lack of server support for notifications.

@ghost
Copy link

ghost commented Oct 7, 2016

Hi janimo, it seems that the notification support on Ubuntu Touch platform has already improved: "a new telephony-service for a fix for the no-SMS-notifications bug" (https://lists.launchpad.net/ubuntu-phone/msg22596.html)
Is this what could help notifications for your TextSecure App?

@janimo
Copy link
Owner Author

janimo commented Oct 7, 2016

The notification support we'd need is the ability to run a background task (either standalone or as a plugin that is part of a system-wide background task ) that could poll the Signal servers and notify the locally running push notification subsystem to have it pop up a notification.

The current client notification support on the phone relies on an external server pushing events, which lacking Signal server side support does not suffice for us.

@ssweeny
Copy link

ssweeny commented Nov 21, 2016

@janimo have you thought about including a background task and uploading to the Open Store just to make it more useful to people?

@janimo
Copy link
Owner Author

janimo commented Nov 21, 2016

Hey Scott :)
I haven't been following Ubuntu Touch development for a while. Are background tasks supported now? I am all for making this useful for more people. What is the Open Store, a new name for the Ubuntu App store?

@ssweeny
Copy link

ssweeny commented Nov 21, 2016

Hey :-)

The Open Store is an alternative app store for Ubuntu where you can upload apps that won't work with the current confinement scheme. There is a tradeoff there in that some of the apps are actually unconfined or don't meet the standards for the normal Ubuntu store.

There is at least one other IM service (Loqui) on the Open Store, and I use it for XMPP along with some settings from UT Tweak Tool that lets you prevent an app from suspending. It's not perfect but it will do until the proper messaging framework is released.

@janimo
Copy link
Owner Author

janimo commented Nov 21, 2016

Thanks, so is a background task a new feature or just any process you want to run when unconfined as on a regular Ubuntu?
Ideally there would be something that can be dropped in to replace the missing push notification server side without too many other changes.

@StuntsPT
Copy link

I'm not 100% sure, but AFAIK in the open store you can create a "daemon" that runs in the background and is started when the system boots. This daemon that would come "bundled" with TextSecure in the open store would check for notifications at a regular interval (or implement the push notifications from android) and "wakes up" the main TextSecure app when a new notification arrives.
From what I have read, this is something that can be done, but please correct me if I'm wrong.
Here are three examples of apps from the open store that somehow have something running in the background:
Loki IM
Dekko
Rockworks

I'm sure that Dekko from the open store has an implementation for working around the notification-plugin limitations, so you may wish to look there first. I'm not sure how either of the other two work...

@sethdc
Copy link

sethdc commented Nov 22, 2016

Let's see if we can get someone with OpenStore experience to jump in. Mike Sheldon, @Elleo , wrote the awesome CuteSpotify app and released it to the OpenStore. I know he's still active with the community even if he isn't active with other projects.

Mike, can you jump in and provide some insight for @janimo. Jani has done a tremendous amount of work getting TextSecure/Signal functionality on Ubuntu Touch. Many of us would love to see his work become a core app. Right now, we're just trying to figure out how he can deliver notifications to the phone and possibly use the OpenStore. I've utilized the "Prevent App Suspension" option that "UT Tweak Tools" from the OpenStore provides, but I think @janimo will need to implement an additional polling feature of some sort.

So again, Mike, is there any way that you could help expedite Jani's efforts. You've been down the path of the OpenStore before, and your experience would probably save him some headache.

@Elleo
Copy link

Elleo commented Nov 22, 2016

Hey @janimo, it looks like you've been doing some great stuff here :) I think the best place to get some advice on this would be the Open Store telegram group, the developers of both Rockwork and the Loqui IM port are members and can probably give some good guidance on exactly this sort of thing: https://telegram.me/joinchat/BMTh8AHtOL2foXLulmqDxw

@janimo
Copy link
Owner Author

janimo commented Nov 23, 2016

@sethdc you mention wanting to see this as a core app (it was my hope to when I started working on it). Are there APIs available to core apps that would make the background work easier?

@sethdc
Copy link

sethdc commented Dec 1, 2016

This discussion has been ongoing for almost a year, and it has me equally optimistic and perplexed. I'm optimistic because I see enduring passion for the project itself and from the community in regard to free speech and encryption. I'm perplexed as to what step we should take next to move forward together.

The last thing the community needs is another forked messenger app that is only used by few. To me, this is why @janimo's efforts are so important to Signal's ongoing successes and to the security of the Ubuntu community as a whole. Make no mistake, if @moxie0 were to accept Jani's PR, Signal would have native support not just for thousands of Ubuntu Phone users, but Moxie would be unlocking native support for the over TWENTY MILLION people that use Ubuntu desktop EVERY DAY.

We currently have this support with Telegram on our Ubuntu desktops and phones. Thanks, but we want Signal.

Two days ago, Moxie made two very important points:

  1. Federation degrades the Signal user experience
  2. He is open to "clean, well written, and well tested" PRs

To his first point, I agree. I would gladly spend several thousand dollars every year hosting a federated server that allowed all Ubuntu users to point to and reliably use Signal based upon Jani's work and Moxie's libsignal-protocol/service. However, that is not the optimal solution. Fragmentation and federation only dilute the Signal experience, product, and service.

To his second point, if Moxie is open to using clean, well-written, and well-tested code for websocket-only support, then be open to using clean, well-written, and well-tested code for 20,000,000 Ubuntu desktop users.

Moxie states that he would be fine with accepting the PR if the service comes with a warning that the websocket-only support is limited and not a reflection of the overall Signal service/experience. I agree. Jani's code and applications should come with a warning that absolves OWS and Moxie of any liability or complaints. However, we are the willing testers and adopters of this important work that is being done. There will always be complainers and whiners, but We The Willing must all continue to strive together for the benefit of the unwilling and the indifferent.

I'm sure Moxie is overwhelmed and exhausted with people that complain but never do the work, but here we are saying that Jani has done that work and the rest of us are here willing to do the work of ongoing trial and ongoing testing. We know that there will be setbacks and problems along the way, but only by working together will we succeed.

We need dialogue and direction from OWS on how to move forward together. We have the same goals. We have the same motivation. Patience, perseverance, cooperation, and communication will bring about the change we all desire.

@StuntsPT
Copy link

StuntsPT commented Dec 2, 2016

@sethdc After reading your post I have opened this issue.
Maybe @moxie0 will let us know what would be required to have this considered.

@kallekruse
Copy link

WebSocket support has been added to Signal: signalapp/Signal-Android@1669731

@sethdc
Copy link

sethdc commented Apr 14, 2017 via email

@janimo
Copy link
Owner Author

janimo commented Apr 14, 2017

Thanks, however I am not sure websocket support is enough. We'd need background task processing capabilities in the Ubuntu Phone no? I didn't give much thought to this project in the past year, and with the recent news re Unity, I am not sure the future of the phone is any brighter than it was (and it wasn't that bright to begin with)

@sethdc
Copy link

sethdc commented Apr 14, 2017 via email

@janimo
Copy link
Owner Author

janimo commented Apr 14, 2017

Thanks, but I'd rather work with officially accepted APIs only (patches welcome though for OpenStore compatibility).

@kallekruse
Copy link

There might be hope - https://forums.ubports.com/topic/273/june-1-2017-app-developer-os-developer-meeting says:

Notifications

Lots of discussion.
[A] Arrived at calling an app in the background to do its work. Ubuntu will call apps with a certain argument to put them into background mode.
The app must finish its work in under x seconds and use under x CPU, or be blacklisted
Provide options to the user to deny this permission to some apps or (maybe) change how much battery an app is allowed to take.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants