summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-27Add missing date to commentFlorian Bruhin
2024-03-27Update chromium versionsFlorian Bruhin
2024-03-27Fix caret tests on Qt 6 and Windowsflaky-caret-windowsFlorian Bruhin
2024-03-27Add caret browsing debug loggingFlorian Bruhin
2024-03-27tests: Avoid using autofocus for click_element testsFlorian Bruhin
Similarly to the last commit (982b8bdcecfba6fc1687a6a4942b9e3ab3221eb7), we run into a race between autofocus triggering and the test trying to click the focused element. This also affects the "when there is none" test, which loses the focus before it has been set, thus ending up with a focused element but expecting none. We fix both in one go by manually focusing things with a tab keypress instead of using autofocus. See #8145 and #5390.
2024-03-27Fix input.insert_mode.auto_load race / test_auto_load flakinessFlorian Bruhin
Fixes #8145, see #5390. As long as we don't have a solution to get notified about focus happening (#2471 possibly?), it looks like there is no better way to get notified about this, so a delay will need to do for now.
2024-03-26tests: Fix glob matchingFlorian Bruhin
2024-03-26tox: Avoid installing PyQt from source for bleeding envsFlorian Bruhin
Right now, the Riverbank PyPI server has a PyQt5 sdist but no wheels.
2024-03-26tests: Ignore new SSL error messageFlorian Bruhin
Seems to break in bleeding edge tests
2024-03-26importer: Stop using deprecated bs4 findAllFlorian Bruhin
Fails bleeding edge CI due to warnings
2024-03-26Ignore already imported Qt module with PyInstallerFlorian Bruhin
Starting with PyInstaller 6.5.0, it imports Qt bindings early, due to this change: https://github.com/pyinstaller/pyinstaller/pull/8315 We warn about this in order to avoid unintentional early Qt imports in qutebrowser. However, in the case of using PyInstaller, we just suppress the warning now, as it's not us to blame. See https://github.com/qutebrowser/qutebrowser/pull/8123
2024-03-25qtutils: Handle QDataStream.Status.SizeLimitExceededqt67Florian Bruhin
2024-03-25tests: Add new ignored error messagesFlorian Bruhin
2024-03-25tests: Avoid accessing Qt statics at import timeFlorian Bruhin
With a Qt 6.7 developer build, the tests fail with: ASSERT failure in QtGlobalStatic::ApplicationHolder<QAS>::PlainType* QtGlobalStatic::ApplicationHolder<QAS>::pointer() [with QAS = {anonymous}::Q_QAS_qtlsbLoader; PlainType = QFactoryLoader]: "The application static was used without a QCoreApplication instance", file .../qtbase/src/corelib/kernel/qapplicationstatic.h, line 54 Fatal Python error: Aborted [...] Current thread 0x00007c18bb3f3740 (most recent call first): File ".../tests/unit/browser/webkit/test_certificateerror.py", line 23 in <module> See https://codereview.qt-project.org/c/qt/qtbase/+/495239
2024-03-25mypy: Set local_partial_types = TrueFlorian Bruhin
This is going to be default behavior in mypy 2.0, see: - #8123 - https://mypy-lang.blogspot.com/2024/03/mypy-19-released.html - https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-local-partial-types
2024-03-25Merge pull request #8142 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-03-25Add changelog URLstoofar
jaraco added some utility libraries they maintain to the keyring package that they also maintain. Also update changelog URLs to be consistent since they have a "skeleton" project which lays everything out and publishes all their projects the same. Should we be preferring GH or RTD links? idk
2024-03-25Update dependenciesqutebrowser bot
2024-03-25Merge pull request #8124 from ↵toofar
qutebrowser/dependabot/github_actions/softprops/action-gh-release-2 build(deps): bump softprops/action-gh-release from 1 to 2
2024-03-25Merge pull request #8123 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-03-25update importlib metadata changelog URLtoofar
See 2f3d0161f3b4c for the corresponding importlib_resources one. Also this I guess? I don't really understand it, everything seems happy. https://github.com/python/importlib_metadata/issues/459
2024-03-23Show chromium security patch version in :versionfeat/7187_chromium_security_patch_in_versiontoofar
Webengine added a getter for their chromium patch level back in Qt 6.3, since they backport security fixes from chromium in the periods between doing major chromium feature upgrades. It's pulled from a hardcoded string in the webengine source `src/core/web_engine_context.cpp` that's manually updated when they backport something. The "(plus any distribution patches)" bit in there is because it was pointed out that some distributions backport their own security patches or even use webengine from a branch when the hardcoded string only gets updated at release time, despite patches being backported in the meantime. Closes: https://github.com/qutebrowser/qutebrowser/issues/7187
2024-03-22Update doc heading for WindowsFlorian Bruhin
See #8136
2024-03-18Update dependenciesqutebrowser bot
2024-03-11build(deps): bump softprops/action-gh-release from 1 to 2dependabot/github_actions/softprops/action-gh-release-2dependabot[bot]
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04Rename readme_renderer in changelog URLsFlorian Bruhin
2024-03-04Update dependenciesqutebrowser bot
2024-02-26Merge pull request #8114 from qutebrowser/update-dependenciesFlorian Bruhin
Update dependencies
2024-02-26Update lint etc for dependenciestoofar
The lint ones are: linters (pylint): qutebrowser/completion/completionwidget.py#L440 Consider using 'height = min(height, contents_height)' instead of unnecessary if block linters (pylint): qutebrowser/browser/webengine/webview.py#L241 Useless suppression of 'no-member' The no-member one might be due to this change: https://github.com/pylint-dev/pylint/issues/9246 For the importlib-resources one, I'm not sure why it's changed to be underscore instead of a dash now. But at least it's consistent across all the requirements files now! I feel like I've seem this in a previous dependancy update too (for a different package?) but I can't find that now.
2024-02-26Update dependenciesqutebrowser bot
2024-02-25Merge pull request #8106 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-02-25Merge pull request #8110 from tarneaux/maintoofar
Allow reloading config on SIGHUP
2024-02-25ci: don't fail all docker builds if one failstoofar
Currently the unstable docker images are failing to build (undefined symbol: _ZN5QFont11tagToStringEj, version Qt_6. Looks like Qt has upgraded to 6.7 but pyqt6 hasn't been patched to remove some symbols that are gone now). But we might as well let the stable ones rebuild right?
2024-02-25ci: fix --debug patching on all platforms (for real?)toofar
It seems `sed -i` is not very portable. Initially we were using this command: sed -i '' '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py and then that started breaking on windows, I'm not sure why, with "can't read /.-d., .--debug.,/s/$/ default=True,/: No such file or directory". Then we changed to: sed -i '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py so without the extension argument, but that broke on mac with "1: "qutebrowser/qutebrowser.py": extra characters at the end of q command" then we tried: sed -i'' '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py and that also broke on mac with the same error. On the recommendation of stackoverflow I just changed it no not use in-place editing and do a good old fashioned move afterwards. https://unix.stackexchange.com/questions/92895/how-can-i-achieve-portability-with-sed-i-in-place-editing ... record scratch ... Apparently these GHA steps are being run in powershell in windows where `mv` is implemented by `Move-Item` where you have to use -Force to overwrite destination files. But that's not portable. cp does happily overwrite without any additional instruction though. So I'm doing cp instead of mv and then removing the temp file. Probably if this drags out anymore we should download something off of pypi which is platform independent to handle it.
2024-02-25windows doesn't support SIGHUPtoofar
It gives an AttributeError for both signal.SIGHUP and signal.Signals.SIGHUP. The Signals Enum is set up so you can use the strings to key into it though, so that's nice. I was tempted to use a walrus operator here but I think that's python 310 and I don't remember what our minimum supported version is.
2024-02-24update changelog for SIGHUP handlingtoofar
2024-02-24Add some basic tests for SignalHandlertoofar
It doesn't look like this class has any unit tests currently. And since we are adding a new signal handler to it I took the opportunity to add a few tests to it to establish a bit of a framework so that next time we touch it it will be easier to add more. I didn't go for full coverage here. It's an improvement over what was there previously and it should make merging more palatable. I don't think handling SIGHUP is a very risky feature. I chose to use mocker.patch over monkeypatch.setattr because I think it provides a more friendly and powerful API due to being more tightly integrated with magic mocks. And with `mocker.patch.object` you can even use actual object names instead of strings, the same as monkeypatch allows. One thing I'm less confident with here is mocking all multiple things in a couple of fixtures. Writing one fixture for each little thing I mock doesn't feel appealing to me right now, but for mocks that tests need to access there isn't really any idiomatic way to let the tests access them. I previously just had the one fixture but pulled out the read config one for that purpose. It's a pattern I'll have to think on a bit I think. Probably having to have developers thing about the balance of boilerplate vs accessibility is cognitive load that we want to avoid. Hmm. Anyway, here are the options I was looking at to let test code access mocks that where all shoved away into the one fixture: 1. group the tests into a class and put the mocks in class variables: could work fine but I don't think it's very idiomatic for pytest? 2. return some kind of meta object from the fixture that has the object under test as one attribute and the mocks as other ones: hmm, returning multiple values from a method always seemed a bit smelly to me 3. make one fixture for each of the mocks, have the main fixture depend on them all, tests that need to modify them can depend on them too: writing all those fixtures seems tedious and I don't think it would be a clear win in terms of readability. *sigh*, I suppose I should pull the ones I'm modifying out at least so other people don't copy my lazyness in the future 4. have the test code access the mocks from the real code, eg `configfiles.sys.exit.side_effect = ...`: this works fine but I feel like it's relying on an implementation detail and probably shouldn't be encouraged? Not sure In case anyone is struggling with git blame and wondering what the QSocketNotifier stuff is about, this commit should explain it: https://github.com/qutebrowser/qutebrowser/commit/210ce8ca7cb16e1d0ce859baa64ce56a5e1894cf
2024-02-22Run message.error() on SIGHUP config errorstarneo
2024-02-22Replicate config_source in SIGHUP handlertarneo
2024-02-21Allow reloading config on SIGHUPtarneo
Before this commit qutebrowser would just exit when receiving a SIGHUP. Now it will reload the config using the bare config_source function, just like the :config-source command does. Closes #8108.
2024-02-20Ignore new 6.6.2 notifications related error messagestoofar
The seem to be non-fatal considering the test scenarios they are coming from are still passing.
2024-02-19Update dependenciesqutebrowser bot
2024-02-17Merge pull request #8101 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-02-13ci: Try more sed cross-platform madnessFlorian Bruhin
2024-02-12Update dependenciesqutebrowser bot
2024-02-05Merge pull request #8091 from ↵Florian Bruhin
qutebrowser/dependabot/github_actions/peter-evans/create-pull-request-6 build(deps): bump peter-evans/create-pull-request from 5 to 6
2024-02-05build(deps): bump peter-evans/create-pull-request from 5 to 6dependabot/github_actions/peter-evans/create-pull-request-6dependabot[bot]
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05Merge pull request #8090 from qutebrowser/update-dependenciesFlorian Bruhin
Update dependencies
2024-02-05Update dependenciesqutebrowser bot
2024-02-02ci: Remove weird sed usageFlorian Bruhin
Broke on Windows nightly builds for some reason