<-- back to the mailing list

[tech] Client history behavior with redirects

Frank Jüdes Frank.Juedes at linux4specialists.com

Mon May 17 18:01:37 BST 2021

- - - - - - - - - - - - - - - - - - - 

Hi Michael,

first thing is that every gemini-site should avoid to put the user into a situation where the "back" button is the only way out, by providing arbitrary links.

And i agree with you, option "c" looks like what i would expect to see when clicking on the "back" button.

Another option is to give the end-user the choice of where back in the history to go, like if you right-click on the "back" button in the chromium browser.

Best regards from Charleston (WV),      Frank/2

On 2021-05-17 12:49, Michael Lazar wrote:

Hi all,
I have a question on a common design pattern in gemini. Say we have
a guestbook, message board, etc. that accepts user comments via an
input query. A normal session with a client might look like this:
```
C: /
S: 20 text/gemini (display the home page)
C: /guestbook
S: 20 text/gemini (display the guestbook page)
C: /guestbook/input
S: 10 enter your message
C: /guestbook/input?hello%20world
S: 30 /guestbook (submit the user's message and redirect)
C: /guestbook
S: 20 text/gemini (display the guestbook page)
```
Now, what should happen at this point when the user clicks the
"back" button in their client?
A. The client resubmits "/guestbook/input?hello%20world". This is not
desired because it will result in double posting the message. This
same problem is solved on the web using the Post/Redirect/Get
pattern [1]. I suppose the gemini equivalent would be "don't store
requests that return 3x in the client's history". With this rule,
queries like GUS searches would still be cached because
"gemini://geminispace.info/search?hello" returns a 20 response.
B. The client re-prompts the user with "enter your message". I've
seen a few (most?) clients do this and it's a pretty jarring
experience as a user, because I did not click on a link first
to prime the input prompt. IMO we should also make a rule "don't
store requests that return a 1x in the client's history". There's
no web equivalent for this that I could find.
C. The client loads "/", which is the latest cached request before
the current page. This seems like the desired behavior to me.
Thoughts?
- Michael
[1] https://en.wikipedia.org/wiki/Post/Redirect/Get-- ------------------------------------------------------------------------My Gemini Capsule's orbit is gemini://h2903872.stratoserver.net-------------------------------------------------------------------------------------- next part --------------An HTML attachment was scrubbed...URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20210517/c473647c/attachment.htm>-------------- next part --------------A non-text attachment was scrubbed...Name: Frank_Juedes.vcfType: text/x-vcardSize: 253 bytesDesc: not availableURL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20210517/c473647c/attachment.vcf>