Skip to content

feat: implement new patch#35

Merged
mehdiasadli merged 1 commit into
mainfrom
v26-05-00
May 1, 2026
Merged

feat: implement new patch#35
mehdiasadli merged 1 commit into
mainfrom
v26-05-00

Conversation

@mehdiasadli
Copy link
Copy Markdown
Contributor

@mehdiasadli mehdiasadli commented May 1, 2026

Summary by CodeRabbit

  • New Features

    • Tap profile avatars in leaderboards, badges, and game lobbies to view enlarged images in a lightbox.
    • Keyboard shortcut (Cmd/Ctrl+I) opens global search help with new shortcuts for profile, logout, and legal pages.
    • /whats-new/latest alias redirects to current release; copy-link button added for sharing individual releases.
    • Backend threaded comments system implemented for packs, topics, and questions.
  • UI Improvements

    • Host buzz queue and controls redesigned for better responsiveness.
    • Follow modal now shows loading states and row-level follow/unfollow buttons.
    • Email footers expanded with additional navigation links.
  • Security

    • Reserved URL slugs now validated during pack, topic, and question creation.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
xamsa-web Ready Ready Preview, Comment May 1, 2026 10:34am

@mehdiasadli mehdiasadli merged commit 938c13c into main May 1, 2026
4 of 5 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 1, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3140a674-ea27-4812-98b3-6c92fbafc05d

📥 Commits

Reviewing files that changed from the base of the PR and between 5f961f2 and 7df0005.

📒 Files selected for processing (44)
  • apps/web/src/components/buzz-queue-card.tsx
  • apps/web/src/components/global-search-provider.tsx
  • apps/web/src/components/host-controls.tsx
  • apps/web/src/components/player-row.tsx
  • apps/web/src/components/profile-image-lightbox.tsx
  • apps/web/src/lib/home-search-commands.ts
  • apps/web/src/routeTree.gen.ts
  • apps/web/src/routes/badges/$badgeId/index.tsx
  • apps/web/src/routes/leaderboard/index.tsx
  • apps/web/src/routes/u/$username.tsx
  • apps/web/src/routes/whats-new/-release-frame.tsx
  • apps/web/src/routes/whats-new/latest.tsx
  • draft.md
  • packages/api/src/lib/content-slug.ts
  • packages/api/src/modules/admin/service.ts
  • packages/api/src/modules/comment/router.ts
  • packages/api/src/modules/comment/service.ts
  • packages/api/src/modules/pack/service.ts
  • packages/api/src/modules/pack/utils.ts
  • packages/api/src/modules/question/service.ts
  • packages/api/src/modules/topic/service.ts
  • packages/api/src/modules/user/router.ts
  • packages/api/src/modules/user/service.ts
  • packages/api/src/router.ts
  • packages/db/prisma/migrations/20260501081154_comments_user_comment_counters/migration.sql
  • packages/db/prisma/schema/auth.prisma
  • packages/db/prisma/schema/game.prisma
  • packages/db/prisma/schema/pack.prisma
  • packages/db/prisma/schema/tsual-import.prisma
  • packages/db/scripts/reconcile-follow-counts.sql
  • packages/mail/src/auth.ts
  • packages/mail/src/footer-links.ts
  • packages/mail/src/notifications.ts
  • packages/schemas/src/db/schemas/enums/CommentScalarFieldEnum.schema.ts
  • packages/schemas/src/db/schemas/enums/UserScalarFieldEnum.schema.ts
  • packages/schemas/src/db/schemas/models/Comment.schema.ts
  • packages/schemas/src/db/schemas/models/User.schema.ts
  • packages/schemas/src/db/schemas/models/index.ts
  • packages/schemas/src/modules/comment.ts
  • packages/schemas/src/modules/listings/admin.ts
  • packages/schemas/src/modules/search.ts
  • packages/schemas/src/modules/user.ts
  • packages/utils/src/app-releases.ts
  • packages/utils/src/reserved-content-slugs.ts

📝 Walkthrough

Walkthrough

This pull request introduces a comment system with API endpoints and database persistence, adds profile image lightbox functionality across the app, enhances home search with action items and new shortcuts, centralizes reserved slug validation, improves follow list viewers awareness, refines UI components, and consolidates email footer links.

Changes

Cohort / File(s) Summary
Profile Image Lightbox
apps/web/src/components/profile-image-lightbox.tsx, apps/web/src/components/player-row.tsx, apps/web/src/routes/badges/$badgeId/index.tsx, apps/web/src/routes/leaderboard/index.tsx, apps/web/src/routes/u/$username.tsx
New client-side lightbox component for expandable profile avatars with accessibility support; integrated across player rows, leaderboard, badge earners, and user profile pages.
Home Search Enhancements
apps/web/src/components/global-search-provider.tsx, apps/web/src/lib/home-search-commands.ts, packages/schemas/src/modules/search.ts
Added support for action items (logout), new shortcuts (profile, logout, security settings, legal pages, whats-new/latest), integrated SearchHelpDialog via Cmd/Ctrl+I, centralized logout flow with auth and toast feedback.
What's New Routes
apps/web/src/routes/whats-new/latest.tsx, apps/web/src/routes/whats-new/-release-frame.tsx
New /whats-new/latest redirect route using current CalVer, copy-link button for release URLs with clipboard and toast handling.
Buzz Queue & Host Controls
apps/web/src/components/buzz-queue-card.tsx, apps/web/src/components/host-controls.tsx
Buzz queue card refactored from single-row to two-section vertical layout with conditional resolve controls; host controls adjusted for layout density and button sizing/text labels.
Comment System
packages/api/src/modules/comment/router.ts, packages/api/src/modules/comment/service.ts, packages/schemas/src/modules/comment.ts, packages/db/prisma/migrations/20260501081154_comments_user_comment_counters/migration.sql, packages/db/prisma/schema/pack.prisma, packages/schemas/src/db/schemas/models/Comment.schema.ts, packages/schemas/src/db/schemas/enums/CommentScalarFieldEnum.schema.ts
Complete comment system with API endpoints, service layer supporting hierarchical comments with depth validation and subtree deletion, database table with indexes, and Zod validation schemas.
User Profile & Follow Lists
packages/api/src/modules/user/router.ts, packages/api/src/modules/user/service.ts, packages/schemas/src/modules/user.ts
Enhanced follow endpoints to accept and forward viewer context; updated profile queries to use Prisma _count for follower/following; follow lists now include viewer-follows status and fallback name logic; refactored follow mutations to track creation state.
Reserved Slug Validation
packages/utils/src/reserved-content-slugs.ts, packages/api/src/lib/content-slug.ts, packages/api/src/modules/pack/service.ts, packages/api/src/modules/pack/utils.ts, packages/api/src/modules/topic/service.ts, packages/api/src/modules/question/service.ts
Centralized reserved slug list and validation utility; integrated into pack, topic, and question creation/update flows; removed isolated COMMON_PACK_SLUGS constant.
Database Schema & Utilities
packages/db/prisma/schema/auth.prisma, packages/db/prisma/schema/game.prisma, packages/db/prisma/schema/tsual-import.prisma, packages/db/scripts/reconcile-follow-counts.sql
User model extended with comment/reply counters and relation; admin listing sorts updated to use _count aggregation; new SQL script for syncing denormalized follow counts; minor formatting adjustments.
Admin & Listing Schemas
packages/api/src/modules/admin/service.ts, packages/schemas/src/db/schemas/enums/UserScalarFieldEnum.schema.ts, packages/schemas/src/modules/listings/admin.ts
Admin user listing refactored to fetch follower/following via Prisma _count; user schema enums updated for new counter fields; admin sort mappings adapted for relation-based ordering.
Email & Footer Links
packages/mail/src/auth.ts, packages/mail/src/notifications.ts, packages/mail/src/footer-links.ts
New centralized footer-links module with multi-link navigation (home, what's new, profile, settings, privacy, terms); email templates updated to use transactionalFooterLinks() instead of hardcoded links.
App Release & Documentation
packages/utils/src/app-releases.ts, draft.md
Updated manifest to CalVer 2026-05.0; added release notes documenting profile lightbox, search shortcuts, whats-new sharing, email footer updates, host UI refinements, reserved slug validation, and backend comment support.
Router Integration
apps/web/src/routeTree.gen.ts, packages/api/src/router.ts
Generated route tree updated for /whats-new/latest; API router extended with comment endpoint module.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • feat: implement patch 19 #26: Updates follow endpoint signatures and service layer to accept viewer context, directly complementing this PR's enhanced follow list awareness and profile integration.
  • feat: implement new patch #32: Implements avatar cropping and upload server endpoints, extending the avatar UX foundation that this PR establishes with the ProfileImageLightbox component.
  • feat: implement new patch #30: Adds client-side action items and route handling to global search, aligning with this PR's home-search command expansion and logout action flow.

Suggested labels

app:web, pkg:api, database, size:xl

Poem

🐇 Avatars now bloom in lightboxes bright,
Comments thread deep with validation tight,
Logout and profile shortcuts take flight,
Reserved slugs guard the routes with might,
Follow counts sync in the database night!

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch v26-05-00

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@mehdiasadli mehdiasadli deleted the v26-05-00 branch May 1, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant