Age | Commit message (Collapse) | Author |
|
Making URL encoding a little less convoluted. Now when sending out a request, the URL is fully encoded except for reserved characters. In the internal representation, non-ASCII characters are in decoded form (i.e., IRI).
This means that if the user enters a URL in the input field manually, its non-ASCII characters will be percent encoded as well. However, in this case the user is expected to manually escape all reserved characters because the input field can't tell the difference between what is intended to be a reserved separator and what isn't. For example, a server might expect &-separated fields, and if the user enters such fields manually in the URL field, they shouldn't be converted to %26.
When forming a query URL in the input dialog, user-entered text is fully percent-encoded because in that case the input is just a generic text string.
IssueID #410
|
|
Other formatting besides line breaks is ignored for now, although attributed strings could be used here.
|
|
Manage a color palette separately for each GmDocument, and activate one of them globally whenever a document is being drawn.
Palettes are cached in memory.
|
|
Warn the user about missing glyphs and potentially unsupported ANSI escapes.
TODO: Site-specific setting for dismissed warning; fonts preference about missing glyph warnings.
|
|
Three important changes:
1) Visited URLs can be marked as "kept" so they will never be discarded due to old age.
2) Feed entries are not discarded from the database until they are removed from the source, and then become too old (six months).
3) Visited feed entry URLs are always flagged as kept, so the (un)read status will not be forgotten.
|
|
|
|
The user is able to ignore certificate expiry and continue loading the page regardless. This adds a one hour exception to the expiration date.
|
|
If a server sends a different certificate (checked by matching public key fingerprints), abort the connection at the TLS handshake stage.
A new error page is shown explaining the situation. A button is provided for conveniently opening Page Information, where trust can be updated.
The file format of "visited.txt" was updated, so it is now called "visited.2.txt". The new format includes server port numbers, and the fingerprints are calculated based on public keys.
IssueID #308
IssueID #309
IssueID #310
|
|
|
|
Internally, all URIs should be converted to a canonical form so that they can be compared against each other.
The canonical form is an IRI with spaces and reserved characters percent-encoded.
|
|
Opening an URL or making a search query from the command line.
IssueID #232
|
|
When opening a Gempub, split the window and show the index page and the first chapter.
|
|
`Gempub` opens and parses a Gempub archive and provides access to the contents in a common way.
|
|
Use MIME hooks to generate a Gempub cover page with a preloaded cover image.
This required applying MIME filtering to "file://" requests as well.
Todo: More cleanup, add a gempub.c.
|
|
|
|
Bookmark icons apply to site roots instead of domains. A root includes the user directory if one is found in the URL.
|
|
The behavior of navigating to root should match what is displayed in the top banner.
|
|
Any text that doesn't look like a URL is passed onto the configured search URL as a query string.
IssueID #157
|
|
Lagrange will retain URL fragments when parsing gemtext, but will strip them when making requests or when a DocumentWidget's URL is set. This allows opening URLs with fragments in an external browser.
IssueID #128
|
|
The heading goto fragment wasn't being stripped appropriately from the URLs.
|
|
IssueID #112
|
|
|
|
|
|
IssueID #73
|
|
To support Internationalized Domain Names, we need to encode domain names using Punycode.
IssueID #73
|
|
|
|
|
|
IssueID #16
|
|
IssueID #23
|
|
There is now an error page shown when the TLS request fails for some reason.
Error page theming is also updated at the time when the error page is composed.
|
|
|
|
Stop opening links automatically after five redirects.
|
|
|
|
|
|
|
|
|
|
GmRequest is given a pointer to the GmCerts to use. Also, timeouts are handled via a posted command so they get processed in the main thread.
|
|
|
|
|
|
|
|
|
|
|
|
This feels a little bit too complex, with GmRequest observing TlsRequest and then notifying its own audience. There are still some issues with cancelling requests as well.
|