These are chat archives for abranson/rockpool

10th
Jun 2016
Andrew Branson
@abranson
Jun 10 2016 13:34
I think they're on 5.5, but with 5.6 imminent.
UT i mean
Sorry I haven't had chance to debug the timeline stuff more - hopefully next week I'll get chance! That report on tmo about the notifications not showing is consistent with my experience. Haven't you see that too?
A lot of my notifications are android telegram ones though, so it could be something to do with the alien dalvik notifications. there's a lot of special code for those in lipstick, and a bit in rockpool
i'm still surprised that it's possible to add a notification to the pebble with a vibration but no visibility.
ruff
@rufferson
Jun 10 2016 16:34
well I know it happens like that when you add and immediatelly remove the message. which could happen on closure.
and btw
there's one thing i put into notification engine - just to see how it goes, and i didn't have any problems with that
void SailfishPlatform::handleClosedNotification(watchfish::Notification::CloseReason reason) {
watchfish::Notification n = static_cast<watchfish::Notification>(sender());
qDebug() << "Notification closed:" << n->id() << "Reason: " << reason;
disconnect(n, 0, this, 0);
QMap<QUuid, watchfish::Notification*>::iterator it = m_notifs.begin();
while (it != m_notifs.end()) {
if (it.value()->id() == n->id()) {
qDebug() << "Found notification to remove " << it.key();
emit delTimelinePin(it.key().toString()); // Not sure we want it, but why not?
m_notifs.remove(it.key());
return;
so. if notiplatform closes notification immediately post sumission - it will be removed
and i don't have android/dalvik/whatever
which could be the reason i don't see this
Andrew Branson
@abranson
Jun 10 2016 18:43
Yes that was working well. I'd got as far as emitting it before, but didn't connect it as I didn't know if it should be removed - it's nice to have the notif history on the watch.
For me there was a buzz, and the notif was in the history, but didn't appear on the watchface. It was as if it was instantly dismissed, or created in a dismissed state.
What happens if you reuse a uuid?
ruff
@rufferson
Jun 10 2016 18:46
for pins it just updates it, but pin never pops up by itself, never tried updating notification though
but uuid is based on message id. so only if message is really emitted twice (i.e. group is not filtered) then it would cause an update. Id has second resolution so if two are delivered with subsecond interval - would cause an update
ruff
@rufferson
Jun 10 2016 18:51
and the reason i did it that way is exactly to have an ability to update, although i didn't come down to the purpose of the update itself yet, neither tested how it works.
ruff
@rufferson
Jun 10 2016 18:58
can you try with pre-setting guid to random uuid instead of namespace based?
and the reason i did it that way is exactly to have an ability to update, although i didn't come down to the purpose of the update itself yet, neither tested how it works.
diff --git a/rockworkd/platformintegration/sailfish/sailfishplatform.cpp b/rockworkd/platformintegration/sailfish/sailfishplatform.cpp
index 062baa1..af10d23 100644
--- a/rockworkd/platformintegration/sailfish/sailfishplatform.cpp
+++ b/rockworkd/platformintegration/sailfish/sailfishplatform.cpp
@@ -192,7 +192,7 @@ void SailfishPlatform::newNotificationPin(watchfish::Notification *notification)
QStringList res = PlatformInterface::AppResMap.contains(a.type) ? PlatformInterface::AppResMap.value(a.type) : PlatformInterface::AppResMap.value("unknown");
 pin.insert("id",QString("%1.%2.%3").arg(a.sender).arg(notification->timestamp().toTime_t()).arg(notification->id()));
  • QUuid guid = PlatformInterface::idToGuid(pin.value("id").toString());
  • QUuid guid = QUuid::createUuid();
    pin.insert("guid",guid.toString().mid(1,36));
    pin.insert("type",QString("notification"));
    pin.insert("dataSource",QString("%1:%2").arg(a.srcId).arg(PlatformInterface::SysID));
hm, seems gitter not the best tool to exchange git patches
`diff --git a/rockworkd/platformintegration/sailfish/sailfishplatform.cpp b/rockworkd/platformintegration/sailfish/sailfishplatform.cpp
index 062baa1..af10d23 100644
--- a/rockworkd/platformintegration/sailfish/sailfishplatform.cpp
+++ b/rockworkd/platformintegration/sailfish/sailfishplatform.cpp
@@ -192,7 +192,7 @@ void SailfishPlatform::newNotificationPin(watchfish::Notification *notification)
QStringList res = PlatformInterface::AppResMap.contains(a.type) ? PlatformInterface::AppResMap.value(a.type) : PlatformInterface::AppResMap.value("unknown");
 pin.insert("id",QString("%1.%2.%3").arg(a.sender).arg(notification->timestamp().toTime_t()).arg(notification->id()));
  • QUuid guid = PlatformInterface::idToGuid(pin.value("id").toString());
  • QUuid guid = QUuid::createUuid();
    pin.insert("guid",guid.toString().mid(1,36));
    pin.insert("type",QString("notification"));
    pin.insert("dataSource",QString("%1:%2").arg(a.srcId).arg(PlatformInterface::SysID));
    `
crap, markdown doesn't help either
Andrew Branson
@abranson
Jun 10 2016 19:53
Roffle, don't worry I think I can see it in there somewhere. But are you not getting this behaviour at all??
ruff
@rufferson
Jun 10 2016 21:13
no, nothing like that, to me it all smooth and neat, hence I packaged beta to push rpm so that when working on gui and it will be restarting daemon - i got back my functionality :)
the only time i got similar functionality is when I implemented dbus to set timeline window params, and messed with order of window knobs. So I set window_end to some time in the past and it was deprecating all pins and notifications on the fly, inserting and immediately removing them.