Skip to content

Feat Pro Users Whitelist#481

Merged
AndlerRL merged 4 commits intodevelopfrom
feat-pro-users-whitelist
May 3, 2025
Merged

Feat Pro Users Whitelist#481
AndlerRL merged 4 commits intodevelopfrom
feat-pro-users-whitelist

Conversation

@AndlerRL
Copy link
Member

@AndlerRL AndlerRL commented May 2, 2025

Summary by Sourcery

Implement a whitelist feature for pro users, restricting access to pro models based on a predefined list of email addresses

New Features:

  • Added whitelist functionality for pro user model access

Enhancements:

  • Modified user access logic to check against a whitelist of pro user emails

Chores:

  • Updated configuration to support pro user whitelist
  • Adjusted page sizes in constants

Summary by CodeRabbit

  • New Features
    • Introduced user email whitelisting for access to pro models.
  • Improvements
    • Enhanced prompt instructions to include both questions and statements.
    • Adjusted display logic for thread panels to better separate visual elements and no-results messaging.
  • Bug Fixes
    • None.
  • Configuration
    • Added a new configuration option for specifying pro model access whitelist via environment variables.
  • Performance & Usability
    • Reduced default pagination sizes for improved loading performance.
  • Data Retrieval
    • User email is now included when fetching user details.

@AndlerRL AndlerRL requested a review from Copilot May 2, 2025 22:43
@AndlerRL AndlerRL self-assigned this May 2, 2025
@vercel
Copy link

vercel bot commented May 2, 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 May 3, 2025 0:10am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented May 2, 2025

Walkthrough

This update introduces a user email whitelist for gating access to pro models in the chat combobox, using a new configuration property populated from an environment variable. The logic for displaying certain UI elements in the user thread panel is refined, separating the rendering of a horizontal rule and a no-results message. Page size constants are reduced, and the prompt for improving user questions now explicitly includes statements. The user retrieval service now fetches the user's email, and the environment configuration is extended to support the new whitelist feature.

Changes

File(s) Change Summary
apps/masterbots.ai/components/routes/chat/chat-combobox.tsx Added a whitelist check for user emails to control pro model access, using a new config property.
apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx Separated the rendering logic for <hr> and NoResults components for clearer UI behavior.
apps/masterbots.ai/lib/constants/hasura.ts Reduced PAGE_SIZE from 20 to 10 and PAGE_SM_SIZE from 10 to 5.
apps/masterbots.ai/lib/constants/prompts.ts Updated prompt text to include "(and/or statements)" alongside "questions" for broader applicability.
apps/masterbots.ai/services/hasura/hasura.service.ts Modified user query to also retrieve the email field.
packages/mb-env/src/config.env.ts Added proWhitelistUsers property to the config, parsing it from an environment variable.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant ChatCombobox
    participant Config
    participant HasuraService

    User->>ChatCombobox: Attempt to access pro model
    ChatCombobox->>Config: Retrieve proWhitelistUsers
    ChatCombobox->>HasuraService: Get current user (including email)
    HasuraService-->>ChatCombobox: Return user data with email
    ChatCombobox->>ChatCombobox: Check if user email in whitelist
    alt Email in whitelist and pro subscription
        ChatCombobox-->>User: Grant pro model access
    else Not in whitelist or no subscription
        ChatCombobox-->>User: Deny pro model access
    end
Loading

Possibly related PRs

  • bitcashorg/masterbots#445: Also modifies feature gating logic in chat-combobox.tsx, focusing on model list display flags.
  • bitcashorg/masterbots#476: Alters gating logic in chat-combobox.tsx by removing a dev mode guard, related to model selection access.

Suggested labels

feature, backend

Suggested reviewers

  • Bran18

Poem

A whitelist now opens the pro model gate,
With emails checked, access is up-to-date.
Prompts now welcome statements too,
Page sizes shrink for a tighter view.
The user’s email fetched with care,
Configuration magic fills the air.
🐇✨ Code hops forward, fair and square!


📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 04b643c and 79188b9.

📒 Files selected for processing (1)
  • packages/mb-env/src/config.env.ts (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/mb-env/src/config.env.ts

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

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • 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.

Support

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

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

CodeRabbit Commands (Invoked using PR comments)

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

Other keywords and placeholders

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

CodeRabbit Configuration File (.coderabbit.yaml)

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

Documentation and Community

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

@sourcery-ai
Copy link

sourcery-ai bot commented May 2, 2025

Reviewer's Guide

This pull request introduces a whitelist feature for Pro users, restricting access to Pro models based on both subscription status and inclusion in a new email whitelist defined via an environment variable. It also adjusts pagination constants, updates prompt wording, and refactors UI logic in the user thread panel.

Sequence diagram for Pro model access check

sequenceDiagram
    actor User
    participant ChatCombobox
    participant UserDataService
    participant AppConfig

    User->>ChatCombobox: Interact with model selector
    ChatCombobox->>UserDataService: Get user data (incl. email, pro status)
    UserDataService-->>ChatCombobox: Return user data
    ChatCombobox->>AppConfig: Get Pro Whitelist
    AppConfig-->>ChatCombobox: Return proWhitelistUsers list
    ChatCombobox->>ChatCombobox: Check if user has Pro sub AND is in whitelist
    alt User is Pro AND Whitelisted
        ChatCombobox-->>User: Enable Pro models
    else User is not Pro OR not Whitelisted
        ChatCombobox-->>User: Disable Pro models
    end
Loading

Class diagram for Configuration and User Data Changes

classDiagram
    class AppConfig {
        +features: Features
    }
    class Features {
        +devMode: boolean
        +enableVerificationEmail: boolean
        +profileNBotPageHasPopup: boolean
        +proWhitelistUsers: string[]
    }
    class User {
        +userId: string
        +username: string
        +profilePicture: string
        +email: string
        +slug: string
        +bio: string
        +favouriteTopic: string
        +proUserSubscriptionId: string
        # ... other fields
    }
    class ChatCombobox {
        # ... existing properties/methods
    }
    note for ChatCombobox "Logic updated to disable Pro models if user is not Pro OR not in proWhitelistUsers"
Loading

File-Level Changes

Change Details Files
Implement Pro User Whitelist functionality.
  • Added a proWhitelistUsers feature flag derived from the NEXT_PUBLIC_PRO_WHITELIST_USERS environment variable.
  • Updated the chat combobox component to disable Pro models unless the user is subscribed AND their email is in the whitelist.
  • Modified the getUserBySlug service to fetch the user's email.
packages/mb-env/src/config.env.ts
apps/masterbots.ai/components/routes/chat/chat-combobox.tsx
apps/masterbots.ai/services/hasura/hasura.service.ts
Adjust pagination size constants.
  • Reduced PAGE_SIZE from 20 to 10.
  • Reduced PAGE_SM_SIZE from 10 to 5.
apps/masterbots.ai/lib/constants/hasura.ts
Update prompt wording.
  • Replaced occurrences of "question" with "question (and/or statement)" for broader applicability.
apps/masterbots.ai/lib/constants/prompts.ts
Refactor UI rendering logic in User Thread Panel.
  • Separated the rendering conditions for the horizontal rule and the 'No Results' component.
apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx

Tips and commands

Interacting with Sourcery

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

Customizing Your Experience

Access your dashboard to:

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

Getting Help

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements the Pro Users Whitelist feature by adding a new configuration for pro whitelist users and incorporating whitelist checks in the chat component while adjusting related settings and UI behavior.

  • Introduces proWhitelistUsers in the environment configuration.
  • Updates the Hasura service to include the email field.
  • Adjusts wording in prompts, pagination sizes, and thread panel render conditions.
  • Adds an additional whitelist check in the chat-combobox component.

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/mb-env/src/config.env.ts Adds proWhitelistUsers configuration by splitting the NEXT_PUBLIC_PRO_WHITELIST_USERS environment variable.
apps/masterbots.ai/services/hasura/hasura.service.ts Includes the email field in the getUserBySlug query.
apps/masterbots.ai/lib/constants/prompts.ts Updates prompt text for clarity.
apps/masterbots.ai/lib/constants/hasura.ts Modifies pagination constants.
apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx Adjusts conditional rendering to consider the loading state.
apps/masterbots.ai/components/routes/chat/chat-combobox.tsx Adds a whitelist check for the users’ email on pro model access.
Comments suppressed due to low confidence (1)

packages/mb-env/src/config.env.ts:26

  • Consider filtering out empty strings from the resulting array to avoid unintended behavior when the environment variable is not set, as splitting an empty string results in [''].
proWhitelistUsers: (process.env.NEXT_PUBLIC_PRO_WHITELIST_USERS || '').split(',')

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:

  • This pull request combines the pro user whitelist feature with unrelated changes (prompts, UI, pagination).
  • Consider if exposing the entire pro user whitelist via a public environment variable is the desired approach.
Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: 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: 1

🧹 Nitpick comments (2)
packages/mb-env/src/config.env.ts (1)

26-28: Trim whitespace from email addresses in whitelist.

Email addresses with leading or trailing spaces could cause issues when comparing with user emails.

Consider trimming whitespace:

-proWhitelistUsers: (
-	process.env.NEXT_PUBLIC_PRO_WHITELIST_USERS || ''
-).split(','),
+proWhitelistUsers: (
+	process.env.NEXT_PUBLIC_PRO_WHITELIST_USERS || ''
+).split(',').filter(Boolean).map(email => email.trim()),
apps/masterbots.ai/components/routes/chat/chat-combobox.tsx (1)

108-112: Consider handling edge cases with the whitelist implementation.

The whitelist implementation works as expected, but there are some edge cases to consider:

  1. If NEXT_PUBLIC_PRO_WHITELIST_USERS is empty, WHITELIST_USERS will be [''], which could disable pro models for all users.
  2. The email comparison is case-sensitive, which might cause issues if emails are stored with different casing.

Consider updating the condition to handle these edge cases:

const areProModelsDisabled =
  !appConfig.features.devMode &&
  (loadingUserData ||
    !userData?.proUserSubscriptionId ||
-   !WHITELIST_USERS.includes(userData?.email))
+   !(WHITELIST_USERS.length === 1 && WHITELIST_USERS[0] === '' ? 
+     true : // Allow all pro users if whitelist is empty
+     WHITELIST_USERS.includes(userData?.email?.toLowerCase())))
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between d11a1a1 and 04b643c.

📒 Files selected for processing (6)
  • apps/masterbots.ai/components/routes/chat/chat-combobox.tsx (2 hunks)
  • apps/masterbots.ai/components/routes/thread/user-thread-panel.tsx (1 hunks)
  • apps/masterbots.ai/lib/constants/hasura.ts (1 hunks)
  • apps/masterbots.ai/lib/constants/prompts.ts (1 hunks)
  • apps/masterbots.ai/services/hasura/hasura.service.ts (1 hunks)
  • packages/mb-env/src/config.env.ts (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (2)
apps/masterbots.ai/lib/constants/prompts.ts (1)
apps/masterbots.ai/lib/threads.ts (1)
  • getAllUserMessagesAsStringArray (21-37)
apps/masterbots.ai/components/routes/chat/chat-combobox.tsx (1)
packages/mb-env/src/config.env.ts (1)
  • appConfig (2-41)
🔇 Additional comments (7)
apps/masterbots.ai/lib/constants/hasura.ts (1)

1-2: Reducing page sizes could impact UX.

Reducing PAGE_SIZE from 20 to 10 and PAGE_SM_SIZE from 10 to 5 will reduce the number of items loaded per request, which may improve initial load performance but could lead to more pagination interactions.

Ensure that the UI properly handles these smaller page sizes and that pagination controls are clearly visible to users.

apps/masterbots.ai/services/hasura/hasura.service.ts (1)

1281-1281: Email field added for pro whitelist feature.

Adding the email field is necessary for the pro users whitelist implementation. This change is essential for checking if a user's email is in the whitelist defined in the environment configuration.

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

19-19: Include statements alongside questions for improved flexibility.

Expanding the prompt to handle both questions and statements makes the system more versatile and user-friendly.


24-25: Updated guidelines to accommodate both questions and statements.

These changes ensure the language used in the prompt is inclusive of both question and statement inputs, which aligns with the broader goal of improving the handling of user input.

apps/masterbots.ai/components/routes/chat/chat-combobox.tsx (1)

32-33: New whitelist feature for controlling access to pro models.

The constant WHITELIST_USERS references the new whitelist configuration from appConfig.features.proWhitelistUsers, which will be used to gate access to pro models based on user emails.

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

439-441: Improved horizontal rule rendering condition.

The horizontal rule now has a more specific rendering condition, only appearing when all threads are loaded (totalThreads === count), threads exist, and loading is complete. This prevents the separator from appearing during loading states or when no results are shown.


442-448: Better separation of no-results message rendering.

The NoResults component now renders independently from the horizontal rule, only when showNoResults is true. This improves the clarity of the UI logic by separating these two distinct visual elements.

@AndlerRL AndlerRL merged commit 9a3775d into develop May 3, 2025
1 of 2 checks passed
@AndlerRL AndlerRL deleted the feat-pro-users-whitelist branch May 3, 2025 00:06
AndlerRL added a commit that referenced this pull request May 3, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request May 16, 2025
# Add features, refactor user and thread management, update UI and database scripts
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
AndlerRL added a commit that referenced this pull request May 24, 2025
… schema, and improve ui components (#495)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
AndlerRL added a commit that referenced this pull request May 25, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
AndlerRL added a commit that referenced this pull request May 28, 2025
…ndling (#501)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
@AndlerRL
Copy link
Member Author

AndlerRL added a commit that referenced this pull request Jun 13, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
AndlerRL added a commit that referenced this pull request Jun 17, 2025
…512)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

* fix(impr): continuos thread render, 2nd ai res, ui tweaks (#511)

* chore(impr): mb logo wip + threads add order by update at

* feat(impr): update thread on message activity + fix order by updated at

* fix: thread pop-up default opened accordion

* perf(impr): add user promo code track + chatbot disabled flag

* fix: 2nd ai concurrent request + continuous thread context & render

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
AndlerRL added a commit that referenced this pull request Jun 17, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

* fix(impr): continuos thread render, 2nd ai res, ui tweaks (#511)

* chore(impr): mb logo wip + threads add order by update at

* feat(impr): update thread on message activity + fix order by updated at

* fix: thread pop-up default opened accordion

* perf(impr): add user promo code track + chatbot disabled flag

* fix: 2nd ai concurrent request + continuous thread context & render

* [masterbots.ai] perf(impr): chat opt state mngt and enhance attach metadata sync (#514)

* fix: toggle visibility fn state upt

* fix: file attach message ids upt

* fix: after update guard state

* fix: ts typo

* fix: thread visibility update permissions

* chore(fix): enable image gen to whitelist users

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh pushed a commit that referenced this pull request Sep 9, 2025
* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
# Add features, refactor user and thread management, update UI and database scripts
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
… schema, and improve ui components (#495)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
…ndling (#501)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
…512)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

* fix(impr): continuos thread render, 2nd ai res, ui tweaks (#511)

* chore(impr): mb logo wip + threads add order by update at

* feat(impr): update thread on message activity + fix order by updated at

* fix: thread pop-up default opened accordion

* perf(impr): add user promo code track + chatbot disabled flag

* fix: 2nd ai concurrent request + continuous thread context & render

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 9, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

* fix(impr): continuos thread render, 2nd ai res, ui tweaks (#511)

* chore(impr): mb logo wip + threads add order by update at

* feat(impr): update thread on message activity + fix order by updated at

* fix: thread pop-up default opened accordion

* perf(impr): add user promo code track + chatbot disabled flag

* fix: 2nd ai concurrent request + continuous thread context & render

* [masterbots.ai] perf(impr): chat opt state mngt and enhance attach metadata sync (#514)

* fix: toggle visibility fn state upt

* fix: file attach message ids upt

* fix: after update guard state

* fix: ts typo

* fix: thread visibility update permissions

* chore(fix): enable image gen to whitelist users

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh pushed a commit that referenced this pull request Sep 10, 2025
* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
# Add features, refactor user and thread management, update UI and database scripts
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
… schema, and improve ui components (#495)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
…ndling (#501)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
…512)

* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

* fix(impr): continuos thread render, 2nd ai res, ui tweaks (#511)

* chore(impr): mb logo wip + threads add order by update at

* feat(impr): update thread on message activity + fix order by updated at

* fix: thread pop-up default opened accordion

* perf(impr): add user promo code track + chatbot disabled flag

* fix: 2nd ai concurrent request + continuous thread context & render

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.local>
sheriffjimoh added a commit that referenced this pull request Sep 10, 2025
* fix: change toggler wording + util hook (#424)

* impr: makes threads open on profile page and profile tweaks (#421)

* update

* fix: update

* update

* update

* update

* update

* fix: opening threads

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: rm threads dropdwon  & added back link to bot page thread view page

* fix: update

* fix: added back to profile page

* fix: added sticky and color

* fix: codeblock ctas refactor markdown rendering, sidebar nav, code block & clipboard hook (#425)

* fix: codeblock ctas

* fix: ts build

* fix: continue thread + allMessages sequence + mobile chat css tweak (#426)

* fix: css handleCLick condition

* fix: get latest search params, continuous thread

* fix(impr): all messages sorting

* perf(impr): sign in & up redirection tweak

* perf(impr): mobile chat css

* chore: next + react security ver upt (#427)

* refactor: use chat and continue thread + continue conversation fallback (#432)

* refactor: use chat and continue generation

* fix: uniq slug and id gen (#433)

* fix: uniq thread + msg slug gen

* style: formatting

* fix: thread user attachments state upt

* perf: impr thread component at all pages + mobile tweaks

* refactor: thread-component card

* chore: restore continue generation v1

* feat(impr): thread component card

* fix: admin panel n actions

* fix: fetch getThreads

* chore: continue conversation v1.2

* chore: continue and update thread content

* chore: add ui control continue generation state

* chore: fix infinity loop

* chore(impr): enable upt msg table permission

* fix: seo thread fetch

* chore: style formating

* fix(impr): continued thread title + thread component reusability

* chore: refactor loadings + extending sonners

---------

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

---------

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

* feat: add gemini provider (#437)

* feat: add gemini provider

* chore: update icons

* feat: impr continuing thread tags + accordion first msg toggle (#435)

* feat(wip): impr continuing thread tags + accordion first msg toggle

* feat(impr): continuing thread tags + accordion at first message + header mobile tweak

* style(impr): mobile thread-component x-axis space

* perf(style): coderabbitai feedbacks

* fix: css typo

* perf: sendMessageFromResponse clicked guard + continued thread tags label tweak

* chore: user thread panel clean up

* fix: user-thread-panel infinite loader

* perf: impr shared accordion animation and ux

* style: defaultAccordionState comments loc

* fix: record type warning, hasura updateMessage

* fix: getThread user data, shared-accordion

* fix: coderabbitai observations

* fix: impr file management per llm, multimodel feat flag, chat tool labels, parent thread guard

* fix: tunningUserContent parentThread condition

* fix: feature flag typo

* feat: profile page thread popup feature flag and tweaks  (#434)

* update

* fix: update

* update

* update

* update

* update

* refactor: profile page threads pop up

* fix: update config

* fix: update

* fix: update

* fix: make profile page scroll on hero

* fix: bot make popup and scroll

* fix: make profile page sidebar scroll independently

* fix: make profile page sidebar scroll independently

* fix: check the category along the chatbot when it's not checked

* fix: check the category along the chatbot when it's not checked

---------

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

* feat: add new llm models (#444)

* feat-add-models

* feat-add-models

* feat-add-models

* chore: add model

* fix: typo

* chore: add toggler color

* perf(impr): thread llm context, last question & response + new models seeds (#447)

* feat(wip): thread llm context, prev questions

* fix: previousQuestionsString slice

* fix: clickedContentId in followingQuestionsPrompt

* feat: isContinued + model type in message table

* fix: ts typo + sendMessageFromResponse callback call

* fix: ts typo

* fix: bot profile page view (#449)

* fix(wip): bot profile thread list

* style: formatting

* fix: new chats and share + og img (#451)

* fix: new chat state reset

* fix: genql gen + share link check

* fix: og img

* fix: duplicate role permission in msg table

* feat: initial continuation logic flow (#450)

* chore: restore base version

* chore: add new logic and hooks

* chore: fix providers file

* chore: improve continuation prompt

* chore: add exlucision flag

* chore: add better handler

* chore: updated flow + experimental delay

* chore: extended time

* chore(impr): streamDelayMs experimental feat flag

* style: formatting

---------

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

* fix: profile sidebar cat opt render (#453)

* fix: profile sidebar cat opt render

* chore: clean-up

* [masterbots.ai] refactor: slug generation logic with improved uniqueness and type support (#456)

* fix: slugify fn

* chore: devMode logs

* fix: uniq slug gen fn nanoid flag typo

* feat: sentry logs in webapp (#457)

* fix(impr): llm enum data, thread creation, ts, and log behavior (#458)

* fix: slugify first request delay incr + genql ts, seeds & model migration upt

* fix: create thread & msg ts

* fix(impr): profile page bugs & tweaks v1 4/15/25 (#455)

* update

* fix: update

* update

* update

* update

* update

* fix: use the user avatar or robohash

* fix: added avater to user menu

* fix: user avatar

* fix: reset search input when filter by category or chatbot

* fix: personal chat browse provider + username chk in sign up

* chore: clean duplicated if condition signup

---------

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

* refactor: continuation flow (#460)

* impr: continuation logic flow

* impr: continuation logic flow

* chore: update createImprovementPrompt

* chore: upt logs

---------

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

* feat: models table, enum type, and refactor chat msg deduplication logic (#462)

* feat: models table

* style: formatting

* fix: continuation accordion content

* fix: sql + metadata typo

* fix: db migrations and messages uniqby condition (#463)

* fix: db migrations + messages uniqby condition

* fix: typo

* perf(impr): verify duplicate message return condition

* chore: upt default available models

* perf(impr): reassign continued prompt

* chore: incr fn stream max duration

* fix: mob prof sidebar + sign-up pw verif + username chk (#464)

* fix: mob prof sidebar + sign-up pw verif + username chk

* chore: upt genql gen

* perf(impr): profile navigation

* feat: model selector (#466)

* wip: model selector query

* wip: model selector query

* chore: improve funtions

* chore: add coderabbit suggestion

* chore: add hasura permissions, models table

* style: formatting

* chore: fix get model client type

* chore: add model

---------

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

* chore: impr models (#472)

* chore: fix model name and condition (#473)

* refactor: user fetching code (#471)

* refactor: profile sidebar ui, upt styling, and disable prefetch (#470)

* chore: remove prefetch on sidebar & profile navigation

* perf: impr profile sidebar

* fix: infinite scroll load more fetch

* perf(impr): google sign-in

* perf(impr): session loaders tweak

* perf: impr categoriesId obtention

* fix: tailwind typo

* chore(impr): pro user guard in model selector

* chore: category label upt to topic

* chore: rm dev mode guard (#476)

* feat: add reasoning compatibility (#480)

* feat: add resoning stable

* chore: add reasoning stable v

* chore: activate reasoning

* chore: activate reasoning

* feat: pro users whitelist (#481)

* feat(wip): whitelist pro users

* chore: add whitelist pro users + page size fetch

* perf(impr): following question impr prompt

* fix: pro whitelist users clean up

* feat: user account setting  (#468)

* update

* fix: update

* update

* update

* update

* update

* feat: imple account setting

* feat: added dialog to delete button

* feat: update user deletion func

* fix: move back exmaples files

* fix: update

* fix: user account scheduling api

* fix: user account deletion request function

* refactor: account deletion request api

* fix: user account request and thread deletion

* fix: added permission and account deletion page

* fix: update on permission

* fix: enable new col permission

* fix: profile side bar

* fix: update

* fix: function rerendering

* fix: update route

* chore(impr): preferences actions and ui tweaks

---------

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

* chore: enable twitter pixel track (#479)

* chore: enable twitter pixel track

* perf(impr): twitter ads availability + dynamic config

* feat: impr profile navigation page (#478)

* fix(wip): subscriptions page render

* feat(impr): profile navigation + page ui tweaks

* style: lintin + formatting

* style(css): nav links px on mob

* fix: goToProfile in mob prof sidebar

* fix: build

* fix: thread popup opening at nav

* chore: enable preferences nav on prod

* feat: image generation  (#486)

* feat: add image generation support - gemini provider

* chore: add mineType

* chore: add conditional checks

* chore: upt model enums & list

* chore: hasura, set icl seeds chunks (#484)

* chore: hasura, set icl seeds chunks

* chore: track backup icl seed loc to lfs

* chore(seeds): uncomment phase 3 topics & add new chatbots + icl metadata rel

* chore: upt phase 3 init config seeds, adding rel

* fix: example seeds integrity

* test: incr hasura max req body

* revert: cloudbuild og config

* chore: restore skipped seed lines

* fix: thread rendering (#487)

* fix: thread list render states

* chore: linting & format

* fix: thread pop-up on refresh

* fix: user table selection

* fix(impr): type safety for image data and refactor model enums in chat (#489)

* fix: image generation flow

* chore: impr gemini generation logic

* fix: build issue

* chore: change subscription page

* chore: change subscription page + lint

* chore: user pref disable options

---------

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

* fix: add hotfix image generation

* chore: add more image models

* fix: models_enum values + genql upt

* feat: improved subscription section (#491)

* feat: add improved subscription section

* feat: add type

* chore: add conditional dislay

* feat: add username tags

* chore: add new order and benefits

* fix: thread empty state on user profile (#490)

* update

* fix: update

* update

* update

* update

* update

* feat: added empty state to user profile page

* feat: added empty state to user profile page

* fix: update

* fix: update

* fix: account creation slug issue

* chore: restore public models table select permissions + clean up

---------

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

* feat(wip): web search v2 (#494)

* feat(wip): web search

* feat(wip): thread config actions

* feat(wip): share cta impr

* chore: upt domain slugs list

* chore: comment legacy getWebSearchTool

* fix: preference insert

* wip: user preferences set

* fix: typo

* fix: updateUser data upt

* fix: pref table sel (#496)

* fix: og render + tweaks (#492)

* fix: og render + tweaks

* fix: zIndex in og

* perf: impr defaultOgImage chk

* chore: bun lock upt

* chore: next-auth patch upt

* fix: app build by mv uuidregexp loc

* fix: drizzle service actions loc + msg slug check + msg uniqueness (#499)

* [masterbots.ai] chore: standarize pop-up on profile & bot page for thread display (#500)

* update

* fix: update

* update

* update

* update

* update

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added popup to thread view page on user profile(both on page reload)

* fix: added profile link to thread share

* fix: update

* fix: chatbot page thread pop-up

* fix: update

* fix: appendMessage concurrency + getBrowseThreads admin mode chk (#505)

* feat: attachment thread metadata (#502)

* feat(wip): track thread attch data

* chore: upt drizzle & genql schemas

* feat(wip): save user attachments on load chk

* perf: file upload throughout indexed db hook

* feat(wip): gcp bucket setup

* feat: enlarge thread attachment

* fix: attachment upload loop

* fix: gcloud storage + thread metadata check & upload

* fix: bucket upload + after upload mutations

* feat: store remote thread metadata to indexeddb

* fix: read file content instead url

* fix(wip): get attachments on chat onFinish

* fix: attach new stack of files to chat

* [masterbots.ai] fix: og card dimensions and spacing + profile props (#506)

* fix: og card dimensions and spacing + profile props

* fix: og card dimensions + profile props

* perf(impr): rm long usernames + autogen num + form input control

* perf: dynamic short username number gen

* chore(impr): update default thread publicity flag + attachments concurrency & render (#508)

* chore(impr): update default thread publicity flag

* fix: default thread publicity

* fix: ai generated formulas

* fix: eslint rule, display name in markdown

* fix: eslint rule, display name in markdown

* fix: following questions prompt + isNewThread guard

* fix: attachments render && concurrency + optimistic activeThread updates

* fix: build

* perf(impr): earlier downloadedAttachments array upt

* chore(impr): clean remote processed ids, indexeddb attachments

* fix: user should be able to delete threads (#507)

* update

* fix: update

* update

* update

* update

* update

* fix: user can delete thread

* fix: delete thread messages

* fix: update

* fix: obs update

* chore: file clean up

---------

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

* [masterbots.ai] feat: image generation support (#504)

* feat: add support to image generation

* feat: add GPT-image-1 support route

* feat: fix biome lint

* feat: add edit mode

* chore: enable img gen feature flag

* style: format n lint

---------

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

* fix: bun lock

* fix: ts build

* fix(impr): continuos thread render, 2nd ai res, ui tweaks (#511)

* chore(impr): mb logo wip + threads add order by update at

* feat(impr): update thread on message activity + fix order by updated at

* fix: thread pop-up default opened accordion

* perf(impr): add user promo code track + chatbot disabled flag

* fix: 2nd ai concurrent request + continuous thread context & render

* [masterbots.ai] perf(impr): chat opt state mngt and enhance attach metadata sync (#514)

* fix: toggle visibility fn state upt

* fix: file attach message ids upt

* fix: after update guard state

* fix: ts typo

* fix: thread visibility update permissions

* chore(fix): enable image gen to whitelist users

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>
Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com>
Co-authored-by: bran18 <andreyfdez18@gmail.com>
Co-authored-by: Brandon fernandez <brandonfernandez@Brandons-Mac-mini.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.

2 participants