summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-25ci: don't fail all docker builds if one failswip/docker_builds_no_fast_failtoofar
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-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-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
2024-01-30tox: Stop pinning virtualenv for Python 3.12Florian Bruhin
Reverts 0b0401f8bb23fa57bac13e14b522c9755cba05f7 Fixed in virtualenv 20.23.0 which ships pip 23.1.2 which ships setuptools 67.7.2. Archlinux upgraded finally in August: https://gitlab.archlinux.org/archlinux/packaging/packages/python-virtualenv/-/commits/main
2024-01-29Merge pull request #8085 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-01-29Update dependenciesqutebrowser bot
2024-01-28Merge pull request #8080 from ↵toofar
qutebrowser/dependabot/github_actions/actions/cache-4 build(deps): bump actions/cache from 3 to 4
2024-01-22build(deps): bump actions/cache from 3 to 4dependabot/github_actions/actions/cache-4dependabot[bot]
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22Update changelog URLsFlorian Bruhin
2024-01-22Update flake8 ignoresFlorian Bruhin
2024-01-22Update changelog URLFlorian Bruhin
2024-01-22Update dependenciesqutebrowser bot
2024-01-17Fix consistency of 'dark mode' spellingFlorian Bruhin
Thanks to absinthium
2024-01-15Merge pull request #8067 from qutebrowser/update-dependenciesFlorian Bruhin
Update dependencies
2024-01-15Update dependenciesqutebrowser bot
2024-01-12listcategory: Clean up building regex patternFlorian Bruhin
- Don't split the pattern in weird places used for str.join, instead build up the individual groups and then "".join them, which seems more readable to me. - Don't reuse "val" for both the user-input pattern and the regex pattern.
2024-01-12listcategory: Fix O(n^2) performance if no matchFlorian Bruhin
With the change in #7955, if the regex did not match, it ended up retrying the lookahead at every position of the string (expected), but then *also* repeated that process for every position in the string. Thus, a non-matching pattern ended up in O(n^2) performance (with n = length of URL). Instead, anchor the pattern at the beginning of the string. This doesn't change behaviour as we use .* at the beginning of every lookahead anyways, but it means we end up with O(n) instead of O(n^2) performance. Co-authored-by: toofar <toofar@spalge.com>
2024-01-12Reapply "Update changelog for 7955"Florian Bruhin
This reverts commit 6a149901fbd91ac2b8b6cb39fbc835a777319c2e.
2024-01-12Reapply "Merge pull request #7955 from arza-zara/search_any_order"Florian Bruhin
This reverts commit 45d483479aebb6af5a53aea97d65228d8621ad86.
2024-01-12Merge pull request #8063 from ju-sh/patch-1Florian Bruhin
Typo fix
2024-01-12Typo fixJulin S
Trivial typo fix
2024-01-11Revert "Update changelog for 7955"Florian Bruhin
This reverts commit dbd0bfbe8e19b173e39b1536a52907eb28557773. See previous commit
2024-01-11Revert "Merge pull request #7955 from arza-zara/search_any_order"Florian Bruhin
This reverts commit fe1faa14b91253db99e9b4451ffb1a479feff1db, reversing changes made to 04af4c657d3725fd2d3b556d9b88b44d3ada0be1. For my setup with 310 quickmarks and 94 bookmarks, this makes qutebrowser hang for around a minute on every keypress.
2024-01-10tests: Upgrade our hook implementation for pytest 7Florian Bruhin
https://docs.pytest.org/en/7.4.x/deprecations.html#py-path-local-arguments-for-hooks-replaced-with-pathlib-path https://docs.pytest.org/en/7.4.x/reference/reference.html#std-hook-pytest_ignore_collect 8.0.0 removes the "path" compatibility alias we used.
2024-01-10tests: Ignore yet another mesa (?) warningFlorian Bruhin
As shown in detail by toofar in dff25d10bcc8a398a77ef260c33e51ec5c70f482, mesa 23.3 seems to trigger some new error messages. On my setup locally, it also triggers the warning that's ignored here. Why that's not the case on CI or for others is unclear to me, I gave up trying to understand graphics stuff on Linux. I'll just presume this is the same underlying cause, and refer to the commit message of the commit above for more details.
2024-01-10Merge pull request #8057 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-01-08Update dependenciesqutebrowser bot
2024-01-01Merge pull request #8052 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-01-01Update dependenciesqutebrowser bot
2023-12-26Merge pull request #8049 from qutebrowser/update-dependenciestoofar
Update dependencies
2023-12-26Update qute-pylint requirements regex for new setuptools.toofar
In `pylint_checkers/setup.py` we define the package name as `qute_pylint`. When setuptools was creating the egg (or wheel?) it was sanitizing the package name replacing all problematic chars, including underscore, with a hyphen (-). So the output of `pip freeze`, among other things, have the name with a hyphen: `qute-pylint`. This was fixed in setuptools so underscores are no longer sanitized: https://github.com/pypa/setuptools/issues/2522 Change the regex to include both just in case someone is running it with the old setuptools or something. Also because I'm not able to reproduce the hyphen version of the name locally, not sure why. Maybe it depends on your python or importlib version too?
2023-12-25Update dependenciesqutebrowser bot
2023-12-21Ignore mesa "error" logstoofar
Mesa upgraded from 23.2.1-2 to 23.3.1-1 a couple of days ago. Since then there has been some non-fatal InvalidLine errors in the CI jobs (eg https://github.com/qutebrowser/qutebrowser/actions/runs/7281982007/job/19843511920) Based on https://gitlab.freedesktop.org/mesa/mesa/-/issues/10293 I'm assuming these log messages don't actually indicate errors and the tests pass when they are ignore. Weirdly, I'm only seeing these errors related to the `tests/end2end/test_invocations.py::test_misconfigured_user_dirs` test, I'm not sure why. It doesn't look much different from the ones around it. Possibly we could ignore these lines just for that test, or maybe play round with it more to find out why it is different. But since the lines are non fatal I'll just ignore them everywhere. I'm a little worried about that because they are quite generic, but at least they are still logged when they are ignored. They might change these error logs messages to be warning log messages based on that issue. But it'll probably still fail the tests since we match on all log lines? The "always try zink" change was introduced in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25640 It looks like there might be a `LIBGL_KOPPER_DISABLE` which may skip this behaviour. Not I'm not sure, the commit message says: > don't load non-sw zink without dri3 support > this is going to be broken, so don't bother trying > also add LIBGL_KOPPER_DRI2 so people can continue to footgun if they > really really want to I assume we aren't trying to run with non-sw zink but with non-zink sw? idk Maybe we should be setting force_software_rendering=software-opengl or LIBGL_ALWAYS_SOFTWARE instead so that it never tries to use the vulkan backed zink?
2023-12-21Update changelog for 7955maint/unstable_mesa_error_logstoofar
2023-12-21Merge pull request #7955 from arza-zara/search_any_ordertoofar
A few more completions will now match search terms in any order: `:quickmark-*`, `:bookmark-*`, `:tab-take` and `:tab-select` (for the quick and bookmark categories).
2023-12-21Merge pull request #8042 from ↵toofar
qutebrowser/dependabot/github_actions/actions/upload-artifact-4 build(deps): bump actions/upload-artifact from 3 to 4
2023-12-21Merge pull request #8041 from ↵toofar
qutebrowser/dependabot/github_actions/github/codeql-action-3 build(deps): bump github/codeql-action from 2 to 3
2023-12-18build(deps): bump actions/upload-artifact from 3 to 4dependabot/github_actions/actions/upload-artifact-4dependabot[bot]
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>