Commit graph

485 commits

Author SHA1 Message Date
Bill Yang
65705509b1 fix tax 2025-05-03 23:14:42 -07:00
Bill Yang
75d0ebefaa fix 2025-05-03 23:11:40 -07:00
Bill Yang
4bd218b9f0 fix usage checker 2025-05-03 23:05:26 -07:00
Bill Yang
0f43f62103 Refactor Stripe pricing retrieval and update pricing constants
- Replaced direct usage of STRIPE_PRICES with a new getStripePrices function for improved flexibility in pricing retrieval.
- Updated pricing details in the STRIPE_PRICES constant to reflect new price IDs.
- Enhanced subscription handling in various components to utilize the updated pricing structure.
2025-05-03 22:51:42 -07:00
Bill Yang
e1adb3a2a3 Update subscription pricing and improve subscription handling
- Changed subscription cancellation message from "Ends on" to "Cancels on" for clarity.
- Updated subscription data structure to require `cancelAtPeriodEnd` field.
- Adjusted Stripe pricing for various plans, increasing monthly and annual prices.
- Modified pricing display logic in the PricingSection component to reflect new prices.
- Increased default event limit for users without an active subscription from 10,000 to 100,000.
- Enhanced subscription retrieval to include `cancelAtPeriodEnd` status.
2025-05-03 22:17:41 -07:00
Bill Yang
696c6b6145
Fix allow (#108)
* fix allow

* wip

* wio
2025-05-03 22:06:08 -07:00
Bill Yang
2988e7b079 Add demo mode support and improve EventList component
- Introduced NEXT_PUBLIC_DEMO environment variable in docker-compose for demo mode configuration.
- Updated EventList component to display a "No Data" message when in small size mode.
- Enhanced TopBar component to show a sign-up link when in demo mode.
- Added IS_DEMO constant to manage demo mode state in the application.
2025-05-03 17:45:04 -07:00
Bill Yang
e0a8634a35 Enhance CORS handling and add origin normalization
- Updated CORS origin validation to use a new `normalizeOrigin` function, ensuring consistent handling of incoming requests.
- Introduced `normalizeOrigin` utility to standardize URLs by removing the 'www.' prefix.
- Adjusted allowed domains loading to directly use domain names without adding 'https://' prefix, improving flexibility.
2025-05-03 17:34:08 -07:00
Bill Yang
287f65b6e7 Add script 2025-05-03 16:28:48 -07:00
Bill Yang
97c29dafac
Fix callbacks (#107)
* Fix callbacks

* fix layout

* Remove callbacks

* Disable redirects

* fix caddy

* test disable basepath

* wip

* test caddy fix

* remove basepath

* fml

* pray

* kms

* pray

* wip

* Test
2025-05-03 16:27:46 -07:00
Bill Yang
dd3739a716 fix layout 2025-05-03 14:12:25 -07:00
Bill Yang
8b4529d9e4 Remove NoData component and clean up SiteLayout structure
- Deleted the NoData component to streamline the codebase as it is no longer needed.
- Refactored the SiteLayout component by removing unused NoData handling logic and commented-out code, enhancing clarity and maintainability.
2025-05-03 14:00:21 -07:00
Bill Yang
46b7e85488 Implement NoData component and enhance layout structure
- Introduced a new NoData component to display relevant messages when no data is available.
- Updated the Header component to include the NoData component for better user feedback.
- Refactored the SiteLayout component to remove the previous NoData handling logic, improving clarity.
- Replaced placeholder text in various components with the new NothingFound component for consistent empty state messaging.
2025-05-03 13:58:46 -07:00
Bill Yang
1d0ffdf9d9 Refactor authentication and environment configuration
- Removed the .env.example file as it is no longer needed.
- Added DISABLE_SIGNUP environment variable to docker-compose files for cloud and development environments.
- Updated setup script to include DISABLE_SIGNUP with a default value of false.
- Modified auth.ts to utilize DISABLE_SIGNUP for controlling signup functionality.
- Introduced DISABLE_SIGNUP constant in const.ts to manage its value from environment variables.
2025-05-03 13:14:13 -07:00
Bill Yang
990861aca6 Enhance site management with domain handling
- Added domain property to site configuration in addSite and changeSiteDomain functions.
- Implemented domain retrieval and update methods in SiteConfig class.
- Introduced origin validation in trackEvent to ensure requests come from registered domains, improving security.
- Added a constant to disable origin checking for development environments.
2025-05-03 12:59:01 -07:00
Bill Yang
fb70db8718 Enhance login and signup pages with new logo and styling updates
- Added a new Logo component for consistent branding across the application.
- Updated the login page to include the logo at the top of the sign-in card.
- Enhanced the signup page with improved styling for input fields and buttons, including background colors and hover effects.
- Introduced background gradients and adjusted layout for a more visually appealing design.
- Refactored the TopBar component to utilize the new Logo component, improving code maintainability.
2025-05-03 12:28:38 -07:00
Bill Yang
55bf9c60f7 try to fix sso 2025-05-03 12:05:25 -07:00
Bill Yang
d3cb3a5a82 try to fix sso 2025-05-03 12:03:43 -07:00
Bill Yang
c78ad535da Add cloud configuration to Docker Compose
- Introduced a new docker-compose.cloud.yml file to support cloud deployment.
- Added services for Caddy, ClickHouse, Postgres, backend, and client with appropriate configurations.
- Updated environment variables for backend and client services to facilitate cloud integration.
- Removed cloud-related environment variables from the main docker-compose.yml for clarity.
2025-05-03 12:00:31 -07:00
Bill Yang
b34aff1153 Update environment variables for cloud integration in Docker configurations
- Added GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET to both docker-compose files for cloud support.
- Included GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET in the environment variables.
- Updated the auth.ts file to enable social login providers for cloud deployments.
2025-05-03 11:43:09 -07:00
Bill Yang
7ffec2f825 opengraph image 2025-05-03 11:13:33 -07:00
Bill Yang
60867a2a7b
Fix cloud (#106) 2025-05-03 09:53:02 -07:00
Bill Yang
dbe4b590f9 Update demo links to point to the new application URL
- Changed all instances of demo.rybbit.io to app.rybbit.io in layout, page, and PricingSection components for consistency and to reflect the updated application URL.
- Ensured that the user experience remains seamless with updated links for sign-up and demo access.
2025-05-02 18:27:29 -07:00
Bill Yang
8e342f7fde Update messaging in subscription and documentation pages for clarity
- Removed "Cancel anytime" from the subscription checkout message for a more straightforward communication.
- Updated the main heading and introductory text on the documentation page to better reflect the service's value proposition.
- Changed button text to "Track your site now" to enhance user engagement.
- Simplified credit card requirement messaging across various components for improved user understanding.
2025-05-02 18:25:15 -07:00
Bill Yang
8b039aa351 Refactor subscription status handling and update pricing display
- Simplified the SubscriptionData interface by reducing the number of subscription statuses to "expired", "active", and "trialing".
- Updated the pricing display in the Subscribe page and PricingSection component to show monthly pricing instead of annual, enhancing clarity for users.
- Removed redundant comments in globals.css to clean up the stylesheet.
2025-05-02 18:13:08 -07:00
Bill Yang
ddcb5704d1 Refactor ProPlan component and enhance subscription management features
- Renamed handleManageSubscription to createPortalSession for clarity and added flowType parameter to support different subscription actions.
- Introduced new handlers for changing, viewing, and canceling subscriptions, improving user interaction with the subscription management process.
- Updated UI to include separate buttons for changing plans, viewing subscription details, and canceling subscriptions, enhancing user experience and accessibility.
- Modified createPortalSession API to handle different flow types for subscription updates and cancellations, ensuring proper session management with Stripe.
2025-05-02 17:31:40 -07:00
Bill Yang
00c76644f5 Remove subscription API and update related components for improved clarity
- Deleted the subscription.ts file to streamline the codebase as it was no longer in use.
- Updated the useStripeSubscription hook to include additional subscription statuses for better handling of subscription states.
- Enhanced the Subscribe page to redirect users to the settings page if their subscription status is active.
- Cleaned up messaging in the pricing page to simplify user communication regarding event limits.
2025-05-02 17:14:03 -07:00
Bill Yang
5caf186701 Integrate PricingSection component and update pricing page layout
- Added the PricingSection component to the main page for improved visibility of pricing plans.
- Updated the FAQ section with new questions and answers regarding event limits and plan changes.
- Removed the outdated pricing metadata file to streamline the codebase.
- Adjusted button text for clarity and enhanced user messaging regarding trial terms.
2025-05-02 16:23:13 -07:00
Bill Yang
6b93d81bee Remove PlanFeaturesCard component and related logic from subscription plans
- Deleted the PlanFeaturesCard component to streamline the subscription page.
- Updated ProPlan and TrialPlan components to remove references to PlanFeaturesCard.
- Refactored plan details handling in ProPlan to directly utilize STRIPE_PRICES for pricing information.
- Cleaned up unused imports and constants in planUtils and constants files for better maintainability.
2025-05-02 16:07:16 -07:00
Bill Yang
191e4c27e4 Update UI elements and enhance pricing page layout
- Changed button text from "Get Started for Free" to "Start 14 day free trial" for clarity.
- Removed the "No credit card required. Free plan available for small projects." text to simplify messaging.
- Improved the pricing page layout with background gradients for a more visually appealing design.
- Adjusted slider component styles for better user interaction and aesthetics.
- Cleaned up code formatting for consistency across components.
2025-05-02 15:58:12 -07:00
Bill Yang
ad2c08e9a2 Refactor subscription page and enhance pricing features
- Removed unused plan templates and related functions to streamline the subscription logic.
- Introduced a new feature list for the Pro plan, emphasizing key benefits for users.
- Updated the pricing display to improve clarity and user experience, including a more intuitive billing toggle.
- Added a FAQ section to address common user inquiries regarding event limits and plan changes.
- Enhanced the layout and styling for better responsiveness and visual appeal.
2025-05-02 15:48:05 -07:00
Bill Yang
7ab608eddb Update dependencies and enhance documentation structure
- Added @radix-ui/react-slider dependency to package.json and package-lock.json for improved UI components.
- Introduced a new pricing page metadata in _meta.js to enhance site navigation.
- Adjusted trial event limit in monthly-usage-checker.ts to better reflect user subscription tiers.
2025-05-02 15:37:04 -07:00
Bill Yang
b220d01a70
events (#103)
* events

* wip

* Remove standardsection

* Enhance EventList and EventProperties components with loading skeletons and size prop

- Added a loading skeleton to EventList and EventProperties components for improved user experience during data fetching.
- Introduced a size prop to both components to allow for flexible rendering of elements based on size (small or large).
- Updated EventsPage to pass the size prop to EventList for consistent styling.

* Implement pagination and filtering for event retrieval

- Enhanced the analytics API to support pagination and filtering for event data retrieval.
- Introduced a new endpoint for fetching events with pagination and filtering capabilities.
- Updated the `useGetEvents` hook to support infinite scrolling and real-time updates.
- Added a new `EventLog` component to the EventsPage for better event tracking.
- Refactored existing event fetching logic to accommodate new query parameters and maintain backward compatibility.
2025-05-02 13:24:30 -07:00
Bill Yang
46fdce73dd Enhance user information and analytics components
- Added 'city' field to UserInfo type and updated related API to include city data.
- Introduced getLanguageName utility function for improved language display in user and session details.
- Updated UserPage and SessionDetails components to display city and formatted language information.
- Refactored Countries component to remove redundant language name logic, utilizing the new utility function instead.
2025-05-01 16:48:00 -07:00
Bill Yang
deab0c0381 Enhance BaseStandardSection and BaseStandardSectionDialog components
- Added a "No Data" message with an info icon in BaseStandardSection when no data is available.
- Improved layout in BaseStandardSectionDialog by adjusting alignment and overflow properties for better responsiveness.
- Updated the getLabel function in Pages component to truncate strings to 30 characters for improved display.
2025-05-01 15:28:50 -07:00
Bill Yang
611d8ac088 Refactor analytics to utilize structured URL parameters
- Updated the analytics API to extract UTM parameters from a new structured `url_parameters` map instead of individual fields.
- Refactored SQL query generation to use a unified `getSqlParam` function for improved consistency and maintainability.
- Enhanced the `PageviewQueue` to capture all URL parameters, streamlining data collection for analytics.
- Introduced a new utility function, `getAllUrlParams`, to parse and manage URL parameters effectively.
2025-04-30 22:56:10 -07:00
Bill Yang
41c4f63742 Enhance analytics and filters with UTM parameters
- Updated the analytics API and data models to include UTM parameters: utm_source, utm_medium, utm_campaign, utm_term, and utm_content.
- Refactored the useGetGoals and useGetSessions functions to utilize filtered UTM parameters for improved data retrieval.
- Enhanced the Filters component to support UTM parameters, adding new filter options and updating the UI accordingly.
- Updated the Referrers section to include tabs for UTM parameters, allowing users to filter and analyze data based on UTM attributes.
- Improved documentation and type definitions to reflect the addition of UTM parameters across the application.
2025-04-30 21:51:52 -07:00
Bill Yang
9f2b7f9b39 Update introduction and key features in documentation
- Enhanced the introduction of Rybbit to emphasize its capabilities and updated the monthly event count from 10,000,000 to 15,000,000.
- Clarified the key features by specifying "web analytics" and added new features such as "cool visualizations" and "quick setup."
- Added a new section for the code repository and improved the community section with links for user engagement.
2025-04-30 20:36:29 -07:00
Bill Yang
80dbf74644 Update metadata and documentation links
- Changed display property in _meta.js to use double quotes for consistency.
- Updated layout.jsx to point to the correct GitHub repository path for documentation.
- Added a roadmap entry in content metadata for future planning.
- Expanded the index.mdx file with a new community section, including links to Discord and X for user engagement.
2025-04-30 20:29:56 -07:00
Bill Yang
87d6916852 Refactor Card component styles and update documentation headings
- Removed animation classes from Card component for a cleaner design.
- Deleted the Showcase page as it was no longer needed.
- Added new sections and reorganized headings in documentation for clarity, including updates to 'Adding Users', 'Self Hosting', 'Track Events', and 'Tracker' pages.
2025-04-30 20:07:42 -07:00
Bill Yang
5525e99ebb Refactor analytics queries to utilize events table for session data
- Updated the getSession function to derive session data from the events table, enhancing data accuracy and detail.
- Modified the getUserSessionCount function to count distinct session IDs from events instead of sessions, improving session tracking.
- Removed obsolete session table creation and materialized view definitions from Clickhouse initialization, streamlining the database setup.
2025-04-30 17:58:10 -07:00
Bill Yang
26aad3e470 Update demo links to point to the new Rybbit demo site
- Changed all instances of the old demo link (tracking.tomato.gg) to the new demo link (demo.rybbit.io) in layout and page components.
- Updated the introduction in the documentation to reflect the new demo site URL.
2025-04-30 17:27:23 -07:00
Bill Yang
9b38ed2e23 Refactor analytics API to support funnel management
- Replaced the deleteReport functionality with deleteFunnel, allowing for the deletion of funnels instead of reports.
- Updated the createFunnel API to reference the new funnels table and adjusted error handling for funnel existence and ownership checks.
- Modified the getFunnels API to fetch data from the funnels table, ensuring consistency in data retrieval.
- Removed the obsolete deleteReport file and updated schema to reflect the new funnels structure.
2025-04-30 17:09:02 -07:00
Bill Yang
bd5e19e0e6 Enhance Funnel component with improved metrics display and layout
- Updated the Funnel component to include additional visual indicators for overall conversion and conversion from the previous step.
- Adjusted layout for better spacing and alignment of elements, enhancing readability.
- Simplified the rendering of funnel steps and drop-off metrics for improved user feedback.
- Incorporated percentage-based width for conversion bars to provide a clearer representation of user flow.
2025-04-29 23:47:18 -07:00
Bill Yang
20ed14e293 Refactor Funnel component for improved layout and metrics display
- Updated Funnel component to enhance the layout and spacing of elements for better visual clarity.
- Replaced bar height calculation with percentage-based width for a more responsive design.
- Added total conversion rate summary and improved user feedback on step metrics.
- Simplified the rendering of funnel steps and drop-off indicators for better readability.
2025-04-28 23:04:51 -07:00
Bill Yang
f8b579511b Enhance funnel step functionality with event property filtering
- Added support for event property key and value in FunnelStep type to allow filtering based on event properties.
- Updated FunnelForm component to manage property filtering state and toggle functionality for event steps.
- Enhanced FunnelRow component to display event property information when applicable.
- Modified getFunnel API to include property matching in event queries, improving analytics capabilities.
2025-04-28 22:56:31 -07:00
Bill Yang
fb31a0c160 Enhance FunnelForm component layout and functionality
- Adjusted grid layout for better spacing in the FunnelForm.
- Updated card padding for Funnel Steps and Filters sections to improve visual consistency.
- Enhanced input fields with additional styling and placeholder text for clarity.
- Implemented wildcard path matching support in the analytics API for funnel steps, improving flexibility in path definitions.
2025-04-28 22:46:28 -07:00
Bill Yang
11944cda6a Add skeleton components for Funnels and Goals pages
- Introduced FunnelRowSkeleton to provide a loading placeholder for funnel rows in the FunnelsPage, enhancing user experience during data fetching.
- Added GoalCardSkeleton to the GoalsPage for displaying loading states while goals data is being retrieved, improving visual feedback for users.
2025-04-28 22:15:44 -07:00
Bill Yang
5628b9acd0 Refactor Sidebar and Retention components for improved UI and functionality
- Updated Sidebar component to reorder and reintroduce the Sessions, Users, and Retention links for better navigation.
- Modified the getRetentionColor function in the Retention component to enhance color handling, using consistent RGB values and blending techniques for improved visual representation based on retention percentage.
2025-04-28 22:05:58 -07:00
Bill Yang
2cf311de37 Enhance GoalCard component layout and conversion rate visualization
- Updated GoalCard to improve layout with additional margin for better spacing.
- Added a new visual indicator for the conversion rate at the bottom of the card, enhancing user feedback on goal performance.
2025-04-28 21:58:08 -07:00