GSConnect / gnome-shell-extension-gsconnect

KDE Connect implementation for GNOME
GNU General Public License v2.0
3.23k stars 259 forks source link

Outlook email notifications not being mirrored from mobile to PC #902

Closed kevinhwang91 closed 4 years ago

kevinhwang91 commented 4 years ago

Is your feature request related to a problem? Please describe. For now, when mobile received an email in outlook, it can't push the msg to PC.

Describe the solution you'd like Push the msg to PC.

Describe alternatives you've considered Not yet.

System Details (please complete the following information):

Additional context I don't know whether KDEConnect had implemented this feature.

andyholmes commented 4 years ago

Do you mean there's a notification not being sent, like with Gmail or other email providers? This might be related to #898, in which case there could be an upstream bug in the notifications plugin that newer apps are hitting.

kevinhwang91 commented 4 years ago

Do you mean there's a notification not being sent, like with Gmail or other email providers?

Yes

This might be related to #898, in which case there could be an upstream bug in the notifications plugin that newer apps are hitting.

Sorry, I have no idea about IFTTT. I'm not sure whether they are related.

andyholmes commented 4 years ago

All notifications should be sent via the Notification plugin, but some are always excluded like system notification (eg. Play Store updates, Battery Saver, stuff like that).

It seems like this might have the same cause as the other issue, since all regular app notifications should be sent. I think the IFTTT app is newer and I expect MS updates the Outlook app pretty often. Maybe there are new notification features that are breaking in the Android app.

I'll ask the KDE Connect developers tomorrow to see if anyone knows or uses those apps too. What version of Android are you running?

kevinhwang91 commented 4 years ago

Thanks a lot. My device OS is Android 10.

andyholmes commented 4 years ago

No one has gotten back to me about using those apps, but this seems like it's probably an upstream problem in the Android app so you might have to open a bug at bugs.kde.org.

Can you get logs from adb for kdeconnect-android?

kevinhwang91 commented 4 years ago

No one has gotten back to me about using those apps, but this seems like it's probably an upstream problem in the Android app so you might have to open a bug at bugs.kde.org.

Can you get logs from adb for kdeconnect-android?

You mean to use adb logcat --pid=$(adb shell pidof -s org.kde.kdeconnect_tp)

andyholmes commented 4 years ago

Yes, that would be helpful for developers to debug. It seems like the problem is likely happening in kdeconnect-android so if you can catch the point where it happens, that would make it a lot easier to fix.

kevinhwang91 commented 4 years ago

Here is my log after booting:

--------- beginning of main
08-03 07:43:38.299  5792  5792 E e.kdeconnect_t: Unknown bits set in runtime_flags: 0x20000
08-03 07:43:38.306  5792  5792 E e.kdeconnect_t: Not starting debugger since process cannot load the jdwp agent.
08-03 07:43:38.406  5792  5792 I Perf    : Connecting to perf service.
08-03 07:43:38.411  5792  5792 I e.kdeconnect_t: [GL_OOM] ClampGrowthLimit 268435456
08-03 07:43:38.458  5792  5792 V Font    : Change font:1
08-03 07:43:38.458  5792  5792 V Font    : Default family:android.graphics.Typeface@591d847e
08-03 07:43:56.369  5792  5792 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@523fa74
08-03 07:43:56.432  5792  5792 V FlingOptimizerScroller: FlingOptimizerOverScroller Init
08-03 07:43:56.461  5792  5792 I MainActivity: Loading selected device from persistent storage
08-03 07:43:56.497  5792  5792 V ViewRootImpl: The specified message queue synchronization  barrier token has not been posted or has already been removed
08-03 07:43:56.516  5792  7842 I AdrenoGLES: QUALCOMM build                   : 6209c5d, Ifdcc64d6e8
08-03 07:43:56.516  5792  7842 I AdrenoGLES: Build Date                       : 12/12/19
08-03 07:43:56.516  5792  7842 I AdrenoGLES: OpenGL ES Shader Compiler Version: EV031.27.05.03
08-03 07:43:56.516  5792  7842 I AdrenoGLES: Local Branch                     : mybranchea1c9b4a-9e05-f149-a3b2-1458d0b52ae8
08-03 07:43:56.516  5792  7842 I AdrenoGLES: Remote Branch                    : quic/gfx-adreno.lnx.1.0.r85-rel
08-03 07:43:56.516  5792  7842 I AdrenoGLES: Remote Branch                    : NONE
08-03 07:43:56.516  5792  7842 I AdrenoGLES: Reconstruct Branch               : NOTHING
08-03 07:43:56.516  5792  7842 I AdrenoGLES: Build Config                     : C O 9.0.3 AArch64
08-03 07:43:56.516  5792  7878 D ViewRootImpl[MainActivity]: windowFocusChanged hasFocus=true inTouchMode=true
08-03 07:43:56.519  5792  7842 I AdrenoGLES: PFP: 0x005ff112, ME: 0x005ff066
08-03 07:43:56.538  5792  7842 W Gralloc3: mapper 3.x is not supported
08-03 07:43:56.548  5792  5792 I KDE/BackgroundService: Service not started yet, initializing...
08-03 07:43:56.586  5792  5792 W System.err: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
08-03 07:43:56.586  5792  5792 W System.err: SLF4J: Defaulting to no-operation (NOP) logger implementation
08-03 07:43:56.586  5792  5792 W System.err: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
08-03 07:43:56.609  5792  5792 I PluginFactory: Loaded 21 plugins
08-03 07:43:56.635  5792  5792 I KDE/LanLink: Using port 1716
08-03 07:43:56.637  5792  5792 I LanLinkProvider: broadcastUdpPacket: relax cowboy
08-03 07:43:56.661  5792  7902 I KDE/LanLinkProvider: Identity package received from a TCP connection from Kevin-PC
08-03 07:43:56.662  5792  5792 D OnePlusJankManager:  Chor uploadMDM JANK_TYPE_ONCE mViewTitle = org.kde.kdeconnect_tp/org.kde.kdeconnect.UserInterface.MainActivity--- jank level = 1
08-03 07:43:56.662  5792  7902 I KDE/LanLinkProvider: Starting SSL handshake with Kevin-PC trusted:true
08-03 07:43:56.667  5792  5792 I KdeConnect: Connection state changed, trying to connect
08-03 07:43:56.670  5792  5792 I LanLinkProvider: broadcastUdpPacket: relax cowboy
08-03 07:43:56.760  5792  7910 I KDE/LanLinkProvider: Handshake as client successful with Kevin-PC secured with TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
08-03 07:43:56.760  5792  7910 I KDE/LanLinkProvider: Creating a new link for device 1b39c4e1-122f-486c-af86-a198e658b06e
08-03 07:43:56.760  5792  7910 I KDE/BackgroundService: addLink, known device: 1b39c4e1-122f-486c-af86-a198e658b06e
08-03 07:43:56.761  5792  7910 I KDE/Device: Got certificate
08-03 07:43:56.761  5792  7910 I KDE/Device: addLink LanLinkProvider -> Kevin-PC active links: 1
08-03 07:43:56.761  5792  7916 I KDE/addPlugin: Permissions OK SftpPlugin
08-03 07:43:56.762  5792  7916 I KDE/addPlugin: Optional Permissions OK SftpPlugin
08-03 07:43:56.762  5792  7910 I KDE/addPlugin: Optional Permissions OK SftpPlugin
08-03 07:43:56.767  5792  7916 I KDE/addPlugin: Permissions OK MprisReceiverPlugin
08-03 07:43:56.767  5792  7916 I KDE/addPlugin: Optional Permissions OK MprisReceiverPlugin
08-03 07:43:56.768  5792  7916 I KDE/addPlugin: Permissions OK BatteryPlugin
08-03 07:43:56.768  5792  7916 I KDE/addPlugin: Optional Permissions OK BatteryPlugin
08-03 07:43:56.768  5792  7910 I KDE/addPlugin: Optional Permissions OK MprisReceiverPlugin
08-03 07:43:56.768  5792  7916 I KDE/addPlugin: Permissions OK SharePlugin
08-03 07:43:56.768  5792  7916 I KDE/addPlugin: Optional Permissions OK SharePlugin
08-03 07:43:56.776  5792  7916 I KDE/addPlugin: Permissions OK NotificationsPlugin
08-03 07:43:56.776  5792  7916 I KDE/addPlugin: Optional Permissions OK NotificationsPlugin
08-03 07:43:56.776  5792  7910 I KDE/addPlugin: Optional Permissions OK BatteryPlugin
08-03 07:43:56.777  5792  7916 I KDE/addPlugin: Permissions OK TelephonyPlugin
08-03 07:43:56.777  5792  7916 I KDE/addPlugin: Optional Permissions OK TelephonyPlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Permissions OK PhotoPlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Optional Permissions OK PhotoPlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Permissions OK FindRemoteDevicePlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Optional Permissions OK FindRemoteDevicePlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Permissions OK ClipboardPlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Optional Permissions OK ClipboardPlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Permissions OK PingPlugin
08-03 07:43:56.778  5792  7916 I KDE/addPlugin: Optional Permissions OK PingPlugin
08-03 07:43:56.778  5792  7910 I KDE/addPlugin: Optional Permissions OK SharePlugin
08-03 07:43:56.789  5792  7916 W MediaPlayer: Use of stream types is deprecated for operations other than volume control
08-03 07:43:56.789  5792  7916 W MediaPlayer: See the documentation of setAudioStreamType() for what to use instead with android.media.AudioAttributes to qualify your playback use case
08-03 07:43:56.808  5792  7916 I KDE/addPlugin: Permissions OK FindMyPhonePlugin
08-03 07:43:56.808  5792  7916 I KDE/addPlugin: Optional Permissions OK FindMyPhonePlugin
08-03 07:43:56.808  5792  7910 I KDE/addPlugin: Optional Permissions OK NotificationsPlugin
08-03 07:43:56.808  5792  7916 I KDE/addPlugin: Permissions OK SystemVolumePlugin
08-03 07:43:56.808  5792  7916 I KDE/addPlugin: Optional Permissions OK SystemVolumePlugin
08-03 07:43:56.809  5792  7916 I KDE/addPlugin: Permissions OK PresenterPlugin
08-03 07:43:56.809  5792  7916 I KDE/addPlugin: Optional Permissions OK PresenterPlugin
08-03 07:43:56.809  5792  7916 D RemoteKeyboardPlugin: Creating for device Kevin-PC
08-03 07:43:56.810  5792  7916 I KDE/addPlugin: Permissions OK RemoteKeyboardPlugin
08-03 07:43:56.810  5792  7916 I KDE/addPlugin: Optional Permissions OK RemoteKeyboardPlugin
08-03 07:43:56.810  5792  7910 I KDE/addPlugin: Optional Permissions OK TelephonyPlugin
08-03 07:43:56.810  5792  7910 I KDE/addPlugin: Optional Permissions OK PhotoPlugin
08-03 07:43:56.817  5792  7916 I KDE/addPlugin: Permissions OK MprisPlugin
08-03 07:43:56.818  5792  7916 I KDE/addPlugin: Optional Permissions OK MprisPlugin
08-03 07:43:56.818  5792  7910 I KDE/addPlugin: Optional Permissions OK FindRemoteDevicePlugin
08-03 07:43:56.818  5792  7910 I KDE/addPlugin: Optional Permissions OK ClipboardPlugin
08-03 07:43:56.818  5792  7916 I KDE/addPlugin: Permissions OK ContactsPlugin
08-03 07:43:56.818  5792  7916 I KDE/addPlugin: Optional Permissions OK ContactsPlugin
08-03 07:43:56.818  5792  7916 I KDE/addPlugin: Permissions OK RunCommandPlugin
08-03 07:43:56.818  5792  7916 I KDE/addPlugin: Optional Permissions OK RunCommandPlugin
08-03 07:43:56.819  5792  7916 I KDE/addPlugin: Permissions OK MousePadPlugin
08-03 07:43:56.819  5792  7916 I KDE/addPlugin: Optional Permissions OK MousePadPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK PingPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK FindMyPhonePlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK SystemVolumePlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK PresenterPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK RemoteKeyboardPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK MprisPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK ContactsPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK RunCommandPlugin
08-03 07:43:56.819  5792  7910 I KDE/addPlugin: Optional Permissions OK MousePadPlugin
08-03 07:43:56.830  5792  7916 W Device  : Ignoring packet with type kdeconnect.runcommand.request because no plugin can handle it
08-03 07:43:56.830  5792  7916 W Device  : Ignoring packet with type kdeconnect.sms.request_conversations because no plugin can handle it
08-03 07:44:02.666  5792  7878 D ViewRootImpl[MainActivity]: windowFocusChanged hasFocus=false inTouchMode=true
08-03 07:44:04.611  5792  7917 I KDE/LanLink: Using port 1739
08-03 07:44:04.716  5792  7917 I KDE/LanLink: Beginning to send payload
08-03 07:44:04.716  5792  7917 I KDE/LanLink: Finished sending payload (5470 bytes written)

08-03 07:45:07.911  5792  5792 I KdeConnect: KdeConnectBroadcastReceiver
08-03 07:45:08.364  5792  7917 I KDE/LanLink: Using port 1739
08-03 07:45:18.379  5792  7917 E KDE/sendPacket: Exception
08-03 07:45:18.379  5792  7917 E KDE/sendPacket: java.net.SocketTimeoutException: Poll timed out
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at libcore.io.IoBridge.poll(IoBridge.java:682)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:196)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:451)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at java.net.ServerSocket.implAccept(ServerSocket.java:547)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at java.net.ServerSocket.accept(ServerSocket.java:515)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at org.kde.kdeconnect.Backends.LanBackend.LanLink.sendPacket(LanLink.java:186)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at org.kde.kdeconnect.Device.sendPacketBlocking(Device.java:701)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at org.kde.kdeconnect.DevicePacketQueue$SendingThread.run(DevicePacketQueue.java:112)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket:        at java.lang.Thread.run(Thread.java:919)
08-03 07:45:18.379  5792  7917 E KDE/sendPacket: No device link (of 1 available) could send the package. Packet kdeconnect.notification to Kevin-PC lost!

When received an SMS, the log said KdeConnectBroadcastReceiver. No log when the outlook received from android.

andyholmes commented 4 years ago

08-03 07:43:56.830 5792 7916 W Device : Ignoring packet with type kdeconnect.sms.request_conversations because no plugin can handle it

This means the SMS plugin is disabled in the Android app, but is unrelated to notifications.

08-03 07:45:18.379 5792 7917 E KDE/sendPacket: No device link (of 1 available) could send the package. Packet kdeconnect.notification to Kevin-PC lost!

This might be lost packet, but it seems more likely Android is ignoring the notification because it falls into one of these categories:

[kdeconnect-android: NotificationsPlugin.java#L183-L193]

Notification notification = statusBarNotification.getNotification();

if ((notification.flags & Notification.FLAG_FOREGROUND_SERVICE) != 0
        || (notification.flags & Notification.FLAG_ONGOING_EVENT) != 0
        || (notification.flags & Notification.FLAG_LOCAL_ONLY) != 0
        || (notification.flags & NotificationCompat.FLAG_GROUP_SUMMARY) != 0 //The notification that groups other notifications
)
{
    //This is not a notification we want!
    return;
}

Since there's no logging function here, you'd have to add it and recompile the Apk to know for sure. But if GSConnect is not logging anything for this notification, then there's not much we can fix here though so you'll have to open an upstream bu report.

ferdnyc commented 4 years ago
|| (notification.flags & Notification.FLAG_ONGOING_EVENT) != 0

That one's especially interesting as an exclusion factor, since as I mentioned both of my test notifications could theoretically have fallen into that category. But the hourly IFTTT notifications I set up didn't come through, while the Samsung Reminders app alerts did.

Makes me think that may be too fuzzily-defined a category, and one that's played too fast-and-loose with by developers, to make a good criterion for notification filtering.

andyholmes commented 4 years ago

...if this notification is in reference to something that is ongoing, like a phone call. It should not be set if this notification is in reference to something that happened at a particular point in time, like a missed phone call.

Hmm, could be. I guess this one is specifically ignored because of the telephony plugin, but unless someone leaks the Outlook source it's hard to say if that's the flag here :wink:

ferdnyc commented 4 years ago

@andyholmes wrote:

Since there's no logging function here, you'd have to add it and recompile the Apk to know for sure. But if GSConnect is not logging anything for this notification, then there's not much we can fix here though so you'll have to open an upstream bu report.

@kevinhwang91 Here (shared in Google Drive) is a build of 1.14.2 with the following change applied:

Index: src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java (revision a0636de6c7d65713a3feb9e778f146c6d88e3a32)
+++ src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java (date 1596577961000)
@@ -182,6 +182,10 @@

         Notification notification = statusBarNotification.getNotification();

+        String key = getNotificationKeyCompat(statusBarNotification);
+        String packageName = statusBarNotification.getPackageName();
+        String appName = AppsHelper.appNameLookup(context, packageName);
+
         if ((notification.flags & Notification.FLAG_FOREGROUND_SERVICE) != 0
                 || (notification.flags & Notification.FLAG_ONGOING_EVENT) != 0
                 || (notification.flags & Notification.FLAG_LOCAL_ONLY) != 0
@@ -189,6 +193,8 @@
         )
         {
             //This is not a notification we want!
+            Log.w(TAG, "sendNotification: Ignored " + appName
+                    + " notification due to flags: " + notification.flags);
             return;
         }

@@ -197,11 +203,6 @@
             // we don't want notification from this app
         }

-        String key = getNotificationKeyCompat(statusBarNotification);
-        String packageName = statusBarNotification.getPackageName();
-        String appName = AppsHelper.appNameLookup(context, packageName);
-
-
         if ("com.facebook.orca".equals(packageName) &&
                 (statusBarNotification.getId() == 10012) &&
                 "Messenger".equals(appName) &&

That should get you some visibility into that process, at least enough to confirm that it is the reason for the missing notifications.

The build is unsigned (because I'm not an Android developer), unofficial (because I'm not a KDE Connect developer), and unsafe to install on any device (because I'm Just Some Guy On The Internet™), however if you're willing to take your chances, all I can say is that I installed it on my phone and it seemed to work fine.

You'll have to download the APK, make sure your phone is set to allow installs from unknown sources (I think most are by default, still), give whatever app you open the APK from permission to install apps, and.. oh, right, and before all that:

  1. First uninstall the real KDE Connect app, or the APK installation will fail.
  2. After you install the APK, you'll have to re-pair to your computer.
  3. You'll also have to re-grant all of the permissions, and re-do all of your app settings.
  4. Just for fun, when you eventually uninstall this build and reinstall the official KDE Connect, you'll get to do all of that over AGAIN.

I didn't change the branding, really, so the only way to identify the APK version is at the very bottom of its Settings > Apps entry, which will show the version string "FeRDNYC-debug".

Your call. As I said, the wise thing is not to chance it... though I can't imagine what could go wrong. It is a hassle, though.

ferdnyc commented 4 years ago
            Log.w(TAG, "sendNotification: Ignored " + appName
                    + " notification due to flags: " + notification.flags);

...And now that I look at this again, I really hope Java does the sensible thing when asked to add a string and an enum a bitmask, and just embeds the integer value.

Oh well... if it doesn't, instead of the log message you'll probably get an error in the logs, which I suppose would provide basically the same confirmation. :roll_eyes:

kevinhwang91 commented 4 years ago

@andyholmes wrote:

Since there's no logging function here, you'd have to add it and recompile the Apk to know for sure. But if GSConnect is not logging anything for this notification, then there's not much we can fix here though so you'll have to open an upstream bu report.

@kevinhwang91 Here (shared in Google Drive) is a build of 1.14.2 with the following change applied:

Index: src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java   (revision a0636de6c7d65713a3feb9e778f146c6d88e3a32)
+++ src/org/kde/kdeconnect/Plugins/NotificationsPlugin/NotificationsPlugin.java   (date 1596577961000)
@@ -182,6 +182,10 @@

         Notification notification = statusBarNotification.getNotification();

+        String key = getNotificationKeyCompat(statusBarNotification);
+        String packageName = statusBarNotification.getPackageName();
+        String appName = AppsHelper.appNameLookup(context, packageName);
+
         if ((notification.flags & Notification.FLAG_FOREGROUND_SERVICE) != 0
                 || (notification.flags & Notification.FLAG_ONGOING_EVENT) != 0
                 || (notification.flags & Notification.FLAG_LOCAL_ONLY) != 0
@@ -189,6 +193,8 @@
         )
         {
             //This is not a notification we want!
+            Log.w(TAG, "sendNotification: Ignored " + appName
+                    + " notification due to flags: " + notification.flags);
             return;
         }

@@ -197,11 +203,6 @@
             // we don't want notification from this app
         }

-        String key = getNotificationKeyCompat(statusBarNotification);
-        String packageName = statusBarNotification.getPackageName();
-        String appName = AppsHelper.appNameLookup(context, packageName);
-
-
         if ("com.facebook.orca".equals(packageName) &&
                 (statusBarNotification.getId() == 10012) &&
                 "Messenger".equals(appName) &&

That should get you some visibility into that process, at least enough to confirm that it is the reason for the missing notifications.

The build is unsigned (because I'm not an Android developer), unofficial (because I'm not a KDE Connect developer), and unsafe to install on any device (because I'm Just Some Guy On The Internet™), however if you're willing to take your chances, all I can say is that I installed it on my phone and it seemed to work fine.

You'll have to download the APK, make sure your phone is set to allow installs from unknown sources (I think most are by default, still), give whatever app you open the APK from permission to install apps, and.. oh, right, and before all that:

  1. First uninstall the real KDE Connect app, or the APK installation will fail.
  2. After you install the APK, you'll have to re-pair to your computer.
  3. You'll also have to re-grant all of the permissions, and re-do all of your app settings.
  4. Just for fun, when you eventually uninstall this build and reinstall the official KDE Connect, you'll get to do all of that over AGAIN.

I didn't change the branding, really, so the only way to identify the APK version is at the very bottom of its Settings > Apps entry, which will show the version string "FeRDNYC-debug".

Your call. As I said, the wise thing is not to chance it... though I can't imagine what could go wrong. It is a hassle, though.

Thanks, I have tried the apk you uploaded. Although Outlook email has arrived, no warning like sendNotification: Ignored inside the log.

ferdnyc commented 4 years ago

Thanks, I have tried the apk you uploaded. Although Outlook email has arrived, no warning like sendNotification: Ignored inside the log.

@kevinhwang91

Hmm, that's frustrating. ...I probably should've just added a log message every time the plugin's sendNotification() method fires, just for sanity's sake. I'll put together an updated APK with that change, so that we can at least see when sendNotification() is used, period. Then if we still don't see anything in the logs, we'll know things aren't even getting that far for some reason.

ferdnyc commented 4 years ago

@kevinhwang91

OK, new APK uploaded, if you happen to still have my previous debug APK installed you can just install it over the previous build as an update, and you won't have to redo any preferences or anything.

When it's running you should now see these warnings for every notification:


KDE/NotificationsPlugin
sendNotification called for notification from
${appName}
${timestamp}

And then if the notification isn't sent due to flags, a second message immediately after:


KDE/NotificationsPlugin
sendNotification: Ignored ${appName}
notification due to flags: ${flagsInteger}
${timestamp}
andyholmes commented 4 years ago

Closing this one, since it's an upstream issue. Feel free to re-open this issue or a new one if work on our side is needed.

Best thing is to ensure there's an upstream bug report for this, otherwise it's unlikely to be fixed upstream.