Commit Graph

16355 Commits

Author SHA1 Message Date
Florian Bruhin
50ae2bf2f9 Redesign SQL error handling
Instead of having an environmental attribute on exceptions, we now have two
different exception classes.

Fixes #3341
See #3073
2018-09-01 22:25:22 +02:00
Florian Bruhin
99ae49ccd6 Describe all sqlite error codes 2018-09-01 22:25:22 +02:00
Florian Bruhin
71a2dad570 Add a history.exclude setting
This allows to exclude URL patterns from being displayed in the completion or
in qute://history.
2018-09-01 22:25:22 +02:00
Florian Bruhin
7fb2224640 Add a UrlPattern config type
For some settings it makes sense to have a list of URL patterns in the config,
rather than having a per-domain boolean setting.
2018-09-01 18:25:58 +02:00
Florian Bruhin
5c8d4ede06 Rename history_gap_interval to history.gap_interval 2018-09-01 18:25:58 +02:00
Florian Bruhin
67a52527f5 Mark SQLITE_IOERR/SQLITE_CANTOPEN as environmental error
Fixes #3060

IOERR: The SQLITE_IOERR result code says that the operation could not finish
because the operating system reported an I/O error.

CANTOPEN: The SQLITE_CANTOPEN result code indicates that SQLite was unable to
open a file. The file in question might be a primary database file or on of
several temporary disk files.
2018-09-01 18:25:58 +02:00
Florian Bruhin
47218e5402 sql.Query: Roll back transactions on errors 2018-09-01 18:25:58 +02:00
Florian Bruhin
aff1108836 sql.Query: Make sure transaction/commit succeed 2018-09-01 18:25:58 +02:00
Florian Bruhin
992f13b5b8 Add sql.Query._check_ok 2018-09-01 18:25:58 +02:00
Florian Bruhin
3f2a468750 Also detect missing bound values for sql.Query.run_batch 2018-09-01 18:25:58 +02:00
Florian Bruhin
fa1fe63a93 Add some more sql.Query tests 2018-09-01 18:25:58 +02:00
Florian Bruhin
0e284944e7 Use composition instead of inheritance for sql.Query
This means we're more loosely coupled to Qt's QSqlQuery, and also can move some
logic for handling batch queries from the table to there.
2018-09-01 18:25:58 +02:00
Florian Bruhin
6b719fb218 Make sure queries don't have any missing bindings 2018-09-01 18:25:58 +02:00
Florian Bruhin
1d6282fd6c Add some tests for sql.Query 2018-09-01 18:25:58 +02:00
Florian Bruhin
806d65be8e Add test for no-sql-history flag 2018-09-01 18:25:58 +02:00
Florian Bruhin
c2f8b6531d Reorganize test_history 2018-09-01 18:25:58 +02:00
Florian Bruhin
9fb794656b Make it possible to force a history rebuild
This adds a new CompletionMetaInfo table which is a simple key/value store.

Thanks to Python/sqlite duck typing, we can use that to store values of any
type, even new ones in the future.

Currently, the only allowed key is force_rebuild, which forces a rebuild of the
CompletionHistory table. This will be needed for a future change.
2018-09-01 18:25:58 +02:00
Florian Bruhin
003f667d4f Update changelog 2018-08-31 16:49:13 +02:00
Florian Bruhin
1815070dab Make sure the host blocker doesn't block 0.0.0.0 2018-08-31 16:48:45 +02:00
Florian Bruhin
65caf40b06 Remove unneeded import 2018-08-31 11:47:18 +02:00
Florian Bruhin
b7b3473f74 Update changelog 2018-08-30 07:50:31 +02:00
Florian Bruhin
a13607674f Elide URLs at the end and not in the middle
With a URL like http://www.example.com/long/path/end, an elision like
http://www.example.com/…/path/end would be nicest, but using ElideMiddle means
we can end up with something like http://www.example.…/path/end, which can
possibly trick a user during a phishing attempt.

Instead, let's just always elide at the end, so we end up with
http://www.example.com/long/…. That makes sure the scheme/hostname (which are
most important) are visible as long as possible.

Fixes #4170.
2018-08-30 07:46:01 +02:00
Florian Bruhin
d337ed885a Re-add :stop test in misc.feature
For some reason I don't comprehend right now, disabling it breaks
test_focusing_download_widget_via_tab. I'm having exams tomorrow and the day
after that, so meh, let's just re-enable that test for now as a stopgap
solution.
2018-08-28 22:56:50 +02:00
Florian Bruhin
8459afb76e Recognize "Command"/"Cmd" in keybindings 2018-08-28 18:57:47 +02:00
Florian Bruhin
3fa01ae84d Handle more flaky tests 2018-08-28 09:21:03 +02:00
Florian Bruhin
0b872f193e
Merge pull request #4165 from lufte/missing-colon
Missing colon
2018-08-28 09:20:23 +02:00
lufte
7d293ed9ff Missing colon 2018-08-27 23:03:49 -03:00
Florian Bruhin
a03133c573 Fix and https-ify some URLs 2018-08-27 23:31:13 +02:00
Florian Bruhin
f657cf81c5
Merge pull request #4148 from clp/readme_similar
Add two similar projects to the Active list in README.
2018-08-27 18:56:54 +02:00
C. Poda
4d0cb33df1 Change webmacs from WebEngine to QtWebEngine. 2018-08-27 08:14:30 -07:00
Florian Bruhin
ce5bfd4e92 Update docs 2018-08-27 10:40:48 +02:00
Florian Bruhin
23991ccb4e Update changelog 2018-08-27 10:07:36 +02:00
Florian Bruhin
1a7efd92d7 Merge remote-tracking branch 'origin/pr/4140' 2018-08-27 10:06:04 +02:00
Florian Bruhin
57c245eaea
Merge pull request #4156 from pldiiw/docs-installing-with-tox-openssl1.0-ubuntu-instructions
Add instructions to link against OpenSSL 1.0 on Ubuntu
2018-08-27 09:34:26 +02:00
Florian Bruhin
bfec5c9f7f
Merge pull request #4153 from vilhalmer/set-desktop-entry-name
Set desktop file name
2018-08-27 09:31:00 +02:00
C. Poda
b85f58545e Move some listings from Active to Inactive in README.
Move five items in the Similar Projects section, to reflect
lack of recent activity.

Fix one URL typo.
2018-08-26 12:52:06 -07:00
Florian Bruhin
59e7adc1e6
Merge pull request #4150 from qutebrowser/pyup-scheduled-update-2018-08-20
Scheduled weekly dependency update for week 33
2018-08-25 09:09:07 +02:00
Florian Bruhin
51a87f78df Blacklist pytest 3.7.2 2018-08-25 08:06:54 +02:00
Florian Bruhin
1dd857a51a Implement MouseLock permission
Closes #3287
2018-08-24 23:31:04 +02:00
Florian Bruhin
2d54cdaecb Really fix stacktrace link... 2018-08-23 21:31:21 +02:00
Florian Bruhin
ac6d5283e0 Fix stacktrace.asciidoc link 2018-08-23 21:28:46 +02:00
PLD
802ce3636e Add instructions to link against OpenSSL 1.0 on Ubuntu
When installing qutebrowser via tox on Ubuntu 18.04, the notes on linking
OpenSSL 1.0 instead of OpenSSL 1.1 to make QtNetwork SSL working are a bit
confusing, due to some path differences between Ubuntu and ArchLinux. The
addition of an item addressing this specific issue should help newcomers.
2018-08-23 18:09:32 +02:00
vilhalmer
8ac9c72412
Set desktop file name 2018-08-21 21:38:26 -04:00
C. Poda
65ca15ecf6 Reword text for inactive project jumanji, in README.
Clarify that jumanji is not a project of Arch Linux,
but that the page at Arch has some data about the browser.
2018-08-21 11:48:16 -07:00
C. Poda
92a8e415e9 Remove two dead links from Inactive list in README.
These links are in the Similar Projects-Inactive section
of the README file.  Two other links point to pages
with data about those projects.
2018-08-21 11:29:00 -07:00
C. Poda
7a7a65d714 Change Webkit to WebKit in one place. 2018-08-20 14:36:27 -07:00
C. Poda
b58e081f0a Add browser project data and 2 new links to README.
For the 'next' browser, change Webkit2 to Webkit, the version used
for Mac is unclear.

The links for 'jumanji' and 'pentadactyl' are dead.  Keep those
old links (if someone wants to search a web archive for them); and
add a working link for each of those browsers.
2018-08-20 14:25:42 -07:00
pyup-bot
d8a26995c4 Update pytest from 3.6.4 to 3.7.2 2018-08-20 19:40:19 +02:00
pyup-bot
699c4b21c0 Update hypothesis from 3.67.0 to 3.69.0 2018-08-20 19:40:18 +02:00
pyup-bot
c594c5ee9e Update pyroma from 2.3.1 to 2.4 2018-08-20 19:40:16 +02:00