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

D-Bus when running on Linux #45

Open
yu-re-ka opened this issue Oct 4, 2021 · 10 comments
Open

D-Bus when running on Linux #45

yu-re-ka opened this issue Oct 4, 2021 · 10 comments

Comments

@yu-re-ka
Copy link

yu-re-ka commented Oct 4, 2021

No description provided.

@karmanyaahm
Copy link
Member

karmanyaahm commented Dec 26, 2021

@MatMaul I was previously working on https://github.com/karmanyaahm/flutter-connector/tree/platform_interface and #48

And once the platform interface was complete I wanted to do https://github.com/karmanyaahm/flutter-connector/tree/linux/unifiedpush_linux/lib

Though I never finished that work and haven't worked on it for a little while, so I don't really know.

I'm just curious, are you trying to make a platform interface or are you modifying the method channel or is it something else entirely?

Regardless, it's really nice that someone is interested in the linux version of this project 😃

@MatMaul
Copy link
Contributor

MatMaul commented Dec 26, 2021

@karmanyaahm Oh nice ! So I am doing something pretty similar with a platform interface. However my interface is quite closer to the spec, instead of being modeled on the current code.

Which mainly means that I ditched instance and use token directly instead, which just make sense to me 😊.

I don't really need to change the Android connector code to be honest, the code left is basically only creating and sending intents so I think I am going to copy the code as a first try.

I haven't begin the D-Bus code so nice to see yours ! I was going to also use the existing flutter D-Bus library.

I am trying to get a prototype working with that and will push something in a PR, then I think we can iterate from there ?

@MatMaul
Copy link
Contributor

MatMaul commented Dec 26, 2021

Oh and BTW sorry I've missed your PR... I remember having a look, but probably on the wrong project ^^

@karmanyaahm
Copy link
Member

That makes sense. And thanks, it's nice to have you onboard UnifiedPush

@provokateurin
Copy link
Member

Any updates on this? It would be awesome to have this working.

@provokateurin
Copy link
Member

What distributors for d-bus exist? I can't see any listed in the docs.

@karmanyaahm
Copy link
Member

karmanyaahm commented Jul 22, 2022

Currently np2p, NextPush and ntfy have distributor implementations

There's not much practical progress though yet.

It would be awesome to have this working.

Yes, it would be for me too.

The main obstacle to the flutter implementation is recruiting help from someone who is skilled in GTK/Linux native APIs and how they interact with flutter for how background messaging should work. Receiving messages when the app is in the foreground is trivial compared to that (and I have implemented it previously)

@provokateurin
Copy link
Member

first i think those providers should be added to the docs, because all distributors say there is only android support

@provokateurin
Copy link
Member

second i'm not an expert in GTK, but i don't think it' necessary to do anything with that. from the docs i read that simply the executable is ran with a flag, right? it is pretty easy to just read that in flutter

@karmanyaahm
Copy link
Member

first i think those providers should be added to the docs, because all distributors say there is only android support

They are not production ready yet, and they won't be until there is support from at least one app, and we can test compatibility properly.

from the docs i read that simply the executable is ran with a flag, right
it is pretty easy to just read that in flutter

It is easy to read the flag. The main problem is that flutter code doesn't execute unless there's a window, which we don't want for background notifications. If I create a hidden dummy window, when someone clicks on the notification and an actual window needs to show up, but the hidden dummy window handles the click event (because it's handling D-Bus already). Everything quickly devolves into a mess from there because multi-window support in this context in flutter is awful. I'm sure it is possible, but a lot of things need to be worked out to make it practical.

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

4 participants