{"action":"created","issue":{"url":"https://api.github.com/repos/qutebrowser/qutebrowser/issues/2295","repository_url":"https://api.github.com/repos/qutebrowser/qutebrowser","labels_url":"https://api.github.com/repos/qutebrowser/qutebrowser/issues/2295/labels{/name}","comments_url":"https://api.github.com/repos/qutebrowser/qutebrowser/issues/2295/comments","events_url":"https://api.github.com/repos/qutebrowser/qutebrowser/issues/2295/events","html_url":"https://github.com/qutebrowser/qutebrowser/pull/2295","id":206210972,"number":2295,"title":"Completion refactor V3","user":{"login":"rcorre","id":2496231,"avatar_url":"https://avatars0.githubusercontent.com/u/2496231?v=3","gravatar_id":"","url":"https://api.github.com/users/rcorre","html_url":"https://github.com/rcorre","followers_url":"https://api.github.com/users/rcorre/followers","following_url":"https://api.github.com/users/rcorre/following{/other_user}","gists_url":"https://api.github.com/users/rcorre/gists{/gist_id}","starred_url":"https://api.github.com/users/rcorre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcorre/subscriptions","organizations_url":"https://api.github.com/users/rcorre/orgs","repos_url":"https://api.github.com/users/rcorre/repos","events_url":"https://api.github.com/users/rcorre/events{/privacy}","received_events_url":"https://api.github.com/users/rcorre/received_events","type":"User","site_admin":false},"labels":[{"id":363622283,"url":"https://api.github.com/repos/qutebrowser/qutebrowser/labels/PR:%20work%20in%20progress","name":"PR: work in progress","color":"f9d0c4","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":41,"created_at":"2017-02-08T14:20:14Z","updated_at":"2017-03-31T12:53:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/qutebrowser/qutebrowser/pulls/2295","html_url":"https://github.com/qutebrowser/qutebrowser/pull/2295","diff_url":"https://github.com/qutebrowser/qutebrowser/pull/2295.diff","patch_url":"https://github.com/qutebrowser/qutebrowser/pull/2295.patch"},"body":"This is a combination of my previous efforts for #74 and #1765.\r\nIt [refactors completion models into functions](https://github.com/qutebrowser/qutebrowser/pull/2295/commits/11aca9af1fa8475a8769e177331351d1f7152621) that instantiate models on-demand. In order to avoid taking a performace hit, some models are backed by SQL tables.\r\n\r\nThis approach is a little different than last time in that the SQL does not\r\nexist solely in the completion module. Instead, the `bookmark-manager`,\r\n`quickmark-manager`, and `web-history` are now backed by an in-memory SQL\r\ndatabase rather than a python dict (see e130063 and f095dbe). On startup, they\r\nread from a file on disk and write entries into the in-memory database. This is\r\nthe main part I'm looking for feedback on right now. How does it feel? The\r\nadvantage of this approach is that SQL-based completion models can be \r\n[returned on-demand](https://github.com/qutebrowser/qutebrowser/commit/c2266f88e66f73cc38b1a264282d1d94a4cca154) just as the simple completion models are.\r\n\r\nIt would likely be even more performant and simpler to replace the old bookmark/quickmark/history text files with an on-disk database, but that could\r\nbe a usability hit for those that like to mess with these files manually.\r\n\r\nP.S. don't expect this to work just yet, but it will be there soon.\r\n"},"comment":{"url":"https://api.github.com/repos/qutebrowser/qutebrowser/issues/comments/290703937","html_url":"https://github.com/qutebrowser/qutebrowser/pull/2295#issuecomment-290703937","issue_url":"https://api.github.com/repos/qutebrowser/qutebrowser/issues/2295","id":290703937,"user":{"login":"The-Compiler","id":625793,"avatar_url":"https://avatars3.githubusercontent.com/u/625793?v=3","gravatar_id":"","url":"https://api.github.com/users/The-Compiler","html_url":"https://github.com/The-Compiler","followers_url":"https://api.github.com/users/The-Compiler/followers","following_url":"https://api.github.com/users/The-Compiler/following{/other_user}","gists_url":"https://api.github.com/users/The-Compiler/gists{/gist_id}","starred_url":"https://api.github.com/users/The-Compiler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/The-Compiler/subscriptions","organizations_url":"https://api.github.com/users/The-Compiler/orgs","repos_url":"https://api.github.com/users/The-Compiler/repos","events_url":"https://api.github.com/users/The-Compiler/events{/privacy}","received_events_url":"https://api.github.com/users/The-Compiler/received_events","type":"User","site_admin":false},"created_at":"2017-03-31T12:53:38Z","updated_at":"2017-03-31T12:53:38Z","body":"The windows buildsystem updates are in `master` now - if you rebase (or merge `master`) you should hopefully be able to run the SQL tests on AppVeyor. I only tried starting qutebrowser on this branch and that seems to work.\r\n\r\nNow I only need to figure out how to get PyInstaller to produce a running executable for Windows with QtWebEngine (#1004) and get a NSIS installer working (#2187), and then I'll drop QtWebKit support for Windows. So feel free to ignore the older environment on AppVeyor failing."}}
{"actor":{"display_login":"The-Compiler"}}