bbreezinNot sure if this is expected or not, I'm seeing AttributeError: 'NonBlockingTCP' object has no attribute 'ssl_errors' from connection_accepted() in master
lovetoxbbreezin, you have to install nbxmpp from git
lovetoxor use a nightly package
bbreezinahh okay, coded around that issue with try/catch to make it work for now
lovetoxpip3 install git+gitcloneurl
lovetoxif you dont know that already
bbreezintrying to look into issue #9092, the history mismatch issue. Just looks like the sqlite queries need to be filtering by account_id in the database, but they aren't already
lovetoxyes nice issue to start
lovetoxshould be relativily eas
lovetoxeasy
lovetoxbut there is a catch
lovetoxthe account_id field is only there since gajim_1.0
lovetoxso expect that many of these fields come back empty for people that use the same database since 0.16.9
lovetoxso the db query must be, accound_id is in (id, empty)
lovetoxthis is of course not correct sql syntax, just saying
bbreezingotcha, I should be able to test that case by just removing the account_id field in my database to simulate
lovetoxno you misunderstood
lovetoxah no
lovetoxif you mean by field, the value in the field its ok
lovetoxyou dont need to remove the column, it will always be there, because migration adds it the first time someone start gajim 1.0
lovetoxit just will be empty
bbreezinI can delete the account_id field in my gajim_1.0 db to simulate an older db, no?
bbreezinoh ok
bbreezinjust the values
lovetoxand yes thats a good way to test this
bbreezincurrently trying to figure out where to get the actual account_id when populating that listview on the history window
lovetoxlook at the logger.py module
lovetoxthere we do the db querys
lovetoxyou have to adjust the db query, than it will automatically return a named tuple that includes the new column
lovetoxbut ideally the db query gives only back what we query
lovetoxso no need to sort that out in the listview
bbreezinbut I need to compare to the actual account_id of what should be shown in the history window
bbreezinso I need to know the which account_id the user is asking to see the history of
lovetoxlet me take a look
bbreezinthis would be in history_manager.py I believe
lovetoxno history_manager ignore for now
lovetoxits based on JIDs
lovetoxyou cant just filter an account, you would need to add a account selector
lovetoxstart with the history_window.py
lovetoxyou can do the whole patch in the logger.py in my opinion
lovetoxyou find the method that the history_window.py uses to query records
lovetoxin the logger.py there is a method called, get_account_id()
lovetoxuse this to get the account_id from an account name
bbreezingot it, just figured out I actually want history_window.py, now this makes more sense
lovetoxget_conversation_for_date
lovetoxis the method in logger.py you want to modify
lovetoxand it already has the account name supplied
bbreezinyep I see it now
lovetoxjust to make it a bit more work
lovetoxthere are various other db calls in history_window.py
lovetoxof course all have to take then account_id into considaration
lovetoxalso if you modify the args of a method call, always grep the whole code base for that methodname, to catch where we use it and modify these to
bbreezinis get_last_conversation_lines() where the last few log lines are loaded into the conversation window into small text?
lovetoxyeah i think
bbreezinYeah it is, adding account_id in that function fixed the messages window
bbreezinlike you said, need to think of how to handle it when you click History from the View menu on the main window
lovetoxah
bbreezinlooks like it will use account_id = 1 if you have two conversations with the same contact
lovetoxbecuase we have no account there...
lovetoxthen make it for now that this window will not filter per account
lovetoxthis is i guess expected
lovetoxthe problem is mostly if you select history from within a conversation, that it displays message that have not been in this conversation
lovetoxif i select history from view, and type a JID
lovetoxit is expected i get everything from this jid
bbreezinRight
bbreezinRight
bbreezinbut same window doing both duties
lovetoxto be honest this brings us to the next point, why can we even change the jid if we open the window from winthin a conversation
bbreezinYeah I agree
lovetoxits always like that, one leads to anther
lovetoxi recommend baby steps and solving one task after another 🙂
lovetoxso just fix it that account is taken into consideration when we open from within a conversation
lovetoxand the backlog loading for the chatwindow
lovetoxafterwards in another MR you can then look into the other things
bbreezinbut the History window from the view menu is the same window right?
bbreezinso if it is also using get_conversation_for_date() it'll filter by account when we don't want it to
lovetoxbbreezin, but the window is called with other args or not
lovetoxthe window cant have a value for account, if we call it from the menu
lovetoxso if you have no account, you can call another db method, or do another sql query inside the method
lovetoxlook HistoryWindow is called without account from menu
lovetoxso it is None in that case
lovetoxso you can know what to do
bbreezinRight
bbreezinYeah so right now in that case when it is None, it uses info_account, which is the first account
bbreezinso I need to change that behavior
bbreezinAlright, way past my bed time. I will keep thinking on this. Right now when called from the menu with account=None, self.account=info_account, so populating the dates and log data gets done with info_account. We want the dates, and log data to be populated with data from all accounts in that case
bbreezinthanks for the help so far. I will have more questions I'm sure
botChristoph Erhardt closed an issue in _python-nbxmpp_ < https://dev.gajim.org/gajim/python-nbxmpp/issues/49 >:
#49: < python-nbxmpp fails to parse a JID's domainpart expressed as an IP-literal >
pep.> Maranda> lovetox, it happened to me once as well but I was unable to track it down, Link Mauve told me I was spamming with presences the Tatoeba room.
Because it was movim@
Marandapep. What?
MarandaOh
bosurusHi, I have a problem to set GUI to german language. Gajim 1.02 on Windows 7. I have set env var LANG to de_DE (and tried other var like LC_ALL etc) but i does not work
lovetoxits broken bosurus, we have already a issue about it
lovetoxhope to fix it in the next major gajim version
bosurusThanks. it tried alos to open an issue, but found next problem: I do not get the confirmation email for registring
lovetoxthats bad maybe asterix can look into that
lovetoxwhat is your name on gitlab?
bosurusI tried to register as "stephan"
lovetoxi activated your account
bosurusThanks for your help and the info about language selection; I will wait for the new version
asterixlovetox: I didn't know there was a confirmation email ...
lovetoxfor users who register with their own email
lovetoxi would think so
xramHum, no mam in this conference?
lovetoxyes this room has mam
botDaniel Aleksandersen created an issue in _gajim_ < https://dev.gajim.org/gajim/gajim/issues/9117 >:
#9117: < Windows UAC dialogs changes status to Not available >
vanitasvitaelovetox: regarding xep-0373, how did you create pgp keys with the userid "xmpp:juliet@example.org"? My gnugp refuses to do that :/
lovetoxwhat command do you use?
vanitasvitaegpg --edit-key
vanitasvitaeAnd then adduid
vanitasvitaeIt refuses to accept "xmpp:jid@server.tld" as name, mail addtess and comment
lovetoxthen you are not creating a key..
lovetoxi dont do this so i dont know
lovetoxbut its probably possible
lovetoxgnupg just defaults to a behaviour
lovetoxbut im sure you can overwrite this
vanitasvitae> then you are not creating a key..
The same dialog comes when creating a key
vanitasvitaeIt doesnt work at creation time either
vanitasvitae> i dont do this so i dont know
> but its probably possible
Afaiu it is mandatory in xep-0373, so we should find a solution :D
lovetoxits not mandatory to give the user the ability to edit existing keys
lovetox--gen-key allows for providing a dict like input file
vanitasvitae> its not mandatory to give the user the ability to edit existing keys
But it is mandatory, that keys used in the context of 373 do have a uid attribute with xmpp:jid@server
lovetoxyes, and thats what i do
lovetoxbut im not editing existing keys of users for that
lovetoxi generate a new key for use with xmpp
lovetoxyou should really think this through if you planning to let users add their own keys
vanitasvitaeYeah I'll consider that
lovetoxstuff like blind trust before verification needs many trust changes to the keyring
lovetoxif a user lets you use his main pgp key, he will not give you his password
lovetoxmeaning you have to use a agent
lovetoxmeaning he gets prompted everytime a new key is received
lovetoxor he has to configure his agent that he is not prompted on EVERY change
vanitasvitaeWhich uid parameter do you provide? Name, mail or comment?
lovetoxwhich means he gives the application basically access to his whole keyring
vanitasvitaeI think the best solution would be to auto generate a key and give the user the ability to sign it with his own key.
vanitasvitaeAh, generating the keys unattended worked :)
bbreezinis the list app.contacts.get_accounts() always indexed as (account_id - 1) as in the account_id stored in the log database?
bbreezinI'm asking if I can use the account_id in the database to lookup the account with .get_accounts()[] to get the account nickname
lovetoxno breezin
lovetoxthat gets you a list of all accounts
lovetoxbut you can delete accounts
lovetoxso the index of a account can be 100
lovetoxif you deleted 99 accounts before
lovetoxaccount_id is a database thing, you should not introduce it anywhere else than in the logger.py
lovetoxand there you can convert a account name to a id with the appropriate method
bbreezinAhh, need to get from account id in the messages to the nickname in the _add_message() function
bbreezinadd_message() in the HistoryWindow
lovetoxwhy?
lovetoxthe nickname of what?
bbreezinThe case where I have a conversation with contact C with both my accounts A and B. In the history window from the View menu, we want to show all messages with contact C
bbreezinso I want the prefix to every SENT message (my nicknames) to show the correct account A or B nickname
lovetoxthis is already done in add_message
lovetoxjust look how it determines contact_name
bbreezinyou're talking about the if self.account:
bbreezinself.account is always defined. Even when launched from the View menu
bbreezineven if self.account was None in that case, it would just use the nickname from the first account in app.contacts.get_accounts()
lovetoxok so you get account_id from the database and want to translate it to a account name
bbreezinRight, each message object passed into add_message() as an account_id field
bbreezinI want to use it, and if the account_id is blank, I will default to using the name of the first account from app.contacts.get_accounts()
bbreezinhas an*
lovetoxok let me thing about it whats the best move here
bbreezinNo problem. In _load_history(), I had to loop through all accounts in app.contacts.get_accounts() when the window is opened from the View menu for the purpose of running the get_first_date_that_has_logs() and get_last_date_that_has_logs() functions. The first or last messages could be stored in either account that messaged the contact.
bbreezinDoes that sound like a valid method to you?
lovetoxhm no i dont think i understand this
lovetoxif there is no account supplied
lovetoxthen it should not be in the db query
lovetoxso you get the first date that has logs, and dont have to care about the account
lovetoxthe account has to be supplied to get_last_date_that_has_logs() because of the metacontacts hm
lovetoxso we could just pass a list of accounts, and gather all the familiy jids from all accounts
bbreezinbut the logger.py functions, get_first_date_that_has_logs and get_last_date_that_has_logs require accounts
bbreezinRight, so either iterate through an account list in HistoryWindow, making multiple calls to the logger functions, or pass a list of accounts to the logger function and have it do the checking
lovetoxthe second one
lovetoxthe account is only need to gather a list of jids that will be taken into account
lovetoxgoal would be to do only one db query
lovetoxnot multiple
lovetoxso loop over get_family_jids, acquire all jids
lovetoxthen do one db query
bbreezinGotcha, so essentially pass the result of app.contacts.get_accounts() to the logger.py call
lovetoxi think this would be correct
bbreezinOkay, I'll work on that. Like you said....this small issue has snowballed into a lot more work than it first appeared to be lol
lovetoxyeah quite complex now
lovetoxthough im really overthinking if we need that view -> history window call
lovetoxit seem to be redundant if you look at the history manager
lovetoxwhich does the same
bbreezinThe history manager doesn't have the calendar selector or anything though
bbreezinI think eventually it might not be a bad idea to have an "account" drop down in the history window to only show messages from the account you select, or the option for all accounts, but all this current work will be the basis for selecting the "show all accounts" option
lovetoxi will add a method that gets you the account from the id
lovetoxdo you know how you rebase your work?
bbreezinYeah I've added an upstream remote
Marandarebasing that strange thing
botPhilipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ < https://dev.gajim.org/gajim/gajim >:
*2bb5d55c* < https://dev.gajim.org/gajim/gajim/commit/2bb5d55c03941642cf03f72792b1550ee69698e0 >
Add conversion from account_id to account jid
To use this alias `account_id` with `account`
Example: SELECT account_id as account FROM logs
lovetoxthere you go bbreezin ^
bbreezinGot it, I'll dig into this later. Thanks lovetox
marcI get this error message on Ubuntu:
E: Repository 'ftp://ftp.gajim.org/debian unstable InRelease' changed its 'Origin' value from '' to 'Gajim'
marcWhat's wrong?
asterixI indeed changed origin ... nothing wrong
marcasterix, okay, thanks
botDaniel modified an issue in _gajim_ < https://dev.gajim.org/gajim/gajim/issues/9117 >:
#9117: < Windows UAC dialogs changes status to Not available >
botDaniel modified an issue in _gajim_ < https://dev.gajim.org/gajim/gajim/issues/9114 >:
#9114: < group chat makes gajim segfault in glib >
botDaniel modified an issue in _gajim_ < https://dev.gajim.org/gajim/gajim/issues/9113 >:
#9113: < Gajim on OpenBSD gives error when connecting >
botDorKeinath created an issue in _gajim_ < https://dev.gajim.org/gajim/gajim/issues/9118 >:
#9118: < gajim-nightly problem with gir1.2-gtk-3.0 or 3.10.8~8+qiana >
botPhilipp Hörist closed an issue in _gajim_ < https://dev.gajim.org/gajim/gajim/issues/9118 >:
#9118: < gajim-nightly problem with gir1.2-gtk-3.0 or 3.10.8~8+qiana >