libera/#maemo-leste/ Monday, 2024-12-02

dsc_freemangordon: morn07:24
freemangordonhi!07:25
dsc_I implemented online status in overview: https://plak.infrapuin.nl/selif/nw3f3583.png07:39
dsc_works alright07:40
freemangordonusing abook widgets?07:40
dsc_using abook contact changed signals07:41
dsc_presence changed*07:41
freemangordonyou re-implemented abook contacts list?07:41
freemangordonor that's different07:42
dsc_this is the conversations chat message overview, not the contact list07:42
freemangordonyeah, I see07:42
freemangordonthe point is  - do you draw avatar and presence status by yourself?07:45
dsc_yes :)07:45
freemangordondsc_: ok, great job07:46
dsc_if(presence == "available") display(available_icon_thing) :P07:46
dsc_we can use gtk widgets if they exist I dont care07:46
dsc_but i will need help07:47
freemangordonI think they exists07:47
freemangordonand they will draw the avatar for you as well :)07:47
dsc_that would be nice07:47
freemangordonbut have to check how exactly07:47
dsc_this status thing should work for all connection managers that implement the SimplePresence feature07:48
dsc_i check for it07:48
freemangordonyeah07:48
dsc_and sending friend requests is only enabled when the CM has TP_QT_IFACE_CONNECTION_INTERFACE_CONTACTS07:48
freemangordonbut, which exactly presence do you show? aggregate presence?07:49
dsc_? :P07:49
freemangordonheh :p07:49
dsc_thats up to the server07:50
dsc_right?07:50
freemangordonno, wait07:50
dsc_you cant set your status in conversations07:50
freemangordonok, as we discussed, each contact has at least one master (that can be temp) and zero or more roster contacts07:50
dsc_this is done via maemo07:50
dsc_ah07:51
freemangordonso, aggregate presence is that 'best' presence from all the roster contacts07:51
freemangordonso, if you are online on facebook but offline on jabber, the aggregate presence is online07:52
freemangordondo you get the point?07:52
dsc_yes im just looking at the code currently07:53
freemangordonwhich code?07:54
freemangordonabook?07:54
dsc_OssoABookContact *contact = static_cast<OssoABookContact *>(l->data);07:55
dsc_EContact* e_contact = E_CONTACT(contact);07:55
dsc_const char* presence = osso_abook_contact_get_value(e_contact, OSSO_ABOOK_VCA_TELEPATHY_PRESENCE);07:55
dsc_does this use the master contact07:55
dsc_?07:55
dsc_probably not07:55
dsc_or ehh07:55
dsc_no idea.07:56
freemangordonyou should use   osso_abook_presence_get_presence_status(OSSO_ABOOK_PRESENCE(contact)) anyways07:56
freemangordonbut lemme check what presence it gets07:57
dsc_im asking for OSSO_ABOOK_VCA_TELEPATHY_PRESENCE07:57
dsc_which sounds specific07:57
dsc_so its probably not the aggregate07:57
freemangordonmhm07:57
freemangordonyou can do   osso_abook_presence_get_icon_name on the contact08:03
freemangordonand if you provide master contact, you will get aggregate presence08:03
freemangordonif you provide roster contact, then you will get that particular connection presence08:04
dsc_cool, ill try the icon08:06
freemangordonalso, OssoABookContact implements http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookAvatarImage.html08:06
freemangordonwhich you can use directly (as GtkWidget ofc) to show the avatar08:07
freemangordonoops, sorry08:07
dsc_get_pixbuf 😎08:07
freemangordonOssoABookContact implements OssoABookAvatar which can be provided to http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookAvatarImage.html08:08
freemangordonit is easy to show GtkWidget in qt app08:09
dsc_yes I am looking at some code08:09
dsc_it creates a x11 window?08:09
freemangordonumm... no, there was an easier way08:10
freemangordonlemme check08:10
dsc_https://plak.infrapuin.nl/selif/zwdch3u3.txt08:10
freemangordonno QX11EmbedContainer08:10
freemangordonyou can get qt window native id and wrap it to some gtk window, sec08:10
dsc_sounds a bit crazy :d08:11
dsc_wrap conversations in a gtk window?08:11
freemangordonno, see https://www.manpagez.com/html/gdk2/gdk2-2.24.24/gdk2-X-Window-System-Interaction.php#gdk-window-foreign-new08:12
freemangordonand https://doc.qt.io/qt-5/qwidget.html#effectiveWinId08:13
dsc_k08:14
dsc_no idea whats going on there08:14
dsc_will have to see later08:14
freemangordonyou get XID (effectiveWinId()) from qt and pass it to gdk_window_foreign_new()08:15
freemangordonand you have GdkWindow you can add GtkWidget to08:15
freemangordonsimplified08:16
freemangordonI can provide sample code later on08:21
dsc_ok :)08:24
freemangordondsc_: I wonder if it is not a time to start implementing 'start chat' functionality, I can provide a simple qt application that does it(the selection part). what do you think?08:30
dsc_freemangordon: yes, would be nice. it needs to happen from addressbook somehow08:31
freemangordonmhm08:31
dsc_what do you have in mind?08:31
freemangordonoh, wait08:31
freemangordonI mean - there is 'new message' in the menu08:32
dsc_yes, I changed it in my current dev branch, but I figure it will be removed because we wil be doing it from abook08:32
freemangordonI think pressing that shall open abook contact searcher08:32
dsc_yes something like this08:32
freemangordonno, we already can do from abook08:32
freemangordonbut my understanding is that we shall be able to start new chat from conversations, no?08:32
dsc_yes correct08:33
dsc_need a contact picker08:33
freemangordonexactly08:33
dsc_if you can spawn this gtk widget/dialog somehow08:33
freemangordonso, my plan is to provide a simple application that implements contact picker in qt08:33
dsc_yes08:33
freemangordonyes, I can08:33
dsc_and get the results from it08:33
freemangordonmhm08:34
dsc_abook is aware of the protocols right?08:34
freemangordonyou will get OssoABookContact, when you select one, IIRC08:34
freemangordonsure08:34
freemangordonhalf of the code deals with TP08:34
dsc_yes08:34
freemangordonok, cool08:34
dsc_let me check @ OssoABookContact,08:34
freemangordonI'll do it as soon as I have some spare time08:35
freemangordoncheck what? you already use it :)08:35
freemangordonyou will get roster contact08:35
dsc_yes but08:35
freemangordonwith remote id and such08:35
dsc_need to map it to local_uid,remote_uid08:35
dsc_there is osso_abook_contact_get_persistent_uid08:35
freemangordonmap? I think there will be no need to map08:36
dsc_yes that function will work08:36
freemangordonas you can get TpAccount (the local one) from a contact\08:36
dsc_im already using it08:36
dsc_or that, yeah08:36
dsc_ok08:36
freemangordonok, we have a deal08:36
dsc_xD08:36
freemangordonbtw, for the avatar08:36
freemangordonI will also have to provide sample app08:37
dsc_well08:37
freemangordonbut maybe lets do 'new message' first08:37
freemangordonhm?08:37
dsc_osso_abook_avatar_image_get_pixbuf08:37
dsc_would be easier08:37
dsc_no need to include the whole widget this way08:37
freemangordonyeah, but that's GdkPixbuf08:38
dsc_its just an image, no?08:38
dsc_yes, I can get the pixeldata from it08:38
freemangordonyes, but it will not update on-the-fly08:38
dsc_I already listen to updates08:38
freemangordonyou have to connect to 'avatar-changed'08:38
freemangordonright, but all this is already implmented08:38
dsc_i think it would be easier08:38
freemangordonno08:38
dsc_no need for widget08:38
freemangordonI think it will be way easier to just embed gtk widgets08:39
freemangordonbut lets see08:39
dsc_maybe, the gtk window handle bla stuff seemed a bit convoluted08:39
dsc_also I need to draw this in a table08:39
freemangordonit is not gtk, but x11 handle08:39
freemangordonXID08:40
freemangordonor 'Window'08:40
dsc_btw08:40
dsc_I also need to draw this in QML, possibly08:41
dsc_for the chatwindow08:41
freemangordonhmm, rigth08:41
dsc_only the overview is qtwidgets08:41
freemangordonok, we can cheat then08:41
dsc_there I will need an image08:41
freemangordonyeah08:41
freemangordonthis http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/libosso-abook-osso-abook-avatar.html#osso-abook-avatar-get-image-token08:41
dsc_its possible to create a custom QML component and override the paint method08:42
dsc_but...08:42
dsc_hmm08:42
freemangordon/home/user/.osso-abook/avatars08:43
freemangordonthose are the tokens in question08:43
dsc_nice08:43
freemangordonbut, you will have to connect to 'avatar-changed' and re-load whenever needed08:43
dsc_yes I can see the avatars in that directory08:43
dsc_ok08:44
freemangordonyeah, this is where abook storest them08:44
dsc_i will write this code now08:44
freemangordonhmm, wait08:44
freemangordonit is not that simple08:44
freemangordonI think abook does some magic to keep the avatars aspect ration sane08:45
freemangordonlemme check08:45
freemangordonyeah, OssoABookAvatarImage provides fallback image as well08:46
freemangordondsc_: btw, QML has native window id too08:47
freemangordonbut if we draw widget on it, I think we will ruin the performance08:47
freemangordonas it will have to do ReadPixels08:47
dsc_how do you draw widget on QML though08:48
dsc_it has scrolling etc08:48
freemangordonno, I mean if we try to embed GtkWidget in it08:48
freemangordonit will be bad perf wise08:48
freemangordonas gtk does SW render08:49
freemangordonwhile qml does GPU08:49
freemangordonafaik08:49
dsc_yes08:49
freemangordonso, for SW render, we have to issue glReadPixels08:49
dsc_im not following how that would work08:49
dsc_there is a QML surface08:49
freemangordonit will, but will be slow08:49
freemangordonso scratch it08:49
dsc_ok08:49
freemangordonlets just use images from the filesystem08:50
freemangordonand see what https://github.com/maemo-leste/osso-abook/blob/master/lib/osso-abook-avatar-image.c#L182 and https://github.com/maemo-leste/osso-abook/blob/master/lib/osso-abook-avatar-image.c#L361 do08:53
freemangordonyeah, it does *lots* of things https://github.com/maemo-leste/osso-abook/blob/master/lib/osso-abook-avatar-image.c#L64108:54
freemangordonit scales and clips and draws shadow and whatnot :)08:54
freemangordonbut I guess we can live without those08:55
dsc_i also get contact changed signal from changing the avatar08:55
dsc_dont think I need avatar-changed08:55
freemangordonyou need08:55
freemangordonbecause you might have more than one avatar per master contact08:56
dsc_alright08:56
dsc_so this signal08:56
dsc_OssoABookContact *contact = *contacts;08:56
dsc_its on this?08:56
dsc_i dont think so08:56
dsc_because it didnt work :P08:56
freemangordonno, it is on master contacts list08:56
freemangordonfrom the aggregator08:57
dsc_right08:57
dsc_g_signal_connect(conv_abook_aggregator, "avatar-changed", G_CALLBACK(account_avatar_changed_cb), nullptr);08:57
dsc_like that?08:57
dsc_i dont know what emits the signal08:57
freemangordonno08:57
dsc_what object08:57
freemangordonit is per contact08:57
dsc_its in ./lib/osso-abook-self-contact.c08:57
freemangordonosso_abook_aggregator_list_master_contacts08:58
freemangordonno self contact is your vcard08:58
dsc_ah08:58
freemangordonor you can do   osso_abook_aggregator_find_contacts_full and filter by whatever criteria08:59
freemangordondsc_: see https://github.com/maemo-leste/osso-abook-home-applet/blob/master/src/osso-abook-home-applet.c#L11309:00
freemangordonbasically home applet gives you example what shall be done for a single contact09:00
dsc_ugh09:01
freemangordonhmm?09:02
dsc_nothing09:03
freemangordonso yeah, you can either get pixels from GdkPixbuf or load the files by hand09:03
freemangordonbut, there is already some caching, so using osso_abook_avatar_get_image_scaled() might be faster09:04
freemangordonit will also do the cropping for you09:05
freemangordonhttp://maemo.org/api_refs/5.0/5.0-final/libosso-abook/libosso-abook-osso-abook-avatar.html#osso-abook-avatar-get-image-scaled09:05
freemangordonso you will not need to reimplement all that logoc09:05
dsc_aparantly I was using09:05
dsc_GList *contacts = osso_abook_aggregator_list_roster_contacts(conv_abook_aggregator);09:05
dsc_to get the contacts from abook09:05
dsc_but I have the use the *master* list09:05
dsc_so lets see how much stuff I have to change09:06
freemangordonyou can get master contact from roster contact09:06
freemangordonwait09:06
freemangordonumm, what do you need roster contacts for? 'contact-changed'?09:06
dsc_        const char* subscribed = osso_abook_contact_get_value(e_contact, OSSO_ABOOK_VCA_TELEPATHY_SUBSCRIBED);09:07
dsc_        const char* published = osso_abook_contact_get_value(e_contact, OSSO_ABOOK_VCA_TELEPATHY_PUBLISHED);09:07
dsc_        const char *persistent_uid = osso_abook_contact_get_persistent_uid(contact);09:07
dsc_to ask for this stuff09:07
freemangordonok, so persistent_ui should be the uid of the master contact09:08
freemangordonor, you can do   osso_abook_contact_get_master_uids(roster_contact)09:08
freemangordonbut, IIRC, you get master contact too with contact-changed09:08
dsc_this is not changed09:09
freemangordonah09:09
dsc_onConnection09:09
freemangordonI see09:09
dsc_I ask for the roster09:09
freemangordonok, ok09:09
dsc_:D09:09
dsc_btw09:09
freemangordonbtw, do not use osso_abook_contact_get_value()09:09
freemangordonosso_abook_presence_get_subscribed()09:10
freemangordonand   osso_abook_presence_get_published()09:10
dsc_im using that in the contacts-changed callback09:10
dsc_            OssoABookPresence *abook_presence = OSSO_ABOOK_PRESENCE(l->data);09:10
dsc_            TpConnectionPresenceType presenceType = osso_abook_presence_get_presence_type(abook_presence);09:10
dsc_etc.09:10
dsc_but for the initial roster, not sure how to get this abook_presence09:11
dsc_anyway09:11
dsc_this is for later09:11
dsc_im already happy it works currently09:11
freemangordonOSSO_ABOOK_PRESENCE(contact)09:11
freemangordonalso, see http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookAggregator.html#osso-abook-aggregator-resolve-master-contacts09:11
dsc_cool09:11
dsc_thx09:11
dsc_wait it returns multiple09:12
freemangordonsure09:12
dsc_ok so09:12
freemangordonyou may have more that one master contact that includes "steve_jobs@whatever.jabber.com", no?09:12
dsc_im trying to do avatar-changed09:12
dsc_i need to get the master-contact09:12
dsc_associated with the initial roster09:13
dsc_and this master contact can be multiple?09:13
freemangordonmhm09:13
freemangordonjust use the first one09:13
freemangordonusually there will be only one09:13
dsc_alright09:13
freemangordonIIUC09:13
freemangordonok, have to run, ttyl09:13
dsc_i will try this `osso_abook_aggregator_list_master_contacts`09:15
freemangordondsc_: oh, wait09:18
freemangordonyou are showing last message, right?09:18
dsc_yes09:18
dsc_does this look OK?09:19
dsc_GList *contacts = osso_abook_aggregator_list_master_contacts(conv_abook_aggregator);09:19
dsc_for (GList *l = contacts; l != nullptr; l = l->next) { OssoABookContact *contact = static_cast<OssoABookContact *>(l->data); g_signal_connect(contact, "avatar-changed", G_CALLBACK(account_avatar_changed_cb), nullptr);09:19
dsc_}lol09:19
dsc_let me paste09:19
dsc_https://plak.infrapuin.nl/selif/9ptrnt0f.txt09:19
dsc_because it doesnt work yet09:19
freemangordonthen isn't it better to use roster avatar related to the channe this message came from?09:19
dsc_im just wondering09:19
dsc_ah yeah09:19
dsc_good idea09:19
freemangordonmhm09:19
freemangordonthe same fot chat window09:19
freemangordon*for09:19
freemangordonso it is even simpler09:20
freemangordonno need to deal with master contacts, sorry for the confusion09:20
freemangordonand the same for presence09:20
freemangordonI got confused :)09:20
dsc_hmm09:21
dsc_what do you mean "same for presence" ?09:21
dsc_ah ok09:21
freemangordonuse roster presence, not master09:21
dsc_so I should use `osso_abook_aggregator_list_roster_contacts`09:21
dsc_ok09:21
dsc_or well, I filter the contacts in that loop09:21
freemangordonyou already do, no?09:21
dsc_yes09:21
freemangordonyou can filter by using abook09:22
freemangordonjust provide filter function09:22
freemangordonsee a09:22
dsc_filter on local_uid would be nice09:22
freemangordonosso_abook_aggregator_find_contacts_full09:22
dsc_OssoABookContactPredicate09:22
freemangordonor osso_abook_aggregator_find_contacts_for_im_contact09:22
dsc_i dont know how to use this09:23
dsc_i want to focus on avatar-changed09:23
freemangordonwait, wtym 'i dont know how to use this'?09:23
dsc_well09:23
dsc_I have to look into how to use `osso_abook_aggregator_find_contacts_for_im_contact`09:24
dsc_or `osso_abook_aggregator_find_contacts_full`09:24
dsc_and right now I want to do avatar-changed09:24
freemangordonok09:24
dsc_and I dont know how to do avatar-changed :P09:24
dsc_https://plak.infrapuin.nl/selif/9ptrnt0f.txt09:24
dsc_does this look ok?09:24
dsc_(apart from using master list)09:24
freemangordonyes, that's it09:25
dsc_ok cool09:25
freemangordonbut I really have to run :)09:25
freemangordonask Wizzup for help with gtk/glib while I am away09:25
dsc_(conversations:8645): GLib-GObject-WARNING **: 08:25:15.403: ../../../gobject/gsignal.c:2614: signal 'avatar-changed' is invalid for instance '0x555ee8f551d0' of type 'OssoABookContact'09:25
dsc_nom nom09:25
dsc_bye :D09:25
freemangordonwell, check what provides "avatar-changed"09:25
dsc_$ grep -r --include="*.h" 'avatar-changed' /usr09:26
dsc_nom nom09:26
dsc_Wizzup: herrow, how to connect to the 'avatar-changed' signal? :P09:27
freemangordondsc_: https://github.com/maemo-leste/osso-abook-home-applet/blob/master/src/osso-abook-home-applet.c#L23609:35
freemangordonjust use home applet as example09:36
freemangordonif you don't use _swapped, then cb looks like:09:37
freemangordonvoid notify_avatar_image_cb(OssoABookContact *contact, GdkPixbuf *image,    gpointer user_data)09:37
freemangordonumm, wait09:38
freemangordonit is   void notify_avatar_image_cb(GObject *gobject, GParamSpec *pspec, gpointer user_data)09:40
freemangordongobject is the contact that changed the avatar09:41
dsc_thx it worked09:44
dsc_freemangordon: I dont think osso_abook_contact_get_avatar() is actually implemented yet09:51
dsc_http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookContact.html#osso-abook-contact-get-avatar09:51
siceloWizzup: seems something's not right with how we start alarmd or something ... no rush though. i should be able to look into it the coming days09:52
sicelobut alarm was correctly set and did wake device up when i ran alarmd manually. as run/started by the system, the rtc is never written to09:53
siceloah, simple reason - we start alarmd as user. i guess side effect of using rootless xorg, since alarmd is started from xsession?09:54
sicelothis explains why i remember it used to work, presumably when we still ran X11 as root10:03
sicelommm10:05
sicelohttps://github.com/maemo-leste/bugtracker/issues/754 so I remember10:38
Wizzuplet's see10:46
WizzupI think we give /dev/rtc? a udev rule and a group10:47
Wizzupoh the rtc device is 700 even10:47
Wizzupor, is this wht is even written to by alarm?10:47
siceloyes, alarmd tries to write to that, https://github.com/maemo-leste/alarmd/blob/84646bc4049c2cc523cb8cb74bf0d1ffb24adece/src/hwrtc.c#L4010:48
sicelothe whole thing works nicely when you start alarmd manually as root10:49
sicelobut now i see we seem to have always started it as user (not related to rootless xorg). but yeah, as long as rtc is only managed by root (which is generally correct), then we cannot see a hw alarm10:51
sicelos/cannot see/cannot set/10:53
Wizzupsicelo: we can make udev rules for all rtc? devices13:51
Wizzupset perms to 0660 and add the users group or some clock group13:51
freemangordonWizzup: I think we shall start alarmd as root16:13
freemangordonit even complains now on chimaera16:13
WizzupWhy?16:17
freemangordondsc_: hmm, right, lemme fix that16:17
WizzupWhy run it as root if it is a one linre to make /dev/rtc privs more sensible16:17
freemangordonWizzup: because we start it from xsession script16:17
Wizzupso why start it as root?16:17
freemangordonisn;t is sytem-wide daemon?16:17
Wizzupthat doesn't mean they should run as root16:17
freemangordonor it is per user?16:17
freemangordonso, you want every user session to has it's own alarmd?16:18
freemangordonI don;t think that will work16:18
freemangordonlemme check on which dbus session it registers16:18
freemangordonWizzup: seems to work on system bus16:20
siceloi also do think rtc is best managed by root, so i would prefer running alarmd as root as well, leaving rtc permissions intact. less chance that something will try to overwrite the set wakeup time that way.16:20
freemangordonlemme check what it does on fremantle16:22
freemangordon1352 user      3776 S    /usr/sbin/alarmd16:23
freemangordonoh16:24
freemangordonwhat the?16:24
siceloand permissions of the rtc?16:24
freemangordonI don't get that https://github.com/maemo-leste/alarmd/blob/master/xsession/03alarmd#L2716:25
freemangordoncrw-rw----    1 root     audio    251,   0 Jan  1  1970 /dev/rtc016:25
freemangordonwhat a mess :)16:25
sicelolol, audio ...16:25
siceloso i guess that's how 'user' was able to manage it16:26
freemangordonbut, alarmd is started from xsession script with '/etc/init.d/alarmd start'16:26
freemangordonthat's...16:26
freemangordonI am speechless16:26
siceloin Leste, we also do start it via openrc :p16:26
freemangordonyes, but we took that from fremantle16:27
sicelothe openrc? no, we must have made that ourselves16:27
siceloi actually think now the xsession already finds alarmd running (and thus is a no-op)16:27
siceloanyway, even the openrc script starts it as user 'user' :-)16:27
freemangordonyes16:28
freemangordonbut why?16:28
siceloi guess we wanted to keep the fremantle behavior.16:31
freemangordonI want to understand why it is run as user before making any decision16:31
freemangordonthis does not make any sense to me16:33
freemangordonalarm queue is kept in /var16:33
freemangordonso that is not per user16:33
freemangordonWizzup: I don;t understand why system-wide daemon should run as 'user' on system bus16:43
freemangordonto me this looks like some ugly hack/overlook made by nokia back then16:43
freemangordonbtw, if there is no dsme, it will start as root16:44
freemangordon(talking about original sysv init script)16:44
freemangordonoh, it listens to both system and session bus16:45
freemangordonhttp://maemo.org/development/sdks/maemo_5_beta_docs/alarm_framework/16:46
freemangordonhttp://maemo.org/api_refs/5.0/beta/libalarm/16:48
Wizzupsorry I was in a work meeting16:53
freemangordonNP16:53
WizzupI think that the less  that runs as root the better16:53
Wizzup/dev/rtc0 is not audio on my droid btw16:53
freemangordonin general I agree16:54
freemangordonno, that's on fremantle16:54
Wizzupand if alarmd only needs roor for /dev/rtc? then we just make a single udev rule16:54
freemangordonso, in general I agree16:54
freemangordonbut, what will happen if we have start second user session16:54
freemangordon*started16:54
Wizzupif the second session has access to the system bus then it can talk with it just the same I guess?16:55
freemangordonbut it will try to start alarmd again16:55
freemangordonit is the same as if we start mce as user16:55
freemangordonfrom xsession16:55
sicelobtw why does it need two buses? can it not be on system bus only?16:56
freemangordonno idea16:56
freemangordonthat's why I think that's a mess16:56
freemangordonWizzup: it is not only /dev/rtc16:56
freemangordonit takes care for *all* the alarms in the system16:56
freemangordonwhich means that 'user' can delete /var/cache/alarm without going through dbus16:58
freemangordon/var/cache/alarmd16:58
freemangordonso, we either move cache dir to $HOME or run as root16:59
freemangordonbut, I guess that'd require major changes16:59
freemangordonso yeah, the easiest way to go is rtc permissions16:59
freemangordondsc_: you don't need osso_abook_contact_get_avatar() as it requires master contact17:06
freemangordonand I think we agreed that you want roster contact avatar17:07
siceloat least I can confirm that setting 660 permissions, and root:audio ownership on rtc0 does make the UI set alarm properly17:39
inkyi dont know if it's only for me, but from time to time i update maemo and try conversations., and whatever i write, reaches the other party, but whatever other party writes, doesn't reach me in conversations. reaches elsewhere.18:07
Wizzupwhat connection manager is ths?18:09

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!