Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

/sessions crashes for mentees with a completed session (onClick in a server component)

Open Beginner friendly
#172 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
next.js, tailwindcss, typescript
Domain
frontend

Research direction

Start in src/app/(platform)/sessions/page.tsx and inspect how SessionRow renders the card link and the Rebook link for completed mentee sessions. Use a stretched card link with Rebook as a sibling link above it, removing the event handler. Done when the page renders for the described mentee and the links are not nested.

Written by the indexing model from the issue text.

Description

bug

Found while verifying #160.

src/app/(platform)/sessions/page.tsx is a server component. For a mentee with a completed session whose mentor has a profile, SessionRow renders a "Rebook" <Link> with onClick={(e) => e.stopPropagation()}. Event handlers can't be passed to client components from a server component, so rendering throws:

Error: Event handlers cannot be passed to Client Component props.
  <... href=... onClick={function onClick} className=... children=...>

and the page fails for that user. The Rebook link is also nested inside the row's own <Link> — an <a> inside an <a>, which is invalid HTML.

Fix: keep the whole card clickable with a stretched link (one <Link> whose ::after covers the card) and make Rebook a sibling link layered above it — no nesting, no handler.

Dominant language
TypeScript
Stars
3
Forks
6
Avg merge
1d 7h
Merged PRs (30d)
23

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from grasshopper-protocol/grsshppr

All issues in grasshopper-protocol/grsshppr

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.