-
Notifications
You must be signed in to change notification settings - Fork 1
feat: general enhancements #526
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
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThis update unifies the visual theme across several components by standardizing color schemes, primarily shifting from purple to green accents and simplifying dark mode variants. It also introduces an onboarding chatbot card, updates sidebar background logic to include profile routes, and renames a shared onboarding component for clarity. Additionally, it adds a welcome view for when no chatbot is selected and improves route type detection. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant BotPage
participant BotProfileThreadSection
participant OnboardingChatbotCard
participant SelectedBotMobileView
participant BrowseSearchInput
User->>BotPage: Visit Bot Page (no bot selected)
BotPage->>BotProfileThreadSection: Render with chatbot=null
BotProfileThreadSection->>OnboardingChatbotCard: Show onboarding card
BotProfileThreadSection->>SelectedBotMobileView: Show mobile onboarding view
BotProfileThreadSection->>BrowseSearchInput: Show search input
BotProfileThreadSection->>User: Render welcome/onboarding UI
Suggested labels
Suggested reviewers
Poem
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
apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsxOops! 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. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed 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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Reviewer's GuideThis PR refactors UI styling for theme consistency, consolidates and embeds the search input into the browse list with an onboarding placeholder, renames and updates the onboarding chatbot component, and extends sidebar background logic to include profile routes. Class diagram for onboarding chatbot component refactorclassDiagram
class OnboardingChatbotExamples {
<<removed>>
+isWelcomeView: boolean
+render()
}
class OnboardingChatbotCard {
+isWelcomeView: boolean
+render()
}
OnboardingChatbotCard <|-- OnboardingChatbotExamples : replaces
Class diagram for BrowseList and BrowseSearchInput integrationclassDiagram
class BrowseList {
+initialThreads
+initialCount
+filteredThreads
+loading
+render()
}
class BrowseSearchInput {
+searchTerm
+handleSearch()
+render()
}
BrowseList o-- BrowseSearchInput : embeds
BrowseList o-- OnboardingChatbotCard : shows onboarding card if no threads
Class diagram for Sidebar background logic updateclassDiagram
class Sidebar {
+pathname
+isBrowse
+isProfile
+resetState()
+render()
}
Sidebar : bg-[#eeffea] for isBrowse or isProfile
Sidebar : bg-[#fae8ff] otherwise
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @Bran18 - I've reviewed your changes - here's some feedback:
- There are still many hard-coded hex color codes scattered across components—consider migrating these into centralized design tokens or CSS variables to improve maintainability and theming consistency.
- The BrowseSearchInput runs filtering on every keystroke without debounce—adding a debounce or throttle would help avoid unnecessary re-renders and improve performance on large thread lists.
- Double-check the onboarding placeholder logic in BrowseList to ensure the search input remains visible and accessible during initial load or when no results are found, so users aren’t presented with an empty screen.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- There are still many hard-coded hex color codes scattered across components—consider migrating these into centralized design tokens or CSS variables to improve maintainability and theming consistency.
- The BrowseSearchInput runs filtering on every keystroke without debounce—adding a debounce or throttle would help avoid unnecessary re-renders and improve performance on large thread lists.
- Double-check the onboarding placeholder logic in BrowseList to ensure the search input remains visible and accessible during initial load or when no results are found, so users aren’t presented with an empty screen.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
@Bran18 — look at this video, there is a flicker in the public page when changing routes. Are we supposed to show the card even in public? Screen.Recording.2025-07-03.at.5.22.29.PM.movcc - @merivercap |
I believe I just fixed the flicker in the commit I pushed a few seconds ago. However, over the last three days, the site has been feeling buggy and slow, not sure if it’s just my connection. Regarding showing that card on /b: Jun asked me to include it today. Initially, it was only meant for the chat, but he mentioned that he feels it should also be visible in /b to help users understand what the bots are doing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
apps/masterbots.ai/app/b/page.tsx (2)
4-4: Remove unused props parameter or use it appropriately.The
propsparameter is declared but never used in the function body. Either remove it if not needed, or use it to extract any relevant parameters.-export default async function BotPage(props: PageProps) { +export default async function BotPage() {
7-7: Remove type assertion for better type safety.The
null as anytype assertion bypasses TypeScript's type checking. SinceBotProfileThreadSectionalready acceptsChatbot | null, you can passnulldirectly.- <BotProfileThreadSection threads={[]} count={0} chatbot={null as any} /> + <BotProfileThreadSection threads={[]} count={0} chatbot={null} />apps/masterbots.ai/app/b/[botSlug]/page.tsx (1)
19-19: Consider consistency in error handling approach.The main component throws an error when a chatbot is not found (line 19), while
generateMetadatahandles the same scenario gracefully (lines 45-50). Consider whether both should handle missing chatbots consistently to avoid different behaviors.apps/masterbots.ai/components/routes/bot/bot-profile-thread-section.tsx (1)
23-29: Clean welcome view logic with placeholder handler.The
isWelcomeViewboolean provides clear conditional logic. Note thathandleNewChatis currently a placeholder implementation that only logs to console.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
apps/masterbots.ai/app/(browse)/page.tsx(1 hunks)apps/masterbots.ai/app/b/[botSlug]/page.tsx(1 hunks)apps/masterbots.ai/app/b/layout.tsx(1 hunks)apps/masterbots.ai/app/b/page.tsx(1 hunks)apps/masterbots.ai/components/routes/bot/bot-profile-thread-section.tsx(2 hunks)apps/masterbots.ai/components/routes/browse/browse-list.tsx(3 hunks)apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx(2 hunks)apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsx(2 hunks)apps/masterbots.ai/components/shared/onboarding-chatbot-card.tsx(5 hunks)apps/masterbots.ai/lib/utils.ts(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- apps/masterbots.ai/app/b/layout.tsx
🚧 Files skipped from review as they are similar to previous changes (4)
- apps/masterbots.ai/app/(browse)/page.tsx
- apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx
- apps/masterbots.ai/components/routes/browse/browse-list.tsx
- apps/masterbots.ai/components/shared/onboarding-chatbot-card.tsx
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.884Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.885Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-08T20:36:48.530Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#309
File: apps/masterbots.ai/components/ui/command.tsx:120-120
Timestamp: 2024-11-22T07:18:14.566Z
Learning: In the project, `accent` is now a bright color, while `muted` preserves the same accent color with a contrast fix. New components use `accent` colors, and old components keep the same colors as before.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:10:40.413Z
Learning: In the profile page `u/{username}/t`, when navigating between categories and chatbots, we should use shallow routing to enhance navigation performance.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#377
File: apps/masterbots.ai/components/routes/chat/chat-list.tsx:141-207
Timestamp: 2025-02-14T01:43:05.202Z
Learning: In the chat interface, messages from previous threads should be visually distinct from current messages through styling (e.g., different background colors, borders, badges) to help users understand the context and origin of the messages.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The project uses shadcn/ui conventions for UI components and follows atomic design principles for component organization.
apps/masterbots.ai/app/b/[botSlug]/page.tsx (5)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#508
File: apps/masterbots.ai/lib/helpers/ai-helpers.ts:280-283
Timestamp: 2025-06-13T08:55:45.217Z
Learning: In `apps/masterbots.ai/lib/helpers/ai-helpers.ts` the `verifyDuplicateMessage` function should:
• Use `message.content` as the sole de-duplication key so provisional (no-slug) and persisted (slugged) messages merge properly.
• Return the full `message` object (not just a string key) for the continuation prompts (`CONTINUE_GENERATION_PROMPT`, `CONTINUE_GENERATION_PROMPT_2`) because their content repeats and they must remain distinct.
• No explicit `!message.content` guard is needed; `return message.content` already yields `undefined` when content is missing.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#519
File: apps/masterbots.ai/lib/hooks/use-chat-attachments.ts:276-297
Timestamp: 2025-07-02T19:46:45.657Z
Learning: In `apps/masterbots.ai/lib/hooks/use-chat-attachments.ts`, the `validateTextContent` function intentionally uses `slugify()` with character removal (`remove: /[^\w\s]/g`) followed by splitting on hyphens to count words. This approach is preferred over simple whitespace splitting because it removes special characters (like those found in code text) and counts only "true words", making it more robust for validating pasted content that may contain mixed text and code.
Learnt from: Bran18
PR: bitcashorg/masterbots#504
File: apps/masterbots.ai/app/api/generate-images/route.ts:58-80
Timestamp: 2025-06-10T05:48:25.508Z
Learning: In apps/masterbots.ai/app/api/generate-images/route.ts, the conditional check for modelId === 'gpt-image-1' is correct and uses the OpenAI client directly to handle this advanced model, while other models like 'dall-e-2' and 'dall-e-3' use the AI SDK. This implementation pattern is appropriate for handling different model capabilities.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#516
File: apps/masterbots.ai/lib/url.ts:592-615
Timestamp: 2025-06-25T20:11:57.360Z
Learning: Bot profiles use a different URL structure than user profiles. For bot profiles, the URL format is `/b/{chatbot}/{threadSlug}` and only requires chatbot, threadSlug, and optionally threadQuestionSlug parameters. Bot profiles should not use the user profile URL format (`/u/{usernameSlug}/t/{category}/{domain}/{chatbot}/{threadSlug}`) which requires usernameSlug, domain, and category parameters that are not available in bot profile contexts.
apps/masterbots.ai/app/b/page.tsx (11)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#287
File: apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx:39-45
Timestamp: 2024-10-23T19:11:47.520Z
Learning: In the `UserThreadPanel` component (`apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx`), the `count` state variable is used in the `loadMore` function and depends on `finalThreads.length`, so updating `count` in the `useEffect` is necessary.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: Bran18
PR: bitcashorg/masterbots#314
File: apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx:130-132
Timestamp: 2024-11-25T19:41:33.853Z
Learning: In the file `apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx`, the follower count displayed as "3.2k" is a temporary hardcoded value that will be replaced with real data from the database eventually.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#516
File: apps/masterbots.ai/lib/url.ts:592-615
Timestamp: 2025-06-25T20:11:57.360Z
Learning: Bot profiles use a different URL structure than user profiles. For bot profiles, the URL format is `/b/{chatbot}/{threadSlug}` and only requires chatbot, threadSlug, and optionally threadQuestionSlug parameters. Bot profiles should not use the user profile URL format (`/u/{usernameSlug}/t/{category}/{domain}/{chatbot}/{threadSlug}`) which requires usernameSlug, domain, and category parameters that are not available in bot profile contexts.
apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsx (10)
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: Bran18
PR: bitcashorg/masterbots#314
File: apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx:130-132
Timestamp: 2024-11-25T19:41:33.853Z
Learning: In the file `apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx`, the follower count displayed as "3.2k" is a temporary hardcoded value that will be replaced with real data from the database eventually.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#287
File: apps/masterbots.ai/components/routes/chat/share-button.tsx:10-29
Timestamp: 2024-10-23T00:00:06.253Z
Learning: When implementing the `handleShare` function in `apps/masterbots.ai/components/routes/chat/share-button.tsx`, prefer using modern APIs like the Clipboard API over deprecated methods like `document.execCommand('copy')`, as the project no longer needs to support very old web browsers.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#508
File: apps/masterbots.ai/lib/helpers/ai-helpers.ts:280-283
Timestamp: 2025-06-13T08:55:45.217Z
Learning: In `apps/masterbots.ai/lib/helpers/ai-helpers.ts` the `verifyDuplicateMessage` function should:
• Use `message.content` as the sole de-duplication key so provisional (no-slug) and persisted (slugged) messages merge properly.
• Return the full `message` object (not just a string key) for the continuation prompts (`CONTINUE_GENERATION_PROMPT`, `CONTINUE_GENERATION_PROMPT_2`) because their content repeats and they must remain distinct.
• No explicit `!message.content` guard is needed; `return message.content` already yields `undefined` when content is missing.
Learnt from: Bran18
PR: bitcashorg/masterbots#504
File: apps/masterbots.ai/app/api/generate-images/route.ts:58-80
Timestamp: 2025-06-10T05:48:25.508Z
Learning: In apps/masterbots.ai/app/api/generate-images/route.ts, the conditional check for modelId === 'gpt-image-1' is correct and uses the OpenAI client directly to handle this advanced model, while other models like 'dall-e-2' and 'dall-e-3' use the AI SDK. This implementation pattern is appropriate for handling different model capabilities.
apps/masterbots.ai/lib/utils.ts (10)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: Bran18
PR: bitcashorg/masterbots#504
File: apps/masterbots.ai/app/api/generate-images/route.ts:58-80
Timestamp: 2025-06-10T05:48:25.508Z
Learning: In apps/masterbots.ai/app/api/generate-images/route.ts, the conditional check for modelId === 'gpt-image-1' is correct and uses the OpenAI client directly to handle this advanced model, while other models like 'dall-e-2' and 'dall-e-3' use the AI SDK. This implementation pattern is appropriate for handling different model capabilities.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#425
File: apps/masterbots.ai/lib/utils.ts:308-308
Timestamp: 2025-03-28T21:43:52.984Z
Learning: The 'pro' route type was intentionally added to the RouteType definition before its implementation logic, as the complete implementation exists in a separate branch (feat-pro-layout). This reflects an incremental development approach where type definitions may be updated in advance of their full implementation.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#519
File: apps/masterbots.ai/lib/hooks/use-chat-attachments.ts:276-297
Timestamp: 2025-07-02T19:46:45.657Z
Learning: In `apps/masterbots.ai/lib/hooks/use-chat-attachments.ts`, the `validateTextContent` function intentionally uses `slugify()` with character removal (`remove: /[^\w\s]/g`) followed by splitting on hyphens to count words. This approach is preferred over simple whitespace splitting because it removes special characters (like those found in code text) and counts only "true words", making it more robust for validating pasted content that may contain mixed text and code.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#508
File: apps/masterbots.ai/lib/helpers/ai-helpers.ts:280-283
Timestamp: 2025-06-13T08:55:45.217Z
Learning: In `apps/masterbots.ai/lib/helpers/ai-helpers.ts` the `verifyDuplicateMessage` function should:
• Use `message.content` as the sole de-duplication key so provisional (no-slug) and persisted (slugged) messages merge properly.
• Return the full `message` object (not just a string key) for the continuation prompts (`CONTINUE_GENERATION_PROMPT`, `CONTINUE_GENERATION_PROMPT_2`) because their content repeats and they must remain distinct.
• No explicit `!message.content` guard is needed; `return message.content` already yields `undefined` when content is missing.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#516
File: apps/masterbots.ai/lib/url.ts:592-615
Timestamp: 2025-06-25T20:11:57.360Z
Learning: Bot profiles use a different URL structure than user profiles. For bot profiles, the URL format is `/b/{chatbot}/{threadSlug}` and only requires chatbot, threadSlug, and optionally threadQuestionSlug parameters. Bot profiles should not use the user profile URL format (`/u/{usernameSlug}/t/{category}/{domain}/{chatbot}/{threadSlug}`) which requires usernameSlug, domain, and category parameters that are not available in bot profile contexts.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
apps/masterbots.ai/components/routes/bot/bot-profile-thread-section.tsx (15)
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#287
File: apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx:39-45
Timestamp: 2024-10-23T19:11:47.520Z
Learning: In the `UserThreadPanel` component (`apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx`), the `count` state variable is used in the `loadMore` function and depends on `finalThreads.length`, so updating `count` in the `useEffect` is necessary.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.885Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.884Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: Bran18
PR: bitcashorg/masterbots#314
File: apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx:130-132
Timestamp: 2024-11-25T19:41:33.853Z
Learning: In the file `apps/masterbots.ai/components/routes/chat/chat-chatbot-details.tsx`, the follower count displayed as "3.2k" is a temporary hardcoded value that will be replaced with real data from the database eventually.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#428
File: apps/masterbots.ai/lib/hooks/use-mb-chat.tsx:196-216
Timestamp: 2025-04-01T03:48:44.950Z
Learning: The `getCurrentSearchParams` function in `use-mb-chat.tsx` is intentionally using `window.location.search` to handle cases where the `useSearchParams` hook doesn't update when the page is reloaded. This is safe because the component has the 'use client' directive.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:08:50.085Z
Learning: The frontend uses shadcn/ui components and follows a strict component organization with proper separation of client/server components in Next.js.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#283
File: apps/masterbots.ai/components/routes/chat/admin-mode-approve.tsx:11-15
Timestamp: 2024-10-14T18:40:46.645Z
Learning: In the project, the `adminApproveThread` function within the `useThread` hook manages error handling and loading state, so components using it don't need to implement additional error handling unless they introduce side effects.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
🧬 Code Graph Analysis (2)
apps/masterbots.ai/app/b/[botSlug]/page.tsx (1)
packages/mb-drizzle/src/drizzle/schema.ts (1)
chatbot(228-273)
apps/masterbots.ai/app/b/page.tsx (2)
apps/masterbots.ai/types/types.ts (1)
PageProps(262-272)apps/masterbots.ai/components/routes/bot/bot-profile-thread-section.tsx (1)
BotProfileThreadSection(12-64)
🔇 Additional comments (7)
apps/masterbots.ai/app/b/page.tsx (1)
4-9: LGTM! Good approach for handling the welcome view.The implementation correctly creates a welcome state by passing empty data to trigger the onboarding view in
BotProfileThreadSection.apps/masterbots.ai/app/b/[botSlug]/page.tsx (1)
45-50: Good defensive handling for missing chatbots.This prevents metadata generation from failing when a chatbot is not found, improving the user experience.
apps/masterbots.ai/lib/utils.ts (1)
330-331: Good simplification of bot route detection.The change from regex pattern matching to a simple prefix check makes the code more readable while maintaining functionality, since
/bis dedicated to bot routes.apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsx (2)
12-18: Excellent contextual messaging improvement.The dynamic CTA text based on route type provides a better user experience by giving context-appropriate guidance.
48-48: LGTM! Clean integration of dynamic text.The function call is properly integrated into the JSX without any issues.
apps/masterbots.ai/components/routes/bot/bot-profile-thread-section.tsx (2)
19-19: Good type safety improvement.Making the chatbot prop nullable properly reflects the component's ability to handle cases where no bot is selected.
33-62: Excellent conditional rendering structure.The component properly separates welcome view (onboarding) from detailed view (selected bot) with clear conditional logic. The thread panel is appropriately hidden in welcome view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
apps/masterbots.ai/app/(browse)/[category]/page.tsx (1)
23-27: Consider architectural consistency with thread-list.tsx.Similar to the previous file, this usage of
BrowseListmay be inconsistent with the established pattern of using thread-list.tsx for all pages. Please verify if this component should be replaced as part of the codebase cleanup.
🧹 Nitpick comments (5)
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/[threadQuestionSlug]/page.tsx (1)
2-2: Remove unused import.The
BrowseSearchInputimport is no longer needed since the component was removed from the JSX.-import { BrowseSearchInput } from '@/components/routes/browse/browse-search-input'apps/masterbots.ai/components/shared/shared-search.tsx (1)
137-194: Consider adding form submission handling.Since the container is now a
<form>element, consider adding anonSubmithandler to properly handle form submission (e.g., preventing default browser behavior and triggering search).<form + onSubmit={(e) => { + e.preventDefault() + // Form submission is handled by the input's onChange + }} className={cn( 'relative w-full max-w-screen-xl mx-auto flex items-center justify-center', className, )} >apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/page.tsx (1)
2-2: Remove unused import.The
BrowseSearchInputimport is no longer needed since the component was removed from the JSX.-import { BrowseSearchInput } from '@/components/routes/browse/browse-search-input'apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/page.tsx (1)
2-2: Remove unused import.The
BrowseSearchInputimport is no longer used after removing the component from the JSX.-import { BrowseSearchInput } from '@/components/routes/browse/browse-search-input'apps/masterbots.ai/app/(browse)/[category]/page.tsx (1)
2-2: Remove unused import.The
BrowseSearchInputimport is no longer used after removing the component from the JSX.-import { BrowseSearchInput } from '@/components/routes/browse/browse-search-input'
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/[threadQuestionSlug]/page.tsx(1 hunks)apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/page.tsx(1 hunks)apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/page.tsx(1 hunks)apps/masterbots.ai/app/(browse)/[category]/page.tsx(1 hunks)apps/masterbots.ai/app/(browse)/layout.tsx(1 hunks)apps/masterbots.ai/app/c/layout.tsx(1 hunks)apps/masterbots.ai/app/layout.tsx(1 hunks)apps/masterbots.ai/components/routes/browse/browse-list.tsx(3 hunks)apps/masterbots.ai/components/routes/browse/browse-search-input.tsx(2 hunks)apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsx(2 hunks)apps/masterbots.ai/components/shared/shared-search.tsx(2 hunks)
✅ Files skipped from review due to trivial changes (1)
- apps/masterbots.ai/app/(browse)/layout.tsx
🚧 Files skipped from review as they are similar to previous changes (3)
- apps/masterbots.ai/components/routes/browse/browse-search-input.tsx
- apps/masterbots.ai/components/routes/browse/browse-list.tsx
- apps/masterbots.ai/components/routes/chat/chat-onboarding-chatbot-mobile.tsx
🧰 Additional context used
🧠 Learnings (8)
📓 Common learnings
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.885Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.884Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-08T20:36:48.530Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#309
File: apps/masterbots.ai/components/ui/command.tsx:120-120
Timestamp: 2024-11-22T07:18:14.566Z
Learning: In the project, `accent` is now a bright color, while `muted` preserves the same accent color with a contrast fix. New components use `accent` colors, and old components keep the same colors as before.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:10:40.413Z
Learning: In the profile page `u/{username}/t`, when navigating between categories and chatbots, we should use shallow routing to enhance navigation performance.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#377
File: apps/masterbots.ai/components/routes/chat/chat-list.tsx:141-207
Timestamp: 2025-02-14T01:43:05.202Z
Learning: In the chat interface, messages from previous threads should be visually distinct from current messages through styling (e.g., different background colors, borders, badges) to help users understand the context and origin of the messages.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The project uses shadcn/ui conventions for UI components and follows atomic design principles for component organization.
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/[threadQuestionSlug]/page.tsx (10)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/browse/browse-user-details.tsx:65-67
Timestamp: 2024-11-07T20:08:13.609Z
Learning: In the `BrowseUserDetails` component (`browse-user-details.tsx`), when displaying usernames, truncate and display ellipsis only on large screens (LG/XL) without creating custom reactive hooks. On smaller screens, do not include ellipsis for responsive reasons.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.885Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
apps/masterbots.ai/app/(browse)/[category]/page.tsx (10)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/browse/browse-user-details.tsx:65-67
Timestamp: 2024-11-07T20:08:13.609Z
Learning: In the `BrowseUserDetails` component (`browse-user-details.tsx`), when displaying usernames, truncate and display ellipsis only on large screens (LG/XL) without creating custom reactive hooks. On smaller screens, do not include ellipsis for responsive reasons.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:10:40.413Z
Learning: In the profile page `u/{username}/t`, when navigating between categories and chatbots, we should use shallow routing to enhance navigation performance.
apps/masterbots.ai/app/layout.tsx (8)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-08T20:36:48.530Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
apps/masterbots.ai/app/c/layout.tsx (15)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-08T20:36:48.530Z
Learning: Future improvements may include creating shared components to refactor the footer, sidebar, and scrolling, keeping the code DRY and implementing suggested code changes carefully.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:08:50.085Z
Learning: The frontend uses shadcn/ui components and follows a strict component organization with proper separation of client/server components in Next.js.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/browse/browse-user-details.tsx:65-67
Timestamp: 2024-11-07T20:08:13.609Z
Learning: In the `BrowseUserDetails` component (`browse-user-details.tsx`), when displaying usernames, truncate and display ellipsis only on large screens (LG/XL) without creating custom reactive hooks. On smaller screens, do not include ellipsis for responsive reasons.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.885Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.884Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
apps/masterbots.ai/components/shared/shared-search.tsx (7)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/chat/chat-combobox.tsx:33-33
Timestamp: 2024-11-07T14:40:39.595Z
Learning: In `apps/masterbots.ai/components/routes/chat/chat-combobox.tsx`, the 'MB' logo is temporarily represented by the string `'MB'` until the custom MB icon is created.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#287
File: apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx:39-45
Timestamp: 2024-10-23T19:11:47.520Z
Learning: In the `UserThreadPanel` component (`apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx`), the `count` state variable is used in the `loadMore` function and depends on `finalThreads.length`, so updating `count` in the `useEffect` is necessary.
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/page.tsx (10)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-12-05T01:14:50.365Z
Learning: The masterbots.ai project follows Next.js 14 App Router conventions with server components as default and client components marked explicitly with 'use client' directive when needed.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/browse/browse-user-details.tsx:65-67
Timestamp: 2024-11-07T20:08:13.609Z
Learning: In the `BrowseUserDetails` component (`browse-user-details.tsx`), when displaying usernames, truncate and display ellipsis only on large screens (LG/XL) without creating custom reactive hooks. On smaller screens, do not include ellipsis for responsive reasons.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:10:40.413Z
Learning: In the profile page `u/{username}/t`, when navigating between categories and chatbots, we should use shallow routing to enhance navigation performance.
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/page.tsx (11)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component and related components in the browse directory are redundant since thread-list.tsx has been developed to support all pages including public pages, and should be removed to simplify the codebase.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#465
File: apps/masterbots.ai/components/routes/browse/browse-list.tsx:1-1
Timestamp: 2025-04-26T10:58:44.341Z
Learning: The browse-list.tsx component is redundant as thread-list.tsx has been developed to support all the same functionality including public pages. The codebase should be cleaned up to remove browse-list.tsx and related components in the browse directory, along with the BrowseProvider context.
Learnt from: Bran18
PR: bitcashorg/masterbots#376
File: apps/masterbots.ai/components/routes/chat/chat.tsx:92-102
Timestamp: 2025-02-17T16:51:19.102Z
Learning: For the Chat component in apps/masterbots.ai/components/routes/chat/chat.tsx, the developer prefers to verify potential optimizations through local testing before accepting suggestions, particularly for performance-related changes like useCallback usage in debounce implementations.
Learnt from: Bran18
PR: bitcashorg/masterbots#324
File: apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx:145-146
Timestamp: 2024-12-11T19:40:37.103Z
Learning: In `apps/masterbots.ai/components/routes/browse/browse-chatbot-mobile-details.tsx`, the follower and following counts are currently hardcoded as these features are being developed in other PRs.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:00:08.096Z
Learning: When navigating between categories and chatbots routes, we should use shallow push state with Next.js. For transitions between main pages (e.g., from `/` to `/c`), we should perform full redirects.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.885Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#0
File: :0-0
Timestamp: 2024-11-23T02:41:45.884Z
Learning: In the application, both chat routing and profile routing should use shallow redirection instead of full page reloads to maintain consistent UI/UX. The profile thread list interaction must be the same as the browse page, ensuring that navigation within the profile does not disrupt the application's state.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#295
File: apps/masterbots.ai/app/b/[id]/layout.tsx:13-18
Timestamp: 2024-11-06T05:58:49.546Z
Learning: In the codebase, the main layout (`apps/masterbots.ai/app/layout.tsx`) includes the `<main>` tag. Therefore, child layouts should avoid using `<main>` to prevent duplication.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/lib/hooks/use-sidebar.tsx:218-227
Timestamp: 2024-11-28T07:10:40.413Z
Learning: In the profile page `u/{username}/t`, when navigating between categories and chatbots, we should use shallow routing to enhance navigation performance.
Learnt from: AndlerRL
PR: bitcashorg/masterbots#276
File: apps/masterbots.ai/app/wordware/layout.tsx:12-19
Timestamp: 2024-10-03T20:10:44.311Z
Learning: In `apps/masterbots.ai/app/wordware/layout.tsx`, the current layout is intentional to prevent layout issues such as unwanted gaps and sidebar design problems. A similar design is used in `apps/c/layout`.
Learnt from: Bran18
PR: bitcashorg/masterbots#301
File: apps/masterbots.ai/components/routes/browse/browse-user-details.tsx:65-67
Timestamp: 2024-11-07T20:08:13.609Z
Learning: In the `BrowseUserDetails` component (`browse-user-details.tsx`), when displaying usernames, truncate and display ellipsis only on large screens (LG/XL) without creating custom reactive hooks. On smaller screens, do not include ellipsis for responsive reasons.
🧬 Code Graph Analysis (1)
apps/masterbots.ai/app/c/layout.tsx (2)
apps/masterbots.ai/components/layout/sidebar/sidebar-responsive.tsx (1)
ResponsiveSidebar(3-13)apps/masterbots.ai/components/routes/chat/chat-layout-section.tsx (1)
ChatLayoutSection(13-41)
🔇 Additional comments (6)
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/[threadQuestionSlug]/page.tsx (1)
29-34: LGTM! Component simplification aligns with PR objectives.The removal of the wrapping container and embedded search input is consistent with the PR goal of embedding search functionality within the BrowseList component itself. This simplifies the component structure and reduces redundancy.
apps/masterbots.ai/app/c/layout.tsx (1)
16-19: LGTM! Correctly removes duplicate<main>wrapper.The removal of the
<main>wrapper is appropriate as the main layout (apps/masterbots.ai/app/layout.tsx) already includes the<main>tag. This prevents HTML duplication and follows the established pattern for child layouts.apps/masterbots.ai/components/shared/shared-search.tsx (1)
137-137: LGTM! Semantic improvement using<form>element.Changing from
<div>to<form>is a good semantic improvement that provides better accessibility and follows HTML best practices for search functionality.apps/masterbots.ai/app/layout.tsx (1)
52-52: LGTM! Fixed height calculation improves layout predictability.The change from
flex-1toh-[calc(100vh-4rem)]withoverflow-hiddenprovides better control over the main content area height and prevents unwanted scrolling behavior. Thepb-10adds appropriate bottom spacing.apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/page.tsx (1)
32-38: LGTM! Consistent component simplification.The removal of wrapping containers and standalone search input is consistent with the PR objectives and the pattern established across other browse pages. This simplification reduces redundancy and improves maintainability.
apps/masterbots.ai/app/(browse)/[category]/[domain]/[chatbot]/[threadSlug]/page.tsx (1)
32-36: Incorrect recommendation: ThreadList isn’t a drop-in replacement for BrowseListThe ThreadList component in
• apps/masterbots.ai/components/routes/thread/thread-list.tsx
differs from BrowseList in apps/masterbots.ai/components/routes/browse/browse-list.tsx:• BrowseList integrates keyword search (BrowseSearchInput), onboarding views, and uses the custom useBrowse hook for filtering by keyword and infinite scroll.
• ThreadList only renders threads with category/chatbot filters from useSidebar, handles pagination via a loadMore callback, and does not include search input or mobile onboarding views.Replacing BrowseList with ThreadList will remove critical browse-page features. Either extend ThreadList to cover those features or continue using BrowseList until a unified component is created.
Likely an incorrect or invalid review comment.
AndlerRL
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I did a few tweaks before the merge to make the UI more consistent and a polished. Merging! 👍
I noticed during the review and working the changes that we have 2 search components using 2 different strategies and both doesn't work properly...
@sheriffjimoh — while working on the search fixes, let's expand the
useThreadSearchhook to have all logic related there. The search may be applied same way between public browse and private chat.
…ross platform (#527) * 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 --------- Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
* 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 5a464ab. * 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>
* 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 5a464ab. * 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> --------- 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>
* 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 5a464ab. * 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default --------- 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>
* 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 5a464ab. * 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default * fix: profile layout render * [masterbots.ai] feat: impr sidebar nav onboarding (#540) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * feat: sidebar nav onboarding * chore: fix build * chore: upt local storage conditions and debug * fix: add persistent localstorage selection * feat: add consistent selection * fix: onboarding display logic --------- Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix: create response stream object model temperature + impr output prompt * chore: upt default llm --------- 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> Co-authored-by: brandonfernandezf <brandon@bitcash.org>
* 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 5a464ab. * 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default * fix: profile layout render * [masterbots.ai] feat: impr sidebar nav onboarding (#540) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * feat: sidebar nav onboarding * chore: fix build * chore: upt local storage conditions and debug * fix: add persistent localstorage selection * feat: add consistent selection * fix: onboarding display logic --------- Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix: create response stream object model temperature + impr output prompt * chore: upt default llm * chore: upt canonical domains + christbot, biblebot and new bot updated * chore: upt core app folder name * [pro-web] feat: masterbots pro, working documents (#423) * wip: pro version layout * perf(impr): pro navigation + layout * feat: hasura chatbot pro properties + web TS formatting * revert: showVerificationNotice condition at sign-up form * fix: subcategory missing fields * fix: thread + msg init seeds * feat(pro): implement specialized pro chat interface components - Add Pro-specific message, panel and action components - Create Pro extended layout with improved UI - Update workspace hooks for Pro interface support - Add tabs component and markdown utilities - Update package dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(workspace): integrate workspace with chat UI - Display workspace editor above chat input when workspace is active - Keep chat input available for workspace mode to handle queries - Update placeholder text to better reflect dual-purpose usage - Remove separate workspace input component to avoid redundancy 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(workspace): improve workspace integration with chat UI - Extend workspace area to fill available height - Standardize input handling by using PromptForm for both modes - Add conditional logic to handle different input behaviors based on mode - Improve placeholder text for better user context 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(workspace): always show UI controls with toolbar and workspace - Display expertise, reasoning, web search and workspace toggle buttons regardless of workspace mode - Keep workspace toggle button in the main toolbar with other feature toggles - Keep main right side controls visible regardless of mode - Only conditionally show chat-specific buttons when in chat mode 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: prevent maximum update depth exceeded in workspace component - Enhanced useEffect hooks with better null checking and early returns - Added conditionals to skip unnecessary state updates - Fixed cascading dropdown behavior for Organization→Department→Project→Document - Added value comparison in onChange handlers to prevent update loops - Improved setDocumentContent to only update when values change - Enhanced logging for better debugging * fix: resolve maximum update depth exceeded error - Fixed circular dependency in React hooks - Added memoization for document options to prevent unnecessary re-renders - Optimized useEffect hooks with proper dependency arrays - Added proper state updates batching with requestAnimationFrame - Improved state synchronization between components - Added checks to prevent unnecessary state changes * feat: improved document selector empty state - Added '---' placeholder for document selector when no documents are available - Enhanced document options handling in chat-panel-pro.tsx - Added better disabled state checks for empty document lists - Improved validation of document selection to handle edge cases * fix: document selector displaying blank - Fixed document selector initialization issue - Added proper handling of null filteredDocumentList - Added document dropdown state synchronization - Added extra diagnostics for document selection - Improved reliability of document type switching * fix: document selection not working for Campaign A - Added force re-render in document select dropdown with key - Fixed document options memoization to create new references - Added deep copy of document sources to prevent reference issues - Enhanced debugging to trace document options availability - Added special handling for Campaign A document options - Improved option type handling and selection state updates * fix: text document dropdown not working - Fixed text document dropdown selection to match spreadsheet functionality - Added deep copy with JSON stringify/parse for consistent references - Added force re-render mechanism to ensure dropdown updates - Enhanced document type selection to handle all document types consistently - Improved debugging with render IDs to trace document selection issues - Fixed reference handling for document type changes * feat: integrate Yoopta rich text editor with context-based state management - Add useRichEditor state and toggleRichEditor function to workspace context - Update workspace-content to use context-based editor preference - Create placeholder implementation for Yoopta editor - Add documentation with installation instructions The integration persists user preferences for the rich editor across sessions and provides an intuitive, minimalist toggle UI. * fix: prevent runtime errors in thread list and rich text editor * Revert "fix: prevent runtime errors in thread list and rich text editor" This reverts commit e61341d. * Revert "feat: integrate Yoopta rich text editor with context-based state management" This reverts commit 0a79633. * chore: add context-attachment component * fix: workspace prompt exe w meta prompt * chore: sync thread & msgs seeds * chore: sync thread & msgs seeds * fix: render ai request to selected working document * chore(impr): add claude code monorepo ctx * wip: save content live at cursor pos * wip: working document live upt * fix: pro infinite loop in output * fix: section doc expand * feat(wip): working document, fix init doc obj * fix: missing pkg dep * fix: pro user message * fix: pro user message * fix: workspace initial messages * feat: edit, rewrite, expand workspace ctas * fix: react render hoisting * perf: impr project doc nav + saving working doc state in server cache + thread linking * fix: web build * feat(wip): thread pop-up chat connect workspace * feat(wip): chat workspace connection * fix(wip): workspace ui + chat connect w workspace * fix: connect workspace chat w/mb chat * fix: breadcrumb nav consistency w/state * fix: breadcrumb nav consistency w/state * fix: workspace doc thread creation + save doc version * feat(impr): thread popup layout --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Claude <noreply@anthropic.com> * [web] feat: refactor subscription flow (#549) * chore: refactor subscription flow * chore: fix import * chore: add recent payment * chore: revert condition --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * fix: new thread pop-up ui aligment * [pro-web] fix: pro workspace ui state & navigation (#552) * fix: payment api missing routes * fix: breadcrumb connect with thread documents * fix: fetch missing docuemnts * fix: document select & sync remote w local * fix: document select & sync remote w local * fix: header breadcrumb navigation + prompt + document creation impr * fix: tailwindcss conflict * fix: ts typo * [pro-web] refactor: ai config, default gpt-5-mini, update routing and workspace (#554) * fix: active section focus content * fix: connect workspace prompt to chat panel and ctas * fix(wip): attach new content to working document in workspace mode * fix: implement preserved content structure for streaming LLM updates - Add refs to preserve before/after selection content during streaming updates - Use validStart position as anchor point for stable text replacement - Ensure content structure is preserved across multiple LLM iterations - Reset preserved content refs at start and end of operations - Apply same logic to both section-based and full document editing modes * fix: generated ai content in correct working document pos * fix(wip): working document stream updates + preview section changes * fix(wip): working document stream updates + preview section changes * fix: del component unused prop * fix: followingImages prompt loc in use-mb-chat * fix: generated-imgage loader * fix: following img prompt data * fix: following img prompt data * perf(impr): following img prompt * fix: document update padEnd string in LLM responses * fix: llm document stream results (#557) * fix: llm document stream results * fix: debounce save full source * fix(pro-web): add missing onboarding logic --------- 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> Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Claude <noreply@anthropic.com>
* 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>
…ross platform (#527) * 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 --------- Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
* 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>
* 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> --------- 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>
* 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default --------- 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>
* 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default * fix: profile layout render * [masterbots.ai] feat: impr sidebar nav onboarding (#540) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * feat: sidebar nav onboarding * chore: fix build * chore: upt local storage conditions and debug * fix: add persistent localstorage selection * feat: add consistent selection * fix: onboarding display logic --------- Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix: create response stream object model temperature + impr output prompt * chore: upt default llm --------- 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> Co-authored-by: brandonfernandezf <brandon@bitcash.org>
* 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>
…ross platform (#527) * 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 --------- Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
* 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>
* 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> --------- 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>
* 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default --------- 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>
* 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default * fix: profile layout render * [masterbots.ai] feat: impr sidebar nav onboarding (#540) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * feat: sidebar nav onboarding * chore: fix build * chore: upt local storage conditions and debug * fix: add persistent localstorage selection * feat: add consistent selection * fix: onboarding display logic --------- Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix: create response stream object model temperature + impr output prompt * chore: upt default llm --------- 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> Co-authored-by: brandonfernandezf <brandon@bitcash.org>
* 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 5a464ab. * 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 * fix: thread search context (#534) * update * fix: update * update * update * update * update * fix: thread fetching render on search * fix: thread fetching render on search * fix: rm search input from botpage welcome view * fix: introduce global search component * fix: clean up browe(public) search * fix: update * fix: search from db on personal pages instead of the eveilable threads * fix: search update * fix: clean up * chore: upt gemini models ref, web (#538) * [masterbots.ai] feat: dashboard modal (#536) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * fix: mobile chat panel a11y * fix: mobile chat panel a11y --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * chore: gpt reasoning model upt (#543) * fix: new gpt 5 models selection & default * fix: profile layout render * [masterbots.ai] feat: impr sidebar nav onboarding (#540) * chore:add dashboard modal * chore: add dashboard to public * chore:upt design * chore: add new flow * chore: build issue + new ui * chore: fix local storage - user pref * feat: sidebar nav onboarding * chore: fix build * chore: upt local storage conditions and debug * fix: add persistent localstorage selection * feat: add consistent selection * fix: onboarding display logic --------- Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix: create response stream object model temperature + impr output prompt * chore: upt default llm * chore: upt canonical domains + christbot, biblebot and new bot updated * chore: upt core app folder name * [pro-web] feat: masterbots pro, working documents (#423) * wip: pro version layout * perf(impr): pro navigation + layout * feat: hasura chatbot pro properties + web TS formatting * revert: showVerificationNotice condition at sign-up form * fix: subcategory missing fields * fix: thread + msg init seeds * feat(pro): implement specialized pro chat interface components - Add Pro-specific message, panel and action components - Create Pro extended layout with improved UI - Update workspace hooks for Pro interface support - Add tabs component and markdown utilities - Update package dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(workspace): integrate workspace with chat UI - Display workspace editor above chat input when workspace is active - Keep chat input available for workspace mode to handle queries - Update placeholder text to better reflect dual-purpose usage - Remove separate workspace input component to avoid redundancy 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(workspace): improve workspace integration with chat UI - Extend workspace area to fill available height - Standardize input handling by using PromptForm for both modes - Add conditional logic to handle different input behaviors based on mode - Improve placeholder text for better user context 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(workspace): always show UI controls with toolbar and workspace - Display expertise, reasoning, web search and workspace toggle buttons regardless of workspace mode - Keep workspace toggle button in the main toolbar with other feature toggles - Keep main right side controls visible regardless of mode - Only conditionally show chat-specific buttons when in chat mode 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: prevent maximum update depth exceeded in workspace component - Enhanced useEffect hooks with better null checking and early returns - Added conditionals to skip unnecessary state updates - Fixed cascading dropdown behavior for Organization→Department→Project→Document - Added value comparison in onChange handlers to prevent update loops - Improved setDocumentContent to only update when values change - Enhanced logging for better debugging * fix: resolve maximum update depth exceeded error - Fixed circular dependency in React hooks - Added memoization for document options to prevent unnecessary re-renders - Optimized useEffect hooks with proper dependency arrays - Added proper state updates batching with requestAnimationFrame - Improved state synchronization between components - Added checks to prevent unnecessary state changes * feat: improved document selector empty state - Added '---' placeholder for document selector when no documents are available - Enhanced document options handling in chat-panel-pro.tsx - Added better disabled state checks for empty document lists - Improved validation of document selection to handle edge cases * fix: document selector displaying blank - Fixed document selector initialization issue - Added proper handling of null filteredDocumentList - Added document dropdown state synchronization - Added extra diagnostics for document selection - Improved reliability of document type switching * fix: document selection not working for Campaign A - Added force re-render in document select dropdown with key - Fixed document options memoization to create new references - Added deep copy of document sources to prevent reference issues - Enhanced debugging to trace document options availability - Added special handling for Campaign A document options - Improved option type handling and selection state updates * fix: text document dropdown not working - Fixed text document dropdown selection to match spreadsheet functionality - Added deep copy with JSON stringify/parse for consistent references - Added force re-render mechanism to ensure dropdown updates - Enhanced document type selection to handle all document types consistently - Improved debugging with render IDs to trace document selection issues - Fixed reference handling for document type changes * feat: integrate Yoopta rich text editor with context-based state management - Add useRichEditor state and toggleRichEditor function to workspace context - Update workspace-content to use context-based editor preference - Create placeholder implementation for Yoopta editor - Add documentation with installation instructions The integration persists user preferences for the rich editor across sessions and provides an intuitive, minimalist toggle UI. * fix: prevent runtime errors in thread list and rich text editor * Revert "fix: prevent runtime errors in thread list and rich text editor" This reverts commit e61341d. * Revert "feat: integrate Yoopta rich text editor with context-based state management" This reverts commit 0a79633. * chore: add context-attachment component * fix: workspace prompt exe w meta prompt * chore: sync thread & msgs seeds * chore: sync thread & msgs seeds * fix: render ai request to selected working document * chore(impr): add claude code monorepo ctx * wip: save content live at cursor pos * wip: working document live upt * fix: pro infinite loop in output * fix: section doc expand * feat(wip): working document, fix init doc obj * fix: missing pkg dep * fix: pro user message * fix: pro user message * fix: workspace initial messages * feat: edit, rewrite, expand workspace ctas * fix: react render hoisting * perf: impr project doc nav + saving working doc state in server cache + thread linking * fix: web build * feat(wip): thread pop-up chat connect workspace * feat(wip): chat workspace connection * fix(wip): workspace ui + chat connect w workspace * fix: connect workspace chat w/mb chat * fix: breadcrumb nav consistency w/state * fix: breadcrumb nav consistency w/state * fix: workspace doc thread creation + save doc version * feat(impr): thread popup layout --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Claude <noreply@anthropic.com> * [web] feat: refactor subscription flow (#549) * chore: refactor subscription flow * chore: fix import * chore: add recent payment * chore: revert condition --------- Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * fix: new thread pop-up ui aligment * [pro-web] fix: pro workspace ui state & navigation (#552) * fix: payment api missing routes * fix: breadcrumb connect with thread documents * fix: fetch missing docuemnts * fix: document select & sync remote w local * fix: document select & sync remote w local * fix: header breadcrumb navigation + prompt + document creation impr * fix: tailwindcss conflict * fix: ts typo * [pro-web] refactor: ai config, default gpt-5-mini, update routing and workspace (#554) * fix: active section focus content * fix: connect workspace prompt to chat panel and ctas * fix(wip): attach new content to working document in workspace mode * fix: implement preserved content structure for streaming LLM updates - Add refs to preserve before/after selection content during streaming updates - Use validStart position as anchor point for stable text replacement - Ensure content structure is preserved across multiple LLM iterations - Reset preserved content refs at start and end of operations - Apply same logic to both section-based and full document editing modes * fix: generated ai content in correct working document pos * fix(wip): working document stream updates + preview section changes * fix(wip): working document stream updates + preview section changes * fix: del component unused prop * fix: followingImages prompt loc in use-mb-chat * fix: generated-imgage loader * fix: following img prompt data * fix: following img prompt data * perf(impr): following img prompt * fix: document update padEnd string in LLM responses * fix: llm document stream results (#557) * fix: llm document stream results * fix: debounce save full source * fix(pro-web): add missing onboarding logic * [web] feat: upt dynamic og (#545) * chore(wip): upt dynamic og * fix: og image render issues * chore: refactor og version * chore: add suggestion * chore: fix build * chore: remove extra fallback * chore: fix --------- Co-authored-by: bran18 <andreyfdez18@gmail.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [pro-web] fix: refactor doc sourcing; add category dashboard; update hooks & header (#560) * fix(wip): reactive doc breadcrumb header nav * fix: breadcrumb navigation with active thread n user docs * fix: hook arg dep * fix(wip): build user breadcrumb nav from remote db * feat: edit section prompt cta + auto-scroll in full source + delete doc section * perf(impr): copilot instructions * perf(impr): workspace document prompts * fix: createWorkspaceMetaPrompt args * fix(feat): add cron refresh workspace docs api route + add to active workspace doc cta * fix: init config seeds statement typos * [web/pro-web] feat: impr user profile and preferences (#561) * Remove .env file * Remove .env file * Remove .env file * update * fix: update * update * update * fix: rm breadcrumb on profile page * fix: arrow pointed right for closed/collapsed and arrow pointed down for open/expanded * feat: added user profile to preference * fix: update * fix: server pages restrictions * fix: verify email ui * feat: endpoint route for verify token * feat: verify email setup * fix: updating session and validate username * fix: username update * fix: prefrences updates * feat: added theme and font-size setting * feat: added theme and font-size setting * fix: merged develop * fix: update * fix: update * fix: google language translation updates * fix: app clean up * fix: update anon permision to see Isverified column * fix: lint update * fix: username update func * fix: rm bredcrum on pref page * fix: font icons * fix: update * fix: build error * fix: error build * fix: error build * fix: rem master.ai folder * fix: added isUsernameTaken verifycation to username on auth * fix: add ts def * fix: update * fix: update font size in gloabl.css --------- Co-authored-by: Jun Dam <jun@100xinvestors.com> Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev> * fix: thread questions's slug (chat & bot) (#562) * fix: chat threadquestion showing cinema * fix: bot page thread question url * [pro-web] fix: switch to org routing; impr workspace file mgmt + refresh signed links (#563) * fix: get user remote documents + refresh workspace document cron * fix(feat): add cron refresh workspace docs api route + add to active workspace doc cta * fix: init config seeds statement typos * fix: providers render + onboarding card & sidebar ui tweaks * fix: refresh workspace document old versions + wip pro flag in threads * chore: sync latest changes with pro web * feat: add is_pro flag on mb threads * fix(pro): import typo * fix(pro-web): og-image version * fix(pro-web): upt route type conditions * fix: missing ts def * fix(pro-web): typo * fix: import typo * [pro-web] fix: workspace mode ui tweak + doc tree render (#565) * fix: workspace mode ui tweak + doc tree render * fix: tailwindcss contradicting classname * chore: route /c clean up in pro + lazy load & loader in pro --------- 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> Co-authored-by: brandonfernandezf <brandon@bitcash.org> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Jun Dam <jun@100xinvestors.com>
* 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 5a464ab13a01165450fe602f3ec7964e43b14921.
* 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
* fix: thread search context (#534)
* update
* fix: update
* update
* update
* update
* update
* fix: thread fetching render on search
* fix: thread fetching render on search
* fix: rm search input from botpage welcome view
* fix: introduce global search component
* fix: clean up browe(public) search
* fix: update
* fix: search from db on personal pages instead of the eveilable threads
* fix: search update
* fix: clean up
* chore: upt gemini models ref, web (#538)
* [masterbots.ai] feat: dashboard modal (#536)
* chore:add dashboard modal
* chore: add dashboard to public
* chore:upt design
* chore: add new flow
* chore: build issue + new ui
* chore: fix local storage - user pref
* fix: mobile chat panel a11y
* fix: mobile chat panel a11y
---------
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* chore: gpt reasoning model upt (#543)
* fix: new gpt 5 models selection & default
* fix: profile layout render
* [masterbots.ai] feat: impr sidebar nav onboarding (#540)
* chore:add dashboard modal
* chore: add dashboard to public
* chore:upt design
* chore: add new flow
* chore: build issue + new ui
* chore: fix local storage - user pref
* feat: sidebar nav onboarding
* chore: fix build
* chore: upt local storage conditions and debug
* fix: add persistent localstorage selection
* feat: add consistent selection
* fix: onboarding display logic
---------
Co-authored-by: brandonfernandezf <brandon@bitcash.org>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
* fix: create response stream object model temperature + impr output prompt
* chore: upt default llm
* chore: upt canonical domains + christbot, biblebot and new bot updated
* chore: upt core app folder name
* [pro-web] feat: masterbots pro, working documents (#423)
* wip: pro version layout
* perf(impr): pro navigation + layout
* feat: hasura chatbot pro properties + web TS formatting
* revert: showVerificationNotice condition at sign-up form
* fix: subcategory missing fields
* fix: thread + msg init seeds
* feat(pro): implement specialized pro chat interface components
- Add Pro-specific message, panel and action components
- Create Pro extended layout with improved UI
- Update workspace hooks for Pro interface support
- Add tabs component and markdown utilities
- Update package dependencies
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(workspace): integrate workspace with chat UI
- Display workspace editor above chat input when workspace is active
- Keep chat input available for workspace mode to handle queries
- Update placeholder text to better reflect dual-purpose usage
- Remove separate workspace input component to avoid redundancy
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(workspace): improve workspace integration with chat UI
- Extend workspace area to fill available height
- Standardize input handling by using PromptForm for both modes
- Add conditional logic to handle different input behaviors based on mode
- Improve placeholder text for better user context
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(workspace): always show UI controls with toolbar and workspace
- Display expertise, reasoning, web search and workspace toggle buttons regardless of workspace mode
- Keep workspace toggle button in the main toolbar with other feature toggles
- Keep main right side controls visible regardless of mode
- Only conditionally show chat-specific buttons when in chat mode
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: prevent maximum update depth exceeded in workspace component
- Enhanced useEffect hooks with better null checking and early returns
- Added conditionals to skip unnecessary state updates
- Fixed cascading dropdown behavior for Organization→Department→Project→Document
- Added value comparison in onChange handlers to prevent update loops
- Improved setDocumentContent to only update when values change
- Enhanced logging for better debugging
* fix: resolve maximum update depth exceeded error
- Fixed circular dependency in React hooks
- Added memoization for document options to prevent unnecessary re-renders
- Optimized useEffect hooks with proper dependency arrays
- Added proper state updates batching with requestAnimationFrame
- Improved state synchronization between components
- Added checks to prevent unnecessary state changes
* feat: improved document selector empty state
- Added '---' placeholder for document selector when no documents are available
- Enhanced document options handling in chat-panel-pro.tsx
- Added better disabled state checks for empty document lists
- Improved validation of document selection to handle edge cases
* fix: document selector displaying blank
- Fixed document selector initialization issue
- Added proper handling of null filteredDocumentList
- Added document dropdown state synchronization
- Added extra diagnostics for document selection
- Improved reliability of document type switching
* fix: document selection not working for Campaign A
- Added force re-render in document select dropdown with key
- Fixed document options memoization to create new references
- Added deep copy of document sources to prevent reference issues
- Enhanced debugging to trace document options availability
- Added special handling for Campaign A document options
- Improved option type handling and selection state updates
* fix: text document dropdown not working
- Fixed text document dropdown selection to match spreadsheet functionality
- Added deep copy with JSON stringify/parse for consistent references
- Added force re-render mechanism to ensure dropdown updates
- Enhanced document type selection to handle all document types consistently
- Improved debugging with render IDs to trace document selection issues
- Fixed reference handling for document type changes
* feat: integrate Yoopta rich text editor with context-based state management
- Add useRichEditor state and toggleRichEditor function to workspace context
- Update workspace-content to use context-based editor preference
- Create placeholder implementation for Yoopta editor
- Add documentation with installation instructions
The integration persists user preferences for the rich editor across
sessions and provides an intuitive, minimalist toggle UI.
* fix: prevent runtime errors in thread list and rich text editor
* Revert "fix: prevent runtime errors in thread list and rich text editor"
This reverts commit e61341d875f4f5fcbc05452bdb86de9fd20799b3.
* Revert "feat: integrate Yoopta rich text editor with context-based state management"
This reverts commit 0a79633458e6682bb1cc99ed8f0a6419b3eecba7.
* chore: add context-attachment component
* fix: workspace prompt exe w meta prompt
* chore: sync thread & msgs seeds
* chore: sync thread & msgs seeds
* fix: render ai request to selected working document
* chore(impr): add claude code monorepo ctx
* wip: save content live at cursor pos
* wip: working document live upt
* fix: pro infinite loop in output
* fix: section doc expand
* feat(wip): working document, fix init doc obj
* fix: missing pkg dep
* fix: pro user message
* fix: pro user message
* fix: workspace initial messages
* feat: edit, rewrite, expand workspace ctas
* fix: react render hoisting
* perf: impr project doc nav + saving working doc state in server cache + thread linking
* fix: web build
* feat(wip): thread pop-up chat connect workspace
* feat(wip): chat workspace connection
* fix(wip): workspace ui + chat connect w workspace
* fix: connect workspace chat w/mb chat
* fix: breadcrumb nav consistency w/state
* fix: breadcrumb nav consistency w/state
* fix: workspace doc thread creation + save doc version
* feat(impr): thread popup layout
---------
Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Claude <noreply@anthropic.com>
* [web] feat: refactor subscription flow (#549)
* chore: refactor subscription flow
* chore: fix import
* chore: add recent payment
* chore: revert condition
---------
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* fix: new thread pop-up ui aligment
* [pro-web] fix: pro workspace ui state & navigation (#552)
* fix: payment api missing routes
* fix: breadcrumb connect with thread documents
* fix: fetch missing docuemnts
* fix: document select & sync remote w local
* fix: document select & sync remote w local
* fix: header breadcrumb navigation + prompt + document creation impr
* fix: tailwindcss conflict
* fix: ts typo
* [pro-web] refactor: ai config, default gpt-5-mini, update routing and workspace (#554)
* fix: active section focus content
* fix: connect workspace prompt to chat panel and ctas
* fix(wip): attach new content to working document in workspace mode
* fix: implement preserved content structure for streaming LLM updates
- Add refs to preserve before/after selection content during streaming updates
- Use validStart position as anchor point for stable text replacement
- Ensure content structure is preserved across multiple LLM iterations
- Reset preserved content refs at start and end of operations
- Apply same logic to both section-based and full document editing modes
* fix: generated ai content in correct working document pos
* fix(wip): working document stream updates + preview section changes
* fix(wip): working document stream updates + preview section changes
* fix: del component unused prop
* fix: followingImages prompt loc in use-mb-chat
* fix: generated-imgage loader
* fix: following img prompt data
* fix: following img prompt data
* perf(impr): following img prompt
* fix: document update padEnd string in LLM responses
* fix: llm document stream results (#557)
* fix: llm document stream results
* fix: debounce save full source
* fix(pro-web): add missing onboarding logic
* [web] feat: upt dynamic og (#545)
* chore(wip): upt dynamic og
* fix: og image render issues
* chore: refactor og version
* chore: add suggestion
* chore: fix build
* chore: remove extra fallback
* chore: fix
---------
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
* [pro-web] fix: refactor doc sourcing; add category dashboard; update hooks & header (#560)
* fix(wip): reactive doc breadcrumb header nav
* fix: breadcrumb navigation with active thread n user docs
* fix: hook arg dep
* fix(wip): build user breadcrumb nav from remote db
* feat: edit section prompt cta + auto-scroll in full source + delete doc section
* perf(impr): copilot instructions
* perf(impr): workspace document prompts
* fix: createWorkspaceMetaPrompt args
* fix(feat): add cron refresh workspace docs api route + add to active workspace doc cta
* fix: init config seeds statement typos
* [web/pro-web] feat: impr user profile and preferences (#561)
* Remove .env file
* Remove .env file
* Remove .env file
* update
* fix: update
* update
* update
* fix: rm breadcrumb on profile page
* fix: arrow pointed right for closed/collapsed and arrow pointed down for open/expanded
* feat: added user profile to preference
* fix: update
* fix: server pages restrictions
* fix: verify email ui
* feat: endpoint route for verify token
* feat: verify email setup
* fix: updating session and validate username
* fix: username update
* fix: prefrences updates
* feat: added theme and font-size setting
* feat: added theme and font-size setting
* fix: merged develop
* fix: update
* fix: update
* fix: google language translation updates
* fix: app clean up
* fix: update anon permision to see Isverified column
* fix: lint update
* fix: username update func
* fix: rm bredcrum on pref page
* fix: font icons
* fix: update
* fix: build error
* fix: error build
* fix: error build
* fix: rem master.ai folder
* fix: added isUsernameTaken verifycation to username on auth
* fix: add ts def
* fix: update
* fix: update font size in gloabl.css
---------
Co-authored-by: Jun Dam <jun@100xinvestors.com>
Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* fix: thread questions's slug (chat & bot) (#562)
* fix: chat threadquestion showing cinema
* fix: bot page thread question url
* [pro-web] fix: switch to org routing; impr workspace file mgmt + refresh signed links (#563)
* fix: get user remote documents + refresh workspace document cron
* fix(feat): add cron refresh workspace docs api route + add to active workspace doc cta
* fix: init config seeds statement typos
* fix: providers render + onboarding card & sidebar ui tweaks
* fix: refresh workspace document old versions + wip pro flag in threads
* chore: sync latest changes with pro web
* feat: add is_pro flag on mb threads
* fix(pro): import typo
* fix(pro-web): og-image version
* fix(pro-web): upt route type conditions
* fix: missing ts def
* fix(pro-web): typo
* fix: import typo
* [pro-web] fix: workspace mode ui tweak + doc tree render (#565)
* fix: workspace mode ui tweak + doc tree render
* fix: tailwindcss contradicting classname
* chore: route /c clean up in pro + lazy load & loader in pro
* chore: upt prompt agent files (#566)
* [pro-web] fix: workspace chat state reset and thread creation logic (#567)
* fix: workspace chat state reset and thread creation logic
- Add error handling to reset workspaceProcessingState when errors occur
- Fix state cleanup to handle both successful and failed operations
- Remove premature thread creation from document save function
- Allow thread creation to happen naturally through use-mb-chat flow
- Ensure CTAs (edit/rewrite/expand) are re-enabled after errors or success
This fixes the issue where edit/rewrite/expand CTAs remained disabled
after errors and resolves thread creation inconsistencies in workspace mode.
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix: handle undefined threadSlug in workspace document save
- Add early return when no thread exists to save document locally only
- Save to IndexedDB when thread hasn't been created yet
- Prevents TypeScript error from passing undefined to uploadWorkspaceDocument
- Thread will be created when first message is sent via use-mb-chat flow
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* feat: add complete workspace document metadata when creating threads
- Include organization, department, URL, content, size, versions, expires, and messageIds
- Update threadSlug after thread is created to maintain consistency
- Ensures documents attached to newly created threads have full metadata
- Matches the comprehensive metadata structure used in saveDocument function
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* feat: upload workspace documents to bucket when creating threads
- Upload documents to bucket using uploadWorkspaceDocument API
- Get proper URLs and metadata from bucket upload
- Fallback to original document data if upload fails
- Ensures workspace documents have same treatment as attachments
- Documents now get bucket URLs, checksums, and versioning like manual saves
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix: resolve TypeScript type mismatch for workspace document versions
- Initialize uploadedDocuments as empty WorkspaceDocumentMetadata array
- Explicitly cast upload result to WorkspaceDocumentMetadata type
- Cast fallback documents with proper versions type
- Fixes Vercel build error with versions field type incompatibility
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* refactor: use API route for document uploads and optimize upload logic
- Replace direct uploadWorkspaceDocument call with /api/documents/upload
- Only upload documents when new or content has changed
- Check existing documents in thread metadata before uploading
- Merge messageIds when document already exists
- Use fetch API for consistency with other API calls
- Remove uploadWorkspaceDocument import (unused after refactor)
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* chore: remove accidentally committed bin/task binary
- Remove 18MB taskfile binary that was accidentally committed
- Add bin/task to .gitignore to prevent future commits
- Taskfile binary should be installed per-environment, not versioned
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix: move document upload outside throttle for immediate execution
- Move workspace document upload outside throttled block
- Upload happens synchronously before thread metadata update
- Add detailed logging for upload tracking
- Capture thread slug before any async operations
- Ensures documents are uploaded and attached to thread immediately
- Fixes draft status not clearing after first message
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix: delay workspace state cleanup to allow onFinish to complete
- Add 500ms delay before cleaning up workspace state
- Ensures onFinish in use-mb-chat has access to workspace values
- Prevents newDocuments array from being empty due to premature state reset
- Fixes document upload not triggering due to guard conditions
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* docs: add next session implementation plan for workspace document upload fix
- Documents detailed analysis of the architectural issue
- Outlines correct flow: workspace hooks should handle uploads, not use-mb-chat
- Provides step-by-step implementation plan for next session
- Reverted incorrect changes to use-mb-chat.tsx
- Kept correct fixes for CTA reset and workspace state cleanup
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix: improve workspace error handling and add document upload on thread creation
- Enhanced error handling to immediately reset state and show user feedback
- Added thread creation detection to automatically upload workspace documents
- Documents are now properly associated with threads when first message is sent
- CTAs (edit, rewrite, expand) are properly re-enabled after errors
- Follows correct architecture: workspace layer handles document upload
- Prevents Draft badge persistence by ensuring proper metadata updates
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* chore: remove session planning document
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* refactor: remove workspace document upload logic from use-mb-chat.tsx
- Remove workspace document upload logic from use-mb-chat.tsx
- Keep only the proper implementation in use-workspace-chat.tsx
- Follows correct architecture: workspace layer handles document lifecycle
- use-mb-chat.tsx restored to focus only on general chat functionality
- Prevents duplicate upload logic and timing issues
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Andler Lucas <andre.rlucas@outlook.com>
* [pro-web] feat: add reusable popup for create new organizations, departments, and projects (#569)
* feat(pro-web): add CreateEntityAlert component to replace window.prompt
- Create reusable CreateEntityAlert component with shadcn/ui AlertDialog
- Support organization, department, and project creation
- Add entity-specific icons (Building2, FolderTree, Briefcase)
- Include informative hints below input field
- Replace window.prompt calls in header.tsx with dialog
- Maintain existing entity creation logic and state updates
- Add input validation and keyboard accessibility (Enter/ESC)
- Follow DocumentCreateAlert styling patterns
Requested by: @derianrddev
Link to Devin run: https://app.devin.ai/sessions/f76bee4bc20040208c2b7ad39a95ba3e
Co-Authored-By: dmrodriguez2000@gmail.com <dmrodriguez2000@gmail.com>
* refactor(pro-web): use react-hook-form with Zod validation in CreateEntityAlert
- Install react-hook-form@7.63.0 and @hookform/resolvers@5.2.2
- Replace useState/useRef with useForm hook
- Add Zod schema: z.string().trim().min(1).max(64)
- Configure form with zodResolver and mode: 'onChange'
- Disable Create button when !formState.isValid || formState.isSubmitting
- Wrap form fields in <form> element with handleSubmit
- Maintain all existing UI elements and accessibility features
- Keep icon, title, hint text, and keyboard shortcuts (Enter/ESC)
Requested by: @derianrddev
Co-Authored-By: dmrodriguez2000@gmail.com <dmrodriguez2000@gmail.com>
* feat(pro-web): add error validation display in CreateEntityAlert
- Add custom error messages to Zod schema (min/max)
- Display validation errors below input in red with role='alert'
- Add aria-invalid attribute to Input when errors exist
- Add aria-describedby linking to hint and error message IDs
- Maintain Create button disabled state based on form validity
- Improve accessibility for screen readers
Requested by: @derianrddev
Co-Authored-By: dmrodriguez2000@gmail.com <dmrodriguez2000@gmail.com>
* feat(pro-web): replace CreateEntityAlert with button component and remove Enter key handling
* refactor(pro-web): add description to CreateEntityAlert and clean up code
* refactor(pro-web): improve comments for entity creation handling in Header component
* feat(pro-web): enhance DocumentCrumb and Crumb components with icon for new item action
* fix(pro-web): use requestAnimationFrame for setting focus on name input in CreateEntityAlert
* refactor(pro-web): rename DocumentCreateAlert component and file for consistency
* feat(pro-web): improve CreateEntityAlert UX and consistency
- Add loading state with spinner and 'Creating...' text for better feedback
- Rename 'open' prop to 'isOpen' for consistency across alert components
- Disable cancel button during submission to prevent conflicts
- Import Loader2 icon from lucide-react
- Add aria-hidden attribute to spinner for accessibility
- Update header.tsx to use renamed prop
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: dmrodriguez2000@gmail.com <dmrodriguez2000@gmail.com>
* [pro-web] refactor: move document type filter outside breadcrumb as separate filter (#570)
* feat(pro-web): add standalone DocumentTypeFilter component
Add dedicated document type filter component with icon-based
dropdown for filtering documents by type (all, text, image,
spreadsheet)
* refactor(pro-web): remove DocumentTypeCrumb component from breadcrumb
Remove DocumentTypeCrumb component as document type filtering
is now handled by a separate DocumentTypeFilter component
* refactor(pro-web): replace DocumentTypeCrumb with DocumentTypeFilter component
Move document type filter from breadcrumb to separate header
section for better UX and UI organization
* fix(pro-web): improve documentList merging logic across document types
Update documentList computation to properly merge text, image,
and spreadsheet documents per project
* refactor(pro-web): improve header responsive layout and accessibility
- Optimize breadcrumb spacing for medium screens (md breakpoint)
- Make DocumentTypeFilter compact showing icon-only on md/lg
- Add aria-hidden attributes for better accessibility
- Add useMemo optimization for activeTypeData
- Rename DocType to DocumentType for consistency
- Adjust header margins and gaps for responsive behavior
- Add title attribute to filter button for tooltip support
* fix(pro-web): sync documentType state with filter changes
Keep documentType state in sync with activeDocumentType when user
changes the document type filter to ensure consistent state across
the header component
* refactor(pro-web): separate document type state for filter and dialog
Rename documentType to alertDocumentType to clearly separate the
document creation dialog state from the filter state. Set alert
type from active filter when opening new document dialog
* fix(pro-web): add activeDocumentType to persistence dependencies
Ensure document type filter ('all', 'text', 'image', 'spreadsheet')
is properly persisted when changed by adding it to the useEffect
dependencies that trigger localStorage and server state sync.
* [pro-web] perf(wip): optimize workspace editor performance (#568)
* perf(pro-web): optimize workspace editor performance
- Remove expensive parseMarkdownSections() on every keystroke in Full Source tab
- Defer section parsing until view switching for better typing responsiveness
- Increase API debounce from 125ms to 2s with 5s maxWait for workspace/state
- Add dynamic debounce times based on AI generation state (1s-3s vs 400ms-1s)
- Add proper typing state tracking to prevent external updates during typing
Fixes:
- Full Source tab typing latency and missed input events
- Document Sections tab becoming unresponsive after AI actions
- Excessive api/workspace/state calls during streaming generation
- Browser crashes due to rapid updates during AI generation
Performance improvements:
- Full Source tab now has smooth, responsive typing
- Reduced API calls during AI streaming by ~15x
- Better handling of concurrent updates during generation
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix(pro-web): prevent jarring section updates during typing and AI generation
- Skip section re-parsing during active user typing
- Skip section re-parsing during AI generation (workspaceProcessingState !== 'idle')
- Add debounced section parsing (500ms) for non-active updates
- Trigger section parse after user stops typing (1s delay)
- Trigger section parse after AI streaming completes
- Add workspaceProcessingState to parsing effect dependencies
This prevents the 'crazy' section tree updates during:
1. AI streaming - sections won't flicker while AI generates content
2. User typing - new headings won't create sections immediately
Sections will update smoothly:
- 1 second after user stops typing
- After AI generation completes
- When switching views
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix(pro-web): resolve stale closure issue in section parsing timeouts
- Add fullMarkdownRef and activeSectionRef to avoid stale closures
- Update markUserTyping to use refs for latest values
- Update handleStreamingComplete to use refs for latest values
- Remove fullMarkdown/activeSection from callback dependencies
- Keep refs synced with state via useEffect
This fixes the regression where:
1. User edits content
2. Timeout fires with stale fullMarkdown value
3. Old content overwrites new changes
4. Second edit works because timeout now has correct value
Now timeouts always read the latest values from refs.
Co-Authored-By: Andler Lucas <andre.rlucas@outlook.com>
* fix: workspace content scrolling wrapper
* perf(wip): fix ai content generate section upt
* fix: textarea workspace typing
* fix: workspace section item cta index in ui tree
* fix(wip): workspace text gen
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Andler Lucas <andre.rlucas@outlook.com>
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* [web/pro-web] fix: enable individual chatbot deselection and improve sidebar filter checkbox behavior (#572)
* fix(sidebar): implement indeterminate checkbox states for category filtering
- Add indeterminate state for category checkboxes (partial bot selection)
- Show categories when any bot is selected, not just when fully selected
- Simplify toggleChatbotSelection by removing auto-category logic
- Add memoized allBotsSelected and someBotsSelected calculations
- Update filteredCategories to check hasSomeBotsSelected condition
- Standardize urlBuilders parameter formatting
- Apply changes to both web and pro-web apps
* feat(sidebar): add custom checkbox config with indeterminate icon support
* feat(sidebar): persist chatbot selections to localStorage
- Add chatbot storage support to useCategorySelections hook
- Sync selectedChatbots state with localStorage in both apps
- Update category dashboard to preserve existing chatbot selections
- Implement incremental chatbot selection (add/remove instead of replace)
- Add deep comparison to prevent unnecessary localStorage writes
- Update onboarding section to handle chatbot state properly
- Apply changes to both web and pro-web apps for consistency
* fix(sidebar): auto-sync category selection based on chatbot selections
- Automatically update selectedCategories when chatbots are selected/deselected
- Include category in selection if at least one of its bots is selected
- Add categories dependency to chatbot sync effect
- Ensure category state stays in sync with chatbot selections
- Apply to both web and pro-web apps
* refactor(sidebar): centralize category/chatbot selection hooks in mb-lib
Move useLocalStorage, useCategorySelections to mb-lib
Extract filtering, initialization and sync hooks
Add array utility functions for normalized comparisons
Update imports in both web and pro-web apps
* refactor(mb-lib): migrate useSyncChatbotsToStorage to lodash utilities
Replace arraysHaveSameElements() with lodash isEqual()
Replace normalizeArray() with lodash sortBy() + uniq() for normalization and deduplication
Remove obsolete array-utils.ts
* fix: rm legacy seeds from main seeds
* [pro-web] feat: add pro onboarding ui (#574)
* feat(pro-web): add Pro Onboarding components (DialogWizard + StepQ1)
• Create ProOnboarding container that mounts DialogWizard with steps array
• Implement StepQ1 with Accordion sections (Local/Service/Online/Other) and selectable pill Buttons
• Define types (Group, GroupItem) and provide static groups dataset with specialties
• Add Lucide icon map + getIcon helper for each business type
• Include sticky step header/footer and scrollable content area
• Add keyboard accessibility (Enter/Space) and aria-pressed state handling
• Open all accordions by default; single-select state with Continue and Skip actions
* refactor(pro-web): move Education Services under Service Business and keep only one Crypto card
* feat(pro-web): create Bot Preselection array (rules + priorities)
• Define base types (BotRule, BotEntry) and static botsPreselection dataset
• Per-bot rules with OR lists (category/type/subtype) and priority resolution
• Route business profiles → deterministic shortlist of suggested bots
• Declarative, maintainable config (add/edit without coupled logic)
* feat(pro-web): add Pro Onboarding context + StepQ2 (subtype picker)
• Introduce context/provider + hook (selectedType, selectedSubType; setters)
• Implement StepQ2: load subTypes from businesses by selectedType
• Render pills grid; keyboard a11y (Enter/Space) + aria-pressed
• Add pills header with icon from icon map + selected type label
• General refactor: clarified variable names across steps
• Extract businesses and icon map constants to a separate file
• Update StepQ1 to persist selectedType and log selection
* feat(pro-web): add StepQ3 component and integrate into onboarding flow
• Create StepQ3 component to collect organization name (zod + react-hook-form)
• Extend ProOnboardingData with orgName and add setOrgName setter
• Wire StepQ3 into wizard flow
* feat(pro-web): auto-advance on pill/card selection (Q1/Q2) and remove continue
* fix(pro-web): update navigation methods in StepQ1 and StepQ3 components
* feat(pro-web): add progress bar to DialogWizard for step tracking
* feat(pro-web): enhance onboarding business types with structured subtypes and update context state
- Refactored business subtypes in onboarding constants to use structured objects with id and label.
- Updated the ProOnboardingData interface to include selectedCategory.
- Added setSelectedCategory function to manage selected category state in onboarding context.
* feat(pro-web): add Avatar and HoverCard components from shadcn/ui
* feat(pro-web): add StepQ4 component and improve onboarding flow
- Introduced BotCard component for displaying chatbots with selection functionality.
- Updated ProOnboarding to include a new step (StepQ4) for selecting recommended chatbots.
- Modified StepQ1 to change default selection logic for business items.
- Enhanced StepQ3 to handle navigation more intuitively based on current step.
- Updated bots preselection logic to simplify business types related to crypto.
- Refactored businesses data structure for consistency in IDs.
- Created mapping utility to match user answers with recommended bots.
- Extended useProOnboarding hook to manage selected bots state.
* feat(pro-web): refactor onboarding components and replace OnboardingSection with ProOnboarding
* feat(pro-web): enhance StepQ4 to save selected chatbots, categories and org name to LocalStorage
* feat(pro-web): replace HoverCard with Tooltip for bot name display in BotCard component
* fix(pro-web): adjust layout and styling in StepQ2 component for improved user experience
* feat(pro-web): enhance BotCard component with improved tooltip functionality and markdown rendering
* feat(pro-web): update SignUpPage message and redirect to signup after closing StepQ4 wizard
* docs: add comprehensive hasura readme with seed debugging and onboarding (#576)
* Initial plan
* Add comprehensive Hasura README with seed debugging and explanations
Co-authored-by: AndlerRL <35474730+AndlerRL@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: AndlerRL <35474730+AndlerRL@users.noreply.github.com>
* fix: Sep/22nd release merge regressions and issues (#571)
* fix: chat threadquestion showing cinema
* fix: bot page thread question url
* fix: threads not found message
* fix(pro): threads not found message
* fix: restored hero bg banner
* fix: update
* fix: added isverified colum perm
* fix: update
* fix: theme toggle resize
* fix: added select all category
* fix: update
* fix: select all fix
* revert: hasura latest thread table permissions
---------
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* [pro-web] perf(fix): workspace + chat rendering, ui tweaks & chat and workspace refactor (#573)
* refactor(wip): use-workspace-chat streaming update
* perf: impr typing and text gen rendering
* fix: build + reduce hook deps + wip view model togg
* fix(wip): document state reset to parent active section
* fix(wip): workspace content integrity
* fix: save document content condition
* fix: replaceSectionContent h1 to h3
* perf(impr): single chat panel pro for pro + workspace chat guards
* chore: rm unused component + prompt form disable typo
* fix(wip): workspace hook re-render in chat
* perf: add startTransition to crit hooks
* fix: slow chat mode in thread + smal ui color state tweaks
* perf: impr is workspacemode space w/smooth transition
* fix: debounce workspace state update
* fix: current thread in thread popup
* chore: upt output instructions details (#548)
* [pro-web] feat: persist the organizations and selected chatbots in the backend (#579)
* fix(hasura): remove chatbot_id column from preference table and update relationships
* fix(hasura): update user permissions to enforce user_id checks in insert and select permissions
* feat(hasura): create organizations table with permissions and relationships
* feat(pro-web): implement GET and POST endpoints for organizations management
* feat(hasura): add default value for id column in organizations table
* feat(pro-web): implement PATCH endpoint for updating organizations
* feat(pro-web): enhance organization management functionality with new hooks and updates
* feat(pro-web): add functionality to persist organization and their categories/chatbots during signup
* refactor(pro-web): simplify header, create orgs with ProOnboarding, and remove CategoryDashboard
* feat(hasura): remove chatbots and categories columns from organizations table
* feat(hasura): create departments table with id and name columns
* feat(hasura): add department_id column and foreign key constraint to chatbot table
* feat(hasura): create organization_chatbot table
* feat(hasura): update metadata for organizations, chatbot, departments, and organizations_chatbot
* feat(hasura): add default departments to the seed data
* chore: update drizzle and graphql types
* refactor(hasura): rename org/dept tables, PKs, and update org_chatbot refs
* refactor(pro-web): group chatbots into default departments (general, marketing, product/service)
* fix(pro-web): add form ID to organization form and link submit button
* feat(hasura): add department field to getAllChatbots function
* refactor(hasura): remove department field from getCategories and getAllChatbots functions
* refactor(hasura): remove departmentId from getBrowseThreads function metadata
* refactor(pro-web): use 'id' instead of 'organizationId' and adjust department in getDepartment
* fix(web): replace chatbot __scalar in sitemap chatbots
* fix: organization table insert columns permissions @coderabbitai[bot]
Apply suggestion from @coderabbitai[bot]
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
---------
Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* [pro-web] refactor: add transactional org/chatbot insertion and improve validation (#582)
* fix(pro-web): correct SEO description handling for department selection
* refactor(pro-web): optimize organization and chatbot insertion using transactions
* fix(pro-web): validate chatbot existence before updating organization chatbots
* feat(pro-web): add keyword parameter in BrowseList
* fix(pro-web): include allDepartments in useSidebar for ChatLayoutSection
* fix(pro-web): handle null department name in search placeholder
* fix(pro-web): handle errors in getDepartments and ensure safe return of department data
* fix: 578 workspace hotfixes v5 + workspace state refactor (#580)
* feat(workspace): phase 0 diagnostics
- workspace-debug.ts: debug flags & timing utils
- use-workspace: toggleWorkspace, addDocument,
setDocumentContent, updateWorkspaceStateData
- use-workspace-content-hook: handleSaveDocument
with checksum logging
- markdown-utils: parseMarkdownSections,
replaceSectionContent
- use-mb-chat: onFinish streaming
- logs gated by window.__DEBUG_WORKSPACE__
- zero perf impact when disabled
refs #578
* fix: get user workspace documents
- Refactor how to get documents.
- Created default initial states for users upon landing.
- Created server initial state for workspaces.
* fix: table markdown nav
* feat(wip): tanstack query migration
* chore(feat): tanstack query integration flag, comparison
* fix: tanstack query server first & chk
* fix: pro web build and auth redir with init workspace state
* fix: tanstack query stream
* fix: tanstack document content integrity
* fix(refactor): tanstack streaming & doc save + handleDocumentUpdate
* chore: rm tst page
* refactor(feat): organization workspace
* feat(wip): upt workspace layout
* chore(fix): align upt workspace sidebar per organizations + onboarding
* fix: workspace build
* feat(wip): upt workspace layout
* feat(wip): workspace upt layout
* fix: pro missing hook var
* fix: gpt-5-nano & mini output headings + organization list
* [pro-web] refactor: workspace document mode queries with server-first persistence (#583)
* fix: workspadce doc init state + simplify workspace hook
* fix: workspace document state track
* fix: thread routing w/dept + doc ai gen & manual content upt
* fix(wip): query mutations & invalidations
* fix: document update integrity and gen
* fix: query mutations & invalidations
* fix: query mutations & invalidations
* fix: breadcrumb navigation on file and project creation
* feat(wip): workspace ai actions
* feat(wip): workspace ai actions
* fix: pro navigation + workspace ai actions, document mode
* fix: css build
* fix: css build
* fix: css build
* [pro-web] fix: updating accurate document section (#585)
* fix: updating accurate document section
* style(docs): add code comments for document update logic reminder
* [pro-web] fix: profile page preferences & layout (#587)
* fix: profile page preferences & layout UI
* fix: typo
* fix: user pro subscription guard
* perf(impr): mb pro onboarding init trigger (#588)
* [pro-web] fix: chk disable onboard in browse list
* [pro-web] fix: upt user workspace state with anon values (#589)
* fix: upt user workspace state with anon values
* style: normalize doc key with helper fn
* [pro-web] feat: workspace media tab, add img gen w/gpt-image-1 & nano banana (#584)
* chore(pro-web): update package dependencies to include @google/genai
* feat(pro-web): integrate Google Gemini model support for image generation
* feat(pro-web): update workspace context to include active tab management
* feat(pro-web): add WorkspaceMediaProvider and context to manage media-related state in the workspace
* feat(pro-web): integrate media tab in PromptForm for dynamic placeholder and submission handling
* feat(pro-web): enhance MediaWorkspace with image generation and context integration
* refactor(pro-web): align selected model with generation logic and stabilize prompt handler
* refactor(pro-web): add error handling for missing Google API key in image generation
* refactor(pro-web): streamline WorkspaceMediaHandlers interface for improved type safety and clarity
* refactor(pro-web): improve media tab context and move library/version history to workspace tab menu
* feat(pro-web): add centered frame size selector above canvas
* refactor(pro-web): revert frame size updates, move selector to menubar and improve responsiveness
* feat(pro-web): unify media selection wizard steps for size and template
* feat(pro-web): update media sidebar buttons, add tooltips and improve template flow
* feat(pro-web): expand frame sizes options and update your descriptions
* chore(pro-web): add new template images for various social media formats
* feat(pro-web): implement media templates API and integrate into workspace
- Add new API route to fetch available media templates from the filesystem.
- Update MediaWorkspace component to load templates on mount and manage loading state.
- Refactor SelectTemplateStep to display templates with loading and empty states.
- Enhance SelectSizeStep with ScrollArea for better usability.
- Introduce helper functions for template parsing and filtering by frame and social media.
- Update context to include openTemplates action for dialog management.
* feat(pro-web): hide progress bar when single step
* feat(pro-web): add reference image upload functionality with drag-and-drop support
* refactor(pro-web): split MediaWorkspace into reusable components
- Added MediaCanvas component for displaying generated images and templates.
- Introduced ReferenceImagesPanel for managing reference images with upload functionality.
- Created MediaSidebar for navigation between templates and social media actions.
- Implemented wizards for selecting sizes and templates, including LibraryStep for image selection.
- Enhanced hooks to manage workspace media state and integrate new components.
---------
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* [pro-web] chore: upt doc ai actions prompts + restructure workspace nav state (#592)
* chore: simplify ai actions document prompts
* fix: isWorkspaceActive prompts condition
* fix: workspace structure core nav + doc aai action prompt upt
* [pro-web] fix: workspace document display, drafts & navigation (#593)
* fix: normalize ai heading content
* fix: freeze active workspace section while stream
* refactor: workspace doc tab components reloc + doc nav impr
* fix: impr workspace doc ai action prompts
* fix: document drafts
* fix: document drafts
* fix: doc thread nav + draft nav + new doc creation + save new doc to server
* fix: workspace thread nav + whitelist user impr & clean-up
* fix: whitelist user impr
* fix: profile route relocated + workspace context leak
* fix: new document from thread nav
* fix: user docs filter + change docs alert a11y impr
* fix: get server init state in workspace structure
* fix: doc debounced save rm from doc-text-edit
* chore(style): add onsucess log in upt doc content cb fn
* fix: ts build
* [pro-web] feat: enhance media workspace with multi-ref img, template type filtering, and size reframing (#594)
* feat(pro-web): integrate TanStack Query for media templates fetching in MediaWorkspace
* refactor(pro-web): rename openFrameSizes to openSizeSelector for consistency in media actions
* refactor(pro-web): centralize media workspace types in dedicated file
* refactor(pro-web): optimize reference image management with useCallback
* refactor(pro-web): simplify parsing logic in parseTemplateFilename function
* refactor(pro-web): replace object URLs with base64 for image previews
* refactor(pro-web): update template type import path for consistency
* feat(pro-web): add multi-reference image support and eliminate prop drilling
- Add support for multiple reference images (up to 4) in Gemini image generation
- Centralize all state management in useWorkspaceMedia provider
- Remove prop drilling across all media tab components
- Add parseBase64Image helper for handling image data URLs
- Update API route to process reference images in Gemini content parts
- Refactor MediaWorkspace, MediaCanvas, MediaSidebar to use hook directly
- Move referenceImages and currentVersion state to provider
- Implement addReferenceImage, addMultipleReferenceImages, removeReferenceImage actions
- Update GenerateImageRequest type with optional referenceImages field
- Pass reference images through full generation pipeline
* feat(pro-web): add dynamic filter dropdown with adaptive layout
- Add Filter by Type dropdown with all social media and aspect ratio options
- Implement smart badge visibility based on active filter
- Add conditional layout: grid for square filter, masonry for others
- Capitalize social media names in badges
- Adjust column count based on filtered template count
* refactor(pro-web): enhance canvas empty state, simplify template step layout, persist filter type
* feat(pro-web): implement aspect ratio control and size change workflow
- Add aspectRatio parameter to Gemini image generation API
- Remove standalone size selector dialog in favor of menu-based workflow
- Add generateImageForSize action for dynamic aspect ratio changes
- Implement comprehensive reframing prompt for size transformations
- Add mediaSizeOptions with social media format presets
- Update canvas aspect ratios to match social media platforms
- Refactor media wizards to auto-set size from template selection
- Remove FrameSize description field from types
* chore: add gemini 3 pro image model to default img gen
* feat(pro-web): add aspect ratio validation and 2K resolution for Gemini API
- Define AspectRatio type with valid Gemini API values (1:1, 2:3, 3:2, etc.)
- Add runtime validation in generate-images route with clear error messages
- Update FrameSize interface to use strongly-typed AspectRatio
- Update GenerateImageRequest and GenerateImageOptions interfaces
- Configure Gemini imageSize to 2K for high-quality output
- Add type safety across media workspace components
- Fix error handling in imageUrlToBase64 helper
- Remove debug console.log statements
* fix(pro-web): improve frame size matching with semantic purpose
---------
Co-authored-by: Roberto 'Andler' Lucas <contact@andler.dev>
* chore: upt react ver
* fix: bun lock conflicts
* [pro-web] fix: workspace structure and nav state (#596)
* fix: dept from path guard
* fix: workspace structure chk missing project in dept
* fix: department n threads navigation
* fix: workspace active navigation persistent state
* style: header component clean up
* fix: css build
* fix: new proj among dept + thread refresh & filter
* chore: upt nextjs ver
* chore: upt react ver
* chore: rm legacy component
* chore: rm legacy component
* chore: rm legacy files
* [pro-web] feat: enhance media tab with version history UI & reference image storage (#595)
* feat(pro-web): simplify image reframing prompt
* feat(pro-web): add Gemini 3 Pro model to available image models
* feat(pro-web): enhance download/share functionality with loading state and mobile sharing support
* feat(pro-web): implement checksum-based reference image uploads with GCS storage
- Add server actions for reference image upload with checksum deduplication
- Replace client-side base64 uploads with server-side GCS bucket storage
- Upload images individually to avoid body size limits (5MB per request)
- Update workspace media context to use ReferenceImagePayload with checksums
- Modify image generation API to resolve checksums to base64 on server
- Add reference images debug page with dark/light mode support
- Configure Next.js serverActions bodySizeLimit to 5mb
- Maintain backward compatibility with legacy base64 approach
Storage: reference-images/${checksum} with 7-day signed URLs
Resolves payload size issues and enables efficient image reuse
* feat(pro-web): redesign version history dialog UI
- Create VersionHistoryDialog with current/previous version display
- Add carousel navigation for version browsing
- Implement restore and duplicate version actions
- Extract version history logic from media-canvas component
- Improve responsive design and user interactions
* feat(pro-web): implement smooth card stack animation for version history
- Add framer-motion animations with global progress tracking
- Implement horizontal slide with smooth sin curve for card transitions
- Add vertical arc movement as cards emerge from stack
- Apply scale interpolation with slight overshoot effect
- Add rotation straightening during transitions with directional snap
- Calculate shortest cycling direction for better UX
- Implement dynamic z-index management during animations
- Add stable random rotations for stacked cards
- Improve card depth calculation and visibility logic
- Enhance visual feedback with indigo ring for current card
* refactor(pro-web): extract version card logic to separate component
* refactor(media-tab): redesign version history UI from stacked cards to carousel layout
- Delete version-card.tsx component with complex motion animations
- Replace stack navigation (prev/next cycling) with carousel thumbnails
- Add side-by-side preview comparison (current vs selected)
- Implement direct thumbnail selection instead of animated card flipping
- Include carousel pagination with dots and arrow controls
- Enhance dialog structure with bordered sections and action buttons
* feat(media-tab): implement version history carousel with flying image transitions
* chore: update next.js version from 15.2.4 to 15.5.7 in package.json
* refactor(media-tab): update image display styles in version history dialog
* refactor(media-tab): improve styling for version history dialog header and images
* refactor(media-tab): adjust image display properties in FlyingImage component
* fix(media-tab): improve reference image upload reliability
Replace custom checksum with native crypto.createHash
Add upload state guard to prevent concurrent uploads
Improve error handling with early return and state reset
Adjust body size limit comment for clarity
Add TODO for library image checksum handling
* fix(reference-images): validate checksum format in fetchReferenceImageByChecksum function
---------
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>
Co-authored-by: brandonfernandezf <brandon@bitcash.org>
Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Jun Dam <jun@100xinvestors.com>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: dmrodriguez2000@gmail.com <dmrodriguez2000@gmail.com>
Co-authored-by: Derian <59376626+derianrddev@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Summary by Sourcery
Standardize styling across various components, streamline component naming, and enhance the browse experience by integrating the search input and onboarding card, while updating route-based sidebar styling.
New Features:
Enhancements:
Summary by CodeRabbit
New Features
Style
Refactor
Bug Fixes