v0.7.0
First Release
This is the first labeled 'release' on the repository; I'm choosing a v0 major release version for now until I feel like the app is actually 'done'. Hopefully, by the time the Spring semester is over, I am releasing a v1.0.0.
Changelog
- Layout structure of the website was completely revamped so that Safari plays nice. The layout should fit into the appDir structure one day without too much issue.
- We're now on NextJS13 and tRPC v10; every route has been updated and all systems were migrated. Interop compatibility is not used, it was migrated properly.
- I removed the next-superjson stuff entirely; it allowed serialization of dates easily without having to do anything for the static and server prop handlers. Instead, I just used superjson directly, which is a bit janky looking, but typesafety is maintained, but it's very explicit and not very structurally consistent across the codebase.
- tRPC maintains superjson transformers without any special requirements.
- Disabling, manipulating and touching the navbar, footer and backgrounds is a lot better looking and easier now that I added a RootLayout component for controlling all of that.
- Injecting login state of the member/admin cookies is now possible through SSR. Essentially, this means I can tell the client that the server already checked whether or not they're a member - this reduces that little loading flash in the navbar, as well as takes away an extra unnecessary request.
- It's not yet implemented, i.e. used, but the actual usage part is a bit more complex since it's implemented per-page.
- I removed all of the special debouncing behavior from the event filterbar. It looks a lot snappier now, but it's exposed to button spam right now. I'll work on it later so that it just will reject inputs for 500ms. Not the "best" solution, but it should reduce serverload for the low-effort mischevious people.
- The check-in button is more dynamic now and will inform the user about state more. If it's open, it'll be clickable. If it's not, it's grayed out. If the user has already checked into the event, then it'll show "Edit Feedback".
- There is now a notification that shows up after checking in. It does not distinguish between submitting & resubmitting a checkin though, so I might work on that a bit.
- Login cookies won't expire for 2 weeks. The security is also turned up on them slightly, but that is pretty much irrelevant for now.
- Editing event times is much improved now - it properly intakes the value when editing, and it will show warnings about the duration of the event (too short, vs too long, but won't explicitly prevent you from submitting as long as it ends >= 1 minute from the start).
- The ?next= query parameter is now working again for client redirects, and the check-in button redirect doesn't spit out a really freaky internal URL anymore.