Conversation
Reviewer's Guide by SourceryThis PR implements several UI and logic improvements across the authentication flow and email handling. The changes include refactoring email templates, enhancing password management, improving form accessibility, and updating the visual design of authentication pages. No diagrams generated as the changes look simple and do not need a visual representation. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThe pull request introduces various modifications across multiple components in the application. Key changes include the transition of certain import statements to type imports for improved type management, the enhancement of user interface components with animations using the Changes
Suggested labels
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Hey @Bran18 - I've reviewed your changes - here's some feedback:
Overall Comments:
- Please clarify the WIP status - what aspects of this PR are still in progress? This will help reviewers focus on the right areas.
- The TODO comment about email provider configuration should be addressed before merging. Please update with the final email provider details or create a follow-up ticket.
Here's what I looked at during the review
- 🟡 General issues: 2 issues found
- 🟡 Security: 1 issue found
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Actionable comments posted: 13
🧹 Outside diff range and nitpick comments (39)
apps/masterbots.ai/components/routes/chat/chat-clickable-text.tsx (2)
15-23: Enhance component documentationWhile the current JSDoc comment provides basic information, it could be more comprehensive.
Consider expanding the documentation:
/** * ClickableText component + * + * @component + * @param {Object} props - Component props + * @param {React.ReactNode} props.children - The content to be rendered + * @param {boolean} props.isListItem - Indicates if the text is part of a list + * @param {(message: string) => void} [props.sendMessageFromResponse] - Callback for handling click events + * * Renders phrases as clickable links, triggering a message when clicked. + * @example + * <ClickableText isListItem={false} sendMessageFromResponse={handleMessage}> + * Click me to learn more about this topic + * </ClickableText> */
26-28: Consider adding error handlingWhile the click handler includes proper null checks, it might benefit from error handling for edge cases.
Consider wrapping the handler in a try-catch:
const handleClick = () => { - if (sendMessageFromResponse && clickableText.trim()) { - const cleanedText = cleanClickableText(clickableText) - sendMessageFromResponse(`Tell me more about ${cleanedText}`) - } + try { + if (sendMessageFromResponse && clickableText.trim()) { + const cleanedText = cleanClickableText(clickableText) + sendMessageFromResponse(`Tell me more about ${cleanedText}`) + } + } catch (error) { + console.error('Error processing clickable text:', error); + // Consider showing a user-friendly error message + } }apps/masterbots.ai/app/auth/forgot-password/page.tsx (3)
9-14: Consider adding reduced motion support for accessibility.While the animation enhances the user experience, we should respect user preferences for reduced motion.
Consider updating the animation configuration:
<motion.div className="flex flex-col min-h-[calc(100vh-4rem)] items-center py-6 sm:py-10" initial={{ opacity: 0 }} animate={{ opacity: 1 }} - transition={{ duration: 0.3 }} + transition={{ duration: 0.3 }} + whileHover={{ scale: 1 }} + {...(typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches + ? { initial: false, animate: false } + : {})} >
16-29: Consider simplifying the responsive width calculations.The current width calculations use multiple breakpoints with specific pixel values. This could be simplified using Tailwind's container utilities.
Consider this alternative approach:
-className="w-full max-w-[320px] sm:max-w-[500px] md:max-w-[726px] relative aspect-[726/200] mb-6 sm:mb-10" +className="container max-w-[726px] mx-auto relative aspect-[726/200] mb-6 sm:mb-10"
31-41: Enhance semantic structure with proper heading hierarchy.While the heading is styled correctly, we should ensure it follows proper document outline for accessibility.
Consider adding a proper heading structure:
-<h1 className="mb-4 text-2xl font-bold">Forgot Password</h1> +<div role="main" aria-labelledby="forgot-password-title"> + <h1 id="forgot-password-title" className="mb-4 text-2xl font-bold">Forgot Password</h1> +</div>apps/masterbots.ai/app/auth/reset-password/page.tsx (2)
20-34: Consider adding blur placeholder for the logo image.While the image has
priorityset, adding a blur placeholder would further improve perceived performance.<Image src="/images/masterbotslogo.png" fill priority alt="Masterbots Logo" className="object-contain" + placeholder="blur" + blurDataURL="data:image/jpeg;base64,/9j/4AAQSkZJRg..." />
37-47: Enhance the loading state with a skeleton loader.The current loading state is too simple. Consider implementing a skeleton loader for better user experience.
-<Suspense fallback={<div>Loading...</div>}> +<Suspense + fallback={ + <div className="animate-pulse space-y-4"> + <div className="h-10 bg-gray-200 rounded w-3/4" /> + <div className="h-10 bg-gray-200 rounded" /> + <div className="h-10 bg-gray-200 rounded w-1/2" /> + </div> + } +> <ResetPasswordForm token={searchParams.token} /> </Suspense>apps/masterbots.ai/app/auth/signin/page.tsx (1)
19-22: Consider enhancing the alt text for better accessibility.The image implementation is solid with priority loading and proper responsive handling. However, the alt text could be more descriptive.
- alt="Masterbots Logo" + alt="Masterbots AI - Intelligent Automation Platform"apps/masterbots.ai/components/auth/forgot-password-form.tsx (3)
Line range hint
11-14: Consider using a more robust state management approach.The current implementation uses multiple independent state variables. Consider using a reducer or a form management library like
react-hook-formto handle form state more efficiently.Example implementation with useReducer:
type State = { email: string isLoading: boolean emailError: string } type Action = | { type: 'SET_EMAIL'; payload: string } | { type: 'SET_LOADING'; payload: boolean } | { type: 'SET_ERROR'; payload: string } | { type: 'RESET' } const initialState: State = { email: '', isLoading: false, emailError: '' } const reducer = (state: State, action: Action): State => { switch (action.type) { case 'SET_EMAIL': return { ...state, email: action.payload, emailError: '' } case 'SET_LOADING': return { ...state, isLoading: action.payload } case 'SET_ERROR': return { ...state, emailError: action.payload } case 'RESET': return initialState default: return state } }
Line range hint
25-45: Consider enhancing error handling with more specific error types.The current error handling could be improved by:
- Adding specific error types for different failure scenarios
- Implementing retry logic for network failures
- Adding proper error boundaries
Example implementation:
type ApiError = { code: string message: string } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setEmailError('') if (!validateEmail(email)) { setEmailError('Please enter a valid email address') return } setIsLoading(true) try { const response = await fetch('/api/auth/forgot-password', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email }) }) const data = await response.json() if (response.ok) { toast.success(data.message) setEmail('') } else { const error = data as ApiError switch (error.code) { case 'USER_NOT_FOUND': toast.error('No account found with this email') break case 'RATE_LIMITED': toast.error('Too many attempts. Please try again later') break default: toast.error(error.message || 'An error occurred') } } } catch (error) { console.error('Error:', error) toast.error('Network error. Please check your connection') } finally { setIsLoading(false) } }
Line range hint
47-70: Consider adding loading state visual feedback.While the button text changes during loading, consider adding a spinner or progress indicator for better user experience.
Example implementation:
<Button type="submit" className="w-full" disabled={isLoading}> - {isLoading ? 'Sending...' : 'Send Reset Email'} + {isLoading ? ( + <div className="flex items-center justify-center gap-2"> + <Spinner className="h-4 w-4" /> + <span>Sending...</span> + </div> + ) : ( + 'Send Reset Email' + )} </Button>apps/masterbots.ai/app/auth/signup/page.tsx (2)
9-14: Consider adding initial styles to prevent layout shift.While the fade-in animation is subtle, it might cause layout shift during page load. Consider adding
style={{ opacity: 0 }}to the initial HTML to match the animation's starting state.<motion.div className="flex flex-col min-h-[calc(100vh-4rem)] items-center py-6 sm:py-10" + style={{ opacity: 0 }} initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ duration: 0.3 }} >
16-29: Consider using intrinsic aspect ratio for the logo.The aspect ratio is hardcoded to 726/200, which might not match the actual logo dimensions if they change. Consider letting the image maintain its intrinsic aspect ratio.
-<motion.div - className="w-full max-w-[320px] sm:max-w-[500px] md:max-w-[726px] relative aspect-[726/200] mb-6 sm:mb-10" +<motion.div + className="w-full max-w-[320px] sm:max-w-[500px] md:max-w-[726px] relative mb-6 sm:mb-10" > <Image src="/images/masterbotslogo.png" fill priority alt="Masterbots Logo" - className="object-contain" + className="object-contain !relative !h-auto" + width={726} + height={200} /> </motion.div>apps/masterbots.ai/lib/password.ts (1)
4-11: Consider enhancing password strength calculation.The current implementation could be strengthened by:
- Adding minimum length requirement before awarding any points
- Checking for common patterns or dictionary words
- Penalizing repetitive characters
Example enhancement:
export function calculatePasswordStrength(password: string): number { let strength = 0 - if (password.length > 7) strength += 1 + // Require minimum length before awarding any points + if (password.length < 8) return 0 + + strength += 1 // Base point for minimum length if (password.length > 10) strength += 1 if (/[A-Z]/.test(password)) strength += 1 if (/[a-z]/.test(password)) strength += 1 if (/[0-9]/.test(password)) strength += 1 if (/[^A-Za-z0-9]/.test(password)) strength += 1 + + // Penalize repetitive characters + if (/(.)\1{2,}/.test(password)) strength -= 1 return strength }apps/masterbots.ai/components/layout/header/user-menu.tsx (2)
47-49: Fix indentation and improve accessibilityThe current implementation has formatting issues and lacks accessibility considerations.
Apply these improvements:
- <span className="ml-2"> - {user?.name && truncateUsername(user.name)} - </span> + <span + className="ml-2" + title={user?.name || ''} {/* Show full name on hover */} + > + {truncateUsername(user?.name)} + </span>
24-26: Consider extracting text truncation to a shared utilityThe
truncateUsernamefunction could be useful in other components. Consider:
- Moving it to a shared utilities folder (e.g.,
utils/string-helpers.ts)- Making it more generic (e.g.,
truncateText) for reuse- Adding unit tests for the utility function
Also applies to: 47-49
apps/masterbots.ai/lib/email.ts (2)
Line range hint
22-29: Track the SendGrid configuration update.The TODO comment about temporary SendGrid configuration should be tracked to prevent technical debt.
Would you like me to create a GitHub issue to track this task? The issue could include:
- Current email provider configuration
- Requirements for the new provider
- Timeline for the update
Line range hint
54-60: Enhance error handling in sendPasswordResetEmail.The current error handling silently logs errors, which could lead to a poor user experience if the email fails to send.
Consider this improvement:
try { await transporter.sendMail(mailOptions) console.log(`Password reset email sent to ${email}`) } catch (error) { console.error('Error sending password reset email:', error) + throw new Error('Failed to send password reset email') }apps/masterbots.ai/components/auth/signin-form.tsx (1)
58-73: Enhance accessibility and user experience of the password toggle.The implementation is good, but could benefit from these improvements:
<button type="button" onClick={() => setShowPassword(!showPassword)} - className="absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600" + className="absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-fuchsia-500 focus:ring-offset-2 rounded-sm" + aria-label={showPassword ? "Hide password" : "Show password"} + title={showPassword ? "Hide password" : "Show password"} > {showPassword ? <EyeOff size={20} /> : <Eye size={20} />} </button>These changes will:
- Add keyboard focus styles for better accessibility
- Include aria-label for screen readers
- Add a tooltip for better UX
apps/masterbots.ai/components/routes/chat/chat-combobox.tsx (1)
Model selection should be enabled in production
The environment check in the model selection logic is incorrect. Looking at the codebase:
- The
NEXT_PUBLIC_APP_ENVis used for valid environments (local, dev, prod) primarily in Hasura client configuration- There's no indication that model selection should be disabled in production
- The current implementation effectively makes the model selector non-functional in production by returning an empty string
The suggested refactoring should be revised to:
onSelect={currentValue => { - process.env.NEXT_PUBLIC_APP_ENV !== 'prod' - ? (setValue(currentValue === value ? '' : currentValue), changeModel(currentValue as AIModels)) - : '' - setOpen(false) // Closes the popover after selection. + setValue(currentValue === value ? '' : currentValue); + changeModel(currentValue as AIModels); + setOpen(false); }}🔗 Analysis chain
Line range hint
89-93: Improve model selection logic and formattingThe current implementation has several issues:
- The environment check might prevent model selection in production
- The code formatting makes it difficult to understand the logic flow
- The
setOpen(false)placement outside the conditional might be unintentionalConsider refactoring the onSelect handler for better clarity and functionality:
onSelect={currentValue => { - process.env.NEXT_PUBLIC_APP_ENV !== 'prod' - ? (setValue(currentValue === value ? '' : currentValue), changeModel(currentValue as AIModels)) - : '' - setOpen(false) // Closes the popover after selection. + if (process.env.NEXT_PUBLIC_APP_ENV !== 'prod') { + setValue(currentValue === value ? '' : currentValue); + changeModel(currentValue as AIModels); + } + setOpen(false); }}Also, please verify if the production environment check is intentional, as it prevents model selection in production.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if this environment check pattern is used elsewhere rg "NEXT_PUBLIC_APP_ENV.*prod" --type ts --type tsxLength of output: 81
Script:
#!/bin/bash # Let's try without file type restrictions since the extension might not be recognized rg "NEXT_PUBLIC_APP_ENV.*prod"Length of output: 239
Script:
#!/bin/bash # Also check for any model selection related logic ast-grep --pattern 'onSelect={$_}'Length of output: 36
Script:
#!/bin/bash # Look for environment checks in the codebase rg "process\.env\.NEXT_PUBLIC_APP"Length of output: 615
Script:
#!/bin/bash # Let's check the validateMbEnv function to understand valid environments rg -A 5 "validateMbEnv"Length of output: 2690
Script:
#!/bin/bash # Let's check the model selection related code in the file cat "apps/masterbots.ai/components/routes/chat/chat-combobox.tsx"Length of output: 3700
apps/masterbots.ai/components/auth/reset-password-form.tsx (2)
Line range hint
31-45: Add password requirements messaging for better UX.Consider displaying password requirements proactively before users encounter validation errors. This would improve user experience by setting clear expectations upfront.
const handlePasswordChange = (e: React.ChangeEvent<HTMLInputElement>) => { const newPassword = e.target.value setState({ password: newPassword, passwordError: newPassword && !isPasswordStrong(newPassword) - ? 'Password is not strong enough' + ? 'Password must contain at least 8 characters, including uppercase, lowercase, numbers, and special characters' : '' }) }
Line range hint
89-117: Enhance accessibility with ARIA labels.The password visibility toggle buttons should have proper ARIA labels for better accessibility.
<button type="button" onClick={() => setState({ showPassword: !state.showPassword })} + aria-label={state.showPassword ? "Hide password" : "Show password"} className="absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600" > {state.showPassword ? <EyeOff size={20} /> : <Eye size={20} />} </button>apps/masterbots.ai/lib/email-template.ts (1)
1-11: LGTM! Consider adding JSDoc comments.The interface is well-structured with appropriate optional fields. Consider adding JSDoc comments to document the purpose of each field, especially for optional ones.
+/** + * Parameters for creating an email template + */ interface EmailTemplateParams { + /** Email subject and main heading */ title: string; + /** Optional preview text shown in email clients */ previewText?: string; content: { + /** Optional greeting (e.g., "Hello,") */ greeting?: string; + /** Array of paragraphs for the main content */ mainText: string[]; + /** Text to display on the CTA button */ buttonText: string; + /** URL for the CTA button */ buttonUrl: string; + /** Optional text to display in footer */ footerText?: string; }; }apps/masterbots.ai/components/routes/chat/chat-options.tsx (4)
45-58: Improve error handling in the delete operation.The error handling could be more robust by providing a default error message.
Consider this improvement:
- toast.error(result?.message) + toast.error(result?.message ?? 'Failed to delete thread. Please try again.')
Line range hint
60-97: Consider extracting AlertDialogue to a separate component.The AlertDialogue component is currently nested within ChatOptions. For better reusability and maintainability, consider extracting it to a separate component.
This would improve code organization and make it easier to test. You could move it to:
- A new file in the same directory
- A shared components directory if it might be reused elsewhere
102-106: Improve BadgeCheck icon styling maintainability.The inline color styling could be replaced with Tailwind classes for better maintainability.
Consider this improvement:
- <BadgeCheck className="w-4 h-4 bg-[#388DE2] text-white rounded-full" /> + <BadgeCheck className="w-4 h-4 bg-blue-500 text-white rounded-full" />
Line range hint
117-120: Enhance dropdown trigger button accessibility.The MoreVertical trigger button lacks proper accessibility attributes.
Add proper ARIA labels and role:
<DropdownMenuTrigger asChild> - <MoreVertical className="w-4 h-4" /> + <Button + variant="ghost" + size="sm" + className="p-0 h-auto" + aria-label="More options" + > + <MoreVertical className="w-4 h-4" /> + </Button> </DropdownMenuTrigger>apps/masterbots.ai/components/auth/signup-form.tsx (4)
87-89: Consider adding aria-label for accessibility.The password visibility toggle implementation is clean and type-safe. However, the toggle buttons should have aria-labels for better accessibility.
<button type="button" onClick={() => togglePasswordVisibility('showPassword')} + aria-label={state.showPassword ? 'Hide password' : 'Show password'} className="absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600" >Also applies to: 153-159, 177-183
49-53: Consider optimizing password validation timing.The current implementation validates passwords on both blur and form submission. This might lead to duplicate validations and potentially inconsistent feedback.
Consider:
- Removing the onBlur handlers and validating only on form submission, or
- Implementing a debounced validation on change for real-time feedback
<Input id="password" name="password" type={state.showPassword ? 'text' : 'password'} min="8" required value={state.password} onChange={handleInputChange} - onBlur={validatePassword} className="pr-10" />Also applies to: 150-150, 174-174
141-152: Enhance password field security measures.While the password visibility toggle is a good UX feature, consider adding these security enhancements:
- Add
autocompleteattributes to password fields:<Input id="password" name="password" type={state.showPassword ? 'text' : 'password'} min="8" required + autocomplete="new-password" value={state.password} onChange={handleInputChange} className="pr-10" />
- Consider adding a
spellcheck="false"attribute to prevent potential password logging in browser spell checkers.Also applies to: 165-176
Line range hint
96-100: Consider making verification link expiration time configurable.The verification notice hardcodes the expiration time to 15 days. Consider making this configurable through environment variables or system settings for easier maintenance.
- The verification link will expire in 15 days. + The verification link will expire in {process.env.NEXT_PUBLIC_VERIFICATION_EXPIRY_DAYS} days.apps/masterbots.ai/app/actions/ai-executers.ts (5)
7-7: Fix typo in type nameWordWareDescribeDAtaResponse.The type name contains a typo: "DAtaResponse" should be "DataResponse".
-import type { WordWareDescribeDAtaResponse } from '@/types/wordware-flows.types' +import type { WordWareDescribeDataResponse } from '@/types/wordware-flows.types'
Line range hint
144-146: Inconsistent error handling pattern.The error handling at the end of
getWebSearchToolreturns a plain string, while other error handlers return JSON.stringify'd objects. This inconsistency could break clients expecting a consistent format.- return 'Internal Server Error while fetching app data' + return JSON.stringify({ + error: 'Internal Server Error while fetching app data' + })
Line range hint
115-121: Consider implementing a circuit breaker for large buffers.The current implementation has a hard limit of 10,000 characters for the buffer with a simple clear operation. This could lead to data loss or memory issues.
Consider implementing a proper circuit breaker pattern:
- if (buffer.length > 10000) { - console.warn('Buffer overflow, clearing unmatched data') - buffer = '' - } + const MAX_BUFFER_SIZE = 10000; + if (buffer.length > MAX_BUFFER_SIZE) { + console.warn(`Buffer exceeded ${MAX_BUFFER_SIZE} characters, processing partial data`); + const lastNewline = buffer.lastIndexOf('\n'); + if (lastNewline !== -1) { + // Process complete lines and keep the remainder + const processable = buffer.slice(0, lastNewline); + buffer = buffer.slice(lastNewline + 1); + // Process the complete lines here + } + }
Line range hint
63-77: Extract repeated error messages into constants.Error messages are duplicated across different response status checks. This makes maintenance harder and could lead to inconsistent messaging.
const ERROR_MESSAGES = { INTERNAL_SERVER: 'Internal Server Error while fetching app data. Please try again later.', AUTHENTICATION: 'Failed to authenticate for the app. Please try again.' } as const;Then use these constants in the error handling blocks.
Line range hint
150-158: Add type annotations for function parameters.The
getPromptDetailsfunction's parameters lack explicit type annotations, which could make the code harder to maintain.-export async function getPromptDetails(promptId: string) { +interface PromptDetails { + data: any; + error: string | null; + inputs: Record<string, string>; +} + +export async function getPromptDetails(promptId: string): Promise<PromptDetails> {apps/masterbots.ai/lib/utils.ts (3)
235-248: Consider optimizing UNIQUE_PHRASES list.The list contains some redundant or very similar phrases that could be consolidated:
- "Unique, lesser-known" and "Unique, Lesser-Known Destination" follow the same pattern
- "Unique insight" and "Unique Insight: Lesser-Known Solution" are overlapping
Consider consolidating similar phrases and using a more structured approach:
export const UNIQUE_PHRASES = [ - 'Unique, lesser-known', - 'Unique insight', - 'Unique Tip', - 'Unique, lesser-known solution', - 'Unique Solution', - 'Unique, lesser-known option', - 'Unique Insight: Lesser-Known Solution', - 'Unique Recommendation', - 'Lesser-Known Gem', - 'For a UNIQUE, LESSER-KNOWN phrase', - 'Unique, Lesser-Known Destination' + 'Unique, lesser-known', + 'Unique insight', + 'Unique tip', + 'Lesser-known gem', + 'Unique recommendation' ] as const
302-304: Pre-compile regex for cleanClickableText.The regex pattern is recreated on every function call.
Consider pre-compiling the regex:
+const TRAILING_PUNCTUATION_REGEX = /(:|\.|\,)\s*$/ + export function cleanClickableText(text: string): string { - return text.replace(/(:|\.|\,)\s*$/, '') + return text.replace(TRAILING_PUNCTUATION_REGEX, '') }
271-272: Add documentation for GENERAL_PATTERN.The purpose and usage of this pattern could be clearer.
Consider adding a detailed comment:
-// * Pattern for general text parsing +/** + * Pattern for extracting text segments ending with punctuation. + * Captures three groups: + * 1. Text content before the punctuation + * 2. The punctuation mark (: or . or ,) + * 3. Following whitespace or end of string + */ export const GENERAL_PATTERN = /(.*?)([:.,])(?:\s|$)/g
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (19)
apps/masterbots.ai/app/actions/ai-executers.ts(1 hunks)apps/masterbots.ai/app/auth/forgot-password/page.tsx(1 hunks)apps/masterbots.ai/app/auth/reset-password/page.tsx(1 hunks)apps/masterbots.ai/app/auth/signin/page.tsx(2 hunks)apps/masterbots.ai/app/auth/signup/page.tsx(1 hunks)apps/masterbots.ai/components/auth/forgot-password-form.tsx(1 hunks)apps/masterbots.ai/components/auth/reset-password-form.tsx(2 hunks)apps/masterbots.ai/components/auth/signin-form.tsx(3 hunks)apps/masterbots.ai/components/auth/signup-form.tsx(6 hunks)apps/masterbots.ai/components/layout/header/header.tsx(2 hunks)apps/masterbots.ai/components/layout/header/user-menu.tsx(3 hunks)apps/masterbots.ai/components/routes/chat/chat-clickable-text.tsx(1 hunks)apps/masterbots.ai/components/routes/chat/chat-combobox.tsx(1 hunks)apps/masterbots.ai/components/routes/chat/chat-options.tsx(5 hunks)apps/masterbots.ai/components/shared/password-strength-meter.tsx(2 hunks)apps/masterbots.ai/lib/email-template.ts(1 hunks)apps/masterbots.ai/lib/email.ts(4 hunks)apps/masterbots.ai/lib/password.ts(1 hunks)apps/masterbots.ai/lib/utils.ts(2 hunks)
✅ Files skipped from review due to trivial changes (1)
- apps/masterbots.ai/components/layout/header/header.tsx
🔇 Additional comments (25)
apps/masterbots.ai/components/shared/password-strength-meter.tsx (2)
1-1: LGTM! Optimized React import.
Converting React to a type import is a good optimization since this component only uses React's type information.
12-12: LGTM! Improved export pattern.
The transition from default export to named export with explicit type annotation is a good practice that:
- Makes imports more explicit and consistent
- Improves tree-shaking capabilities
- Makes future refactoring easier
apps/masterbots.ai/components/routes/chat/chat-clickable-text.tsx (1)
1-5: LGTM! Well-organized imports
The imports are clean and specific, importing only the necessary utility functions.
apps/masterbots.ai/app/auth/forgot-password/page.tsx (1)
1-5: LGTM! Clean and well-organized imports.
The imports are properly structured and each has a clear purpose in the component.
apps/masterbots.ai/app/auth/reset-password/page.tsx (3)
1-7: LGTM! Clean and well-organized imports.
The imports are properly structured and include all necessary dependencies.
8-13: LGTM! Well-typed component definition.
The component props are properly typed with TypeScript, ensuring type safety for the token parameter.
14-19: Verify the header height assumption in the min-height calculation.
The min-height calculation (calc(100vh-4rem)) assumes a 4rem header height. Let's verify this is consistent across the application.
✅ Verification successful
Based on the search results, I can generate the final response as we have sufficient information about the viewport height calculations across the application.
Header height calculation is consistent across the application
The calc(100vh-4rem) height calculation in the reset password page aligns with the application-wide pattern. The codebase consistently uses either:
- Direct
4remsubtraction: Used in auth pages, chat layout, and workspace layouts theme(spacing.16)subtraction: Used in various layout components, which is equivalent to 4rem in the theme system
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for other viewport height calculations to ensure consistency
rg -g '*.{tsx,css,scss}' 'calc\(100vh[^)]*\)' --no-heading
Length of output: 2171
apps/masterbots.ai/app/auth/signin/page.tsx (2)
15-16: LGTM! Improved responsive layout.
The use of min-h-[calc(100vh-4rem)] ensures proper content spacing while accounting for the header height, and the responsive padding (py-6 sm:py-10) provides better spacing across different screen sizes.
26-26: LGTM! Well-structured content wrapper.
The max-w-[min(100%,400px)] ensures optimal content width while maintaining responsiveness.
apps/masterbots.ai/components/auth/forgot-password-form.tsx (1)
3-4: LGTM! Clean import restructuring.
The change from default React import to type import is a good practice in modern TypeScript, as it better reflects the actual usage of React in this file (only for types).
apps/masterbots.ai/app/auth/signup/page.tsx (1)
1-6: LGTM: Imports and component setup are correct.
The necessary imports are present, and the 'use client' directive is correctly placed for client-side animations.
apps/masterbots.ai/lib/password.ts (2)
1-1: LGTM! Good use of type-only import.
Using type import for React is appropriate here since only type information is needed for event handlers, helping to reduce bundle size.
47-49: Verify the strength threshold across the application.
The function considers a password strong at strength >= 4, which means it only requires meeting 4 out of 6 criteria. Ensure this aligns with your security requirements.
✅ Verification successful
Password strength validation is consistently implemented across the application
The password strength threshold of 4 out of 6 criteria is consistently enforced across the application:
- The
isPasswordStrong()function inpassword.tsrequires a strength >= 4 - Both the signup form and reset password form use this same function for validation
- The criteria are well-balanced, requiring:
- Minimum length of 8 characters (base requirement)
- Additional points for length > 10
- Uppercase letters
- Lowercase letters
- Numbers
- Special characters
The implementation provides good security while maintaining usability by requiring users to meet at least 4 of these 6 criteria, which aligns with modern password security recommendations.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for other password validation logic in the codebase
rg -l "password.*validation|password.*strength" --type ts --type tsx
Length of output: 98
Script:
#!/bin/bash
# Search for password-related validation patterns in TypeScript files
rg -l "password.*validation|password.*strength|validatePassword" --type ts
# Show the content of the password.ts file to understand the full context
cat apps/masterbots.ai/lib/password.ts
# Search for any other password-related constants or thresholds
rg "password.*strength|PASSWORD.*STRENGTH" --type ts
Length of output: 2994
Script:
#!/bin/bash
# Let's check the password strength meter component and forms to see how they use the strength validation
cat apps/masterbots.ai/components/shared/password-strength-meter.tsx
cat apps/masterbots.ai/components/auth/signup-form.tsx
cat apps/masterbots.ai/components/auth/reset-password-form.tsx
Length of output: 11681
apps/masterbots.ai/components/layout/header/user-menu.tsx (1)
3-3: LGTM: Good use of type-only import
The change to use type-only import for Session is appropriate as it's only used for type definitions.
apps/masterbots.ai/lib/email.ts (3)
2-5: LGTM! Good separation of concerns.
The extraction of email template logic into a separate module improves modularity and maintainability.
Line range hint 88-96: LGTM! Good error handling implementation.
The verification email implementation includes proper error propagation and a sensible default subject.
2-5: Verify the imported template functions.
Let's ensure the imported template functions are properly defined in the email-template module.
✅ Verification successful
Let me check the content of the email-template.ts file to verify the function implementations.
Both imported template functions are properly defined
The verification confirms that both createPasswordResetTemplate and createVerificationTemplate functions are correctly exported and implemented in the email-template.ts file. They both utilize a base template and provide appropriate email templates for password reset and email verification functionalities.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the existence and implementation of imported template functions
# Test: Search for the template function implementations
ast-grep --pattern 'export function createPasswordResetTemplate'
ast-grep --pattern 'export function createVerificationTemplate'
# Test: Check if the email-template file exists relative to this file
fd -p ".*email-template\.ts$" apps/masterbots.ai/lib/
Length of output: 229
Script:
#!/bin/bash
# Check the content of email-template.ts
cat apps/masterbots.ai/lib/email-template.ts
Length of output: 4823
apps/masterbots.ai/components/auth/signin-form.tsx (2)
12-12: LGTM: Icon imports for password visibility.
The imported icons are appropriate for the password visibility toggle feature.
17-17: LGTM: Password visibility state management.
The state variable is well-named and initialized with a secure default value.
apps/masterbots.ai/components/auth/reset-password-form.tsx (1)
Line range hint 47-71: Consider implementing client-side token validation.
While server-side validation is crucial and implemented, consider adding client-side token validation to improve user experience. This could prevent unnecessary API calls with expired tokens.
Let's check if token validation exists in the API route:
#!/bin/bash
# Description: Check for token validation in the API route
rg -A 5 "reset-password" "pages/api" "app/api"apps/masterbots.ai/lib/email-template.ts (1)
117-132: LGTM! Verify reset URL format.
The implementation follows security best practices with clear messaging and expiration notice.
Let's verify the reset URL format in other files:
apps/masterbots.ai/components/routes/chat/chat-options.tsx (1)
Line range hint 1-33: LGTM! Well-organized imports and type definitions.
The imports are logically grouped and the TypeScript interface is properly defined.
apps/masterbots.ai/components/auth/signup-form.tsx (1)
10-12: LGTM: Clean import statements and well-typed interface updates.
The new imports and interface extensions properly support the password visibility feature.
Also applies to: 21-22
apps/masterbots.ai/app/actions/ai-executers.ts (1)
7-7: LGTM! Good practice using type import.
Converting the import to a type import is a good practice as it ensures the type is only used for type checking and will be removed during compilation, potentially reducing bundle size.
apps/masterbots.ai/lib/utils.ts (1)
7-7: LGTM: Clean type import.
The type import for ReactNode is properly added and follows TypeScript best practices.
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (5)
apps/masterbots.ai/lib/password.ts (2)
3-15: LGTM! Consider adding JSDoc for the exported type.The type definitions and constants are well-structured. The
Recordtype ensures type safety for the strength labels mapping.Consider adding JSDoc documentation for the exported
PasswordStrengthtype:/** * Represents password strength levels from 0 (Very Weak) to 6 (Very Strong) */ export type PasswordStrength = 0 | 1 | 2 | 3 | 4 | 5 | 6
57-89: Extract color constants for better maintainability.The color values should be extracted into named constants for better maintainability and reuse.
Consider this refactor:
+const STRENGTH_COLORS = { + VERY_WEAK: '#EF4444', // red-500 + MODERATE: '#F59E0B', // yellow-500 + STRONG: '#10B981', // green-500 + VERY_STRONG: '#047857' // green-700 +} as const export function getPasswordStrengthColor(strength: number): string { switch (strength) { case 0: case 1: - return '#EF4444' // red-500 + return STRENGTH_COLORS.VERY_WEAK // ... similar changes for other cases } }apps/masterbots.ai/components/routes/browse/browse-list-item.tsx (2)
154-191: Consider improving layout maintainability.While the responsive design improvements are good, there are some suggestions for better maintainability:
- Consider extracting the hardcoded width calculations into CSS custom properties or Tailwind theme values
- The spacing values could be standardized using Tailwind's spacing scale
- Add error handling for the Image component
Consider these improvements:
-<div className="flex items-center gap-2 sm:gap-4 w-[calc(100%-100px)] sm:w-[calc(100%-124px)]"> +<div className="flex items-center gap-2 sm:gap-4 w-[--content-width]"> -<Image - className="transition-opacity duration-300 rounded-full select-none hover:opacity-80" - src={thread.user?.profilePicture || '/images/robohash1.png'} - alt={thread.user?.username ?? 'Avatar'} - height={40} - width={40} +<Image + className="transition-opacity duration-300 rounded-full select-none hover:opacity-80" + src={thread.user?.profilePicture || '/images/robohash1.png'} + alt={thread.user?.username ?? 'Avatar'} + height={40} + width={40} + onError={(e) => { + e.currentTarget.src = '/images/robohash1.png' + }} />Add to your CSS:
:root { --content-width: calc(100% - var(--sidebar-width)); --sidebar-width: 100px; } @media (min-width: 640px) { :root { --sidebar-width: 124px; } }
Line range hint
208-214: Simplify conditional rendering.The empty string fallback in the conditional rendering can be simplified by removing the explicit empty string.
- thread.messages?.[1]?.role !== 'user' ? ( - <div className="flex-1 space-y-2 overflow-hidden"> - <ShortMessage content={thread.messages?.[1]?.content} /> - </div> - ) : ( - '' - )} + thread.messages?.[1]?.role !== 'user' && ( + <div className="flex-1 space-y-2 overflow-hidden"> + <ShortMessage content={thread.messages?.[1]?.content} /> + </div> + )}apps/masterbots.ai/components/routes/browse/browse-accordion.tsx (1)
38-46: Consider adding type safety and removing empty line.The
toggleBodyScrollimplementation is solid, but could benefit from some refinements:const toggleBodyScroll = (disable: boolean) => { if (typeof window === 'undefined') return - document.body.style.overflow = disable ? 'hidden' : 'auto' // Prevent iOS Safari bouncing document.body.style.position = disable ? 'fixed' : 'static' document.body.style.width = disable ? '100%' : 'auto' } as constConsider adding type safety by declaring the style properties:
type BodyStyle = { overflow: 'hidden' | 'auto' position: 'fixed' | 'static' width: '100%' | 'auto' }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (7)
apps/masterbots.ai/app/auth/signin/page.tsx(2 hunks)apps/masterbots.ai/app/auth/signup/page.tsx(1 hunks)apps/masterbots.ai/components/layout/header/user-menu.tsx(3 hunks)apps/masterbots.ai/components/routes/browse/browse-accordion.tsx(3 hunks)apps/masterbots.ai/components/routes/browse/browse-list-item.tsx(2 hunks)apps/masterbots.ai/components/shared/password-strength-meter.tsx(2 hunks)apps/masterbots.ai/lib/password.ts(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
- apps/masterbots.ai/app/auth/signin/page.tsx
- apps/masterbots.ai/app/auth/signup/page.tsx
- apps/masterbots.ai/components/layout/header/user-menu.tsx
- apps/masterbots.ai/components/shared/password-strength-meter.tsx
🔇 Additional comments (3)
apps/masterbots.ai/lib/password.ts (1)
103-115:
Security: Avoid storing passwords in FormData.
Using FormData to store passwords is risky as it keeps sensitive data in memory longer than necessary. Consider passing the password value directly or using a secure form management library.
Let's check for other instances of password exposure:
apps/masterbots.ai/components/routes/browse/browse-list-item.tsx (1)
Line range hint 91-108: Verify thread navigation and history management.
The component manages browser history and navigation states. Let's verify that all thread-related files are properly handled.
✅ Verification successful
Thread navigation implementation is correctly handled
The implementation of thread navigation and history management in browse-list-item.tsx is properly implemented with the following key aspects:
- The component correctly maintains the initial URL state
- URL updates are synchronized with accordion state changes
- The
toSlugfunction is consistently used across the codebase - History management is isolated to this component and the checkout component, preventing conflicts
- The component properly restores the initial URL when the accordion is closed
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify thread navigation-related files and their usage
# Test 1: Check for other files that might be affected by URL/history management
echo "Checking for other components that manage browser history:"
rg -l "history\.pushState" --type ts --type tsx
# Test 2: Verify consistent usage of toSlug across the codebase
echo "Checking for consistent slug generation:"
rg "toSlug\(" --type ts --type tsx -A 2
# Test 3: Look for potential race conditions in URL management
echo "Checking for other useEffect hooks managing URLs:"
ast-grep --pattern 'useEffect($$$) { $$$history$$$ }' --lang ts
Length of output: 995
Script:
#!/bin/bash
# Let's fix the previous script with correct file types and pattern
# Test 1: Check for history.pushState usage
echo "Files using history.pushState:"
rg -l "history\.pushState"
# Test 2: Check for toSlug usage
echo -e "\nFiles using toSlug:"
rg -l "toSlug"
# Test 3: Look for URL/history management in useEffect
echo -e "\nComponents with URL/history management in useEffect:"
rg "useEffect.*history" -A 2
# Test 4: Check for threadId usage in URLs
echo -e "\nThreadId usage in URLs:"
rg "thread.*Id.*['\"`]/" -A 2
Length of output: 1731
Script:
#!/bin/bash
# Let's examine the specific implementations
# Check browse-list-item.tsx implementation
echo "Browse list item implementation:"
cat "apps/masterbots.ai/components/routes/browse/browse-list-item.tsx"
# Check thread-related URL handling in other files
echo -e "\nThread URL handling in other components:"
rg "\/\$\{.*thread.*Id\}" -A 2
# Check toSlug implementation
echo -e "\ntoSlug implementation:"
rg -A 5 "export.*function.*toSlug"
Length of output: 9095
apps/masterbots.ai/components/routes/browse/browse-accordion.tsx (1)
191-194: Review z-index stacking and comment style.
The mobile styling implementation looks good, but consider:
- Update the comment style to match the codebase:
- //! Add styles for mobile when open
+ // Add styles for mobile when open- Verify z-index stacking context with other fixed elements:
apps/masterbots.ai/components/routes/browse/browse-accordion.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (2)
apps/masterbots.ai/components/auth/signup-form.tsx (2)
173-173: Consider removing redundant password verification.The
verifyPasswordfunction is used inonBlurbut seems redundant since password matching is already checked during form submission.- onBlur={verifyPassword}
141-183: Enhance accessibility for password fields.While the implementation is solid, consider these accessibility improvements:
<button type="button" onClick={() => togglePasswordVisibility('showPassword')} className="absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600" + aria-label={state.showPassword ? "Hide password" : "Show password"} > {state.showPassword ? <EyeOff size={20} /> : <Eye size={20} />} </button> </div> <PasswordStrengthMeter password={state.password} /> </div> <div className="space-y-2"> <Label htmlFor="passwordVerify" variant="required">Verify Password</Label> <div className="relative"> <Input id="passwordVerify" name="passwordVerify" type={state.showPasswordVerify ? 'text' : 'password'} min="8" required + autoComplete="new-password" value={state.passwordVerify} onChange={handleInputChange} - onBlur={verifyPassword} className="pr-10" /> <button type="button" onClick={() => togglePasswordVisibility('showPasswordVerify')} className="absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600" + aria-label={state.showPasswordVerify ? "Hide password" : "Show password"} >
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
apps/masterbots.ai/components/auth/signup-form.tsx(6 hunks)apps/masterbots.ai/components/routes/browse/browse-accordion.tsx(3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- apps/masterbots.ai/components/routes/browse/browse-accordion.tsx
🔇 Additional comments (4)
apps/masterbots.ai/components/auth/signup-form.tsx (4)
10-12: LGTM: Clean import statements and well-structured interface updates.
The new imports and interface changes properly support the password visibility feature.
Also applies to: 21-22
32-34: LGTM: Proper state initialization.
The new state properties are correctly initialized with appropriate default values.
49-53: LGTM: Robust password validation logic.
The password strength validation is properly implemented before form submission.
87-89: LGTM: Well-implemented password visibility toggle.
The function is type-safe and efficiently handles both password fields.
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Outside diff range and nitpick comments (8)
apps/masterbots.ai/components/layout/header/user-menu.tsx (1)
48-50: Improve code formatting and semanticsThe current implementation has formatting issues and could be more semantic:
- Inconsistent indentation in the JSX
- The span could benefit from more semantic class names
Consider this improvement:
- <span className="ml-2"> - {user?.name && truncateUsername(user.name)} - </span> + <span className="ml-2 truncate"> + {user?.name && truncateUsername(user.name)} + </span>apps/masterbots.ai/components/routes/thread/thread-share-link.tsx (2)
Line range hint
15-31: Remove debugging code and improve error messages.The error handling implementation is good, but there are a few improvements to consider:
- Remove the debugging
console.log('result:')statement- Consider using more user-friendly error messages instead of technical ones
const copyToClipboard = async () => { setStatus('loading') try { const { data, error } = await generateShortLink(window.location.pathname) - console.log('result:') if (error) throw new Error(`Error generating link: ${error}`) - if (!data) throw new Error('No data received from link generation') + if (!data) throw new Error('Unable to generate sharing link. Please try again.') navigator.clipboard.writeText(data.shortLink) setStatus('copied')
43-44: Improve accessibility documentation and labels.While adding the aria-label is good, consider these improvements:
- Add a proper explanation for the biome-ignore comment
- Use a more descriptive aria-label that explains the icon's purpose
- // biome-ignore lint/a11y/noSvgWithoutTitle: <explanation> + // biome-ignore lint/a11y/noSvgWithoutTitle: Using aria-label instead of title for better screen reader support <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" - aria-label="Default Icon" + aria-label="Share link button"apps/masterbots.ai/components/routes/browse/browse-user-details.tsx (1)
13-13: Remove incomplete comment.The "ss" comment appears to be an accidental addition and should be removed.
- * ssapps/masterbots.ai/components/routes/browse/browse-chatbot-details.tsx (2)
87-96: Enhance avatar handling with fallback and optimization.Consider the following improvements:
- Add a fallback image when avatar is empty
- The
size-24utility class might have limited browser support- <div className="size-24 mr-5 absolute border-4 border-[#388DE2] right-0 top-0 translate-x-1/4 rounded-full -translate-y-1/4 dark:bg-[#131316] bg-white"> + <div className="w-24 h-24 mr-5 absolute border-4 border-[#388DE2] right-0 top-0 translate-x-1/4 rounded-full -translate-y-1/4 dark:bg-[#131316] bg-white"> <Image className="transition-opacity duration-300 rounded-full select-none size-full ring-1 ring-zinc-100/10 hover:opacity-80" - src={chatbot?.avatar || ''} + src={chatbot?.avatar || '/default-avatar.png'} alt={ chatbot?.avatar ? `Avatar of ${chatbot?.name}` : 'Default Avatar' } height={96} width={96} + unoptimized={!chatbot?.avatar} />
Line range hint
37-74: Improve accessibility and semantic markup.
- Remove the biome-ignore comment and add a proper title to the SVG
- Consider using more semantic markup for the thread count
- {/* biome-ignore lint/a11y/noSvgWithoutTitle: <explanation> */} <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg" + aria-hidden="true" + role="img" > + <title>Back Arrow</title> <path d="M7.09973 2.15008L3.24979 6.00003L7.09973 9.84998" stroke="#FAFAFA" strokeWidth="0.962486" strokeLinecap="round" strokeLinejoin="round" /> </svg> - <div className="font-light"> - Threads: - <span className="text-[#71717A]"> - {chatbot?.threads.length ?? 1} - </span> - </div> + <dl className="font-light"> + <dt className="inline">Threads: </dt> + <dd className="inline text-[#71717A]"> + {chatbot?.threads.length ?? 1} + </dd> + </dl>apps/masterbots.ai/components/routes/thread/thread-popup.tsx (2)
Line range hint
77-87: Document the reason for ignoring the exhaustive dependencies lint rule.The biome-ignore comment lacks an explanation. Please document why certain dependencies are intentionally omitted from the dependency array.
- // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation> + // biome-ignore lint/correctness/useExhaustiveDependencies: scrollToBottom is stable and doesn't need to be in deps
Line range hint
109-124: Simplify title truncation logic and extract magic numbers.The title truncation logic could be simplified and made more maintainable.
+ const MAX_TITLE_CHUNKS = 32; + + const getTruncatedTitle = (title: string) => { + const chunks = title?.split(/\s/g); + return { + heading: chunks?.slice(0, MAX_TITLE_CHUNKS).join(' '), + subHeading: chunks?.length > MAX_TITLE_CHUNKS ? chunks.slice(MAX_TITLE_CHUNKS).join(' ') : '' + }; + }; + <div className="flex items-center justify-between gap-6"> <div className="items-center block overflow-y-auto whitespace-pre-line max-h-28 scrollbar small-thumb"> - {threadTitle ? - threadTitleChunks.length > 32 - ? threadTitleHeading + '' - : threadTitle - : ( + {threadTitle ? ( + <> + {getTruncatedTitle(threadTitle).heading} + {getTruncatedTitle(threadTitle).subHeading && ( + <span className="ml-2 overflow-hidden text-sm opacity-50"> + {getTruncatedTitle(threadTitle).subHeading} + </span> + )} + </> + ) : ( <Skeleton className="w-[280px] h-[20px]" /> - )} - {threadTitleSubHeading && ( - <span className="ml-2 overflow-hidden text-sm opacity-50"> - {threadTitleSubHeading} - </span> )} </div>
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (8)
apps/masterbots.ai/app/u/[slug]/t/page.tsx(2 hunks)apps/masterbots.ai/components/layout/header/user-menu.tsx(3 hunks)apps/masterbots.ai/components/routes/browse/browse-chatbot-details.tsx(3 hunks)apps/masterbots.ai/components/routes/browse/browse-user-details.tsx(3 hunks)apps/masterbots.ai/components/routes/chat/chat-options.tsx(5 hunks)apps/masterbots.ai/components/routes/chat/chat-panel.tsx(1 hunks)apps/masterbots.ai/components/routes/thread/thread-popup.tsx(5 hunks)apps/masterbots.ai/components/routes/thread/thread-share-link.tsx(3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- apps/masterbots.ai/components/routes/chat/chat-options.tsx
🔇 Additional comments (11)
apps/masterbots.ai/app/u/[slug]/t/page.tsx (2)
4-4: LGTM! Good TypeScript practice.
Converting the Metadata import to a type import is a good practice as it's only used for type checking. This helps with tree-shaking and bundle size optimization.
22-22: Verify the removal of vertical padding.
The removal of the py-5 class will eliminate the vertical padding around this container. Please confirm if this layout change was intentional and doesn't negatively impact the UI spacing.
✅ Verification successful
Based on the git log results, I can see that there have been several padding-related changes in the codebase. Let me search for more specific context about this particular component and its parent components.
Let me try one more search to understand the component structure and padding context better.
Let me check the child components to understand if they handle their own padding.
The padding removal is intentional and safe.
The child components handle their own spacing effectively:
BrowseUserDetailshaspy-10padding in its root containerBrowseSpecificThreadListhasmt-8margin top and proper padding- The removal of
py-5from the parent container eliminates redundant spacing
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for any related padding changes in parent/sibling components
# that might compensate for this padding removal
# Search for related components that might affect the layout
rg -A 5 "BotThreadsPage|BrowseUserDetails|BrowseSpecificThreadList" --type tsx
# Look for any padding-related changes in recent commits
git log -p --since="1 month ago" | rg "py-[0-9]"
Length of output: 8836
Script:
#!/bin/bash
# Search for the specific file and its content
rg -p "w-full" apps/masterbots.ai/app/u/[slug]/t/page.tsx
# Search for any layout components that might be wrapping this component
rg -p "layout" apps/masterbots.ai/app/u/[slug]/t/
Length of output: 143
Script:
#!/bin/bash
# Get the full content of the file to understand the component structure
cat "apps/masterbots.ai/app/u/[slug]/t/page.tsx"
# Look for any recent changes to this specific file
git log -p apps/masterbots.ai/app/u/[slug]/t/page.tsx
Length of output: 4796
Script:
#!/bin/bash
# Check the BrowseUserDetails and BrowseSpecificThreadList components for padding
rg -p "className" "apps/masterbots.ai/components/routes/browse/browse-user-details.tsx" "apps/masterbots.ai/components/routes/browse/browse-specific-thread-list.tsx"
Length of output: 1440
apps/masterbots.ai/components/layout/header/user-menu.tsx (2)
3-3: LGTM: Type-only import is appropriate here
The change to a type-only import for Session is a good practice as it helps with tree-shaking and clearly indicates the import is only used for type information.
Line range hint 24-50: Verify consistent usage across the application
Let's ensure this component and its username truncation are used consistently across the application.
✅ Verification successful
Username truncation implementation is correctly isolated and consistently used
The verification shows that:
UserMenuis only used in two places: its definition and a single import inuser-login.tsx- The
truncateUsernamefunction is uniquely implemented inuser-menu.tsxand not duplicated elsewhere - Other uses of
user.namein the codebase are for different purposes (forms, subscriptions) where truncation isn't needed
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for other instances of UserMenu usage to verify consistent implementation
rg -t tsx -t jsx "UserMenu" --glob '!{test,spec,**/__tests__}/**'
# Look for other places where usernames are displayed to ensure consistent truncation
rg -t tsx -t jsx "user\.(name|email)" --glob '!{test,spec,**/__tests__}/**'
Length of output: 199
Script:
#!/bin/bash
# Search for UserMenu usage with correct ripgrep syntax
rg "UserMenu" --type-add 'tsx:*.tsx' --type-add 'jsx:*.jsx' -t tsx -t jsx
# Look for username display patterns
rg "user\.(name|email)" --type-add 'tsx:*.tsx' --type-add 'jsx:*.jsx' -t tsx -t jsx
# Search for any other potential username truncation implementations
rg "truncate.*username|username.*truncate" --type-add 'tsx:*.tsx' --type-add 'jsx:*.jsx' -t tsx -t jsx
Length of output: 1852
apps/masterbots.ai/components/routes/thread/thread-share-link.tsx (2)
61-63: LGTM! Clean and efficient component structure.
The simplified component structure with the button directly containing AnimatePresence is cleaner and more maintainable. The h-auto class appropriately handles dynamic content height.
Line range hint 15-31: Verify share link functionality across the application.
Let's ensure consistent implementation of share link functionality across the application.
✅ Verification successful
Share link functionality is consistently implemented across the application
The verification shows that the share link functionality is properly implemented:
- The
generateShortLinkaction is centrally defined inapps/masterbots.ai/app/actions/dub-co.ts - It's consistently used by both
thread-share-link.tsxandshare-button.tsxcomponents - A common clipboard handling pattern is used across components
- The application has a reusable
use-copy-to-clipboardhook in the lib directory
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for other implementations of share link functionality and generateShortLink usage
# Test 1: Find other components using generateShortLink
echo "Checking for other components using generateShortLink:"
rg "generateShortLink" --type tsx
# Test 2: Find similar share button implementations
echo "Checking for similar share button implementations:"
rg -l "ShareLink|share-link" --type tsx
Length of output: 361
Script:
#!/bin/bash
# Description: Check for other implementations of share link functionality and generateShortLink usage
# Test 1: Find other components using generateShortLink
echo "Checking for other components using generateShortLink:"
rg "generateShortLink"
# Test 2: Find similar share button implementations
echo "Checking for similar share button implementations:"
rg -l "ShareLink|share-link"
# Test 3: Find the implementation of generateShortLink
echo "Checking for generateShortLink implementation:"
rg "export.*generateShortLink"
# Test 4: Find any other clipboard or share related functionality
echo "Checking for clipboard/share related code:"
rg "navigator\.clipboard|shareLink|copyLink"
Length of output: 1954
apps/masterbots.ai/components/routes/browse/browse-chatbot-details.tsx (2)
35-36: LGTM! Improved layout structure and responsiveness.
The new layout changes enhance the component's visual hierarchy and responsiveness:
- Container now uses max-width with padding for better responsiveness
- Improved spacing with flex layout
- Better organization of chatbot details with separator
Also applies to: 56-77
5-5: Verify ShareLink component path change impact.
The import path for ShareLink has been updated. Let's ensure this change is consistent across the codebase.
✅ Verification successful
ShareLink import path change is consistent with the codebase
The import path @/components/routes/thread/thread-share-link is correct and consistent. The component is properly defined in thread-share-link.tsx and is being imported correctly in browse-chatbot-details.tsx. There are no instances of the old import path thread-user-actions in the codebase, indicating this is a clean migration.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for any remaining old import paths and verify new import usage
# Test 1: Search for old import path
rg "from.*thread-user-actions.*ShareLink"
# Test 2: Verify new import path usage
rg "from.*thread-share-link.*ShareLink"
Length of output: 85
Script:
#!/bin/bash
# Let's try a broader search to understand ShareLink component usage and imports
# Search for ShareLink imports and usages across the codebase
rg "ShareLink" -A 2
# Also search for files containing ShareLink component
fd "ShareLink" --type f
Length of output: 1781
apps/masterbots.ai/components/routes/thread/thread-popup.tsx (3)
36-36: LGTM! Good type import optimization.
Converting the Chatbot import to a type import is a good practice as it ensures type-safety while reducing the bundle size.
94-98: LGTM! Clean animation implementation.
The dynamic class construction using cn utility and the fade animations are well implemented.
135-136: Verify max-height calculations on small screens.
The fixed padding and max-height calculations might cause content overflow on very small screens.
✅ Verification successful
Let me search for more context around this component to better understand the responsive design implementation.
Based on the search results, I can now provide a final response since I have enough context about the responsive design implementation:
The max-height calculations appear to be properly implemented with responsive considerations
The component implements appropriate responsive design patterns:
- Base max-height is
calc(100vh-280px)for mobile screens - Larger screens (md breakpoint) use
calc(100vh-220px), reducing the offset by 60px - The container has proper scrolling with
scrollbarclass andh-full - Parent container is limited to 90% viewport height (
max-h-[90%]) - Bottom padding is consistent across breakpoints (
pb-[180px])
These calculations provide sufficient space for content while maintaining consistent layout across different screen sizes.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for responsive design patterns in the codebase
rg -g '*.{tsx,css}' 'max-h-\[calc\(100vh-[0-9]+px\)\]' --type-add 'css:*.{css,scss}'
Length of output: 238
Script:
#!/bin/bash
# Get more context around the thread-popup component
rg -A 5 -B 5 'max-h-\[calc\(100vh-' apps/masterbots.ai/components/routes/thread/thread-popup.tsx
# Look for any media queries or responsive design patterns
rg -g '*.{tsx,css}' '(sm:|md:|lg:|xl:)max-h-' --type-add 'css:*.{css,scss}'
# Check if there are any height-related styles or containers
rg -g '*.{tsx,css}' '(h-screen|min-h-|h-\[)' apps/masterbots.ai/components/routes/thread/thread-popup.tsx
Length of output: 1836
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (4)
apps/masterbots.ai/components/routes/chat/chat-layout-section.tsx (2)
18-20: Consider reducing animation duration for better UX.The animation duration of 300ms might feel slightly sluggish. Consider reducing it to 150-200ms for a snappier feel while maintaining the smooth transition.
- 'flex h-[calc(100vh-4rem)] group w-full overflow-auto animate-in duration-300 ease-in-out relative', + 'flex h-[calc(100vh-4rem)] group w-full overflow-auto animate-in duration-200 ease-in-out relative',
27-27: Consider using conditional rendering for better performance.While using the 'hidden' class works, it keeps the ThreadPopup component in the DOM even when not visible. For better performance, especially if ThreadPopup is complex, consider using conditional rendering.
- <ThreadPopup className={isOpenPopup ? '' : 'hidden'} /> + {isOpenPopup && <ThreadPopup />}apps/masterbots.ai/components/routes/chat/prompt-form.tsx (2)
90-95: Consider extracting magic numbers to CSS variables.The container styling improvements look good, but the hardcoded
max-h-[120px]value could be moved to a CSS variable for better maintainability.Consider this improvement:
- "max-h-[120px] md:max-h-60", // Limit height on mobile + "max-h-[var(--prompt-mobile-max-height)] md:max-h-60",Add to your CSS:
:root { --prompt-mobile-max-height: 120px; }
Line range hint
134-139: Consider extracting inline styles to CSS classes.While the disabled state overlay implementation is good, the inline styles could be moved to CSS classes for better maintainability.
Consider this improvement:
- {(disabled && !activeChatbot) && ( - <div className="backdrop-blur-[1px] font-semibold border border-[#27272A] rounded-[6px] absolute size-full top-0 left-0 flex justify-center items-center dark:bg-[#27272A80] text-2xl"> + {(disabled && !activeChatbot) && ( + <div className="prompt-form-overlay"> Select a bot to start a thread. </div> )}Add to your CSS:
.prompt-form-overlay { @apply backdrop-blur-[1px] font-semibold border border-zinc-800 rounded-md; @apply absolute size-full top-0 left-0; @apply flex justify-center items-center; @apply dark:bg-zinc-800/50 text-2xl; }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (3)
apps/masterbots.ai/components/routes/chat/chat-layout-section.tsx(1 hunks)apps/masterbots.ai/components/routes/chat/prompt-form.tsx(3 hunks)apps/masterbots.ai/components/routes/thread/thread-popup.tsx(5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- apps/masterbots.ai/components/routes/thread/thread-popup.tsx
🔇 Additional comments (4)
apps/masterbots.ai/components/routes/chat/chat-layout-section.tsx (2)
23-23: LGTM!
The className provides a well-structured responsive layout with appropriate constraints and spacing.
24-24: LGTM!
Clean and straightforward children rendering.
apps/masterbots.ai/components/routes/chat/prompt-form.tsx (2)
37-37: LGTM! Good practice using the cn utility.
The addition of the cn utility improves class name management and follows best practices for conditional styling in React applications.
110-114: LGTM! Good responsive design implementation.
The textarea styling changes effectively handle different screen sizes while maintaining good touch targets on mobile devices.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (2)
apps/masterbots.ai/components/ui/codeblock.tsx (2)
96-104: Consider improving mobile text size accessibility.The text size of
text-[11px]for the language label might be too small for comfortable reading on mobile devices. Consider using a minimum of 12px for better accessibility.- <span className="text-[11px] sm:text-xs lowercase">{language}</span> + <span className="text-xs lowercase">{language}</span>
129-161: Consider improving code block overflow handling.The current overflow handling might not provide the best user experience for very long lines. Consider adding a horizontal scroll indicator and ensuring the scroll behavior is smooth.
- <div className="relative w-full overflow-auto text-xs sm:text-sm"> + <div className="relative w-full overflow-auto text-xs sm:text-sm scrollbar-thin scrollbar-thumb-zinc-600 scrollbar-track-transparent">Also, consider adding a max-height with vertical scrolling for very long code blocks:
customStyle={{ margin: 0, width: '100%', background: 'transparent', - padding: '0.75rem 0.25rem' + padding: '0.75rem 0.25rem', + maxHeight: '80vh' }}
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
apps/masterbots.ai/components/ui/codeblock.tsx(4 hunks)
🔇 Additional comments (3)
apps/masterbots.ai/components/ui/codeblock.tsx (3)
3-3: LGTM! Good TypeScript practice.
Using type import for FC is a good practice as it ensures type-only imports are properly handled during compilation.
43-51: LGTM! Good language support expansion.
The addition of new programming languages enhances the component's versatility. All file extensions are correctly mapped.
Line range hint 54-61: LGTM! Appropriate scope reduction.
Good decision to make generateRandomString private since it's only used internally within this module.
OLD V:trim.41BFA1C9-B874-415C-A2E4-DB91860F3D01.MOV |
AndlerRL
left a comment
There was a problem hiding this comment.
LGTM! Thanks for the screens reports comparing the before and after and taking care of the details in the mobile experience. I noticed the improvement also on the current bot profile card and the redirection back to browse 👍
Merging for tests!
@AnoukRImola -- please you can go ahead and start testing the changes. Most of them are mobile experience improvements and other UI/UX improvements, so as the pw reset and setup.
@sheriffjimoh -- here are changes of your interest 👀 I noticed that on the bot profile card there is no "return to browser" link on the hero. Please keep that link, I missed to add that link into the designs in figma.
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) * [masterbots.ai] feat: onboarding bot profile variants (#324) * add chatbot-details and browse-details variants * feat: add bio generation * feat: chat profile bg * chore: update bot profile designs * chore: remove internal padding from cardHeader component * impr: iconography + border thickness * fix: numberShortener util fn --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: user following (#319) * update * added follow user * update * fix: upt hasura metadata databases, public_social_following.yaml coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: upt masterbots.ai lib, utils.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: user card * update * fix: permission * update * fix: added more column for chatbot followee * fix:foloow chatbot implementation * update * threads by following user/bots * update * update * update * update * update * update * update * update --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: new sonner (#334) * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * fix: overflow of the width of the sonner * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * chore: use hook sonner * refactor: changes according to coderabbitai * refactor: update use of sonner * chore:remove icons and use lucide icons * chore: Using Lucide Icons * chore: bun pkg mngr upt * Standardize url building using urlbuilders utility (#341) * fix: update url * fix: url update * update * [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335) * update * fix: make OG image use default * fix: update * fix: update * fix: obs * fix: update * fix: added og to browse and chat * update * update * update * fix: provider types error * fix: updfate UUID * fix: update UUID * [masterbots.ai] docs: hook useSonner (#343) * chore: document hook useSonner * refactor: document hook useSonner, according coderabbit * impr: web search response (#310) * impr: web search response * refactor: extracting clickable generation logic * refactor: extracting clickable generation logic * fix: webSearch clickable text + reference links * chore: fix build * feat:(impr) stable version link to references format step 1 * feat:(impr) stable version link to references format step 2 --------- Co-authored-by: Bran18 <andreyfdez18@gmail.com> * [masterbots.ai] refactor: prelaunch ux/ui changes (#336) * refactor: replicate tooltip effect in desktop bot chatbot details * fix: add guard and removed re-render * fix: refactor mobile bot chatbot details * refactor: make chatPannel bigger * chore:add new bot card design + sidebar hover color * chore: delete public and private sw + icons * chore: include public + delete extra actions * chore: add sidebar bg * add sidebar new styles + lib fn * feat: add select bot * chore: cleaning * fix: build - removing BotMessageSquareIcon * fix: types/node version + node min ver req --------- Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com> Co-authored-by: Bran18 <andreyfdez18@gmail.com> Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) * [masterbots.ai] feat: onboarding bot profile variants (#324) * add chatbot-details and browse-details variants * feat: add bio generation * feat: chat profile bg * chore: update bot profile designs * chore: remove internal padding from cardHeader component * impr: iconography + border thickness * fix: numberShortener util fn --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: user following (#319) * update * added follow user * update * fix: upt hasura metadata databases, public_social_following.yaml coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: upt masterbots.ai lib, utils.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: user card * update * fix: permission * update * fix: added more column for chatbot followee * fix:foloow chatbot implementation * update * threads by following user/bots * update * update * update * update * update * update * update * update --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: new sonner (#334) * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * fix: overflow of the width of the sonner * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * chore: use hook sonner * refactor: changes according to coderabbitai * refactor: update use of sonner * chore:remove icons and use lucide icons * chore: Using Lucide Icons * chore: bun pkg mngr upt * Standardize url building using urlbuilders utility (#341) * fix: update url * fix: url update * update * [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335) * update * fix: make OG image use default * fix: update * fix: update * fix: obs * fix: update * fix: added og to browse and chat * update * update * update * fix: provider types error * fix: updfate UUID * fix: update UUID * [masterbots.ai] docs: hook useSonner (#343) * chore: document hook useSonner * refactor: document hook useSonner, according coderabbit * impr: web search response (#310) * impr: web search response * refactor: extracting clickable generation logic * refactor: extracting clickable generation logic * fix: webSearch clickable text + reference links * chore: fix build * feat:(impr) stable version link to references format step 1 * feat:(impr) stable version link to references format step 2 --------- Co-authored-by: Bran18 <andreyfdez18@gmail.com> * [masterbots.ai] refactor: prelaunch ux/ui changes (#336) * refactor: replicate tooltip effect in desktop bot chatbot details * fix: add guard and removed re-render * fix: refactor mobile bot chatbot details * refactor: make chatPannel bigger * chore:add new bot card design + sidebar hover color * chore: delete public and private sw + icons * chore: include public + delete extra actions * chore: add sidebar bg * add sidebar new styles + lib fn * feat: add select bot * chore: cleaning * fix: build - removing BotMessageSquareIcon * fix: types/node version + node min ver req --------- Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * [masterbots.ai] feat: continuous thread ui functionality (#340) * wip: continuos thread logic and functionality. * feat: updating parent thread functionality. * feat: continuous thread UI and finalize functionality. * fix: lowering resolveThreadId logic complexity. * Update apps/hasura/migrations/masterbots/1736934906237_set_fk_public_thread_parent_thread/down.sql Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update apps/masterbots.ai/lib/hooks/use-mb-chat.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: ts build --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] fix: refactored components - pre icl v3 (#348) * chore: add refactored components - pre icl v3 * chore: add navigation color + text-input color * fix: type * wip: header active state * fix: them toggle --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: icl v1a (#344) * wip: vercel ai sdk upt * wip: icl web feature * chore: icl hasura migrations, metadata and seeds * chore: genql gen * impr: chat opt separator render * impr: accordion chevron pos * impr: chat-list space * Fix observations from Jun (#353) * update * fix: update * fix: added empty state * fix: rm favourt and added card empty state * fix: hide sibe category without threads on user profile * fix: update * fix: update * [masterbots.ai] fix: reduce prompt input validation * fix: hasura moderator augmentedFrom msg prop * impr: ai prompt examples flow * fix: hasura moderator role thread upt permissions * [masterbots.ai] feat: chatbot following + thread highlight + bot thread page to blog (#337) * update * feat: added chatbot follow function to other component * update profile thread * thread highligh * thread highligh update * update * fix: thread blog * fix: follow chat bot * update * fix: observations * fix provider types issue * fix provider update * feat: update blog template * fix: rm p tag from list items * fix: merge * fix: rm parentid and continiue reading * update * update * merge * fix: generated types * update * updatd * update code * impr: profile page layout * fix: mg-genql gen ts --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] fix: init threads render + icl init cleanup (#354) * wip: fix init threads render + icl cleanup This fixes the following issues: 1. Reduced the amount of re-renders when sending the new data. 2. Clean up the ICL functions and types. 3. State management for the user-thread-panel. 4. Debug the re-rendering uissue that is replacing the main thread content. 5. Debug opening a new thread with the new ICL system. They show in the list but not returning the messages when opening it up. 6. Few code clean ups. * impr: thread list re-render in chat page * fix: initialMessages in useChat * fix: hasura moderator role thread upt permissions * impr: thread list re-render * fix: markdown pkg ts * fix: markdown pkg ts * fix: downgrade react-markdown (#358) * fix: downgrade react-markdown * fix: downgrade react-markdown * fix: markdown dep version + layout thread list ui * impr: gray-ish overlay bg rm * chore: console log rm --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * refactor: icl seeds v2 (#357) * chore: upt hasura icl seeds * chore: chat legacy table rm * chore(wip): icl seeds curation * chore: upt icl init seed pt2 * chore: upt icl init seed pt3 * chore: upt icl init seed pt3 * chore: upt icl init seed pt4 * fix: cat + chatbot seeds revision * chore: tag seeds note upt * fix: drop and create chatbot_domain table (#360) * fix: drop and create chatbot_domain table * fix: chatbot_domain permissions * fix: SQL typo * [masterbots.ai] feat: improve common components and features (#356) * fix: sidebar * feat: add DeepSeek integration * chore: wip accordions * fix: include popup accordion * chore: add shared accordion to thread list * fix: extra space * fix: extra space * chore: add tabs effect * chore: add colors based on routes * chore: add colors based on routes --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix: useRouter import * [masterbots.ai] fix: sidebar category render (#362) * fix: sidebar category render * docs: toggleChatbotSelection * [hasura] chore: label + label_chatbot_category_domain dropping tables migration (#361) * fix: fetch chatbotDomain * [hasura] chore: rm wip example seed part * chore: rm legacy tables + fix getChatbotMetadata props (#363) * chore: rm legacy tables * fix: getChatbotMetadata * fix: chatbotMetadata ts * wip(refactor): icl init tags & categories fetch * chore: bun.lockb upt * fix: hotfix build error * impr: icl metadata requests v1 (#365) * wip: icl fetch + meta prompt impr * impr: sidebar paddings * wip: icl fetch + meta prompt impr * wip: icl fetch + meta prompt impr * impr: icl metadata request v2 (#366) * wip: icl fetch + meta prompt impr * fix: icl fetch + meta prompt impr * impr: icl output + prompts * chore: console.log rm * chore: console.log icl metadata devMode * [masterbots.ai] test: sytem prompt as user role * fix: show sidebar in profile (#364) * chore: clickable responses update * [masterbots.ai] refactor: use chat hook context + state management perf (#369) * chore: system prompt as system role * refactor: use-mb-chat to context * fix: mbchat provider location * impr: profile page scroll & footer position (#367) * update * fix: update * update * update * fix: profile page scroll and footer positioning * fix: profile sidebar * update * update * Revert "update" This reverts commit ef7ee8c. * Revert "Revert "update"" This reverts commit 553f82f. * Revert "Revert "Revert "update""" This reverts commit c645eca. * fix: profile page footer positioning * fix: visitor should be able to scroll through the categories * fix: profile page side bar * fix: rm loading when user not logged in * fix: update * [masterbots.ai] fix: clickable text feature (#372) * fix: accordion arrow * fix: clickable text formating * wip: fix thread load (#373) * wip: fix thread-list load * fix: continuous system prompt context * fix: render flickr + followup question logic impr * impr: prompt tags segmentation * chore: impr following question prompt * feat: public continue thread (#375) * refactor: integrating chatPannelHeader into chatPannel * chore: update browse-chat-message with shared accordion * chore: continue conversation + full conversations fix * fix: left align text * [masterbots.ai] fix: show appropriate bot cards in the user thread list (#368) * update * fix: update * update * update * fix: filter category & chatbot by userId on profile page * fix: hide empty chatbots * fix: followee permission error as moderator to follow and unfollow (#374) * update * fix: update * update * update * fix: permission issue for moderator when following other user * fix: shift on user card when loading or empty * update * [masterbots.ai] fix: isNewChat guard + continuous thread messages + power up prompts (#377) * fix: thread render at pop-up close * impr: getRouteType + chat layout * wip: isNewChat state * impr: prompt tags segmentation * fix: chat messages list render + open last according by default on new responses * impr: thread list render guard * feat(wip): isPowerUp mode * impr: memoizing getChatbotMetadata * fix: grabbing previous messages, continous chat * chore: add todo comment * impr: previous thread ui + coderabbitai observations * fix: previous conversation re-render * doc: useEffect biome-ignore * impr: deep obj compare for msg pairs * fix: ts build * fix: ts build * [masterbots.ai] refactor: useScroll hook (#376) * chore: refactor useScroll * chore: refactor useScroll * chore: refactor useScroll * Delete apps/masterbots.ai/lib/context/thread-context.tsx * chore: test commit * fix: import type * chore: add clearTimeout * chore: add destructuring * feat: update use-mb-scroll * feat: update thread component --------- Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local> * [masterbots.ai] fix: chat stream render (#380) * fix: chat stream render * fix: typo * chore: chatbot prompts init config + active thread hotfixes (#378) * wip: chatbot prompts init config * wip: upt init config seeds, adding prompt configs * chore: upt init config seeds * fix: resetActiveThread guard * impr(wip): masterbot config prompt * chore: icl data curation, domain + category + sub-category * chore: init domain seeds curation * fix: moderator + user role table selection * impr: web prompt config + fix thread list render + code comments * fix: coderabbitai observations * [hasura] chore: upt user insert rows seed * fix: conflict fix --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com> Co-authored-by: Bran18 <andreyfdez18@gmail.com> Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>
* 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
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) * [masterbots.ai] feat: onboarding bot profile variants (#324) * add chatbot-details and browse-details variants * feat: add bio generation * feat: chat profile bg * chore: update bot profile designs * chore: remove internal padding from cardHeader component * impr: iconography + border thickness * fix: numberShortener util fn --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: user following (#319) * update * added follow user * update * fix: upt hasura metadata databases, public_social_following.yaml coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: upt masterbots.ai lib, utils.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: user card * update * fix: permission * update * fix: added more column for chatbot followee * fix:foloow chatbot implementation * update * threads by following user/bots * update * update * update * update * update * update * update * update --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: new sonner (#334) * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * fix: overflow of the width of the sonner * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * chore: use hook sonner * refactor: changes according to coderabbitai * refactor: update use of sonner * chore:remove icons and use lucide icons * chore: Using Lucide Icons * chore: bun pkg mngr upt * Standardize url building using urlbuilders utility (#341) * fix: update url * fix: url update * update * [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335) * update * fix: make OG image use default * fix: update * fix: update * fix: obs * fix: update * fix: added og to browse and chat * update * update * update * fix: provider types error * fix: updfate UUID * fix: update UUID * [masterbots.ai] docs: hook useSonner (#343) * chore: document hook useSonner * refactor: document hook useSonner, according coderabbit * impr: web search response (#310) * impr: web search response * refactor: extracting clickable generation logic * refactor: extracting clickable generation logic * fix: webSearch clickable text + reference links * chore: fix build * feat:(impr) stable version link to references format step 1 * feat:(impr) stable version link to references format step 2 --------- Co-authored-by: Bran18 <andreyfdez18@gmail.com> * [masterbots.ai] refactor: prelaunch ux/ui changes (#336) * refactor: replicate tooltip effect in desktop bot chatbot details * fix: add guard and removed re-render * fix: refactor mobile bot chatbot details * refactor: make chatPannel bigger * chore:add new bot card design + sidebar hover color * chore: delete public and private sw + icons * chore: include public + delete extra actions * chore: add sidebar bg * add sidebar new styles + lib fn * feat: add select bot * chore: cleaning * fix: build - removing BotMessageSquareIcon * fix: types/node version + node min ver req --------- Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com> Co-authored-by: Bran18 <andreyfdez18@gmail.com> Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) * [masterbots.ai] feat: onboarding bot profile variants (#324) * add chatbot-details and browse-details variants * feat: add bio generation * feat: chat profile bg * chore: update bot profile designs * chore: remove internal padding from cardHeader component * impr: iconography + border thickness * fix: numberShortener util fn --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: user following (#319) * update * added follow user * update * fix: upt hasura metadata databases, public_social_following.yaml coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: upt masterbots.ai lib, utils.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: user card * update * fix: permission * update * fix: added more column for chatbot followee * fix:foloow chatbot implementation * update * threads by following user/bots * update * update * update * update * update * update * update * update --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: new sonner (#334) * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * fix: overflow of the width of the sonner * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * chore: use hook sonner * refactor: changes according to coderabbitai * refactor: update use of sonner * chore:remove icons and use lucide icons * chore: Using Lucide Icons * chore: bun pkg mngr upt * Standardize url building using urlbuilders utility (#341) * fix: update url * fix: url update * update * [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335) * update * fix: make OG image use default * fix: update * fix: update * fix: obs * fix: update * fix: added og to browse and chat * update * update * update * fix: provider types error * fix: updfate UUID * fix: update UUID * [masterbots.ai] docs: hook useSonner (#343) * chore: document hook useSonner * refactor: document hook useSonner, according coderabbit * impr: web search response (#310) * impr: web search response * refactor: extracting clickable generation logic * refactor: extracting clickable generation logic * fix: webSearch clickable text + reference links * chore: fix build * feat:(impr) stable version link to references format step 1 * feat:(impr) stable version link to references format step 2 --------- Co-authored-by: Bran18 <andreyfdez18@gmail.com> * [masterbots.ai] refactor: prelaunch ux/ui changes (#336) * refactor: replicate tooltip effect in desktop bot chatbot details * fix: add guard and removed re-render * fix: refactor mobile bot chatbot details * refactor: make chatPannel bigger * chore:add new bot card design + sidebar hover color * chore: delete public and private sw + icons * chore: include public + delete extra actions * chore: add sidebar bg * add sidebar new styles + lib fn * feat: add select bot * chore: cleaning * fix: build - removing BotMessageSquareIcon * fix: types/node version + node min ver req --------- Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * [masterbots.ai] feat: continuous thread ui functionality (#340) * wip: continuos thread logic and functionality. * feat: updating parent thread functionality. * feat: continuous thread UI and finalize functionality. * fix: lowering resolveThreadId logic complexity. * Update apps/hasura/migrations/masterbots/1736934906237_set_fk_public_thread_parent_thread/down.sql Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update apps/masterbots.ai/lib/hooks/use-mb-chat.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: ts build --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] fix: refactored components - pre icl v3 (#348) * chore: add refactored components - pre icl v3 * chore: add navigation color + text-input color * fix: type * wip: header active state * fix: them toggle --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: icl v1a (#344) * wip: vercel ai sdk upt * wip: icl web feature * chore: icl hasura migrations, metadata and seeds * chore: genql gen * impr: chat opt separator render * impr: accordion chevron pos * impr: chat-list space * Fix observations from Jun (#353) * update * fix: update * fix: added empty state * fix: rm favourt and added card empty state * fix: hide sibe category without threads on user profile * fix: update * fix: update * [masterbots.ai] fix: reduce prompt input validation * fix: hasura moderator augmentedFrom msg prop * impr: ai prompt examples flow * fix: hasura moderator role thread upt permissions * [masterbots.ai] feat: chatbot following + thread highlight + bot thread page to blog (#337) * update * feat: added chatbot follow function to other component * update profile thread * thread highligh * thread highligh update * update * fix: thread blog * fix: follow chat bot * update * fix: observations * fix provider types issue * fix provider update * feat: update blog template * fix: rm p tag from list items * fix: merge * fix: rm parentid and continiue reading * update * update * merge * fix: generated types * update * updatd * update code * impr: profile page layout * fix: mg-genql gen ts --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] fix: init threads render + icl init cleanup (#354) * wip: fix init threads render + icl cleanup This fixes the following issues: 1. Reduced the amount of re-renders when sending the new data. 2. Clean up the ICL functions and types. 3. State management for the user-thread-panel. 4. Debug the re-rendering uissue that is replacing the main thread content. 5. Debug opening a new thread with the new ICL system. They show in the list but not returning the messages when opening it up. 6. Few code clean ups. * impr: thread list re-render in chat page * fix: initialMessages in useChat * fix: hasura moderator role thread upt permissions * impr: thread list re-render * fix: markdown pkg ts * fix: markdown pkg ts * fix: downgrade react-markdown (#358) * fix: downgrade react-markdown * fix: downgrade react-markdown * fix: markdown dep version + layout thread list ui * impr: gray-ish overlay bg rm * chore: console log rm --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * refactor: icl seeds v2 (#357) * chore: upt hasura icl seeds * chore: chat legacy table rm * chore(wip): icl seeds curation * chore: upt icl init seed pt2 * chore: upt icl init seed pt3 * chore: upt icl init seed pt3 * chore: upt icl init seed pt4 * fix: cat + chatbot seeds revision * chore: tag seeds note upt * fix: drop and create chatbot_domain table (#360) * fix: drop and create chatbot_domain table * fix: chatbot_domain permissions * fix: SQL typo * [masterbots.ai] feat: improve common components and features (#356) * fix: sidebar * feat: add DeepSeek integration * chore: wip accordions * fix: include popup accordion * chore: add shared accordion to thread list * fix: extra space * fix: extra space * chore: add tabs effect * chore: add colors based on routes * chore: add colors based on routes --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix: useRouter import * [masterbots.ai] fix: sidebar category render (#362) * fix: sidebar category render * docs: toggleChatbotSelection * [hasura] chore: label + label_chatbot_category_domain dropping tables migration (#361) * fix: fetch chatbotDomain * [hasura] chore: rm wip example seed part * chore: rm legacy tables + fix getChatbotMetadata props (#363) * chore: rm legacy tables * fix: getChatbotMetadata * fix: chatbotMetadata ts * wip(refactor): icl init tags & categories fetch * chore: bun.lockb upt * fix: hotfix build error * impr: icl metadata requests v1 (#365) * wip: icl fetch + meta prompt impr * impr: sidebar paddings * wip: icl fetch + meta prompt impr * wip: icl fetch + meta prompt impr * impr: icl metadata request v2 (#366) * wip: icl fetch + meta prompt impr * fix: icl fetch + meta prompt impr * impr: icl output + prompts * chore: console.log rm * chore: console.log icl metadata devMode * [masterbots.ai] test: sytem prompt as user role * fix: show sidebar in profile (#364) * chore: clickable responses update * [masterbots.ai] refactor: use chat hook context + state management perf (#369) * chore: system prompt as system role * refactor: use-mb-chat to context * fix: mbchat provider location * impr: profile page scroll & footer position (#367) * update * fix: update * update * update * fix: profile page scroll and footer positioning * fix: profile sidebar * update * update * Revert "update" This reverts commit c178b1b18092bb3872f6d905b1768e9ab5b3af6b. * Revert "Revert "update"" This reverts commit a20d8b0cc8da2018cca689ba0b35ba9184cbdc4d. * Revert "Revert "Revert "update""" This reverts commit ac8b362a1b7143804000e6ccf5801f0ec95d06d1. * fix: profile page footer positioning * fix: visitor should be able to scroll through the categories * fix: profile page side bar * fix: rm loading when user not logged in * fix: update * [masterbots.ai] fix: clickable text feature (#372) * fix: accordion arrow * fix: clickable text formating * wip: fix thread load (#373) * wip: fix thread-list load * fix: continuous system prompt context * fix: render flickr + followup question logic impr * impr: prompt tags segmentation * chore: impr following question prompt * feat: public continue thread (#375) * refactor: integrating chatPannelHeader into chatPannel * chore: update browse-chat-message with shared accordion * chore: continue conversation + full conversations fix * fix: left align text * [masterbots.ai] fix: show appropriate bot cards in the user thread list (#368) * update * fix: update * update * update * fix: filter category & chatbot by userId on profile page * fix: hide empty chatbots * fix: followee permission error as moderator to follow and unfollow (#374) * update * fix: update * update * update * fix: permission issue for moderator when following other user * fix: shift on user card when loading or empty * update * [masterbots.ai] fix: isNewChat guard + continuous thread messages + power up prompts (#377) * fix: thread render at pop-up close * impr: getRouteType + chat layout * wip: isNewChat state * impr: prompt tags segmentation * fix: chat messages list render + open last according by default on new responses * impr: thread list render guard * feat(wip): isPowerUp mode * impr: memoizing getChatbotMetadata * fix: grabbing previous messages, continous chat * chore: add todo comment * impr: previous thread ui + coderabbitai observations * fix: previous conversation re-render * doc: useEffect biome-ignore * impr: deep obj compare for msg pairs * fix: ts build * fix: ts build * [masterbots.ai] refactor: useScroll hook (#376) * chore: refactor useScroll * chore: refactor useScroll * chore: refactor useScroll * Delete apps/masterbots.ai/lib/context/thread-context.tsx * chore: test commit * fix: import type * chore: add clearTimeout * chore: add destructuring * feat: update use-mb-scroll * feat: update thread component --------- Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local> * [masterbots.ai] fix: chat stream render (#380) * fix: chat stream render * fix: typo * chore: chatbot prompts init config + active thread hotfixes (#378) * wip: chatbot prompts init config * wip: upt init config seeds, adding prompt configs * chore: upt init config seeds * fix: resetActiveThread guard * impr(wip): masterbot config prompt * chore: icl data curation, domain + category + sub-category * chore: init domain seeds curation * fix: moderator + user role table selection * impr: web prompt config + fix thread list render + code comments * fix: coderabbitai observations * [hasura] chore: upt user insert rows seed * fix: conflict fix --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com> Co-authored-by: Bran18 <andreyfdez18@gmail.com> Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>
* devops: force deploy * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * devops: trigger automated build * impr(masterbots.ai): add return to browse on bot thread page view (#204) * ✨ Added back button to thread details page * ⚡️ changed char to svg * feat: ai gen 404 image for custom 404 error page (#210) * ⚡️ added custom error page * ⚡️ clean up * fix(masterbots.ai): terms page visibility and access * feat(masterbots.ai): consistent og image style design and dynamic metadata (#215) * feat: added og api endpoint * feat: design og image for dark mode * fix: file formated * fix: amend og image to pick current theme color and adapt * feat: added custom metadata to thread page * feat: added custom metadata to bot page * fix: clean up * fix: move bg to a component * fix: move og-image design to a component * fix: use variable for URL * fix: to slug func * ⚡️ Move and clean up UrlToSlug * fix(masterbots.ai): zod dependecy * fix: type error * fix: type error for metadata * fix: clean and build fix --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * [masterbots.ai] fix: multi AI models guard (#235) * fix-guards + dom warning * fix-rename env var - vercel name * chore(masterbots.ai): update payment terms & conditions (#233) * fix: update terms * fix: building error * fix: update terms content * fix: rm the older part at the bottom * feat(masterbots.ai): pro subscription payment + wizard (#226) * feat: added free card * feat: added animation to the plan card * feat: added more plan card and referral code link * fix: clean up * wip: wizard * feat: wizard & modal * feat: plan Design theme and modal Header and Footer * feat: plan clean up * update * clean up * fix: rm plan comp on browse page * fix: wizard clean up * feat: succes & error modal * feat: loading comp * feat: added checkout comp * feat: set up stripe and context * wip: implementing subscription * feat: implementing subscription * feat: payment reciept * fix: clean up receipt * fix: modal not showing & shallow routing * fix: small fix * fix: receipt comp * fix: clean up * fix: shallow rerouting * feat: check if user has an active subscription * fix: coderabbit ob * fix: coderabbit ob * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: coderabbit clean up update * fix: clean up * fix: clean up * fix: page restructuring and status on the receipt * fix: revamp receipt and structure * fix: rm unused file * fix: clean up * fix: update & clean up * fix: update * fix: rm the svg * fix: revamp formatSystemPrompts * fix: revamp msg to formatSystemPrompts * fix: update * fix: refactor the receipt page * fix: rm public key * fix: update * fix: update * fix: update * fix: code refactor for error and loading rendering * ref: calling secret keys from server * ref: receipt page and small fix * fix: rm file * fix(impr): subs & flow ux + cleanup * fix(masterbots.ai): OG not redering (#224) * fix: og to render first letter of username if there's no avatar * fix: clean up * fix: clean up * fix(masterbots.ai): share function (#225) * feat: create action.ts * fix: upt share button * fix: add axios module * fix: add resend module * fix: update vercel env config * fix: split share function * fix: update share component * [coderabbitai] style: upt thread-user-actions condition Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat(hasura): update user db schema for pro users (#227) * feat: add get_free_month column to user table * feat: create referral table * feat: add is_blocked column to user table * feat: add pro_user_subscription_id column to user table * fix: upt metadata * fix: update relationship name * feat(hasura): add Ai Model Tracker To Threads (#229) * feat: create 'models' table AI models * fix: add 'model' column to 'thread' table with foreign key constraint * feat: add model_value into models * [masterbots.ai] feat: multi AI models integration (#228) * [masterbots.ai]feat:(multimodels-integration)add actions - helpers - routes * [masterbots.ai]feat:(multimodels-integration)add NextTopLoader * [masterbots.ai]feat:(multimodels-integration)add NextTopLoaders * [masterbots.ai]feat:(multimodels-integration)add new chat components * [masterbots.ai]chore:next version * [masterbots.ai]feat:(multimodels-integration)update use context * [masterbots.ai]feat:(multimodels-integration)icons update * [masterbots.ai]chore:command ui * [masterbots.ai]refactor:moving chat componets to folder * [masterbots.ai]feat:env checker * [masterbots.ai]feat:env guard * docs: site map diagram * feat: set up stripe and context * wip: implementing subscription * fix: rm the svg * fix: replace secret with variable * fix: chat restructure * fix(update): chat restructure * fix(deployment error): can't find an icon or not exported * fix: deployment issues * fix: deployment issues * fix: deployment issues * fix: adjust design * fix: clean up * fix: clean up * fix: color var updaye * [coderabbitai] impr: update apps/masterbots.ai/components/stripe-element.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabitai] impr: update apps/masterbots.ai/components/succes-content.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: success close button * fix: bg image for yearly card * fix: move func to util * ref: receipt page function to use reac-use * fix: move depencies to the app * fix: clean up * ref: wizard to use radix dialog components * update * fix: coderabitai update --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * [masterbots.ai] fix: llama3 models (#236) * fix-guards + dom warning * fix-rename env var - vercel name * fix-changed PERPLEXITY-LLama model * [masterbots.ai] impr(fix): ui tweaks (#237) * fix(UI):varius UI fixes * fix(UI):varius UI fixes * fix(UI): Tailwind class corrections, conflict resolution, text alignent to the left * fix(UI):update * fix(masterbots.ai): payment feedbacks (#240) * fix: make the dialog content responsive * fix: free plan card adjusted * fix: update * fix: update receipt styles * fix: build error * fix: build error * fix: build error update * fix: update * fix: observation * fix(masterbots.ai): update env variable (#244) * feat: sitemap (#238) * feat: add redirection rules * fix: update all links with new shorten urls * fix: update all links with new shorten urls * feat: make folder structure according to sitemap * [coderabbitai] impr(masterbots.ai): update app/c/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: build error * [coderabbitai] impr(masterbots.ai): update app/c/[category]/[chatbot]/page.tsx error handling Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: add sitemap and metagraph * fix: use original generateMetadata * fix: update page links * fix: show only filtered threads on page reload * fix: build error --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): show first question & answer in thread list (#246) * feat: add 'disabled' state to ChatAccordion * fix: show default question's answer in thread list * fix: use braces and create explicit statement blocks * fix: subscription mobile responsive tweaks (#245) * update * fix: update * fix: responsiveness * fix: update * fix: few clean up * fix: rm unused image * fix: rm unused image * fix(impr): models enum table migrations (#247) * impr(hasura): db tables * impr(hasura): db tables * fix(hasura): user permissions * impr(hasura): sql models enum migration * fix(hasura): models_enum pk * fix(hasura): ci/cd default regional log bucket * docs: bun to requirements (#250) Co-authored-by: b <b> * feat: next auth, email/pw strategy (#249) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * docs: mb sytem diagram v1.0a * feat(impr): next auth environment helper function (#251) * (masterbots.ia)-chore-auth-dependencies * (masterbots.ia)-feat-webauth-nextauth * wip(masterbots.ai): email/pw login + signup * feat-login ui * feat-login-component+page * feat-login-component+page * feat-auth-middleware.ts * feat-auth-nextauth + googleauth * feat-auth-coderabit-feedback * feat-auth-callback + elements added * wip(webapp): email/pw login+signup * feat:add toke storage for webauth * feat:updates webauth * feat:updates webauth * fix(masterbots.ai): blankBot fetch * feat:protecting env --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> Co-authored-by: Roberto Romero Lucas <andre.rlucas@outlook.com> * impr(masterbots.ai): sign up form + sign in session data * docs: claude3 project knowledge docs * fix(masterbots.ai): devMode conditional * chore(masterbots.ai): rm console.log * chore: upt default hardcoded gpt model * fix: toSlug imports * fix: typo * fix(hasura): seeds * chore(impr): MB seeds update and upgrade (#253) * wip: upt seeds * chore: rm alter and table creations * chore(impr): MB seeds update and upgrade * fix: set thread to private by default * fix: prompt row typo * chore(hasura): seeds update default thread publicity * fix(masterbots.ai): adjust arrow direction in thread list (#255) * feat(impr): Vercel AI SDK Update (#256) * chore:ai version upt * chore:ai version upt * upt-ai delete * upt-ai versions * upt-sdk-actions * upt-complete-sdk-3.3 + dev notes * upt-@anthropic-ai/sdk + MessageParam * Delete apps/masterbots.ai/apps/masterbots.ai/package.json * Delete apps/masterbots.ai/apps/masterbots.ai/package-lock.json * impr-convertToCoreMessages ternary * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * fix(masterbots): google signIn (#260) * fix(masterbots.ai): fix thread-component loop (#261) * fix:(masterbots.ai) add useScroll hook (#263) * fix:introducing Two-phase scroll * impr: new hook to handle scrolling * impr: useScroll + respo * feat(masterbots.ai): chat sidebar filtering (#264) * sidebar refactor with ai * fix: sidebar AI V - Prev Jun (#262) * fix:semistable * fix:stable v * impr:delete nonused component * fix: upt category filtering * fix typo --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: sidebar state * fix(masterbots.ai): logic typo * fix(masterbots.ai): ts typo --------- Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> * fix(masterbots.ai): bot button redirect change (#265) * wip(masterbots.ai): seo data impr (#267) * wip: seo data impr * impr(chore): ga tags * feat: add chat publicity trigger (#258) * update * feat: design thread visibilty * fix: added the backend * fix: added the backend * fix: rm files * fix: few clean up * fix(masterbots): google signIn (#260) * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * fix: update * fix: add permission * fix: update query * fix(masterbots.ai): fix thread-component loop (#261) * feat: design thread visibilty * fix: added the backend * fix: few clean up * feat: design thread visibilty * fix: added the backend * fix: few clean up * Leandro/develop (#257) * chore: create thread-component to avoid to become thread list into a client component * refactor: remove unnecesary hooks from thread component * refactor: remove unnecesary hooks on thread componen * impr(masterbots): components folder structur (#259) * impr:refactor components folders + names + imports * hotfix:chat-list useEffect dependency removal * feat: design thread visibilty * fix: added the backend * fix: few clean up * update * fix: update * fix: publicity toggle * fix: error catch in the functions * fix: observations * fix: design impr * fix: thread pop-up height * chore(masterbots.ai): log rm & app version upt --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat(masterbots.ai): user messages ai refactor (#266) * feat:userMessages refactor + hooks and utils * upt:rm console.log * fix:rollback useAiChat hook * fix:rollback - actions * fix(masterbots.ai): sidebar trigger * chore(hasura: s --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * wip: browse sidebar * impr(masterbots.ai): browse sidebar (#270) * fix: browse layout * feat(masterbots.ai): browse sidebar * fix: browse sidebar link condition * chore: upt signup default profile pic * chore: seeds upt (#269) * wip: seeds upt * chore(hasura): seeds review * feat(hasura): add "is_approved" thread field + seeds * chore: mb-genql upt * fix(hasura): thread param permission * fix(masterbots.ai): typo * fix(masterbots.ai): allow svg content-type * fix: chat + browse layout * style: clean up * Seo data (#273) * fix: build error * feat: Add SEO data to the chat page * feat: add default image, if not found * feat: Add SEO data to the browse page * fix: generates the image with error, in api/og * Update route.tsx fix: generates the image with error, in api/og * impr(masterbots.ai): title impr prompt * impr(masterbots.ai): improve current features v2 (#274) * add-impr-chat-prompt-footer-header-disclaimer * add-impr-chat-prompt-footer-header-disclaimer * add-UI-upt * add-UI-upt * add-action-prompt * add-clickable-upt * add-clickable-upt * Masterbots/fix redirects (#275) * fix:avatar-redirects * fix:avatar-redirect * fix(masterbots.ai): upt components/ui/button.tsx Coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix:URL correction --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] feat: wordware api (#276) * feat: add wordware api + vercel sdk strategy * feat: add wordware api + vercel sdk * wordware describe feat * wordware run + interface * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * impr(masterbots.ai): upt /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix(masterbots.ai): typo /api/wordware/describe/route.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * doc: mb system diagram upt * wip: icl calls integrations * impr(masterbots.ai): permission for thread & user action mode (#281) * update * feat: added permissions & new column * fix: rm unnessecary files * fix: rm permission check * feat(masterbots.ai): create password recovery (#282) * feat:add-recovery-strategy * chore:add nodeemailer * upt:hasura * upt:hasura * upt:gmail service * feat(hasura): otp, token table + junction w/user + mb-genql gen * feat:add recovery password API * fix:ai suggestion + UX * feat:improve ux show password feat * chore:env sample * chore:useSetState * chore:roles --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] impr: WW API sanitize and keep alive (#284) * keep-alive + API sanitize + timeOut guard * impr streamAndValidateResponse fn * wip(masterbots.ai): impr createImprovementPrompt * style(masterbots.ai): chat loading states comments * feat(masterbots.ai): add admin mode to approve thread (#283) * feat:added mode toggle and approve btn * feat: added migration for user role * feat: user role flow implet * fix: impr admin approve process * fix: clean up * fix: toggle CTA changed * fix: update * fix: update * fix: observ * fix: obs clean up * fix: update * fix: clean up * impr(masterbots.ai): alpha metadata chatbot labels (#288) * wip: metadata chatbot labels * wip(masterbots.ai): chatbot metadata labels * impr(masterbots.ai): gen chatMetadata * impr: simplifying prompt defitions + biome.json base config * impr(masterbots.ai): recursive improved text prompt * style: code comments + eslint chk * impr: biome.json config * fix(masterbots.ai): conflicts typo fix * style(impr): cleanPrompt + followingQuestionsPrompt relocation & cleanup * doc: map system (simplified) * fix(masterbots.ai): sideBar updating URL (#286) * fix:sideBar updating URL * feat: coderabbit-ai suggestions * fix: Implement auto-expanding sidebar categories and chatbot highlighting based on URL * feat: optimize sidebar navigation with Link * feat: thread options (#287) * feat: added verified and label to the options * usethreadvisibility as context * feat: added option design and functions * fix: clean up * fix: update * fix: update * fix: obsv * fix: merge and update * fix: update the delete popup * fix: observ * fix: update * fix: delete thread flow * update * fix: update * fix: types * fix: chatbot not required * fix: testing * fix: rm bun.lock * fix: clean up * fix: update * fix(masterbots.ai): temp freezing next version --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] feat: email verification (#289) * feat: email verification * feat: email verification * feat: email verification * upt:build * feat: handle error redirection * chore:cron task * upt: cron blocking instead erasing * feat(hasura): create social following table. (#292) * feat(db): create social following table. * create user following and followers relationships. * fix(db): ensure users can only manage their own follow relationships. * feat(db): social following and user table permissions improvements. * feat(db): improving social following table with timestamp and idx. * impr(db): permissions and tracked object relationships. * impr(db): avoid self follow. * chore(masterbots.ai): guard WordWare for prod routing * [masterbots.ai] fix: public/private tag bg on dark mode (#294) * fix: tag bg * fix: text color * fix: browse page error * fix: debugging * fix: debugging * fix: debugging * fix: added func to generate short link * fix(hasura): upt user permissions (#296) * update user permission * fix: reverse the following table * fix(hasura): build error (#297) * fix: error build * fix: reverse select perm * [masterbots.ai] feat: thread list display + components comments for ai (#299) * merged from develop * feat:add new ui-thread-representation-browse * feat:add comments for ai - C * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add comments for ai - b/p * feat:add app theme colors effects * feat:add comments for ai - b/p * [masterbots.ai] feat: chatbot search tool v0.1a (#295) * wip: chatbot search tool * wip(impr): ww api + chat ui tweaks * fix: init sidebar load state * fix: nesting layout * fix: thread-popup ui header * wip(impr): chatbot tooling * impr: loading state + debug chatbot tools * wip(fix): nodejs context * fix(temp): rm edge runtime api config * [masterbots.ai] feat: reorganize navigation menu for mobile view (#298) * feat: reorganize navigation menu for mobile view * UI: add sideBar style * feat: add link profile and logout icon * Update profile-sidebar.tsx Tailwind class fix * [masterbots.ai] feat: UI + Logic Improvements (#301) * feat:impr responsive * feat:impr password strenght checker * feat:impr responsive * upt-build * feat:respomsive tweask * feat:back arrow aria label * fix:chat mobile layout * fix:code section * fix:chat pannel * fix:chatBot redirection * feat:restore appConfig header * [masterbots.ai] fix: restore desktop navigation link - browse section (#303) * fix:restore desktop navigation link - browse * fix:formating * feat:yellow combobox btn (JUN-REQUEST) * glowing effect variant * upt:removed /b navigation as original v * feat:powerup mode + provider * [masterbots.ai] fix(impr): browse and chat content search (#304) * feat:browse title and content search * feat:browse title and content search * fix:typo * impr:reusable non result component * feat:skeletons * feat:guard * fix:skeletons * fix:chat searching * fix: add accent colour --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> * [masterbots.ai] impr: seo sitemap (#306) * chore: sitemap creation * chore: add description based on category * chore: update queries in services * chore: truncate text * impr: upt (browse)/[category]/[threadId]/sitemap.ts coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: ai tools (#302) * wip: ai tools * fix: WW json regexp * impr: simplifying main ai call * wip(fix): chat component re-render + cleanup * impr(refactor): chat hooks * fix: ts build * fix: ts build * fix: ts typo * fix: typo * impr: ai feedbacks * [masterbots.ai] wip(impr): web search (#309) * impr: web search tool call * fix: colour values * fix: typo * impr: code suggestions * fix: class name typo * wip(fix): web search false positive response + webSearch context * fix: web search callback * fix: typo * feat: profile page (#300) * feat: user card * fix: update * merge develop && update * feat: user generate bio & favourite topic * fix: update user card * feat: added profile sidebar * fix: update * update * update * update * fix: fetch approved and public threads * fix: fetch approved and public threads * update * fix: clean up and update * update * make fetch user work with bio * update * update * design updating * update * update * fix: few changes * update * fix: design update * fix: footer in layout * fix: update * fix: resercation * update * profile upload * feat: move the cloudinary key to env * fix: layout * fix: layout update * [masterbots.ai] fix: shallow routing for category & chatbots for chat & profile page (#313) * update * feat: added shallow link to the sidebar link * update' * fix: routing and content fetching * fix:update on routing * fix:update * update * update * update * fix: clean up * update * update * [masterbots.ai] feat: update ChatChatbotDetails (#314) * feat: new bot profile - chat * chore: dev comments * chore: white bg bot avatar * feat: add skeleton bot profile * [masterbots.ai] feat: include custom settings options (#317) * feat:relocation of theme switch(jun) * feat: create font-size accessibility provider(jun) * feat: r-sidebar theme switcher relocation + skeleton * feat: impr add rem instead px * [masterbots.ai] feat: integrate drizzle ORM (#320) * feat: create mb-drizzle package initial structure * feat:(masterbots.ai) add drizzle endpoint + service * chore: include database url * chore: upt mb-drizzle * feat: refactor drizzle config + generations * chore: impr migrate * chore: add working drizzle connection + migrations * feat: add centralized actions * chore: add ai review recomendations * chore: webSearch feature flag + use cloudinary upload preset * fix: responsive sidebar fix * fix: ts chk build * fix: sidebar async call * fix: ts build * chore: typo * [masterbots.ai] fix: browse category navigation (#316) * update * fix: rm category * update * fix: pop up on the user threads * update * update clean up * update * fix: clean up * fix: clean up and update * fix: update * fix: popup on navigation * fix: update * update * update * update * clean up * update * merge * fix: hasura thread delete + user dup permissions (#330) * [masterbots.ai] feat: onboarding bot profile variants (#324) * add chatbot-details and browse-details variants * feat: add bio generation * feat: chat profile bg * chore: update bot profile designs * chore: remove internal padding from cardHeader component * impr: iconography + border thickness * fix: numberShortener util fn --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: user following (#319) * update * added follow user * update * fix: upt hasura metadata databases, public_social_following.yaml coderabbitai code suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: upt masterbots.ai lib, utils.ts coderabbitai suggestion. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: user card * update * fix: permission * update * fix: added more column for chatbot followee * fix:foloow chatbot implementation * update * threads by following user/bots * update * update * update * update * update * update * update * update --------- Co-authored-by: Roberto Lucas <andler@bitcash.org> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * [masterbots.ai] impr: new sonner (#334) * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * fix: overflow of the width of the sonner * chore: add new icons * feat: Sonner custom hooks and setup * feat: use useSonner hook throughout the app * chore: use hook sonner * refactor: changes according to coderabbitai * refactor: update use of sonner * chore:remove icons and use lucide icons * chore: Using Lucide Icons * chore: bun pkg mngr upt * Standardize url building using urlbuilders utility (#341) * fix: update url * fix: url update * update * [masterbots.ai] impr: og Image api dynamic to be useful without thread ID (#335) * update * fix: make OG image use default * fix: update * fix: update * fix: obs * fix: update * fix: added og to browse and chat * update * update * update * fix: provider types error * fix: updfate UUID * fix: update UUID * [masterbots.ai] docs: hook useSonner (#343) * chore: document hook useSonner * refactor: document hook useSonner, according coderabbit * impr: web search response (#310) * impr: web search response * refactor: extracting clickable generation logic * refactor: extracting clickable generation logic * fix: webSearch clickable text + reference links * chore: fix build * feat:(impr) stable version link to references format step 1 * feat:(impr) stable version link to references format step 2 --------- Co-authored-by: Bran18 <andreyfdez18@gmail.com> * [masterbots.ai] refactor: prelaunch ux/ui changes (#336) * refactor: replicate tooltip effect in desktop bot chatbot details * fix: add guard and removed re-render * fix: refactor mobile bot chatbot details * refactor: make chatPannel bigger * chore:add new bot card design + sidebar hover color * chore: delete public and private sw + icons * chore: include public + delete extra actions * chore: add sidebar bg * add sidebar new styles + lib fn * feat: add select bot * chore: cleaning * fix: build - removing BotMessageSquareIcon * fix: types/node version + node min ver req --------- Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> * [masterbots.ai] feat: continuous thread ui functionality (#340) * wip: continuos thread logic and functionality. * feat: updating parent thread functionality. * feat: continuous thread UI and finalize functionality. * fix: lowering resolveThreadId logic complexity. * Update apps/hasura/migrations/masterbots/1736934906237_set_fk_public_thread_parent_thread/down.sql Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update apps/masterbots.ai/lib/hooks/use-mb-chat.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: ts build --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] fix: refactored components - pre icl v3 (#348) * chore: add refactored components - pre icl v3 * chore: add navigation color + text-input color * fix: type * wip: header active state * fix: them toggle --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * feat: icl v1a (#344) * wip: vercel ai sdk upt * wip: icl web feature * chore: icl hasura migrations, metadata and seeds * chore: genql gen * impr: chat opt separator render * impr: accordion chevron pos * impr: chat-list space * Fix observations from Jun (#353) * update * fix: update * fix: added empty state * fix: rm favourt and added card empty state * fix: hide sibe category without threads on user profile * fix: update * fix: update * [masterbots.ai] fix: reduce prompt input validation * fix: hasura moderator augmentedFrom msg prop * impr: ai prompt examples flow * fix: hasura moderator role thread upt permissions * [masterbots.ai] feat: chatbot following + thread highlight + bot thread page to blog (#337) * update * feat: added chatbot follow function to other component * update profile thread * thread highligh * thread highligh update * update * fix: thread blog * fix: follow chat bot * update * fix: observations * fix provider types issue * fix provider update * feat: update blog template * fix: rm p tag from list items * fix: merge * fix: rm parentid and continiue reading * update * update * merge * fix: generated types * update * updatd * update code * impr: profile page layout * fix: mg-genql gen ts --------- Co-authored-by: Roberto Lucas <andre.rlucas@outlook.com> Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * [masterbots.ai] fix: init threads render + icl init cleanup (#354) * wip: fix init threads render + icl cleanup This fixes the following issues: 1. Reduced the amount of re-renders when sending the new data. 2. Clean up the ICL functions and types. 3. State management for the user-thread-panel. 4. Debug the re-rendering uissue that is replacing the main thread content. 5. Debug opening a new thread with the new ICL system. They show in the list but not returning the messages when opening it up. 6. Few code clean ups. * impr: thread list re-render in chat page * fix: initialMessages in useChat * fix: hasura moderator role thread upt permissions * impr: thread list re-render * fix: markdown pkg ts * fix: markdown pkg ts * fix: downgrade react-markdown (#358) * fix: downgrade react-markdown * fix: downgrade react-markdown * fix: markdown dep version + layout thread list ui * impr: gray-ish overlay bg rm * chore: console log rm --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * refactor: icl seeds v2 (#357) * chore: upt hasura icl seeds * chore: chat legacy table rm * chore(wip): icl seeds curation * chore: upt icl init seed pt2 * chore: upt icl init seed pt3 * chore: upt icl init seed pt3 * chore: upt icl init seed pt4 * fix: cat + chatbot seeds revision * chore: tag seeds note upt * fix: drop and create chatbot_domain table (#360) * fix: drop and create chatbot_domain table * fix: chatbot_domain permissions * fix: SQL typo * [masterbots.ai] feat: improve common components and features (#356) * fix: sidebar * feat: add DeepSeek integration * chore: wip accordions * fix: include popup accordion * chore: add shared accordion to thread list * fix: extra space * fix: extra space * chore: add tabs effect * chore: add colors based on routes * chore: add colors based on routes --------- Co-authored-by: Roberto Lucas <andler.dev@gmail.com> * fix: useRouter import * [masterbots.ai] fix: sidebar category render (#362) * fix: sidebar category render * docs: toggleChatbotSelection * [hasura] chore: label + label_chatbot_category_domain dropping tables migration (#361) * fix: fetch chatbotDomain * [hasura] chore: rm wip example seed part * chore: rm legacy tables + fix getChatbotMetadata props (#363) * chore: rm legacy tables * fix: getChatbotMetadata * fix: chatbotMetadata ts * wip(refactor): icl init tags & categories fetch * chore: bun.lockb upt * fix: hotfix build error * impr: icl metadata requests v1 (#365) * wip: icl fetch + meta prompt impr * impr: sidebar paddings * wip: icl fetch + meta prompt impr * wip: icl fetch + meta prompt impr * impr: icl metadata request v2 (#366) * wip: icl fetch + meta prompt impr * fix: icl fetch + meta prompt impr * impr: icl output + prompts * chore: console.log rm * chore: console.log icl metadata devMode * [masterbots.ai] test: sytem prompt as user role * fix: show sidebar in profile (#364) * chore: clickable responses update * [masterbots.ai] refactor: use chat hook context + state management perf (#369) * chore: system prompt as system role * refactor: use-mb-chat to context * fix: mbchat provider location * impr: profile page scroll & footer position (#367) * update * fix: update * update * update * fix: profile page scroll and footer positioning * fix: profile sidebar * update * update * Revert "update" This reverts commit ef7ee8c. * Revert "Revert "update"" This reverts commit 553f82f. * Revert "Revert "Revert "update""" This reverts commit c645eca. * fix: profile page footer positioning * fix: visitor should be able to scroll through the categories * fix: profile page side bar * fix: rm loading when user not logged in * fix: update * [masterbots.ai] fix: clickable text feature (#372) * fix: accordion arrow * fix: clickable text formating * wip: fix thread load (#373) * wip: fix thread-list load * fix: continuous system prompt context * fix: render flickr + followup question logic impr * impr: prompt tags segmentation * chore: impr following question prompt * feat: public continue thread (#375) * refactor: integrating chatPannelHeader into chatPannel * chore: update browse-chat-message with shared accordion * chore: continue conversation + full conversations fix * fix: left align text * [masterbots.ai] fix: show appropriate bot cards in the user thread list (#368) * update * fix: update * update * update * fix: filter category & chatbot by userId on profile page * fix: hide empty chatbots * fix: followee permission error as moderator to follow and unfollow (#374) * update * fix: update * update * update * fix: permission issue for moderator when following other user * fix: shift on user card when loading or empty * update * [masterbots.ai] fix: isNewChat guard + continuous thread messages + power up prompts (#377) * fix: thread render at pop-up close * impr: getRouteType + chat layout * wip: isNewChat state * impr: prompt tags segmentation * fix: chat messages list render + open last according by default on new responses * impr: thread list render guard * feat(wip): isPowerUp mode * impr: memoizing getChatbotMetadata * fix: grabbing previous messages, continous chat * chore: add todo comment * impr: previous thread ui + coderabbitai observations * fix: previous conversation re-render * doc: useEffect biome-ignore * impr: deep obj compare for msg pairs * fix: ts build * fix: ts build * [masterbots.ai] refactor: useScroll hook (#376) * chore: refactor useScroll * chore: refactor useScroll * chore: refactor useScroll * Delete apps/masterbots.ai/lib/context/thread-context.tsx * chore: test commit * fix: import type * chore: add clearTimeout * chore: add destructuring * feat: update use-mb-scroll * feat: update thread component --------- Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local> * [masterbots.ai] fix: chat stream render (#380) * fix: chat stream render * fix: typo * chore: chatbot prompts init config + active thread hotfixes (#378) * wip: chatbot prompts init config * wip: upt init config seeds, adding prompt configs * chore: upt init config seeds * fix: resetActiveThread guard * impr(wip): masterbot config prompt * chore: icl data curation, domain + category + sub-category * chore: init domain seeds curation * fix: moderator + user role table selection * impr: web prompt config + fix thread list render + code comments * fix: coderabbitai observations * [hasura] chore: upt user insert rows seed * fix: conflict fix --------- Co-authored-by: Gabo Esquivel <contact@gaboesquivel.com> Co-authored-by: Jimoh sherifdeen <63134009+sheriffjimoh@users.noreply.github.com> Co-authored-by: Nathanael Liu <supernathanliu@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com> Co-authored-by: Anouk Rímola <77553677+AnoukRImola@users.noreply.github.com> Co-authored-by: Trivium <25100787+Nemunas@users.noreply.github.com> Co-authored-by: Leandro Gavidia Santamaria <93232139+leandrogavidia@users.noreply.github.com> Co-authored-by: Jun Dam <jun@bitcash.org> Co-authored-by: Luis Carrión <41096968+luighis@users.noreply.github.com> Co-authored-by: Marco Ledezma <marcoledezmacordero09@gmail.com> Co-authored-by: Bran18 <andreyfdez18@gmail.com> Co-authored-by: sheriffjimoh <sheriffjimoh88@gmail.com> Co-authored-by: Brandon fernandez <brandonfdez@Brandons-MacBook-Air.local>
Summary by Sourcery
Improve the user interface and logic of the authentication forms by adding password visibility toggles and a password strength meter. Refactor email templates into a separate module for better code organization. Enhance the responsiveness and animations of authentication-related pages. Simplify and improve the ClickableText component logic and truncate long usernames in the user menu for better UI consistency.
New Features:
Enhancements:
Summary by CodeRabbit
Release Notes
New Features
Improvements
Bug Fixes
Documentation
Previews: