Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardize url building using urlbuilders utility #341

Merged

Conversation

sheriffjimoh
Copy link
Contributor

@sheriffjimoh sheriffjimoh commented Jan 16, 2025

Summary by Sourcery

Enhancements:

  • Use the urlBuilders utility to construct URLs for user profiles and threads.

Summary by CodeRabbit

  • New Features

    • Improved URL generation for user profiles and chatbots.
    • Enhanced URL slug creation for more consistent routing.
  • Refactor

    • Updated URL construction logic across multiple components.
    • Centralized URL generation using urlBuilders utility.
    • Enhanced flexibility of the Providers component with new configuration options.
  • Chores

    • Improved code readability and maintainability.
    • Standardized URL formatting across the application.

@sheriffjimoh sheriffjimoh requested a review from AndlerRL January 16, 2025 17:47
@sheriffjimoh sheriffjimoh linked an issue Jan 16, 2025 that may be closed by this pull request
Copy link

sourcery-ai bot commented Jan 16, 2025

Reviewer's Guide by Sourcery

This pull request standardizes URL building by using the urlBuilders utility. It replaces hardcoded URL paths with calls to the urlBuilders utility functions. This improves code maintainability and reduces the risk of URL errors.

Sequence diagram for URL building with urlBuilders utility

sequenceDiagram
    participant Component
    participant urlBuilders
    participant Router

    Component->>urlBuilders: userProfileUrl({ userSlug })
    urlBuilders-->>Component: /u/{userSlug}/t
    Component->>Router: Navigate to URL
Loading

Class diagram for URL building components

classDiagram
    class urlBuilders {
        +userProfileUrl(params: object)
        +chatbotUrl(slug: string, category: string, chatbot: string)
    }

    class UserMenu {
        +user: Session['user']
        +getUserInitials(name: string)
        +truncateUsername(username: string, maxLength: number)
    }

    class ProfileSidebar {
        +user: Session['user']
        +handleNavigation()
    }

    UserMenu ..> urlBuilders : uses
    ProfileSidebar ..> urlBuilders : uses
Loading

File-Level Changes

Change Details Files
Replaced hardcoded profile URLs with calls to urlBuilders.userProfileUrl. This change affects multiple components related to user profiles.
  • Replaced the hardcoded profile URL in the UserMenu component.
  • Replaced the hardcoded profile URL in the ProfileSidebar component.
  • Replaced the hardcoded profile URL in the ProfilePageSidebar component.
apps/masterbots.ai/components/layout/header/user-menu.tsx
apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx
apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx
Updated the urlBuilders.threadDetailsUrl function to use toSlug for chatbot parameter. This ensures consistency in URL formatting.
  • Modified the threadDetailsUrl function to apply toSlug to the chatbot parameter before including it in the URL.
apps/masterbots.ai/lib/url.ts
Imported the urlBuilders utility into components and services that use it.
  • Added an import statement for urlBuilders in the specified files.
apps/masterbots.ai/components/layout/header/user-menu.tsx
apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx
apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx
apps/masterbots.ai/lib/threads.ts

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a 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. You can also use
    this command to specify where the summary should be inserted.

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

vercel bot commented Jan 16, 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 Jan 17, 2025 1:19am

Copy link
Contributor

coderabbitai bot commented Jan 16, 2025

Warning

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

🔧 eslint

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

apps/masterbots.ai/components/layout/providers.tsx

Oops! Something went wrong! :(

ESLint: 8.57.1

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

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

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

Walkthrough

The pull request introduces modifications to several files in the Masterbots.ai application, focusing on centralizing URL generation logic. The changes primarily involve importing and utilizing a new urlBuilders utility from the @/lib/url module across multiple components. The most significant updates are in how user profile and chatbot URLs are constructed, replacing direct string interpolation with a more modular approach using the urlBuilders.userProfileUrl and toSlug functions. Additionally, the Providers component has been enhanced to accept new properties for better theming options.

Changes

File Change Summary
apps/masterbots.ai/components/layout/header/user-menu.tsx Added urlBuilders import, updated href to use urlBuilders.userProfileUrl
apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx Added urlBuilders import, introduced userSlug constant, modified Link component's href
apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx Added urlBuilders import, updated goToProfile callback to use urlBuilders.userProfileUrl
apps/masterbots.ai/lib/threads.ts Added urlBuilders import (no functional changes)
apps/masterbots.ai/lib/url.ts Modified userChatbotUrl to use toSlug instead of toLowerCase() for chatbot URL generation
apps/masterbots.ai/components/layout/providers.tsx Added ProvidersProps type, updated Providers function signature to use new props

Possibly related issues

Possibly related PRs

  • Impr: improve current features v2 #274: The changes in this PR involve modifications to the improveMessage function, which is relevant to the main PR's updates to the user-menu.tsx file where the urlBuilders.userProfileUrl function is utilized. Both PRs involve enhancements to user-related functionalities.
  • fix:sideBar updating URL #286: This PR focuses on updating the SidebarLink component, which includes changes to navigation logic that may relate to the UserMenu component's URL handling in the main PR. Both PRs involve navigation and user profile interactions.
  • Shallow routing for category & chatbots for chat & profile page  #313: The changes in this PR enhance the ProfileSidebar component, which is directly related to the user-menu.tsx modifications in the main PR, as both involve user profile management and navigation.

Suggested labels

enhancement, feature

Suggested reviewers

  • AndlerRL

Poem

🐰 A rabbit's tale of URLs so bright,
Refactoring paths with modular might
From strings to builders, our code takes flight
Slugs transform, URLs now clean and tight
Masterbots rejoice in this coding delight! 🚀


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

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

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

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

CodeRabbit Commands (Invoked using PR comments)

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

Other keywords and placeholders

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

CodeRabbit Configuration File (.coderabbit.yaml)

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

Documentation and Community

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

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey @sheriffjimoh - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🔭 Outside diff range comments (1)
apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx (1)

Line range hint 124-157: Standardize URL generation across all profile links.

For consistency, update the Preferences and Subscriptions links to use the urlBuilders utility as well.

  <Link
-   href={`/u/${slug}/s/pref`}
+   href={urlBuilders.userProfileUrl({ userSlug, section: 'pref' })}
    className={cn(
      "flex items-center space-x-2 px-4 py-3",
      "hover:bg-gray-200 dark:hover:bg-mirage transition-colors duration-200",
      location.pathname?.includes('/s/pref') ? 'bg-gray-200 dark:bg-mirage' : ''
    )}
  >
    <Settings className="w-5 h-5" />
    <span>Preferences</span>
  </Link>

  <Link
-   href={`/u/${slug}/s/subs`}
+   href={urlBuilders.userProfileUrl({ userSlug, section: 'subs' })}
    className={cn(
      "flex items-center space-x-2 px-4 py-3",
      "hover:bg-gray-200 dark:hover:bg-mirage transition-colors duration-200",
      location.pathname?.includes('/s/subs') ? 'bg-gray-200 dark:bg-mirage' : ''
    )}
  >
    <ReceiptIcon className="w-5 h-5" />
    <span>Subscriptions</span>
  </Link>
🧰 Tools
🪛 Biome (1.9.4)

[error] 17-17: Unexpected any. Specify a different type.

any disables many type checking rules. Its use should be avoided.

(lint/suspicious/noExplicitAny)

🧹 Nitpick comments (3)
apps/masterbots.ai/components/layout/header/user-menu.tsx (1)

30-33: Add ellipsis to truncated usernames for better UX.

The truncation logic removes characters but doesn't indicate that the text has been cut off.

-    ? `${username.slice(0, maxLength - 4)}`
+    ? `${username.slice(0, maxLength - 4)}...`
apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx (1)

Line range hint 35-43: Consider using router.push for error handling in logout.

Based on the retrieved learning from PR #313, prefer using Next.js router methods over direct window manipulation.

  } catch (error) {
    console.error('Logout error:', error)
-   window.location.href = '/'
+   router.push('/')
  }
apps/masterbots.ai/lib/url.ts (1)

Line range hint 31-39: Consider enhancing error handling strategy.

Currently, all URL building errors result in returning '/' which might silently hide issues in production. Consider:

  1. Throwing errors to let consumers handle them appropriately
  2. Adding error types/codes to help consumers distinguish between different failure cases
  3. Logging additional context about the failed operation

Example implementation:

class UrlBuilderError extends Error {
  constructor(
    message: string,
    public readonly code: 'MISSING_PARAMS' | 'INVALID_FORMAT',
    public readonly params?: Record<string, unknown>
  ) {
    super(message);
  }
}

// Usage in the functions:
if (!slug || !category || !chatbot) {
  const missing = Object.entries(params)
    .filter(([_, value]) => !value)
    .map(([key]) => key);
  throw new UrlBuilderError(
    `Missing required parameters: ${missing.join(', ')}`,
    'MISSING_PARAMS',
    { missing, provided: params }
  );
}

Also applies to: 77-81

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between d72a578 and a56e227.

📒 Files selected for processing (5)
  • apps/masterbots.ai/components/layout/header/user-menu.tsx (5 hunks)
  • apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx (3 hunks)
  • apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx (2 hunks)
  • apps/masterbots.ai/lib/threads.ts (1 hunks)
  • apps/masterbots.ai/lib/url.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • apps/masterbots.ai/lib/threads.ts
🧰 Additional context used
📓 Learnings (1)
apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx (1)
Learnt from: AndlerRL
PR: bitcashorg/masterbots#313
File: apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx:33-37
Timestamp: 2024-11-28T06:49:04.598Z
Learning: When updating the URL in Next.js, prefer using `router.push` or `router.replace` from the Next.js `useRouter` hook instead of directly manipulating `window.history` to maintain consistency and leverage Next.js features.
🔇 Additional comments (5)
apps/masterbots.ai/components/layout/header/user-menu.tsx (1)

63-68: LGTM! Clean URL generation implementation.

Good use of the urlBuilders utility with proper fallback handling when the slug is not available.

apps/masterbots.ai/components/layout/sidebar/profile-sidebar.tsx (1)

53-55: LGTM! Clean URL generation implementation.

Good use of the urlBuilders utility with proper router navigation.

apps/masterbots.ai/components/layout/profile/profile-page-sidebar.tsx (2)

32-32: LGTM! Good type casting.

Explicit type casting of the slug parameter improves type safety.


75-75: LGTM! Clean URL generation implementation.

Good use of the urlBuilders utility for the Threads section link.

apps/masterbots.ai/lib/url.ts (1)

76-76: LGTM! Good standardization of URL generation.

The change from toLowerCase() to toSlug(chatbot) aligns well with the PR objective of standardizing URL building and matches the pattern used in threadUrl.

Let's verify the impact of this URL format change on existing links:

✅ Verification successful

URL format change is safe and consistent with codebase patterns

The change to use toSlug(chatbot) aligns perfectly with the existing URL generation patterns across the codebase. The function is already used consistently for categories, chatbots, and user-related URLs in both generation and consumption code paths.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for direct usage of these URLs in the codebase
# to ensure all consumers are prepared for the new format

# Find components that might be constructing or consuming these URLs
rg -l "userChatbotUrl|/u/.+?/t/.+?/.+?" --type ts --type tsx

# Search for any hardcoded tests or fixtures using the old format
rg -l "toLowerCase\(\)" --type test

Length of output: 157


Script:

#!/bin/bash
# Search for userChatbotUrl function usage and URL patterns
rg -l "userChatbotUrl" --type ts --type js
rg -l "\/u\/[^\/]+\/t\/[^\/]+\/[^\/]+" --type ts --type js

# Find test files that might contain URL-related tests
fd -e test.ts -e test.js -e spec.ts -e spec.js | xargs rg -l "userChatbotUrl|\/u\/.*\/t\/"

# Look for toSlug usage to understand the transformation
rg "toSlug\(" --type ts --type js -C 2

Length of output: 13284

@sheriffjimoh sheriffjimoh linked an issue Jan 16, 2025 that may be closed by this pull request
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
apps/masterbots.ai/components/layout/providers.tsx (2)

14-14: Use import type for type-only imports.

Since Attribute is only used as a type, it should be imported using the import type syntax for better code organization and compilation optimization.

-import { Attribute, ThemeProvider as NextThemesProvider } from 'next-themes'
+import type { Attribute } from 'next-themes'
+import { ThemeProvider as NextThemesProvider } from 'next-themes'
🧰 Tools
🪛 Biome (1.9.4)

[error] 14-14: Some named imports are only used as types.

This import is only used as a type.

Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Add inline type keywords.

(lint/style/useImportType)


23-23: Consider adding JSDoc documentation.

The component implementation looks good, but consider adding JSDoc documentation to describe the available theme configuration options for better developer experience.

+/**
+ * Application-wide provider component that sets up various contexts
+ * @param props.attribute - HTML attribute for applying color scheme
+ * @param props.defaultTheme - Default theme to use if none is set
+ * @param props.enableSystem - Enable system theme detection
+ * @param props.disableTransitionOnChange - Disable transitions when theme changes
+ */
 export function Providers({ children, ...props }: ProvidersProps) {
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between a56e227 and 682b9a9.

📒 Files selected for processing (1)
  • apps/masterbots.ai/components/layout/providers.tsx (1 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
apps/masterbots.ai/components/layout/providers.tsx

[error] 14-14: Some named imports are only used as types.

This import is only used as a type.

Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules.
Safe fix: Add inline type keywords.

(lint/style/useImportType)

🔇 Additional comments (1)
apps/masterbots.ai/components/layout/providers.tsx (1)

16-22: LGTM! Well-structured type definition.

The ProvidersProps type is well-defined with appropriate optional flags for theme configuration options.

Copy link
Member

@AndlerRL AndlerRL left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks for handling this issue. Merging.

Closes #328

@AndlerRL AndlerRL merged commit 31cb573 into develop Jan 17, 2025
2 checks passed
@AndlerRL AndlerRL deleted the 327-standardize-url-building-using-urlbuilders-utility branch January 17, 2025 01:38
@AndlerRL AndlerRL added enhancement New feature or request feature labels Jan 22, 2025
AndlerRL added a commit that referenced this pull request Jan 22, 2025
* devops: force deploy

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

* devops: trigger automated build

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

* ✨ Added back button to thread details page

* ⚡️  changed char to svg

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

* ⚡️ added custom  error page

* ⚡️  clean up

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

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

* feat: added og api endpoint

* feat: design og image for dark mode

* fix: file formated

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

* feat: added custom metadata to thread page

* feat: added custom metadata to bot page

* fix: clean up

* fix: move bg to a component

* fix: move og-image design  to a component

* fix: use variable for URL

* fix: to slug func

* ⚡️ Move and clean up UrlToSlug

* fix(masterbots.ai): zod dependecy

* fix: type error

* fix: type error for metadata

* fix: clean and build fix

---------

Co-authored-by: Roberto Lucas <[email protected]>

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

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

* fix: clean up

* fix: clean up

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

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

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

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

---------

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

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

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

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

* feat: create 'models' table AI models

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

* feat: add model_value into models

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

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

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

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

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

* [masterbots.ai]chore:next version

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

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

* [masterbots.ai]chore:command ui

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

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

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

* fix-guards + dom warning

* fix-rename env var - vercel name

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

* fix: update terms

* fix:  building error

* fix: update terms content

* fix: rm the older part at the bottom

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

* feat: added free card

* feat: added animation to the plan card

* feat: added more plan card and referral code link

* fix: clean up

* wip: wizard

* feat: wizard & modal

* feat: plan Design theme and modal Header and Footer

* feat: plan clean up

* update

* clean up

* fix: rm plan comp on browse page

* fix: wizard clean up

* feat: succes & error modal

* feat: loading comp

* feat: added checkout comp

* feat: set up stripe and context

* wip: implementing subscription

* feat: implementing subscription

* feat: payment reciept

* fix: clean up receipt

* fix: modal not showing & shallow routing

* fix: small fix

* fix: receipt comp

* fix: clean up

* fix: shallow rerouting

* feat: check if user has an active subscription

* fix: coderabbit ob

* fix: coderabbit ob

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: coderabbit clean up update

* fix: clean up

* fix: clean up

* fix: page restructuring and status on the receipt

* fix: revamp receipt and structure

* fix: rm unused file

* fix: clean up

* fix: update & clean up

* fix: update

* fix: rm the svg

* fix: revamp formatSystemPrompts

* fix: revamp msg to formatSystemPrompts

* fix:  update

* fix:  refactor the receipt page

* fix: rm public key

* fix: update

* fix: update

* fix: update

* fix: code refactor for error and loading rendering

* ref: calling  secret keys from server

* ref: receipt page and small fix

* fix: rm file

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

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

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

* fix: clean up

* fix: clean up

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

* feat: create action.ts

* fix: upt share button

* fix: add axios module

* fix: add resend module

* fix: update vercel env config

* fix: split share function

* fix: update share component

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

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

---------

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

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

* feat: add get_free_month column to user table

* feat: create referral table

* feat: add is_blocked column to user table

* feat: add pro_user_subscription_id  column to user table

* fix: upt metadata

* fix: update relationship name

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

* feat: create 'models' table AI models

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

* feat: add model_value into models

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

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

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

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

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

* [masterbots.ai]chore:next version

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

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

* [masterbots.ai]chore:command ui

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

* [masterbots.ai]feat:env checker

* [masterbots.ai]feat:env guard

* docs: site map diagram

* feat: set up stripe and context

* wip: implementing subscription

* fix: rm the svg

* fix: replace secret with variable

* fix: chat restructure

* fix(update): chat restructure

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

* fix: deployment issues

* fix: deployment issues

* fix: deployment issues

* fix: adjust design

* fix: clean up

* fix: clean up

* fix: color var updaye

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

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

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

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

* fix: success close button

* fix: bg image for yearly card

* fix: move func to util

* ref: receipt page function to use reac-use

* fix: move depencies to the app

* fix: clean up

* ref: wizard to use radix dialog components

* update

* fix: coderabitai update

---------

Co-authored-by: Roberto Lucas <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: Roberto Lucas <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>

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

* fix-guards + dom warning

* fix-rename env var - vercel name

* fix-changed PERPLEXITY-LLama model

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

* fix(UI):varius UI fixes

* fix(UI):varius UI fixes

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

* fix(UI):update

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

* fix: make the dialog content responsive

* fix: free plan card adjusted

* fix: update

* fix: update receipt styles

* fix: build error

* fix: build error

* fix: build error update

* fix: update

* fix: observation

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

* feat: sitemap (#238)

* feat: add redirection rules

* fix: update all links with new shorten urls

* fix: update all links with new shorten urls

* feat: make folder structure according to sitemap

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

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

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

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

* fix: build error

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

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

* feat: add sitemap and metagraph

* fix: use original generateMetadata

* fix: update page links

* fix: show only filtered threads on page reload

* fix: build error

---------

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

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

* feat: add 'disabled' state to ChatAccordion

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

* fix: use braces and create explicit statement blocks

* fix: subscription mobile responsive tweaks (#245)

* update

* fix: update

* fix: responsiveness

* fix: update

* fix: few clean up

* fix: rm unused image

* fix: rm unused image

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

* impr(hasura): db tables

* impr(hasura): db tables

* fix(hasura): user permissions

* impr(hasura): sql models enum migration

* fix(hasura): models_enum pk

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

* docs: bun to requirements (#250)

Co-authored-by: b <b>

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

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

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

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

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

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

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

---------

Co-authored-by: Roberto Lucas <[email protected]>
Co-authored-by: Roberto Romero Lucas <[email protected]>

* docs: mb sytem diagram v1.0a

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

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

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

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

* feat-login ui

* feat-login-component+page

* feat-login-component+page

* feat-auth-middleware.ts

* feat-auth-nextauth + googleauth

* feat-auth-coderabit-feedback

* feat-auth-callback + elements added

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

* feat:add toke storage for webauth

* feat:updates webauth

* feat:updates webauth

* fix(masterbots.ai): blankBot fetch

* feat:protecting env

---------

Co-authored-by: Roberto Lucas <[email protected]>
Co-authored-by: Roberto Romero Lucas <[email protected]>

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

* docs: claude3 project knowledge docs

* fix(masterbots.ai): devMode conditional

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

* chore: upt default hardcoded gpt model

* fix: toSlug imports

* fix: typo

* fix(hasura): seeds

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

* wip: upt seeds

* chore: rm alter and table creations

* chore(impr): MB seeds update and upgrade

* fix: set thread to private by default

* fix: prompt row typo

* chore(hasura): seeds update default thread publicity

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

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

* chore:ai version upt

* chore:ai version upt

* upt-ai delete

* upt-ai versions

* upt-sdk-actions

* upt-complete-sdk-3.3 + dev notes

* upt-@anthropic-ai/sdk + MessageParam

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

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

* impr-convertToCoreMessages ternary

* Leandro/develop (#257)

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

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

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

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

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

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

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

* fix:introducing Two-phase scroll

* impr: new hook to handle scrolling

* impr: useScroll + respo

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

* sidebar refactor with ai

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

* fix:semistable

* fix:stable v

* impr:delete nonused component

* fix: upt category filtering

* fix typo

---------

Co-authored-by: Roberto Lucas <[email protected]>

* feat: sidebar state

* fix(masterbots.ai): logic typo

* fix(masterbots.ai): ts typo

---------

Co-authored-by: Jun Dam <[email protected]>
Co-authored-by: Brandon Fernández <[email protected]>

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

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

* wip: seo data impr

* impr(chore): ga tags

* feat: add chat publicity trigger (#258)

* update

* feat: design thread visibilty

* fix: added the backend

* fix: added the backend

* fix: rm files

* fix: few clean up

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

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

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

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

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

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* fix: update

* fix: add permission

* fix: update query

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

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* Leandro/develop (#257)

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

* refactor: remove unnecesary hooks from thread component

* refactor: remove unnecesary hooks on thread componen

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

* impr:refactor components folders + names + imports

* hotfix:chat-list useEffect dependency removal

* feat: design thread visibilty

* fix: added the backend

* fix: few clean up

* update

* fix: update

* fix: publicity toggle

* fix: error catch in the functions

* fix: observations

* fix: design impr

* fix: thread pop-up height

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

---------

Co-authored-by: Roberto Lucas <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Roberto Lucas <[email protected]>

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

* feat:userMessages refactor + hooks and utils

* upt:rm console.log

* fix:rollback useAiChat hook

* fix:rollback - actions

* fix(masterbots.ai): sidebar trigger

* chore(hasura: s

---------

Co-authored-by: Roberto Lucas <[email protected]>

* wip: browse sidebar

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

* fix: browse layout

* feat(masterbots.ai): browse sidebar

* fix: browse sidebar link condition

* chore: upt signup default profile pic

* chore: seeds upt (#269)

* wip: seeds upt

* chore(hasura): seeds review

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

* chore: mb-genql upt

* fix(hasura): thread param permission

* fix(masterbots.ai): typo

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

* fix: chat + browse layout

* style: clean up

* Seo data (#273)

* fix: build error

* feat: Add SEO data to the chat page

* feat: add default image, if not found

* feat: Add SEO data to the browse page

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

* Update route.tsx

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

* impr(masterbots.ai): title impr prompt

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

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

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

* add-UI-upt

* add-UI-upt

* add-action-prompt

* add-clickable-upt

* add-clickable-upt

* Masterbots/fix redirects (#275)

* fix:avatar-redirects

* fix:avatar-redirect

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

Coderabbitai suggestion.

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

* fix:URL correction

---------

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

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

* feat: add wordware api + vercel sdk strategy

* feat: add wordware api + vercel sdk

* wordware describe feat

* wordware run + interface

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

coderabbitai code suggestion.

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

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

coderabbitai code suggestion.

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

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

coderabbitai code suggestion.

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

---------

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

* doc: mb system diagram upt

* wip: icl calls integrations

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

* update

* feat: added permissions & new column

* fix: rm unnessecary files

* fix: rm permission check

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

* feat:add-recovery-strategy

* chore:add nodeemailer

* upt:hasura

* upt:hasura

* upt:gmail service

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

* feat:add recovery password API

* fix:ai suggestion + UX

* feat:improve ux show password feat

* chore:env sample

* chore:useSetState

* chore:roles

---------

Co-authored-by: Roberto Lucas <[email protected]>

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

* keep-alive + API sanitize + timeOut guard

* impr streamAndValidateResponse fn

* wip(masterbots.ai): impr createImprovementPrompt

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

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

* feat:added mode toggle and approve btn

* feat: added migration for user role

* feat: user role flow implet

* fix: impr admin approve process

* fix: clean up

* fix: toggle CTA changed

* fix: update

* fix: update

* fix: observ

* fix: obs clean up

* fix: update

* fix: clean up

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

* wip: metadata chatbot labels

* wip(masterbots.ai): chatbot metadata labels

* impr(masterbots.ai): gen chatMetadata

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

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

* style: code comments + eslint chk

* impr: biome.json config

* fix(masterbots.ai): conflicts typo fix

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

* doc: map system (simplified)

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

* fix:sideBar updating URL

* feat: coderabbit-ai suggestions

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

* feat: optimize sidebar navigation with Link

* feat: thread options (#287)

* feat: added verified and label to the options

* usethreadvisibility as context

* feat: added option design  and functions

* fix: clean up

* fix: update

* fix: update

* fix: obsv

* fix: merge and update

* fix: update the delete popup

* fix: observ

* fix: update

* fix: delete thread flow

* update

* fix: update

* fix: types

* fix: chatbot not required

* fix: testing

* fix: rm bun.lock

* fix: clean up

* fix: update

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

---------

Co-authored-by: Roberto Lucas <[email protected]>

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

* feat: email verification

* feat: email verification

* feat: email verification

* upt:build

* feat: handle error redirection

* chore:cron task

* upt: cron blocking instead erasing

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

* feat(db): create social following table.

* create user following and followers relationships.

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

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

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

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

* impr(db): avoid self follow.

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

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

* fix: tag bg

* fix: text color

* fix: browse page error

* fix: debugging

* fix: debugging

* fix: debugging

* fix: added func to generate short link

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

* update user permission

* fix: reverse the following table

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

* fix: error build

* fix: reverse select perm

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

* merged from develop

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

* feat:add comments for ai - C

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add comments for ai - b/p

* feat:add app theme colors effects

* feat:add comments for ai - b/p

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

* wip: chatbot search tool

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

* fix: init sidebar load state

* fix: nesting layout

* fix: thread-popup ui header

* wip(impr): chatbot tooling

* impr: loading state + debug chatbot tools

* wip(fix): nodejs context

* fix(temp): rm edge runtime api config

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

* feat: reorganize navigation menu for mobile view

* UI: add sideBar style

* feat: add link profile and logout icon

* Update profile-sidebar.tsx

Tailwind class fix

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

* feat:impr responsive

* feat:impr password strenght checker

* feat:impr responsive

* upt-build

* feat:respomsive tweask

* feat:back arrow aria label

* fix:chat mobile layout

* fix:code section

* fix:chat pannel

* fix:chatBot redirection

* feat:restore appConfig header

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

* fix:restore desktop navigation link - browse

* fix:formating

* feat:yellow combobox btn (JUN-REQUEST)

* glowing effect variant

* upt:removed /b navigation as original v

* feat:powerup mode + provider

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

* feat:browse title and content search

* feat:browse title and content search

* fix:typo

* impr:reusable non result component

* feat:skeletons

* feat:guard

* fix:skeletons

* fix:chat searching

* fix: add accent colour

---------

Co-authored-by: Roberto Lucas <[email protected]>

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

* chore: sitemap creation

* chore: add description based on category

* chore: update queries in services

* chore: truncate text

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

coderabbitai code suggestion.

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

---------

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

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

* wip: ai tools

* fix: WW json regexp

* impr: simplifying main ai call

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

* impr(refactor): chat hooks

* fix: ts build

* fix: ts build

* fix: ts typo

* fix: typo

* impr: ai feedbacks

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

* impr: web search tool call

* fix: colour values

* fix: typo

* impr: code suggestions

* fix: class name typo

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

* fix: web search callback

* fix: typo

* feat: profile page (#300)

* feat: user card

* fix: update

* merge develop && update

* feat: user generate bio & favourite  topic

* fix: update user card

* feat: added profile sidebar

* fix: update

* update

* update

* update

* fix: fetch approved and public threads

* fix: fetch approved and public threads

* update

* fix: clean up and update

* update

* make fetch user work with bio

* update

* update

* design updating

* update

* update

* fix: few changes

* update

* fix: design update

* fix: footer in layout

* fix: update

* fix:  resercation

* update

* profile upload

* feat: move the cloudinary key to env

* fix: layout

* fix: layout update

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

* update

* feat: added shallow link to the sidebar link

* update'

* fix: routing and content fetching

* fix:update on  routing

* fix:update

* update

* update

* update

* fix: clean up

* update

* update

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

* feat: new bot profile - chat

* chore: dev comments

* chore: white bg bot avatar

* feat: add skeleton bot profile

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

* feat:relocation of theme switch(jun)

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

* feat: r-sidebar theme switcher relocation + skeleton

* feat: impr add rem instead px

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

* feat: create mb-drizzle package initial structure

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

* chore: include database url

* chore: upt mb-drizzle

* feat: refactor drizzle config + generations

* chore: impr migrate

* chore: add working drizzle connection + migrations

* feat: add centralized actions

* chore: add ai review recomendations

* chore: webSearch feature flag + use cloudinary upload preset

* fix: responsive sidebar fix

* fix: ts chk build

* fix: sidebar async call

* fix: ts build

* chore: typo

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

* update

* fix: rm category

* update

* fix: pop up on the user threads

* update

* update clean up

* update

* fix: clean up

* fix:  clean up and update

* fix: update

* fix: popup on navigation

* fix: update

* update

* update

* update

* clean up

* update

* merge

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

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

* add chatbot-details and browse-details variants

* feat: add bio generation

* feat: chat profile bg

* chore: update bot profile designs

* chore: remove internal padding from cardHeader component

* impr: iconography + border thickness

* fix: numberShortener util fn

---------

Co-authored-by: Roberto Lucas <[email protected]>

* feat: user following  (#319)

* update

* added follow user

* update

* fix: upt hasura metadata databases, public_social_following.yaml

coderabbitai code suggestion.

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

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

coderabbitai suggestion.

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

* fix: user card

* update

* fix: permission

* update

* fix: added more column for chatbot followee

* fix:foloow chatbot implementation

* update

* threads by following user/bots

* update

* update

* update

* update

* update

* update

* update

* update

---------

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

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

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* fix: overflow of the width of the sonner

* chore: add new icons

* feat: Sonner custom hooks and setup

* feat: use useSonner hook throughout the app

* chore: use hook sonner

* refactor: changes according to coderabbitai

* refactor: update use of sonner

* chore:remove icons and use lucide icons

* chore: Using Lucide Icons

* chore: bun pkg mngr upt

* Standardize url building using urlbuilders utility (#341)

* fix: update url

* fix: url update

* update

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

* update

* fix: make OG image use default

* fix: update

* fix: update

* fix: obs

* fix: update

* fix: added og to browse and chat

* update

* update

* update

* fix: provider types error

* fix: updfate UUID

* fix: update UUID

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

* chore: document hook useSonner

* refactor: document hook useSonner, according coderabbit

* impr: web search response (#310)

* impr: web search response

* refactor: extracting clickable generation logic

* refactor: extracting clickable generation logic

* fix: webSearch clickable text + reference links

* chore: fix build

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

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

---------

Co-authored-by: Bran18 <[email protected]>

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

* refactor: replicate tooltip effect in desktop bot chatbot details

* fix: add guard and removed re-render

* fix: refactor mobile bot chatbot details

* refactor: make chatPannel bigger

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

* chore: delete public and private sw + icons

* chore: include public + delete extra actions

* chore: add sidebar bg

* add sidebar new styles + lib fn

* feat: add select bot

* chore: cleaning

* fix: build - removing BotMessageSquareIcon

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

---------

Co-authored-by: sheriffjimoh <[email protected]>
Co-authored-by: Roberto Lucas <[email protected]>

---------

Co-authored-by: Gabo Esquivel <[email protected]>
Co-authored-by: Jimoh sherifdeen <[email protected]>
Co-authored-by: Nathanael Liu <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Brandon Fernández <[email protected]>
Co-authored-by: Anouk Rímola <[email protected]>
Co-authored-by: Trivium <[email protected]>
Co-authored-by: Leandro Gavidia Santamaria <[email protected]>
Co-authored-by: Jun Dam <[email protected]>
Co-authored-by: Luis Carrión <[email protected]>
Co-authored-by: Marco Ledezma <[email protected]>
Co-authored-by: Bran18 <[email protected]>
Co-authored-by: sheriffjimoh <[email protected]>
@AndlerRL AndlerRL restored the 327-standardize-url-building-using-urlbuilders-utility branch January 22, 2025 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Standardize URL parameter handling in urlBuilders Standardize URL Building Using urlBuilders Utility
2 participants