Commit Graph

2757 Commits

Author SHA1 Message Date
qutebrowser bot ad29c973f8 Update dependencies 2024-10-21 12:32:07 +02:00
Florian Bruhin ffe7d00a62 Merge branch 'drop-py38' 2024-10-15 11:58:54 +02:00
Florian Bruhin 7083fee655 Recompile requirements 2024-10-15 11:55:04 +02:00
Florian Bruhin cc18a624b5 Remove importlib_resources from requirements 2024-10-15 11:55:04 +02:00
Florian Bruhin 8cf9cc9f1b nsis: Check for newer Windows build
Follow-up to #8321, so we only claim to support what Qt actually officially does.
2024-10-15 11:52:34 +02:00
Florian Bruhin 26b4ec6cef Bleeding requirements: Use pytest-bdd release
See https://github.com/qutebrowser/qutebrowser/issues/8342
2024-10-15 11:42:07 +02:00
Willow Barraco 61746e0f58 desktop: qutebrowser as webp mime type viewer
This is decent webp viewer, like other web browser.
2024-10-15 10:33:12 +02:00
qutebrowser bot 80ed616230 Update dependencies 2024-10-14 04:18:59 +00:00
Florian Bruhin b976a31ffa
Merge pull request #8321 from qutebrowser/feat/8260_drop_qt5_builds
Remove support for making Qt5 builds
2024-10-13 21:45:05 +02:00
qutebrowser bot 6093306ff5 Update dependencies 2024-10-13 14:54:29 +00:00
toofar 50bf3bdd52
Merge pull request #8323 from qutebrowser/update-dependencies
Update dependencies
2024-10-13 15:19:56 +13:00
qutebrowser bot eacdca5a36 Release v3.3.1
(cherry picked from commit fc0d7e08bc)
2024-10-12 19:40:58 +00:00
qutebrowser bot 7d1d6459e0 Release v3.3.0 2024-10-12 19:23:16 +00:00
bitraid 52a8576d7c Simplify OS version checks in nsis installer
22000 is the earliest win11 build, so no need to check for that
separately.
AtLeastWin11 is from https://github.com/kichik/nsis/blob/master/Include/WinVer.nsh#L552
Remove fail label since all failures fall through.
2024-10-09 21:40:37 +13:00
qutebrowser bot dea648ccd8 Update dependencies 2024-10-07 04:22:07 +00:00
toofar d24a4c5ab0 Remove Qt5 switches from release building scripts etc
I just searched for qt5 and deleted stuff. EZ.
Will leave on a branch for a bit and see if I feel like testing this at
all, otherwise maybe leave this stuff in here and make it not called.

Not 100% sure that we need to remove all this stuff when we just want
the CI to go green. But tbh if we don't need to make Qt5 releases then
we don't need it. Better to be bold and pull it out than have to work
around it in the future. And we can always revert the commit.
2024-10-05 13:55:15 +13:00
toofar 3bc30e748d Merge pull request #8243 from feat/e2e_screenshots 2024-10-05 11:30:57 +13:00
qutebrowser bot 1cc408b77f Update dependencies 2024-09-30 04:20:13 +00:00
qutebrowser bot 2a75b341b8 Update dependencies 2024-09-23 04:19:57 +00:00
qutebrowser bot 61eb05d043 Update dependencies 2024-09-17 11:14:19 +00:00
toofar 78a74a2e2a Include platformdirs in test requirements as a workaround too
See the previous commit db83a82fe1
2024-09-17 23:04:25 +12:00
toofar db83a82fe1 Include platformdirs in dev requirements as a workaround
See 433074c681, this is the same cause. An older version of a
package being included in requirements files because setuptools injects
its vendored packages into sys.path and we use pip freeze to build lock
files. Then when you install two requirements files at the same time they
end up having conflicting versions. This at least means we include the
latest version, which will do until we move to a method of generating
lock files that just works off of the raw requirements file.
2024-09-17 20:35:42 +12:00
qutebrowser bot 16781b5b09 Update dependencies 2024-09-03 07:26:01 +00:00
toofar adf39e9f72 also update jaroco-context as a workaround
see previous commit
2024-09-03 19:17:09 +12:00
toofar 433074c681 Add importlib_resources to tests requirements file as workaround
Currently the dependency update job is failing[1] because one of the
tests installs multiple requirements files before running the tests and
it claims they have conflicting versions of `importlib_resources` (6.4.0
vs 6.4.4). 6.4.0 is in the pinned files and there is a 6.4.4 available.

Looking though the logs the first time I see importlib_resources==6.4.0
is when printing the requirements for the `test` requirements file.
But it's not mentioned at all when installing that file. Which makes me
think it found it's way into the virtualenv by some other means.

Looking at git blame for the test requirements lock file, it looks like
importlib_resources was introduced in
https://github.com/qutebrowser/qutebrowser/pull/8269 and indeed I can
see version 6.4.0 in setuptools vendored folder[2].

So it looks like this is another issue caused by setuptools adding their
vendored packages into sys.path.

Options I can see for resolving this:

a. add importlib_resources as a dependency in requirements.txt-raw so
  that we always pull down the newest one, even though we don't need it
b. add an @ignore line for importlib_resources
    * I think in the unlikely event we end up needing it then it being
      ignored might be hard to spot
c. drop python 3.8 support
d. switch to a requirements compilation method that doesn't use `pip
  freeze`

I've chosen (a) here because I think it's less surprising than (b), less
work than (c) and I already have a PR up for (d). And it's only pulled
down for 3.8 anyhow, so we'll drop this workaround when we drop that.

[1]: https://github.com/qutebrowser/qutebrowser/actions/runs/10660624684/job/29544897516
[2]: https://github.com/pypa/setuptools/tree/main/setuptools/_vendor
2024-09-03 19:02:52 +12:00
toofar a3238eb494 upload e2e failure screenshots as artifacts
This commit takes a screenshot of the active browser window when an
end2end test fails. When running on CI a zip file of screenshots will be
attached to the run summary as an artifact. When run locally screenshots
will be left in /$TMPDIR/pytest-screenshots/.

The screenshot is of the Xvfb screen that the tests are running under.
If there are multiple windows open it will likely only show the active
window because a) we aren't running with a window manager b) the Xvfb
display is, by default, the same size as the browser window.

I'm not sure if xvfb is used on the Window runs in CI. We could fall
back to trying to take screenshots if not running under xvfb but I'm a
bit wary of an automatic feature that takes screenshots of people's
desktops when running locally. Even if they just to to /tmp/ it might be
surprising. We can change it later if it turns out we need to try to
take screenshots in more cases.

I'm using pillow ImageGrab, the same as pyvirtualdisplay.smartdisplay. I'm
getting the display number from the pytest-xvfb plugin and formatting it
appropriately (pyvirtualdisplay has an already formatted one which is used by
the smartdisplay, but that's not accessible).

Pillow is now a requirement for running the tests. I thought about making
it gracefully not required but I'm not sure how to inform the user with
a warning from pytest, or if they would even want one. Maybe we could
add a config thing to allow not taking screenshots?

I had to bump the colordepth config for pytest-xvfb otherwise pillow
complained that the default 16bit color depth wasn't supported as it
only supports 24bit, see https://github.com/python-pillow/Pillow/blob/1138ea5370cbda5eb328ec949
8c314d376c81265/src/display.c#L898

I'm saving screenshots to a temp dir because I don't want to put them in
my workdir when running locally. I want to clear the directory for each
run so that you don't get confused by looking at old images. I'm not
100% sure about the lifecycle of the process classes though. Eg if we
have two processes they might both try to create the output directory.
I'm using pytest.session.stash to save the directory so perhaps the
lifecycle of the stash will handle that? Not sure.

Ideally the images would be uploaded somewhere where we could click
through and open them in the browser without having to download a zip
file, but I'm not sure how to achieve that.

It would be nice to print in the test logs that a screenshot was saved
and where to. Just so you could copy paste the filename instead of
having to match the sanitized filename against failing test names. But I
don't know how to log stuff from this stage in the pytest lifecycle.

TODO:
* I'm not sure that the screenshot captures the whole browser window?
  Maybe the browser windows is bigger than the X11 display?

Closes: #7625
2024-08-18 12:42:29 +12:00
qutebrowser bot 59b2cc71ce Update dependencies 2024-08-12 04:21:43 +00:00
qutebrowser bot a2c8ebf257 Update dependencies 2024-07-15 04:21:46 +00:00
qutebrowser bot 2dbb518a8d Update dependencies 2024-07-08 04:20:22 +00:00
qutebrowser bot 95075d20ff Update dependencies 2024-07-01 04:21:28 +00:00
qutebrowser bot f9cfef973a Release v3.2.1
(cherry picked from commit 8cb4556245)
2024-06-25 09:07:53 +00:00
qutebrowser bot d34bbada03 Update dependencies 2024-06-25 07:11:53 +00:00
qutebrowser bot 514026053d Update dependencies 2024-06-24 04:19:39 +00:00
qutebrowser bot 03f5ad870a Update dependencies 2024-06-17 04:20:19 +00:00
toofar 90cf7e1ff9 Merge pull request #8133 from DrTobe/idna-matching
Add Unicode normalization and IDNA encoding to qute-pass userscript.
2024-06-16 11:20:42 +12:00
qutebrowser bot cc34d09393 Update dependencies 2024-06-10 04:21:11 +00:00
qutebrowser bot ae7d7fb426 Release v3.2.0 2024-06-03 14:42:27 +00:00
toofar fb35cf9fdc Revert "Add Riverbank Computing as extra index for PyQt requirements"
Mostly reverts the below, as the new release is on the main PyPI repo
now.
Keeps the change to misc_checks.py

This reverts commit 470ec752e1.
2024-06-03 18:26:03 +12:00
qutebrowser bot 74e4476893 Update dependencies 2024-06-03 04:23:36 +00:00
qutebrowser bot 4577fcc8eb Update dependencies 2024-05-27 04:21:09 +00:00
Florian Bruhin 470ec752e1 Add Riverbank Computing as extra index for PyQt requirements
Easier fix instead of 6c4be8ef03.
Seems to get picked up just fine, and shouldn't hurt when it's not needed, as we
don't use --pre. Thus, no development releases should be installed.
2024-05-24 17:08:56 +02:00
Florian Bruhin 0f51171141 Revert "Try getting PyQt 6.7 from Riverbank server"
This reverts commit 6c4be8ef03.

Possibly easier solution in next commit.
2024-05-24 17:08:56 +02:00
Florian Bruhin 8b44c26146 Try getting PyQt 6.7 from Riverbank server
See https://www.riverbankcomputing.com/pipermail/pyqt/2024-April/045832.html and https://github.com/pypi/support/issues/3949
2024-05-24 17:08:56 +02:00
toofar 3f1842b729 Update requirements and CI for PyQt6.7
6.7 is released now, some distros are already shipping it!

This commit:
1. adds a new 6.7 requirements file (the plain 6 one has already been
   updated by the bot)
2. adds a new tox env referring to the new requirements file
3. updates the mac and windows installer jobs to run with pyqt67 with the
   assumption we'll be including that in our next release
4. adds two new CI environments for 6.7, one each for python 3.11 and 3.12
   (3.12 only came out like 6 months ago)
5. updates a couple of references to the py37 tox env that looked like they
   were missed, 3.7 support was dropped in 93c7fdd
6. updates various ubuntu containers to the latest LTS instead of the previous
   related one - this is quite unrelated to this change but I thought I would
   give it a go, no need to use the old one unless we are specifically testing
   on it?
   - linters - they use tox but probably use system libraries
   - these all run in nested containers anyway, should be fully isolated
   - codeql - eh, uses a third party action, check the docs if it fails
   - irc - as above
2024-05-24 17:08:56 +02:00
Tobias Naumann 12ebc843d1 Move idna_encode function calls out of loops whenever possible to avoid repeated computations 2024-05-24 00:16:04 +02:00
qutebrowser bot 1d8a2acf77 Update dependencies 2024-05-20 04:21:17 +00:00
Evan Chen 310c865f29
Fix some spelling errors 2024-05-09 10:58:04 -04:00
qutebrowser bot 17ff150dfd Update dependencies 2024-05-06 04:20:35 +00:00
qutebrowser bot 4fdc32ffe1 Update dependencies 2024-04-29 04:20:02 +00:00
qutebrowser bot 085af13014 Update dependencies 2024-04-27 07:20:49 +00:00
qutebrowser bot daa0662497 Update dependencies 2024-04-27 18:39:57 +12:00
qutebrowser bot 6cb75b568a Update dependencies 2024-04-15 04:31:03 +00:00
Vanessa Frank 295943060c Changed line 35 of tor_identity userscript to stop it throwing an error when '--control-port' is passed 2024-04-11 17:41:42 -06:00
qutebrowser bot 4a12ae7804 Update dependencies 2024-04-08 04:22:53 +00:00
qutebrowser bot d0eac83676 Update dependencies 2024-03-25 04:21:29 +00:00
Tobias Naumann bc7d956f77 Add Unicode normalization and IDNA encoding to qute-pass userscript for the 'pass' mode (gopass support missing) 2024-03-18 16:34:57 +01:00
qutebrowser bot ab9e575ab9 Update dependencies 2024-03-18 04:21:00 +00:00
qutebrowser bot e02e709d7c Update dependencies 2024-03-04 19:16:02 +00:00
toofar 2f3d0161f3 Update lint etc for dependencies
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-26 19:22:27 +13:00
qutebrowser bot 52f5147666 Update dependencies 2024-02-26 04:20:13 +00:00
qutebrowser bot 569716bef5 Update dependencies 2024-02-19 04:20:46 +00:00
qutebrowser bot 5615d0e59b Update dependencies 2024-02-12 04:20:45 +00:00
qutebrowser bot 4af52180b5 Update dependencies 2024-02-05 04:20:36 +00:00
qutebrowser bot a0437782f1 Update dependencies 2024-01-29 04:19:53 +00:00
qutebrowser bot 0563dc0eda Update dependencies 2024-01-22 04:20:11 +00:00
qutebrowser bot 96ff6132cb Update dependencies 2024-01-15 04:21:31 +00:00
qutebrowser bot 293e3559bc Update dependencies 2024-01-08 04:20:19 +00:00
qutebrowser bot 9bf6f89036 Update dependencies 2024-01-01 04:20:20 +00:00
toofar 19204f441e Update qute-pylint requirements regex for new setuptools.
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-26 14:09:35 +13:00
qutebrowser bot ecdb2bfe88 Update dependencies 2023-12-25 04:22:00 +00:00
qutebrowser bot 66229f4d64 Update dependencies 2023-12-18 04:20:09 +00:00
toofar da59327e3e Regenerate pylint requirements with isort pinned
I added isort!=5.13.0 in misc/requirements/requirements-pylint.txt and
ran `python3 scripts/dev/recompile_requirements.py pylint` in `docker
run -v `pwd`:/work -w /work -it python:3.8-bookworm bash` based off of
main.

Then reverted the relevant part of the update dependencies commit with
`git show HEAD misc/requirements/requirements-pylint.txt | patch -R -p
1` and manually updated the two deps from the local update run :)

    diff --git i/misc/requirements/requirements-pylint.txt w/misc/requirements/requirements-pylint.txt
    index 80319adc03a7..1c8fa33e623a 100644
    --- i/misc/requirements/requirements-pylint.txt
    +++ w/misc/requirements/requirements-pylint.txt
    @@ -11,7 +11,7 @@ idna==3.6
     isort==5.12.0
     mccabe==0.7.0
     pefile==2023.2.7
    -platformdirs==4.0.0
    +platformdirs==4.1.0
     pycparser==2.21
     PyJWT==2.8.0
     pylint==3.0.2
    @@ -21,6 +21,6 @@ requests==2.31.0
     six==1.16.0
     tomli==2.0.1
     tomlkit==0.12.3
    -typing_extensions==4.8.0
    +typing_extensions==4.9.0
     uritemplate==4.1.1
     # urllib3==2.1.0

ref: https://github.com/qutebrowser/qutebrowser/pull/8028#issuecomment-1849363267
2023-12-11 21:42:54 +13:00
qutebrowser bot c0141b0952 Update dependencies 2023-12-11 04:20:19 +00:00
qutebrowser bot a9f6ad9731 Release v3.1.0 2023-12-08 15:30:58 +00:00
qutebrowser bot 6fbc15e3cf Update dependencies 2023-12-04 11:52:34 +00:00
qutebrowser bot 19dc338ecf Update dependencies 2023-11-27 04:20:57 +00:00
qutebrowser bot 3759738f52 Update dependencies 2023-11-20 04:20:33 +00:00
toofar 5cc948aeb5 Downgrade mypy for now
I believe we are being afflicted by this issue: https://github.com/python/mypy/issues/16451
Although I'm not 100% sure because there is a lot going on in this
function and I haven't managed to grok it.

The mypy 1.7 release [notes][1.7] say you can disable the new type
inference by running `tox -e mypy-pyqt6 -- --old-type-inference` and
indeed mypy passes with that. So either our type hints are incorrect or
we are hitting a bug. Considering the inferred type hint has a `Never`
in it I'm leading toward it being a bug. So I'll bump the mypy version
down and hopefully next week the issue will be resolved.

The mypy output before this commit was:

    mypy-pyqt6: commands[0]> .tox/mypy-pyqt6/bin/python -m mypy --always-true=USE_PYQT6 --always-false=USE_PYQT5 --always-false=USE_PYSIDE6 --always-false=IS_QT5 --always-true=IS_QT6 --always-true=IS_PYQT --always-false=IS_PYSIDE qutebrowser
    qutebrowser/utils/qtutils.py:239: error: Argument 1 to "contextmanager" has incompatible type
    "Callable[[str, bool, str], Iterator[IO[AnyStr]]]"; expected "Callable[[str, bool, str], Iterator[IO[Never]]]"  [arg-type]
        @contextlib.contextmanager
         ^
    qutebrowser/misc/lineparser.py: note: In member "save" of class "LineParser":
    qutebrowser/misc/lineparser.py:168: error: Need type annotation for "f"  [var-annotated]
                    with qtutils.savefile_open(self._configfile, self._binary) as f:
                         ^
    qutebrowser/misc/lineparser.py: note: In member "save" of class "LimitLineParser":
    qutebrowser/misc/lineparser.py:226: error: Need type annotation for "f"  [var-annotated]
                with qtutils.savefile_open(self._configfile, self._binary) as f:
                     ^
    qutebrowser/config/configfiles.py: note: In member "_save" of class "YamlConfig":
    qutebrowser/config/configfiles.py:292: error: Need type annotation for "f"  [var-annotated]
                with qtutils.savefile_open(self._filename) as f:
                     ^
    qutebrowser/misc/sessions.py: note: In member "save" of class "SessionManager":
    qutebrowser/misc/sessions.py:343: error: Need type annotation for "f"  [var-annotated]
                    with qtutils.savefile_open(path) as f:

[1.7]: https://mypy-lang.blogspot.com/2023/11/mypy-17-released.html
2023-11-13 20:23:06 +13:00
toofar d55e831f39 Merge second dependancy update.
Didn't manage to merge the first one in time.

ref: https://github.com/qutebrowser/qutebrowser/pull/7990
2023-11-13 18:46:09 +13:00
toofar bb9788f80f add pyqt6.6 requirements file
What is that big chain of !pyqt- etc mean? idk

ref: https://github.com/qutebrowser/qutebrowser/pull/7990
2023-11-13 18:45:18 +13:00
qutebrowser bot 9ebd28a108 Update dependencies 2023-11-13 18:45:18 +13:00
qutebrowser bot ef9301da92 Update dependencies 2023-11-13 04:24:22 +00:00
qutebrowser bot 27b43bd5ac Update dependencies 2023-10-30 04:22:08 +00:00
toofar ab7b079411 debug python imports
For windows I'm getting a "Module not found." error, which I suspect is
it not finding qutebrowser itself, but lets see.

ref: https://pyinstaller.org/en/stable/spec-files.html#giving-run-time-python-options
2023-10-28 10:44:55 +13:00
toofar b4bbf3252f un-pin pyinstaller
ref: #7806
2023-10-28 10:44:44 +13:00
qutebrowser bot 1709987966 Update dependencies 2023-10-23 04:23:17 +00:00
qutebrowser bot fa862c786e Release v3.0.2
(cherry picked from commit f4ba52d33f)
2023-10-19 18:39:52 +00:00
qutebrowser bot ea80b73d73 Release v3.0.1
(cherry picked from commit b3b1384037)
2023-10-19 18:15:46 +00:00
qutebrowser bot c20c196250 Update dependencies 2023-10-16 04:24:13 +00:00
qutebrowser bot 2c503bf35d Update dependencies 2023-10-09 04:25:45 +00:00
qutebrowser bot 7d9db29661 Update dependencies 2023-10-02 04:22:42 +00:00
qutebrowser bot 5cd2faba52 Update dependencies 2023-09-25 04:23:04 +00:00
qutebrowser bot 2be3febced Update dependencies 2023-09-18 04:25:55 +00:00
qutebrowser bot 3cc79c562d Update dependencies 2023-09-11 04:22:04 +00:00
Florian Bruhin 3fabc8fe37 tests: Ignore false-positive (?) hypothesis health check
See https://github.com/HypothesisWorks/hypothesis/issues/3733
Should fix nightly builds (and the next dependency upgrade).
2023-09-08 12:04:37 +02:00
qutebrowser bot c7c56fb035 Update dependencies 2023-09-04 04:22:47 +00:00
qutebrowser bot 4d15de5a3b Update dependencies 2023-08-28 04:23:01 +00:00
qutebrowser bot 35e4122a52 Update dependencies 2023-08-21 04:25:14 +00:00
toofar d4a7619f9c userscripts: run view_in_mpv jseval in main world
1. run jseval in main world: the script adds an element that calls the
   `restore_video` function. This was failing with a "not found" message
   on webengine, presumably because the dom click handler runs in the
   main world and the function was over in the jseval world. The the
   script predates webengine which is the backend that implements the
   worlds.
2. remove a console log message, seems to be just noise and easy enough
   to add back later
3. remove href attribute of the restore video link: this seemed to be
   causing the `restore_video` method to be called twice. The second
   time with `this` as the global Window object, which was causing an
   error because that has a null `parentNode` attribute.
4. added the `cursor: pointer` style that was needed since the element
   didn't have an href anymore
5. change the mpv flags `--terminal` -> `--quiet`. This means we get
   error messages (eg from yt-dlp) in error logs and in the `:process`
   page now. It can get a bit spammy though if you are running from a
   terminal. I'm getting a log of keepalive warning and error logs from
   ffmpeg. On the other hand it's really annoying to see a "process
   failed, see :process for details" and having no error messages in
   there.

Fixes: #7838
2023-08-20 10:57:14 +12:00
qutebrowser bot b11ead8f42 Release v3.0.0 2023-08-18 14:15:48 +00:00
Florian Bruhin 967d0ce291 Revert "Release v3.0.0"
This reverts commit f3692d8f28.
2023-08-18 16:14:34 +02:00
qutebrowser bot f3692d8f28 Release v3.0.0 2023-08-18 13:38:14 +00:00
Florian Bruhin ab820fe8a0 ci: Set up asciidoc properly for releases 2023-08-17 12:39:00 +02:00
Florian Bruhin a25e7c2b64 Fix remaining references to old commands
Follow-up to #7809, see #7214
2023-08-15 20:15:48 +02:00
qutebrowser bot 9115a6212a Update dependencies 2023-08-14 04:21:37 +00:00
bitraid 7599dbc209 nsis: custom error message for Qt5 OS version check
The CheckPlatform macro will prompt the user user to use the 32bit installer
if they are on a 32bit system. But we don't provide a 32bit installer anymore.

This commit changes the OS version check for Qt5 builds to be based on checking
version numbers ourselves too, so that we can have our own error message.

Also moves the Qt5 conditionals to be compile time ones.
2023-08-13 15:14:24 +12:00
toofar 6f7b76f066 nsis: allow Win10 versions back to 1607 2023-08-13 15:14:24 +12:00
toofar c1841c7948 nsis: remove arch from binary path string
We dropped 32bit support in #7804 and as a result removed the arch
suffix from the binary that pyinstaller produces. This commit removes it
form the lookup path in the installer too.

Note that we are leaving the arch string in the installer itself for
now. Mostly because it'll be removed as part of a later change when the
installer itself is refreshed. But it might also be useful to clarify in
the installer names what the arch is? Maybe, that reasoning might not
fit with the previous change to remove the arch strings.
2023-08-13 15:14:24 +12:00
bitraid f903ae4985 nsis: minimum OS version check for Qt6
The Qt docs for 6.5 say that the minimum supported version is Windows 10
1809.

Experimentally it seems qutebrowser and it's dependencies work fine on a
version as early 1607.

There should be no change in OS version requirements for the Qt5 build,
although we've dropped 32 bit support already and in a future version of
the installer we may bring the minimum OS version support in line with
the Qt6 requirements for simplicity too.

Added a new QT5 version into the NSIS scripts so we can do the different
version check per installer build. It just uses the python bool
serialization format so should always be "True" or "False", but I've
added a fallback anyway for consistency.
2023-08-13 15:14:24 +12:00
toofar 0f2d34623c Merge remote-tracking branch 'upstream/main' into feat/mac_sandbox_pre_release_pyinstaller
Only conflict was the removal of support for 32bit builds in
build_release.py
2023-08-12 13:49:01 +12:00
toofar 32470686ce macOS: switch to more suitable bundle ID
Trying to switch the bundle ID again and see if that makes things work.
Will need to check 5.15 too.

ref: https://github.com/qutebrowser/qutebrowser/pull/7803#issuecomment-1657106925
Closes: #5180
2023-08-12 13:36:50 +12:00
toofar 088d6f48c2 Pin PyInstaller to specific commit
I don't want to deal with having to review development changes of
pyinstaller every week. So pin to one commit for now that we can
actually test. I'm subscribed to release notifications on github so I'll
manually change this back to point to the pyinstaller pypi package ones
it does.
2023-08-12 13:36:50 +12:00
qutebrowser bot 38223ecb40 Update dependencies 2023-08-07 04:22:49 +00:00
toofar fc91c976d3 manual update of cryptography (and rich)
When handling the automated dependancy update PR GH warned on push of a
low priority security issue with cryptography. So updating that now.

Rich has an update available too.

ref: https://github.com/qutebrowser/qutebrowser/security/dependabot/32
ref: #7807
2023-08-02 20:55:51 +12:00
qutebrowser bot 4049bac356 Update dependencies 2023-07-31 04:22:34 +00:00
toofar c0d31d399d adjust pyinstaller data paths to match importlib_resources
Not that we are looking up resources via importlib_resources for
pyinstaller builds too we need to change where the data files are
installed to to match what importlib_resources is expecting.

There was a comment in the previous resource lookup special case
complaining about the data files being at the top level so it seems this
is a change for the better anyhow.

Observed paths:

    requested file: qutebrowser.app/Contents/Frameworks/qutebrowser/config/configdata.yml
    actual file   : qutebrowser.app/Contents/Frameworks/config/configdata.yml
2023-07-27 19:17:27 +12:00
toofar a71aff389d Pin latest pyinstaller commit from develop branch
PyInstaller has [recently][symlinks] landed a change that should restore
the webengine sandbox on macOS builds. With a bit more testing we are
hoping that we can go ahead releasing builds based on that
in-development PyInstaller codebase even before they've made a release.

This commit pins our pyinstaller dependency to be the latest commit on
their develop branch.

[symlinks]: https://github.com/pyinstaller/pyinstaller/pull/7619
2023-07-27 19:08:18 +12:00
qutebrowser bot 5b2038c4cb Update dependencies 2023-07-24 11:22:06 +00:00
Florian Bruhin 8ddaef35d0 reuse: Fix more copyright headers
See previous commit, forgot ? after year range
2023-07-23 12:56:13 +02:00
Florian Bruhin 3eb826f664 reuse: Update remaining copyright texts
git ls-files | \
    xargs sed -Ei 's/Copyright [0-9]{4}(-[0-9]{4}) ([^<]*)<([^>]*)>/SPDX-FileCopyrightText: \2<\3>/'
2023-07-23 12:52:01 +02:00
Florian Bruhin 0718b25796 reuse: Initial copyright text update for myself
git ls-files | \
    xargs sed -Ei 's/Copyright [0-9]{4}(-[0-9]{4}) Florian Bruhin \(The Compiler\) <mail@qutebrowser\.org>/SPDX-FileCopyrightText: Florian Bruhin (The Compiler) <mail@qutebrowser.org>/'
2023-07-23 12:49:05 +02:00
Florian Bruhin 67686bb1a7 reuse: Fix remaining userscripts without extension
reuse annotate --license="GPL-3.0-or-later" --style python \
    misc/userscripts/openfeeds \
    misc/userscripts/qute-bitwarden \
    misc/userscripts/qute-keepass \
    misc/userscripts/qute-keepassxc \
    misc/userscripts/qute-lastpass \
    misc/userscripts/qute-pass \
    misc/userscripts/tor_identity \
    misc/userscripts/dmenu_qutebrowser \
    misc/userscripts/rss
2023-07-23 12:28:23 +02:00
Florian Bruhin d2975c6d09 reuse: Get files in misc/nsis/ to use SPDX
reuse annotate --license="GPL-3.0-or-later" --style python \
    misc/nsis/uninstall_pages.nsh \
    misc/nsis/install.nsh \
    misc/nsis/uninstall.nsh

And fixing qutebrowser.nsi manually as that uses iso-8859-1 and the reuse tool
doesn't like that apparently.
2023-07-23 12:19:27 +02:00
Florian Bruhin ec34865168 Move master branch references to main
Closes #7097
2023-07-23 11:38:19 +02:00
Florian Bruhin 273230eb07 Merge remote-tracking branch 'origin/pr/7789' 2023-07-22 12:36:31 +02:00
qutebrowser bot 4e0180cede Update dependencies 2023-07-20 10:57:42 +00:00
Florian Bruhin 6d1dcc30ad Merge remote-tracking branch 'origin/update-dependencies' 2023-07-10 10:04:14 +02:00
qutebrowser bot 93fb20e67e Update dependencies 2023-07-10 04:23:00 +00:00
Florian Bruhin 5a9027c54e mypy: Switch to upstream stubs for PyQt6
They are getting much better
2023-07-09 01:02:33 +02:00
qutebrowser bot 9d89e16e19 Update dependencies 2023-07-03 04:24:46 +00:00
Florian Bruhin 29dffd782d Update userscripts to PyQt6 2023-06-30 19:29:28 +02:00
Florian Bruhin ffc06e58d6 qt6: Switch most tooling/linting to Qt 6
Only mypy missing now...
2023-06-30 19:29:28 +02:00
Florian Bruhin 904cab911d mypy: Install more typeshed types 2023-06-30 00:49:30 +02:00
Florian Bruhin d27902e054 qt6 mypy: Add PyQt6-stubs
Unfortunately there is no PyPI release yet, so install from git.

243 -> 191 errors
2023-06-29 21:10:01 +02:00
Florian Bruhin 93c7fdd60c Initial Python 3.7 drop 2023-06-26 14:39:54 +02:00
Florian Bruhin 86a83240b9 Update broken userscript links 2023-06-26 13:55:45 +02:00
toofar 937cfa41ad Pin for 3.8 and changelog URL for jaraco.functools 2023-06-26 18:01:15 +12:00
qutebrowser bot faa8091c65 Update dependencies 2023-06-26 04:22:20 +00:00
qutebrowser bot a7282f6235 Update dependencies 2023-06-19 04:22:17 +00:00
qutebrowser bot e502663fe3 Update dependencies 2023-06-12 04:23:46 +00:00
qutebrowser bot daee26c7a7 Update dependencies 2023-06-05 04:22:14 +00:00
toofar 5dd637f444 Merge pull request #7723 from ralsina/use-netloc-in-qute-pass
Use url netloc as a candidate key for qute-pass
2023-06-04 12:04:08 +12:00
Roberto Alsina a31b654252 Use url netloc as a candidate key for qute-pass 2023-05-30 19:13:59 -03:00
qutebrowser bot d907ac795b Update dependencies 2023-05-29 04:23:35 +00:00
qutebrowser bot 6d574f7a4e Update dependencies 2023-05-22 04:22:20 +00:00
qutebrowser bot 38dff9ab79 Update dependencies 2023-05-15 04:22:29 +00:00
qutebrowser bot 076a6fcb90 Update dependencies 2023-05-08 04:24:55 +00:00
toofar 64811478a3 Manually bump flask and werkzeug to fix cookie issue
These tests were failing on webkit due to cookies not getting set (they
made a change recently to fix a security issue around cookies and must
have messed something up)

  tests/end2end/test_invocations.py::test_cookies_store
  tests/end2end/features/test_private_bdd.py::test_make_sure_private_data_is_not_cleared_when_closing_a_private_window_but_another_remains
2023-05-07 14:56:50 +12:00
toofar 8b2b4fc61e Flask updates, pin for py37 and add blinker
Pin Flask and Werkzeug for py3.7
They've removed compatibility upstream.
Added example to readme file because I had to go dig for one in the
commit history.
Add blinker to changelog URLs as it's a required dependency of Flask
now.
2023-05-07 12:29:15 +12:00
qutebrowser bot 8a59762e04 Update dependencies 2023-05-01 04:23:51 +00:00