Age | Commit message (Collapse) | Author |
|
|
|
|
|
Recently the FreeBSD port of sqlite has DQS feature disabled by default.
Without this feature enabled, it's not allowed to use double quotes
for string literals. As such quoting is used in the history.py module,
qutebrowser fails to work on such configurations.
The fix is to use single quotes instead.
ref: #7596
|
|
|
|
|
|
(cherry picked from commit bb97af74fb4c57d73b6939e72ae34ae6fa042f79)
|
|
v0.9.0 seems to add SC2317 ("Command appears to be unreachable."):
https://www.shellcheck.net/wiki/SC2317
This adds various false-positives in password_fill, let's just ignore
those...
Also see: https://github.com/koalaman/shellcheck/issues/2613
(cherry picked from commit 5afc8a68191160f8d5c74b92874a0032d3c1996e)
|
|
Seems to happen instead of NoReply with some notification servers after them quitting
(cherry picked from commit 94a642f455b9973757421eb394cdb433248e8b34)
|
|
(cherry picked from commit 39e577c36eef9892165a6979c403e9b2d9bc239c)
|
|
Trivial to polyfill, needed by various pages in the wild,
and only natively available with Qt 6.2.
Closes #7501
Also see #7237 and 726d5e614b1f80c339084eba7d1c240bf467fa9b
(cherry picked from commit ce64e5d899666bd469bf07bd0fecbc75d4bfed3a)
|
|
|
|
Fixes #7481
(cherry picked from commit f277876ce0817f7d05ca94b05beb644482027f85)
|
|
Used to construct fully-qualified URLs from relative links. Without it
you get broken images and links.
(cherry picked from commit 5a880944352da582bd2e1bb3fcbbcc8999e9799e)
|
|
Those seem to fail in weird ways as well...
(cherry picked from commit d78e6759b775c835dca957d518cb25da4a8335a8)
|
|
Not sure why this is needed out of the sudden...
(cherry picked from commit 8c29f22b9325c6fc766ac52da6f8401d64cc884f)
|
|
|
|
Fixes #3580
(cherry picked from commit d9e20f6b3071b86b479f281fe27d621e0b3ae7e5)
|
|
Needed for the next commit. Done in both config.py and configfiles.py
for consistency.
(cherry picked from commit 78454983e0472a57db7e7949916269a29cd1f857)
|
|
Those commands use the config interface expecting Python objects (via
update_mutables), but we always used the raw user-supplied string as
input.
Thus far, it was very hard to trigger this bug: It would only
trigger with a List or Dict config option, with a value type which does
*not* accept a string type in to_py(). That means:
- List / FlagList / ConfirmQuit / ShellCommand
- Bool / BoolAsk
- Int
- Float
- Dict / Padding
(Notably, Perc, PercOrInt and Regex all *do* accept a string.)
That leaves only a couple of candidates:
- hints.selectors, but that's "no_autoconfig: true"
- bindings.default, ditto
- bindings.commands, but no reason to use :config-dict-* on it,
especially with fixed keys
Therefore, this got only uncovered now, after adding
content.javascript.log_message.levels, which is a Dict with FlagList
values.
Note that we still don't have any config definition with an affected
List type, thus currently making it impossible to test the changes for
:config-list-{add,remove}.
Also note the adjusted test_{dict,list}_add_invalid_value tests - they
were just plain wrong. The command functions are never going to be
called by a Python object from the user (only with a str).
Finally, test_list_remove_no_value also needed an adjustment because
the value validation now happens *before* the other validation done
by the command.
(cherry picked from commit 28f171d1bbf79e6bba05779daa13d5cbb8deed52)
|
|
If we only clear existing mutables *after* applying, we get into an
inconsistent state if there was an error in one of the config values:
The improper value lingers around in self._mutables, and then gets
returned when get_mutable_obj() (or update_mutables()) gets called the
next time.
Reproducer:
qutebrowser --debug --temp-basedir \
':config-dict-add content.javascript.log_message.levels example.org bla' \
':later 1000 config-dict-add content.javascript.log_message.levels example.org bla'
Results in:
ERROR: Invalid value 'bla' - expected a value of type list but got str.
ERROR: example.org already exists in content.javascript.log_message - use --replace to overwrite!
Fixes the second part of #7343.
nb: As before, the mutable updating actually gets interrupted by a
failing update, instead of it e.g. collecting all errors but carrying
on. With this change, the remaining updates will thus also be discarded,
but that does not seem to be a problem with how mutables are currently
used. Ideally, we should get rid of the mutable handling entirely
anyways, at least for qutebrowser internal code - see #4344.
(cherry picked from commit 8eecf3af83fc9a4e465744a83e86856fe1c6df10)
|
|
Closes #7301
(cherry picked from commit 63caa39a2ab191181689f048e994207b67bef092)
|
|
(cherry picked from commit 42ade4c1721fc51481dc943fc7539c38e7993881)
|
|
When the file is e.g. unreadable, .is_file() will work, but this step will fail.
(cherry picked from commit 991cf1e8baee1a2365c1e2e81f92ce348344871c)
|
|
(cherry picked from commit 0607c1f7cf7941eafab2677ce278d6022128b6e8)
|
|
(cherry picked from commit d78b32e1f4c6f2e666ca8075b70e1b07d6bfb96b)
|
|
(cherry picked from commit 52d98ad9aa2defc1d5ae42c65e4c6e5828e5ed35)
|
|
(cherry picked from commit 208e56f0e9eaa8fc167d7fae45628a2d54e80dbf)
|
|
(cherry picked from commit 4e5b1d287d655ec27e5c8f2730ee4e1e682ce940)
|
|
|
|
|
|
This is handled separately from the other settings, but were never initialized
properly in init_settings().
This has been around since 2018: 3956f81e730463adcba05d92d0043155609aa422.
For content.javascript.clipboard, this is a recent regression introduced in
4a6df3a8e84780e9f58dbda31c3a9bfa1e35cebe. Thus, that part wasn't cherry-picked.
Fixes #7281
(cherry picked from commit dd68a84bc94da0492e3e49eaea629e604fe8ebee)
|
|
This reverts commit 726d5e614b1f80c339084eba7d1c240bf467fa9b.
This seems to have been fixed on LinkedIn's side in the meantime.
|
|
(cherry picked from commit cf58c694e3a9289697ede33561ccb12b616b325e)
|
|
(cherry picked from commit ce7443219cf4325a8e7c556c8a05c22eb6455e02)
|
|
Alternative to 7ba16857a5f5d475f5cf5c7ce6401a0d17b62b7e in master, which is a pure refactoring and doesn't cherry-pick cleanly.
|
|
(cherry picked from commit 8067c0979fd7e8eed2437bda212fb55ee82e77f0)
|
|
(cherry picked from commit 4dc3380cdc4fee33edbf696124d404f05c6a5e82)
|
|
(cherry picked from commit 56a5a9340b50f77e7bd98e318d88fc059eee5fcc)
|
|
Those require a lot of patching (and other efforts), but it does not
seem possible to write this kind of thing as an integration test:
https://www.riverbankcomputing.com/pipermail/pyqt/2022-June/044733.html
https://www.riverbankcomputing.com/pipermail/pyqt/2022-June/044734.html
(cherry picked from commit 5f0e3e9877e6d60301594880490ed366f3cb3c14)
|
|
The decision in a64c3d0dfc000cbd1a0b1f0f0afda783be245880 to return from
_verify_message() when there is a non-fatal error (later expanded to
more than just NoReply) was a poor one:
While the error signal indeed takes care of swapping out the faulty
adapter, the direct caller of _verify_message generally expects the
message to be in the verified shape (e.g. having 4 arguments, or an int
as argument, etc.). Thus, every caller would have to handle this
situation, yet none of them did!
With the restructured code, we now *always* raise an exception. It's
still the callers responsibility to deal with that happening, but that's
much less tricky than just pretending we validated the data when we did
not.
Thankfully, most caller already handle the situation, or don't need to:
- _get_server_info() and _fetch_capabilities() get called from __init__,
where any notification.Error is already handled by
NotificationBridgePresenter.
- _handle_close() and _handle_action() get called as DBus signals by Qt.
It's hard to imagine how they would ever get an error reply, as the
caller is the other side (the notification server), not us!
This only leaves present(), which now handles this case: If it gets a
fatal exception it still gets raised, but for any non-fatal ones, we now
emit the error signal there and return a dummy value.
Fixes #6931
(cherry picked from commit cd43614a62789edcbfbf07e292117ec4718cd86c)
|
|
(cherry picked from commit a7625bf9249cf5beec81c3dabad892f11518e594)
|
|
Fixes #7160
(cherry picked from commit 124fc717d17d6ec5d073e68a5ae1a8d0dfa1587b)
|
|
(cherry picked from commit c457183d042a1e66d8f483a22c2c349c379b8f55)
|
|
Closes #7237
(cherry picked from commit 5e0d6dc1483cb3336ea0e3dcbd4fe4aa00fc1742)
|
|
More hack-ish variant of c8d6b264ae47a8f5143b9a3d9b69f244d0c75578 but
requiring less changes.
Fixes #7245
|
|
(cherry picked from commit a6c2a33197c42d0f05b41ec36d6e0025b98d3445)
|
|
(cherry picked from commit f13af68cac672088af46f642453ac5e4c2f2215b)
|
|
(cherry picked from commit db288550ac2390d100540791121f3f391eee75fc)
|
|
(cherry picked from commit 3b815258265f2dfb5c4cb46c3bbb7adff43ef82b)
|
|
Based on https://github.com/pyinstaller/pyinstaller/issues/6612
Might help with #6771.
(cherry picked from commit 660e776a15c02f5577d7aca075bb0e3f8b142831)
|