System_Error has quit [Remote host closed the connection]
DFP1 has joined #maemo-leste
DFP has quit [Remote host closed the connection]
System_Error has joined #maemo-leste
hm has quit [Remote host closed the connection]
xmn has joined #maemo-leste
System_Error has quit [Remote host closed the connection]
System_Error has joined #maemo-leste
System_Error has quit [Client Quit]
System_Error has joined #maemo-leste
DFP1 is now known as DFP
System_Error has quit [Remote host closed the connection]
System_Error has joined #maemo-leste
xmn has quit [Ping timeout: 276 seconds]
Anasko has quit [Remote host closed the connection]
Anasko has joined #maemo-leste
Anasko has quit [Ping timeout: 244 seconds]
joerg has quit [Ping timeout: 252 seconds]
joerg has joined #maemo-leste
hm has joined #maemo-leste
ceene has joined #maemo-leste
Anasko has joined #maemo-leste
<freemangordon> dsc_: is it conversations that fills the db or eds tp plugin?
<freemangordon> also, please LMK when you want to start with abook integration, so I can start working on abook<->qt integration
Anasko has quit [Remote host closed the connection]
Anasko has joined #maemo-leste
pere has quit [Ping timeout: 248 seconds]
pere has joined #maemo-leste
nela has quit [Quit: bye]
nela has joined #maemo-leste
xmn has joined #maemo-leste
apac has joined #maemo-leste
Anasko has quit [Remote host closed the connection]
Anasko has joined #maemo-leste
Anasko has quit [Remote host closed the connection]
Anasko has joined #maemo-leste
<dsc_> freemangordon: incoming messages are inserted by conversations into rtcom db
<dsc_> or just messages in general
<dsc_> for contact list (roster), it is not saved in rtcom but in `state.json` which is kinda like a cache
<dsc_> its just contacts
whatsupboy has joined #maemo-leste
<Wizzup> dsc_: I do have questions about this
<Wizzup> the saving of the contact roster
<Wizzup> I think we have this in abook/eds, so I don't think we need to save it elsewhere
<dsc_> you can think of it as "not being saved anywhere" :D
<dsc_> the reason I put them in cache is because
<dsc_> when you go online
<dsc_> you get a roster
<dsc_> so you may get 500 new entries in the overview
<dsc_> and pushes the normal stuff down
<dsc_> each time
<Wizzup> I don't really understand this, but I suspect when I start looking at it I will
<dsc_> when its in cache, its attached to a date
<dsc_> so the overview doesnt get spammed
<Wizzup> the contacts roster should be entirely tp/eds managed, and we just query it when we need it
<dsc_> well you are replying while I didnt even finish explaining
<dsc_> re-read what I said
<Wizzup> I did read it, I don't understand how contact lists/rosters affect the chats overview
<dsc_> contacts show up in the overview
<Wizzup> wait, since when?
<dsc_> since every chat application does?
<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
<dsc_> they show as messages (empty)
<dsc_> but ehh
<dsc_> ill check if its possible
<dsc_> because.........
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
<freemangordon> you can't do that with TP
<dsc_> ok
<freemangordon> you must use OssoABookContact
<dsc_> #include <libosso-abook/osso-abook.h>
<dsc_> ok
<freemangordon> wait
joerg has quit [Ping timeout: 260 seconds]
<dsc_> what version of Perl is this?
<freemangordon> perl?
<dsc_> sorry ill stop trolling
<dsc_> so ok
<dsc_> I can ask for status, online
<dsc_> thats fine
<dsc_> but the invites
<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
<dsc_> ok
<freemangordon> "X-TELEPATHY-BLOCKED", "X-TELEPATHY-SUBSCRIBED", "X-TELEPATHY-PUBLISHED"
<dsc_> yes
<dsc_> thats it
<freemangordon> sec, to see how are those mapped
<freemangordon> hmm, I don;t see eds plugin setting those
<freemangordon> perhaps I just don;t see it, lemme dig deeper
<dsc_> so from osso I will need
<dsc_> these friend requests
<dsc_> per Tp account
<dsc_> and you're saying I can iterate contacts through the osso API
<dsc_> which will give me those statuses
<dsc_> yeah its fine by me
<freemangordon> yeah, according to the theory
<freemangordon> perhaps you already have the requests as well
<freemangordon> but I am checking what data is attached
<dsc_> yes, I think it has this logic for pending, etc.
<freemangordon> mhm
<freemangordon> but, should do some tests to see how it appears in the vcard
<dsc_> this is very similar to my C++ for contactChanged
<freemangordon> sure, qt api is just a wrapper on top of glib
<freemangordon> glib api that is
<freemangordon> this is Perl 3.17
<freemangordon> lemme chek how tp-glib reports invites
<freemangordon> does it look familiar?
<dsc_> yes
<freemangordon> ok, lemme see if eds plugin cares about that
<dsc_> that's fine
<dsc_> as long as I can get these properties
<freemangordon> if it is missing, I can easily add it
Anasko has quit [Remote host closed the connection]
<freemangordon> no need to duplicate code
Anasko has joined #maemo-leste
<freemangordon> but will need some time to see what happens
<freemangordon> dsc_: hmm, you know what? you get tp handle from abook rosters list
<freemangordon> so I think you can create contact from that handle and ask it whatever you want
<dsc_> ah thats nice
<freemangordon> lemme check the api
<freemangordon> oh
<freemangordon> osso_abook_contact_get_blocked() :)
<dsc_> can_block, can_request_auth, reject_for_uid
<dsc_> so that looks OK
<freemangordon> yeah, looks like that;s itr
<freemangordon> not sure that works though
<freemangordon> in leste that is :)
<freemangordon> never been used
<dsc_> yes
<dsc_> but I rather have this in abook
<freemangordon> right
<dsc_> because for me its much easier to use this API
<freemangordon> sure
<freemangordon> that's the point :)
<freemangordon> despite being C
<dsc_> I have implemented in c++ right now
<dsc_> i was about to make a PR
<freemangordon> a pity
<dsc_> doesnt matter
<dsc_> well
<dsc_> i lost 10 days
<freemangordon> yeah, that's why "a pity"
<freemangordon> ok, I a running out of time now (guests are coming), will ping you tomorrow to see what exactly do you need in terms of functions etc
<dsc_> alright
<dsc_> thanks
<freemangordon> might even create a test qt app that calls abook
<freemangordon> and gives you the status of app contacts in an account
<dsc_> in the meantime ill try some things
<freemangordon> ok, see test applications in abook
<freemangordon> keep in mind aggregator/roster/etc are of type OssoABookWaitable
<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.