1
0
Fork 0
mirror of https://github.com/benbusby/farside.git synced 2025-04-25 13:10:02 +00:00

Preserve redirect with /_/ path prefix (#13)

This adds a straightforward way of preserving Farside's redirecting
behavior in the user's browser history. That way if an instance becomes
unavailable between the 5 min scans, the user can opt to navigate back
one page and be taken to a new instance.

This is accomplished using a single line of JS, and could potentially
work as the default behavior of Farside (with the current default
behavior requiring a path prefix instead). This should be revisited down
the road when more people are using this service.
This commit is contained in:
Ben Busby 2022-01-27 11:57:41 -07:00 committed by GitHub
parent 724a995fd9
commit 932f3bbcab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 34 additions and 0 deletions

View file

@ -55,6 +55,13 @@ Farside's routing is very minimal, with only the following routes:
URL>/r/popular`
- Note that a path is not required. `/libreddit` for example will still
redirect the user to a working libreddit instance
- `/_/:service/*glob`
- Achieves the same redirect as the main `/:service/*glob` endpoint, but
preserves a short landing page in the browser's history to allow quickly
jumping between instances by navigating back.
- Ex: `/_/nitter` -> nitter instance A -> (navigate back one page) -> nitter
instance B -> ...
- *Note: Uses Javascript to preserve the page in history*
When a service is requested with the `/:service/...` endpoint, Farside requests
the list of working instances from Redis and returns a random one from the list