<Wizzup>
we have the Contacts application for this
ceene has quit [Ping timeout: 252 seconds]
<Wizzup>
but what we lacked was handling of invites and adding contacts/buddies, so that's good to have, but I don't think we need an additional contacts overview
hm has quit [Read error: Connection reset by peer]
<dsc_>
I need to open channels to these contacts to do any kind of presence stuff
<dsc_>
but ill verify that
<dsc_>
e.g I cannot receive an invitation if I didnt instance a contact
<dsc_>
instancing a contact creates an entry, etc.
<dsc_>
"receiving an invitation" is one of the many "states" a presence publication can be in
<dsc_>
presence publication request*
<dsc_>
but yeah ill check...
<sicelo>
16:02 < dsc_> since every chat application does? <<--- gajim and friends, yes, because there's no specialized contact management application. but on 'integrated' systems, e.g. even android, then yes, as Wizzup says, contact management is in contact application
<sicelo>
dsc_: nice work btw
<dsc_>
sicelo: yeah, true. but imo maybe not comparable as conversations is not managing the contacts (well, only accepting friend requests), its just caching stuff for display/UX purposes
<dsc_>
but I do agree that, if there is a dedicated addressbook, the contacts should be shown there
<dsc_>
so I shall remove the automatic filling from conversations
<Wizzup>
15:13 < dsc_> e.g I cannot receive an invitation if I didnt instance a contact
<Wizzup>
yes, that we'll have to do for sure
<dsc_>
sure
<freemangordon>
you can get contact list from abook
<freemangordon>
no need to manage you own addressbook
<freemangordon>
jut tell me what exactly do you need
<freemangordon>
and I'll provide you the code
<freemangordon>
but, as Wizzup said, rosters etc are matter of eds/tp/abook
<dsc_>
Telepathy has Tp::ContactManager for the roster
<freemangordon>
lemme check it
<dsc_>
by asking for contacts, you can check if there are pending invites
<dsc_>
if this logic is on the addressbook side, then addressbook needs to signal such invites to me somehow
<freemangordon>
gimme a minute to check what this class is doing
<dsc_>
so this is why I think conversations needs to implement the ContactManager
<dsc_>
ok
<dsc_>
next to invites, there's also presence "user is away"
<freemangordon>
so, why do you need from a contact?
<freemangordon>
s/why/what
<dsc_>
management of buddy list (allow/reject/block/remove), status (online/away), status message
<dsc_>
I have this currently
<dsc_>
we can move it to addressbook
<freemangordon>
online status is already implemented in abook
<dsc_>
sure, abook is just another tp client
<freemangordon>
no
<freemangordon>
it is not "just another tp client"
<dsc_>
?
<freemangordon>
as it integrates eds with tp (and few more things)
<freemangordon>
evolution data server
<freemangordon>
with telepathy
<dsc_>
which does what?
<freemangordon>
EDS is contacts (system addressbook)
<freemangordon>
telepathy is presence/rosters
<dsc_>
yes?
<dsc_>
so it listens to Tp
<freemangordon>
I am not sure how is contact blocking done in fremantle
<freemangordon>
sure
<dsc_>
conversations and abook are both tp clients, now we can move some logic to abook but this is a architecture decision
<freemangordon>
but, it already provides interfaces/classes like avatar and contact online status
<freemangordon>
no, no, it is not that simple
<dsc_>
in theory they can both listen to presence for example
<freemangordon>
wait
<freemangordon>
roster contact can be attached to master contact
<dsc_>
right
<dsc_>
ok
<freemangordon>
so, your GF (lets call it Lara) has master contact in addressbook, with few IM accounts connected to it
<dsc_>
i have no gf 😭
<freemangordon>
boyfriend the, does not matter :p
<freemangordon>
*then
<dsc_>
LOL
<dsc_>
yeah but I get it
<freemangordon>
so, when you receive a message from iamlara@jabber.com, you don't want to show her name/nick on jabbaer.com, but the name that's on master contact in addressbook
<dsc_>
this would be handled by conversations, yes?
<freemangordon>
remote invites?
<freemangordon>
and auth requests?
joerg has joined #maemo-leste
<dsc_>
in XMPP the correct term is "presence subscriptions"
<dsc_>
they are bi-directional
<freemangordon>
mhm
<dsc_>
"user X has asked to see your status"
<dsc_>
its basically a "buddy invite"
<freemangordon>
so yes, I think conversations should handle that
<freemangordon>
Wizzup: ^^^ correct?
<sicelo>
it's handled by Contacts iirc
<freemangordon>
I am not sure
<Wizzup>
I don't think it is handled by contacts in fremantle
<freemangordon>
right, I think it is handled by conversations
<Wizzup>
my vote would be to handle it in conversations, but fmg and I also discussed whether that should be its own standalone program (I think not for now due to lack of work involved and further complexity)
<sicelo>
i haven't played with this stuff recently on fremantle, but iirc it was Contacts, so that when you accept, a contact is saved
<Wizzup>
if it was handled by contacts I think it would work now :P
<freemangordon>
saving a contact might be a side-effect
<freemangordon>
sicelo: I don;t remember seeing anything "invite" related in abook/addressbook code
<dsc_>
I ask this, because in order to receive such invites, I need to implement the ContactManager
<dsc_>
which means maintaining a roster
<dsc_>
and it sounds like abook is already doing that anyway
<freemangordon>
I still don;t get it why you need a roster
<freemangordon>
like, what this roster is used for?
<freemangordon>
osso_abook_aggregator_find_contacts_for_im_contact() should do some job I guess
<freemangordon>
also, there is OssoABookRosterManager
<dsc_>
so I would iterate this OssoABookROster
<dsc_>
to check for invites
<freemangordon>
what for?
<freemangordon>
wait, there is no signal?
<dsc_>
how does conversations know that there is an invite?
<freemangordon>
there must be dbus signal
<freemangordon>
lemme check tp specs
<dsc_>
wait
<dsc_>
if conversations is open, and listening to such signals, then yes
<dsc_>
if droid4 is powered off
<dsc_>
and someone sends you an invite
<dsc_>
then there is no signal
<dsc_>
so then you iterate the roster
<dsc_>
and check for the invite
<dsc_>
when you go online
<freemangordon>
so, server does not queue those?
<freemangordon>
I don't believe that :)
<dsc_>
sorry it does
<dsc_>
its just that it doesnt send it multiple times
<dsc_>
so you cannot rely on signal alone
<freemangordon>
if you are offline, whom it is send the first time?
<dsc_>
when you go line, you'll receive it. Then you poweroff droid4, go back online, the server wont send this invite
<dsc_>
online*
<freemangordon>
sure, but you receive it at least once
<dsc_>
yes
<freemangordon>
so, it is a matter of storing that somehow
<dsc_>
no
<freemangordon>
why?
<dsc_>
because the remote can decline that invite in the meantime
<dsc_>
or remove it
<dsc_>
remote is source of truth
<freemangordon>
but you'll receive a signal for that too,no?
<freemangordon>
also, how is that different to :
<dsc_>
hmm
<freemangordon>
you receive a signal for invite and while navigating through the iface this invite is removed
<dsc_>
what about multiple clients :)
<freemangordon>
ah, you mean if you decline on another device
<dsc_>
yes, this is why it cannot be stored, I think
<dsc_>
but I would assume abook already has such logic, no?
<freemangordon>
but ok, if you have multiple devices, then what? all of them receive the signal, no?
<freemangordon>
abook has nothing to do with invites
<dsc_>
abook maintains a roster
<dsc_>
eh, it asks for a roster
<freemangordon>
no, server maintains a roster
<freemangordon>
yeah
<dsc_>
yes :P
<freemangordon>
actually it is not abook
<freemangordon>
but eds plugin
<dsc_>
and within this roster, contacts have a "publication status"
<freemangordon>
that creates EBook
<freemangordon>
no
<freemangordon>
but we can add, if needed
<dsc_>
i dont know if abook does this, yeah
<freemangordon>
sec, lemme check something
<dsc_>
for example, with XMPP you cannot see someone's online status without a friend request
<freemangordon>
yeah, we have it
<dsc_>
you have to accept eachothers status publication request
<freemangordon>
you will need osso_abook_waitable_call_when_ready() most probably
<dsc_>
does this influence the Qt eventloop?
pere has quit [Ping timeout: 252 seconds]
<freemangordon>
qt evenloop uses GMainLoop on linux :)
<freemangordon>
so you should not do anything special (in theory)
<dsc_>
alright
[TheBug] has quit [Ping timeout: 252 seconds]
fab_ has joined #maemo-leste
pere has joined #maemo-leste
Anasko has quit [Read error: Connection reset by peer]
System_Error has quit [Remote host closed the connection]
System_Error has joined #maemo-leste
Livio has joined #maemo-leste
akossh has joined #maemo-leste
[TheBug] has joined #maemo-leste
apac has quit [Ping timeout: 260 seconds]
arno11 has joined #maemo-leste
System_Error has quit [Remote host closed the connection]
System_Error has joined #maemo-leste
apac has joined #maemo-leste
System_Error has quit [Ping timeout: 260 seconds]
Anasko has joined #maemo-leste
System_Error has joined #maemo-leste
System_Error has quit [Remote host closed the connection]
System_Error has joined #maemo-leste
akossh has quit [Quit: Leaving.]
akossh has joined #maemo-leste
akossh has quit [Client Quit]
akossh has joined #maemo-leste
<arno11>
finally i'm not sure if a web browser is so important on N900 in 2024...with chatgpt-4 working fine on it and able (for example) to write/build its own gtk UI for my device. another world
<arno11>
i think we can make funny/crazy things with it on Leste
<arno11>
for example, if we grep most important things from irc logs + things from the user guide, then the AI could easely become a 'Leste virtual customer tech support agent' from conversations (just an idea)
apac has quit [Quit: Konversation terminated!]
Livio has quit [Remote host closed the connection]
Livio has joined #maemo-leste
Guest46 has joined #maemo-leste
arno11 has left #maemo-leste [#maemo-leste]
fab_ has quit [Quit: fab_]
Guest46 has quit [Client Quit]
Livio has quit [Ping timeout: 260 seconds]
<dsc_>
arno11: :)
<inky>
i wish someone who installed leste on xiaomi device would describe it at least in the wiki.
<inky>
i have no idea how is it possible to try to use it on some random device with open bootloader.