Bug 474121 - Photo plugin fails to transfer picture
Summary: Photo plugin fails to transfer picture
Status: RESOLVED FIXED
Alias: None
Product: kdeconnect
Classification: Applications
Component: android-application (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Albert Vaca Cintora
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-03 23:34 UTC by Andy Holmes
Modified: 2023-09-15 23:05 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Holmes 2023-09-03 23:34:44 UTC
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.
Comment 1 Albert Vaca Cintora 2023-09-11 03:08:18 UTC
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?
Comment 2 Andy Holmes 2023-09-11 21:29:35 UTC
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.
Comment 3 Albert Vaca Cintora 2023-09-12 01:49:12 UTC
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.