X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=ISSUES.org;h=a4e9f6e8261342114804021aa2c8a7515667d09e;hp=2b637c0a4d56860849b99cbdb0fbc8525934e955;hb=119e298777b89072794799dcb12b0d77ce8f441b;hpb=0243aa0a1d9ab09ad270b5d3ce6372bbf8c83e15 diff --git a/ISSUES.org b/ISSUES.org index 2b637c0..a4e9f6e 100644 --- a/ISSUES.org +++ b/ISSUES.org @@ -1,7 +1,76 @@ #+TITLE: Development notes/ideas #+TODO: OPEN | CLOSED INVALID + +* Open Bugs + +* Closed Bugs + +** 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 +users, elpher doesn't show any difference between any of the +item types. Not a major problem at all, but the faces we inherit +from should definitely be ones which have been present for much +longer. Perhaps the font lock mode faces are the way to go after +all. + +Update: changed all default faces to inherit from font-lock and basic faces. + +** CLOSED URL-centric addressing breaks bookmark file compatibility + +Need a way to allow people to rescue their old bookmark files +following this update. + +** CLOSED History loops <2019-11-08 Fri> + +Occasionally elpher gets stuck in a "history loop" where a +node is its own grandparent. Obviously this sucks, as history +is elpher's main mechanism for making gopherspace exploration +painless. + +I suspect the problem is in either ~elpher-visit-node~ or +~elpher-visit-parent~. + +Follow-up: this has been fixed by the new stack-based history system +in 2.5. + + +** CLOSED Redirects do not rewrite current address + +This is a bug, as gemini://blah.com/hi may get redirected +to gemini://blah.com/hi/, at which point link lines +of the form "=> there" should be interpreted as pointing +at gemini://blah.com/hi/there, while currently they are +interpreted as pointing at gemini://blah.com/there. + +** CLOSED History inconsistency when restarting elpher <2020-05-26 Tue> + +To reproduce: +1. open elpher and follow a few links until you're a handful of links below + the start page. +2. kill the elpher buffer with C-x k +3. Open elpher again, which will show the start page. +4. Press 'u' to go up. Elpher wiill respond stating that there is no previous page. +5. Press 'u' again. Elpher will then jump to the page that was open when + the buffer was originally killed. + +Expected behaviour: elpher should be once again at the bottom of the history +stack and should not remember the previous history. + +Observed behaviour: elpher _does_ remember the previous history. -* Enhancements +*** update <2020-05-27 Wed> +Turns out this was just because the `elpher` function was merely setting +the `elpher-current-page` variable to nil, then using `elpher-visit-page` +to visit the start page, resulting in the nil being pushed onto the existing +history stack. Because `elpher-visit-previous-page` always trys to pop from +this stack and tests whether the result is nil (which it is when the stack is empty), +the first "u" would result in the "no previous page" message but would still +pop the stack, meaning that subsequent "u" commands would succeed. + +The fix is just to zero out the history list in the `elpher` function just as +`elpher-current-page` is cleared. + +* Open Enhancements ** OPEN Allow multiple elpher buffers [33%] @@ -14,11 +83,6 @@ this can happen: - [X] shift history out of node tree and into separate stack - [ ] make history stack variables buffer-local - [ ] have elpher-with-clean-buffer select appropriate buffer - -** OPEN Remove "redraw" command -This is only necessary for returning from displaying the raw -server response. If I can provide a better way of doing that -then we can get rid of redraw entirely. ** OPEN Replace support for user-specified starting pages This used to be available, but was removed during a refactor. @@ -46,9 +110,9 @@ Here is the checklist of features required before release: The last few will be made infinitely easier if we factor the gopher "getter" code differently. -* Bugs +** OPEN Add history browsing -* Completed improvements +* Closed Enhancements ** CLOSED Turn on lexical scoping @@ -108,33 +172,29 @@ do, but will process the URL to do it. This also means that non-gopher URLs will be explicitly represented as such: no more abusing the "h" type for these. -* Closed issues - -** 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 -users, elpher doesn't show any difference between any of the -item types. Not a major problem at all, but the faces we inherit -from should definitely be ones which have been present for much -longer. Perhaps the font lock mode faces are the way to go after -all. +** INVALID Remove "redraw" command +This is only necessary for returning from displaying the raw +server response. If I can provide a better way of doing that +then we can get rid of redraw entirely. -Update: changed all default faces to inherit from font-lock and basic faces. +Actually, this command can be useful to correct rendering issues that +occasionally pop up in termal windows. Lets leave it for now. -** CLOSED URL-centric addressing breaks bookmark file compatibility +** CLOSED Implement Finger support -Need a way to allow people to rescue their old bookmark files -following this update. - -** CLOSED History loops <2019-11-08 Fri> - -Occasionally elpher gets stuck in a "history loop" where a -node is its own grandparent. Obviously this sucks, as history -is elpher's main mechanism for making gopherspace exploration -painless. - -I suspect the problem is in either ~elpher-visit-node~ or -~elpher-visit-parent~. - -Follow-up: this has been fixed by the new stack-based history system -in 2.5. +** CLOSED Improve download performance + This is actually easy to fix - the major problem at the moment is + the braindead way the incrementally-retrieved data is recorded: + (setq result-string (concat result-string next-bit)). + This is O(N^2). Yuck! + + Okay, replacing this really does improve things. Large gemini + downloads now seem occur at rates I'd expect. + +** CLOSED Download/rendering progress feedback + Particularly for large files or complicated pages, elpher can + take a few seconds or more to generate a response. Thhis is + frustrating for users, who are left staring at a blinking + cursor. + A small amount of feedback could help with this.