00:13
mp107 has quit [Quit: Ping timeout (120 seconds)]
00:13
mp107 has joined #maemo-leste
03:04
xmn has quit [Ping timeout: 245 seconds]
03:04
xmn_ has joined #maemo-leste
03:05
xmn_ is now known as xmn
03:24
sixwheeledbeast has quit [Server closed connection]
03:24
sixwheeledbeast has joined #maemo-leste
03:48
xmn has quit [Ping timeout: 248 seconds]
03:49
Daanct12 has joined #maemo-leste
03:52
sicelo has quit [Server closed connection]
03:52
sicelo has joined #maemo-leste
04:26
xmn has joined #maemo-leste
04:51
_fab has joined #maemo-leste
05:02
joerg has quit [Ping timeout: 252 seconds]
05:02
joerg has joined #maemo-leste
05:31
<
freemangordon >
dsc_: I think this duplicates accounts status menu item
05:32
<
kittysol >
dsc_: i think i would find that quite useful
05:32
<
dsc_ >
freemangordon: it does yes
05:32
<
dsc_ >
freemangordon: btw, I also fixed the overview table where previously it would cut-off text, in -devel
05:33
<
freemangordon >
dsc_: do you update status on-the-fly?
05:33
<
dsc_ >
freemangordon: yes
05:34
<
dsc_ >
kittysol: did you see my messages about Matrix? I tested it yesterday
05:34
<
kittysol >
oh let me see if i have them, i think my bouncer did a funny
05:34
<
freemangordon >
dsc_: SMS is offline?
05:35
<
kittysol >
ah ill need to go on my other computer to see them
05:35
<
dsc_ >
freemangordon: hmm yes good point, ring/tel/account0 reports ✓ available
05:36
<
dsc_ >
will investigate
05:36
<
freemangordon >
dsc_: I admit I am not sure its conversations job to care about accounts, but well...
05:37
<
dsc_ >
it was easy to add and helps a lot in terms of UX
05:37
<
freemangordon >
I am just sharing my gut feeling. also, there is always a risk conversations and status menu to show different things
05:44
<
dsc_ >
in the case of SMS, the CM is 'ring' and Tp reports this protocol as being 'offline' - it does have a connection to the CM but this onlineness is what the CM reports
05:44
<
dsc_ >
so thats correct
05:44
<
dsc_ >
(this is in the VM)
05:45
<
dsc_ >
suppose I could decide to always consider this 'online' though when we have that CM active
05:46
<
dsc_ >
'online' with SMS is a bit strange and probably not implemented like the other CMs
05:46
<
dsc_ >
I was just following what the CM reports
05:56
<
sicelo >
looks like the first row is clickable? what does clicking do or show?
05:57
<
sicelo >
then, Telegram looks too prominent.
05:59
<
sicelo >
potential issue when many accounts are configured - the menu may end up unwieldy
06:06
<
dsc_ >
sicelo: its for filtering the overview
06:06
<
dsc_ >
based on protocol
06:11
xmn has quit [Remote host closed the connection]
06:11
xmn has joined #maemo-leste
06:12
_fab has quit [Quit: _fab]
06:13
<
dsc_ >
regarding previews
06:13
<
dsc_ >
i dont think I showed it yet
06:14
<
dsc_ >
in this case, conversations is configured to first ask the user to preview it, but it can be fully automatic too (or completely disabled)
06:15
<
dsc_ >
this results in
06:16
<
dsc_ >
it shows the download progress as well
06:16
<
dsc_ >
these results can be clicked, e.g. links will open Jib (after asking the user)
06:17
<
dsc_ >
and clicking the image will result in a built-in image viewer with zoom/pan
06:19
<
dsc_ >
try it out, its in the repos :))
06:26
Livio has joined #maemo-leste
06:41
pere has quit [Ping timeout: 248 seconds]
06:45
_fab has joined #maemo-leste
07:00
akossh has joined #maemo-leste
07:09
<
Wizzup >
dsc_: fwiw the rtcom status applet just doesn't show the tp ring account
07:09
<
Wizzup >
but we can't do that here from a UX perspective because we want to filter by sms
07:13
Livio has quit [Ping timeout: 272 seconds]
07:13
<
dsc_ >
Wizzup: right
07:19
<
sicelo >
dsc_: filtering by the overview: what is overview? sorry for dumb question
07:21
joerg has quit [Ping timeout: 258 seconds]
07:22
joerg has joined #maemo-leste
07:23
<
kittysol >
dsc_: excuse my ignorance but when you say its in the repos will i just be able to update communications on a daedalus image?
07:25
<
sicelo >
that's what it means, yes
07:25
<
kittysol >
thank you just didnt know if i had to switch to a devel branch or something
07:25
pere has joined #maemo-leste
07:25
<
dsc_ >
sorry I do everyhthing via terminal
07:26
<
dsc_ >
I think you can use the update application thing yes
07:26
<
Wizzup >
I don't think HAM will update conversations currently
07:26
<
dsc_ >
sicelo: the overview of chat messages
07:26
<
kittysol >
oh yeah ill do it through terminal anyway i just didnt know if i had to add a repo or anything
07:26
<
dsc_ >
the initial main screen
07:27
<
dsc_ >
kittysol: devel repo not necessary
08:05
FANTOM has quit [Ping timeout: 248 seconds]
08:09
Smatkovi has joined #maemo-leste
08:10
<
Smatkovi >
strange. somehow the n950 doesn't like soft reboots. it just hangs and wants that i press the powerbutton
08:10
<
Smatkovi >
that's why ubiboot isn't working and also moslo dualboot isn't working
08:11
<
Smatkovi >
i tried to delete all rd flags with flasher, but still the same behaivour
08:12
<
Smatkovi >
has someone of you heard of such behaivour?
08:16
ungeskriptet has quit [Remote host closed the connection]
08:17
ungeskriptet has joined #maemo-leste
08:41
FANTOM has joined #maemo-leste
08:48
Livio has joined #maemo-leste
08:53
FANTOM has quit [Ping timeout: 248 seconds]
09:03
pere has quit [Ping timeout: 258 seconds]
09:09
FANTOM has joined #maemo-leste
09:26
<
freemangordon >
dsc_: IIRC 'contact' is really the id in 'removed' handler, try with const gchar *contact = *contacts;
09:27
<
freemangordon >
also, I don;t think you shall connect to both aggregator and roster signals
09:28
<
dsc_ >
freemangordon: what kind of 'id' ? int?
09:28
<
freemangordon >
const gchar *contact = *contacts;
09:28
<
freemangordon >
const gchar *id = *contacts;
09:29
<
dsc_ >
we shall try (gchar)(uintptr_t)(*contacts)
09:29
<
freemangordon >
what?
09:29
<
dsc_ >
what you suggested does not work, I'm not sure how to cast properly
09:29
<
dsc_ >
its an error
09:30
<
dsc_ >
so I shall try this other thing
09:30
<
freemangordon >
dsc_: your callback signature is wrong
09:30
<
dsc_ >
ah ok, thanks
09:31
<
freemangordon >
void contacts_removed_cb(OssoABookRoster *roster, const gchar **uids, gpointer data)
09:32
<
freemangordon >
also, it is not gchar, but gchar *
09:33
<
dsc_ >
it worked thanks
09:35
<
freemangordon >
seems the documentation is wrong
09:35
pere has joined #maemo-leste
09:35
<
dsc_ >
so do you know what this id is btw
09:35
<
freemangordon >
dsc_: BTW, why do you care about contacts management?
09:35
<
dsc_ >
osso-abook-tmc257
09:36
<
freemangordon >
everything is (should) already implemented in addressbook, what are you trying to reinvent?
09:37
<
freemangordon >
osso-abook-tmc257 is temporary uid, seems this is some online account addressbook
09:37
<
freemangordon >
perhaps you can get master uid from it
09:41
<
dsc_ >
so im keeping state on conversations side of some abook things
09:41
<
dsc_ >
and using the various signals to update this state
09:42
<
dsc_ >
with state I mean a roster
09:43
<
dsc_ >
I have not looked at this abook code for a while but I'm guessing its because 1) I was having trouble with the abook interface to query for things 2) performance
09:45
<
Wizzup >
I think osso-abook is in-process
09:45
<
Wizzup >
well, the abook lib
09:45
<
Wizzup >
so not sure what the performance hit would be, there's no ipc yeah?
09:46
<
dsc_ >
Qt asking abook various things, and the lib iterating the whole roster each time
09:47
<
dsc_ >
and then Wizzup gets a frozen conversations when an account goes online/offline ;)
09:50
<
dsc_ >
osso-abook is not a fun library to interface with
09:50
<
dsc_ >
but right now I want to focus on this ID
09:52
<
Wizzup >
I can't think of any C library that is fun to interface with ;)
09:53
<
Wizzup >
we'll get our AI overlords to rewrite everything in rust for us
09:53
<
dsc_ >
no its fine but we are in Qt not gtk
09:53
<
dsc_ >
this adds another layer of translation
09:54
<
dsc_ >
both eventloops, both emit signals, gtk signals need to go to Qt etc.
09:54
<
dsc_ >
i dont have an issue with C :P
09:55
<
dsc_ >
s/gtk/glib/g
09:56
<
dsc_ >
and another issue while im ranting
09:56
<
dsc_ >
sometimes its hard to map my UIDs (from Tp, rtcom) to what is in abook
09:57
<
dsc_ >
^-- a bit crazy imo
09:57
<
dsc_ >
I only want some contact attributes ya know :P
09:58
<
dsc_ >
anyway yes `osso-abook-tmc257` is not the right uid for me
09:59
<
dsc_ >
is there a way to get such a tmp. uid from an OssoABookContact* ?
10:00
<
dsc_ >
this clears the table using this uid
10:00
<
dsc_ >
so it must be set somewhere
10:06
Smatkovi1 has joined #maemo-leste
10:06
<
Smatkovi1 >
sudo 0xFFFF -F no-force-power-key
10:06
<
Smatkovi1 >
that did the trick, now i can use ubiboot :D
10:08
kiva has joined #maemo-leste
10:08
<
Smatkovi1 >
oh, i only see kernel messages from maemo-leste, harmattan still shows a black screen :/
10:09
<
Smatkovi1 >
maybe the partition for maemo is better with ubiboot
10:12
<
kiva >
does it look like that screen backlight is on?
10:13
<
Smatkovi1 >
yes the backlight stays on
10:13
<
Smatkovi1 >
the leste kernel didn't find the partition so it turned off
10:18
<
kiva >
so ubiboot might be better (I dont know really)
10:23
pere has quit [Ping timeout: 260 seconds]
10:24
<
kiva >
wait..from elinux page: "Watch the screen. It will go dark. If it blinks, it is a good sign. You may want to check with flashlight, maybe there's almost invisible text there. "
10:29
<
Smatkovi1 >
so for meego the backlight stays on forever, but nothing else for maemo i think it cannot find the partition 4 and turns off
10:35
<
Smatkovi1 >
yes after trying to boot maemo i only have to press the powerbutton briefly and it turns on, so it turned off
10:37
<
Smatkovi1 >
yes that's the way i'm trying it right now
10:51
kiva has quit [Quit: killing zombies]
10:51
_fab has quit [Quit: _fab]
11:05
<
freemangordon >
dsc_: I there is no performance hit of using abook, as it already does everything behind the scenes, no matter if you use it or not. So, instead of reinventing the wheel, please share what exactly your issues with abook are and I'll try to help
11:06
<
freemangordon >
implementing in qt what abook already does in glib does not make sense to me
11:11
pere has joined #maemo-leste
11:14
<
Wizzup >
freemangordon: I think we need the contact selector widget/popup
11:14
<
Wizzup >
that would be a great addition
11:14
<
Wizzup >
and then 'new contact' and 'merge with contact'
11:16
<
dsc_ >
freemangordon: not reinventing, im merely constructing a wheel because I have offered none
11:16
<
dsc_ >
because I was not offered one*
11:17
<
dsc_ >
we can go into a lengthy redesign of the API if you want
11:17
<
dsc_ >
from conversations I just need simple things like presence, avatar, vcard attrs
11:18
<
dsc_ >
so preferably this API has such functions that take a UID, thats it :P
11:18
<
Wizzup >
if we change the api then we have also have to change all other maemo sw fwiw
11:23
<
freemangordon >
dsc_: and you already have those
11:23
<
freemangordon >
which one is missing?
11:25
<
dsc_ >
its 500 lines
11:26
<
dsc_ >
I think it could be 20 lines in total
11:26
<
dsc_ >
if those functions existed
11:26
<
dsc_ >
why do I need to loop contacts with an aggregator
11:27
<
dsc_ >
I already have some sort of UID from either tp or rtcom
11:27
<
freemangordon >
do you really ask me if I have ever seen abook code?
11:29
<
dsc_ >
to get ... an avatar
11:30
<
dsc_ >
instead it could be `gchar* path = get_avatar(uid)`
11:30
<
dsc_ >
(just an example)
11:31
<
dsc_ >
note that most of these functions call `get_im_contact`
11:31
<
dsc_ >
which iterates
*all* contacts
11:31
<
freemangordon >
why?
11:32
<
dsc_ >
to get the correct `OssoABookContact* contact`
11:32
<
freemangordon >
there is no better function?
11:32
<
dsc_ >
maybe there is
11:32
<
freemangordon >
I bet on that
11:32
<
freemangordon >
me?
11:32
<
dsc_ >
sure, but preferably this API doesnt require handholding from fmg
11:32
<
dsc_ >
from a coding perspective
11:33
<
freemangordon >
yes, there is documentation
11:33
<
freemangordon >
and source code also
11:34
<
dsc_ >
Qt likes to spam all kind of calls in some scenarios, which means such abook functions get called often, and you can see how this iteration becomes problematic
11:34
<
freemangordon >
sure
11:34
<
dsc_ >
in addition I recall Telegram CM being really spammy
11:34
<
freemangordon >
it makes no sense to iterate over and over
11:34
<
dsc_ >
account comes online = avatar-changed notify for that whole roster
11:34
<
freemangordon >
but, I am sure there is a better function you can use
11:35
<
freemangordon >
no, you need to wait for contact changes
11:35
<
freemangordon >
IIRC
11:35
<
dsc_ >
yes contact-changed actually
11:35
<
dsc_ >
or maybe both
11:35
<
freemangordon >
WTYM "whole roster"?
11:37
<
freemangordon >
in 'contact changed' you get only changed contacts, as OssoABookContact*
11:37
<
dsc_ >
ok so regarding my use of this singleton `ROSTER`
11:37
<
dsc_ >
im fine with getting rid of it
11:38
<
dsc_ >
but please, you'll have to accommodate any issues that arise from that
11:38
<
freemangordon >
still, I don't understand what you want to achieve and what abook lacks
11:39
<
dsc_ >
I want to retreive attributes from a contact
11:39
<
dsc_ >
given an UID
11:39
<
dsc_ >
in the least possible amount of code
11:39
<
freemangordon >
ok, lemme see
11:40
<
freemangordon >
by attributes you mean? avatar? presence?
11:40
<
dsc_ >
we can decide what this UID must be
11:40
<
freemangordon >
what else?
11:40
<
dsc_ >
subscribed, published state
11:41
<
dsc_ >
osso_abook_contact_get_blocked et al
11:41
<
dsc_ >
display name
11:41
<
freemangordon >
but again, we have 2 types of uids - master UID (that's the one in EDS) and roster UID
11:42
<
freemangordon >
I assume you want master UID, right?
11:42
<
freemangordon >
contact for master UID I mean
11:42
<
freemangordon >
and you have roster uid I assume
11:42
<
dsc_ >
I dont know.
11:42
<
dsc_ >
I have UIDs from tp
11:42
<
freemangordon >
no, you dont; have UID from tp
11:42
<
dsc_ >
const QString &local_uid, // e.g idle/irc/myself
11:42
<
dsc_ >
const QString &remote_uid, // e.g cool_username (counterparty)
11:42
<
dsc_ >
const QString &group_uid, // e.g idle/irc/myself-##maemotest
11:42
<
freemangordon >
this is not UID
11:43
<
dsc_ >
right, its rtcom jargon
11:43
<
freemangordon >
so, you have remote account
11:43
<
freemangordon >
correct?
11:43
<
dsc_ >
im not sure. Tp might be offline but I still want to request things from abook
11:43
<
dsc_ >
at that point I have data from either rtcom or the state db
11:44
<
freemangordon >
ok, but then what is the thing used to identify the remote account? remote_id?
11:45
<
dsc_ >
no the account is local_uid
11:45
<
dsc_ >
remote_uid is the counterparty
11:45
<
freemangordon >
wait, it is 'your' account
11:45
<
dsc_ >
with account I mean Tp account
11:46
<
freemangordon >
so, you want properties of local or remote party?
11:46
<
freemangordon >
or both?
11:47
<
dsc_ >
it would be nice if I could supply this:
11:47
<
dsc_ >
- gabble/jabber/vm_40xmpp_2ekroket_2eio0
11:47
<
dsc_ >
- gajim@xmpp.kroket.io
11:48
<
freemangordon >
those being? local_id and remote_id?
11:48
<
freemangordon >
or?
11:48
<
dsc_ >
alltho on your end, I'm not sure if you can easily get such strings
11:48
<
Wizzup >
don't we have osso_abook ids in rtcom somewhere?
11:48
<
freemangordon >
yes, we have them
11:48
<
freemangordon >
at least we should
11:48
<
dsc_ >
on your end its
11:48
<
dsc_ >
tp_account_get_cm_name
11:48
<
dsc_ >
tp_connection_get_protocol_name
11:48
<
dsc_ >
and maybe some more
11:49
<
dsc_ >
this only works if there is a connection
11:49
<
dsc_ >
and im not sure if this is saved in the ebook
11:49
<
freemangordon >
IIRC, Wizzup is right and you have abook master UID in rctom db
11:49
<
freemangordon >
*rtcom
11:49
<
freemangordon >
at least you should
11:50
<
Wizzup >
that might not be the case for transient contacts (i.e. only there when online)
11:51
<
dsc_ >
freemangordon: looks like I'm saving an abook UID in rtcom yes
11:51
<
dsc_ >
its manually constructed
11:51
<
dsc_ >
const QString abook_uid = this->local_uid + "-" + remote_uid;
11:52
<
freemangordon >
hmm, I think it should not be like that
11:52
<
Wizzup >
dsc_: hm, I'm not sure if we should construct that manually, did I do that? :D
11:53
<
dsc_ >
yes I'm also not sure if this is valid
11:53
<
Wizzup >
I think normally abook creates these
11:53
<
freemangordon >
I think what shall happen is, when you insert into rtcom db, you should put abook master uid there
11:53
<
dsc_ >
upon new message, how to get that abook master uid?
11:53
<
freemangordon >
well, why on new message?
11:53
<
freemangordon >
you should get it on start of conversation
11:54
<
freemangordon >
I doubt it changes for the conversation lifetime
11:54
<
freemangordon >
lemme check what abook has to say about it
11:54
<
dsc_ >
rtcom chat message insertion has `remote_ebook_uid` that we set
11:55
<
freemangordon >
what does it contain?
11:55
<
dsc_ >
const QString abook_uid = this->local_uid + "-" + remote_uid;
11:55
<
freemangordon >
uhuh
11:55
<
freemangordon >
Wizzup: where did you get ^^^ from?
11:56
<
dsc_ >
thats probably me
11:56
<
dsc_ >
and I dont know
11:56
<
freemangordon >
ok, lemme check what we have in fremantle
12:00
<
freemangordon >
yes, I think we have uids
12:00
<
Wizzup >
looks like it was added by me in 98c27067c54b0d8eab9b82666d1210c4573e95f8
12:00
<
Wizzup >
but I wrote
12:00
<
Wizzup >
+ abook_uid = osso_abook_contact_get_uid(contact);
12:01
<
Wizzup >
based on osso_abook_contact_get_display_name's result
12:01
<
freemangordon >
but iirc rtcom db has a special column for abook_id, no?
12:02
<
Wizzup >
this was added in this mega commit ebdb07e6a35a9d6134ff0bea2d5f1330e5122337
12:02
<
freemangordon >
return (const char *) e_contact_get_const (E_CONTACT (contact), E_CONTACT_UID);
12:02
<
freemangordon >
so, this is EDS contact ID
12:02
<
freemangordon >
which makes sense
12:03
<
Wizzup >
'this was added' being the hardcoding of the ids
12:04
<
freemangordon >
dsc_: where is that code 'const QString abook_uid = this->local_uid + "-" + remote_uid;'?
12:05
<
dsc_ >
log_event() gets called from onMessageReceived
12:06
<
dsc_ >
im not sure which column that is in el-v1.db
12:06
<
dsc_ >
im looking :P
12:07
<
freemangordon >
Wizzup: I don't see osso_abook_contact_get_uid() being called in current master
12:08
<
Wizzup >
I was just saying that it was when I first added the code
12:08
<
freemangordon >
mhm
12:09
<
dsc_ >
did fremantle have this format?
12:12
<
freemangordon >
dsc_: you are logging invalid abook id, trying to find which commit broke that
12:13
<
freemangordon >
seems will have to bisect, gimme some time
12:13
<
Wizzup >
I provided the id ebdb07e6a35a9d6134ff0bea2d5f1330e5122337
12:14
<
freemangordon >
yes, I know
12:14
<
freemangordon >
but I am trying to find which commit removed it
12:14
Smatkovi1 has quit [Quit: Leaving.]
12:14
<
dsc_ >
i think this
12:14
<
dsc_ >
oh what broke it
12:15
<
freemangordon >
bisect will tell us
12:16
<
dsc_ >
yes ebdb07e6a35a9d6134ff0bea2d5f1330e5122337 I think
12:17
<
freemangordon >
Wizzup: oh, sorry, I didn;t understand this is the 'bad' commit
12:19
<
freemangordon >
dsc_: so yeah, you should restore that code, and you'll get the id you need from rtcom db
12:20
<
freemangordon >
also, you can use the same functions to lookup for contact uid
12:21
<
freemangordon >
also, see osso-abook-aggregator-lookup()
12:21
<
freemangordon >
and osso-abook-aggregator-resolve-master-contacts
12:22
<
freemangordon >
please ping me if anything else is missing
12:23
<
freemangordon >
you can also use osso_abook_contact_get_master_uids() and osso_abook_contact_get_account()
12:25
<
dsc_ >
I will remove ROSTER and we'll fix anything that comes up
12:25
<
freemangordon >
see osso_abook_aggregator_find_contacts_for_im_contact()
12:26
<
freemangordon >
I am not sure what is ROSTER here, but yeah, removing code is always good :)
12:27
<
freemangordon >
dsc_: btw, while at it, I don;t think you should resolve TpAccount (or username or whatever remote id) on every incoming message
12:27
<
freemangordon >
doing it once on start of conversation and caching it should be enough
12:29
<
dsc_ >
what do you mean 'not resolve TpAccount on every incoming message'
12:29
<
freemangordon >
not call osso_abook_aggregator_find_contacts_for_im_contact() every time
12:30
<
dsc_ >
yes thats what will happen
12:30
<
dsc_ >
how can I stop that?
12:30
<
freemangordon >
just call it once in the conversation start
12:30
<
freemangordon >
and cache it in a map <remote_uid -> abook_uid>
12:30
<
freemangordon >
or somesuch, I may miss some details
12:31
<
dsc_ >
you mean, iterate the roster on startup
12:31
<
freemangordon >
why iterate?
12:31
<
freemangordon >
you have osso_abook_aggregator_find_contacts_for_im_contact()
12:31
<
dsc_ >
not following
12:31
<
dsc_ >
incoming message -> need to check counterparty abook_uid
12:31
<
freemangordon >
you need abook remote id, right?
12:31
<
freemangordon >
right
12:32
<
dsc_ >
yes, I can cache it
12:32
<
dsc_ >
but on startup?
12:32
<
freemangordon >
conversation startup I mean
12:32
<
freemangordon >
like, when you start a new chat
12:32
<
freemangordon >
though, wait, lemme check how expensive that is (calling it every time)
12:34
<
freemangordon >
yeah, it is expensive
12:34
<
freemangordon >
so you'd better call it only once per chat attendee
12:35
<
freemangordon >
dsc_: one more thing: you can call osso_abook_aggregator_find_contacts_for_im_contact() with either TpAccount or id
12:35
<
freemangordon >
but I guess you don;t have TpAccount in tp-qt
12:37
<
Wizzup >
well we have a tp account but not the glib version of it
12:37
<
freemangordon >
mhm. though, iirc you can get glib version from tp version
12:37
<
freemangordon >
as tp-qt works on top of tp-glib
12:38
<
dsc_ >
I'm not sure how that casting is done but yes I can probably reach it
12:38
<
freemangordon >
it should not be any faster
12:39
<
freemangordon >
if you have remote_id, that's perfectly fine to pass to osso_abook_aggregator_find_contacts_for_im_contact()
12:40
<
freemangordon >
actually,
*do not* pass TpAccount, unless you got it from some abook function
12:41
<
freemangordon >
also, if you want to do some advanced search, see osso_abook_aggregator_find_contacts_full()
12:41
<
dsc_ >
ah yes I remember now
12:42
<
freemangordon >
hmm?
12:43
<
dsc_ >
so initially tp.cpp used
12:43
<
dsc_ >
contact = conv_abook_lookup_tel(remote_uid.toLocal8Bit());
12:43
<
dsc_ >
abook_uid = osso_abook_contact_get_uid(contact);
12:43
<
dsc_ >
(or _lookup_im)
12:43
<
dsc_ >
but this remote_uid is not unique
12:44
<
Wizzup >
not unique in what sense?
12:44
<
dsc_ >
its unique on a per CM basis
12:44
<
dsc_ >
remote_uid = e.g cool_username (counterparty)
12:44
<
dsc_ >
so with 2 CMs with 2 users with the same name
12:44
<
Wizzup >
right, but the lookup_tel in this case makes sure it's a telno (specific to a cm)
12:45
<
Wizzup >
I'm not sure what the other lookups look like
12:45
<
dsc_ >
same process for im
12:45
<
Wizzup >
is it lookup_im ? does it take other params?
12:45
<
freemangordon >
no, it takes remote username
12:45
<
freemangordon >
or rather, account id
12:45
<
dsc_ >
thats why this check is here currently
12:46
<
dsc_ >
(disregard the manual construction of persistent uid, yes its hacky)
12:46
<
Wizzup >
yeah, account id and remote_id is enough
12:46
<
dsc_ >
the point is that the aggregator can return multiple results
12:47
<
dsc_ >
ok anyway not an issue
12:47
<
dsc_ >
just pointing out this was broken in the initial code :P
12:47
<
freemangordon >
dsc_: so, lemme try to share what I know about those ids:
12:47
<
freemangordon >
we have 'master id', which is the contact id in EDS address book
12:48
<
freemangordon >
we also have 'roster id', which is the id in the roster, but again, it is EDS id
12:48
ungeskriptet has quit [Remote host closed the connection]
12:49
<
freemangordon >
we also have 'temporary id' which might be another name for 'roster id'
12:49
<
freemangordon >
so, when you want a contact, which exactly contact do you need?
12:49
<
freemangordon >
master or roster?
12:49
<
freemangordon >
I guess master, right?
12:49
ungeskriptet has joined #maemo-leste
12:50
<
Wizzup >
I think the point is that a remote_uid from rtcom is not enough to unique identify a contact
12:50
<
freemangordon >
at least in rtcom db you
*must* put master uid
12:50
<
dsc_ >
freemangordon: im about to use `osso_abook_contact_get_uid()` to get the UID and preferably this thing I use to communicate further with abook
12:50
<
Wizzup >
you can have a fmg on xmpp, fmg on irc, fmg on facebook, etc
12:50
<
freemangordon >
Wizzup: right
12:50
<
Wizzup >
remote_uid is not unique here -I think-
12:50
<
Wizzup >
but I'm also hazy on this
12:51
<
freemangordon >
it is not
12:51
<
dsc_ >
Wizzup: its not an issue, I can obtain TpAccount from an OssoAbookContact*
12:51
<
dsc_ >
and compare it to my own local_uid
12:51
<
freemangordon >
why do you need it?
12:51
<
dsc_ >
to ensure the remote_uid is part of a specific Tp account
12:51
<
freemangordon >
wait, what? your local id has nothing to do with TpAccount of remote contact
12:52
<
dsc_ >
sorry I mean the UID of the tp account
12:52
<
freemangordon >
this is already done
12:52
<
freemangordon >
sec
12:52
<
dsc_ >
are we still talking about osso_abook_aggregator_find_contacts_for_im_contact() ?
12:53
<
freemangordon >
yes
12:53
<
dsc_ >
yes, it takes remote_uid, and yes it could return several users (from different CMs) but I can match that somehow, right?
12:53
<
freemangordon >
CMs has nothing to do here
12:53
<
freemangordon >
it may return several
*master* contacts
12:54
<
freemangordon >
as you may have your master contacts 'fmg1' and 'fmg2', both having the same irc im account
12:55
<
freemangordon >
it has nothing to do with TP, CMs or whatever
12:55
<
freemangordon >
this is your addressbook which may have duplicated data
12:55
<
freemangordon >
and I don't think you can tell which master contact is 'more correct'
12:56
<
freemangordon >
so, just take the first one and call it a day
12:56
<
dsc_ >
i dont like that :P
12:56
<
freemangordon >
as your comparison will match it anyway
12:56
<
freemangordon >
do you understand the ^^^ example?
12:56
<
dsc_ >
if someone is called 'bob' on IRC it will also match with another 'bob' from XMPP
12:56
<
dsc_ >
when I call osso_abook_aggregator_find_contacts_for_im_contact for bob
12:56
<
dsc_ >
it will return 2 bobs
12:57
<
freemangordon >
this is account name + CM name search
12:57
<
freemangordon >
or rather, match on vcard field
12:58
<
dsc_ >
osso_abook_aggregator_find_contacts_for_im_contact(OssoABookAggregator *aggregator, const char *username, McAccount *account);
12:58
<
dsc_ >
what is McAccount here?
12:58
<
dsc_ >
how do I use it?
12:58
<
freemangordon >
TpAccount
12:58
<
freemangordon >
*do not* use it
12:58
<
freemangordon >
as you don;t have TpAccount returned from abook
12:59
<
dsc_ >
i dont understand sorry
12:59
<
dsc_ >
I shall call osso_abook_aggregator_find_contacts_for_im_contact with only a username?
12:59
<
dsc_ >
and in our case, this is remote_uid from Tp
13:00
<
dsc_ >
which could be a common name
13:00
<
freemangordon >
TpAccount * is a pointer to TpAccount object
13:00
<
freemangordon >
no, you don;t call with username only
13:00
<
freemangordon >
you need the full bound name
13:00
<
freemangordon >
sec
13:01
joerg has quit [Excess Flood]
13:01
<
freemangordon >
dsc_: ok, how do you choose an account to start conversation with?
13:01
<
freemangordon >
or, this is not implemented currently
13:02
<
dsc_ >
via abook (GUI) or "send message" (conversations GUI)
13:02
<
Wizzup >
send message in conversations gui is wip and needs abook ui
13:02
<
Wizzup >
basically via abook (GUI) is the current way
13:03
<
freemangordon >
but that's not a must to be able to get abook contact from account
13:03
joerg has joined #maemo-leste
13:03
<
freemangordon >
so, now you receive the remote account name from abook, right?
13:04
<
dsc_ >
are you asking about the mechanism
13:05
<
dsc_ >
how chats get started if initiated from abook?
13:05
<
freemangordon >
dsc_: scratch that, I think I know what shall be done
13:05
<
dsc_ >
because in that case IIRC I just receive a new TextChannel out of nowhere
13:05
<
freemangordon >
so, you need to get TpPtotocol object somehow
13:06
<
freemangordon >
(or whatever it is called in tp-qt)
13:06
<
freemangordon >
you can get that from the remote account object
13:06
<
Wizzup >
dsc_: not out of nowhere, we register a handler to deal with textchannels :)
13:06
<
freemangordon >
dsc_: btw, do you have the remote_id example somehwere?
13:07
<
Wizzup >
you can get them from your db
13:07
<
freemangordon >
like, what does it look like?
13:07
<
Wizzup >
select distinct remote_uid from events;
13:07
<
freemangordon >
no, I mean the remote_id that comes with 'new message' signal
13:07
<
dsc_ >
auto remote_uid = message.sender()->id();
13:07
<
freemangordon >
mhm
13:07
<
dsc_ >
const Tp::ReceivedMessage &message
13:07
<
freemangordon >
what does it look like?
13:08
<
freemangordon >
heh
13:08
<
Wizzup >
is it also without the fqdn on xmpp?
13:08
<
Wizzup >
I am not so sure if that is the case
13:08
<
Wizzup >
it should be with fqdn on xmpp
13:08
<
freemangordon >
it should be with some more data
13:08
<
Wizzup >
but thre is no uniqueness guarantee
13:08
<
freemangordon >
there is
13:08
<
freemangordon >
in terms of CM
13:08
<
Wizzup >
within the cm yes
13:09
<
dsc_ >
in the case of XMPP it is e.g `gajim@xmpp.host.tld`
13:09
<
freemangordon >
ah, right
13:09
<
dsc_ >
for IRC it is 'freemangordon'
13:09
<
freemangordon >
but you don;t have contacts for irc anyway
13:09
<
freemangordon >
so irc can be ignored here
13:10
<
freemangordon >
in irc you don;t have roster
13:10
<
freemangordon >
only rooms
13:10
<
dsc_ >
you say I need a TpProtocol
13:10
<
dsc_ >
but I dont think so?
13:10
<
freemangordon >
right, you don;t need
13:10
<
dsc_ >
what about calling `osso_abook_aggregator_find_contacts_for_im_contact` with only an username
13:10
<
dsc_ >
then iterate those OssoAbookContact*s
13:11
<
dsc_ >
then grab TpAccount from that
13:11
<
freemangordon >
no, you should provide the full remote_id
13:11
<
freemangordon >
but only when you have a roster
13:11
<
dsc_ >
yes im providing a full remote_id :P
13:11
<
freemangordon >
but CM is not roster capable
13:12
<
freemangordon >
so it makes no sense to try to resolve remote_id to contact if there is no roster
13:12
<
dsc_ >
and those that are roster capable will have fqdn
13:13
<
dsc_ >
is what you are saying
13:13
<
freemangordon >
exactly
13:13
<
freemangordon >
also, I think you can use TpHandle
13:13
<
freemangordon >
but not sure that is useful for abook
13:13
<
freemangordon >
lied as in?
13:14
<
dsc_ >
I said that there will be many bobs, but the bobs are fqdn unique
13:14
Daanct12 has quit [Quit: WeeChat 4.7.1]
13:14
<
freemangordon >
mhm
13:14
<
freemangordon >
this is what Wizzup said ^^^
13:14
<
freemangordon >
still, you may receive more then one master contact for bob@fqdn
13:14
<
freemangordon >
but you don;t care for anyone but the first
13:15
<
freemangordon >
it is not your job do decide which is the correct bob
13:15
<
freemangordon >
*to
13:15
<
freemangordon >
we had 'contacts merger' in fremantle
13:16
<
freemangordon >
which was fixing exactly such issues
13:16
<
freemangordon >
shall port it to leste someday
13:17
<
freemangordon >
still, we may miss some corner cases, but lets hit them, will solve on as-needed basis
13:18
<
freemangordon >
dsc_: actually, you can do even better:
13:18
<
freemangordon >
instead of trying to get remote contact on conversation start, just do it in 'new message' and cache it
13:19
<
freemangordon >
like, if remote_id is not already resolved to contact, call osso_abook_aggregator_find_contacts_for_im_contact() and cache the result
13:19
<
freemangordon >
next time just use the cached value
13:19
<
freemangordon >
or values (like name, whatever)
13:20
<
freemangordon >
also, you really want to display the master contact name in the chat, agree?
13:20
<
freemangordon >
NP, ping me if anything
13:20
xmn_ has joined #maemo-leste
13:20
xmn has quit [Ping timeout: 248 seconds]
13:21
<
dsc_ >
i dont know?
13:21
<
dsc_ >
for now I'm going to ensure the correct abook uid gets into rtcom
13:22
<
dsc_ >
name retreival is the next part
13:22
<
freemangordon >
you get it for free once you have the master contact
13:23
<
freemangordon >
osso_abook_contact_get_display_name() :)
13:23
xolitude has joined #maemo-leste
13:23
xolitude has left #maemo-leste [#maemo-leste]
13:25
<
freemangordon >
and the same for avatar
13:26
<
Wizzup >
15:21 < dsc_> for now I'm going to ensure the correct abook uid gets into rtcom
13:26
<
Wizzup >
just stating the obvious, this won't be true for the ones inserted by conversations with the previous code
13:26
<
freemangordon >
yeah
13:26
<
dsc_ >
yes, that
*may* cause crashes actually
13:26
<
freemangordon >
that will affect the history in the addressbook
13:26
<
dsc_ >
however, its fixable
13:28
<
dsc_ >
(i hope, will see)
13:32
Smatkovi has quit [Ping timeout: 248 seconds]
13:36
xmn_ is now known as xmn
13:41
<
dsc_ >
freemangordon: about this caching, are you suggesting to do this for most things?
13:41
<
dsc_ >
because thats what ROSTER essentially was
13:43
<
dsc_ >
nvm, will focus on abook uid for now (and display name)
13:43
<
dsc_ >
continue tomorrow :P
13:50
arno11 has joined #maemo-leste
13:51
<
dsc_ >
for remote_uid 'gajim@xmpp.kroket.io' I received 'osso-abook-tmc257' via 'osso_abook_contact_get_uid'
13:52
<
dsc_ >
suppose thats ok
13:53
<
dsc_ >
we can fix the previous erroneous entries if its always like that
14:05
arno11 has left #maemo-leste [#maemo-leste]
14:11
arno11 has joined #maemo-leste
14:27
_fab has joined #maemo-leste
14:31
Gary_M has quit [Quit: Leaving]
14:32
Gary_M has joined #maemo-leste
14:49
<
freemangordon >
dsc_: no, you should use osso_abook_aggregator_find_contacts_for_im_contact()
14:49
<
freemangordon >
to get the master uid
14:49
<
freemangordon >
oh, wait
14:50
<
freemangordon >
you may not have master id
14:52
<
freemangordon >
but still, that should be ok, though, we have to check what fremantle logs in case of temporary id
14:52
<
freemangordon >
dsc_: there is osso_abook_is_temporary_uid()
14:53
<
freemangordon >
it seems it logs temporary uid
14:55
<
freemangordon >
anyway, you still shall use use osso_abook_aggregator_find_contacts_for_im_contact() to get the master contact, if any
14:55
<
freemangordon >
or maybe there is a better (faster) function, to get master contact from roster one
14:55
<
freemangordon >
have to run now, will look at it later
14:57
<
freemangordon >
osso_abook_contact_get_persistent_uid()
14:58
<
freemangordon >
not sure, bbl
15:13
arno11 has quit [Quit: arno11]
15:29
inky has quit [Ping timeout: 255 seconds]
15:30
PieSen has quit [Ping timeout: 248 seconds]
15:34
<
freemangordon >
do you have a contact in addressbook for 'gajim@xmpp.kroket.io' ? offline one that is
15:36
<
freemangordon >
uh, actually 'osso-abook-tmc257'
*is* master contact, albeit temporary
15:37
<
freemangordon >
so yeah, it is okay to insert that id in rtcom DB
15:40
<
freemangordon >
dsc_: so, create an entry in your addressbook which has 'gajim@xmpp.kroket.io' as xmpp address
15:40
<
freemangordon >
then you should start receiving that master contact id for 'gajim@xmpp.kroket.io'
15:42
<
freemangordon >
that's the theory
15:43
<
freemangordon >
so, first, make sure you have entries in rtcom db with 'osso-abook-tmc257' as abook_id
15:43
<
freemangordon >
then, from addressbook history, create persistent contact for that roster contact
15:44
<
freemangordon >
and then you should start receiving persistent contact id for 'gajim@xmpp.kroket.io'
15:44
<
freemangordon >
if not, LMK
16:01
Livio has quit [Ping timeout: 272 seconds]
16:07
Twig has joined #maemo-leste
16:28
apac has quit [Quit: Konversation terminated!]
16:42
<
freemangordon >
Wizzup: hmm... I don;t see abook_id in events table
16:43
<
freemangordon >
oh, it is in Remotes table
16:44
Gary_M has left #maemo-leste [#maemo-leste]
16:44
Gary_M has joined #maemo-leste
16:44
Gary_M has left #maemo-leste [#maemo-leste]
16:44
Gary_M has joined #maemo-leste
16:44
Gary_M has left #maemo-leste [#maemo-leste]
16:44
Gary_M has joined #maemo-leste
16:44
<
freemangordon >
dsc_: so, if uid is temp, do not log it, use NULL instead
16:44
<
freemangordon >
this is what fremantle does it seems
17:36
Gary_M has quit [Ping timeout: 248 seconds]
17:56
Gary_M has joined #maemo-leste
18:00
Gary_M has quit [Client Quit]
18:08
Gary_M has joined #maemo-leste
18:26
Gary_M has quit [Ping timeout: 248 seconds]
18:30
Gary_M has joined #maemo-leste
18:32
Wizzup has quit [Read error: Connection reset by peer]
18:43
Wizzup has joined #maemo-leste
20:03
ikmaak2 has quit [Ping timeout: 256 seconds]
20:04
ikmaak has joined #maemo-leste
20:16
Twig has quit [Remote host closed the connection]
20:19
arno11 has joined #maemo-leste
20:32
<
arno11 >
sicelo: btw when you tried cloudgps on D4 the window was like 800x480, right ?
20:33
<
arno11 >
i mean, not smaller ?
20:33
<
Gary_M >
Is there a working camera app for daedalus on tbe pinephone?
20:34
<
arno11 >
i think there are some devuan apps, kiva should know
20:37
<
Gary_M >
arno11: thanks! I've tried pinhole and no luck.
20:38
<
sicelo >
arno11: i think it was 800x480
20:48
inky has joined #maemo-leste
20:50
Gary_M has quit [Ping timeout: 248 seconds]
21:03
<
arno11 >
sicelo: ok, so it seems that D4 is recognised as N900 with #if defined(N900) macro
21:04
<
arno11 >
Gary_M: ah ok
21:16
Gary_M has joined #maemo-leste
21:27
Livio has joined #maemo-leste
21:53
Livio has quit [Ping timeout: 272 seconds]
21:54
arno11 has quit [Quit: arno11]
21:59
_fab has quit [Quit: _fab]
22:05
Anasko has joined #maemo-leste
22:06
freemangordon has quit [Ping timeout: 248 seconds]
22:06
lel has quit [Ping timeout: 248 seconds]
22:10
lel has joined #maemo-leste
22:22
freemangordon has joined #maemo-leste
22:22
retr0id has quit [Server closed connection]
22:23
retr0id has joined #maemo-leste
22:49
Gary_M has quit [Ping timeout: 260 seconds]
23:10
Gary_M has joined #maemo-leste