#+TITLE: Issues and Dev Notes
#+TODO: OPEN(o!) | CLOSED(c!) INVALID(i@)
#+STARTUP: logdrawer
-
+
* Open Bugs
-** OPEN Sanitize certificate names
+** OPEN Sanitize certificate names :gemini:
:LOGBOOK:
- State "OPEN" from [2020-06-22 Mon 10:32]
:END:
E.g., asking for approval of uknown TLS certificates.
* Closed Bugs
+
+** CLOSED Downloads failing
+:LOGBOOK:
+- State "CLOSED" from "OPEN" [2022-08-09 Tue 10:38]
+:END:
+
+Downloads fail when focus is shifted away from
+the elpher buffer before the download has completed.
+
+** CLOSED Relative Gemini links processed improperly
+:LOGBOOK:
+- State "CLOSED" from "OPEN" [2021-08-04 Wed 15:54]
+- State "OPEN" from [2021-08-04 Wed 13:53]
+:END:
+
+Skyjake's gemlog at gemini://skyjake.fi/gemlog/ demonstrate's the
+issue. The link back to the root selector in the footer of that page
+is a relative link to the parent directory, i.e. "..". For some
+reason elpher combines this with the current URL and produces
+"gemini://skyjake.fi" as the destination of the link. Such URLs
+(i.e. without a filename) are allowed as input, but are assumed
+to not appear internally.
+
+To see why the internal distinction is important, consider a page
+where the current URL is gemini://example.com/a_page. The current
+directory in this case is "/", meaning a relative link to
+"another_page" results in a destination link of
+"gemini://example.com/another_page. On the other hand, if the current
+URL is gemini://example.com/a_page/, the same relative link is
+interpreted as refering to gemini://example.com/a_page/another_page.
+
+The fix will be to ensure gemini://skyjake.fi/gemlog/.. collapses to
+gemini://skyjake.fi/ rather than gemini://skyjake.fi.
+
+
** CLOSED Org mode faces are not present in recent emacs versions
Even 26.1 doesn't seem to have these. This means that, for many
The fix is just to zero out the history list in the `elpher` function just as
`elpher-current-page` is cleared.
+** CLOSED Improve client certificate scope :gemini:
+:LOGBOOK:
+- State "CLOSED" from "OPEN" [2023-05-05 Fri 10:09]
+- State "OPEN" from [2022-10-12 Wed 09:33]
+:END:
+
+Once activated, elpher continues to use a client certificate
+for any connections to the host on which it was activated.
+However, it's now common to restrict certificates also to paths
+_below_ the path where the certificate was activated.
+
+I.e. gemini://example.com/~userA/ certificates are not applied
+automatically to gemini://example.com/~userB/.
+
* Open Enhancements
** OPEN Allow multiple elpher buffers [33%]
- [ ] make history stack variables buffer-local
- [ ] have elpher-with-clean-buffer select appropriate buffer
-** OPEN Replace support for user-specified starting pages
-This used to be available, but was removed during a refactor.
-
-** OPEN Make installing existing certificates easier
- :LOGBOOK:
- - State "OPEN" from "CLOSED" [2020-06-22 Mon 10:34]
- :END:
-
-It's naive to think that people don't have client certificates created
-outside of elpher. Thus we need some easy way to "install" these
-certificates, either by copying them or by referencing them in some
-way.
-
* Closed Enhancements
** CLOSED Turn on lexical scoping
(url-portspec) is functionally equivalent and is orders of magnitude
faster. With this replacement, loading the above page takes ~2s
and there aren't any other hotspots.
+
+
+** CLOSED Replace support for user-specified starting pages
+:LOGBOOK:
+- State "CLOSED" from "OPEN" [2021-08-09 Mon 17:46]
+:END:
+This used to be available, but was removed during a refactor.
+
+
+** CLOSED Make installing existing certificates easier
+ :LOGBOOK:
+ - State "CLOSED" from "OPEN" [2023-05-05 Fri 10:10]
+ - State "OPEN" from "CLOSED" [2020-06-22 Mon 10:34]
+ :END:
+
+It's naive to think that people don't have client certificates created
+outside of elpher. Thus we need some easy way to "install" these
+certificates, either by copying them or by referencing them in some
+way.