Age | Commit message (Collapse) | Author |
|
Not sure why its failing on windows, but it only really needs to run in
one environment anyway.
Previously this was using chrome://gpu but that was failing on CI due to
it invoking some vulkan stuff the didn't work without a GPU. I changed
it to chrome://sandbox/ for no good reason, but it seems to be working
fine on ubuntu at least.
Follow up to 151d808940f6
|
|
This one is for 6.5. Interesting that it was fine on 6.4.
I haven't gone and added text to all the test file because I'm hoping
it'll be something that upstream addresses in short order. So I'm only
adding text to files used by failing tests.
See d413b87c3f6 #7621 and #7624
|
|
Error: qutebrowser/browser/webengine/certificateerror.py has 90.91% line and 50.00% branch coverage!
Error: qutebrowser/browser/webengine/darkmode.py has 96.88% line and 100.00% branch coverage!
Error: qutebrowser/keyinput/basekeyparser.py has 97.59% line and 100.00% branch coverage!
Error: qutebrowser/keyinput/keyutils.py has 92.64% line and 96.30% branch coverage!
Error: qutebrowser/utils/debug.py has 94.51% line and 92.19% branch coverage!
Error: qutebrowser/utils/qtutils.py has 98.67% line and 96.74% branch coverage!
Error: qutebrowser/utils/usertypes.py has 99.20% line and 96.30% branch coverage!
Error: qutebrowser/utils/version.py has 97.66% line and 97.83% branch coverage!
Maybe we should open an issue to get them back up.
|
|
|
|
On CI were were getting "Could not import sip" because link_pyqt was
looking for PyQt5.sip.
I made that look at QUTE_QT_WRAPPER since that's being set already on
tox.ini
There are probably a few other changes around link_pyqt and the makefile
etc we need to change when we switch the default wrapper.
I overrode the default `py` tox environment with py-qt6 to override
those wrapper related variables. I probably could have done something
sneaky with curly braces to make it so we don't have to add a few more
lines to the file. But in my opinion in config file is far to obfuscated
and hard to maintain already.
I changed the docker file to call the new py-qt6 env if it's a qt6
container. I'm not 100% sure that is required though since there is also
a tox invocation in the GH action definition, maybe that overrides the
container entrypoint? Also changed the indentation in the dockerfile
template a bit to make it easier to see where the conditionals start and
end.
Speaking of which I changed the matrix definition and tox invocation to
match a later one to hopefully make it so we can invoke different tox
environments in the containers without having to rebuild the containers.
Not sure I did that right, I'll see soon.
I added the unstable-qt6 container generation line so we can use it in
the future, and to match the not-qt6 one. I'm not switching to that in
CI though because the pyqt used by that is broken at the moment
(ref https://www.riverbankcomputing.com/pipermail/pyqt/2023-March/045214.html)
Also fixed the vim modeline in generate.py so my syntax highlighting
works.
|
|
On GH actions I'm seeing an "unexpected line" failure around creating a
vulkan context when loading chrome://gpu
ERROR tests/end2end/features/test_tabs_bdd.py::test_cloning_a_tab_with_a_special_url - end2end.fixtures.testprocess.InvalidLine:
1829
Error: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
1830
at CheckVkSuccessImpl (../../../3rdparty/chromium/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
1831
at CreateVkInstance (../../../3rdparty/chromium/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:360)
1832
at Initialize (../../../3rdparty/chromium/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:235)
1833
at Create (../../../3rdparty/chromium/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:165)
1834
at operator() (../../../3rdparty/chromium/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:420)
I'm not sure its actually failing the test, we are just seeing the error
in the logs and flagging it.
Instead of adding the logs to an ignore list I'm going to switch the
page we use so that if the error comes up for real we'll be sure to see
the logs.
|
|
With 6.4 and 6.5 it looks like pages without text on them only render
after a delay (on the order of hundreds of milliseconds).
ref: #7621
|
|
6.4 tests should be passing now. 6.5 is still waiting on PyQt on PyPI
getting fixed. That goes for kde-unstable-qt6 too as that's pulling down
6.5.
We should take the opportunity to revisit the test matrix configuration
again when we add 6.5 in there. For example py3.11 on ubuntu 20.04 is a
bit odd as it only got released last year.
|
|
|
|
|
|
See #7202
|
|
|
|
With Qt 6.5, QtWebEngine complains and aborts when it gets an empty argv:
https://bugreports.qt.io/browse/QTBUG-110157
https://codereview.qt-project.org/c/qt/qtwebengine/+/455347
https://codereview.qt-project.org/c/qt/qtwebengine/+/457045
https://www.riverbankcomputing.com/pipermail/pyqt/2023-March/045216.html
However, our custom qapp_args override for pytest-qt *does* return [] as
argv, causing all tests using QtWebEngine to fail.
We might decide to add sys.argv[0] to the given qapp_args in pytest-qt:
https://github.com/pytest-dev/pytest-qt/issues/483
But probably this should be fixed on the application-side, so let's do
exactly that.
See #7624
|
|
PyQt insists using the deprecated signal overload, seemingly nothing we can do
to change that:
https://www.riverbankcomputing.com/pipermail/pyqt/2023-March/045215.html
See #7624
|
|
The ELF file structure changed in a way that it seems impossible to
support reliably. Given that we have an API to get the version nowadays,
let's not bother with this. We might need to figure this out for PySide6
support, but not now.
See #7624, #3625
|
|
In doc/help/index.asciidoc, we have links like this:
* link:../quickstart{outfilesuffix}[Quick start guide]
That is correct in e.g. the GitHub file structure, as those files are
stored in e.g. doc/quickstart.asciidoc indeed.
It's *no* longer true when we view the built files via qute://help,
however: There, this turns into a flat file structure, with those pages
being at qute://help/index.html and qute://help/quickstart.html,
respectively.
It looks like QtWebEngine < 6.5 did just ignore the
<a href="../quicktart.html"> and pointed from qute://help/index.html to
qute://help/quickstart.html anyways, weirdly.
With QtWebEngine 6.5, however, this is now interpreted as a link
pointing to qute://quickstart.html instead, which is clearly wrong.
Until we have a less messy doc generation (probably as part of #345),
let's just patch the link to be correct.
See #7624
|
|
|
|
I don't quite understand why the value changed from #00000 to #121212
there with Qt 6.3, but it looks like the change is here to stay.
Instead of keeping #000000 the default and adding an override for every
new Qt release, let's just switch over and add an override for the old
versions (5.15 and 6.2), so this won't break again for every new release.
See #7624
|
|
See #7624
|
|
The fontMetrics().elidedText(...) call is copied from the base QTabBar
implementation of initStyleOption(). But here we are calling it with a
text_rect from our custom style class. In Qt6 QStyleSheetStyle no longer
calls into our custom Style class for the SE_TabBarTabText SubElement so
it ends up getting a text width from QCommonStyle which is wrong for
vertical tabs (`QCommonStylePrivate::tabLayout()` seems to transpose the
rect, maybe it thinks vertical tabs should have the text running
vertically too).
Also resolves the issue that when tabs.title.alignment is set to center
the leftmost character or two of titles wouldn't be visible when tabs
where small enough that the text got elided. Not 100% sure why but
presumably it wasn't picking up the padding etc logic in our custom
style class.
In the test I don't test the exact elided text when we don't have much
room because it might differ based on what monospace font is picked up
in the tests. So the amount elided might change. Also in the not-elided
one I'm only testing endswith() because the index should be at the start
of the string which I don't really care about.
Fixes: #7313
Fixes: #7205
|
|
Needed so that tests generating :help docs run properly.
Follow-up to af176f749fd7f5521d3978e268a1fad169ac2bd4 and
bbdc83f638ed1a8e263a3efac0da8a901c1a1420
(cherry picked from commit 3d56f57e502ffaad40936f19f44083a2b63f0690)
|
|
Needed so that tests generating :help docs run properly.
Follow-up to af176f749fd7f5521d3978e268a1fad169ac2bd4 and
bbdc83f638ed1a8e263a3efac0da8a901c1a1420
|
|
A quick tour through the PDF.js API:
v1.0.1040 introduced the ability to pass an object to PDFView.open()
instead of passing an URL:
https://github.com/mozilla/pdf.js/pull/5254
v1.6.210 (?) renamed PDFView to PDFViewerApplication:
ffa276a1826a95bf1f80b15f48cfbf2b9cfe6dad
v3.3.122 made it mandatory to pass an object (and also made originalURL
optional when doing so):
https://github.com/mozilla/pdf.js/pull/15972
We should probably properly get rid of old version support at some point
(see #7619), but until then, I *think* this approach should work with
older versions still.
Fixes #7618
(cherry picked from commit 924a7a5907124a0a33e2cc9454e389b7a2634244)
|
|
A quick tour through the PDF.js API:
v1.0.1040 introduced the ability to pass an object to PDFView.open()
instead of passing an URL:
https://github.com/mozilla/pdf.js/pull/5254
v1.6.210 (?) renamed PDFView to PDFViewerApplication:
ffa276a1826a95bf1f80b15f48cfbf2b9cfe6dad
v3.3.122 made it mandatory to pass an object (and also made originalURL
optional when doing so):
https://github.com/mozilla/pdf.js/pull/15972
We should probably properly get rid of old version support at some point
(see #7619), but until then, I *think* this approach should work with
older versions still.
Fixes #7618
|
|
|
|
Follow-up to 9d9a7b3b841cc38c9cb4d8665a0a1d11dff24d3b hopefully fixing CI on master
|
|
|
|
This reverts commit 47be6f3aeb886cf10f85158af18b13906fc68704.
This doesn't really make sense in test files, as the warning would point
inside some internal pytest code, which is not helpful.
Instead, let's just disable the corresponding flake8 warning in tests.
|
|
I'm not 100% sure we need this. But there is an existing test matrix
that I want to active for now. We can review all the configuration later
I guess?
|
|
I'm not 100% sure we need this. But there is an existing test matrix
that I want to active for now. We can review all the configuration later
I guess?
|
|
|
|
|
|
browser: history: fix queries for when DQS disabled
SQLite in FreeBSD no longer support double quotes around values in SQL queries.
ref: #7596
|
|
Recently the FreeBSD port of sqlite has DQS feature disabled by default.
Without this feature enabled, it's not allowed to use double quotes
for string literals. As such quoting is used in the history.py module,
qutebrowser fails to work on such configurations.
The fix is to use single quotes instead.
ref: #7596
|
|
Update dependencies
|
|
|
|
Update dependencies
|
|
It got split to pyproject-hooks and build. Most of our requirements
switched a while ago, pyorama was the last to do so.
ref: #7593
|
|
|
|
Update dependencies
|
|
flake8-bugbear B028 No explicit stacklevel keyword argument found. The
warn method from the warnings module uses a stacklevel of 1 by default.
This will only show a stack trace for the line on which the warn method
is called. It is therefore recommended to use a stacklevel of 2 or
greater to provide more information to the user.
Semgrep helped:
semgrep --lang=py -e 'warnings.warn($ARG)' --replacement 'warnings.warn($ARG, stacklevel=2)' $FILES -a
semgrep --lang=py -e 'warnings.warn($ARG1, $ARG2)' --replacement 'warnings.warn($ARG1, $ARG2, stacklevel=2)' $FILES -a
Although it did lose the f-string on one of them.
|
|
|
|
|
|
|
|
Otherwise, 'pacscript' in the line below would cause a NameError
|
|
|
|
|
|
|
|
Update dependencies
|
|
qutebrowser/dependabot/github_actions/docker/build-push-action-4
build(deps): bump docker/build-push-action from 3 to 4
|