From me at the-compiler.org Mon Feb 2 22:47:13 2015 From: me at the-compiler.org (Florian Bruhin) Date: Mon, 2 Feb 2015 22:47:13 +0100 Subject: This week's qutebrowser updates Message-ID: <20150202214713.GL436@tonks> Heyho! This was quite a productive week, interrupted quickly by my laptop battery suddenly dropping to only 20 minutes per charge. Fortunately I could get a new one quickly, and now got over 4 hours per charge :) Thanks to the people who donated after me venting about my battery in IRC - I won't name you here, but you know who you are! <3 Also I'd like your opinion on converting the config format to YAML: https://github.com/The-Compiler/qutebrowser/issues/499 - do you like it? Do you think it'll be worth the effort? But now let's take a look at what happened this week: Overview -------- Excluding merges, 1 author has pushed 32 commits to master and 32 commits to all branches. On master, 35 files have changed and there have been 771 additions and 170 deletions. 10 Issues closed by 1 person 3 Issues created by 2 people https://github.com/The-Compiler/qutebrowser/pulse/weekly Features -------- - Add a new ui -> window-title-format config to configure how the window title should look. - Clean up and refactoring of the save logic for config/state: - Only save files if modified (e.g. don't overwrite the config if it was edited outside of qutebrowser and nothing was changed in qutebrowser) - Save things (cookies, config, quickmark) periodically all 15 seconds (time can be changed with the general -> auto-save-interval option) - Record page history to disk. Currently the history is only saved to ~/.local/share/qutebrowser/history but not used anywhere (except in segfault report dialogs), but that means when introducing completion for history somewhen in the feature we'll already have some history. Improvements ------------ - Only resize completion when it's shown - this is probably a small performance improvement when resizing the window. - Hide ad iframes completely instead of showing an error page in them. - Don't open relative file paths with :open, only with commandline arguments. Bugfixes -------- - Fix restoring of command widget when there's an error while entering a command. - Fix completion size/position issues with ui -> hide-statusbar turned on. - Garbage-collect networkmanagers correctly when downloads were running in a tab which got closed. - Fix statusbar quickly popping up as dedicated window on start. - Fix segfault when opening the context menu and then closing the tab. - Fix back/forward not working on pages where ads in iframes were blocked (e.g. Reddit) - Fix for hint labels not being drawn on pages with a very high z-index (e.g. the top bar with search on Youtube) - Fix for exception when a download error/cancel occurs while the question whether to overwrite an existing file is asked. - Fix for exception when entering a term with spaces with general -> auto-search set to false. -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From pedromj at gmail.com Tue Feb 3 09:38:27 2015 From: pedromj at gmail.com (Pedro Martinez-Julia) Date: Tue, 3 Feb 2015 09:38:27 +0100 Subject: Migration of configuration file format to YAML Message-ID: <20150203083827.GK16601@um.es> Hi all, Our opinion about using YAML as the format for the configuration file has been requested. >From my point of view, configuration files have to be very simple and easy to edit, so INI format is very good. However, YAML can meet this requirement if some conventions are established while gaining power to represent special situations (as per-domain sections). To sum up I recommend to weight the benefits against the effort. From my experience, if the only benefit is cosmetic (not functional), the effort should not exceed the couple of days. That's all from my side. Regards, Pedro -- Pedro Martinez-Julia Department of Communication and Information Engineering Faculty of Computer Science University of Murcia Email: pedromj at gmail.com, pedromj at um.es --------------------------------------------------------- *** Entia non sunt multiplicanda praeter necessitatem *** From me at the-compiler.org Mon Feb 9 23:22:31 2015 From: me at the-compiler.org (Florian Bruhin) Date: Mon, 9 Feb 2015 23:22:31 +0100 Subject: This week's qutebrowser updates Message-ID: <20150209222231.GE11112@tonks> Heyho, time for another update! Some small bugfixes and features here-and-there, but I'm mostly busy with the sessions branch: https://github.com/The-Compiler/qutebrowser/tree/sessions I hope to get this merged this week - there's already good progress, a session round-trip (saving/loading) already works for tabs and history. For a long while I thought this wouldn't be possible because QtWebKit only lets us load history from a binary blob (serialisation format). Thanks to https://github.com/OtterBrowser/otter-browser I discovered it's possible to reverse-engineer that binary protocol easily, and thus convert a human-readable history to a binary to load: https://github.com/The-Compiler/qutebrowser/blob/9bdf40d364701f8e0d0590fd248a31f7603de025/qutebrowser/browser/tabhistory.py#L88-L142 But now back to the rest which happened this week :) Overview -------- Excluding merges, 2 authors have pushed 21 commits to master and 32 commits to all branches. On master, 25 files have changed and there have been 305 additions and 111 deletions. 1 Pull request proposed by 1 person 2 Issues closed by 1 person 1 Issue created by 1 person https://github.com/The-Compiler/qutebrowser/pulse/weekly Features -------- - Implement HTML5 Geolocation/Notifications. Improvements ------------ - Better structure and updates in stacktrace.asciidoc. - Add a checker to run_checks to check if all directories contain an __init__.py - New argument '-s' for qutebrowser to set a temporary value. - New argument '-p' for the ':set' command to print the newly set value. - Various debug logging improvements. Bugfixes -------- - Make tests for qutebrowser.browser.http run again. - Fix documentation generation for arguments with multiple values. - Fix crashes when a tab was closed while a prompt (e.g. javascript) for that page was open. Flo -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From me at the-compiler.org Thu Feb 12 08:28:33 2015 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 12 Feb 2015 08:28:33 +0100 Subject: qutebrowser v0.1.3 released! Message-ID: <20150212072833.GM24753@tonks> Hi, I just released v0.1.3 which fixes a security issue and some other bugs. Security issue -------------- Unfortunately passwords with HTTP authentification (i.e. the blue input in the status bar) were logged in the debug log. This means it's retrievable by the user by opening qute:log, and it will be sent in crash reports if the user leaves the "send a debug log" option checked. Let me explain how this happened - I took care to not log passwords if possible, e.g. keyboard input in insert mode is *not* logged. In this case however, this happened because the widget which currently has keyboard focus gets logged, to debug key input issues. Usernames and passwords were leaked because the repr() (debug representation) of the prompt widget also logged its text: modeman:_eventFilter_keypress:204 handled: False, forward-unbound-keys: auto, passthrough: True, is_non_alnum: False --> filter: False (focused: ) This issue existed since eb5527f897de74187ef748502b0fadd122f23f42 pushed on 28th October 2014, i.e. all released versions are affected. It was fixed in c2f9cae770360848ca33083e628de79d8d0a1bc3 (master) and b44d7c0b846670ea27cb6dab321f50ba48e6eb42 (v0.1.x): --- a/qutebrowser/misc/miscwidgets.py +++ b/qutebrowser/misc/miscwidgets.py @@ -43,7 +43,7 @@ class MinimalLineEditMixin: self.setAttribute(Qt.WA_MacShowFocusRect, False) def __repr__(self): - return utils.get_repr(self, text=self.text()) + return utils.get_repr(self) There were 4 crash logs with leaked passwords in them, which are now deleted. Unfortunately they were all without contact information. I'm really sorry for this, and hope people will update soon. Unfortunately mistakes happen, and in this case it was a non-obvious way in which the information was logged. For any questions you can reach me at me at the-compiler.org, GPG ID 916E B0C8 FD55 A072 (a link to the key is also in the signature). v0.1.3 and v0.2 --------------- v0.1.3 is a bugfix-only release, with the bugfixes since v0.1.2 cherry-picked so they get out faster to people using non-git packages. If you want the latest features, stay on git. There are still some things I want to finish for v0.2: https://github.com/The-Compiler/qutebrowser/issues?q=is%3Aopen+is%3Aissue+milestone%3Av0.2 But still, I hope to release v0.2 in the next few days to weeks. Changes since v0.1.2 -------------------- * Don't show line edit text in its repr(). * Handle shutdown of page with prompt correctly. * Various small logging improvements. * fuzzy_url: handle invalid URLs with autosearch off * Handle explicit searches with auto-search=false. * Abort download override question on error/cancel. * Set a higher z-index for hint labels. * Don't open relative files in fuzzy_url with :open * Various crashdialog improvements. * Hide adblocked iframes. * Close contextmenu when closing tab to avoid crash. * Fix statusbar quickly popping up as window. * Clean up NetworkManager after downloads finished. * Fix restoring of cmd widget after an error. * Fix retrying of downloads after the tab is closed. * Fix some check_libraries() for arch * Handle all IPCErrors properly. * Handle another webelem.IsNullError with hints. * Handle UnicodeDecodeError when reading configs. Florian -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From me at the-compiler.org Tue Feb 17 11:48:36 2015 From: me at the-compiler.org (Florian Bruhin) Date: Tue, 17 Feb 2015 11:48:36 +0100 Subject: This week's qutebrowser updates Message-ID: <20150217104836.GA24753@tonks> Heya, whoa, it's Tuesday already! So like every Monday, here are the weekly updates! :P First of all, as a reminder: qutebrowser v0.1.3 has been released last Thursday - it fixes a security issue where passwords were accidentally logged to the debug log: https://lists.schokokeks.org/pipermail/qutebrowser/2015-February/000047.html If you haven't updated yet, you should! If you're using the git repository, of course you can keep using that, the bug has fixed there as well. Other than that, there are definitely a few cool new features (sessions!) new this week :) Note sessions have a new dependency, PyYAML (probably named python3-yaml or so). If you're using init_venv.py, you should delete your .venv folder and re-run init_venv.py. Overview -------- Excluding merges, 3 authors have pushed 35 commits to master and 96 commits to all branches. On master, 39 files have changed and there have been 1,556 additions and 256 deletions. 1 Release published by 1 person 1 Pull request merged by 1 person 9 Issues closed by 1 person 6 Issues created by 1 person https://github.com/The-Compiler/qutebrowser/pulse/weekly Features -------- - New commandline-API and UI improvements for downloads. new commands: :download{,-cancel,-delete,-open,-remove} Thanks to Joel Torstensson for this contribution! - Make it possible to configure tab titles. new setting: tabs -> title-format (similiar to ui -> window-title-format) - Add support for sessions. new commands: :session{-delete,-load,-save}, :wq new setting: general -> save-session. Improvements ------------ - Add config options to globally disable geolocation/notifications instead of asking. new options: content -> geolocation and content -> notifications. Bugfixes -------- - The password logging bug mentioned above. - Fix starting with -c "". - Ignore tab presses if they'd switch keyboard focus. - Fix loading of history URLs containing spaces. - Fix searching for a search term starting with a slash. - Force saving of the config if new options were added. - Fix handling of ", or None..." in documentation generator. Under the hood -------------- - Various bigger refactorings and cleanups. - Reorganisation of the buildbot jobs (only one worker executing the lints, not one per OS): http://qutebrowser.org:8010/waterfall - Buildbots now all have an X-server set up, for more involved tests. Flo -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From me at the-compiler.org Mon Feb 23 22:48:29 2015 From: me at the-compiler.org (Florian Bruhin) Date: Mon, 23 Feb 2015 22:48:29 +0100 Subject: This week's qutebrowser updates Message-ID: <20150223214829.GE429@tonks> Heya, And another weekly update! This time a bit less spectacular than last week, mostly with some minor bug reports. Overview -------- Excluding merges, 3 authors have pushed 36 commits to master and 48 commits to all branches. On master, 40 files have changed and there have been 619 additions and 319 deletions. 1 Pull request merged by 1 person 2 Pull requests proposed by 2 people 3 Issues closed by 1 person 6 Issues created by 2 people Features -------- - Add options content -> ignore-javascript-{prompt,alert} to ignore all javascript prompts/alerts. Improvements ------------ - Expand environment variables in config settings which take a file path. Thanks to Samir Benmendil for this contribution! - Add a list of common user agents to the user agent setting completion. - Add the --qt-name argument which is passed to Qt to set WM_CLASS. Bugfixes -------- - Fix initial creating of config. - Fix standarddir unittests when XDG_*_HOME is set. - Fix for Qt overriding our config file when the webinspector is used. - Fix error when setting option names with a ! in them. - Fix crashes when closing tabs on Qt 5.2.1 (e.g. Ubuntu Trusty) - Fix QIODevice warnings when closing tabs. - Fix starting with -c '' again. (And added a unittest for it) - Fix for processing Qt arguments. Under the hood -------------- - Various unittest fixes and improvements. - Improve parsing of faulthandler (segfault) logs. Flo -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From me at the-compiler.org Thu Feb 26 09:52:38 2015 From: me at the-compiler.org (Florian Bruhin) Date: Thu, 26 Feb 2015 09:52:38 +0100 Subject: GitHub and qutebrowser Message-ID: <20150226085238.GD11094@tonks> Hi! Since today, GitHub randomly decided to treat qutebrowser (and any other QtWebKit browser - tried with QupZilla, rekonq and Otter) as an old version of Safari. It then displays a "Please note that GitHub no longer supports old versions of Safari." warning bar. However, that's not all - they also break a lot of functionality like switching branches, graph view, or editing labels/milestones for issues. I contacted GitHub support about this, and got this back: Thanks for your feedback and I am sorry for the trouble. I can't promise this will be resolved, but I have sent your feedback to our team for them to consider it. While this isn't too bad: If you're using GitHub in qutebrowser, can you please also reach out to their support at https://github.com/contact and tell them you're having trouble? If you need a quick workaround, you can do something like: :set network user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Safari/560.1 Version/8.0.3" Then everything works like expected... As soon as I looked at [1] and can actually specify a custom user agent without hardcoded information, I'll probably add the Version/... part by default, unless GitHub manages to fix this until then. Florian [1] https://github.com/The-Compiler/qutebrowser/issues/513 -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From me at the-compiler.org Fri Feb 27 07:06:40 2015 From: me at the-compiler.org (Florian Bruhin) Date: Fri, 27 Feb 2015 07:06:40 +0100 Subject: Fwd: Re: Github suddenly broken with QtWebKit browsers Message-ID: <20150227060640.GJ11094@tonks> Fortunately GitHub decided to fix the issue, so everything should work as expected again, without me having to add dirty hacks to qutebrowser: ----- Forwarded message from Mislav Marohni? ----- Hi Florian, sorry that our changes to user agent parsing caused your experience of GitHub on QtWebKit browsers to get degraded. We followed your advice and now serve JavaScript to QtWebKit browsers even if there is no "Version/X.Y" number present. Things should be getting back to the way there were before. If not, let us know. Thanks! ----- End forwarded message ----- Thanks a lot for everyone who helped by contacting the support as well! :) Florian -- http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From gregorpohl2003 at yahoo.de Sat Feb 28 19:24:36 2015 From: gregorpohl2003 at yahoo.de (Gregor Pohl) Date: Sat, 28 Feb 2015 19:24:36 +0100 Subject: [PATCH] rocker-gestures Message-ID: <20150228182426.18080.87540@kettle> Attached is a patch adding a config option "input->rocker-gestures", which disables the context menu and replaces it with Opera-like rocker gestures. Specifically, holding the right mouse button and pressing the left button will go back in history. Holding the left mouse button and pressing the right button moves forward (It is very easy to get used to this. I can't live without it anymore, hence the patch). I'm not sure if there is any interest in merging this, but I thought I'd at least share the patch. best regards -------------- next part -------------- A non-text attachment was scrubbed... Name: rocker-gestures.patch Type: text/x-diff Size: 4237 bytes Desc: not available URL: