Skip to content

Conversation

@AndlerRL
Copy link
Member

@AndlerRL AndlerRL commented Jul 21, 2025

Summary by Sourcery

Introduce subscription promo code support and annual/monthly plan toggle with revamped plan UI; enhance chat prompt form with default context file generation, inline attachment editing, and pasted-text attachments; add example question picker in chat panel; refine styling and animations for free/pro cards and scrollbars; implement dynamic imports with skeleton fallbacks for performance; and improve URL utilities, navigation, and attachment persistence handling.

New Features:

  • Add promotion code validation, preview, and apply workflow in subscription plans
  • Introduce annual/monthly toggle and unified PlanCard component for displaying subscription options
  • Enable default "Thread Context.txt" attachments and inline editing of text attachments in the chat prompt form
  • Add example questions feature with modal picker and cross-component event dispatch in chat panel

Bug Fixes:

  • Generate unique form IDs to prevent prompt form submission conflicts
  • Fix accordion auto-open logic in message pairs based on URL slugs

Enhancements:

  • Refine border gradients, pro-card animations, and scrollbar utilities in global CSS
  • Dynamically import heavy chat and thread components with loading skeleton placeholders
  • Extend URL building utilities to support bot routes, category normalization, and path parsing
  • Improve useFileAttachments hook with add/update attachment functions and paste-to-file logic
  • Refactor subscription actions to sort plans, include fallback plans, and unify promo state management

Summary by CodeRabbit

  • New Features

    • Added support for dynamic, theme-aware logo rendering across authentication and header components.
    • Enhanced chatbot and category management with new ordering columns and improved sorting in listings.
    • Expanded domain and category coverage with additional domain slugs and reorganized chatbot domains.
    • Improved markdown rendering for chatbot descriptions and onboarding cards, supporting richer formatted content.
    • Introduced a themed layout background for authentication routes.
  • UI/UX Improvements

    • Refined error handling throughout user and thread pages with a reusable error component.
    • Updated layout and styling for chatbot profile, thread, and subscription pages for consistency and clarity.
    • Improved sidebar and footer visibility across screen sizes.
    • Unified dropdown and button styles in user menus and profile sidebars.
  • Bug Fixes

    • Prevented potential runtime errors by adding guards and optional chaining in various components.
    • Ensured correct state updates after data fetching in thread and browse components.
  • Chores

    • Added and updated lint suppression comments for better code quality compliance.
    • Introduced a TypeScript configuration for stricter type checking.
  • Documentation

    • Updated and clarified code comments and structure for maintainability.
  • Refactor

    • Consolidated error message rendering and refactored navigation and URL parsing utilities for improved maintainability.
    • Adjusted ordering logic in database queries and schema for consistent data presentation.
  • Tests

    • No changes.
  • Revert

    • No changes.

Bran18 and others added 21 commits June 18, 2025 16:58
* fix: attachment upload management

* chore: clean up

* perf(impr): log failed chunks
* feat: reresh attch cron + user attach async dep upt

* fix: load more missing props

* fix: attachment expires typeof sql value

* fix: public browse search + load more deps

* perf(impr): trnx support in attch link refresh cron
…#513)

* fix whirlpool animation

* feat: add validation for promo codes and subscriptions

* fix: initital coderabbitai recomendations

* chore: add improve to subscription flow

* chore: add card switcher

* chore: impr pro card

* chore: fix custom class

* chore: add free card newcolor
* feat(wip): thread context file

* fix: typo

* fix: attachment prop dep

* fix: user attachments upt concurrency

* feat(wip): thread context focus on open

* fix: content editable selection on first render

* fix: new line after enabling content editable

* fix: paste text in editable content + paste context

* fix: paste context + show attachment text content in public

* fix: show continue message cta in cutoff content trigger

* fix: contentEditable text encoding

* fix: hook race condition build
* fix whirlpool animation

* feat: add validation for promo codes and subscriptions

* fix: initital coderabbitai recomendations

* chore: add improve to subscription flow

* chore: add card switcher

* chore: impr pro card

* chore: fix custom class

* chore: add free card newcolor

* chore: add improvements and medium level bug fix

* feat: add example question modal

* chore: fix biome format

* chore: add modal and botcard redesing

* chore: fix sizes

* chore: enable example questions feat flag

* fix(impr): onboarding card responsiveness + space & bg style

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* fix: attachment css + optimistic attch upt

* fix: messageAttachment ref assig loc

* chore: attch cnt read for dev
* chore: fix color and new card style

* chore: restore white line

* fix: flicker + include new images

* chore: fix regresion issues

* chore: biome corrections

* fix: layout tweaks + onboard card render

* fix: tailwind class

* fix: tailwind class

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* perf(wip): dynamic imports

* chore(fix): rm static skeleton

* perf: dynamic imports in chat routes

* fix: tailwind class
* fix: add persistent route build

* chore: remove comment section
* feat(wip): phase 4, topics + cat & chatbot order fields

* chore: add order field in gen types

* chore(wip): upt init config seed, phase 4, category order upt + wip chatbot new descriptions

* style: format and lint

* chore: upt chatbot new descriptions + new bots and prompts

* chore: upt chatbot prompt junction seeds inserts

* chore: upt chatbot categories juntion seeds

* chore: upt chatbots & relationships

* chore: upt chatbots & relationships

* fix: order field permissions + gen

* fix: onboarding chatbot description
* update

* fix: update

* update

* update

* update

* update

* fix: thread style

* fix: thread style

* fix: added popup to threadQuestionPage

* fix: update

* fix: sub thread slug update on url:

* fix: update thread question slug navigation

* fix: update thread question slug navigation

* fix: update thread question slug navigation

* fix: update

* fix: update thread path

* fix: update

* fix: update package data

* fix: use proper error handling component on server

* fix: update

* fix: make the selected thread in popup  open by the default

* fix: focus the last sub-thread when know sub-thread slug is on the pathname

* fix: popup flickering

* fix: handle bot page routing and  threadquestion page

* fix: disable link on the bot view page

* fix: question not displaying

* fix: question not displaying

* fix: chatbot page loading more unrelated threads

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* chore: upt canonical domains

* fix: getRouteType

* fix: missing canonical domains and topics

* fix: category slug

* fix: hydration warns + continue thread upt after start

* fix: upt init config chatbot inserts

* chore: upt biblebot expertise + chefbot n growbot descr puntuation

* fix: coderabbitai observation
* update

* fix: update

* update

* update

* update

* update

* feat: import  logos

* feat: added logo to app header

* feat: app logo

* chore: user page text

* fix: update

* feat: added bg to auth pages

* fix: update

* fix: wait for page to mount to load custom logos

* fix: update

* fix: update

* fix: update

* fix: update theme to use resolvedTheme instead

* fix: update assets

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
@AndlerRL AndlerRL self-assigned this Jul 21, 2025
@vercel
Copy link

vercel bot commented Jul 21, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
masterbots ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 22, 2025 9:10pm

@sourcery-ai
Copy link

sourcery-ai bot commented Jul 21, 2025

Reviewer's Guide

This PR implements extensive UI and UX enhancements across global styles, subscription flow, file attachments in chat, dynamic component loading with skeleton placeholders, and routing utilities for new “bot” routes. It reorganizes and refines styles for scrollbars and card gradients, adds promo‐code validation and plan toggles, enriches attachment handling (default context files, paste support, inline editing), converts heavy routes to dynamic imports with loading skeletons, and expands URL builders to normalize categories and parse bot routes.

Sequence diagram for chat attachment creation and inline editing

sequenceDiagram
    participant User as actor User
    participant ChatForm as Chat Prompt Form
    participant Attachments as Attachment Handler
    participant Dialog as Attachment Dialog

    User->>ChatForm: Clicks 'New Context' or pastes text
    ChatForm->>Attachments: Creates default context file attachment
    Attachments->>ChatForm: Adds attachment to form
    User->>ChatForm: Opens attachment dialog
    ChatForm->>Dialog: Opens dialog with attachment
    User->>Dialog: Edits attachment content inline
    Dialog->>Attachments: Updates attachment content
    Attachments->>ChatForm: Updates attachment in form
Loading

Class diagram for updated file attachment handling

classDiagram
    class FileAttachment {
      +id: string
      +name: string
      +url: string
      +contentType: string
      +content: string
      +messageIds: string[]
      +expires: string
      +size: number
    }
    class useFileAttachments {
      +attachments: FileAttachment[]
      +addAttachment(file)
      +addAttachmentObject(attachment)
      +updateAttachment(id, updatedData)
      +removeAttachment(id)
      +clearAttachments()
      +handleFileSelect(event)
      +handleFilePaste(event)
    }
    useFileAttachments "1" -- "*" FileAttachment : manages
Loading

Class diagram for enhanced subscription plan and promo code state

classDiagram
    class Plans {
      +selectedPlan: string
      +isYearly: boolean
      +showPromoInput: boolean
      +promoValidated: boolean
      +promoValidationError: string
      +validatingPromo: boolean
      +handlePlanChange()
      +handleSwitchChange()
      +handlePromoCodeSubmit()
      +handleApplyPromoCode()
    }
    class Promo {
      +code: string
      +applied: boolean
      +codeId: string
      +trialDays: number
      +discountInfo: string
    }
    Plans "1" -- "1" Promo : uses
Loading

Class diagram for dynamic bot popup loading

classDiagram
    class BotPopup {
      +isOpenPopup: boolean
    }
    class ThreadPopupSkeleton
    class ThreadPopup
    BotPopup ..> ThreadPopup : dynamic import (with skeleton)
    BotPopup ..> ThreadPopupSkeleton : loading fallback
Loading

File-Level Changes

Change Details Files
Global CSS and component styling refinements
  • Hide native scrollbars and introduce custom hover variables
  • Revise border‐gradient settings and add free/pro hover/selected animations
  • Define keyframe animations for ‘pro-card’ float, glow and badge effects
globals.css
Subscription and plans page overhaul
  • Add yearly/monthly toggle and promo‐code input/validation workflow
  • Fetch and detect current user subscription, adjust purchase logic
  • Extend usePayment to handle promo code state and apply to subscription payload
components/routes/subscription/plans.tsx
components/routes/subscription/plan-card.tsx
lib/hooks/use-payment.tsx
actions/validate-promo route
actions/subscriptions.actions.ts
Enhanced file attachment experience in chat prompt
  • Introduce default text file for thread context and paste‐to‐attachment support
  • Extend useFileAttachments with addAttachmentObject/updateAttachment
  • Build useAttachmentDialog hook for inline text editing in dialogs
components/routes/chat/prompt-form/index.tsx
components/routes/chat/attachments-display.tsx
lib/hooks/use-chat-attachments.ts
lib/hooks/use-attachment-dialog.ts
Dynamic imports with loading skeletons
  • Convert heavy route components (Chat, ThreadPanel, Sidebar) to dynamic imports
  • Create shared skeleton components for pages, chat panels, popups
  • Wrap loading states with AnimatePresence and Skeleton placeholders
layout/page.tsx
components/shared/skeletons
components/routes/chat/chat
components/layout/sidebar/sidebar-responsive
Routing and URL utility expansions
  • Normalize category slugs, support new “bot” route type in getRouteType
  • Implement parsePath helper for parsing URL segments
  • Update urlBuilders to handle bot profile and personal/public threads
lib/url.ts
lib/utils.ts

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 21, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This update introduces significant changes across the application, including schema migrations to add and order new "order" columns in the category and chatbot tables, extensive reorganization of domain and chatbot slugs, UI refactoring for error handling and markdown rendering, and enhancements to layout and theme-aware branding. Several API, permission, and utility updates support these structural and visual improvements.

Changes

Files/Groups Change Summary
apps/hasura/metadata/.../public_category.yaml, public_chatbot.yaml Added "order" column to select permissions for multiple roles; updated accessible columns and ordering.
apps/hasura/migrations/.../add_column_order/up.sql, down.sql (category, chatbot) Added/removes "order" columns and supporting SQL functions to/from tables.
apps/hasura/migrations/.../add_column_is_pro/up.sql, down.sql
add_column_pro_exclusive/up.sql, down.sql
Added/removes is_pro and pro_exclusive boolean columns to/from chatbot table.
apps/hasura/seeds/.../init_config_seeds.sql Updated Git LFS pointer metadata (SHA256, size) for seed file.
apps/masterbots.ai/app/(browse)/layout.tsx, app/layout.tsx, components/layout/layout-client.tsx Refactored layout to use new LayoutClient for theme/background; updated footer visibility.
app/auth/forgot-password/page.tsx, app/auth/reset-password/page.tsx, app/auth/signin/page.tsx, app/auth/signup/page.tsx Logo image now theme-aware via useTheme and getAppLogoPath; widened logo containers.
app/b/[botSlug]/[threadSlug]/[threadQuestionSlug]/page.tsx, app/u/[userSlug]/t/[category]/[domain]/[chatbot]/[threadSlug]/[threadQuestionSlug]/page.tsx Refactored thread fetching to use chatbot profile and threads; replaced single thread views with thread list components.
app/u/[userSlug]/t/[category]/[domain]/[chatbot]/[threadSlug]/page.tsx, app/u/[userSlug]/t/[category]/[domain]/[chatbot]/page.tsx, app/u/[userSlug]/t/[category]/[domain]/page.tsx, app/u/[userSlug]/t/[category]/page.tsx, app/u/[userSlug]/t/page.tsx Refactored error handling to use ErrorComponent instead of inline JSX or thrown errors.
components/layout/header/header.tsx, components/layout/header/user-menu.tsx, components/layout/sidebar/profile-sidebar.tsx, components/layout/sidebar/sidebar.tsx Header now uses theme-aware logo; user menu and sidebar styling and structure updated for consistency; added responsive footer.
components/layout/profile/hero.tsx, components/routes/browse/browse-chatbot-desktop-details.tsx, components/routes/browse/browse-chatbot-mobile-details.tsx, components/routes/chat/chat-selected-chatbot-mobile.tsx, components/routes/chat/onboarding-chatbot-details.tsx, components/shared/onboarding-chatbot-card.tsx Updated container classes, replaced plain text with markdown rendering using MemoizedReactMarkdown, and improved layout.
components/routes/browse/browse-list.tsx, components/routes/chat/chat-layout-section.tsx, components/routes/chat/chat-list/message-pair-accordion.tsx, components/routes/chat/chat-list/message-pairs.tsx, components/routes/chat/chat-message.tsx, components/routes/chat/chat-options.tsx, components/routes/chat/onboarding-chatbot-mobile-details.tsx, components/routes/profile/user-card.tsx, components/routes/subscription/plans.tsx, components/routes/thread/profile-avatar.tsx, components/routes/thread/thread-component.tsx, components/routes/thread/thread-list.tsx, components/routes/thread/user-thread-panel.tsx, components/shared/button-scroll-to-bottom.tsx, components/shared/feature-toggle-image.tsx, components/shared/feature-toggle.tsx, components/shared/shared-accordion.tsx, components/shared/skeletons/chat-page-skeleton.tsx Various UI, error handling, and logic improvements, including markdown rendering, button prop handling, dependency array fixes, and styling tweaks.
apps/masterbots.ai/lib/constants/canonical-domains.ts, lib/constants/domain-slugs.ts Major reorganization and expansion of domain and chatbot slugs.
lib/url.ts, types/url.ts, lib/utils.ts Added/updated URL parsing, normalization, and route type logic; introduced theme-aware logo path utility.
services/hasura/hasura.service.ts Enforced ordering by "order" field in relevant queries.
packages/mb-drizzle/src/drizzle/schema.ts Added "order" columns to category and chatbot tables with SQL default expressions.
package.json, apps/masterbots.ai/package.json Added/removed drizzle-orm dependency.
tsconfig.json Added TypeScript configuration.
Misc: lib/cron/refresh-attachment-links.ts, lib/helpers/ai-image.ts, lib/hooks/use-mb-chat.tsx, lib/hooks/use-payment.tsx, types/types.ts Lint ignore comments, minor type/interface updates, and error handling improvements.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant UI
    participant HasuraService
    participant Database

    User->>UI: Navigates to chatbot/category page
    UI->>HasuraService: Fetch categories/chatbots (ordered)
    HasuraService->>Database: Query with orderBy: order ASC
    Database-->>HasuraService: Ordered results
    HasuraService-->>UI: Ordered categories/chatbots
    UI->>UI: Render markdown descriptions, error via ErrorComponent if needed
    User->>UI: Interacts with theme switch/logo
    UI->>UI: Dynamically selects logo and background
Loading

Estimated code review effort

4 (~90 minutes)

Possibly related PRs

  • bitcashorg/masterbots#532: Extensive updates to canonical chatbot domain paths and domain slugs, directly related to the reorganizations and additions in this PR.
  • bitcashorg/masterbots#353: Modifies select permissions for "category" and "chatbot" tables, related at the metadata permissions level.
  • bitcashorg/masterbots#522: Adds/removes the same order columns and associated SQL functions, directly related to schema and ordering logic changes.

Suggested labels

feature, enhancement, bug, ui/ux, backend, frontend, chore

Poem

In fields of code where rabbits hop,
New orders bloom and slugs don't stop.
Markdown now paints what bots will say,
While logos change with night and day.
Errors handled with gentle care—
Review this patch, if you dare!
🐇✨

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

apps/masterbots.ai/app/(browse)/layout.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the config "next/core-web-vitals" to extend from. Please check that the name of the config is correct.

The config "next/core-web-vitals" was referenced from the config file in "/apps/masterbots.ai/.eslintrc.json".

If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.

apps/masterbots.ai/app/api/payment/intent/route.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the config "next/core-web-vitals" to extend from. Please check that the name of the config is correct.

The config "next/core-web-vitals" was referenced from the config file in "/apps/masterbots.ai/.eslintrc.json".

If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.

apps/masterbots.ai/app/api/payment/validate-promo/route.ts

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the config "next/core-web-vitals" to extend from. Please check that the name of the config is correct.

The config "next/core-web-vitals" was referenced from the config file in "/apps/masterbots.ai/.eslintrc.json".

If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.

  • 60 others

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 81761e8 and ef8ea32.

⛔ Files ignored due to path filters (13)
  • apps/masterbots.ai/public/bg-landing-dark.png is excluded by !**/*.png
  • apps/masterbots.ai/public/bg-landing-dark.svg is excluded by !**/*.svg
  • apps/masterbots.ai/public/bg-landing-light.svg is excluded by !**/*.svg
  • apps/masterbots.ai/public/hero-bg.jpg is excluded by !**/*.jpg
  • apps/masterbots.ai/public/hero-bg.png is excluded by !**/*.png
  • apps/masterbots.ai/public/logos/mb-logo-header-dark-old.png is excluded by !**/*.png
  • apps/masterbots.ai/public/logos/mb-logo-header-light-old.png is excluded by !**/*.png
  • apps/masterbots.ai/public/logos/mb-logo-landing-dark-old.png is excluded by !**/*.png
  • apps/masterbots.ai/public/logos/mb-logo-landing-light-old.png is excluded by !**/*.png
  • bun.lock is excluded by !**/*.lock
  • packages/mb-genql/generated/schema.graphql is excluded by !**/generated/**
  • packages/mb-genql/generated/schema.ts is excluded by !**/generated/**
  • packages/mb-genql/generated/types.ts is excluded by !**/generated/**
📒 Files selected for processing (79)
  • apps/hasura/metadata/databases/masterbots/tables/public_category.yaml (3 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_chatbot.yaml (1 hunks)
  • apps/hasura/migrations/masterbots/1742863852636_alter_table_public_chatbot_add_column_is_pro/down.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1742863852636_alter_table_public_chatbot_add_column_is_pro/up.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1742863904048_alter_table_public_chatbot_add_column_pro_exclusive/down.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1742863904048_alter_table_public_chatbot_add_column_pro_exclusive/up.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1750914317371_alter_table_public_chatbot_add_column_order/down.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1750914317371_alter_table_public_chatbot_add_column_order/up.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1750914349371_alter_table_public_category_add_column_order/down.sql (1 hunks)
  • apps/hasura/migrations/masterbots/1750914349371_alter_table_public_category_add_column_order/up.sql (1 hunks)
  • apps/hasura/seeds/masterbots/1724269974513_init_config_seeds.sql (1 hunks)
  • apps/masterbots.ai/app/(browse)/layout.tsx (1 hunks)
  • apps/masterbots.ai/app/api/payment/intent/route.tsx (2 hunks)
  • apps/masterbots.ai/app/api/payment/subscription/route.tsx (2 hunks)
  • apps/masterbots.ai/app/api/payment/validate-promo/route.ts (2 hunks)
  • apps/masterbots.ai/app/auth/forgot-password/page.tsx (2 hunks)
  • apps/masterbots.ai/app/auth/reset-password/page.tsx (2 hunks)
  • apps/masterbots.ai/app/auth/signin/page.tsx (1 hunks)
  • apps/masterbots.ai/app/auth/signup/page.tsx (2 hunks)
  • apps/masterbots.ai/app/b/[botSlug]/[threadSlug]/[threadQuestionSlug]/page.tsx (2 hunks)
  • apps/masterbots.ai/app/b/[botSlug]/layout.tsx (0 hunks)
  • apps/masterbots.ai/app/b/page.tsx (1 hunks)
  • apps/masterbots.ai/app/globals.css (2 hunks)
  • apps/masterbots.ai/app/layout.tsx (2 hunks)
  • apps/masterbots.ai/app/u/[userSlug]/t/[category]/[domain]/[chatbot]/[threadSlug]/[threadQuestionSlug]/page.tsx (3 hunks)
  • apps/masterbots.ai/app/u/[userSlug]/t/[category]/[domain]/[chatbot]/[threadSlug]/page.tsx (1 hunks)
  • apps/masterbots.ai/app/u/[userSlug]/t/[category]/[domain]/[chatbot]/page.tsx (2 hunks)
  • apps/masterbots.ai/app/u/[userSlug]/t/[category]/[domain]/page.tsx (2 hunks)
  • apps/masterbots.ai/app/u/[userSlug]/t/[category]/page.tsx (2 hunks)
  • apps/masterbots.ai/app/u/[userSlug]/t/page.tsx (2 hunks)
  • apps/masterbots.ai/components/layout/header/header.tsx (4 hunks)
  • apps/masterbots.ai/components/layout/header/user-menu.tsx (3 hunks)
  • apps/masterbots.ai/components/layout/layout-client.tsx (1 hunks)
  • apps/masterbots.ai/components/layout/profile/hero.tsx (1 hunks)
  • apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx (2 hunks)
  • apps/masterbots.ai/components/layout/sidebar/sidebar.tsx (2 hunks)
  • apps/masterbots.ai/components/routes/bot/bot-profile-thread-section.tsx (2 hunks)
  • apps/masterbots.ai/components/routes/browse/browse-chatbot-desktop-details.tsx (5 hunks)
  • apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx (4 hunks)
  • apps/masterbots.ai/components/routes/browse/browse-list.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-layout-section.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-list/message-pair-accordion.tsx (4 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-list/message-pairs.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-message.tsx (2 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-options.tsx (3 hunks)
  • apps/masterbots.ai/components/routes/chat/chat-selected-chatbot-mobile.tsx (3 hunks)
  • apps/masterbots.ai/components/routes/chat/onboarding-chatbot-details.tsx (2 hunks)
  • apps/masterbots.ai/components/routes/chat/onboarding-chatbot-mobile-details.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/profile/user-card.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/subscription/plans.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/subscription/subscription-page.tsx (2 hunks)
  • apps/masterbots.ai/components/routes/thread/profile-avatar.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/thread/thread-component.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/thread/thread-list.tsx (1 hunks)
  • apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx (3 hunks)
  • apps/masterbots.ai/components/shared/button-scroll-to-bottom.tsx (3 hunks)
  • apps/masterbots.ai/components/shared/error.tsx (1 hunks)
  • apps/masterbots.ai/components/shared/feature-toggle-image.tsx (1 hunks)
  • apps/masterbots.ai/components/shared/feature-toggle.tsx (1 hunks)
  • apps/masterbots.ai/components/shared/onboarding-chatbot-card.tsx (3 hunks)
  • apps/masterbots.ai/components/shared/shared-accordion.tsx (2 hunks)
  • apps/masterbots.ai/components/shared/skeletons/chat-page-skeleton.tsx (1 hunks)
  • apps/masterbots.ai/components/ui/checkbox.tsx (2 hunks)
  • apps/masterbots.ai/lib/constants/canonical-domains.ts (4 hunks)
  • apps/masterbots.ai/lib/constants/domain-slugs.ts (1 hunks)
  • apps/masterbots.ai/lib/cron/refresh-attachment-links.ts (1 hunks)
  • apps/masterbots.ai/lib/helpers/ai-image.ts (1 hunks)
  • apps/masterbots.ai/lib/hooks/use-mb-chat.tsx (4 hunks)
  • apps/masterbots.ai/lib/hooks/use-payment.tsx (1 hunks)
  • apps/masterbots.ai/lib/url.ts (15 hunks)
  • apps/masterbots.ai/lib/utils.ts (3 hunks)
  • apps/masterbots.ai/package.json (1 hunks)
  • apps/masterbots.ai/services/hasura/hasura.service.ts (4 hunks)
  • apps/masterbots.ai/types/types.ts (1 hunks)
  • apps/masterbots.ai/types/url.ts (2 hunks)
  • package.json (1 hunks)
  • packages/mb-drizzle/src/drizzle/schema.ts (2 hunks)
  • tsconfig.json (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@AndlerRL
Copy link
Member Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 22, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@AndlerRL AndlerRL merged commit 94d7d67 into main Jul 22, 2025
3 checks passed
@coderabbitai coderabbitai bot changed the title @coderabbitai Add order columns, reorganize slugs, and refactor UI and branding Jul 22, 2025
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
* fix: increase execution time - image generation

* chore: increase maxDuration

* fix: attachment upload management (#517)

* fix: attachment upload management

* chore: clean up

* perf(impr): log failed chunks

* feat: attachment upt cron n public browse tweaks (#520)

* feat: reresh attch cron + user attach async dep upt

* fix: load more missing props

* fix: attachment expires typeof sql value

* fix: public browse search + load more deps

* perf(impr): trnx support in attch link refresh cron

* [masterbots.ai] feat: stripe subscription plans and promocode support (#513)

* fix whirlpool animation

* feat: add validation for promo codes and subscriptions

* fix: initital coderabbitai recomendations

* chore: add improve to subscription flow

* chore: add card switcher

* chore: impr pro card

* chore: fix custom class

* chore: add free card newcolor

* [masterbots.ai] feat: thread context file (#519)

* feat(wip): thread context file

* fix: typo

* fix: attachment prop dep

* fix: user attachments upt concurrency

* feat(wip): thread context focus on open

* fix: content editable selection on first render

* fix: new line after enabling content editable

* fix: paste text in editable content + paste context

* fix: paste context + show attachment text content in public

* fix: show continue message cta in cutoff content trigger

* fix: contentEditable text encoding

* fix: hook race condition build

* [masterbots.ai] fix: bug fix and improvements (#523)

* fix whirlpool animation

* feat: add validation for promo codes and subscriptions

* fix: initital coderabbitai recomendations

* chore: add improve to subscription flow

* chore: add card switcher

* chore: impr pro card

* chore: fix custom class

* chore: add free card newcolor

* chore: add improvements and medium level bug fix

* feat: add example question modal

* chore: fix biome format

* chore: add modal and botcard redesing

* chore: fix sizes

* chore: enable example questions feat flag

* fix(impr): onboarding card responsiveness + space & bg style

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* chore: enable subscription page navigation

* fix: attachment css + optimistic attch upt (#528)

* fix: attachment css + optimistic attch upt

* fix: messageAttachment ref assig loc

* chore: attch cnt read for dev

* [masterbots.ai] feat: onboarding  and ui ux tweaks (#526)

* chore: fix color and new card style

* chore: restore white line

* fix: flicker + include new images

* chore: fix regresion issues

* chore: biome corrections

* fix: layout tweaks + onboard card render

* fix: tailwind class

* fix: tailwind class

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* [masterbots.ai] chore(fix): change logic flow (#531)

* perf: dynamic imports (#530)

* perf(wip): dynamic imports

* chore(fix): rm static skeleton

* perf: dynamic imports in chat routes

* fix: tailwind class

* fix: persistent route (#529)

* fix: add persistent route build

* chore: remove comment section

* feat: phase 4, topics & chatbot order fields + new & upt seeds (#522)

* feat(wip): phase 4, topics + cat & chatbot order fields

* chore: add order field in gen types

* chore(wip): upt init config seed, phase 4, category order upt + wip chatbot new descriptions

* style: format and lint

* chore: upt chatbot new descriptions + new bots and prompts

* chore: upt chatbot prompt junction seeds inserts

* chore: upt chatbot categories juntion seeds

* chore: upt chatbots & relationships

* chore: upt chatbots & relationships

* fix: order field permissions + gen

* fix: onboarding chatbot description

* [masterbots.ai] fix: thread popup for threadquestion page (#516)

* update

* fix: update

* update

* update

* update

* update

* fix: thread style

* fix: thread style

* fix: added popup to threadQuestionPage

* fix: update

* fix: sub thread slug update on url:

* fix: update thread question slug navigation

* fix: update thread question slug navigation

* fix: update thread question slug navigation

* fix: update

* fix: update thread path

* fix: update

* fix: update package data

* fix: use proper error handling component on server

* fix: update

* fix: make the selected thread in popup  open by the default

* fix: focus the last sub-thread when know sub-thread slug is on the pathname

* fix: popup flickering

* fix: handle bot page routing and  threadquestion page

* fix: disable link on the bot view page

* fix: question not displaying

* fix: question not displaying

* fix: chatbot page loading more unrelated threads

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* [hasura] fix(restore): is_pro + pro-exclusive chatbot table params

* revert: "fix: persistent route (#529)" (#533)

This reverts commit f2d5581.

* chore: upt canonical domains (#532)

* chore: upt canonical domains

* fix: getRouteType

* fix: missing canonical domains and topics

* fix: category slug

* fix: hydration warns + continue thread upt after start

* fix: upt init config chatbot inserts

* chore: upt biblebot expertise + chefbot n growbot descr puntuation

* fix: coderabbitai observation

* [materbots.ai] perf: impr onboarding cards ui (#535)

* [masterbots.ai] chore(style): logo updates (#525)

* update

* fix: update

* update

* update

* update

* update

* feat: import  logos

* feat: added logo to app header

* feat: app logo

* chore: user page text

* fix: update

* feat: added bg to auth pages

* fix: update

* fix: wait for page to mount to load custom logos

* fix: update

* fix: update

* fix: update

* fix: update theme to use resolvedTheme instead

* fix: update assets

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* perf(impr): overall layout css spacing at mob + footer mob loc

---------

Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
* fix: increase execution time - image generation

* chore: increase maxDuration

* fix: attachment upload management (#517)

* fix: attachment upload management

* chore: clean up

* perf(impr): log failed chunks

* feat: attachment upt cron n public browse tweaks (#520)

* feat: reresh attch cron + user attach async dep upt

* fix: load more missing props

* fix: attachment expires typeof sql value

* fix: public browse search + load more deps

* perf(impr): trnx support in attch link refresh cron

* [masterbots.ai] feat: stripe subscription plans and promocode support (#513)

* fix whirlpool animation

* feat: add validation for promo codes and subscriptions

* fix: initital coderabbitai recomendations

* chore: add improve to subscription flow

* chore: add card switcher

* chore: impr pro card

* chore: fix custom class

* chore: add free card newcolor

* [masterbots.ai] feat: thread context file (#519)

* feat(wip): thread context file

* fix: typo

* fix: attachment prop dep

* fix: user attachments upt concurrency

* feat(wip): thread context focus on open

* fix: content editable selection on first render

* fix: new line after enabling content editable

* fix: paste text in editable content + paste context

* fix: paste context + show attachment text content in public

* fix: show continue message cta in cutoff content trigger

* fix: contentEditable text encoding

* fix: hook race condition build

* [masterbots.ai] fix: bug fix and improvements (#523)

* fix whirlpool animation

* feat: add validation for promo codes and subscriptions

* fix: initital coderabbitai recomendations

* chore: add improve to subscription flow

* chore: add card switcher

* chore: impr pro card

* chore: fix custom class

* chore: add free card newcolor

* chore: add improvements and medium level bug fix

* feat: add example question modal

* chore: fix biome format

* chore: add modal and botcard redesing

* chore: fix sizes

* chore: enable example questions feat flag

* fix(impr): onboarding card responsiveness + space & bg style

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* chore: enable subscription page navigation

* fix: attachment css + optimistic attch upt (#528)

* fix: attachment css + optimistic attch upt

* fix: messageAttachment ref assig loc

* chore: attch cnt read for dev

* [masterbots.ai] feat: onboarding  and ui ux tweaks (#526)

* chore: fix color and new card style

* chore: restore white line

* fix: flicker + include new images

* chore: fix regresion issues

* chore: biome corrections

* fix: layout tweaks + onboard card render

* fix: tailwind class

* fix: tailwind class

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* [masterbots.ai] chore(fix): change logic flow (#531)

* perf: dynamic imports (#530)

* perf(wip): dynamic imports

* chore(fix): rm static skeleton

* perf: dynamic imports in chat routes

* fix: tailwind class

* fix: persistent route (#529)

* fix: add persistent route build

* chore: remove comment section

* feat: phase 4, topics & chatbot order fields + new & upt seeds (#522)

* feat(wip): phase 4, topics + cat & chatbot order fields

* chore: add order field in gen types

* chore(wip): upt init config seed, phase 4, category order upt + wip chatbot new descriptions

* style: format and lint

* chore: upt chatbot new descriptions + new bots and prompts

* chore: upt chatbot prompt junction seeds inserts

* chore: upt chatbot categories juntion seeds

* chore: upt chatbots & relationships

* chore: upt chatbots & relationships

* fix: order field permissions + gen

* fix: onboarding chatbot description

* [masterbots.ai] fix: thread popup for threadquestion page (#516)

* update

* fix: update

* update

* update

* update

* update

* fix: thread style

* fix: thread style

* fix: added popup to threadQuestionPage

* fix: update

* fix: sub thread slug update on url:

* fix: update thread question slug navigation

* fix: update thread question slug navigation

* fix: update thread question slug navigation

* fix: update

* fix: update thread path

* fix: update

* fix: update package data

* fix: use proper error handling component on server

* fix: update

* fix: make the selected thread in popup  open by the default

* fix: focus the last sub-thread when know sub-thread slug is on the pathname

* fix: popup flickering

* fix: handle bot page routing and  threadquestion page

* fix: disable link on the bot view page

* fix: question not displaying

* fix: question not displaying

* fix: chatbot page loading more unrelated threads

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* [hasura] fix(restore): is_pro + pro-exclusive chatbot table params

* revert: "fix: persistent route (#529)" (#533)

This reverts commit cba7b70.

* chore: upt canonical domains (#532)

* chore: upt canonical domains

* fix: getRouteType

* fix: missing canonical domains and topics

* fix: category slug

* fix: hydration warns + continue thread upt after start

* fix: upt init config chatbot inserts

* chore: upt biblebot expertise + chefbot n growbot descr puntuation

* fix: coderabbitai observation

* [materbots.ai] perf: impr onboarding cards ui (#535)

* [masterbots.ai] chore(style): logo updates (#525)

* update

* fix: update

* update

* update

* update

* update

* feat: import  logos

* feat: added logo to app header

* feat: app logo

* chore: user page text

* fix: update

* feat: added bg to auth pages

* fix: update

* fix: wait for page to mount to load custom logos

* fix: update

* fix: update

* fix: update

* fix: update theme to use resolvedTheme instead

* fix: update assets

---------

Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>

* perf(impr): overall layout css spacing at mob + footer mob loc

---------

Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants