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

GNOME integration #5

Open
rugk opened this issue Feb 4, 2018 · 20 comments
Open

GNOME integration #5

rugk opened this issue Feb 4, 2018 · 20 comments

Comments

@rugk
Copy link

rugk commented Feb 4, 2018

Probably you know GNOME's nice integration of "online accounts". So one can e.g. use Nextcloud for contact sync, see image below. However, as far as I see, this is not yet possible with EteSync.

gnomeonlineaccounts

So maybe with the help of this desktop client or maybe the CLI tool, such integration is possible? Or maybe try to send patches/pursue GNOME to add it as an official version? (and allow self-hosted versions, of course).
Or integration into GNOME calendar, which AFAIK can also be achieved separately to whole GNOME integration. (although the latter is, of course, better, as it also syncs contacts then)

@tasn
Copy link
Member

tasn commented Feb 5, 2018

Oh sweet! I'll try to get to it soon, though admittedly, I'm not a GNOME user (I use i3), so not sure how soon that will be. Happy to support anyone who wants to undertake this task. Since gnome shell is very JS heavy, I assume this would be written in JS (correct?). This is great, because there's already a JS etesync implementation (inside etesync-web, but well split from everything else), so all one would need is to write the glue code!

More info on online accounts: https://wiki.gnome.org/Projects/GnomeOnlineAccounts

@60Eight
Copy link

60Eight commented Feb 22, 2019

Any movement on this?

@tasn
Copy link
Member

tasn commented Feb 22, 2019

Sorry, not yet. An iOS client is a higher priority and I'm working on that at the moment. There are a few other things that will come before this, especially since there's already a solution, just run etesync-dav locally and connect Gnome to it.

@60Eight
Copy link

60Eight commented Feb 25, 2019

Running etesync-dav isn't that smooth. I don't have much knowledge regarding docker and such. Would've been easier if it could be distributed as a package.

@tasn
Copy link
Member

tasn commented Feb 25, 2019

I completely agree it's not ideal. There's already an Arch package (well, AUR), and I'll happily include links to packages for other distros. I also want to setup something like AppImage so it'll be easy to just ship binaries too, but it's a matter of getting to do it, which I can't at the moment (again, iOS is a higher priority).
Happy to support whatever efforts anyone is taking to do any of the above.

@reyman
Copy link

reyman commented Aug 29, 2019

I'm also very interested, like lot of ubuntu user, i'm using Gnome 3 & Gnome-calendar integrated into evolution mail.

@snaggen
Copy link

snaggen commented Sep 4, 2019

@tasn Only the gnome-shell is JS, most of gnome is written in C as is gnome online accounts.

The gnome online accounts code is found here:
https://gitlab.gnome.org/GNOME/gnome-online-accounts/

And while I understand that there are more important things (also agree with IOS client having higher priority aso), setting up the etesync-dav is a little fiddly. I just did a "docker pull" and then it started to complain about "Failed to load htpasswd" and stopped working. So I then trew out docker and decided to run it directly, which means setting up systemd integration and resolving selinux issues. Which this is still a fairly technical way of running things, having it integrated in online accounts would improve the user experience a lot. Maybe working with the Gnome community and running this as a summer of code kind of thing?

@tasn
Copy link
Member

tasn commented Sep 4, 2019

@snaggen, I completely agree with you that a proper integration is better. Though having to implement the whole EteSync protocol in C (even though it's not that big!) is going to be time consuming. Do you know if they have any plans on supporting backends in higher level languages? We already have Python, Go, JavaScript, Java and Kotlin implementations. I guess I could just write a small C wrapper around one of the other implementations, though that would be a bit ugly. :)

Do you know anyone relevant from the GNOME community that may be able to help? Summer of code is already over for this year unfortunately, but it's definitely something to keep in mind for next year.

@snaggen
Copy link

snaggen commented Sep 4, 2019

@tasn Unfortunately my GNOME related development was a long time ago, now a days I'm mostly a user. However, I don't think the integration would need to be that complicated since they already support the Dav protocols required. So, I would assume you could just write the online account integration as a wrapper that configures and setup the existing etesync-dav. Well, in the end it will probably require a lot of struggling on the way, but that is where I would start looking.

@tasn
Copy link
Member

tasn commented Sep 4, 2019

Ah, so your idea is to keep etesync-dav, and just launch it automatically in the background. I was thinking more of a real integration. Interesting thought.

@4jNsY6fCVqZv
Copy link

Together with a native support of EteSync in EDS I find this issue very exciting!
What does it take from developers or from the EteSync community to solve this issue?

@tasn
Copy link
Member

tasn commented Apr 20, 2020

This is really just pending on EDS support. The moment that's there it should be trivial to add it to GNOME.

@christianfl
Copy link

Confirmed for Google Summer of Code 2020: https://summerofcode.withgoogle.com/projects/#5162094988623872

@jonas-hagen
Copy link

jonas-hagen commented Oct 29, 2020

Now that EDS support is here, what is needed to have this integrated into Gnome Online Accounts? I just started using the Etesync EDS plugin and it works perfectly so far. I see the Calendar and Contacts in the respective Gnome apps, just as when I added Google via Gnome Online Accounts. So it really just is a UI thing left to be done?

Edit:
EDS: Evolution Data Server

@tasn
Copy link
Member

tasn commented Oct 29, 2020

Just the UI, yeah. The UI in Gnome Online Accounts is hard-coded to only allow certain resources, so need to send them a patch.
Issued I opened on the EDS module: https://gitlab.gnome.org/GNOME/evolution-etesync/-/issues/2
Maybe someone could also open one on the GNOME online accounts repo: https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/issues/

Maybe also mention the evolution issue I mentioned above.

@rugk
Copy link
Author

rugk commented Oct 29, 2020

What exactly is EDS?

@tasn
Copy link
Member

tasn commented Oct 30, 2020

Evolution Data Server - it's the GNOME personal information backend.

@rugk
Copy link
Author

rugk commented Oct 30, 2020

Okay opened an issue there: https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/issues/152

Though I could not comment/add any technical details. Please add them by yourself, if you want.

@tasn
Copy link
Member

tasn commented Nov 1, 2020

Great, thanks for the update!

@christianfl
Copy link

christianfl commented Mar 4, 2023

Did anyone try the GOA integration with EteSync from one of the linked MRs? I am curious what is the best workflow to add an EteSync account with the Librem 5 as Evolution does not scale that well.

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