summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-21Merge remote-tracking branch 'upstream/main' into tree-tabs-integrationtree-tabs-integrationtoofar
2024-04-21Merge pull request #8102 from pylbrecht/tab-close-teststoofar
Add more end2end tests for tree tabs feature
2024-04-20Merge pull request #8139 from ↵toofar
qutebrowser/feat/7187_chromium_security_patch_in_version Show chromium security patch version in :version
2024-04-16Avoid quitting when closing KDE file dialogFlorian Bruhin
See https://bugreports.qt.io/browse/QTBUG-124386 Fixes #8143
2024-04-16Merge pull request #8164 from qutebrowser/update-dependenciesFlorian Bruhin
Update dependencies
2024-04-15Update dependenciesqutebrowser bot
2024-04-13Merge pull request #8122 from ↵toofar
qutebrowser/tree/8078_treetabbedbrowser_misc_cleanups Tree/8078 treetabbedbrowser misc cleanups
2024-04-13update changelog for #8162toofar
2024-04-13Ignore DIR_APP_DICTIONARIES message in release smoke test tootoofar
We've already ignored this in the tests, it started showing up in the nightly builds a few days ago, only on macos for some reason.
2024-04-13Merge pull request #8162 from NocturnalNessa/small_fix_for_tor_identity_scripttoofar
Changed line 35 of tor_identity userscript to stop it throwing an err…
2024-04-11Changed line 35 of tor_identity userscript to stop it throwing an error when ↵Vanessa Frank
'--control-port' is passed
2024-04-09Adjust changelog URLsFlorian Bruhin
2024-04-09flake8: Remove redundant pytest style optionsFlorian Bruhin
Default since flake8-pytest-style 2.0.0: https://github.com/m-burst/flake8-pytest-style#change-log
2024-04-09mypy: Remove show_error_codesFlorian Bruhin
Default since 0.991: https://mypy-lang.blogspot.com/2022/11/mypy-0990-released.html
2024-04-09Merge pull request #8152 from qutebrowser/update-dependenciestoofar
Update dependencies
2024-04-09Ignore new mesa "error" logtoofar
This only shows up on the webkit CI job. Probably something to do with the fact that we are using webkit builds from the distant archives. I'm sure it'll break for real one of these days.
2024-04-09Add backports.tarfile changelog linktoofar
It's a new externalised dependency of jaraco.context, doesn't seem to have a RTD site yet. ref: https://github.com/jaraco/jaraco.context/commit/e13fc7f2b379683c326153a3d6f4d2800f812fd0
2024-04-09Move webkit.http to webkit.httpheaderstoofar
flake8 got a new warning about a module name shadowing a builtin module: https://github.com/gforcada/flake8-builtins/pull/121 Probably would have been safe enough to ignore it. But I don't think moving it is that hard anyway. Hopefully I didn't miss anything!
2024-04-08Update dependenciesqutebrowser bot
2024-04-06Pin eslint for now until we support v9+toofar
See https://github.com/qutebrowser/qutebrowser/issues/8159
2024-04-06Add a :window-only for some qt5 end2end teststoofar
A couple of tests seem to be failing because there is two windows open and they don't expect it. I haven't fixed the root cause, I looked through the logs and couldn't see why a second window was open. But if this makes the tests pass, I guess we can address that if someone reports it. Also changed `_get_scroll_values()` to handle multiple tabs/windows being open too while I was there. Example logs: https://github.com/qutebrowser/qutebrowser/actions/runs/8548730512/job/23422922448 Sessions file from the test logs: Current session data: windows: - geometry: !!binary | AdnQywADAAAAAAAyAAAAMgAAA1EAAAKJAAAAMgAAADIAAANRAAACiQAAAAAAAAAAAyAAAAAyAAAA MgAAA1EAAAKJ tabs: - active: true history: - active: true last_visited: '2024-04-04T03:21:00' pinned: false scroll-pos: x: 0 y: 0 title: about:blank url: about:blank zoom: 1.0 - active: true geometry: !!binary | AdnQywADAAAAAAAyAAAAMgAAA1EAAAKJAAAAMgAAADIAAANRAAACiQAAAAAAAAAAAyAAAAAyAAAA MgAAA1EAAAKJ tabs: - active: true history: - active: true last_visited: '2024-04-04T03:21:03' pinned: false scroll-pos: x: 0 y: 40 title: Scrolling url: http://localhost:39235/data/scroll/simple.html zoom: 1.0
2024-04-06Ignore more 6.7 DIR_APP_DICTIONARIOES log messagestoofar
In the bleeding edge CI tests I'm seeing: IGNORED: Path override failed for key base::DIR_APP_DICTIONARIES and path '/__w/qutebrowser/qutebrowser/.tox/bleeding/lib/python3.11/sitePath override failed for key base::DIR_APP_DICTIONARIES and path '/__w/qutebrowser/qutebrowser/.tox/bleeding/lib/python3.11/site-packages/PyQt6/Qt6/libexec/qtwebengine_dictionaries' INVALID: -packages/PyQt6/Qt6/libexec/qtwebengine_dictionaries' Where the second line looks like maybe spill over from the first one that is for some reason being printed twice and interleaved! Maybe different processes or threads? I did a regex for "line ending with this and with no spaces in it" which is hopefully safe enough to not pick up a wrong line accidentally.
2024-03-28Add end2end test for :tab-move <index>pylbrecht
2024-03-28Add end2end test for :tab-prev --siblingpylbrecht
2024-03-28Add end2end test for :tab-next --siblingpylbrecht
2024-03-28Add end2end test for :tab-focus parentpylbrecht
2024-03-28Add end2end test for :tab-close without --recursivepylbrecht
2024-03-27Add role="switch" to default hints.selectorsFlorian Bruhin
See https://www.reddit.com/r/qutebrowser/comments/1bomb3h/closing_popups_within_a_webpage_and_toggling/
2024-03-27Fix derpFlorian Bruhin
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-25fix UndoEntry type hintstree/8078_treetabbedbrowser_misc_cleanupstoofar
probably, as mypy isn't passing on this branch anyhow. Also the whole tabbedbrowser class looks pretty lightly type hinted.
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-25Add explanatory comments and minor cleanups.toofar
I went in to tabopen feeling a bit suspicious that the positioning code was in some way duplicating `_get_new_tab_idx` in the parent class, or if this code could be moved out to a common helper method or called by a signal. When a new tab is opened we need to position it in the tree structure. For related and sibling tabs we need to know the tab that the new one is opened "from". The tab related code deals with three new "new_position" settings that the parent method doesn't know about. For pulling it out behind a signal, we have the exiting `new_tab` signal, but that doesn't say what the previous tab was. We could maybe use the `TabbedBrowser._now_focused` or `TabbedBrowser.tab_dequeue` for that, but that seems like it might be unfairly adding some new responsibility onto those attributes? Even then we still would have no way to know whether the user had requested a `related` or `sibling` tab. So it seems all the code around tab positioning left here is specific to tree tabs, assuming all the new "new_position" settings are needed, and it's integrating with the existing code in a fine way, assuming we are aiming for keeping the new code in subclasses. But that all begs the question of how would an extension proper do it? I think it would do it much the same way, but instead of subclassing TabbedBrowser it would define a new :open command and ask uses to switch to that (or replace it if we allow that). Then that new command would call TabbedBrowser to get a tab and then do it's own extra stuff. And hook into the `new_tab` signal to handle a new one being created via some other means. Although that would not let if know whether a tab was opened as related or not (eg created from clicking a link vs loading a session). So maybe something to work on there for the extension API. tabopen: * add comment explaining necessity of the method * add some early exits - I think this is fairly important to limit the number of possible logic paths maintainers have to keep in their heads when working with the more logic heavy code down below * didn't add an early exit for `idx is not None` because I'm not 100% sure when that is set and I'm not confident enough in our test coverage to change it right now position_tab: * change to work with just Nodes instead of tabs - makes testing easier * change the initial duplicate avoidance code to be more clear to me, probably it would be even more clear is `parent` was called `new_parent` test_treetabbedbrowser * add some tests for position_tab - not too happy with the mocking, should probably see how it looks with a proper tab, they just feel a bit heavy weight with the amount of mocking they bring with them