- Refactored the NoData component to always display the alert with tracking instructions.
- Updated the tracking script URL in the documentation from `https://api.ribbit.io` to `https://app.rybbit.io` for consistency.
- Changed script source URLs in NoData, SignupPage, and ScriptBuilder components to use globalThis.location.origin instead of BACKEND_URL.
- Updated the script tag to use data-site-id attribute for consistency across components.
* Fix CSS styles causing scrollbar visibility on non scrollable page.
* Fix Crimea's geographic boundaries
to align with internationally recognized borders
* Fix hexagon flickering on the globe during zoom
Implemented a mechanism for deferred change of the height of the base hexagons, depending on the distance from the globe.
- Implemented the useSetPageTitle hook to set appropriate titles for the Home, Events, Funnels, Goals, Journeys, Main, Map, Realtime, Reports, Retention, Sessions, User, Users, Login, Account, Organizations, Subscription, and Signup pages.
- This enhances SEO and user experience by providing clear context for each page.
- Modified `getLabel` in the Pages component to truncate strings to a maximum of 30 characters for better readability.
- Added `items-start` class to the layout of the RealtimePage component for improved alignment of elements.
- Added `expanded` and `close` props to StandardSection and its dialog components for better state management.
- Integrated expand/collapse button in various sections (Countries, Devices, Pages, Referrers) to improve user interaction.
- Updated layout to accommodate new button and ensure consistent styling across sections.
- Replaced email links with a direct contact page URL across multiple components, including Subscribe, PricingSection, Contact, and PrivacyPolicy.
- Enhanced navigation for custom pricing inquiries by redirecting users to the contact page instead of email.
- Added "Custom" tier option to event pricing in the subscription page and PricingSection component.
- Updated logic to handle custom pricing inquiries via email redirection.
- Adjusted pricing display to accommodate custom tier scenarios.
- Changed contact email from founders@rybbit.io to hello@rybbit.io across relevant components.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
* 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.