Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
179e583af5 | ||
|
|
b9e3d3cab9 | ||
|
|
274b66ec46 | ||
|
|
ae32b79d54 | ||
|
|
e80e695a56 | ||
|
|
0a31e19eda |
5
.github/CONTRIBUTING.asciidoc
vendored
5
.github/CONTRIBUTING.asciidoc
vendored
@@ -1,3 +1,8 @@
|
||||
IMPORTANT: I'm currently (July 2018) more busy than usual until September,
|
||||
because of exams coming up. Review of non-trivial pull requests will thus be
|
||||
delayed until then. If you're reading this note after mid-September, please
|
||||
open an issue.
|
||||
|
||||
- Before you start to work on something, please leave a comment on the relevant
|
||||
issue (or open one). This makes sure there is no duplicate work done.
|
||||
|
||||
|
||||
@@ -15,6 +15,14 @@ breaking changes (such as renamed commands) can happen in minor releases.
|
||||
// `Fixed` for any bug fixes.
|
||||
// `Security` to invite users to upgrade in case of vulnerabilities.
|
||||
|
||||
v1.5.0 (unreleased)
|
||||
-------------------
|
||||
|
||||
Fixed
|
||||
~~~~~
|
||||
|
||||
- Rare crash when an error occurs in downloads.
|
||||
|
||||
v1.4.0
|
||||
------
|
||||
|
||||
|
||||
@@ -5,6 +5,11 @@ The Compiler <mail@qutebrowser.org>
|
||||
:data-uri:
|
||||
:toc:
|
||||
|
||||
IMPORTANT: I'm currently (July 2018) more busy than usual until September,
|
||||
because of exams coming up. Review of non-trivial pull requests will thus be
|
||||
delayed until then. If you're reading this note after mid-September, please
|
||||
open an issue.
|
||||
|
||||
I `<3` footnote:[Of course, that says `<3` in HTML.] contributors!
|
||||
|
||||
This document contains guidelines for contributing to qutebrowser, as well as
|
||||
|
||||
@@ -392,6 +392,10 @@ https://docs.python.org/3/library/venv.html[virtual environment]:
|
||||
$ tox -e mkvenv-pypi
|
||||
----
|
||||
|
||||
If your system comes with Python 3.5.3 or older (such as Ubuntu 16.04 LTS), use
|
||||
`tox -e mkvenv-pypi-old` instead. This installs an older Qt version (5.10) due
|
||||
to bugs in newer versions.
|
||||
|
||||
This installs all needed Python dependencies in a `.venv` subfolder.
|
||||
|
||||
This comes with an up-to-date Qt/PyQt including QtWebEngine, but has a few
|
||||
|
||||
@@ -40,6 +40,8 @@ Section "Install"
|
||||
; Uninstall old versions
|
||||
ExecWait 'MsiExec.exe /quiet /qn /norestart /X{633F41F9-FE9B-42D1-9CC4-718CBD01EE11}'
|
||||
ExecWait 'MsiExec.exe /quiet /qn /norestart /X{9331D947-AC86-4542-A755-A833429C6E69}'
|
||||
RMDir /r "$INSTDIR\*.*"
|
||||
CreateDirectory "$INSTDIR"
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, QTimer
|
||||
from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
|
||||
|
||||
from qutebrowser.config import config
|
||||
from qutebrowser.utils import message, usertypes, log, urlutils, utils
|
||||
from qutebrowser.utils import message, usertypes, log, urlutils, utils, debug
|
||||
from qutebrowser.browser import downloads
|
||||
from qutebrowser.browser.webkit import http
|
||||
from qutebrowser.browser.webkit.network import networkmanager
|
||||
@@ -307,7 +307,14 @@ class DownloadItem(downloads.AbstractDownloadItem):
|
||||
"""Handle QNetworkReply errors."""
|
||||
if code == QNetworkReply.OperationCanceledError:
|
||||
return
|
||||
self._die(self._reply.errorString())
|
||||
|
||||
if self._reply is None:
|
||||
error = "Unknown error: {}".format(
|
||||
debug.qenum_key(QNetworkReply, code))
|
||||
else:
|
||||
error = self._reply.errorString()
|
||||
|
||||
self._die(error)
|
||||
|
||||
@pyqtSlot()
|
||||
def _on_read_timer_timeout(self):
|
||||
|
||||
@@ -37,6 +37,7 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
|
||||
if qtutils.version_check('5.11', compiled=False):
|
||||
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-63378
|
||||
profile.installUrlSchemeHandler(b'chrome-error', self)
|
||||
profile.installUrlSchemeHandler(b'chrome-extension', self)
|
||||
|
||||
def requestStarted(self, job):
|
||||
"""Handle a request for a qute: scheme.
|
||||
@@ -49,7 +50,7 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
|
||||
"""
|
||||
url = job.requestUrl()
|
||||
|
||||
if url.scheme() == 'chrome-error':
|
||||
if url.scheme() in ['chrome-error', 'chrome-extension']:
|
||||
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-63378
|
||||
job.fail(QWebEngineUrlRequestJob.UrlInvalid)
|
||||
return
|
||||
|
||||
@@ -484,6 +484,7 @@ def pastebin_version(pbclient=None):
|
||||
|
||||
def _on_paste_version_success(url):
|
||||
global pastebin_url
|
||||
url = url.strip()
|
||||
_yank_url(url)
|
||||
pbclient.deleteLater()
|
||||
pastebin_url = url
|
||||
|
||||
@@ -987,11 +987,12 @@ def test_pastebin_version(pbclient, message_mock, monkeypatch, qtbot):
|
||||
monkeypatch.setattr('qutebrowser.utils.utils.log_clipboard', True)
|
||||
|
||||
version.pastebin_version(pbclient)
|
||||
pbclient.success.emit("test")
|
||||
pbclient.success.emit("https://www.example.com/\n")
|
||||
|
||||
msg = message_mock.getmsg(usertypes.MessageLevel.info)
|
||||
assert msg.text == "Version url test yanked to clipboard."
|
||||
assert version.pastebin_url == "test"
|
||||
expected_text = "Version url https://www.example.com/ yanked to clipboard."
|
||||
assert msg.text == expected_text
|
||||
assert version.pastebin_url == "https://www.example.com/"
|
||||
|
||||
|
||||
def test_pastebin_version_twice(pbclient, monkeypatch):
|
||||
@@ -1000,16 +1001,16 @@ def test_pastebin_version_twice(pbclient, monkeypatch):
|
||||
lambda: "dummy")
|
||||
|
||||
version.pastebin_version(pbclient)
|
||||
pbclient.success.emit("test")
|
||||
pbclient.success.emit("https://www.example.com/\n")
|
||||
|
||||
pbclient.url = None
|
||||
pbclient.data = None
|
||||
version.pastebin_url = "test2"
|
||||
version.pastebin_url = "https://www.example.org/"
|
||||
|
||||
version.pastebin_version(pbclient)
|
||||
assert pbclient.url is None
|
||||
assert pbclient.data is None
|
||||
assert version.pastebin_url == "test2"
|
||||
assert version.pastebin_url == "https://www.example.org/"
|
||||
|
||||
|
||||
def test_pastebin_version_error(pbclient, caplog, message_mock, monkeypatch):
|
||||
|
||||
13
tox.ini
13
tox.ini
@@ -62,6 +62,19 @@ deps =
|
||||
-r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/misc/requirements/requirements-pyqt.txt
|
||||
|
||||
# Older PyQt for Python 3.5
|
||||
# 5.11.2: https://www.riverbankcomputing.com/pipermail/pyqt/2018-July/040511.html
|
||||
# 5.10.1: https://github.com/qutebrowser/qutebrowser/issues/3662
|
||||
[testenv:mkvenv-pypi-old]
|
||||
basepython = {env:PYTHON:python3.5}
|
||||
envdir = {toxinidir}/.venv
|
||||
commands = {envpython} -c ""
|
||||
usedevelop = true
|
||||
deps =
|
||||
-r{toxinidir}/requirements.txt
|
||||
PyQt5==5.10
|
||||
sip==4.19.8
|
||||
|
||||
[testenv:misc]
|
||||
ignore_errors = true
|
||||
basepython = {env:PYTHON:python3}
|
||||
|
||||
Reference in New Issue
Block a user