feat(share): implement shared session page with database integration#9
feat(share): implement shared session page with database integration#9
Conversation
Add complete implementation for the shared session page that fetches session data from the database and displays it with a user-friendly interface. The page now validates UUIDs, queries session details with owner information, and provides CLI import functionality with copyable commands and an animated logo.
…ions Redesign the shared session page with a modern card-based layout featuring: - Gradient background with grid pattern overlay - Animated entrance effects for logo and content card - Improved responsive design with better mobile support - Enhanced visual hierarchy with Card components - Added installation link for users without CLI - Better organized import command section with descriptive text The new design provides a more polished and professional appearance while maintaining all existing functionality.
|
Deployment failed with the following error: Learn More: https://vercel.com/docs/functions/limitations |
Code Review SummaryStatus: 1 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
Files Reviewed (1 files)
|
There was a problem hiding this comment.
Pull request overview
This PR implements a new shared session page at /s/[sessionId] that allows users to view and import shared CLI sessions. The implementation queries the cli_sessions_v2 table using the session's public_id, displays session information with an animated UI, and provides a command to import the session using the Kilo CLI.
Changes:
- Transformed SharedSessionPage from a simple placeholder to a fully functional async component with database integration
- Added database queries using Drizzle ORM to fetch session and user information from
cli_sessions_v2andkilocode_userstables - Implemented UUID validation, error handling with
notFound(), and a modern UI with background effects, cards, and copyable commands
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
markijbema
left a comment
There was a problem hiding this comment.
Don't we want to show a bit more of what the session is about? If i'd get linked to this I'd be quite wary of it
We are going to show a preview, but it's blocked on work currently in progress by @eshurakov and @pandemicsyn - making the components which display the new message format. Once those are done, integrating them here will be simple. Otherwise, we're just doing the same work twice. 😄 |
| export default async function SharedSessionPage({ | ||
| params, | ||
| }: { | ||
| params: Promise<{ sessionId: string }>; |
There was a problem hiding this comment.
WARNING: params should not be typed as a Promise
In Next.js App Router, params is a plain object. Typing it as a Promise (and awaiting it) diverges from framework expectations and can mask real typing issues.
| params: Promise<{ sessionId: string }>; | |
| params: { sessionId: string }; |
Closes Kilo-Org/kilo#105