aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-18 20:26:11 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-18 20:26:11 +0200
commita716f0804fd10a37ccc7d87c58ffebeb4f261d10 (patch)
tree970542ca70d352aa4857a70356c388fd7a8b32b6
parent75bbab5fcc0260ac765b216b8b3d989f88dac159 (diff)
downloadkristall-a716f0804fd10a37ccc7d87c58ffebeb4f261d10.tar.gz
Rescopes version 0.3, adds roadmap plans for 0.4.
-rw-r--r--README.md93
-rw-r--r--src/about/updates.gemini8
-rw-r--r--src/browsertab.cpp2
3 files changed, 52 insertions, 51 deletions
diff --git a/README.md b/README.md
index 92d182b..dc52ab9 100644
--- a/README.md
+++ b/README.md
@@ -145,26 +145,17 @@ ln -s /path/to/kristall .
## TODO / Roadmap
-### 0.3 release
+### 0.3 - TLS and security
- [ ] TLS Handling
- [ ] Allow user to ignore TLS errors
- [ ] Enable TOFU for HTTPS
- - [ ] Enable Client Certificate Management
- - [ ] Add option: "Transient certificates survive an application reboot and are stored on disk"
- - [ ] Add management for client certificates
- - [x] Rename/delete certificates
- - [ ] Rename/delete/merge groups
- - [ ] Import/export PEM certificates and keys
+ - [ ] Add management for client certificates
+ - [x] Rename/delete certificates
+ - [ ] Rename/delete/merge groups
+ - [ ] Import/export PEM certificates and keys
+ - [ ] Add a "scope" option to certificates so users can restrict the scope where the certificate is valid
- [ ] UX improvements
- [ ] Auto-expanding outline
- - [x] Escape in the URL bar reverts to the current location
- - [ ] auto-highlighting/following outline
- - [ ] Improved favourites
- - [ ] Allow custom favourite title (not the URL itself)
- - [ ] Allow grouping favourites into a single-hierarchy folder structure
- - [ ] Improve style import
- - [ ] Direct preview instead of importing it as a preset. Allow user to save preset then manually
-- [x] Handle network errors like timeout and such
- [ ] Allow configurable timeouts
- [ ] Implement server timeouts
- [ ] Add configuration option for connect/transfer timeouts
@@ -174,46 +165,56 @@ ln -s /path/to/kristall .
- [ ] Correctly parse other params (0015)
- [ ] Correctly parse undefined params (0016)
- [ ] Make Kristall survive gemini://egsam.pitr.ca/
- - [ ] 1.1 Gemini transactions
- - [x] 3 Gemini responses
- - [x] 3.1 Response headers
- - [x] 3.2 Status codes
- - [ ] 3.2.1 1x (INPUT)
- - [x] 3.2.2 2x (SUCCESS)
- - [x] 3.2.3 3x (REDIRECT)
- - [x] 3.2.4 4x (TEMPORARY FAILURE)
- - [x] 3.2.5 5x (PERMANENT FAILURE)
- - [x] 3.2.6 6x (CLIENT CERTIFICATE REQUIRED)
- - [ ] 3.3 Response bodies
- - [x] 3.4 Response body handling
- - [x] 4 TLS
- - [x] 4.1 Version requirements
- - [x] 4.2 Server certificate validation
- - [?] 4.3 Client certificates
- → [ ] 5 The text/gemini media type
-
-### Unspecced
+ - [ ] 1.1 Gemini transactions
+ - [x] 3 Gemini responses
+ - [x] 3.1 Response headers
+ - [x] 3.2 Status codes
+ - [ ] 3.2.1 1x (INPUT)
+ - [x] 3.2.2 2x (SUCCESS)
+ - [x] 3.2.3 3x (REDIRECT)
+ - [x] 3.2.4 4x (TEMPORARY FAILURE)
+ - [x] 3.2.5 5x (PERMANENT FAILURE)
+ - [x] 3.2.6 6x (CLIENT CERTIFICATE REQUIRED)
+ - [ ] 3.3 Response bodies
+ - [x] 3.4 Response body handling
+ - [x] 4 TLS
+ - [x] 4.1 Version requirements
+ - [x] 4.2 Server certificate validation
+ - [?] 4.3 Client certificates
+ → [ ] 5 The text/gemini media type
+
+### 0.4 - The colorful release
+- [ ] Improve UX
+ - [ ] Provide text search function
+ - [ ] auto-highlighting/following outline
+- [ ] Improved favourites
+ - [ ] Allow custom favourite title (not the URL itself)
+ - [ ] Allow grouping favourites into a single-hierarchy folder structure
+- [ ] Improve Unicode/Emoji support
+ - Seems to need multiple font families per font?
+- [ ] Replace Qt markdown with standalone markdown renderer
+ - [ ] Enable markdown theming
+- [ ] Improve Styles
+ - [ ] Add text/kristall-theme mime
+ - [ ] Will use a preview document instead of displaying the content
+ - [ ] Allow import of themes
+ - [ ] File extension is `.kthm`
+ - [ ] Direct preview instead of importing it as a preset. Allow user to save preset then manually
- [ ] Recognize home directories with /~home and such and add "substyles"
- [ ] [Add favicon support](gemini://mozz.us/files/rfc_gemini_favicon.gmi)
- [ ] Add auto-generated "favicons"
- [ ] Check if the site follows this guideline: `#<ICON> Title` where `<ICON>` is a unicode emoji
- [ ] Opt-In: Regularly check for `domain/favicon.txt`
- [ ] Opt-In: Regularly check for `domain/favicon.ico`
- - [ ] FTP
- - [ ] Search for FTP library or use self-written one?
-- [ ] Improve UX
- - [ ] Provide text search function
-- [ ] Replace Qt markdown with standalone markdown renderer
- - [ ] Enable markdown theming
-- [ ] Improve Unicode/Emoji support
- - Seems to need multiple font families per font?
-- [ ] Add text/kristall-theme mime
- - [ ] Will use a preview document instead of displaying the content
- - [ ] Allow import of themes
- - [ ] File extension is `.kthm`
+
+### Unspecced
+- [ ] Add option: "Transient certificates survive an application reboot and are stored on disk"
+- [ ] FTP
+ - [ ] Search for FTP library or use self-written one?
- [ ] Implement more protocols
- [ ] Gopher
- [ ] Support more media types (include uudecode and hexbin decoder)
+- [ ] Improve UX
## Bugs
diff --git a/src/about/updates.gemini b/src/about/updates.gemini
index f2ac095..6b4ef87 100644
--- a/src/about/updates.gemini
+++ b/src/about/updates.gemini
@@ -1,6 +1,6 @@
# Kristall Changelog
-## 0.3
+## 0.3 - TLS and security
* Adds support for transient client certificates
* Adds support for permanent client certificates
* Added this changelog to the software itself
@@ -11,8 +11,10 @@
* Pressing escape now resets search bar to current location
* Client certificates are disabled when doing a host switch
* Redirection handling is now configurable and contains some warning messages for potentially malicious redirects.
+gr
-## 0.2
+
+## 0.2 - The protocol update
* Implement Ctrl+D/*Add to favourites* menu item
* Implement Ctrl+S/*Save as...* menu item
* Add display for "non-recognized files"
@@ -41,5 +43,5 @@
* Added option to use your default OS protocol handler instead of displaying an error message.
* Improved image pan and zooming. Explore those graphics!
-## 0.1
+## 0.1 - The start
* Initial release
diff --git a/src/browsertab.cpp b/src/browsertab.cpp
index a69c33c..0733f53 100644
--- a/src/browsertab.cpp
+++ b/src/browsertab.cpp
@@ -399,7 +399,6 @@ void BrowserTab::on_redirected(const QUrl &uri, bool is_permanent)
{
Q_UNUSED(is_permanent);
- // TODO: Make this a setting
if (redirection_count >= global_options.max_redirections)
{
setErrorMessage(QString("Too many consecutive redirections. The last redirection would have redirected you to:\r\n%1").arg(uri.toString(QUrl::FullyEncoded)));
@@ -410,7 +409,6 @@ void BrowserTab::on_redirected(const QUrl &uri, bool is_permanent)
bool is_cross_protocol = (this->current_location.scheme() != uri.scheme());
bool is_cross_host = (this->current_location.host() != uri.host());
-
QString question;
if(global_options.redirection_policy == GenericSettings::WarnAlways)
{