reconbot,
@reconbot@toot.cafe avatar

Finished a port of a complex side project from to and I’m honestly quite happy.

  • Layouts are great, I had two failed ports to nextjs app directory. I’m not in love with remix’s route api but it works! I don’t have strange edge cases and there’s a js api escape hatch
  • loaders and actions are wonderful, I got rid of a whole ass api server. Having an actual request and response to work with is a breath of fresh air

🧵🪡

reconbot,
@reconbot@toot.cafe avatar
  • next/image was fantastic I will miss it but also it wasn’t that hard to size my images
  • serverless to a server - this isn’t remix or nextjs related but this change drastically improved my websocket integration complexity and perf which is important to my application.
  • remix docs are smaller because it’s a much smaller api surface area afaict. This was great

🧵🪡

reconbot,
@reconbot@toot.cafe avatar
  • I didn’t use vite and I should have, the move doesn’t look to painful and then I’d get a cleaner dev experience with more tooling. Haven’t invested in non product stuff yet.
  • Took me forever to get over compiling static html in favor of cache headers on dynamic responses. I have a logged in app so it was actually easier and cleaner to go this route and cut down on api calls. I didn’t need it.

Overall it’s been a great change and it’s working well for me and my users 🙌

reconbot,
@reconbot@toot.cafe avatar

I miss the centralization and middleware of the api with graphql/trpc but I’ve relegated a directory to be that layer and gave the mutations a common api structure that ensures a authz is at least front and center. I imagine this might mature to a wrapper function that requires it.

reconbot,
@reconbot@toot.cafe avatar

Whelp one downside of an actual form vs a js form is I now get a lot of spam. How do you deal with form spam in 2024?

janl,
@janl@narrativ.es avatar

@reconbot we add a manual math capture. “What is 3 + 5” with randomised digits. It’s usually enough.

reconbot,
@reconbot@toot.cafe avatar

@janl It somehow feels not very "professional" but I don't know what else to do without some 3rd party service like turnstile, which I bet 90% of doesn't have to be a service at all.

janl,
@janl@narrativ.es avatar

@reconbot you can also do things like “to prove you are not a robot, please type the word “foo” and the a re if that makes it.

reconbot,
@reconbot@toot.cafe avatar

@janl I put a 1s setTimeout that changes a hidden field's value - working so far!

janl,
@janl@narrativ.es avatar

@reconbot nice!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • poop
  • DreamBathrooms
  • modclub
  • mdbf
  • everett
  • Youngstown
  • rosin
  • slotface
  • love
  • khanakhh
  • kavyap
  • ngwrru68w68
  • ethstaker
  • thenastyranch
  • magazineikmin
  • megavids
  • tester
  • tacticalgear
  • InstantRegret
  • osvaldo12
  • Durango
  • cubers
  • normalnudes
  • Leos
  • cisconetworking
  • GTA5RPClips
  • provamag3
  • anitta
  • JUstTest
  • All magazines