Merge branch 'qutebrowser:main' into feature_contexthinter
This commit is contained in:
commit
5fa3a3a851
|
|
@ -48,7 +48,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
if: failure()
|
if: failure()
|
||||||
- name: Upload screenshots
|
- name: Upload screenshots
|
||||||
uses: actions/upload-artifact@v5
|
uses: actions/upload-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}"
|
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}"
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ jobs:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v5
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
.mypy_cache
|
.mypy_cache
|
||||||
|
|
@ -121,7 +121,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
if: failure()
|
if: failure()
|
||||||
- name: Upload screenshots
|
- name: Upload screenshots
|
||||||
uses: actions/upload-artifact@v5
|
uses: actions/upload-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}"
|
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.image }}"
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -220,7 +220,7 @@ jobs:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v5
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
.mypy_cache
|
.mypy_cache
|
||||||
|
|
@ -269,7 +269,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
if: failure()
|
if: failure()
|
||||||
- name: Upload screenshots
|
- name: Upload screenshots
|
||||||
uses: actions/upload-artifact@v5
|
uses: actions/upload-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.testenv }}-${{ matrix.os }}"
|
name: "end2end-screenshots-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.testenv }}-${{ matrix.os }}"
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ jobs:
|
||||||
echo "sha_short=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
|
echo "sha_short=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
|
||||||
shell: bash
|
shell: bash
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v5
|
uses: actions/upload-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: "qutebrowser-nightly-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.name }}"
|
name: "qutebrowser-nightly-${{ steps.info.outputs.date }}-${{ steps.info.outputs.sha_short }}-${{ matrix.name }}"
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ jobs:
|
||||||
- name: Run qutebrowser smoke test
|
- name: Run qutebrowser smoke test
|
||||||
run: "xvfb-run .venv/bin/python3 -m qutebrowser --no-err-windows --nowindow --temp-basedir about:blank ':later 500 quit'"
|
run: "xvfb-run .venv/bin/python3 -m qutebrowser --no-err-windows --nowindow --temp-basedir about:blank ':later 500 quit'"
|
||||||
- name: Create pull request
|
- name: Create pull request
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v8
|
||||||
with:
|
with:
|
||||||
committer: qutebrowser bot <bot@qutebrowser.org>
|
committer: qutebrowser bot <bot@qutebrowser.org>
|
||||||
author: qutebrowser bot <bot@qutebrowser.org>
|
author: qutebrowser bot <bot@qutebrowser.org>
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,17 @@ breaking changes (such as renamed commands) can happen in minor releases.
|
||||||
// `Fixed` for any bug fixes.
|
// `Fixed` for any bug fixes.
|
||||||
// `Security` to invite users to upgrade in case of vulnerabilities.
|
// `Security` to invite users to upgrade in case of vulnerabilities.
|
||||||
|
|
||||||
|
[[v3.6.4]]
|
||||||
|
v3.6.4 (unreleased)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Fixed
|
||||||
|
~~~~~
|
||||||
|
|
||||||
|
- datalist dropdowns not opening correctly on Wayland/Sway (#8831).
|
||||||
|
This was caused by an old workaround for a different QtWebEngine issue,
|
||||||
|
which is now disabled for QtWebEngine 6.6.3 and newer.
|
||||||
|
|
||||||
[[v3.6.3]]
|
[[v3.6.3]]
|
||||||
v3.6.3 (2025-11-30)
|
v3.6.3 (2025-11-30)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
||||||
|
|
||||||
annotated-types==0.7.0
|
annotated-types==0.7.0
|
||||||
anyio==4.11.0
|
anyio==4.12.0
|
||||||
autocommand==2.2.2
|
autocommand==2.2.2
|
||||||
backports.tarfile==1.2.0
|
backports.tarfile==1.2.0
|
||||||
bracex==2.6
|
bracex==2.6
|
||||||
build==1.3.0
|
build==1.3.0
|
||||||
bump-my-version==1.2.4
|
bump-my-version==1.2.5
|
||||||
certifi==2025.11.12
|
certifi==2025.11.12
|
||||||
cffi==2.0.0
|
cffi==2.0.0
|
||||||
charset-normalizer==3.4.4
|
charset-normalizer==3.4.4
|
||||||
|
|
@ -47,7 +47,7 @@ Pygments==2.19.2
|
||||||
PyJWT==2.10.1
|
PyJWT==2.10.1
|
||||||
Pympler==1.1
|
Pympler==1.1
|
||||||
pyproject_hooks==1.2.0
|
pyproject_hooks==1.2.0
|
||||||
PyQt-builder==1.19.0
|
PyQt-builder==1.19.1
|
||||||
python-dateutil==2.9.0.post0
|
python-dateutil==2.9.0.post0
|
||||||
python-dotenv==1.2.1
|
python-dotenv==1.2.1
|
||||||
questionary==2.1.1
|
questionary==2.1.1
|
||||||
|
|
@ -60,7 +60,6 @@ rich-click==1.9.4
|
||||||
SecretStorage==3.3.3
|
SecretStorage==3.3.3
|
||||||
sip==6.14.0
|
sip==6.14.0
|
||||||
six==1.17.0
|
six==1.17.0
|
||||||
sniffio==1.3.1
|
|
||||||
tomli==2.3.0
|
tomli==2.3.0
|
||||||
tomlkit==0.13.3
|
tomlkit==0.13.3
|
||||||
twine==6.2.0
|
twine==6.2.0
|
||||||
|
|
@ -68,7 +67,7 @@ typeguard==4.3.0
|
||||||
typing-inspection==0.4.2
|
typing-inspection==0.4.2
|
||||||
typing_extensions==4.15.0
|
typing_extensions==4.15.0
|
||||||
uritemplate==4.2.0
|
uritemplate==4.2.0
|
||||||
# urllib3==2.5.0
|
# urllib3==2.6.2
|
||||||
wcmatch==10.1
|
wcmatch==10.1
|
||||||
wcwidth==0.2.14
|
wcwidth==0.2.14
|
||||||
zipp==3.23.0
|
zipp==3.23.0
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
||||||
|
|
||||||
chardet==5.2.0
|
chardet==5.2.0
|
||||||
diff_cover==9.7.2
|
diff_cover==10.0.0
|
||||||
Jinja2==3.1.6
|
Jinja2==3.1.6
|
||||||
|
librt==0.7.3
|
||||||
lxml==6.0.2
|
lxml==6.0.2
|
||||||
MarkupSafe==3.0.3
|
MarkupSafe==3.0.3
|
||||||
mypy==1.18.2
|
mypy==1.19.0
|
||||||
mypy_extensions==1.1.0
|
mypy_extensions==1.1.0
|
||||||
pathspec==0.12.1
|
pathspec==0.12.1
|
||||||
pluggy==1.6.0
|
pluggy==1.6.0
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,5 @@ tomli==2.3.0
|
||||||
tomlkit==0.13.3
|
tomlkit==0.13.3
|
||||||
typing_extensions==4.15.0
|
typing_extensions==4.15.0
|
||||||
uritemplate==4.2.0
|
uritemplate==4.2.0
|
||||||
# urllib3==2.5.0
|
# urllib3==2.6.2
|
||||||
zipp==3.23.0
|
zipp==3.23.0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
||||||
|
|
||||||
PyQt6==6.10.0
|
PyQt6==6.10.1
|
||||||
PyQt6-Qt6==6.10.1
|
PyQt6-Qt6==6.10.1
|
||||||
PyQt6-WebEngine==6.10.0
|
PyQt6-WebEngine==6.10.0
|
||||||
PyQt6-WebEngine-Qt6==6.10.1
|
PyQt6-WebEngine-Qt6==6.10.1
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
||||||
|
|
||||||
PyQt6==6.10.0
|
PyQt6==6.10.1
|
||||||
PyQt6-Qt6==6.10.1
|
PyQt6-Qt6==6.10.1
|
||||||
PyQt6-WebEngine==6.10.0
|
PyQt6-WebEngine==6.10.0
|
||||||
PyQt6-WebEngine-Qt6==6.10.1
|
PyQt6-WebEngine-Qt6==6.10.1
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
||||||
|
|
||||||
PyQt6==6.10.0
|
PyQt6==6.10.1
|
||||||
PyQt6-Qt6==6.10.1
|
PyQt6-Qt6==6.10.1
|
||||||
PyQt6-WebEngine==6.10.0
|
PyQt6-WebEngine==6.10.0
|
||||||
PyQt6-WebEngine-Qt6==6.10.1
|
PyQt6-WebEngine-Qt6==6.10.1
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,9 @@ importlib_metadata==8.7.0
|
||||||
packaging==25.0
|
packaging==25.0
|
||||||
Pygments==2.19.2
|
Pygments==2.19.2
|
||||||
pyproject_hooks==1.2.0
|
pyproject_hooks==1.2.0
|
||||||
pyroma==5.0
|
pyroma==5.0.1
|
||||||
requests==2.32.5
|
requests==2.32.5
|
||||||
tomli==2.3.0
|
tomli==2.3.0
|
||||||
trove-classifiers==2025.11.14.15
|
trove-classifiers==2025.12.1.14
|
||||||
urllib3==2.5.0
|
urllib3==2.6.2
|
||||||
zipp==3.23.0
|
zipp==3.23.0
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,5 @@ sphinxcontrib-jsmath==1.0.1
|
||||||
sphinxcontrib-qthelp==2.0.0
|
sphinxcontrib-qthelp==2.0.0
|
||||||
sphinxcontrib-serializinghtml==2.0.0
|
sphinxcontrib-serializinghtml==2.0.0
|
||||||
tomli==2.3.0
|
tomli==2.3.0
|
||||||
urllib3==2.5.0
|
urllib3==2.6.2
|
||||||
zipp==3.23.0
|
zipp==3.23.0
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
attrs==25.4.0
|
attrs==25.4.0
|
||||||
autocommand==2.2.2
|
autocommand==2.2.2
|
||||||
backports.tarfile==1.2.0
|
backports.tarfile==1.2.0
|
||||||
beautifulsoup4==4.14.2
|
beautifulsoup4==4.14.3
|
||||||
blinker==1.9.0
|
blinker==1.9.0
|
||||||
certifi==2025.11.12
|
certifi==2025.11.12
|
||||||
charset-normalizer==3.4.4
|
charset-normalizer==3.4.4
|
||||||
|
|
@ -61,7 +61,7 @@ tldextract==5.3.0
|
||||||
tomli==2.3.0
|
tomli==2.3.0
|
||||||
typeguard==4.3.0
|
typeguard==4.3.0
|
||||||
typing_extensions==4.15.0
|
typing_extensions==4.15.0
|
||||||
urllib3==2.5.0
|
urllib3==2.6.2
|
||||||
vulture==2.14
|
vulture==2.14
|
||||||
Werkzeug==3.1.3
|
Werkzeug==3.1.4
|
||||||
zipp==3.23.0
|
zipp==3.23.0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
# This file is automatically generated by scripts/dev/recompile_requirements.py
|
||||||
|
|
||||||
cachetools==6.2.2
|
cachetools==6.2.3
|
||||||
chardet==5.2.0
|
chardet==5.2.0
|
||||||
colorama==0.4.6
|
colorama==0.4.6
|
||||||
distlib==0.4.0
|
distlib==0.4.0
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ from qutebrowser.qt.gui import QKeyEvent
|
||||||
from qutebrowser.qt.widgets import QWidget
|
from qutebrowser.qt.widgets import QWidget
|
||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.utils import log, message, usertypes, qtutils
|
from qutebrowser.utils import log, message, usertypes, qtutils, version, utils
|
||||||
from qutebrowser.keyinput import modeman, keyutils
|
from qutebrowser.keyinput import modeman, keyutils
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -55,16 +55,16 @@ class ChildEventFilter(QObject):
|
||||||
# - This is a child event filter on a tab (self._widget is not None)
|
# - This is a child event filter on a tab (self._widget is not None)
|
||||||
# - We find an old existing child which is a QQuickWidget and is
|
# - We find an old existing child which is a QQuickWidget and is
|
||||||
# currently focused.
|
# currently focused.
|
||||||
# - We're using QtWebEngine >= 6.4 (older versions are not affected)
|
# - We're using an affected QtWebEngine version
|
||||||
children = [
|
children = [
|
||||||
c for c in self._widget.findChildren(
|
c for c in self._widget.findChildren(
|
||||||
QWidget, "", Qt.FindChildOption.FindDirectChildrenOnly)
|
QWidget, "", Qt.FindChildOption.FindDirectChildrenOnly)
|
||||||
if c is not child and
|
if c is not child and
|
||||||
c.hasFocus() and
|
c.hasFocus() and
|
||||||
c.metaObject() is not None and
|
c.metaObject() is not None and
|
||||||
c.metaObject().className() == "QQuickWidget"
|
c.metaObject().className() == "QQuickWidget" # Qt 6.4+
|
||||||
]
|
]
|
||||||
if children:
|
if children and version.qtwebengine_versions().webengine < utils.VersionNumber(6, 6, 3):
|
||||||
log.misc.debug("Focusing new child")
|
log.misc.debug("Focusing new child")
|
||||||
child.setFocus()
|
child.setFocus()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import datetime
|
||||||
from typing import NoReturn
|
from typing import NoReturn
|
||||||
try:
|
try:
|
||||||
import tkinter
|
import tkinter
|
||||||
|
import tkinter.messagebox
|
||||||
except ImportError:
|
except ImportError:
|
||||||
tkinter = None # type: ignore[assignment]
|
tkinter = None # type: ignore[assignment]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -654,6 +654,7 @@ class WebEngineVersions:
|
||||||
utils.VersionNumber(6, 9): (_BASES[130], '133.0.6943.141'), # 2025-02-25
|
utils.VersionNumber(6, 9): (_BASES[130], '133.0.6943.141'), # 2025-02-25
|
||||||
utils.VersionNumber(6, 9, 1): (_BASES[130], '136.0.7103.114'), # 2025-05-13
|
utils.VersionNumber(6, 9, 1): (_BASES[130], '136.0.7103.114'), # 2025-05-13
|
||||||
utils.VersionNumber(6, 9, 2): (_BASES[130], '139.0.7258.67'), # 2025-07-29
|
utils.VersionNumber(6, 9, 2): (_BASES[130], '139.0.7258.67'), # 2025-07-29
|
||||||
|
utils.VersionNumber(6, 9, 3): (_BASES[130], '140.0.7339.207'), # 2025-09-22
|
||||||
|
|
||||||
## Qt 6.10
|
## Qt 6.10
|
||||||
utils.VersionNumber(6, 10): (_BASES[134], '140.0.7339.207'), # 2025-09-22
|
utils.VersionNumber(6, 10): (_BASES[134], '140.0.7339.207'), # 2025-09-22
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
"Mako": "https://docs.makotemplates.org/en/latest/changelog.html",
|
"Mako": "https://docs.makotemplates.org/en/latest/changelog.html",
|
||||||
"hypothesis": "https://hypothesis.readthedocs.io/en/latest/changes.html",
|
"hypothesis": "https://hypothesis.readthedocs.io/en/latest/changes.html",
|
||||||
"mypy": "https://github.com/python/mypy/blob/master/CHANGELOG.md",
|
"mypy": "https://github.com/python/mypy/blob/master/CHANGELOG.md",
|
||||||
|
"librt": "https://github.com/mypyc/librt/commits/master/",
|
||||||
"types-PyYAML": "https://github.com/python/typeshed/commits/main/stubs/PyYAML",
|
"types-PyYAML": "https://github.com/python/typeshed/commits/main/stubs/PyYAML",
|
||||||
"types-colorama": "https://github.com/python/typeshed/commits/main/stubs/colorama",
|
"types-colorama": "https://github.com/python/typeshed/commits/main/stubs/colorama",
|
||||||
"types-docutils": "https://github.com/python/typeshed/commits/main/stubs/docutils",
|
"types-docutils": "https://github.com/python/typeshed/commits/main/stubs/docutils",
|
||||||
|
|
@ -101,7 +102,6 @@
|
||||||
"h11": "https://h11.readthedocs.io/en/latest/changes.html",
|
"h11": "https://h11.readthedocs.io/en/latest/changes.html",
|
||||||
"httpcore": "https://github.com/encode/httpcore/blob/master/CHANGELOG.md",
|
"httpcore": "https://github.com/encode/httpcore/blob/master/CHANGELOG.md",
|
||||||
"httpx": "https://github.com/encode/httpx/blob/master/CHANGELOG.md",
|
"httpx": "https://github.com/encode/httpx/blob/master/CHANGELOG.md",
|
||||||
"sniffio": "https://sniffio.readthedocs.io/en/latest/history.html",
|
|
||||||
"six": "https://github.com/benjaminp/six/blob/master/CHANGES",
|
"six": "https://github.com/benjaminp/six/blob/master/CHANGES",
|
||||||
"altgraph": "https://github.com/ronaldoussoren/altgraph/blob/master/doc/changelog.rst",
|
"altgraph": "https://github.com/ronaldoussoren/altgraph/blob/master/doc/changelog.rst",
|
||||||
"urllib3": "https://github.com/urllib3/urllib3/blob/main/CHANGES.rst",
|
"urllib3": "https://github.com/urllib3/urllib3/blob/main/CHANGES.rst",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue