teor suggested the other day that it'd be really useful to be able to see the vote data for a single relay; since the _entire_ detailed page is huge and unwieldy.
I've been pondering how I could support this without complicating the server, which results in a few constraints: a) I really don't want to create one file per-relay b) I really don't want to make any server-side logic, I'd like to keep it as static HTML and client-side javascript. (With the client-side javascript optional for most of the information.)
I think I can make something work using AJAX and Range requests though. Before I fly forward with that though, I wanted to understand a bit more about the use cases where one wants to see per-relay vote data.
The biggest question I have for you teor (and anyone else who wants to chime in) is how do you know what relay you want the information for? Do you know the fingerprint?
If so, I could try adding a text box at the bottom of the index page saying "Supply a fingerprint, and I will populate vote data for this relay inline".
-tom
On 7 Mar 2018, at 18:22, Tom Ritter tom@ritter.vg wrote:
teor suggested the other day that it'd be really useful to be able to see the vote data for a single relay; since the _entire_ detailed page is huge and unwieldy.
I've been pondering how I could support this without complicating the server, which results in a few constraints: a) I really don't want to create one file per-relay b) I really don't want to make any server-side logic, I'd like to keep it as static HTML and client-side javascript. (With the client-side javascript optional for most of the information.)
I think I can make something work using AJAX and Range requests though. Before I fly forward with that though, I wanted to understand a bit more about the use cases where one wants to see per-relay vote data.
The biggest question I have for you teor (and anyone else who wants to chime in) is how do you know what relay you want the information for? Do you know the fingerprint?
I know whatever the relay operator supplies. Usually, that's a fingerprint. Sometimes, it's just a name or part of a name.
But most of the time, I have looked up the relay on Relay Search before using Consensus Health. Or I could look it up, to avoid having my browser grind for a minute downloading the large consensus health page.
If so, I could try adding a text box at the bottom of the index page saying "Supply a fingerprint, and I will populate vote data for this relay inline".
That would work for me. And I think it would make consensus health more usable for (some) relay operators.
T
Tom Ritter:
teor suggested the other day that it'd be really useful to be able to see the vote data for a single relay;
great to see this is being worked on - thanks for that! Previously we also mentioned this feature in the context of onionoo, but processing votes is not something onionoo does currently (and it is a lot more data to take).
Please test http://utternoncesense.com/ : check the end of the page. (Note this is a static link, I'm not updating it every hour).
I have tested it on Tor Browser and High Security Slider, seems to work for me, but I want feedback on the UX and for bugs. Obviously this doesn't work with js disabled, but it should at least tell you what the issue is.
---
Under the covers while generating the detailed page, I also generate a list of indexes for each relay. I lazy-load that list at the end of the index page load (about 700kb). When you ask for a fingerprint it makes a range request using that index. Even trying to be as speedy as I could be, the lazy-load is quite fast. I'm hopeful the use case of trying to paste a fingerprint in as fast as one can is acceptable and speedy, so give that a shot.
I almost was able to do with with no apache config, but it turns out that the HTTP spec is ambiguous about how to handle Range requests on gzipped content, so Apache just doesn't. ' SetEnvIf X-Requested-With XMLHttpRequest no-gzip' will fix it for this use case.
In the future I expect to be able to extend this to inline-load historical data from the prior consensus when you click the <- button; but I have to give some more thought to how I want to display that. (And it's more complicated in general.)
-tom
On 7 March 2018 at 15:43, nusenu nusenu-lists@riseup.net wrote:
Tom Ritter:
teor suggested the other day that it'd be really useful to be able to see the vote data for a single relay;
great to see this is being worked on - thanks for that! Previously we also mentioned this feature in the context of onionoo, but processing votes is not something onionoo does currently (and it is a lot more data to take).
-- https://mastodon.social/@nusenu twitter: @nusenu_
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
On 9 Mar 2018, at 20:28, Tom Ritter tom@ritter.vg wrote:
I have tested it on Tor Browser and High Security Slider, seems to work for me, but I want feedback on the UX and for bugs
Wow! It works! And it even works in iOS Safari.
Also, there is a feature? where you can keep pasting relay fingerprints into the box, and it will keep adding them to the end of the page.
How hard would it be to add support for: * multiple fingerprints * nicknames * partial fingerprints
I don't know how important each of these features are. But I bet that nicknames would be the first feature request from most users.
T
This now supports exact nickname, partial fingerprint, and multiple of each; and is deployed. Other updates are:
- Known flags are not omitted from summary - A footnote is given when an assigning bwauth is not present - the misleading sha-1 signature algorithm is removed - Atlas became Relay Search - You can search for relays in votes that are missing a flag (e.g. that are struck-through) by prefacing the flag with a "!". E.g. "!HSDIR" on the detailed will show relays where one DirAuth did not vote for the HSDir flag, but enough DirAuths did such that it was granted the flag. This is particularly useful for !ReachableIPv6
On 9 March 2018 at 13:55, teor teor2345@gmail.com wrote:
On 9 Mar 2018, at 20:28, Tom Ritter tom@ritter.vg wrote:
I have tested it on Tor Browser and High Security Slider, seems to work for me, but I want feedback on the UX and for bugs
Wow! It works! And it even works in iOS Safari.
Also, there is a feature? where you can keep pasting relay fingerprints into the box, and it will keep adding them to the end of the page.
How hard would it be to add support for:
- multiple fingerprints
- nicknames
- partial fingerprints
I don't know how important each of these features are. But I bet that nicknames would be the first feature request from most users.
T _______________________________________________ tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev