2,272 karma · joined May 3, 2016
Creator and developer of privacy-friendly wishlist service: https://wishy.gift/
Former tech lead at: https://apt.no/
Co-founder of, and previously developer at: https://pnkt.no/
Blog: https://blog.klungo.no/
Location: Oslo, Norway
E-mail: <firstname> @ klungo.no
meet.hn/city/59.9133301,10.7389701/Oslo
Socials: - github.com/poacher2k - linkedin.com/in/danielskogly - https://blog.klungo.no/
Interests: Entrepreneurship, Gaming, Media, Music, Privacy, Programming, Startups, Technology, UI/UX Design, Web Development
---
About a year ago I was toying with the idea of creating a SaaS/product that worked completely without JS, and the only hurdle was that there currently is no way to simply answer redirect a client directly to the Checkout page after creating a Checkout Session in the backend. Currently, you have to create the Checkout Session, send this to the client, load StripeJS, and _then_ you can redirect to the Checkout page.
Seeing that the Payment Link is basically the same thing, only that instead of a backend, the seller can create the Payment Link ("Checkout Session") in a dashboard, it doesn't really seem like the StripeJS-step I mentioned above is strictly necessary.
I hope you'll add a way to get the URL when creating a Checkout Session in the backend, so that the dream of a fully-functioning noscript SaaS might one day come true :)
The biggest hurdle I've encountered so far, is that Stripe doesn't offer a fully nojs alternative to enable users to make payments, although this would be incredibly easy for them to do, considering that they already offer a hosted checkout[1]. The only thing missing here is a way to get the checkout URL itself from the server side, when the Checkout-session is generated.
[0] https://blog.klungo.no/2020/05/28/using-react-and-redux-to-a...
I'm currently using SHA512 with a fixed salt. If someone gains access to only the database and not the salt, the emails are well protected. If someone gains access to both, then it's true that they could build a rainbow table to check if a given email exists in the database. What they _can't_ do is easily use all the emails in the database for spam/phishing/etc.
Either way, I'd argue it's better than nothing :)
For some reason I couldn’t find my own blog post[0], even when searching for the embarrassing typo I made in the title - acommodating.
[0] https://audiomass.co/ [1] https://html5gamepad.com/ [2] https://agar.io/
For my part, I'm developing a service targeting privacy-minded people, and the ~1.75m NoScript users/installs are then among my main target audience.
So far the biggest drawback is not being able to do a payment flow with Stripe Checkout without requiring JS on _my_ service, because Stripe.js is required to redirect a user to the checkout session.
This is why today it's common to put script-tags for external JS at the end of the body-tag.
I'm sure there are more efficient ways of implementing something like this, but it demonstrates the approach. The main goal here isn't to make something that is super snappy for users with JS disabled, but rather that they get something _at all_, without burdening the developer too much.
My goal with this post and demo was to outline a general strategy that could be employed in both small and large applications. For some cases, you could implement the server-side dispatching of actions as listening on GET-requests, but you would potentially be polluting the browser history more than necessary, and be capped to ~2k characters (varies in browsers) for actions (which for many cases should suffice).
I imagine that keeping all _state_ in the URL, while it can work for some small applications, might not scale sufficiently to be a general approach to the problem, nor have the kind of persistence usually found in eg. applications with login, where a user might expect to be able to authenticate and continue where they left off.
[0] https://news.ycombinator.com/item?id=23446779
[1] https://reactjs.org/docs/react-dom-server.html#rendertostrin...
[2] https://reactjs.org/docs/react-dom-server.html#rendertostati...
The topic is one I expected to hit the nail on the head with the HN crowd, though.
https://blog.klungo.no/2020/05/28/using-react-and-redux-to-a...
You can find a complete write-up of here: https://blog.klungo.no/2020/05/28/using-react-and-redux-to-a...
If you just want to check out the demo, you can do that here: https://todo-react-redux-noscript.herokuapp.com/
[1] https://www.fullstory.com/resources/gdpr-and-fullstory/#how-...