Skip to content

chore: chatbot prompts init config + active thread hotfixes#378

Merged
AndlerRL merged 11 commits intodevelopfrom
impr-chatbot-prompt-init-config
Feb 19, 2025
Merged

chore: chatbot prompts init config + active thread hotfixes#378
AndlerRL merged 11 commits intodevelopfrom
impr-chatbot-prompt-init-config

Conversation

@AndlerRL
Copy link
Member

@AndlerRL AndlerRL commented Feb 14, 2025

Summary by Sourcery

This pull request introduces several enhancements and bug fixes related to chatbot prompts and thread handling. It adds configuration options for chatbot prompts, including complexity, tone, length, and type, to allow for more customized and context-aware responses. It also improves thread handling in the user interface by introducing a refresh mechanism to ensure the thread list is up-to-date, especially after closing a thread popup.

New Features:

  • Adds configuration options for chatbot prompts, including complexity, tone, length, and type, to allow for more customized and context-aware responses.

Bug Fixes:

  • Fixes an issue where the thread list was not updating correctly after closing a thread popup, ensuring that the user interface reflects the latest thread data.

Enhancements:

  • Improves thread handling in the user interface by introducing a refresh mechanism to ensure the thread list is up-to-date, especially after closing a thread popup.
  • Enhances chatbot configuration by incorporating enums for complexity, tone, length, and type to provide a structured approach to defining chatbot behavior.
  • Refactors the thread panel to improve data fetching and state management, ensuring a smoother user experience when browsing and managing threads.
  • Updates the chatbot metadata prompt creation to include the new configuration options for complexity, tone, length, and type.

Build:

  • Updates Hasura migrations and seeds to include new tables and configurations for chatbot prompt enums (complexity, tone, length, type).

Summary by CodeRabbit

  • New Features

    • Enhanced configuration options by enabling richer prompt data for default selections.
    • Introduced a new role "moderator" with expanded access permissions across multiple tables, including complexity_enum, domain_enum, subcategory_enum, and more.
  • Chores

    • Refreshed system seed data with updated file metadata to ensure alignment with current configurations.

@AndlerRL AndlerRL self-assigned this Feb 14, 2025
@sourcery-ai
Copy link

sourcery-ai bot commented Feb 14, 2025

Reviewer's Guide by Sourcery

This pull request initializes chatbot prompt configurations by enabling richer prompt data for default selections. It also refactors thread fetching and refreshing logic in UserThreadPanel to improve efficiency and prevent race conditions. Additionally, the system seed data is refreshed with updated file metadata to ensure alignment with current configurations.

Sequence diagram for refreshing threads in UserThreadPanel

sequenceDiagram
  participant UserThreadPanel
  participant useThread
  participant getThreads
  participant Hasura

  UserThreadPanel->>useThread: setShouldRefreshThreads(true)
  activate useThread
  deactivate useThread
  UserThreadPanel->>UserThreadPanel: handleThreadsChange()
  activate UserThreadPanel
  UserThreadPanel->>getThreads: getThreads(jwt, userId, limit, categoryId, chatbotName)
  activate getThreads
  getThreads->>Hasura: GraphQL query
  activate Hasura
  Hasura-->>getThreads: Threads data
  deactivate Hasura
  getThreads-->>UserThreadPanel: newThreads
  deactivate getThreads
  UserThreadPanel->>UserThreadPanel: setState({threads: newThreads})
  UserThreadPanel->>useThread: setShouldRefreshThreads(false)
  activate useThread
  deactivate useThread
  deactivate UserThreadPanel
Loading

Updated class diagram for Chatbot

classDiagram
  class Chatbot {
    +chatbotId: int
    +name: string
    +defaultTone: string
    +defaultLength: string
    +defaultType: string
    +defaultComplexity: string
    +categories: Category[]
    +prompts: Prompt[]
    +complexityEnum: ComplexityEnum
    +toneEnum: ToneEnum
    +lengthEnum: LengthEnum
    +typeEnum: TypeEnum
  }
  class Category {
    +categoryId: int
    +name: string
  }
  class Prompt {
    +prompt: string
  }
  class ComplexityEnum {
    +prompt: string
    +value: string
  }
  class ToneEnum {
    +prompt: string
    +value: string
  }
  class LengthEnum {
    +prompt: string
    +value: string
  }
  class TypeEnum {
    +prompt: string
    +value: string
  }

  Chatbot "1" -- "*" Category : categories
  Chatbot "1" -- "*" Prompt : prompts
  Chatbot "1" -- "1" ComplexityEnum : complexityEnum
  Chatbot "1" -- "1" ToneEnum : toneEnum
  Chatbot "1" -- "1" LengthEnum : lengthEnum
  Chatbot "1" -- "1" TypeEnum : typeEnum

  note for Chatbot "Added complexityEnum, toneEnum, lengthEnum, and typeEnum to Chatbot class."
Loading

File-Level Changes

Change Details Files
Refactor thread fetching and refreshing logic in UserThreadPanel to improve efficiency and prevent race conditions.
  • Introduced a shouldRefreshThreads state variable to control thread refreshing.
  • Implemented a check for shouldRefreshThreads before fetching new threads.
  • Moved the logic to set isOpenPopup, shouldRefreshThreads, setActiveThread, and setActiveChatbot inside the finally block of the handleThreadsChange function to ensure it always runs.
  • Added a conditional check for category and chatbot parameters to prevent unnecessary chatbot resets.
  • Removed unnecessary console logs.
  • Removed the activeThread and activeCategory dependencies from the useEffect hook that handles thread list changes, and added shouldRefreshThreads as a dependency.
apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx
Enhance chatbot prompt configuration by including prompt data for default selections and updating related queries.
  • Added complexityEnum, toneEnum, lengthEnum, and typeEnum fields to the chatbot query to fetch prompt data.
  • Modified the getChatbot query to include prompt data for default selections.
  • Updated the getThread query to include prompt data for default selections.
  • Updated the getCategories query to include prompt data for default selections.
  • Modified the bot configuration prompt creation to use the new prompt data.
  • Added prompt field to default_complexity_enum, default_length_enum, default_tone_enum, and default_type_enum tables in Hasura migrations.
  • Updated select permissions for enums to include the prompt column.
apps/masterbots.ai/services/hasura/hasura.service.ts
apps/masterbots.ai/lib/constants/prompts.ts
apps/hasura/migrations/masterbots/1698804096149_init/up.sql
apps/hasura/metadata/databases/masterbots/tables/public_complexity_enum.yaml
apps/hasura/metadata/databases/masterbots/tables/public_length_enum.yaml
apps/hasura/metadata/databases/masterbots/tables/public_tone_enum.yaml
apps/hasura/metadata/databases/masterbots/tables/public_type_enum.yaml
Improve thread popup closing logic and thread list refreshing.
  • Added setShouldRefreshThreads to the onClose function in ThreadPopUpCardHeader to signal the UserThreadPanel component to re-fetch the threads list when the activeThread is closed.
  • Removed redundant setActiveChatbot call in ThreadPopUpCardHeader.
  • Removed smoothScrollToBottom from the useEffect dependencies in ThreadPopup.
apps/masterbots.ai/components/routes/thread/thread-popup.tsx
Update thread visibility provider to depend on client-side updates and avoid flickering.
  • Added a comment to clarify that the component depends on client-side updates.
  • Added a TODO comment to add initial server state to avoid flickering.
apps/masterbots.ai/lib/hooks/use-thread-visibility.tsx
Update MBChatProvider to throttle the isNewResponse and loadingState updates.
  • Throttled the setIsNewResponse and setLoadingState calls to improve transition smoothness.
apps/masterbots.ai/lib/hooks/use-mb-chat.tsx
Update UserThreadPanel to include category and chatbot params.
  • Added category and chatbot params to the useParams hook.
apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx
Update SidebarProvider to log new chatbot.
  • Added a console log to log new chatbot.
apps/masterbots.ai/lib/hooks/use-sidebar.tsx
Update BrowseChatMessageList to improve responsiveness.
  • Updated the triggerClass to improve responsiveness.
apps/masterbots.ai/components/routes/browse/browse-chat-message-list.tsx
Update ChatbotMetadataTool to hide console log in production.
  • Added a conditional to hide the console log in production.
apps/masterbots.ai/app/actions/ai-executers.ts
Update seed files.
  • Refreshed system seed data with updated file metadata to ensure alignment with current configurations.
apps/hasura/seeds/masterbots/1724269974513_init_config_seeds.sql
apps/hasura/seeds/masterbots/1738179677920_init_domain_enum.sql
apps/hasura/seeds/masterbots/1738179680569_init_category_enum.sql
apps/hasura/seeds/masterbots/1738179682864_init_subcategory_enum.sql
apps/hasura/seeds/masterbots/1738186795715_init_chatbot_metadata_seeds.sql

Tips and commands

Interacting with Sourcery

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

Customizing Your Experience

Access your dashboard to:

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

Getting Help

@vercel
Copy link

vercel bot commented Feb 14, 2025

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

Name Status Preview Comments Updated (UTC)
masterbots ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 19, 2025 0:25am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 14, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

The changes update the database schema by adding a new prompt column (of type text NOT NULL) to four enum tables: default_complexity_enum, default_length_enum, default_tone_enum, and default_type_enum. The existing value columns remain unchanged, and no constraints or relationships are modified. Additionally, the seed configuration files have updated metadata with new SHA256 hashes and slightly increased file sizes, reflecting internal content changes. Permissions for the moderator role have also been added across various tables.

Changes

File Path(s) Change Summary
apps/hasura/migrations/.../up.sql Modified enum tables (default_complexity_enum, default_length_enum, default_tone_enum, default_type_enum) by adding a prompt column defined as text NOT NULL.
apps/hasura/seeds/.../init_config_seeds.sql Updated file metadata: SHA256 hash changed from 29d6a5...1b2e to fb7b52...cb097 and file size increased from 59193 to 60718 bytes.
apps/hasura/metadata/databases/.../public_category_enum.yaml Added new select permission for the moderator role in public_category_enum table.
apps/hasura/metadata/databases/.../public_complexity_enum.yaml Added new select permission for the moderator role and updated anonymous and user roles to include prompt in public_complexity_enum table.
apps/hasura/metadata/databases/.../public_domain_enum.yaml Added new select permission for the moderator role in public_domain_enum table.
apps/hasura/metadata/databases/.../public_example.yaml Added new select permission for the moderator role in public_example.yaml.
apps/hasura/metadata/databases/.../public_length_enum.yaml Updated anonymous and user roles to include prompt, and added moderator role in public_length_enum table.
apps/hasura/metadata/databases/.../public_message_type_enum.yaml Added new select permission for the moderator role in message_type_enum table.
apps/hasura/metadata/databases/.../public_models_enum.yaml Added new select permission for the moderator role in models_enum table.
apps/hasura/metadata/databases/.../public_preference.yaml Added new select permission for the moderator role in preference table.
apps/hasura/metadata/databases/.../public_subcategory_enum.yaml Added new select permission for the moderator role in subcategory_enum table.
apps/hasura/metadata/databases/.../public_tag_enum.yaml Added new select permission for the moderator role in tag_enum table.
apps/hasura/metadata/databases/.../public_tone_enum.yaml Updated anonymous, moderator, and user roles to include prompt in public_tone_enum table.
apps/hasura/metadata/databases/.../public_type_enum.yaml Updated anonymous, moderator, and user roles to include prompt in public_type_enum table.
apps/hasura/metadata/databases/.../public_user_token.yaml Added select_permissions section for anonymous, moderator, and user roles in public_user_token table.
apps/hasura/seeds/.../init_domain_enum.sql Updated file metadata: SHA256 OID changed from d065f8...517 to 453b0b...adf0 and file size increased from 17978 to 18184 bytes.
apps/hasura/seeds/.../init_category_enum.sql Updated file metadata: SHA256 OID changed from 0e9119...b14 to 0ff383...b81d and file size increased from 178233 to 180469 bytes.
apps/hasura/seeds/.../init_subcategory_enum.sql Updated file metadata: SHA256 hash changed from fd8c25...ad4 to 65ec6b...f5cc and file size decreased from 1079848 to 1078966 bytes.
apps/hasura/seeds/.../init_chatbot_metadata_seeds.sql Updated file metadata: SHA256 identifier changed from 1c1d8e...bdbfd to eb7147...4259 and file size decreased from 8807 to 8752 bytes.
apps/masterbots.ai/app/actions/.../ai-executers.ts Added import for appConfig and modified logging behavior based on devMode feature flag.
apps/masterbots.ai/components/routes/.../browse-chat-message-list.tsx Adjusted class names and import order in BrowseChatMessageList component for layout changes.
apps/masterbots.ai/components/routes/.../thread-popup.tsx Modified ThreadPopup component to use useMBScroll and updated state management for thread visibility.
apps/masterbots.ai/components/routes/.../user-thread-panel.tsx Updated UserThreadPanel to include optional category parameter and refined thread handling logic.
apps/masterbots.ai/lib/constants/.../prompts.ts Modified createBotConfigurationPrompt function to use an array-based approach instead of string concatenation.
apps/masterbots.ai/lib/hooks/.../use-mb-chat.tsx Refined state update logic in MBChatProvider to enhance performance.
apps/masterbots.ai/lib/hooks/.../use-sidebar.tsx Updated SidebarContext interface with new properties and restructured state management methods.
apps/masterbots.ai/lib/hooks/.../use-thread-visibility.tsx Reorganized imports and adjusted context value structure in ThreadVisibilityProvider.
apps/masterbots.ai/lib/hooks/.../use-thread.tsx Enhanced ThreadContext interface with new properties for thread refreshing and adjusted context provider structure.
apps/masterbots.ai/services/hasura/.../hasura.service.ts Enhanced GraphQL queries by adding new fields for categories and modifying query structures for better data retrieval.

Possibly related PRs

  • impr: icl metadata request v2 #366: The changes in the main PR, which involve adding a prompt column to several database tables, are related to the retrieved PR as both involve modifications to how prompts are handled, specifically in the context of the createBotConfigurationPrompt function and its interaction with the database schema.
  • Impr: improve current features v2 #274: The changes in the main PR, which involve adding a prompt column to several database tables, are related to the retrieved PR that modifies the improveMessage function to enhance its prompt creation logic, as both involve modifications to how prompts are handled in the context of the application.
  • Feat: public continue thread #375: The changes in the main PR, which involve adding a prompt column to several database tables, are related to the retrieved PR as it modifies the BrowseChatMessageList component to include a threadId prop, which may interact with the new database structure for managing threads.

Suggested labels

enhancement, bug

Suggested reviewers

  • Bran18

Poem

Hoppin' through the schema with a twitch and a cheer,
I've added a prompt to each table, shining bright and clear.
The seeds have been changed, metadata in a new light,
My rabbit ears perk up with each update in sight.
Code and carrots, what a delight—
A merry dance for database changes tonight!

Warning

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

🔧 ESLint

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

apps/masterbots.ai/lib/hooks/use-sidebar.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

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

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

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

apps/masterbots.ai/services/hasura/hasura.service.ts

Oops! Something went wrong! :(

ESLint: 8.57.1

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

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

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


📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 4781c6f and 78d49b3.

📒 Files selected for processing (2)
  • apps/masterbots.ai/lib/hooks/use-sidebar.tsx (1 hunks)
  • apps/masterbots.ai/services/hasura/hasura.service.ts (5 hunks)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

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

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

CodeRabbit Commands (Invoked using PR comments)

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

Other keywords and placeholders

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

CodeRabbit Configuration File (.coderabbit.yaml)

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

Documentation and Community

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

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @AndlerRL - I've reviewed your changes - here's some feedback:

Overall Comments:

  • Consider renaming default_complexity_enum to chatbot_complexity and similarly for the other enums, to clarify their purpose.
  • It might be better to store the enum tables' data as JSON rather than as separate tables.
Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 (2)
apps/hasura/migrations/masterbots/1698804096149_init/up.sql (2)

40-43: Consider revising the enum tables' schema design.

The addition of the prompt column to the enum tables raises some schema design considerations:

  1. The tables still use only the value column as the primary key, which might not fully represent the uniqueness of each record now that there's an additional prompt column.
  2. The prompt column is marked as NOT NULL without a default value, which could cause issues during data migration.

Consider these alternatives:

  1. Add a composite primary key including both columns if both value and prompt together define uniqueness.
  2. Add a UNIQUE constraint on the prompt column if it should also be unique.
  3. Consider providing a default value for the prompt column to ease data migration.

Also applies to: 44-47, 48-51, 52-55


1-238: Consider adding table comments for enum tables.

While most tables have descriptive comments explaining their purpose (e.g., lines 6, 26, 31), the enum tables lack such documentation.

Add comments to explain the purpose of each enum table and the significance of their columns. For example:

CREATE TABLE public.default_complexity_enum (
    value text NOT NULL,
    prompt text NOT NULL
);
+COMMENT ON TABLE public.default_complexity_enum IS 'Enum table storing complexity levels and their associated prompts for chatbot configurations.';
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 980f5e6 and 060bb38.

📒 Files selected for processing (2)
  • apps/hasura/migrations/masterbots/1698804096149_init/up.sql (1 hunks)
  • apps/hasura/seeds/masterbots/1724269974513_init_config_seeds.sql (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • apps/hasura/seeds/masterbots/1724269974513_init_config_seeds.sql
🔇 Additional comments (1)
apps/hasura/migrations/masterbots/1698804096149_init/up.sql (1)

206-213:

Details

❓ Verification inconclusive

Verify data migration strategy for dependent tables.

The enum tables are referenced by foreign key constraints from both chatbot and user_chatbot_preference tables. Since this is marked as "wip", ensure you have a strategy to handle existing data if this migration will be applied to a database with existing records.

Let's verify the foreign key dependencies:

Also applies to: 227-235


🏁 Script executed:

#!/bin/bash
# Description: Check for existing records in tables that depend on the enum tables

# Check for any existing records in the chatbot table
echo "Checking chatbot table dependencies..."
rg -A 5 "INSERT INTO.*chatbot.*VALUES" .

# Check for any existing records in the user_chatbot_preference table
echo "Checking user_chatbot_preference table dependencies..."
rg -A 5 "INSERT INTO.*user_chatbot_preference.*VALUES" .

# Check for any existing records in the enum tables
echo "Checking enum tables data..."
rg -A 5 "INSERT INTO.*(default_complexity_enum|default_length_enum|default_tone_enum|default_type_enum).*VALUES" .

Length of output: 491


ACTION: Verify data migration for dependent tables

The migration file adds foreign key constraints on the enum tables from both the chatbot and user_chatbot_preference tables (see lines 206–213 and 227–235). Although our automated search did not detect any explicit data insertion patterns that could conflict with these constraints, the absence of output from the grep commands means the check isn’t conclusive. Please confirm manually that existing records in these tables have valid enum values or consider implementing a fallback data migration strategy if not.

  • Verify that existing records in chatbot and user_chatbot_preference conform to the new foreign key constraints.
  • Ensure that a data migration plan is in place if inconsistent data may exist in a production database.

@AndlerRL AndlerRL marked this pull request as ready for review February 18, 2025 05:03
@AndlerRL
Copy link
Member Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 18, 2025

✅ Actions performed

Review triggered.

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

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @AndlerRL - I've reviewed your changes - here's some feedback:

Overall Comments:

  • Consider adding a changeset to document the API changes.
  • The changes to the Hasura metadata and seeds should be reviewed carefully.
Here's what I looked at during the review
  • 🟡 General issues: 1 issue found
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@AndlerRL AndlerRL changed the title wip: chatbot prompts init config chore: chatbot prompts init config Feb 18, 2025
@AndlerRL AndlerRL changed the title chore: chatbot prompts init config chore: chatbot prompts init config + active thread hotfixes Feb 18, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (4)
apps/masterbots.ai/app/actions/ai-executers.ts (1)

40-42: Verify the intended logging behavior.

The current implementation logs chatbotMetadata only when devMode is disabled (!appConfig.features.devMode). This seems counterintuitive as debug logging is typically enabled in development mode. Consider:

  1. Verifying if this is the intended behavior (hiding metadata in dev mode)
  2. If not intended, inverting the condition to log only in dev mode

If the current behavior is not intended, apply this diff:

-    if (!appConfig.features.devMode) {
+    if (appConfig.features.devMode) {
       console.log('chatbotMetadata ==> ', chatbotMetadata)
     }
apps/masterbots.ai/services/hasura/hasura.service.ts (1)

57-59: Consider using everything instead of __scalar.

The __scalar: true for categories is less maintainable than using the everything spread operator, as it requires manual updates when new fields are added.

-          __scalar: true,
+          ...everything,
apps/masterbots.ai/lib/hooks/use-mb-chat.tsx (1)

220-224: Consider using a cleanup function with throttle.

The current throttle implementation may lead to memory leaks. Consider using a cleanup function to cancel any pending throttled calls when the component unmounts.

+      const throttledStateUpdate = throttle(() => {
+        setIsNewResponse(false)
+        setLoadingState('finished')
+        setActiveTool(undefined)
+      }, 500)
+
-      throttle(() => {
-        setIsNewResponse(false)
-        setLoadingState('finished')
-        setActiveTool(undefined)
-      }, 500)()
+      throttledStateUpdate()
+
+      return () => {
+        throttledStateUpdate.cancel()
+      }
apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx (1)

184-235: Enhance error handling with specific error types.

The current error handling is too generic. Consider creating specific error types for different failure scenarios and handling them appropriately.

+      interface ThreadError extends Error {
+        type: 'fetch' | 'auth' | 'network';
+      }
+
       try {
         // ... existing code ...
       } catch (error) {
-        console.error('Failed to fetch threads:', error)
+        if ((error as ThreadError).type === 'auth') {
+          console.error('Authentication error:', error)
+          // Handle auth errors
+        } else if ((error as ThreadError).type === 'network') {
+          console.error('Network error:', error)
+          // Handle network errors
+        } else {
+          console.error('Failed to fetch threads:', error)
+          // Handle other errors
+        }
       } finally {
         // ... existing cleanup code ...
       }
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 060bb38 and 4781c6f.

⛔ Files ignored due to path filters (4)
  • packages/mb-genql/generated/index.ts is excluded by !**/generated/**
  • packages/mb-genql/generated/schema.graphql is excluded by !**/generated/**
  • packages/mb-genql/generated/schema.ts is excluded by !**/generated/**
  • packages/mb-genql/generated/types.ts is excluded by !**/generated/**
📒 Files selected for processing (28)
  • apps/hasura/metadata/databases/masterbots/tables/public_category_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_complexity_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_domain_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_example.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_length_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_message_type_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_models_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_preference.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_subcategory_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_tag_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_tone_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_type_enum.yaml (1 hunks)
  • apps/hasura/metadata/databases/masterbots/tables/public_user_token.yaml (1 hunks)
  • apps/hasura/seeds/masterbots/1724269974513_init_config_seeds.sql (1 hunks)
  • apps/hasura/seeds/masterbots/1738179677920_init_domain_enum.sql (1 hunks)
  • apps/hasura/seeds/masterbots/1738179680569_init_category_enum.sql (1 hunks)
  • apps/hasura/seeds/masterbots/1738179682864_init_subcategory_enum.sql (1 hunks)
  • apps/hasura/seeds/masterbots/1738186795715_init_chatbot_metadata_seeds.sql (1 hunks)
  • apps/masterbots.ai/app/actions/ai-executers.ts (2 hunks)
  • apps/masterbots.ai/components/routes/browse/browse-chat-message-list.tsx (3 hunks)
  • apps/masterbots.ai/components/routes/thread/thread-popup.tsx (4 hunks)
  • apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx (3 hunks)
  • apps/masterbots.ai/lib/constants/prompts.ts (1 hunks)
  • apps/masterbots.ai/lib/hooks/use-mb-chat.tsx (1 hunks)
  • apps/masterbots.ai/lib/hooks/use-sidebar.tsx (2 hunks)
  • apps/masterbots.ai/lib/hooks/use-thread-visibility.tsx (4 hunks)
  • apps/masterbots.ai/lib/hooks/use-thread.tsx (7 hunks)
  • apps/masterbots.ai/services/hasura/hasura.service.ts (4 hunks)
✅ Files skipped from review due to trivial changes (4)
  • apps/hasura/seeds/masterbots/1738186795715_init_chatbot_metadata_seeds.sql
  • apps/hasura/seeds/masterbots/1738179677920_init_domain_enum.sql
  • apps/hasura/seeds/masterbots/1738179682864_init_subcategory_enum.sql
  • apps/hasura/seeds/masterbots/1738179680569_init_category_enum.sql
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/hasura/seeds/masterbots/1724269974513_init_config_seeds.sql
🧰 Additional context used
🧠 Learnings (2)
apps/masterbots.ai/lib/hooks/use-thread-visibility.tsx (1)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#287
File: apps/masterbots.ai/lib/hooks/use-thread-visibility.tsx:3-3
Timestamp: 2024-11-12T03:32:08.432Z
Learning: Always use explicit imports for React hooks to maintain consistency across the monorepo, and avoid using both named and default imports simultaneously.
apps/masterbots.ai/services/hasura/hasura.service.ts (1)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#344
File: apps/masterbots.ai/services/hasura/hasura.service.ts:0-0
Timestamp: 2025-01-25T08:43:05.202Z
Learning: In the masterbots.ai database schema:
1. Previous "categories" are now called "topics"
2. Chatbots are now referred to as "domains"
3. Domains have context-dependent "categories" and "subcategories" based on user question context
4. Domains include "tags" that are used for filtering based on the user question context
🔇 Additional comments (34)
apps/hasura/metadata/databases/masterbots/tables/public_type_enum.yaml (3)

23-24: Include prompt in anonymous role permissions.

Adding the prompt column to the permission list for the anonymous role ensures that this role can access all required data for chatbot prompt configurations. Please verify that the corresponding migration enforces the NOT NULL constraint on prompt as expected.


30-31: Include prompt in moderator role permissions.

The addition of the prompt column for the moderator role is consistent with the enhanced permissions model. Ensure that any downstream processes consuming this configuration handle the new field appropriately.


37-38: Include prompt in user role permissions.

Adding the prompt column for the user role extends data access in line with the updated schema. Confirm that this recent change remains in sync with the other enum configuration files and that front-end queries expect the new field.

apps/masterbots.ai/components/routes/browse/browse-chat-message-list.tsx (3)

13-13: LGTM!

The import reordering maintains a logical grouping pattern.


58-58: Great responsive design improvements!

The changes implement a better responsive padding system and ensure proper sizing:

  • Mobile-first approach with graduated padding increases
  • Full-size container for better layout control

Also applies to: 64-64


75-75: Excellent spacing consistency!

The margin adjustments create a uniform spacing system that matches the trigger padding, improving the overall visual hierarchy.

apps/hasura/metadata/databases/masterbots/tables/public_message_type_enum.yaml (1)

19-24: Addition of "moderator" Role Select Permission

The new select permission for the "moderator" role has been added with access to the "value" column, using an empty filter and comment. This mirrors the configuration of the "anonymous" and "user" roles and enhances the role-based access control for the message_type_enum table.

apps/hasura/metadata/databases/masterbots/tables/public_models_enum.yaml (1)

21-27: Addition of "moderator" Role Permissions in Models Enum

The inclusion of the "moderator" role with permissions for the "name" and "value" columns is consistent with similar changes applied across other enum tables. Ensure that this configuration is documented and maintained in sync with related schema changes.

apps/hasura/metadata/databases/masterbots/tables/public_tag_enum.yaml (1)

18-26: Moderator Role Select Permission in Tag Enum

The new select permission for the "moderator" role has been introduced, granting access to "domain", "name", "frequency", and "tag_id". This change aligns the access controls with those implemented in other enum tables and maintains consistency across the schema.

apps/hasura/metadata/databases/masterbots/tables/public_user_token.yaml (1)

11-35: Role-Based Permissions Added for User Token Table

A new select_permissions section has been introduced for the user_token table with three roles: "anonymous", "moderator", and "user". Notably, the "user" role includes a filter enforcing that the user_id equals the session variable X-Hasura-User-Id, which is crucial for maintaining data security. This configuration enhances role-based access control.

apps/hasura/metadata/databases/masterbots/tables/public_tone_enum.yaml (1)

23-24: Enhanced Select Permissions with "prompt" Column in Tone Enum

The changes update the select permissions by adding the "prompt" column alongside the "value" column for all roles ("anonymous", "moderator", and "user"). This modification ensures that users retrieve additional context data and is consistent with similar updates in other enum tables.

Also applies to: 30-31, 37-38

apps/hasura/metadata/databases/masterbots/tables/public_length_enum.yaml (3)

20-26: Anonymous Role Permissions Update:
The addition of the prompt column alongside value for the anonymous role correctly reflects the new prompt configuration. Please ensure that the underlying schema migration includes the prompt column.


27-33: Moderator Role Addition:
The newly added moderator role with access to the prompt and value columns is consistent with the changes in other enum tables. This enhances the access control to allow moderators similar viewing privileges.


34-40: User Role Permissions Update:
The update for the user role—granting access to both prompt and value—maintains consistency with the new schema requirements.

apps/hasura/metadata/databases/masterbots/tables/public_complexity_enum.yaml (3)

20-26: Anonymous Role Permissions Update:
The inclusion of the prompt column together with value for the anonymous role nicely reflects the new prompt configuration in this table.


27-33: Moderator Role Addition:
Adding the moderator role with select permissions for prompt and value is consistent with the overall access control update across the enum tables.


35-40: User Role Permissions Update:
The update for the user role, now including the prompt column along with value, ensures that all roles have access to the necessary columns.

apps/hasura/metadata/databases/masterbots/tables/public_domain_enum.yaml (1)

27-33: Moderator Role Addition for Domain Enum:
The moderator role is now granted select permissions for the name and added columns. This addition aligns with the intended enhancement of role-based access control across the schema.

apps/hasura/metadata/databases/masterbots/tables/public_category_enum.yaml (3)

29-36: Anonymous Role Permissions Verification:
The anonymous role continues to have select permissions for domain, name, and added. This remains unchanged, ensuring backward compatibility.


37-44: Moderator Role Introduction:
The new moderator role now accesses domain, name, and added. This mirrors the permissions granted to other roles and reinforces consistent access control.


45-52: User Role Permissions Consistency:
Permissions for the user role are intact, providing access to the same columns as before. This consistency is important to prevent any accidental privilege escalations.

apps/hasura/metadata/databases/masterbots/tables/public_example.yaml (3)

23-36: Anonymous Role Permissions Extension:
The anonymous role now includes the prompt column (in addition to tags, category, domain, subcategory, metadata, response, added, and example_id). This update aligns with the new prompt configuration across the board.


37-50: Moderator Role Permissions Addition:
The moderator role is comprehensively set up with access to all relevant columns, including prompt, mirroring the accesses defined for both anonymous and user roles. This uniformity helps maintain consistent access policies across different roles.


51-64: User Role Permissions Confirmation:
The user role retains the same extensive access, which now includes the prompt column. This consistency across all roles ensures that the new configuration is uniformly applied.

apps/hasura/metadata/databases/masterbots/tables/public_subcategory_enum.yaml (1)

52-60: Addition of 'moderator' Select Permission
The new permission block for the moderator role is added consistently with existing roles. It grants access to the columns category, domain, name, and added with an unrestricted filter, mirroring the selections defined for the anonymous and user roles. This appears to be aligned with the overall access control strategy.

apps/hasura/metadata/databases/masterbots/tables/public_preference.yaml (1)

39-51: New 'moderator' Role Select Permission for Preference Table
A new select permission for the moderator role is introduced to the preference table. The permission grants access to the columns (favorite, chatbot_id, preference_id, preferred_complexity, preferred_length, preferred_tone, preferred_type, user_id) without any record filtering (filter set to {}). This unrestricted access for moderators is consistent with the broader schema changes and appears intended to allow elevated privileges—ensure that this policy aligns with your security and business requirements.

apps/masterbots.ai/app/actions/ai-executers.ts (1)

7-7:

Details

❓ Verification inconclusive

Verify the mb-env module configuration.

Please ensure that the mb-env module is properly configured and the features.devMode flag is defined in the environment configuration.


🏁 Script executed:

#!/bin/bash
# Description: Check if mb-env module exists and is properly configured

# Search for mb-env module definition
fd -t f "mb-env" -x cat {} \;

# Search for devMode feature flag configuration
rg -A 5 "features.devMode|devMode.*feature"

Length of output: 5958


Action Required: Confirm that the mb-env module exports a proper appConfig with the expected feature flags

  • The new import on line 7 is syntactically correct and consistently used across the codebase.
  • Our verification confirms that the mb-env package exists and its configuration files (e.g., in the package’s src/ folder) are present.
  • However, we couldn’t locate an explicit export of an appConfig variable in the reviewed portion of the mb-env module. The repository shows multiple usages of appConfig.features.devMode elsewhere, so please double-check that:
    • The mb-env module is indeed exporting appConfig (including its features object).
    • The features.devMode flag is correctly defined and configured as part of that export.
apps/masterbots.ai/lib/hooks/use-thread-visibility.tsx (1)

51-52: LGTM! Helpful comments about client-side dependencies.

The comments clearly document the component's dependency on client-side updates and the need for server state to prevent flickering.

apps/masterbots.ai/lib/hooks/use-thread.tsx (3)

23-23: LGTM! Added shouldRefreshThreads state for better refresh control.

The new state variable provides explicit control over when threads should be refreshed.


107-108: LGTM! Enhanced null safety checks in useEffect.

The additional checks for activeThread.chatbot and its categories prevent potential null reference errors.


146-150: LGTM! Well-implemented setShouldRefreshThreads function.

The function correctly handles both direct value assignments and functional updates.

apps/masterbots.ai/components/routes/thread/thread-popup.tsx (2)

45-47: LGTM! Clear documentation of useEffect dependency exclusion.

The comment explains why smoothScrollToBottom is excluded from dependencies, citing its internal memoization.


163-166: LGTM! Well-documented thread refresh logic.

The comments clearly explain why setShouldRefreshThreads is necessary when closing the thread popup.

apps/masterbots.ai/lib/constants/prompts.ts (1)

72-83:

Details

✅ Verification successful

LGTM! Improved prompt configuration using array join.

The refactored implementation is more maintainable and aligns with the new database schema changes.


🏁 Script executed:

#!/bin/bash
# Verify that all required enum types have the prompt field
rg -A 3 'complexityEnum|toneEnum|typeEnum|lengthEnum' --type graphql

Length of output: 102


I'll re-run the verification using a revised shell script since the previous command failed due to an unrecognized file type. Let's use a script that searches for the prompt field usage in the chatbot enum properties within our TypeScript files:

Please run this script to verify that each of the enum properties indeed provides a prompt field. Once confirmed, the refactored implementation in apps/masterbots.ai/lib/constants/prompts.ts is sound.


LGTM!
The refactor using array.join is more concise and maintainable. However, please ensure that the enum properties (complexityEnum, toneEnum, typeEnum, and lengthEnum) indeed expose the prompt field as expected—use the above shell script for verification.


🏁 Script executed:

[run_scripts]
#!/bin/bash
# Re-run verification to check usage of the 'prompt' field in chatbot enums in TypeScript files.
rg -n "chatbot\.(complexityEnum|toneEnum|typeEnum|lengthEnum)\?\.prompt" .

Length of output: 530


LGTM!
The refactored code now correctly retrieves the prompt field from the respective enum properties, and our verification confirms the usage on lines 76–79 in apps/masterbots.ai/lib/constants/prompts.ts. No further changes are needed.

@AndlerRL AndlerRL merged commit a00cbd6 into develop Feb 19, 2025
1 of 2 checks passed
@AndlerRL AndlerRL deleted the impr-chatbot-prompt-init-config branch February 19, 2025 00:24
AndlerRL added a commit that referenced this pull request Feb 19, 2025
* devops: force deploy

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* impr(masterbots.ai): add return to browse on bot thread page view (#204)

* ✨ Added back button to thread details page

* ⚡️  changed char to svg

* feat: ai gen 404 image for custom 404 error page  (#210)

* ⚡️ added custom  error page

* ⚡️  clean up

* fix(masterbots.ai): terms page visibility and access

* feat(masterbots.ai): consistent og image style design and dynamic metadata  (#215)

* feat: added og api endpoint

* feat: design og image for dark mode

* fix: file formated

* fix: amend  og image to pick current theme color and adapt

* feat: added custom metadata to thread page

* feat: added custom metadata to bot page

* fix: clean up

* fix: move bg to a component

* fix: move og-image design  to a component

* fix: use variable for URL

* fix: to slug func

* ⚡️ Move and clean up UrlToSlug

* fix(masterbots.ai): zod dependecy

* fix: type error

* fix: type error for metadata

* fix: clean and build fix

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(masterbots.ai): OG not redering   (#224)

* fix: og to render first letter of username if there's no avatar

* fix: clean up

* fix: clean up

* fix(masterbots.ai): share function (#225)

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

* [coderabbitai] style: upt thread-user-actions condition

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(hasura): update user db schema for pro users (#227)

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

* feat(hasura): add Ai Model Tracker To Threads (#229)

* feat: create 'models' table AI models

* fix: add 'model' column to 'thread' table with foreign key constraint

* feat: add model_value into models

* [masterbots.ai] feat: multi AI models integration (#228)

* [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoader

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders

* [masterbots.ai]feat:(multimodels-integration)add new chat components

* [masterbots.ai]chore:next version

* [masterbots.ai]feat:(multimodels-integration)update use context

* [masterbots.ai]feat:(multimodels-integration)icons update

* [masterbots.ai]chore:command ui

* [masterbots.ai]refactor:moving chat componets to folder

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* [masterbots.ai] fix: multi AI models guard (#235)

* fix-guards + dom warning

* fix-rename env var - vercel name

* chore(masterbots.ai): update payment terms & conditions (#233)

* fix: update terms

* fix:  building error

* fix: update terms content

* fix: rm the older part at the bottom

* feat(masterbots.ai): pro subscription payment + wizard (#226)

* feat: added free card

* feat: added animation to the plan card

* feat: added more plan card and referral code link

* fix: clean up

* wip: wizard

* feat: wizard & modal

* feat: plan Design theme and modal Header and Footer

* feat: plan clean up

* update

* clean up

* fix: rm plan comp on browse page

* fix: wizard clean up

* feat: succes & error modal

* feat: loading comp

* feat: added checkout comp

* feat: set up stripe and context

* wip: implementing subscription

* feat: implementing subscription

* feat: payment reciept

* fix: clean up receipt

* fix: modal not showing & shallow routing

* fix: small fix

* fix: receipt comp

* fix: clean up

* fix: shallow rerouting

* feat: check if user has an active subscription

* fix: coderabbit ob

* fix: coderabbit ob

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: clean up

* fix: clean up

* fix: page restructuring and status on the receipt

* fix: revamp receipt and structure

* fix: rm unused file

* fix: clean up

* fix: update & clean up

* fix: update

* fix: rm the svg

* fix: revamp formatSystemPrompts

* fix: revamp msg to formatSystemPrompts

* fix:  update

* fix:  refactor the receipt page

* fix: rm public key

* fix: update

* fix: update

* fix: update

* fix: code refactor for error and loading rendering

* ref: calling  secret keys from server

* ref: receipt page and small fix

* fix: rm file

* fix(impr): subs & flow ux + cleanup

* fix(masterbots.ai): OG not redering   (#224)

* fix: og to render first letter of username if there's no avatar

* fix: clean up

* fix: clean up

* fix(masterbots.ai): share function (#225)

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

* [coderabbitai] style: upt thread-user-actions condition

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(hasura): update user db schema for pro users (#227)

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

* feat(hasura): add Ai Model Tracker To Threads (#229)

* feat: create 'models' table AI models

* fix: add 'model' column to 'thread' table with foreign key constraint

* feat: add model_value into models

* [masterbots.ai] feat: multi AI models integration (#228)

* [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoader

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders

* [masterbots.ai]feat:(multimodels-integration)add new chat components

* [masterbots.ai]chore:next version

* [masterbots.ai]feat:(multimodels-integration)update use context

* [masterbots.ai]feat:(multimodels-integration)icons update

* [masterbots.ai]chore:command ui

* [masterbots.ai]refactor:moving chat componets to folder

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* feat: set up stripe and context

* wip: implementing subscription

* fix: rm the svg

* fix: replace secret with variable

* fix: chat restructure

* fix(update): chat restructure

* fix(deployment error): can't find an  icon or not exported

* fix: deployment issues

* fix: deployment issues

* fix: deployment issues

* fix: adjust design

* fix: clean up

* fix: clean up

* fix: color var updaye

* [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: success close button

* fix: bg image for yearly card

* fix: move func to util

* ref: receipt page function to use reac-use

* fix: move depencies to the app

* fix: clean up

* ref: wizard to use radix dialog components

* update

* fix: coderabitai update

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* [masterbots.ai] fix: llama3 models  (#236)

* fix-guards + dom warning

* fix-rename env var - vercel name

* fix-changed PERPLEXITY-LLama model

* [masterbots.ai] impr(fix): ui tweaks (#237)

* fix(UI):varius UI fixes

* fix(UI):varius UI fixes

* fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left

* fix(UI):update

* fix(masterbots.ai): payment feedbacks (#240)

* fix: make the dialog content responsive

* fix: free plan card adjusted

* fix: update

* fix: update receipt styles

* fix: build error

* fix: build error

* fix: build error update

* fix: update

* fix: observation

* fix(masterbots.ai): update env variable (#244)

* feat: sitemap (#238)

* feat: add redirection rules

* fix: update all links with new shorten urls

* fix: update all links with new shorten urls

* feat: make folder structure according to sitemap

* [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: build error

* [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: add sitemap and metagraph

* fix: use original generateMetadata

* fix: update page links

* fix: show only filtered threads on page reload

* fix: build error

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(masterbots.ai): show first question & answer in thread list (#246)

* feat: add 'disabled' state to ChatAccordion

* fix: show default question's answer in thread list

* fix: use braces and create explicit statement blocks

* fix: subscription mobile responsive tweaks (#245)

* update

* fix: update

* fix: responsiveness

* fix: update

* fix: few clean up

* fix: rm unused image

* fix: rm unused image

* fix(impr): models enum table migrations (#247)

* impr(hasura): db tables

* impr(hasura): db tables

* fix(hasura): user permissions

* impr(hasura): sql models enum migration

* fix(hasura): models_enum pk

* fix(hasura): ci/cd default regional log bucket

* docs: bun to requirements (#250)

Co-authored-by: b <b>

* feat: next auth, email/pw strategy (#249)

* (masterbots.ia)-chore-auth-dependencies

* (masterbots.ia)-feat-webauth-nextauth

* wip(masterbots.ai): email/pw login + signup

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

* wip(webapp): email/pw login+signup

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com>

* docs: mb sytem diagram v1.0a

* feat(impr): next auth environment helper function (#251)

* (masterbots.ia)-chore-auth-dependencies

* (masterbots.ia)-feat-webauth-nextauth

* wip(masterbots.ai): email/pw login + signup

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

* wip(webapp): email/pw login+signup

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

* feat:protecting env

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com>

* impr(masterbots.ai): sign up form + sign in session data

* docs: claude3 project knowledge docs

* fix(masterbots.ai): devMode conditional

* chore(masterbots.ai): rm console.log

* chore: upt default hardcoded gpt model

* fix: toSlug imports

* fix: typo

* fix(hasura): seeds

* chore(impr): MB seeds update and upgrade (#253)

* wip: upt seeds

* chore: rm alter and table creations

* chore(impr): MB seeds update and upgrade

* fix: set thread to private by default

* fix: prompt row typo

* chore(hasura): seeds update default thread publicity

* fix(masterbots.ai): adjust arrow direction in thread list (#255)

* feat(impr): Vercel AI SDK Update (#256)

* chore:ai version upt

* chore:ai version upt

* upt-ai delete

* upt-ai versions

* upt-sdk-actions

* upt-complete-sdk-3.3 + dev notes

* upt-@anthropic-ai/sdk + MessageParam

* Delete apps/masterbots.ai/apps/masterbots.ai/package.json

* Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json

* impr-convertToCoreMessages ternary

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* fix(masterbots): google signIn (#260)

* fix(masterbots.ai): fix thread-component loop (#261)

* fix:(masterbots.ai) add useScroll hook (#263)

* fix:introducing Two-phase scroll

* impr: new hook to handle scrolling

* impr: useScroll + respo

* feat(masterbots.ai): chat sidebar filtering (#264)

* sidebar refactor with ai

* fix: sidebar AI V - Prev Jun (#262)

* fix:semistable

* fix:stable v

* impr:delete nonused component

* fix: upt category filtering

* fix typo

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: sidebar state

* fix(masterbots.ai): logic typo

* fix(masterbots.ai): ts typo

---------

Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* fix(masterbots.ai): bot button redirect change (#265)

* wip(masterbots.ai): seo data impr (#267)

* wip: seo data impr

* impr(chore): ga tags

* feat: add chat publicity trigger (#258)

* update

* feat: design thread visibilty

* fix: added the backend

* fix: added the backend

* fix: rm files

* fix: few clean up

* fix(masterbots): google signIn (#260)

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* fix: update

* fix: add permission

* fix: update query

* fix(masterbots.ai): fix thread-component loop (#261)

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* update

* fix: update

* fix: publicity toggle

* fix: error catch in the functions

* fix: observations

* fix: design impr

* fix: thread pop-up height

* chore(masterbots.ai): log rm & app version upt

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat(masterbots.ai): user messages ai refactor (#266)

* feat:userMessages refactor + hooks and utils

* upt:rm console.log

* fix:rollback useAiChat hook

* fix:rollback - actions

* fix(masterbots.ai): sidebar trigger

* chore(hasura: s

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* wip: browse sidebar

* impr(masterbots.ai): browse sidebar (#270)

* fix: browse layout

* feat(masterbots.ai): browse sidebar

* fix: browse sidebar link condition

* chore: upt signup default profile pic

* chore: seeds upt (#269)

* wip: seeds upt

* chore(hasura): seeds review

* feat(hasura): add "is_approved" thread field + seeds

* chore: mb-genql upt

* fix(hasura): thread param permission

* fix(masterbots.ai): typo

* fix(masterbots.ai): allow svg content-type

* fix: chat + browse layout

* style: clean up

* Seo data (#273)

* fix: build error

* feat: Add SEO data to the chat page

* feat: add default image, if not found

* feat: Add SEO data to the browse page

* fix: generates the image with error, in api/og

* Update route.tsx

fix: generates the image with error, in api/og

* impr(masterbots.ai): title impr prompt

* impr(masterbots.ai): improve current features v2 (#274)

* add-impr-chat-prompt-footer-header-disclaimer

* add-impr-chat-prompt-footer-header-disclaimer

* add-UI-upt

* add-UI-upt

* add-action-prompt

* add-clickable-upt

* add-clickable-upt

* Masterbots/fix redirects (#275)

* fix:avatar-redirects

* fix:avatar-redirect

* fix(masterbots.ai): upt components/ui/button.tsx

Coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix:URL correction

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [masterbots.ai] feat: wordware api (#276)

* feat: add wordware api + vercel sdk strategy

* feat: add wordware api + vercel sdk

* wordware describe feat

* wordware run + interface

* impr(masterbots.ai): upt /api/wordware/describe/route.ts

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(masterbots.ai): upt /api/wordware/describe/route.ts

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(masterbots.ai): typo /api/wordware/describe/route.ts

coderabbitai code suggestion.

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>

* doc: mb system diagram upt

* wip: icl calls integrations

* impr(masterbots.ai): permission for thread & user action mode (#281)

* update

* feat: added permissions & new column

* fix: rm unnessecary files

* fix: rm permission check

* feat(masterbots.ai): create password recovery (#282)

* feat:add-recovery-strategy

* chore:add nodeemailer

* upt:hasura

* upt:hasura

* upt:gmail service

* feat(hasura): otp, token table + junction w/user + mb-genql gen

* feat:add recovery password API

* fix:ai suggestion + UX

* feat:improve ux show password feat

* chore:env sample

* chore:useSetState

* chore:roles

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] impr: WW API sanitize and keep alive (#284)

* keep-alive + API sanitize + timeOut guard

* impr streamAndValidateResponse fn

* wip(masterbots.ai): impr createImprovementPrompt

* style(masterbots.ai): chat loading states comments

* feat(masterbots.ai): add admin mode to approve thread (#283)

* feat:added mode toggle and approve btn

* feat: added migration for user role

* feat: user role flow implet

* fix: impr admin approve process

* fix: clean up

* fix: toggle CTA changed

* fix: update

* fix: update

* fix: observ

* fix: obs clean up

* fix: update

* fix: clean up

* impr(masterbots.ai): alpha metadata chatbot labels (#288)

* wip: metadata chatbot labels

* wip(masterbots.ai): chatbot metadata labels

* impr(masterbots.ai): gen chatMetadata

* impr: simplifying prompt defitions + biome.json base config

* impr(masterbots.ai): recursive improved text prompt

* style: code comments + eslint chk

* impr: biome.json config

* fix(masterbots.ai): conflicts typo fix

* style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup

* doc: map system (simplified)

* fix(masterbots.ai): sideBar updating URL (#286)

* fix:sideBar updating URL

* feat: coderabbit-ai suggestions

* fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL

* feat: optimize sidebar navigation with Link

* feat: thread options (#287)

* feat: added verified and label to the options

* usethreadvisibility as context

* feat: added option design  and functions

* fix: clean up

* fix: update

* fix: update

* fix: obsv

* fix: merge and update

* fix: update the delete popup

* fix: observ

* fix: update

* fix: delete thread flow

* update

* fix: update

* fix: types

* fix: chatbot not required

* fix: testing

* fix: rm bun.lock

* fix: clean up

* fix: update

* fix(masterbots.ai): temp freezing next version

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] feat: email verification (#289)

* feat: email verification

* feat: email verification

* feat: email verification

* upt:build

* feat: handle error redirection

* chore:cron task

* upt: cron blocking instead erasing

* feat(hasura): create social following table. (#292)

* feat(db): create social following table.

* create user following and followers relationships.

* fix(db): ensure users can only manage their own follow relationships.

* feat(db): social following and user table permissions improvements.

* feat(db): improving social following table with  timestamp and idx.

* impr(db): permissions and tracked object relationships.

* impr(db): avoid self follow.

* chore(masterbots.ai): guard WordWare for prod routing

* [masterbots.ai] fix: public/private tag bg on dark mode  (#294)

* fix: tag bg

* fix: text color

* fix: browse page error

* fix: debugging

* fix: debugging

* fix: debugging

* fix: added func to generate short link

* fix(hasura): upt user permissions (#296)

* update user permission

* fix: reverse the following table

* fix(hasura): build error (#297)

* fix: error build

* fix: reverse select perm

* [masterbots.ai] feat: thread list display + components comments for ai (#299)

* merged from develop

* feat:add new ui-thread-representation-browse

* feat:add comments for ai - C

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add app theme colors effects

* feat:add comments for ai - b/p

* [masterbots.ai] feat: chatbot search tool v0.1a (#295)

* wip: chatbot search tool

* wip(impr): ww api + chat ui tweaks

* fix: init sidebar load state

* fix: nesting layout

* fix: thread-popup ui header

* wip(impr): chatbot tooling

* impr: loading state + debug chatbot tools

* wip(fix): nodejs context

* fix(temp): rm edge runtime api config

* [masterbots.ai] feat: reorganize navigation menu for mobile view (#298)

* feat: reorganize navigation menu for mobile view

* UI: add sideBar style

* feat: add link profile and logout icon

* Update profile-sidebar.tsx

Tailwind class fix

* [masterbots.ai] feat: UI + Logic Improvements (#301)

* feat:impr responsive

* feat:impr password strenght checker

* feat:impr responsive

* upt-build

* feat:respomsive tweask

* feat:back arrow aria label

* fix:chat mobile layout

* fix:code section

* fix:chat pannel

* fix:chatBot redirection

* feat:restore appConfig header

* [masterbots.ai] fix: restore desktop navigation link - browse section (#303)

* fix:restore desktop navigation link - browse

* fix:formating

* feat:yellow combobox btn (JUN-REQUEST)

* glowing effect variant

* upt:removed /b navigation as original v

* feat:powerup mode + provider

* [masterbots.ai] fix(impr): browse and chat content search (#304)

* feat:browse title and content search

* feat:browse title and content search

* fix:typo

* impr:reusable non result component

* feat:skeletons

* feat:guard

* fix:skeletons

* fix:chat searching

* fix: add accent colour

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>

* [masterbots.ai] impr: seo sitemap (#306)

* chore: sitemap creation

* chore: add description based on category

* chore: update queries in services

* chore: truncate text

* impr: upt (browse)/[category]/[threadId]/sitemap.ts

coderabbitai code suggestion.

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>

* [masterbots.ai] impr: ai tools (#302)

* wip: ai tools

* fix: WW json regexp

* impr: simplifying main ai call

* wip(fix): chat component re-render + cleanup

* impr(refactor): chat hooks

* fix: ts build

* fix: ts build

* fix: ts typo

* fix: typo

* impr: ai feedbacks

* [masterbots.ai] wip(impr): web search (#309)

* impr: web search tool call

* fix: colour values

* fix: typo

* impr: code suggestions

* fix: class name typo

* wip(fix): web search false positive response + webSearch context

* fix: web search callback

* fix: typo

* feat: profile page (#300)

* feat: user card

* fix: update

* merge develop && update

* feat: user generate bio & favourite  topic

* fix: update user card

* feat: added profile sidebar

* fix: update

* update

* update

* update

* fix: fetch approved and public threads

* fix: fetch approved and public threads

* update

* fix: clean up and update

* update

* make fetch user work with bio

* update

* update

* design updating

* update

* update

* fix: few changes

* update

* fix: design update

* fix: footer in layout

* fix: update

* fix:  resercation

* update

* profile upload

* feat: move the cloudinary key to env

* fix: layout

* fix: layout update

* [masterbots.ai] fix: shallow routing for category & chatbots for  chat & profile page  (#313)

* update

* feat: added shallow link to the sidebar link

* update'

* fix: routing and content fetching

* fix:update on  routing

* fix:update

* update

* update

* update

* fix: clean up

* update

* update

* [masterbots.ai] feat: update ChatChatbotDetails (#314)

* feat: new bot profile - chat

* chore: dev comments

* chore: white bg bot avatar

* feat: add skeleton bot profile

* [masterbots.ai] feat: include custom settings options (#317)

* feat:relocation of theme switch(jun)

* feat: create font-size accessibility provider(jun)

* feat: r-sidebar theme switcher relocation + skeleton

* feat: impr add rem instead px

* [masterbots.ai] feat: integrate drizzle ORM (#320)

* feat: create mb-drizzle package initial structure

* feat:(masterbots.ai) add drizzle endpoint + service

* chore: include database url

* chore: upt mb-drizzle

* feat: refactor drizzle config + generations

* chore: impr migrate

* chore: add working drizzle connection + migrations

* feat: add centralized actions

* chore: add ai review recomendations

* chore: webSearch feature flag + use cloudinary upload preset

* fix: responsive sidebar fix

* fix: ts chk build

* fix: sidebar async call

* fix: ts build

* chore: typo

* [masterbots.ai] fix: browse category navigation (#316)

* update

* fix: rm category

* update

* fix: pop up on the user threads

* update

* update clean up

* update

* fix: clean up

* fix:  clean up and update

* fix: update

* fix: popup on navigation

* fix: update

* update

* update

* update

* clean up

* update

* merge

* fix: hasura thread delete + user dup permissions (#330)

* [masterbots.ai] feat: onboarding bot profile variants  (#324)

* add chatbot-details and browse-details variants

* feat: add bio generation

* feat: chat profile bg

* chore: update bot profile designs

* chore: remove internal padding from cardHeader component

* impr: iconography + border thickness

* fix: numberShortener util fn

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: user following  (#319)

* update

* added follow user

* update

* fix: upt hasura metadata databases, public_social_following.yaml

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: upt masterbots.ai lib, utils.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: user card

* update

* fix: permission

* update

* fix: added more column for chatbot followee

* fix:foloow chatbot implementation

* update

* threads by following user/bots

* update

* update

* update

* update

* update

* update

* update

* update

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [masterbots.ai] impr: new sonner (#334)

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* fix: overflow of the width of the sonner

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* chore: use hook sonner

* refactor: changes according to coderabbitai

* refactor: update use of sonner

* chore:remove icons and use lucide icons

* chore: Using Lucide Icons

* chore: bun pkg mngr upt

* Standardize url building using urlbuilders utility (#341)

* fix: update url

* fix: url update

* update

* [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335)

* update

* fix: make OG image use default

* fix: update

* fix: update

* fix: obs

* fix: update

* fix: added og to browse and chat

* update

* update

* update

* fix: provider types error

* fix: updfate UUID

* fix: update UUID

* [masterbots.ai] docs: hook useSonner (#343)

* chore: document hook useSonner

* refactor: document hook useSonner, according coderabbit

* impr: web search response (#310)

* impr: web search response

* refactor: extracting clickable generation logic

* refactor: extracting clickable generation logic

* fix: webSearch clickable text + reference links

* chore: fix build

* feat:(impr) stable version link to references format step 1

* feat:(impr) stable version link to references format step 2

---------

Co-authored-by: Bran18 <andreyfdez18@gmail.com>

* [masterbots.ai] refactor: prelaunch ux/ui changes (#336)

* refactor: replicate tooltip effect in desktop bot chatbot details

* fix: add guard and removed re-render

* fix: refactor mobile bot chatbot details

* refactor: make chatPannel bigger

* chore:add new bot card design + sidebar hover color

* chore: delete public and private sw + icons

* chore: include public + delete extra actions

* chore: add sidebar bg

* add sidebar new styles + lib fn

* feat: add select bot

* chore: cleaning

* fix: build - removing BotMessageSquareIcon

* fix: types/node version + node min ver req

---------

Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* [masterbots.ai] feat: continuous thread ui functionality (#340)

* wip: continuos thread logic and functionality.

* feat: updating parent thread functionality.

* feat: continuous thread UI and finalize functionality.

* fix: lowering resolveThreadId logic complexity.

* Update apps/hasura/migrations/masterbots/1736934906237_set_fk_public_thread_parent_thread/down.sql

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update apps/masterbots.ai/lib/hooks/use-mb-chat.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: ts build

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] fix: refactored components - pre icl v3 (#348)

* chore: add refactored components - pre icl v3

* chore: add navigation color + text-input color

* fix: type

* wip: header active state

* fix: them toggle

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: icl v1a (#344)

* wip: vercel ai sdk upt

* wip: icl web feature

* chore: icl hasura migrations, metadata and seeds

* chore: genql gen

* impr: chat opt separator render

* impr: accordion chevron pos

* impr: chat-list space

* Fix observations from Jun (#353)

* update

* fix: update

* fix: added empty state

* fix: rm favourt and added card empty state

* fix: hide sibe category without threads on user profile

* fix: update

* fix: update

* [masterbots.ai] fix: reduce prompt input validation

* fix: hasura moderator augmentedFrom msg prop

* impr: ai prompt examples flow

* fix: hasura moderator role thread upt permissions

* [masterbots.ai] feat: chatbot following + thread highlight + bot thread page to blog  (#337)

* update

* feat: added chatbot follow function to other component

* update profile thread

* thread highligh

* thread highligh update

* update

* fix: thread blog

* fix: follow chat bot

* update

* fix: observations

* fix provider types issue

* fix provider update

* feat: update blog template

* fix: rm p tag from list items

* fix: merge

* fix: rm parentid and continiue reading

* update

* update

* merge

* fix: generated types

* update

* updatd

* update code

* impr: profile page layout

* fix: mg-genql gen ts

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] fix: init threads render + icl init cleanup (#354)

* wip: fix init threads render + icl cleanup

This fixes the following issues:

1. Reduced the amount of re-renders when sending the new data.
2. Clean up the ICL functions and types.
3. State management for the user-thread-panel.
4. Debug the re-rendering uissue that is replacing the main thread content.
5. Debug opening a new thread with the new ICL system. They show in the list but not returning the messages when opening it up.
6. Few code clean ups.

* impr: thread list re-render in chat page

* fix: initialMessages in useChat

* fix: hasura moderator role thread upt permissions

* impr: thread list re-render

* fix: markdown pkg ts

* fix: markdown pkg ts

* fix: downgrade react-markdown (#358)

* fix: downgrade react-markdown

* fix: downgrade react-markdown

* fix: markdown dep version + layout thread list ui

* impr: gray-ish overlay bg rm

* chore: console log rm

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* refactor: icl seeds v2 (#357)

* chore: upt hasura icl seeds

* chore: chat legacy table rm

* chore(wip): icl seeds curation

* chore: upt icl init seed pt2

* chore: upt icl init seed pt3

* chore: upt icl init seed pt3

* chore: upt icl init seed pt4

* fix: cat + chatbot seeds revision

* chore: tag seeds note upt

* fix: drop and create chatbot_domain table (#360)

* fix: drop and create chatbot_domain table

* fix: chatbot_domain permissions

* fix: SQL typo

* [masterbots.ai] feat: improve common components and features (#356)

* fix: sidebar

* feat: add DeepSeek integration

* chore: wip accordions

* fix: include popup accordion

* chore: add shared accordion to thread list

* fix: extra space

* fix: extra space

* chore: add tabs effect

* chore: add colors based on routes

* chore: add colors based on routes

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix: useRouter import

* [masterbots.ai] fix: sidebar category render (#362)

* fix: sidebar category render

* docs: toggleChatbotSelection

* [hasura] chore: label + label_chatbot_category_domain dropping tables migration (#361)

* fix: fetch chatbotDomain

* [hasura] chore: rm wip example seed part

* chore: rm legacy tables  + fix getChatbotMetadata props (#363)

* chore: rm legacy tables

* fix: getChatbotMetadata

* fix: chatbotMetadata ts

* wip(refactor): icl init tags & categories fetch

* chore: bun.lockb upt

* fix: hotfix build error

* impr: icl metadata requests v1 (#365)

* wip: icl fetch + meta prompt impr

* impr: sidebar paddings

* wip: icl fetch + meta prompt impr

* wip: icl fetch + meta prompt impr

* impr: icl metadata request v2 (#366)

* wip: icl fetch + meta prompt impr

* fix: icl fetch + meta prompt impr

* impr: icl output + prompts

* chore: console.log rm

* chore: console.log icl metadata devMode

* [masterbots.ai] test: sytem prompt as user role

* fix: show sidebar in profile (#364)

* chore: clickable responses update

* [masterbots.ai] refactor: use chat hook context + state management perf (#369)

* chore: system prompt as system role

* refactor: use-mb-chat to context

* fix: mbchat provider location

* impr: profile page scroll & footer position (#367)

* update

* fix: update

* update

* update

* fix: profile page scroll and footer positioning

* fix: profile sidebar

* update

* update

* Revert "update"

This reverts commit ef7ee8c.

* Revert "Revert "update""

This reverts commit 553f82f.

* Revert "Revert "Revert "update"""

This reverts commit c645eca.

* fix: profile page  footer positioning

* fix: visitor should be  able to scroll through the categories

* fix: profile page side bar

* fix: rm loading when user not logged in

* fix: update

* [masterbots.ai] fix: clickable text feature (#372)

* fix: accordion arrow

* fix: clickable text formating

* wip: fix thread load (#373)

* wip: fix thread-list load

* fix: continuous system prompt context

* fix: render flickr + followup question logic impr

* impr: prompt tags segmentation

* chore: impr following question prompt

* feat: public continue thread (#375)

* refactor: integrating chatPannelHeader into chatPannel

* chore: update browse-chat-message with shared accordion

* chore: continue conversation + full conversations fix

* fix: left align text

* [masterbots.ai] fix: show appropriate bot cards in the user thread list (#368)

* update

* fix: update

* update

* update

* fix: filter category & chatbot by userId on profile page

* fix: hide empty chatbots

* fix: followee permission error as moderator to follow and unfollow (#374)

* update

* fix: update

* update

* update

* fix: permission issue for moderator when following other user

* fix: shift on user card when loading or empty

* update

* [masterbots.ai] fix: isNewChat guard + continuous thread messages + power up prompts (#377)

* fix: thread render at pop-up close

* impr: getRouteType + chat layout

* wip: isNewChat state

* impr: prompt tags segmentation

* fix: chat messages list render + open last according by default on new responses

* impr: thread list render guard

* feat(wip): isPowerUp mode

* impr: memoizing getChatbotMetadata

* fix: grabbing previous messages, continous chat

* chore: add todo comment

* impr: previous thread ui + coderabbitai observations

* fix: previous conversation re-render

* doc: useEffect biome-ignore

* impr: deep obj compare for msg pairs

* fix: ts build

* fix: ts build

* [masterbots.ai] refactor: useScroll hook (#376)

* chore: refactor useScroll

* chore: refactor useScroll

* chore: refactor useScroll

* Delete apps/masterbots.ai/lib/context/thread-context.tsx

* chore: test commit

* fix: import type

* chore: add clearTimeout

* chore: add destructuring

* feat: update use-mb-scroll

* feat: update thread component

---------

Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>

* [masterbots.ai] fix: chat stream render (#380)

* fix: chat stream render

* fix: typo

* chore: chatbot prompts init config + active thread hotfixes (#378)

* wip: chatbot prompts init config

* wip: upt init config seeds, adding prompt configs

* chore: upt init config seeds

* fix: resetActiveThread guard

* impr(wip): masterbot config prompt

* chore: icl data curation, domain + category + sub-category

* chore: init domain seeds curation

* fix: moderator + user role table selection

* impr: web prompt config + fix thread list render + code comments

* fix: coderabbitai observations

* [hasura] chore: upt user insert rows seed

* fix: conflict fix

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com>
Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com>
Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
Co-authored-by: Bran18 <andreyfdez18@gmail.com>
Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>
@AndlerRL
Copy link
Member Author

AndlerRL commented Mar 5, 2025

sheriffjimoh pushed a commit that referenced this pull request Sep 9, 2025
* wip: chatbot prompts init config

* wip: upt init config seeds, adding prompt configs

* chore: upt init config seeds

* fix: resetActiveThread guard

* impr(wip): masterbot config prompt

* chore: icl data curation, domain + category + sub-category

* chore: init domain seeds curation

* fix: moderator + user role table selection

* impr: web prompt config + fix thread list render + code comments

* fix: coderabbitai observations
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
* devops: force deploy

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* impr(masterbots.ai): add return to browse on bot thread page view (#204)

* ✨ Added back button to thread details page

* ⚡️  changed char to svg

* feat: ai gen 404 image for custom 404 error page  (#210)

* ⚡️ added custom  error page

* ⚡️  clean up

* fix(masterbots.ai): terms page visibility and access

* feat(masterbots.ai): consistent og image style design and dynamic metadata  (#215)

* feat: added og api endpoint

* feat: design og image for dark mode

* fix: file formated

* fix: amend  og image to pick current theme color and adapt

* feat: added custom metadata to thread page

* feat: added custom metadata to bot page

* fix: clean up

* fix: move bg to a component

* fix: move og-image design  to a component

* fix: use variable for URL

* fix: to slug func

* ⚡️ Move and clean up UrlToSlug

* fix(masterbots.ai): zod dependecy

* fix: type error

* fix: type error for metadata

* fix: clean and build fix

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(masterbots.ai): OG not redering   (#224)

* fix: og to render first letter of username if there's no avatar

* fix: clean up

* fix: clean up

* fix(masterbots.ai): share function (#225)

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

* [coderabbitai] style: upt thread-user-actions condition

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(hasura): update user db schema for pro users (#227)

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

* feat(hasura): add Ai Model Tracker To Threads (#229)

* feat: create 'models' table AI models

* fix: add 'model' column to 'thread' table with foreign key constraint

* feat: add model_value into models

* [masterbots.ai] feat: multi AI models integration (#228)

* [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoader

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders

* [masterbots.ai]feat:(multimodels-integration)add new chat components

* [masterbots.ai]chore:next version

* [masterbots.ai]feat:(multimodels-integration)update use context

* [masterbots.ai]feat:(multimodels-integration)icons update

* [masterbots.ai]chore:command ui

* [masterbots.ai]refactor:moving chat componets to folder

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* [masterbots.ai] fix: multi AI models guard (#235)

* fix-guards + dom warning

* fix-rename env var - vercel name

* chore(masterbots.ai): update payment terms & conditions (#233)

* fix: update terms

* fix:  building error

* fix: update terms content

* fix: rm the older part at the bottom

* feat(masterbots.ai): pro subscription payment + wizard (#226)

* feat: added free card

* feat: added animation to the plan card

* feat: added more plan card and referral code link

* fix: clean up

* wip: wizard

* feat: wizard & modal

* feat: plan Design theme and modal Header and Footer

* feat: plan clean up

* update

* clean up

* fix: rm plan comp on browse page

* fix: wizard clean up

* feat: succes & error modal

* feat: loading comp

* feat: added checkout comp

* feat: set up stripe and context

* wip: implementing subscription

* feat: implementing subscription

* feat: payment reciept

* fix: clean up receipt

* fix: modal not showing & shallow routing

* fix: small fix

* fix: receipt comp

* fix: clean up

* fix: shallow rerouting

* feat: check if user has an active subscription

* fix: coderabbit ob

* fix: coderabbit ob

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: clean up

* fix: clean up

* fix: page restructuring and status on the receipt

* fix: revamp receipt and structure

* fix: rm unused file

* fix: clean up

* fix: update & clean up

* fix: update

* fix: rm the svg

* fix: revamp formatSystemPrompts

* fix: revamp msg to formatSystemPrompts

* fix:  update

* fix:  refactor the receipt page

* fix: rm public key

* fix: update

* fix: update

* fix: update

* fix: code refactor for error and loading rendering

* ref: calling  secret keys from server

* ref: receipt page and small fix

* fix: rm file

* fix(impr): subs & flow ux + cleanup

* fix(masterbots.ai): OG not redering   (#224)

* fix: og to render first letter of username if there's no avatar

* fix: clean up

* fix: clean up

* fix(masterbots.ai): share function (#225)

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

* [coderabbitai] style: upt thread-user-actions condition

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(hasura): update user db schema for pro users (#227)

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

* feat(hasura): add Ai Model Tracker To Threads (#229)

* feat: create 'models' table AI models

* fix: add 'model' column to 'thread' table with foreign key constraint

* feat: add model_value into models

* [masterbots.ai] feat: multi AI models integration (#228)

* [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoader

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders

* [masterbots.ai]feat:(multimodels-integration)add new chat components

* [masterbots.ai]chore:next version

* [masterbots.ai]feat:(multimodels-integration)update use context

* [masterbots.ai]feat:(multimodels-integration)icons update

* [masterbots.ai]chore:command ui

* [masterbots.ai]refactor:moving chat componets to folder

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* feat: set up stripe and context

* wip: implementing subscription

* fix: rm the svg

* fix: replace secret with variable

* fix: chat restructure

* fix(update): chat restructure

* fix(deployment error): can't find an  icon or not exported

* fix: deployment issues

* fix: deployment issues

* fix: deployment issues

* fix: adjust design

* fix: clean up

* fix: clean up

* fix: color var updaye

* [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: success close button

* fix: bg image for yearly card

* fix: move func to util

* ref: receipt page function to use reac-use

* fix: move depencies to the app

* fix: clean up

* ref: wizard to use radix dialog components

* update

* fix: coderabitai update

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* [masterbots.ai] fix: llama3 models  (#236)

* fix-guards + dom warning

* fix-rename env var - vercel name

* fix-changed PERPLEXITY-LLama model

* [masterbots.ai] impr(fix): ui tweaks (#237)

* fix(UI):varius UI fixes

* fix(UI):varius UI fixes

* fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left

* fix(UI):update

* fix(masterbots.ai): payment feedbacks (#240)

* fix: make the dialog content responsive

* fix: free plan card adjusted

* fix: update

* fix: update receipt styles

* fix: build error

* fix: build error

* fix: build error update

* fix: update

* fix: observation

* fix(masterbots.ai): update env variable (#244)

* feat: sitemap (#238)

* feat: add redirection rules

* fix: update all links with new shorten urls

* fix: update all links with new shorten urls

* feat: make folder structure according to sitemap

* [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: build error

* [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: add sitemap and metagraph

* fix: use original generateMetadata

* fix: update page links

* fix: show only filtered threads on page reload

* fix: build error

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(masterbots.ai): show first question & answer in thread list (#246)

* feat: add 'disabled' state to ChatAccordion

* fix: show default question's answer in thread list

* fix: use braces and create explicit statement blocks

* fix: subscription mobile responsive tweaks (#245)

* update

* fix: update

* fix: responsiveness

* fix: update

* fix: few clean up

* fix: rm unused image

* fix: rm unused image

* fix(impr): models enum table migrations (#247)

* impr(hasura): db tables

* impr(hasura): db tables

* fix(hasura): user permissions

* impr(hasura): sql models enum migration

* fix(hasura): models_enum pk

* fix(hasura): ci/cd default regional log bucket

* docs: bun to requirements (#250)

Co-authored-by: b <b>

* feat: next auth, email/pw strategy (#249)

* (masterbots.ia)-chore-auth-dependencies

* (masterbots.ia)-feat-webauth-nextauth

* wip(masterbots.ai): email/pw login + signup

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

* wip(webapp): email/pw login+signup

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com>

* docs: mb sytem diagram v1.0a

* feat(impr): next auth environment helper function (#251)

* (masterbots.ia)-chore-auth-dependencies

* (masterbots.ia)-feat-webauth-nextauth

* wip(masterbots.ai): email/pw login + signup

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

* wip(webapp): email/pw login+signup

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

* feat:protecting env

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com>

* impr(masterbots.ai): sign up form + sign in session data

* docs: claude3 project knowledge docs

* fix(masterbots.ai): devMode conditional

* chore(masterbots.ai): rm console.log

* chore: upt default hardcoded gpt model

* fix: toSlug imports

* fix: typo

* fix(hasura): seeds

* chore(impr): MB seeds update and upgrade (#253)

* wip: upt seeds

* chore: rm alter and table creations

* chore(impr): MB seeds update and upgrade

* fix: set thread to private by default

* fix: prompt row typo

* chore(hasura): seeds update default thread publicity

* fix(masterbots.ai): adjust arrow direction in thread list (#255)

* feat(impr): Vercel AI SDK Update (#256)

* chore:ai version upt

* chore:ai version upt

* upt-ai delete

* upt-ai versions

* upt-sdk-actions

* upt-complete-sdk-3.3 + dev notes

* upt-@anthropic-ai/sdk + MessageParam

* Delete apps/masterbots.ai/apps/masterbots.ai/package.json

* Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json

* impr-convertToCoreMessages ternary

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* fix(masterbots): google signIn (#260)

* fix(masterbots.ai): fix thread-component loop (#261)

* fix:(masterbots.ai) add useScroll hook (#263)

* fix:introducing Two-phase scroll

* impr: new hook to handle scrolling

* impr: useScroll + respo

* feat(masterbots.ai): chat sidebar filtering (#264)

* sidebar refactor with ai

* fix: sidebar AI V - Prev Jun (#262)

* fix:semistable

* fix:stable v

* impr:delete nonused component

* fix: upt category filtering

* fix typo

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: sidebar state

* fix(masterbots.ai): logic typo

* fix(masterbots.ai): ts typo

---------

Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* fix(masterbots.ai): bot button redirect change (#265)

* wip(masterbots.ai): seo data impr (#267)

* wip: seo data impr

* impr(chore): ga tags

* feat: add chat publicity trigger (#258)

* update

* feat: design thread visibilty

* fix: added the backend

* fix: added the backend

* fix: rm files

* fix: few clean up

* fix(masterbots): google signIn (#260)

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* fix: update

* fix: add permission

* fix: update query

* fix(masterbots.ai): fix thread-component loop (#261)

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* update

* fix: update

* fix: publicity toggle

* fix: error catch in the functions

* fix: observations

* fix: design impr

* fix: thread pop-up height

* chore(masterbots.ai): log rm & app version upt

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat(masterbots.ai): user messages ai refactor (#266)

* feat:userMessages refactor + hooks and utils

* upt:rm console.log

* fix:rollback useAiChat hook

* fix:rollback - actions

* fix(masterbots.ai): sidebar trigger

* chore(hasura: s

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* wip: browse sidebar

* impr(masterbots.ai): browse sidebar (#270)

* fix: browse layout

* feat(masterbots.ai): browse sidebar

* fix: browse sidebar link condition

* chore: upt signup default profile pic

* chore: seeds upt (#269)

* wip: seeds upt

* chore(hasura): seeds review

* feat(hasura): add "is_approved" thread field + seeds

* chore: mb-genql upt

* fix(hasura): thread param permission

* fix(masterbots.ai): typo

* fix(masterbots.ai): allow svg content-type

* fix: chat + browse layout

* style: clean up

* Seo data (#273)

* fix: build error

* feat: Add SEO data to the chat page

* feat: add default image, if not found

* feat: Add SEO data to the browse page

* fix: generates the image with error, in api/og

* Update route.tsx

fix: generates the image with error, in api/og

* impr(masterbots.ai): title impr prompt

* impr(masterbots.ai): improve current features v2 (#274)

* add-impr-chat-prompt-footer-header-disclaimer

* add-impr-chat-prompt-footer-header-disclaimer

* add-UI-upt

* add-UI-upt

* add-action-prompt

* add-clickable-upt

* add-clickable-upt

* Masterbots/fix redirects (#275)

* fix:avatar-redirects

* fix:avatar-redirect

* fix(masterbots.ai): upt components/ui/button.tsx

Coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix:URL correction

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [masterbots.ai] feat: wordware api (#276)

* feat: add wordware api + vercel sdk strategy

* feat: add wordware api + vercel sdk

* wordware describe feat

* wordware run + interface

* impr(masterbots.ai): upt /api/wordware/describe/route.ts

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(masterbots.ai): upt /api/wordware/describe/route.ts

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(masterbots.ai): typo /api/wordware/describe/route.ts

coderabbitai code suggestion.

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>

* doc: mb system diagram upt

* wip: icl calls integrations

* impr(masterbots.ai): permission for thread & user action mode (#281)

* update

* feat: added permissions & new column

* fix: rm unnessecary files

* fix: rm permission check

* feat(masterbots.ai): create password recovery (#282)

* feat:add-recovery-strategy

* chore:add nodeemailer

* upt:hasura

* upt:hasura

* upt:gmail service

* feat(hasura): otp, token table + junction w/user + mb-genql gen

* feat:add recovery password API

* fix:ai suggestion + UX

* feat:improve ux show password feat

* chore:env sample

* chore:useSetState

* chore:roles

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] impr: WW API sanitize and keep alive (#284)

* keep-alive + API sanitize + timeOut guard

* impr streamAndValidateResponse fn

* wip(masterbots.ai): impr createImprovementPrompt

* style(masterbots.ai): chat loading states comments

* feat(masterbots.ai): add admin mode to approve thread (#283)

* feat:added mode toggle and approve btn

* feat: added migration for user role

* feat: user role flow implet

* fix: impr admin approve process

* fix: clean up

* fix: toggle CTA changed

* fix: update

* fix: update

* fix: observ

* fix: obs clean up

* fix: update

* fix: clean up

* impr(masterbots.ai): alpha metadata chatbot labels (#288)

* wip: metadata chatbot labels

* wip(masterbots.ai): chatbot metadata labels

* impr(masterbots.ai): gen chatMetadata

* impr: simplifying prompt defitions + biome.json base config

* impr(masterbots.ai): recursive improved text prompt

* style: code comments + eslint chk

* impr: biome.json config

* fix(masterbots.ai): conflicts typo fix

* style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup

* doc: map system (simplified)

* fix(masterbots.ai): sideBar updating URL (#286)

* fix:sideBar updating URL

* feat: coderabbit-ai suggestions

* fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL

* feat: optimize sidebar navigation with Link

* feat: thread options (#287)

* feat: added verified and label to the options

* usethreadvisibility as context

* feat: added option design  and functions

* fix: clean up

* fix: update

* fix: update

* fix: obsv

* fix: merge and update

* fix: update the delete popup

* fix: observ

* fix: update

* fix: delete thread flow

* update

* fix: update

* fix: types

* fix: chatbot not required

* fix: testing

* fix: rm bun.lock

* fix: clean up

* fix: update

* fix(masterbots.ai): temp freezing next version

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] feat: email verification (#289)

* feat: email verification

* feat: email verification

* feat: email verification

* upt:build

* feat: handle error redirection

* chore:cron task

* upt: cron blocking instead erasing

* feat(hasura): create social following table. (#292)

* feat(db): create social following table.

* create user following and followers relationships.

* fix(db): ensure users can only manage their own follow relationships.

* feat(db): social following and user table permissions improvements.

* feat(db): improving social following table with  timestamp and idx.

* impr(db): permissions and tracked object relationships.

* impr(db): avoid self follow.

* chore(masterbots.ai): guard WordWare for prod routing

* [masterbots.ai] fix: public/private tag bg on dark mode  (#294)

* fix: tag bg

* fix: text color

* fix: browse page error

* fix: debugging

* fix: debugging

* fix: debugging

* fix: added func to generate short link

* fix(hasura): upt user permissions (#296)

* update user permission

* fix: reverse the following table

* fix(hasura): build error (#297)

* fix: error build

* fix: reverse select perm

* [masterbots.ai] feat: thread list display + components comments for ai (#299)

* merged from develop

* feat:add new ui-thread-representation-browse

* feat:add comments for ai - C

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add app theme colors effects

* feat:add comments for ai - b/p

* [masterbots.ai] feat: chatbot search tool v0.1a (#295)

* wip: chatbot search tool

* wip(impr): ww api + chat ui tweaks

* fix: init sidebar load state

* fix: nesting layout

* fix: thread-popup ui header

* wip(impr): chatbot tooling

* impr: loading state + debug chatbot tools

* wip(fix): nodejs context

* fix(temp): rm edge runtime api config

* [masterbots.ai] feat: reorganize navigation menu for mobile view (#298)

* feat: reorganize navigation menu for mobile view

* UI: add sideBar style

* feat: add link profile and logout icon

* Update profile-sidebar.tsx

Tailwind class fix

* [masterbots.ai] feat: UI + Logic Improvements (#301)

* feat:impr responsive

* feat:impr password strenght checker

* feat:impr responsive

* upt-build

* feat:respomsive tweask

* feat:back arrow aria label

* fix:chat mobile layout

* fix:code section

* fix:chat pannel

* fix:chatBot redirection

* feat:restore appConfig header

* [masterbots.ai] fix: restore desktop navigation link - browse section (#303)

* fix:restore desktop navigation link - browse

* fix:formating

* feat:yellow combobox btn (JUN-REQUEST)

* glowing effect variant

* upt:removed /b navigation as original v

* feat:powerup mode + provider

* [masterbots.ai] fix(impr): browse and chat content search (#304)

* feat:browse title and content search

* feat:browse title and content search

* fix:typo

* impr:reusable non result component

* feat:skeletons

* feat:guard

* fix:skeletons

* fix:chat searching

* fix: add accent colour

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>

* [masterbots.ai] impr: seo sitemap (#306)

* chore: sitemap creation

* chore: add description based on category

* chore: update queries in services

* chore: truncate text

* impr: upt (browse)/[category]/[threadId]/sitemap.ts

coderabbitai code suggestion.

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>

* [masterbots.ai] impr: ai tools (#302)

* wip: ai tools

* fix: WW json regexp

* impr: simplifying main ai call

* wip(fix): chat component re-render + cleanup

* impr(refactor): chat hooks

* fix: ts build

* fix: ts build

* fix: ts typo

* fix: typo

* impr: ai feedbacks

* [masterbots.ai] wip(impr): web search (#309)

* impr: web search tool call

* fix: colour values

* fix: typo

* impr: code suggestions

* fix: class name typo

* wip(fix): web search false positive response + webSearch context

* fix: web search callback

* fix: typo

* feat: profile page (#300)

* feat: user card

* fix: update

* merge develop && update

* feat: user generate bio & favourite  topic

* fix: update user card

* feat: added profile sidebar

* fix: update

* update

* update

* update

* fix: fetch approved and public threads

* fix: fetch approved and public threads

* update

* fix: clean up and update

* update

* make fetch user work with bio

* update

* update

* design updating

* update

* update

* fix: few changes

* update

* fix: design update

* fix: footer in layout

* fix: update

* fix:  resercation

* update

* profile upload

* feat: move the cloudinary key to env

* fix: layout

* fix: layout update

* [masterbots.ai] fix: shallow routing for category & chatbots for  chat & profile page  (#313)

* update

* feat: added shallow link to the sidebar link

* update'

* fix: routing and content fetching

* fix:update on  routing

* fix:update

* update

* update

* update

* fix: clean up

* update

* update

* [masterbots.ai] feat: update ChatChatbotDetails (#314)

* feat: new bot profile - chat

* chore: dev comments

* chore: white bg bot avatar

* feat: add skeleton bot profile

* [masterbots.ai] feat: include custom settings options (#317)

* feat:relocation of theme switch(jun)

* feat: create font-size accessibility provider(jun)

* feat: r-sidebar theme switcher relocation + skeleton

* feat: impr add rem instead px

* [masterbots.ai] feat: integrate drizzle ORM (#320)

* feat: create mb-drizzle package initial structure

* feat:(masterbots.ai) add drizzle endpoint + service

* chore: include database url

* chore: upt mb-drizzle

* feat: refactor drizzle config + generations

* chore: impr migrate

* chore: add working drizzle connection + migrations

* feat: add centralized actions

* chore: add ai review recomendations

* chore: webSearch feature flag + use cloudinary upload preset

* fix: responsive sidebar fix

* fix: ts chk build

* fix: sidebar async call

* fix: ts build

* chore: typo

* [masterbots.ai] fix: browse category navigation (#316)

* update

* fix: rm category

* update

* fix: pop up on the user threads

* update

* update clean up

* update

* fix: clean up

* fix:  clean up and update

* fix: update

* fix: popup on navigation

* fix: update

* update

* update

* update

* clean up

* update

* merge

* fix: hasura thread delete + user dup permissions (#330)

* [masterbots.ai] feat: onboarding bot profile variants  (#324)

* add chatbot-details and browse-details variants

* feat: add bio generation

* feat: chat profile bg

* chore: update bot profile designs

* chore: remove internal padding from cardHeader component

* impr: iconography + border thickness

* fix: numberShortener util fn

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: user following  (#319)

* update

* added follow user

* update

* fix: upt hasura metadata databases, public_social_following.yaml

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: upt masterbots.ai lib, utils.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: user card

* update

* fix: permission

* update

* fix: added more column for chatbot followee

* fix:foloow chatbot implementation

* update

* threads by following user/bots

* update

* update

* update

* update

* update

* update

* update

* update

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [masterbots.ai] impr: new sonner (#334)

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* fix: overflow of the width of the sonner

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* chore: use hook sonner

* refactor: changes according to coderabbitai

* refactor: update use of sonner

* chore:remove icons and use lucide icons

* chore: Using Lucide Icons

* chore: bun pkg mngr upt

* Standardize url building using urlbuilders utility (#341)

* fix: update url

* fix: url update

* update

* [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335)

* update

* fix: make OG image use default

* fix: update

* fix: update

* fix: obs

* fix: update

* fix: added og to browse and chat

* update

* update

* update

* fix: provider types error

* fix: updfate UUID

* fix: update UUID

* [masterbots.ai] docs: hook useSonner (#343)

* chore: document hook useSonner

* refactor: document hook useSonner, according coderabbit

* impr: web search response (#310)

* impr: web search response

* refactor: extracting clickable generation logic

* refactor: extracting clickable generation logic

* fix: webSearch clickable text + reference links

* chore: fix build

* feat:(impr) stable version link to references format step 1

* feat:(impr) stable version link to references format step 2

---------

Co-authored-by: Bran18 <andreyfdez18@gmail.com>

* [masterbots.ai] refactor: prelaunch ux/ui changes (#336)

* refactor: replicate tooltip effect in desktop bot chatbot details

* fix: add guard and removed re-render

* fix: refactor mobile bot chatbot details

* refactor: make chatPannel bigger

* chore:add new bot card design + sidebar hover color

* chore: delete public and private sw + icons

* chore: include public + delete extra actions

* chore: add sidebar bg

* add sidebar new styles + lib fn

* feat: add select bot

* chore: cleaning

* fix: build - removing BotMessageSquareIcon

* fix: types/node version + node min ver req

---------

Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* [masterbots.ai] feat: continuous thread ui functionality (#340)

* wip: continuos thread logic and functionality.

* feat: updating parent thread functionality.

* feat: continuous thread UI and finalize functionality.

* fix: lowering resolveThreadId logic complexity.

* Update apps/hasura/migrations/masterbots/1736934906237_set_fk_public_thread_parent_thread/down.sql

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update apps/masterbots.ai/lib/hooks/use-mb-chat.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: ts build

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] fix: refactored components - pre icl v3 (#348)

* chore: add refactored components - pre icl v3

* chore: add navigation color + text-input color

* fix: type

* wip: header active state

* fix: them toggle

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: icl v1a (#344)

* wip: vercel ai sdk upt

* wip: icl web feature

* chore: icl hasura migrations, metadata and seeds

* chore: genql gen

* impr: chat opt separator render

* impr: accordion chevron pos

* impr: chat-list space

* Fix observations from Jun (#353)

* update

* fix: update

* fix: added empty state

* fix: rm favourt and added card empty state

* fix: hide sibe category without threads on user profile

* fix: update

* fix: update

* [masterbots.ai] fix: reduce prompt input validation

* fix: hasura moderator augmentedFrom msg prop

* impr: ai prompt examples flow

* fix: hasura moderator role thread upt permissions

* [masterbots.ai] feat: chatbot following + thread highlight + bot thread page to blog  (#337)

* update

* feat: added chatbot follow function to other component

* update profile thread

* thread highligh

* thread highligh update

* update

* fix: thread blog

* fix: follow chat bot

* update

* fix: observations

* fix provider types issue

* fix provider update

* feat: update blog template

* fix: rm p tag from list items

* fix: merge

* fix: rm parentid and continiue reading

* update

* update

* merge

* fix: generated types

* update

* updatd

* update code

* impr: profile page layout

* fix: mg-genql gen ts

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] fix: init threads render + icl init cleanup (#354)

* wip: fix init threads render + icl cleanup

This fixes the following issues:

1. Reduced the amount of re-renders when sending the new data.
2. Clean up the ICL functions and types.
3. State management for the user-thread-panel.
4. Debug the re-rendering uissue that is replacing the main thread content.
5. Debug opening a new thread with the new ICL system. They show in the list but not returning the messages when opening it up.
6. Few code clean ups.

* impr: thread list re-render in chat page

* fix: initialMessages in useChat

* fix: hasura moderator role thread upt permissions

* impr: thread list re-render

* fix: markdown pkg ts

* fix: markdown pkg ts

* fix: downgrade react-markdown (#358)

* fix: downgrade react-markdown

* fix: downgrade react-markdown

* fix: markdown dep version + layout thread list ui

* impr: gray-ish overlay bg rm

* chore: console log rm

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* refactor: icl seeds v2 (#357)

* chore: upt hasura icl seeds

* chore: chat legacy table rm

* chore(wip): icl seeds curation

* chore: upt icl init seed pt2

* chore: upt icl init seed pt3

* chore: upt icl init seed pt3

* chore: upt icl init seed pt4

* fix: cat + chatbot seeds revision

* chore: tag seeds note upt

* fix: drop and create chatbot_domain table (#360)

* fix: drop and create chatbot_domain table

* fix: chatbot_domain permissions

* fix: SQL typo

* [masterbots.ai] feat: improve common components and features (#356)

* fix: sidebar

* feat: add DeepSeek integration

* chore: wip accordions

* fix: include popup accordion

* chore: add shared accordion to thread list

* fix: extra space

* fix: extra space

* chore: add tabs effect

* chore: add colors based on routes

* chore: add colors based on routes

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix: useRouter import

* [masterbots.ai] fix: sidebar category render (#362)

* fix: sidebar category render

* docs: toggleChatbotSelection

* [hasura] chore: label + label_chatbot_category_domain dropping tables migration (#361)

* fix: fetch chatbotDomain

* [hasura] chore: rm wip example seed part

* chore: rm legacy tables  + fix getChatbotMetadata props (#363)

* chore: rm legacy tables

* fix: getChatbotMetadata

* fix: chatbotMetadata ts

* wip(refactor): icl init tags & categories fetch

* chore: bun.lockb upt

* fix: hotfix build error

* impr: icl metadata requests v1 (#365)

* wip: icl fetch + meta prompt impr

* impr: sidebar paddings

* wip: icl fetch + meta prompt impr

* wip: icl fetch + meta prompt impr

* impr: icl metadata request v2 (#366)

* wip: icl fetch + meta prompt impr

* fix: icl fetch + meta prompt impr

* impr: icl output + prompts

* chore: console.log rm

* chore: console.log icl metadata devMode

* [masterbots.ai] test: sytem prompt as user role

* fix: show sidebar in profile (#364)

* chore: clickable responses update

* [masterbots.ai] refactor: use chat hook context + state management perf (#369)

* chore: system prompt as system role

* refactor: use-mb-chat to context

* fix: mbchat provider location

* impr: profile page scroll & footer position (#367)

* update

* fix: update

* update

* update

* fix: profile page scroll and footer positioning

* fix: profile sidebar

* update

* update

* Revert "update"

This reverts commit c178b1b18092bb3872f6d905b1768e9ab5b3af6b.

* Revert "Revert "update""

This reverts commit a20d8b0cc8da2018cca689ba0b35ba9184cbdc4d.

* Revert "Revert "Revert "update"""

This reverts commit ac8b362a1b7143804000e6ccf5801f0ec95d06d1.

* fix: profile page  footer positioning

* fix: visitor should be  able to scroll through the categories

* fix: profile page side bar

* fix: rm loading when user not logged in

* fix: update

* [masterbots.ai] fix: clickable text feature (#372)

* fix: accordion arrow

* fix: clickable text formating

* wip: fix thread load (#373)

* wip: fix thread-list load

* fix: continuous system prompt context

* fix: render flickr + followup question logic impr

* impr: prompt tags segmentation

* chore: impr following question prompt

* feat: public continue thread (#375)

* refactor: integrating chatPannelHeader into chatPannel

* chore: update browse-chat-message with shared accordion

* chore: continue conversation + full conversations fix

* fix: left align text

* [masterbots.ai] fix: show appropriate bot cards in the user thread list (#368)

* update

* fix: update

* update

* update

* fix: filter category & chatbot by userId on profile page

* fix: hide empty chatbots

* fix: followee permission error as moderator to follow and unfollow (#374)

* update

* fix: update

* update

* update

* fix: permission issue for moderator when following other user

* fix: shift on user card when loading or empty

* update

* [masterbots.ai] fix: isNewChat guard + continuous thread messages + power up prompts (#377)

* fix: thread render at pop-up close

* impr: getRouteType + chat layout

* wip: isNewChat state

* impr: prompt tags segmentation

* fix: chat messages list render + open last according by default on new responses

* impr: thread list render guard

* feat(wip): isPowerUp mode

* impr: memoizing getChatbotMetadata

* fix: grabbing previous messages, continous chat

* chore: add todo comment

* impr: previous thread ui + coderabbitai observations

* fix: previous conversation re-render

* doc: useEffect biome-ignore

* impr: deep obj compare for msg pairs

* fix: ts build

* fix: ts build

* [masterbots.ai] refactor: useScroll hook (#376)

* chore: refactor useScroll

* chore: refactor useScroll

* chore: refactor useScroll

* Delete apps/masterbots.ai/lib/context/thread-context.tsx

* chore: test commit

* fix: import type

* chore: add clearTimeout

* chore: add destructuring

* feat: update use-mb-scroll

* feat: update thread component

---------

Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>

* [masterbots.ai] fix: chat stream render (#380)

* fix: chat stream render

* fix: typo

* chore: chatbot prompts init config + active thread hotfixes (#378)

* wip: chatbot prompts init config

* wip: upt init config seeds, adding prompt configs

* chore: upt init config seeds

* fix: resetActiveThread guard

* impr(wip): masterbot config prompt

* chore: icl data curation, domain + category + sub-category

* chore: init domain seeds curation

* fix: moderator + user role table selection

* impr: web prompt config + fix thread list render + code comments

* fix: coderabbitai observations

* [hasura] chore: upt user insert rows seed

* fix: conflict fix

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com>
Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com>
Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
Co-authored-by: Bran18 <andreyfdez18@gmail.com>
Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>
sheriffjimoh pushed a commit that referenced this pull request Sep 10, 2025
* wip: chatbot prompts init config

* wip: upt init config seeds, adding prompt configs

* chore: upt init config seeds

* fix: resetActiveThread guard

* impr(wip): masterbot config prompt

* chore: icl data curation, domain + category + sub-category

* chore: init domain seeds curation

* fix: moderator + user role table selection

* impr: web prompt config + fix thread list render + code comments

* fix: coderabbitai observations
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
* devops: force deploy

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* impr(masterbots.ai): add return to browse on bot thread page view (#204)

* ✨ Added back button to thread details page

* ⚡️  changed char to svg

* feat: ai gen 404 image for custom 404 error page  (#210)

* ⚡️ added custom  error page

* ⚡️  clean up

* fix(masterbots.ai): terms page visibility and access

* feat(masterbots.ai): consistent og image style design and dynamic metadata  (#215)

* feat: added og api endpoint

* feat: design og image for dark mode

* fix: file formated

* fix: amend  og image to pick current theme color and adapt

* feat: added custom metadata to thread page

* feat: added custom metadata to bot page

* fix: clean up

* fix: move bg to a component

* fix: move og-image design  to a component

* fix: use variable for URL

* fix: to slug func

* ⚡️ Move and clean up UrlToSlug

* fix(masterbots.ai): zod dependecy

* fix: type error

* fix: type error for metadata

* fix: clean and build fix

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix(masterbots.ai): OG not redering   (#224)

* fix: og to render first letter of username if there's no avatar

* fix: clean up

* fix: clean up

* fix(masterbots.ai): share function (#225)

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

* [coderabbitai] style: upt thread-user-actions condition

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(hasura): update user db schema for pro users (#227)

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

* feat(hasura): add Ai Model Tracker To Threads (#229)

* feat: create 'models' table AI models

* fix: add 'model' column to 'thread' table with foreign key constraint

* feat: add model_value into models

* [masterbots.ai] feat: multi AI models integration (#228)

* [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoader

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders

* [masterbots.ai]feat:(multimodels-integration)add new chat components

* [masterbots.ai]chore:next version

* [masterbots.ai]feat:(multimodels-integration)update use context

* [masterbots.ai]feat:(multimodels-integration)icons update

* [masterbots.ai]chore:command ui

* [masterbots.ai]refactor:moving chat componets to folder

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* [masterbots.ai] fix: multi AI models guard (#235)

* fix-guards + dom warning

* fix-rename env var - vercel name

* chore(masterbots.ai): update payment terms & conditions (#233)

* fix: update terms

* fix:  building error

* fix: update terms content

* fix: rm the older part at the bottom

* feat(masterbots.ai): pro subscription payment + wizard (#226)

* feat: added free card

* feat: added animation to the plan card

* feat: added more plan card and referral code link

* fix: clean up

* wip: wizard

* feat: wizard & modal

* feat: plan Design theme and modal Header and Footer

* feat: plan clean up

* update

* clean up

* fix: rm plan comp on browse page

* fix: wizard clean up

* feat: succes & error modal

* feat: loading comp

* feat: added checkout comp

* feat: set up stripe and context

* wip: implementing subscription

* feat: implementing subscription

* feat: payment reciept

* fix: clean up receipt

* fix: modal not showing & shallow routing

* fix: small fix

* fix: receipt comp

* fix: clean up

* fix: shallow rerouting

* feat: check if user has an active subscription

* fix: coderabbit ob

* fix: coderabbit ob

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: clean up

* fix: clean up

* fix: page restructuring and status on the receipt

* fix: revamp receipt and structure

* fix: rm unused file

* fix: clean up

* fix: update & clean up

* fix: update

* fix: rm the svg

* fix: revamp formatSystemPrompts

* fix: revamp msg to formatSystemPrompts

* fix:  update

* fix:  refactor the receipt page

* fix: rm public key

* fix: update

* fix: update

* fix: update

* fix: code refactor for error and loading rendering

* ref: calling  secret keys from server

* ref: receipt page and small fix

* fix: rm file

* fix(impr): subs & flow ux + cleanup

* fix(masterbots.ai): OG not redering   (#224)

* fix: og to render first letter of username if there's no avatar

* fix: clean up

* fix: clean up

* fix(masterbots.ai): share function (#225)

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

* [coderabbitai] style: upt thread-user-actions condition

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat(hasura): update user db schema for pro users (#227)

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

* feat(hasura): add Ai Model Tracker To Threads (#229)

* feat: create 'models' table AI models

* fix: add 'model' column to 'thread' table with foreign key constraint

* feat: add model_value into models

* [masterbots.ai] feat: multi AI models integration (#228)

* [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoader

* [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders

* [masterbots.ai]feat:(multimodels-integration)add new chat components

* [masterbots.ai]chore:next version

* [masterbots.ai]feat:(multimodels-integration)update use context

* [masterbots.ai]feat:(multimodels-integration)icons update

* [masterbots.ai]chore:command ui

* [masterbots.ai]refactor:moving chat componets to folder

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* feat: set up stripe and context

* wip: implementing subscription

* fix: rm the svg

* fix: replace secret with variable

* fix: chat restructure

* fix(update): chat restructure

* fix(deployment error): can't find an  icon or not exported

* fix: deployment issues

* fix: deployment issues

* fix: deployment issues

* fix: adjust design

* fix: clean up

* fix: clean up

* fix: color var updaye

* [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: success close button

* fix: bg image for yearly card

* fix: move func to util

* ref: receipt page function to use reac-use

* fix: move depencies to the app

* fix: clean up

* ref: wizard to use radix dialog components

* update

* fix: coderabitai update

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* [masterbots.ai] fix: llama3 models  (#236)

* fix-guards + dom warning

* fix-rename env var - vercel name

* fix-changed PERPLEXITY-LLama model

* [masterbots.ai] impr(fix): ui tweaks (#237)

* fix(UI):varius UI fixes

* fix(UI):varius UI fixes

* fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left

* fix(UI):update

* fix(masterbots.ai): payment feedbacks (#240)

* fix: make the dialog content responsive

* fix: free plan card adjusted

* fix: update

* fix: update receipt styles

* fix: build error

* fix: build error

* fix: build error update

* fix: update

* fix: observation

* fix(masterbots.ai): update env variable (#244)

* feat: sitemap (#238)

* feat: add redirection rules

* fix: update all links with new shorten urls

* fix: update all links with new shorten urls

* feat: make folder structure according to sitemap

* [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: build error

* [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: add sitemap and metagraph

* fix: use original generateMetadata

* fix: update page links

* fix: show only filtered threads on page reload

* fix: build error

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(masterbots.ai): show first question & answer in thread list (#246)

* feat: add 'disabled' state to ChatAccordion

* fix: show default question's answer in thread list

* fix: use braces and create explicit statement blocks

* fix: subscription mobile responsive tweaks (#245)

* update

* fix: update

* fix: responsiveness

* fix: update

* fix: few clean up

* fix: rm unused image

* fix: rm unused image

* fix(impr): models enum table migrations (#247)

* impr(hasura): db tables

* impr(hasura): db tables

* fix(hasura): user permissions

* impr(hasura): sql models enum migration

* fix(hasura): models_enum pk

* fix(hasura): ci/cd default regional log bucket

* docs: bun to requirements (#250)

Co-authored-by: b <b>

* feat: next auth, email/pw strategy (#249)

* (masterbots.ia)-chore-auth-dependencies

* (masterbots.ia)-feat-webauth-nextauth

* wip(masterbots.ai): email/pw login + signup

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

* wip(webapp): email/pw login+signup

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com>

* docs: mb sytem diagram v1.0a

* feat(impr): next auth environment helper function (#251)

* (masterbots.ia)-chore-auth-dependencies

* (masterbots.ia)-feat-webauth-nextauth

* wip(masterbots.ai): email/pw login + signup

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

* wip(webapp): email/pw login+signup

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

* feat:protecting env

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>
Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com>

* impr(masterbots.ai): sign up form + sign in session data

* docs: claude3 project knowledge docs

* fix(masterbots.ai): devMode conditional

* chore(masterbots.ai): rm console.log

* chore: upt default hardcoded gpt model

* fix: toSlug imports

* fix: typo

* fix(hasura): seeds

* chore(impr): MB seeds update and upgrade (#253)

* wip: upt seeds

* chore: rm alter and table creations

* chore(impr): MB seeds update and upgrade

* fix: set thread to private by default

* fix: prompt row typo

* chore(hasura): seeds update default thread publicity

* fix(masterbots.ai): adjust arrow direction in thread list (#255)

* feat(impr): Vercel AI SDK Update (#256)

* chore:ai version upt

* chore:ai version upt

* upt-ai delete

* upt-ai versions

* upt-sdk-actions

* upt-complete-sdk-3.3 + dev notes

* upt-@anthropic-ai/sdk + MessageParam

* Delete apps/masterbots.ai/apps/masterbots.ai/package.json

* Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json

* impr-convertToCoreMessages ternary

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* fix(masterbots): google signIn (#260)

* fix(masterbots.ai): fix thread-component loop (#261)

* fix:(masterbots.ai) add useScroll hook (#263)

* fix:introducing Two-phase scroll

* impr: new hook to handle scrolling

* impr: useScroll + respo

* feat(masterbots.ai): chat sidebar filtering (#264)

* sidebar refactor with ai

* fix: sidebar AI V - Prev Jun (#262)

* fix:semistable

* fix:stable v

* impr:delete nonused component

* fix: upt category filtering

* fix typo

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: sidebar state

* fix(masterbots.ai): logic typo

* fix(masterbots.ai): ts typo

---------

Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* fix(masterbots.ai): bot button redirect change (#265)

* wip(masterbots.ai): seo data impr (#267)

* wip: seo data impr

* impr(chore): ga tags

* feat: add chat publicity trigger (#258)

* update

* feat: design thread visibilty

* fix: added the backend

* fix: added the backend

* fix: rm files

* fix: few clean up

* fix(masterbots): google signIn (#260)

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* fix: update

* fix: add permission

* fix: update query

* fix(masterbots.ai): fix thread-component loop (#261)

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

* chore: create thread-component to avoid to become thread list into a client component

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

* impr(masterbots): components folder structur (#259)

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* update

* fix: update

* fix: publicity toggle

* fix: error catch in the functions

* fix: observations

* fix: design impr

* fix: thread pop-up height

* chore(masterbots.ai): log rm & app version upt

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat(masterbots.ai): user messages ai refactor (#266)

* feat:userMessages refactor + hooks and utils

* upt:rm console.log

* fix:rollback useAiChat hook

* fix:rollback - actions

* fix(masterbots.ai): sidebar trigger

* chore(hasura: s

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* wip: browse sidebar

* impr(masterbots.ai): browse sidebar (#270)

* fix: browse layout

* feat(masterbots.ai): browse sidebar

* fix: browse sidebar link condition

* chore: upt signup default profile pic

* chore: seeds upt (#269)

* wip: seeds upt

* chore(hasura): seeds review

* feat(hasura): add "is_approved" thread field + seeds

* chore: mb-genql upt

* fix(hasura): thread param permission

* fix(masterbots.ai): typo

* fix(masterbots.ai): allow svg content-type

* fix: chat + browse layout

* style: clean up

* Seo data (#273)

* fix: build error

* feat: Add SEO data to the chat page

* feat: add default image, if not found

* feat: Add SEO data to the browse page

* fix: generates the image with error, in api/og

* Update route.tsx

fix: generates the image with error, in api/og

* impr(masterbots.ai): title impr prompt

* impr(masterbots.ai): improve current features v2 (#274)

* add-impr-chat-prompt-footer-header-disclaimer

* add-impr-chat-prompt-footer-header-disclaimer

* add-UI-upt

* add-UI-upt

* add-action-prompt

* add-clickable-upt

* add-clickable-upt

* Masterbots/fix redirects (#275)

* fix:avatar-redirects

* fix:avatar-redirect

* fix(masterbots.ai): upt components/ui/button.tsx

Coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix:URL correction

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [masterbots.ai] feat: wordware api (#276)

* feat: add wordware api + vercel sdk strategy

* feat: add wordware api + vercel sdk

* wordware describe feat

* wordware run + interface

* impr(masterbots.ai): upt /api/wordware/describe/route.ts

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* impr(masterbots.ai): upt /api/wordware/describe/route.ts

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(masterbots.ai): typo /api/wordware/describe/route.ts

coderabbitai code suggestion.

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>

* doc: mb system diagram upt

* wip: icl calls integrations

* impr(masterbots.ai): permission for thread & user action mode (#281)

* update

* feat: added permissions & new column

* fix: rm unnessecary files

* fix: rm permission check

* feat(masterbots.ai): create password recovery (#282)

* feat:add-recovery-strategy

* chore:add nodeemailer

* upt:hasura

* upt:hasura

* upt:gmail service

* feat(hasura): otp, token table + junction w/user + mb-genql gen

* feat:add recovery password API

* fix:ai suggestion + UX

* feat:improve ux show password feat

* chore:env sample

* chore:useSetState

* chore:roles

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] impr: WW API sanitize and keep alive (#284)

* keep-alive + API sanitize + timeOut guard

* impr streamAndValidateResponse fn

* wip(masterbots.ai): impr createImprovementPrompt

* style(masterbots.ai): chat loading states comments

* feat(masterbots.ai): add admin mode to approve thread (#283)

* feat:added mode toggle and approve btn

* feat: added migration for user role

* feat: user role flow implet

* fix: impr admin approve process

* fix: clean up

* fix: toggle CTA changed

* fix: update

* fix: update

* fix: observ

* fix: obs clean up

* fix: update

* fix: clean up

* impr(masterbots.ai): alpha metadata chatbot labels (#288)

* wip: metadata chatbot labels

* wip(masterbots.ai): chatbot metadata labels

* impr(masterbots.ai): gen chatMetadata

* impr: simplifying prompt defitions + biome.json base config

* impr(masterbots.ai): recursive improved text prompt

* style: code comments + eslint chk

* impr: biome.json config

* fix(masterbots.ai): conflicts typo fix

* style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup

* doc: map system (simplified)

* fix(masterbots.ai): sideBar updating URL (#286)

* fix:sideBar updating URL

* feat: coderabbit-ai suggestions

* fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL

* feat: optimize sidebar navigation with Link

* feat: thread options (#287)

* feat: added verified and label to the options

* usethreadvisibility as context

* feat: added option design  and functions

* fix: clean up

* fix: update

* fix: update

* fix: obsv

* fix: merge and update

* fix: update the delete popup

* fix: observ

* fix: update

* fix: delete thread flow

* update

* fix: update

* fix: types

* fix: chatbot not required

* fix: testing

* fix: rm bun.lock

* fix: clean up

* fix: update

* fix(masterbots.ai): temp freezing next version

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] feat: email verification (#289)

* feat: email verification

* feat: email verification

* feat: email verification

* upt:build

* feat: handle error redirection

* chore:cron task

* upt: cron blocking instead erasing

* feat(hasura): create social following table. (#292)

* feat(db): create social following table.

* create user following and followers relationships.

* fix(db): ensure users can only manage their own follow relationships.

* feat(db): social following and user table permissions improvements.

* feat(db): improving social following table with  timestamp and idx.

* impr(db): permissions and tracked object relationships.

* impr(db): avoid self follow.

* chore(masterbots.ai): guard WordWare for prod routing

* [masterbots.ai] fix: public/private tag bg on dark mode  (#294)

* fix: tag bg

* fix: text color

* fix: browse page error

* fix: debugging

* fix: debugging

* fix: debugging

* fix: added func to generate short link

* fix(hasura): upt user permissions (#296)

* update user permission

* fix: reverse the following table

* fix(hasura): build error (#297)

* fix: error build

* fix: reverse select perm

* [masterbots.ai] feat: thread list display + components comments for ai (#299)

* merged from develop

* feat:add new ui-thread-representation-browse

* feat:add comments for ai - C

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add app theme colors effects

* feat:add comments for ai - b/p

* [masterbots.ai] feat: chatbot search tool v0.1a (#295)

* wip: chatbot search tool

* wip(impr): ww api + chat ui tweaks

* fix: init sidebar load state

* fix: nesting layout

* fix: thread-popup ui header

* wip(impr): chatbot tooling

* impr: loading state + debug chatbot tools

* wip(fix): nodejs context

* fix(temp): rm edge runtime api config

* [masterbots.ai] feat: reorganize navigation menu for mobile view (#298)

* feat: reorganize navigation menu for mobile view

* UI: add sideBar style

* feat: add link profile and logout icon

* Update profile-sidebar.tsx

Tailwind class fix

* [masterbots.ai] feat: UI + Logic Improvements (#301)

* feat:impr responsive

* feat:impr password strenght checker

* feat:impr responsive

* upt-build

* feat:respomsive tweask

* feat:back arrow aria label

* fix:chat mobile layout

* fix:code section

* fix:chat pannel

* fix:chatBot redirection

* feat:restore appConfig header

* [masterbots.ai] fix: restore desktop navigation link - browse section (#303)

* fix:restore desktop navigation link - browse

* fix:formating

* feat:yellow combobox btn (JUN-REQUEST)

* glowing effect variant

* upt:removed /b navigation as original v

* feat:powerup mode + provider

* [masterbots.ai] fix(impr): browse and chat content search (#304)

* feat:browse title and content search

* feat:browse title and content search

* fix:typo

* impr:reusable non result component

* feat:skeletons

* feat:guard

* fix:skeletons

* fix:chat searching

* fix: add accent colour

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>

* [masterbots.ai] impr: seo sitemap (#306)

* chore: sitemap creation

* chore: add description based on category

* chore: update queries in services

* chore: truncate text

* impr: upt (browse)/[category]/[threadId]/sitemap.ts

coderabbitai code suggestion.

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>

* [masterbots.ai] impr: ai tools (#302)

* wip: ai tools

* fix: WW json regexp

* impr: simplifying main ai call

* wip(fix): chat component re-render + cleanup

* impr(refactor): chat hooks

* fix: ts build

* fix: ts build

* fix: ts typo

* fix: typo

* impr: ai feedbacks

* [masterbots.ai] wip(impr): web search (#309)

* impr: web search tool call

* fix: colour values

* fix: typo

* impr: code suggestions

* fix: class name typo

* wip(fix): web search false positive response + webSearch context

* fix: web search callback

* fix: typo

* feat: profile page (#300)

* feat: user card

* fix: update

* merge develop && update

* feat: user generate bio & favourite  topic

* fix: update user card

* feat: added profile sidebar

* fix: update

* update

* update

* update

* fix: fetch approved and public threads

* fix: fetch approved and public threads

* update

* fix: clean up and update

* update

* make fetch user work with bio

* update

* update

* design updating

* update

* update

* fix: few changes

* update

* fix: design update

* fix: footer in layout

* fix: update

* fix:  resercation

* update

* profile upload

* feat: move the cloudinary key to env

* fix: layout

* fix: layout update

* [masterbots.ai] fix: shallow routing for category & chatbots for  chat & profile page  (#313)

* update

* feat: added shallow link to the sidebar link

* update'

* fix: routing and content fetching

* fix:update on  routing

* fix:update

* update

* update

* update

* fix: clean up

* update

* update

* [masterbots.ai] feat: update ChatChatbotDetails (#314)

* feat: new bot profile - chat

* chore: dev comments

* chore: white bg bot avatar

* feat: add skeleton bot profile

* [masterbots.ai] feat: include custom settings options (#317)

* feat:relocation of theme switch(jun)

* feat: create font-size accessibility provider(jun)

* feat: r-sidebar theme switcher relocation + skeleton

* feat: impr add rem instead px

* [masterbots.ai] feat: integrate drizzle ORM (#320)

* feat: create mb-drizzle package initial structure

* feat:(masterbots.ai) add drizzle endpoint + service

* chore: include database url

* chore: upt mb-drizzle

* feat: refactor drizzle config + generations

* chore: impr migrate

* chore: add working drizzle connection + migrations

* feat: add centralized actions

* chore: add ai review recomendations

* chore: webSearch feature flag + use cloudinary upload preset

* fix: responsive sidebar fix

* fix: ts chk build

* fix: sidebar async call

* fix: ts build

* chore: typo

* [masterbots.ai] fix: browse category navigation (#316)

* update

* fix: rm category

* update

* fix: pop up on the user threads

* update

* update clean up

* update

* fix: clean up

* fix:  clean up and update

* fix: update

* fix: popup on navigation

* fix: update

* update

* update

* update

* clean up

* update

* merge

* fix: hasura thread delete + user dup permissions (#330)

* [masterbots.ai] feat: onboarding bot profile variants  (#324)

* add chatbot-details and browse-details variants

* feat: add bio generation

* feat: chat profile bg

* chore: update bot profile designs

* chore: remove internal padding from cardHeader component

* impr: iconography + border thickness

* fix: numberShortener util fn

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: user following  (#319)

* update

* added follow user

* update

* fix: upt hasura metadata databases, public_social_following.yaml

coderabbitai code suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: upt masterbots.ai lib, utils.ts

coderabbitai suggestion.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: user card

* update

* fix: permission

* update

* fix: added more column for chatbot followee

* fix:foloow chatbot implementation

* update

* threads by following user/bots

* update

* update

* update

* update

* update

* update

* update

* update

---------

Co-authored-by: Roberto Lucas <andler@bitcash.org>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* [masterbots.ai] impr: new sonner (#334)

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* fix: overflow of the width of the sonner

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* chore: use hook sonner

* refactor: changes according to coderabbitai

* refactor: update use of sonner

* chore:remove icons and use lucide icons

* chore: Using Lucide Icons

* chore: bun pkg mngr upt

* Standardize url building using urlbuilders utility (#341)

* fix: update url

* fix: url update

* update

* [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335)

* update

* fix: make OG image use default

* fix: update

* fix: update

* fix: obs

* fix: update

* fix: added og to browse and chat

* update

* update

* update

* fix: provider types error

* fix: updfate UUID

* fix: update UUID

* [masterbots.ai] docs: hook useSonner (#343)

* chore: document hook useSonner

* refactor: document hook useSonner, according coderabbit

* impr: web search response (#310)

* impr: web search response

* refactor: extracting clickable generation logic

* refactor: extracting clickable generation logic

* fix: webSearch clickable text + reference links

* chore: fix build

* feat:(impr) stable version link to references format step 1

* feat:(impr) stable version link to references format step 2

---------

Co-authored-by: Bran18 <andreyfdez18@gmail.com>

* [masterbots.ai] refactor: prelaunch ux/ui changes (#336)

* refactor: replicate tooltip effect in desktop bot chatbot details

* fix: add guard and removed re-render

* fix: refactor mobile bot chatbot details

* refactor: make chatPannel bigger

* chore:add new bot card design + sidebar hover color

* chore: delete public and private sw + icons

* chore: include public + delete extra actions

* chore: add sidebar bg

* add sidebar new styles + lib fn

* feat: add select bot

* chore: cleaning

* fix: build - removing BotMessageSquareIcon

* fix: types/node version + node min ver req

---------

Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>

* [masterbots.ai] feat: continuous thread ui functionality (#340)

* wip: continuos thread logic and functionality.

* feat: updating parent thread functionality.

* feat: continuous thread UI and finalize functionality.

* fix: lowering resolveThreadId logic complexity.

* Update apps/hasura/migrations/masterbots/1736934906237_set_fk_public_thread_parent_thread/down.sql

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update apps/masterbots.ai/lib/hooks/use-mb-chat.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: ts build

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] fix: refactored components - pre icl v3 (#348)

* chore: add refactored components - pre icl v3

* chore: add navigation color + text-input color

* fix: type

* wip: header active state

* fix: them toggle

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* feat: icl v1a (#344)

* wip: vercel ai sdk upt

* wip: icl web feature

* chore: icl hasura migrations, metadata and seeds

* chore: genql gen

* impr: chat opt separator render

* impr: accordion chevron pos

* impr: chat-list space

* Fix observations from Jun (#353)

* update

* fix: update

* fix: added empty state

* fix: rm favourt and added card empty state

* fix: hide sibe category without threads on user profile

* fix: update

* fix: update

* [masterbots.ai] fix: reduce prompt input validation

* fix: hasura moderator augmentedFrom msg prop

* impr: ai prompt examples flow

* fix: hasura moderator role thread upt permissions

* [masterbots.ai] feat: chatbot following + thread highlight + bot thread page to blog  (#337)

* update

* feat: added chatbot follow function to other component

* update profile thread

* thread highligh

* thread highligh update

* update

* fix: thread blog

* fix: follow chat bot

* update

* fix: observations

* fix provider types issue

* fix provider update

* feat: update blog template

* fix: rm p tag from list items

* fix: merge

* fix: rm parentid and continiue reading

* update

* update

* merge

* fix: generated types

* update

* updatd

* update code

* impr: profile page layout

* fix: mg-genql gen ts

---------

Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com>
Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* [masterbots.ai] fix: init threads render + icl init cleanup (#354)

* wip: fix init threads render + icl cleanup

This fixes the following issues:

1. Reduced the amount of re-renders when sending the new data.
2. Clean up the ICL functions and types.
3. State management for the user-thread-panel.
4. Debug the re-rendering uissue that is replacing the main thread content.
5. Debug opening a new thread with the new ICL system. They show in the list but not returning the messages when opening it up.
6. Few code clean ups.

* impr: thread list re-render in chat page

* fix: initialMessages in useChat

* fix: hasura moderator role thread upt permissions

* impr: thread list re-render

* fix: markdown pkg ts

* fix: markdown pkg ts

* fix: downgrade react-markdown (#358)

* fix: downgrade react-markdown

* fix: downgrade react-markdown

* fix: markdown dep version + layout thread list ui

* impr: gray-ish overlay bg rm

* chore: console log rm

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* refactor: icl seeds v2 (#357)

* chore: upt hasura icl seeds

* chore: chat legacy table rm

* chore(wip): icl seeds curation

* chore: upt icl init seed pt2

* chore: upt icl init seed pt3

* chore: upt icl init seed pt3

* chore: upt icl init seed pt4

* fix: cat + chatbot seeds revision

* chore: tag seeds note upt

* fix: drop and create chatbot_domain table (#360)

* fix: drop and create chatbot_domain table

* fix: chatbot_domain permissions

* fix: SQL typo

* [masterbots.ai] feat: improve common components and features (#356)

* fix: sidebar

* feat: add DeepSeek integration

* chore: wip accordions

* fix: include popup accordion

* chore: add shared accordion to thread list

* fix: extra space

* fix: extra space

* chore: add tabs effect

* chore: add colors based on routes

* chore: add colors based on routes

---------

Co-authored-by: Roberto Lucas <andler.dev@gmail.com>

* fix: useRouter import

* [masterbots.ai] fix: sidebar category render (#362)

* fix: sidebar category render

* docs: toggleChatbotSelection

* [hasura] chore: label + label_chatbot_category_domain dropping tables migration (#361)

* fix: fetch chatbotDomain

* [hasura] chore: rm wip example seed part

* chore: rm legacy tables  + fix getChatbotMetadata props (#363)

* chore: rm legacy tables

* fix: getChatbotMetadata

* fix: chatbotMetadata ts

* wip(refactor): icl init tags & categories fetch

* chore: bun.lockb upt

* fix: hotfix build error

* impr: icl metadata requests v1 (#365)

* wip: icl fetch + meta prompt impr

* impr: sidebar paddings

* wip: icl fetch + meta prompt impr

* wip: icl fetch + meta prompt impr

* impr: icl metadata request v2 (#366)

* wip: icl fetch + meta prompt impr

* fix: icl fetch + meta prompt impr

* impr: icl output + prompts

* chore: console.log rm

* chore: console.log icl metadata devMode

* [masterbots.ai] test: sytem prompt as user role

* fix: show sidebar in profile (#364)

* chore: clickable responses update

* [masterbots.ai] refactor: use chat hook context + state management perf (#369)

* chore: system prompt as system role

* refactor: use-mb-chat to context

* fix: mbchat provider location

* impr: profile page scroll & footer position (#367)

* update

* fix: update

* update

* update

* fix: profile page scroll and footer positioning

* fix: profile sidebar

* update

* update

* Revert "update"

This reverts commit ef7ee8c.

* Revert "Revert "update""

This reverts commit 553f82f.

* Revert "Revert "Revert "update"""

This reverts commit c645eca.

* fix: profile page  footer positioning

* fix: visitor should be  able to scroll through the categories

* fix: profile page side bar

* fix: rm loading when user not logged in

* fix: update

* [masterbots.ai] fix: clickable text feature (#372)

* fix: accordion arrow

* fix: clickable text formating

* wip: fix thread load (#373)

* wip: fix thread-list load

* fix: continuous system prompt context

* fix: render flickr + followup question logic impr

* impr: prompt tags segmentation

* chore: impr following question prompt

* feat: public continue thread (#375)

* refactor: integrating chatPannelHeader into chatPannel

* chore: update browse-chat-message with shared accordion

* chore: continue conversation + full conversations fix

* fix: left align text

* [masterbots.ai] fix: show appropriate bot cards in the user thread list (#368)

* update

* fix: update

* update

* update

* fix: filter category & chatbot by userId on profile page

* fix: hide empty chatbots

* fix: followee permission error as moderator to follow and unfollow (#374)

* update

* fix: update

* update

* update

* fix: permission issue for moderator when following other user

* fix: shift on user card when loading or empty

* update

* [masterbots.ai] fix: isNewChat guard + continuous thread messages + power up prompts (#377)

* fix: thread render at pop-up close

* impr: getRouteType + chat layout

* wip: isNewChat state

* impr: prompt tags segmentation

* fix: chat messages list render + open last according by default on new responses

* impr: thread list render guard

* feat(wip): isPowerUp mode

* impr: memoizing getChatbotMetadata

* fix: grabbing previous messages, continous chat

* chore: add todo comment

* impr: previous thread ui + coderabbitai observations

* fix: previous conversation re-render

* doc: useEffect biome-ignore

* impr: deep obj compare for msg pairs

* fix: ts build

* fix: ts build

* [masterbots.ai] refactor: useScroll hook (#376)

* chore: refactor useScroll

* chore: refactor useScroll

* chore: refactor useScroll

* Delete apps/masterbots.ai/lib/context/thread-context.tsx

* chore: test commit

* fix: import type

* chore: add clearTimeout

* chore: add destructuring

* feat: update use-mb-scroll

* feat: update thread component

---------

Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>

* [masterbots.ai] fix: chat stream render (#380)

* fix: chat stream render

* fix: typo

* chore: chatbot prompts init config + active thread hotfixes (#378)

* wip: chatbot prompts init config

* wip: upt init config seeds, adding prompt configs

* chore: upt init config seeds

* fix: resetActiveThread guard

* impr(wip): masterbot config prompt

* chore: icl data curation, domain + category + sub-category

* chore: init domain seeds curation

* fix: moderator + user role table selection

* impr: web prompt config + fix thread list render + code comments

* fix: coderabbitai observations

* [hasura] chore: upt user insert rows seed

* fix: conflict fix

---------

Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: Nathanael Liu <supernathanliu@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com>
Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com>
Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com>
Co-authored-by: Jun Dam <jun@bitcash.org>
Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com>
Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
Co-authored-by: Bran18 <andreyfdez18@gmail.com>
Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant