Settings

Theme

Show HN: I made yet another UI to browse HN

hn.sayan.page

28 points by metahost 2 years ago · 24 comments · 1 min read

Reader

Primarily built this to learn how NextJS works and also a bit about Tailwind CSS. Also has request caching using the WebCache API + expiration which is quite a hacky implementation.

Let me know what you think!

Source is at https://github.com/say4n/hn, pull requests welcome!

Obscurity4340 2 years ago

HACK (with the green-ish computer chip icon) is also amazing if you want something to "have"

  • joshstrange 2 years ago

    I wish for a combo of HACK and Octal. I like the UI of Octal more but it doesn’t support notifications nor does it show your comment karma (which isn’t a big deal but it’s a little annoying).

    Also Octal has some weird bugs like not removing the downvote button after 24 hours so you just get an odd error when you click it. And the thing that bugs me the most where if you swipe back then change your mind you can’t swipe forward to go back to the comment thread you were on (a la Apollo, RIP). What makes it worse is swiping “forward” changes the “tab” you are on losing your scroll place in the list of HN posts. My muscle memory will never stop doing this though.

    • hombre_fatal 2 years ago

      My issues with Octal are that it doesn’t show my reply immediately after posting and worse: it always throws an error when I edit my replies even though the edit worked in the background. It also collapses double spacing on edit sometimes.

      It’s a pretty bad app unless you’re just reading. I assume the developer never touched it again after deploying it which wouldn’t be an issue if you didn’t have to pay to unlock comment writing (its worst implemented feature).

      • joshstrange 2 years ago

        I completely agree with you. I think you hit the nail on the head, it’s good for reading and not much more. The UI is pretty good but the UX leaves a lot to be desired.

    • Obscurity4340 2 years ago

      See I love HACK's UI the most although I agree (if memory is correct that didnt mind or was even nominally impressed on that front) and the dev is super nice and responsive.

  • RGBCube 2 years ago

    I much prefer Hacki, it's much lighter and OSS, the dev is also very nice

mortallywounded 2 years ago

> Application error: a client-side exception has occurred (see the browser console for more information).

Thanks... I see nothing. Next is really doing well, eh.

  • metahostOP 2 years ago

    Yikes, that's weird -- can't reproduce but I will keep an eye out for it!

    • nulltxt 2 years ago

      It's an issue with react that I believe is caused by not allowing access to local storage

    • mortallywounded 2 years ago

      Nothing special going on with my system-- just Firefox with ublock origin.

      • metahostOP 2 years ago

        Do you happen to have any additional block lists populated apart from the default ones by uBO? -- I also have the same setup but it works for me.

        • mortallywounded 2 years ago

          I am in Firefox 118. I added your domain to the exception list in uBO and the error still happens. The only request that was being blocked was the Vercel analytics request, but on the safe list that doesn't get blocked and the error still happens.

          Standard privacy settings in Firefox.

          React error claims to be "Objects are not valid as a React child (found: [missing argument]). If you meant to render a collection of children, use an array instead."

          Probably useless information... looks to die in the hydration of the page. There's a flash of the HN header and "Loading..." before it dies.

          • metahostOP 2 years ago

            I see -- thanks!

            • mortallywounded 2 years ago

              My hunch is the whole web api caching thingy... maybe don't do anything fancy.

              What prevented you from fetching the top stories and caching on the server? Couldn't the server render the react components for all pages/comments? Why does it even need to run anything client side?

              Page doesn't do anything useful with JS disabled.. you should be able to at least render the stories/comments/etc.

FractalHQ 2 years ago

The hardest part for me when building a HN reader was getting each article metadata to render the meta image / descriptions. I know the main site doesn’t do this, but my favorite iOS hn reader app (Octal) does this so I’m used to it and quite like it.

I wanted to do it all locally / serverless but I struggled to find a good client friendly library for parsing meta tags that was 0 deps and typed so I wound up making a cloudflare worker to bypass cors and manually streamed the html to extract and parse the head element with a bit of regex and elbow grease.

It worked out, but I wish the HN api would cache and provide that stuff once to save the authors from the extra load of all the clients like mine that need to make extra requests to each articles home page.

LargoLasskhyfv 2 years ago

Looking good, but seems to be under the HN-hug of death, so slow. Also doesn't work with uBlock-origin, been lazy and just switching that of for your site.

redder23 2 years ago

Application error: a client-side exception has occurred (see the browser console for more information). When I click "new"

  • metahostOP 2 years ago

    Yikes, that's weird -- can't reproduce but I will keep an eye out for it!

notnmeyer 2 years ago

looks good widescreen, but portrait on mobile wraps the metadata bits in a distracting way

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection