Bug 1221923

Summary: Nextcloud overlay icons not shown in KF6 Dolphin
Product: [openSUSE] openSUSE Tumbleweed Reporter: Johannes Studt <johannes>
Component: OtherAssignee: Atri Bhattacharya <badshah400>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: bruno
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Johannes Studt 2024-03-25 14:05:39 UTC
The Nextcloud desktop overlay icons are not shown anymore in KF6 Dolphin.
Maybe this is because the package nextcloud-desktop-dolphin is still built against Qt5.

cadpc:~ # rpm -ql nextcloud-desktop-dolphin
/usr/lib64/libnextclouddolphinpluginhelper.so
/usr/lib64/qt5/plugins/kf5/kfileitemaction
/usr/lib64/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so
/usr/lib64/qt5/plugins/kf5/overlayicon
/usr/lib64/qt5/plugins/kf5/overlayicon/nextclouddolphinoverlayplugin.so
Comment 1 Atri Bhattacharya 2024-03-31 04:35:27 UTC
(In reply to Johannes Studt from comment #0)
> The Nextcloud desktop overlay icons are not shown anymore in KF6 Dolphin.
> Maybe this is because the package nextcloud-desktop-dolphin is still built
> against Qt5.
> 

Sorry, yes, KF6 users are out of luck as upstream does not support building against Qt6 yet. Here is the upstream issue: https://github.com/nextcloud/desktop/issues/6577

I understand that there are no immediate plans for upstream to do that either, but I am not sure.

FWIW, here is the Qt6-support feature request:
https://github.com/nextcloud/desktop/issues/4461
with a WIP pull request (not in a state we would want to patch in, downstream):
https://github.com/nextcloud/desktop/pull/4584
Comment 2 Atri Bhattacharya 2024-04-04 11:11:49 UTC
I am going to close this as Upstream. Rest assured that we will have KDE6 support as soon as upstream releases one supporting it. Thanks for the report.
Comment 3 Atri Bhattacharya 2024-04-16 14:42:26 UTC
Btw, my understanding is that even the upcoming 3.13.x series of nextcloud-desktop client may not build with Qt6.

I recommend using owncloud-client which does support Qt6 and been built against that by the awesome KDE packagers of openSUSE from the beginning of the year (aka much before KF6 entered Factory).
Comment 4 Bruno Friedmann 2024-04-23 19:50:46 UTC
*** Bug 1223325 has been marked as a duplicate of this bug. ***
Comment 5 Bruno Friedmann 2024-04-24 07:27:39 UTC
you are recommending owncloud-client, but is this one compatible with nextcloud server on 1:1 compared to the nextcloud-desktop-client ?
Comment 6 Atri Bhattacharya 2024-04-24 08:18:03 UTC
(In reply to Bruno Friedmann from comment #5)
> you are recommending owncloud-client, but is this one compatible with
> nextcloud server on 1:1 compared to the nextcloud-desktop-client ?

I don't know if it is 1:1 compliant, but it works for my use case. It's more of a try-and-see kind of recommendation. The real fix relates to Qt6 compatibility and should come from upstream. It's not that the packager can simply switch to using Qt6 for builds right now and that will fix it: it simply will not compile. I hope you understand.

Best wishes.
Comment 7 Atri Bhattacharya 2024-04-24 10:31:17 UTC
Johannes, Bruno, any other KDE6 users,
Would you folks mind trying out the packages for (unreleased) nextcloud-desktop 3.13.0 which supports KF6 dolphin (the core GUI is still Qt5 though) from my home branch:
https://download.opensuse.org/repositories/home:/badshah400:/branches:/network/openSUSE_Tumbleweed/

Let me know if it works, if you see any issues, etc. (I do not use KDE myself, so a little help testing will be much appreciated). Thanks in advance.
Comment 8 Atri Bhattacharya 2024-04-24 12:31:16 UTC
3.13.0 is now released and on its way to the devel project:
https://build.opensuse.org/request/show/1170026

Still, there is time for testing it out from my branch project.
Comment 9 Johannes Studt 2024-04-24 12:33:21 UTC
(In reply to Atri Bhattacharya from comment #7)
> Let me know if it works, if you see any issues, etc. (I do not use KDE
> myself, so a little help testing will be much appreciated). Thanks in
> advance.

Your package seems to work absolutely fine, thanks a lot!

Side note:
The devel package contains the same "packaging error" as the previous ones, but this only shows up if you activate support for virtual files.

Just in case anyone else stumbles across it:
You not only have to install the -devel package (it contains the necessary VFS libraries), but you also have to set symlinks from /usr/lib64/qt5/plugins to the two libs. Otherwise the Nextcloud client will segfault.
Comment 10 Atri Bhattacharya 2024-04-24 13:01:25 UTC
(In reply to Johannes Studt from comment #9)
> (In reply to Atri Bhattacharya from comment #7)
> > Let me know if it works, if you see any issues, etc. (I do not use KDE
> > myself, so a little help testing will be much appreciated). Thanks in
> > advance.
> 
> Your package seems to work absolutely fine, thanks a lot!
> 

Thanks, appreciate the testing.

> Side note:
> The devel package contains the same "packaging error" as the previous ones,
> but this only shows up if you activate support for virtual files.
> 
> Just in case anyone else stumbles across it:
> You not only have to install the -devel package (it contains the necessary
> VFS libraries), but you also have to set symlinks from
> /usr/lib64/qt5/plugins to the two libs. Otherwise the Nextcloud client will
> segfault.

Thanks for bringing this up. However, according to <https://docs.nextcloud.com/desktop/latest/architecture.html#virtual-files> the VFS feature is is "experimental" on  Linux. This is probably why the upstream cmake install script does not install the necessary symlinks. We also do not go beyond upstream and do this at the downstream level for the same reason.

Still it is surprising it would require the devel package. The .so files in there are merely symlinks to the actual shared libraries in libnextcloudsync.
Comment 11 Johannes Studt 2024-04-24 13:06:00 UTC
(In reply to Atri Bhattacharya from comment #10)
> Still it is surprising it would require the devel package. The .so files in
> there are merely symlinks to the actual shared libraries in libnextcloudsync.

Nope. The VFS libs are in the devel-package only. Maybe because of the "experimental" status.

cadpc:~ # rpm -ql libnextcloudsync0 |grep -i vfs
cadpc:~ # rpm -ql libnextcloudsync-devel |grep -i vfs
/usr/lib64/nextcloudsync_vfs_suffix.so
/usr/lib64/nextcloudsync_vfs_xattr.so
cadpc:~ #
Comment 12 Atri Bhattacharya 2024-04-24 13:17:27 UTC
(In reply to Johannes Studt from comment #11)
> (In reply to Atri Bhattacharya from comment #10)
> > Still it is surprising it would require the devel package. The .so files in
> > there are merely symlinks to the actual shared libraries in libnextcloudsync.
> 
> Nope. The VFS libs are in the devel-package only. Maybe because of the
> "experimental" status.
> 
> cadpc:~ # rpm -ql libnextcloudsync0 |grep -i vfs
> cadpc:~ # rpm -ql libnextcloudsync-devel |grep -i vfs
> /usr/lib64/nextcloudsync_vfs_suffix.so
> /usr/lib64/nextcloudsync_vfs_xattr.so
> cadpc:~ #

Yep, sorry I was wrong earlier, these are only in the devel pkg.
Comment 13 Atri Bhattacharya 2024-04-25 14:46:21 UTC
Accepted into devel project, soon in Factory:
https://build.opensuse.org/request/show/1170164

Note: My 'home:' branch project is deleted, but feel free to test devel project package and report back any issues.
Comment 14 Johannes Studt 2024-04-26 09:42:55 UTC
(In reply to Atri Bhattacharya from comment #13)
> Note: My 'home:' branch project is deleted, but feel free to test devel
> project package and report back any issues.

The VFS libs in the devel project packages aren't split into a separate package until now, or did I overlooked s/th?
Comment 15 Atri Bhattacharya 2024-04-26 10:09:16 UTC
(In reply to Johannes Studt from comment #14)
> (In reply to Atri Bhattacharya from comment #13)
> > Note: My 'home:' branch project is deleted, but feel free to test devel
> > project package and report back any issues.
> 
> The VFS libs in the devel project packages aren't split into a separate
> package until now, or did I overlooked s/th?

They aren't now as https://build.opensuse.org/request/show/1170209 is waiting for review by a project maintainer. Basically, I felt we should push the 3.13.0 change together with the vfs repackaging so that they end up in Factory at the same time (to allow the Conflicts needed for the vfs package against `libnextcloudsync-devel < %{version}` to work). Should be soon, give it a (working) day or two.

Cheers,
Comment 16 Bruno Friedmann 2024-04-29 18:57:39 UTC
https://youtu.be/XLxz9GnTpN8
Comment 17 Bruno Friedmann 2024-04-29 18:58:34 UTC
(In reply to Bruno Friedmann from comment #16)
> https://youtu.be/XLxz9GnTpN8

Sorry wrong copy and paste :-(

Was normally big thanks to all of you that has been working on this issue.
Comment 18 Atri Bhattacharya 2024-04-29 19:02:57 UTC
(In reply to Bruno Friedmann from comment #17)
> (In reply to Bruno Friedmann from comment #16)
> > https://youtu.be/XLxz9GnTpN8
> 
> Sorry wrong copy and paste :-(
> 
> Was normally big thanks to all of you that has been working on this issue.

Ha ha, I thought the video was the thanks! It's a pretty cool video too, so thanks back at you :)

Best wishes.