-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rearchitecture #10
Rearchitecture #10
Conversation
Notable differences: • Metadata API • Extracted Auth.js `SessionProvider` to new `AuthWrapper` client component • Extracted Sidebar conditional rendering to component-level Known issues: • It's bugging out about the styles • There was something with the `children` not being a valid React child or something like that
Notable differences: • Extracted sign in button to its own client component • Removed `next/head`, now taken care of by Metadata API • Returning a redirect object in `getServerSideProps` → `next/navigation` redirect Known issues: • Styles not working (todo switch from styled JSX) • Sidebar rendering "Loading..."
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Noting perf issues in Dev Mode, Next.js team working on it |
I pretty much moved the below comment to the PR description lol, but this was what I posted when I decided the PR would be a full-on rearchitecture instead of just an App Router migration:
|
Today's progress report: pretty happy with hitting push on moving
|
Early experiments for #21
Almost done, so close.... Would like to include token usage in a user's |
Instead, just return the invite info and logic handled as needed by caller
This lines up with reality: the amount of students that can have invites < the amount of USF students
It's hard to believe this is ready... 🥲 I do feel like I learned a lot, not just new technical knowledge, but also good practice, like maybe to check against dependencies before committing to something so big lol Feels good. Will have this merged later today ✌️ |
Just realized almost 50% of Cue code history was dedicated to this lol |
Rearchitecting Cue
What
A comprehensive internal rearchitecting of Cue, including migrating to the Next.js App Router.
Why
Right so here's the deal:
Cue was written during a hackathon. As such, in a time-sensitive environment, certainly one in which I knew muuuuch less about React and Next, corners were cut. Cue code isn't that composable: for example, instead of a
Card
component with child props passed in, there's aProfileCard
, aResultsCard
, etc.Unfortunately, given how unergonomic the codebase has been up to this PR, an App Router migration is far from simple. A full-fledged rearchitecture of Cue is necessary, both for compatibility's sake, as well as to make improving Cue easier down the line.
Why App Router?
While the Next.js App Router has faced some controversy in its early days of stability, there are a few reasons I want to embrace it:
The plan
I haven't a clue how long it'll take, but ideally by mid-August this'll be out the gate. What sucks is this is obviously not relevant to the actual students using our app, and on the surface it will seem like a lack of new features. But I can say with a fair bit of certainty this'll be good for the project. :)
Below is a detailed checklist of what's what, and I'll post regular progress updates as comments.
Thank you for following along! 🤍
Progress
Migrating routes to the App Router
Authentication
Invite system 2.0 prep
invite-schema
dependents (other than debug functions) over to Vercel KVUsage tracking & rate limiting (#16)
generations
object arraygenerations
QoL