diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2022-02-15 17:51:42 +0200 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2022-02-15 17:51:42 +0200 |
commit | a97ab6d5b0c2734476432c18a79533c57298cd6e (patch) | |
tree | dfbb9205222139b2697dc61abdd5785c4cf49d09 | |
parent | 64eaaaac57fc909a9c9d47302f17f0801b7f2965 (diff) | |
parent | b5851b5e9d41f3aee289d5d7670f723899edd231 (diff) |
Merge branch 'dev' into work/v1.11
# Conflicts:
# CMakeLists.txt
# res/lang/cs.bin
# res/lang/de.bin
# res/lang/en.bin
# res/lang/eo.bin
# res/lang/es.bin
# res/lang/es_MX.bin
# res/lang/fi.bin
# res/lang/fr.bin
# res/lang/gl.bin
# res/lang/hu.bin
# res/lang/ia.bin
# res/lang/ie.bin
# res/lang/isv.bin
# res/lang/nl.bin
# res/lang/pl.bin
# res/lang/ru.bin
# res/lang/sk.bin
# res/lang/sr.bin
# res/lang/tok.bin
# res/lang/tr.bin
# res/lang/uk.bin
# res/lang/zh_Hans.bin
# res/lang/zh_Hant.bin
-rw-r--r-- | po/en.po | 6 | ||||
-rw-r--r-- | res/about/version.gmi | 4 | ||||
-rw-r--r-- | src/gmrequest.c | 9 | ||||
-rw-r--r-- | src/gmutil.c | 4 | ||||
-rw-r--r-- | src/ui/keys.c | 2 |
5 files changed, 21 insertions, 4 deletions
@@ -1833,6 +1833,12 @@ msgstr "Upload with Titan" | |||
1833 | msgid "keys.upload.edit" | 1833 | msgid "keys.upload.edit" |
1834 | msgstr "Edit Page with Titan" | 1834 | msgstr "Edit Page with Titan" |
1835 | 1835 | ||
1836 | msgid "keys.feeds.showall" | ||
1837 | msgstr "Sidebar: Show all feed entries" | ||
1838 | |||
1839 | msgid "keys.feeds.showunread" | ||
1840 | msgstr "Sidebar: Show unread feed entries" | ||
1841 | |||
1836 | msgid "error.badstatus" | 1842 | msgid "error.badstatus" |
1837 | msgstr "Unknown Status Code" | 1843 | msgstr "Unknown Status Code" |
1838 | 1844 | ||
diff --git a/res/about/version.gmi b/res/about/version.gmi index f397c7e1..aee62e82 100644 --- a/res/about/version.gmi +++ b/res/about/version.gmi | |||
@@ -6,6 +6,10 @@ | |||
6 | ``` | 6 | ``` |
7 | # Release notes | 7 | # Release notes |
8 | 8 | ||
9 | ## 1.10.6 | ||
10 | * Added bindings for switching Feeds list to Unread/All mode. | ||
11 | * Fixed normalization of empty Gemini URL paths to `/` as per the November 2021 spec update. | ||
12 | |||
9 | ## 1.10.5 | 13 | ## 1.10.5 |
10 | * Added a keybinding for "Paste Preceding Line" (in input prompt menu). | 14 | * Added a keybinding for "Paste Preceding Line" (in input prompt menu). |
11 | * The "Miscellaneous Symbols and Arrows" Unicode block (U+2B00...U+2BFF) is accepted as custom link icons. | 15 | * The "Miscellaneous Symbols and Arrows" Unicode block (U+2B00...U+2BFF) is accepted as custom link icons. |
diff --git a/src/gmrequest.c b/src/gmrequest.c index 82c232e1..603975f0 100644 --- a/src/gmrequest.c +++ b/src/gmrequest.c | |||
@@ -593,6 +593,15 @@ void setUrl_GmRequest(iGmRequest *d, const iString *url) { | |||
593 | the web. */ | 593 | the web. */ |
594 | /* Encode everything except already-percent encoded characters. */ | 594 | /* Encode everything except already-percent encoded characters. */ |
595 | iString *enc = urlEncodeExclude_String(&d->url, "%" URL_RESERVED_CHARS); | 595 | iString *enc = urlEncodeExclude_String(&d->url, "%" URL_RESERVED_CHARS); |
596 | /* Normalize empty paths to /. */ { | ||
597 | iUrl parts; | ||
598 | init_Url(&parts, enc); | ||
599 | if (isEmpty_Range(&parts.path) && equalCase_Rangecc(parts.scheme, "gemini") && | ||
600 | parts.path.start) { | ||
601 | /* Normalize to "/" as per specification (November 2021 update). */ | ||
602 | insertData_Block(&enc->chars, parts.path.start - constBegin_String(enc), "/", 1); | ||
603 | } | ||
604 | } | ||
596 | set_String(&d->url, enc); | 605 | set_String(&d->url, enc); |
597 | delete_String(enc); | 606 | delete_String(enc); |
598 | d->identity = identityForUrl_GmCerts(d->certs, &d->url); | 607 | d->identity = identityForUrl_GmCerts(d->certs, &d->url); |
diff --git a/src/gmutil.c b/src/gmutil.c index 9188091d..e862b18a 100644 --- a/src/gmutil.c +++ b/src/gmutil.c | |||
@@ -341,10 +341,6 @@ void urlEncodePath_String(iString *d) { | |||
341 | return; | 341 | return; |
342 | } | 342 | } |
343 | if (isEmpty_Range(&url.path)) { | 343 | if (isEmpty_Range(&url.path)) { |
344 | if (equalCase_Rangecc(url.scheme, "gemini") && url.path.start) { | ||
345 | /* Normalize to "/" as per specification (November 2021 update). */ | ||
346 | insertData_Block(&d->chars, url.path.start - constBegin_String(d), "/", 1); | ||
347 | } | ||
348 | return; | 344 | return; |
349 | } | 345 | } |
350 | iString *encoded = new_String(); | 346 | iString *encoded = new_String(); |
diff --git a/src/ui/keys.c b/src/ui/keys.c index 33f39633..26a286bc 100644 --- a/src/ui/keys.c +++ b/src/ui/keys.c | |||
@@ -215,6 +215,8 @@ static const struct { int id; iMenuItem bind; int flags; } defaultBindings_[] = | |||
215 | { 50, { "${keys.bookmark.add}", 'd', KMOD_PRIMARY, "bookmark.add" }, 0 }, | 215 | { 50, { "${keys.bookmark.add}", 'd', KMOD_PRIMARY, "bookmark.add" }, 0 }, |
216 | { 51, { "${keys.bookmark.addfolder}", 'n', KMOD_SHIFT, "bookmarks.addfolder" }, 0 }, | 216 | { 51, { "${keys.bookmark.addfolder}", 'n', KMOD_SHIFT, "bookmarks.addfolder" }, 0 }, |
217 | { 55, { "${keys.subscribe}", subscribeToPage_KeyModifier, "feeds.subscribe" }, 0 }, | 217 | { 55, { "${keys.subscribe}", subscribeToPage_KeyModifier, "feeds.subscribe" }, 0 }, |
218 | { 56, { "${keys.feeds.showall}", SDLK_u, KMOD_SHIFT, "feeds.mode arg:0" }, 0 }, | ||
219 | { 57, { "${keys.feeds.showunread}", SDLK_u, 0, "feeds.mode arg:1" }, 0 }, | ||
218 | { 60, { "${keys.findtext}", 'f', KMOD_PRIMARY, "focus.set id:find.input" }, 0 }, | 220 | { 60, { "${keys.findtext}", 'f', KMOD_PRIMARY, "focus.set id:find.input" }, 0 }, |
219 | { 70, { "${keys.zoom.in}", SDLK_EQUALS, KMOD_PRIMARY, "zoom.delta arg:10" }, 0 }, | 221 | { 70, { "${keys.zoom.in}", SDLK_EQUALS, KMOD_PRIMARY, "zoom.delta arg:10" }, 0 }, |
220 | { 71, { "${keys.zoom.out}", SDLK_MINUS, KMOD_PRIMARY, "zoom.delta arg:-10" }, 0 }, | 222 | { 71, { "${keys.zoom.out}", SDLK_MINUS, KMOD_PRIMARY, "zoom.delta arg:-10" }, 0 }, |