{"action":"closed","issue":{"url":"https://api.github.com/repos/jaraco/keyring/issues/298","repository_url":"https://api.github.com/repos/jaraco/keyring","labels_url":"https://api.github.com/repos/jaraco/keyring/issues/298/labels{/name}","comments_url":"https://api.github.com/repos/jaraco/keyring/issues/298/comments","events_url":"https://api.github.com/repos/jaraco/keyring/issues/298/events","html_url":"https://github.com/jaraco/keyring/issues/298","id":282970371,"node_id":"MDU6SXNzdWUyODI5NzAzNzE=","number":298,"title":"Reopening KWallets","user":{"login":"frispete","id":1009685,"node_id":"MDQ6VXNlcjEwMDk2ODU=","avatar_url":"https://avatars3.githubusercontent.com/u/1009685?v=4","gravatar_id":"","url":"https://api.github.com/users/frispete","html_url":"https://github.com/frispete","followers_url":"https://api.github.com/users/frispete/followers","following_url":"https://api.github.com/users/frispete/following{/other_user}","gists_url":"https://api.github.com/users/frispete/gists{/gist_id}","starred_url":"https://api.github.com/users/frispete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frispete/subscriptions","organizations_url":"https://api.github.com/users/frispete/orgs","repos_url":"https://api.github.com/users/frispete/repos","events_url":"https://api.github.com/users/frispete/events{/privacy}","received_events_url":"https://api.github.com/users/frispete/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-12-18T18:04:24Z","updated_at":"2018-06-17T16:48:14Z","closed_at":"2018-06-17T16:48:14Z","author_association":"CONTRIBUTOR","body":"Hi,\r\n\r\nunfortunately, here's yet another issue with kwallets.. 😢 \r\n\r\nThis time, it's triggered by the following steps:\r\n * open `kwallet` keyring\r\n   * if not yet opened, it asks for the `kwallet` password\r\n   * if `kwallet` was opened already, it asks for confirmation of this app to access the wallet (unless you permitted access to this app generally before)\r\n * fetch passwords from `kwallet`\r\n * force close the wallet (via `kwalletmanager`) \r\n * when fetching more passwords now, one would expect another request for permission, but `get_password()` simply fails (returning None)\r\n\r\nI found a workaround, but it's **butt ugly**. If `get_password()` fails, I reset the backend handle to -1, and reinitialize the keyring. That forces the connection to re-establish, and requests either for the wallets password, or permission as expected. Hence, the `kwallet backend` is missing some **disconnection detection** to handle this situation gracefully. `connected()` does not fit this purpose...\r\n\r\nAny idea anybody, how to approach this properly?\r\n"}}
{"actor":{"display_login":"jaraco"}}