Commit Graph

25361 Commits

Author SHA1 Message Date
qutebrowser bot 5c899e304f Release v3.4.0 2024-12-14 20:51:45 +00:00
Florian Bruhin 5a153d76ea Use/recommend libegl1 without -mesa
libegl1-mesa was a "transactional dummy package" as early as Ubuntu 20.04, and
got removed in 22.04.

See https://packages.ubuntu.com/search?keywords=libegl1-mesa&searchon=names&suite=all&section=all
2024-12-14 21:50:10 +01:00
Florian Bruhin 531b28771c ci: Upgrade some jobs from Ubuntu 20.04 to 24.04
Ubuntu 20.04 will be EOL in April 2025, and PyQt 6.8 does not support being
installed on it anymore:
https://pyqt-builder.readthedocs.io/en/stable/releases.html

Other than for the oldest Qt 5 / Qt 6 envs, and for utility envs, let's use
Ubuntu 22.04 or 24.04.
2024-12-14 21:20:15 +01:00
Florian Bruhin 2546c0746d Update changelog 2024-12-14 21:08:01 +01:00
Florian Bruhin 68e52903ae Update user agents 2024-12-14 21:05:28 +01:00
Florian Bruhin e643f8f881 Fix misc linting
Not strictly required here as it's Qt6-only, but fine
2024-12-13 13:03:31 +01:00
Florian Bruhin a0bbcd6259 requirements: Remove index-url again
Now on PyPi, partially reverts 3a956b4097
2024-12-13 13:03:31 +01:00
Florian Bruhin c563e2d302 mypy: Be more clever about Qt 6.8 2024-12-13 13:03:31 +01:00
Florian Bruhin 4a5515666e Revert "js: Set eslint to ecmascript 2020"
This reverts commit 86e2573c39.
Breaks stuff with QtWebKit, whoops...
2024-12-13 13:03:31 +01:00
Florian Bruhin b5e9cf85df mypy: Update ignores for PyQt 6.8 2024-12-13 13:03:31 +01:00
qutebrowser bot 6c7fd52b8e Update dependencies 2024-12-13 13:03:31 +01:00
Florian Bruhin c462cf62e4 pdfjs: Add some comments to polyfills 2024-12-10 22:15:00 +01:00
Florian Bruhin 86e2573c39 js: Set eslint to ecmascript 2020
Needed for the ?. operator which is supported since Chromium 80:
https://caniuse.com/mdn-javascript_operators_optional_chaining

Also makes eslint enforce trailing commas for function calls, which seems fine.
2024-12-10 22:14:48 +01:00
Florian Bruhin f8ce3a932c ci: Upgrade node version
Not strictly necessary, just a drive-by fix.
2024-12-10 17:47:12 +01:00
Florian Bruhin 666b7d4df0 pdfjs: Make eslint happy about polyfills 2024-12-10 17:45:13 +01:00
Florian Bruhin 9d1ca7cbf5 pdfjs: Move polyfills to separate file 2024-12-10 17:39:10 +01:00
Florian Bruhin 9e70ffeaad Switch to legacy PDF.js build
The normal PDF.js build only officially supports the latest Chromium, so things
might break every once in a while with QtWebEngine (e.g. #8199, #7335).

Let's instead bundle and recommend the legacy build.

Closes #8332
Closes #7721 (reworded)
Also see #7135
2024-12-10 11:47:39 +01:00
Florian Bruhin e7b346ecf2 scripts: Try harder to 'hdiutil create' the .dmg
See https://github.com/actions/runner-images/issues/7522#issuecomment-2527820259
2024-12-10 10:31:47 +01:00
Florian Bruhin c0c3caead5 Add Qt 5.15.18 Chromium version 2024-12-10 08:28:35 +01:00
Florian Bruhin 8f274c4e18 mkvenv: Add arm64 to supported platforms 2024-12-10 00:47:04 +01:00
Florian Bruhin f056f49bd1 tests: Fix file path matching on Windows
Qt 6.8 change?
2024-12-10 00:35:29 +01:00
Florian Bruhin d91750f5ae tests: ignore another bogus Chromium message 2024-12-10 00:33:21 +01:00
Florian Bruhin 54839c59e4 py313: Fix root paths in tests on Windows
https://docs.python.org/3/whatsnew/3.13.html#os-path
"On Windows, isabs() no longer considers paths starting with exactly one slash
(\ or /) to be absolute."

See https://github.com/python/cpython/issues/44626
and #8205
2024-12-09 23:50:00 +01:00
Florian Bruhin 728fe7625b Fix pylint 2024-12-09 23:49:54 +01:00
Florian Bruhin 9e8ea8eee4 tests: Re-add flaky marker
See 258e61f97c - unfortunately still flaky
2024-12-09 22:55:44 +01:00
Florian Bruhin a51b631d26 Fix mypy 2024-12-09 22:52:12 +01:00
Florian Bruhin 45d04be1c9 py313: Also ignore cheroot error on Windows
See #8205
2024-12-09 22:49:29 +01:00
Florian Bruhin 68eacd2036 py313: Avoid deprecated pathlib.PurePath.is_reserved()
Looks like the CI upgrade was the first time we tested this on Windows?
Whoops!

https://github.com/python/cpython/issues/88569
https://docs.python.org/3/whatsnew/3.13.html#new-deprecations
See #8205
2024-12-09 20:57:05 +01:00
Florian Bruhin 258e61f97c tests: Stabilize reloading in tests
The test added in fbd148f983 was flaky because
reloading didn't wait for the page load to actually finish fully, and thus the
element not being found on the page.

Fix this by providing the page path to the step, and making sure it waits for it
to be fully loaded again.

Also undos some flaky tags done in 2018:
12e5375931
c1c182d958

As this might have been the real culprit.
If not, those should be re-added.

See #8348, #5390
2024-12-09 20:48:45 +01:00
Florian Bruhin 3a956b4097 ci: Add preliminary PyQt 6.8 environment
See #8242
2024-12-09 20:16:27 +01:00
Florian Bruhin bb652cc108 ci: Fix up Python versions
Follow-up to b1ad5c2e30
2024-12-09 20:14:10 +01:00
Florian Bruhin d45de75129 tox: Remove Python 3.13 typing-extensions handling
See #8205
2024-12-09 20:11:45 +01:00
Florian Bruhin 061c1f0f85 Fix lint 2024-12-09 17:57:21 +01:00
Florian Bruhin 54b220348f Fix lint 2024-12-09 17:32:07 +01:00
Florian Bruhin 960d9aaaa5 tests: Initialize QtWebEngine spell dictionary path earlier
Turns out there are various places in the tests that somehow cause Qt to start
caching the dict location, not just actually accessing
.[is|set]SpellCheckEnabled() like I originally assumed.

Thus, move setting QTWEBENGINE_DICTIONARIES_PATH into conftest.py so it's run
before any tests. However, remove the sanity check after, as that requires
initializing a QWebEngineProfile which we might not always want to do when
running a subset of unit tests. If something goes wrong with this, chances are
we'll only notice later in the tests anyways.

Follow-up to db8e508530
See #8330
2024-12-09 17:26:12 +01:00
Florian Bruhin c501ae375e scripts: Close sqlite connections properly in importer
Found thanks to runnning Python 3.13 tests on CI.

See #8205
2024-12-09 16:51:55 +01:00
Florian Bruhin 4918e6d8ff macOS: Avoid deprecated file associations
Based on Chromium's Info.plist.

Fixes #7306, see #8416 for more possible improvements.
2024-12-09 16:41:24 +01:00
Florian Bruhin 946ec0ab25 py313: Update docs
See #8205
2024-12-09 16:15:01 +01:00
Florian Bruhin b1ad5c2e30 ci: Use Python 3.13
- Newest Linux/macOS/Windows environments (should be roughly same as release,
  especially for Windows/macOS)
- Nightly binary builds
- Release automation

Closes #8205
2024-12-09 16:14:48 +01:00
Florian Bruhin 4c7325f912 py313: Suppress cheroot warnings
https://github.com/cherrypy/cheroot/issues/734
See #8205
2024-12-09 16:08:47 +01:00
Florian Bruhin 48d3c7d97c py313: Ignore maxsplit deprecation warning
2f48300931
https://github.com/pytest-dev/pytest-bdd/issues/752
https://github.com/pytest-dev/pytest-bdd/pull/753

See #8205
2024-12-09 16:06:54 +01:00
Florian Bruhin 321898eb54 Update changelog 2024-12-09 14:45:41 +01:00
Florian Bruhin db8e508530 Fix Qt 6.8 spell checking test
Starting with Qt 6.8, Qt enforces that the spell checking dictionary path exists
when enabling spell checking (but it doesn't check whether there is actually
anything in there). This caused our test ensuring that spell checking gets
enabled properly to fail, as we never actually set a proper directory.

We now do, though we need to do so for the entire test session, as QtWebEngine
caches the directory.

Reverts 7475d38
See https://github.com/qutebrowser/qutebrowser/issues/8242#issuecomment-2333609589
Fixes #8330
2024-12-09 14:39:53 +01:00
Florian Bruhin 3cfefd121c Avoid Qt 6.8 spell check warning
Due to a Qt bug, we get a misleading error even when trying to *disable*
spell checking: https://bugreports.qt.io/browse/QTBUG-131969

To avoid that from happening, we now only call setSpellCheckEnabled() if
the value actually changed.

See #8242, #8330 (not the same issue but related)
2024-12-09 14:08:44 +01:00
Florian Bruhin d7328af221 Add JSON resource type
Added in Qt 6.8, documented as:

    a JSON module (import ... with { type: "json" })

See #8242
2024-12-09 14:05:37 +01:00
Florian Bruhin 4d5ed99ff5 link_pyqt: Try QtCore before sip
Makes for nicer error messages if there's no PyQt at all.
2024-12-09 13:59:33 +01:00
qutebrowser bot 5d3df09146 Update dependencies 2024-12-09 11:25:49 +01:00
Florian Bruhin 557cd19a1d ci: Try harder to detach dmg image
See https://github.com/actions/runner-images/issues/7522
2024-12-06 21:45:27 +01:00
Florian Bruhin 6c9fd35bfa Update changelog 2024-12-06 20:49:14 +01:00
Ruben Gonzalez 3a3c03a4df In POSIX sh, echo flags are undefined 2024-12-06 19:40:28 +00:00