SUMMARY Requesting a photo from a device (e.g. `kdeconnect-cli --photo`) pulls up the camera and takes a photo, but fails to transfer. STEPS TO REPRODUCE 1. Request a photo from the device 2. Take picture and select OK 3. Observe transfer fail OBSERVED RESULT 09-03 16:28:43.543 4064 4064 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@943022d 09-03 16:28:43.559 4064 4064 D PhoneWindow: windowLightStatusBar : true, enable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 09-03 16:28:43.601 4064 4064 I TouchFilterInputStageHelper: [needTouchEventFilter] Displayid : 0 09-03 16:28:43.602 4064 4064 D BezellessGripSuppressionFilter: getdisplaysize, x : 1440 y : 2880 09-03 16:28:43.646 4064 4064 I Timeline: Timeline: Activity_idle id: android.os.BinderProxy@943022d time:174370426 09-03 16:28:48.483 4064 4064 W SendFileActivity: Unable to get file modification time. Available columns were: [_display_name, _size] 09-03 16:28:48.483 4064 4064 W SendFileActivity: Unable to read file last modified time 09-03 16:28:48.483 4064 6986 I KDE/LanLink: Using port 1739 09-03 16:28:48.510 4064 4064 D KDE/BackgroundService: Start 09-03 16:28:48.540 4064 4064 D KDE/BackgroundService: onStartCommand 09-03 16:28:48.558 4064 4064 I Timeline: Timeline: Activity_idle id: android.os.BinderProxy@39e9113 time:174375338 09-03 16:28:48.748 4064 8128 I KDE/LanLink: Beginning to send payload for kdeconnect.photo 09-03 16:28:48.749 4064 8128 W System.err: java.io.IOException: Stream Closed 09-03 16:28:48.749 4064 8128 W System.err: at java.io.FileInputStream.read(FileInputStream.java:300) 09-03 16:28:48.749 4064 8128 W System.err: at android.os.ParcelFileDescriptor$AutoCloseInputStream.read(ParcelFileDescriptor.java:942) 09-03 16:28:48.749 4064 8128 W System.err: at java.io.FileInputStream.read(FileInputStream.java:276) 09-03 16:28:48.749 4064 8128 W System.err: at android.os.ParcelFileDescriptor$AutoCloseInputStream.read(ParcelFileDescriptor.java:933) 09-03 16:28:48.749 4064 8128 W System.err: at org.kde.kdeconnect.Backends.LanBackend.LanLink.sendPayload(LanLink.java:209) 09-03 16:28:48.749 4064 8128 W System.err: at org.kde.kdeconnect.Backends.LanBackend.LanLink.lambda$sendPacket$1(LanLink.java:162) 09-03 16:28:48.749 4064 8128 W System.err: at org.kde.kdeconnect.Backends.LanBackend.LanLink.$r8$lambda$179vJeTDE8gUHpK7zDAhk-EB5is(LanLink.java:0) 09-03 16:28:48.749 4064 8128 W System.err: at org.kde.kdeconnect.Backends.LanBackend.LanLink$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0) 09-03 16:28:48.749 4064 8128 W System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 09-03 16:28:48.749 4064 8128 W System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 09-03 16:28:48.749 4064 8128 W System.err: at java.lang.Thread.run(Thread.java:764) 09-03 16:28:48.749 4064 8128 E LanLink/sendPacket: Async sendPayload failed for packet of type kdeconnect.photo. The Plugin was NOT notified. EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Test with `kdeconnect-cli` and Valent, same result.
I can't reproduce the stacktrace, but for me the plugin isn't working either. This plugin isn't probably used that much if it's broken and nobody complained before? Maybe we should kill it? It's only a minor convenience to launch the camera app automatically vs taking a photo manually and then sharing via kdeconnect, and on the other side I think it's a very confusing plugin (since it doesn't just take the photo by itself as one might expect, the user still needs to grab the phone and do it). What do you think?
I'm fine removing it. IIRC, it was originally intended to work with KItinerary in some way? If that never worked out, I'd say its pretty unlikely anyone has been using it. Like you say, photo + send file is just as easy.
I thought KItinerary was using the plugin programmatically, but I checked the code and it isn't. So there's really no tie with it: KItinerary users can still take a photo + share instead.
Plugin has been removed in the following MRs: https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/598 https://invent.kde.org/network/kdeconnect-m/-/merge_requests/398 https://invent.kde.org/network/kdeconnect-meta/-/merge_requests/3