summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-18tests: skip special URL deserializing tests on winmaster-qt6toofar
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
2023-03-18tests: add some text to another test HTML filetoofar
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
2023-03-18ci: update cov test run but keep it disabledtoofar
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.
2023-03-18tests: ignore new blink "message rejected" logtoofar
2023-03-18ci: attempt to make the qt6 docker run worktoofar
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.
2023-03-18change "special url" in tests to avoid vulkan errortoofar
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.
2023-03-18Add some text to test HTML pages.toofar
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
2023-03-18ci: enable pyqt6.4 and py3.11 test matrix entriestoofar
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.
2023-03-18Merge remote-tracking branch 'upstream/qt6-v2' into master-qt6toofar
2023-03-17Make vulture happyFlorian Bruhin
2023-03-17qt: Still default to PyQt5 for nowFlorian Bruhin
See #7202
2023-03-17Merge branch 'qt6-v2' into master-qt6Florian Bruhin
2023-03-17tests: Fix QApplication argumentsqt6-v2Florian Bruhin
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
2023-03-17tests: Update FIXME commentFlorian Bruhin
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
2023-03-17Qt 6.5: Skip elf testsFlorian Bruhin
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
2023-03-17scripts: Patch relative links for correct doc generationFlorian Bruhin
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
2023-03-17Update settings docsFlorian Bruhin
2023-03-17Qt 6.5: Always use new dark mode values for newer Qt'sFlorian Bruhin
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
2023-03-17tests: Ignore more Qt 6.5 / debug build messagesFlorian Bruhin
See #7624
2023-03-15Override QTabBar text eildingtoofar
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
2023-03-14tox: Install doc requirements for tests tooFlorian Bruhin
Needed so that tests generating :help docs run properly. Follow-up to af176f749fd7f5521d3978e268a1fad169ac2bd4 and bbdc83f638ed1a8e263a3efac0da8a901c1a1420 (cherry picked from commit 3d56f57e502ffaad40936f19f44083a2b63f0690)
2023-03-14tox: Install doc requirements for tests tooFlorian Bruhin
Needed so that tests generating :help docs run properly. Follow-up to af176f749fd7f5521d3978e268a1fad169ac2bd4 and bbdc83f638ed1a8e263a3efac0da8a901c1a1420
2023-03-14PDF.js: Update to newer API to avoid deprecation warningsFlorian Bruhin
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)
2023-03-14PDF.js: Update to newer API to avoid deprecation warningsFlorian Bruhin
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
2023-03-14ci: Fix syntaxFlorian Bruhin
2023-03-14ci: Switch branches for qt 6 imageFlorian Bruhin
Follow-up to 9d9a7b3b841cc38c9cb4d8665a0a1d11dff24d3b hopefully fixing CI on master
2023-03-14lint: Disable B028 for testsFlorian Bruhin
2023-03-14Revert "lint: add stacklevel kwarg to warnings"Florian Bruhin
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.
2023-03-14CI: generate archlinux-webengine-qt6 docker imagetoofar
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?
2023-03-14CI: generate archlinux-webengine-qt6 docker imagetoofar
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?
2023-03-13Release v2.5.4Florian Bruhin
2023-03-13Update docs/changelogtoofar
2023-03-13Merge pull request #7612 from novel/novel-fix-sqlite-quotestoofar
browser: history: fix queries for when DQS disabled SQLite in FreeBSD no longer support double quotes around values in SQL queries. ref: #7596
2023-03-12browser: history: fix queries for when DQS disabledRoman Bogorodskiy
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
2023-03-06Merge pull request #7600 from qutebrowser/update-dependenciestoofar
Update dependencies
2023-03-06Update dependenciesqutebrowser bot
2023-03-05Merge pull request #7593 from qutebrowser/update-dependenciestoofar
Update dependencies
2023-03-05Remove pep517 changelog entrytoofar
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
2023-02-27Update dependenciesqutebrowser bot
2023-02-26Merge pull request #7588 from qutebrowser/update-dependenciestoofar
Update dependencies
2023-02-26lint: add stacklevel kwarg to warningstoofar
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.
2023-02-20Update dependenciesqutebrowser bot
2023-02-17Release v2.5.3Florian Bruhin
2023-02-17Update user agent completionsFlorian Bruhin
2023-02-14Add missing return after PAC parsing exceptionFlorian Bruhin
Otherwise, 'pacscript' in the line below would cause a NameError
2023-02-14Update changelog URLsFlorian Bruhin
2023-02-14mypy: Remove now-unneeded ignoresFlorian Bruhin
2023-02-13Update dependenciesqutebrowser bot
2023-02-07Merge pull request #7576 from qutebrowser/update-dependenciestoofar
Update dependencies
2023-02-06Merge pull request #7577 from ↵Florian Bruhin
qutebrowser/dependabot/github_actions/docker/build-push-action-4 build(deps): bump docker/build-push-action from 3 to 4