-
Notifications
You must be signed in to change notification settings - Fork 69
Rhys/better onboarding #797
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
RhysSullivan
wants to merge
1,815
commits into
main
Choose a base branch
from
rhys/better-onboarding
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Introduces ChannelPageLoader and fetchChannelPageHeaderData to decouple header and thread data loading for channel pages. Adds getChannelPageHeaderData and getChannelPageThreads queries, updates affected pages to use the new loader, and moves relative time formatting to a dedicated component. Improves code modularity and enables thread list to be loaded asynchronously.
Added a formatRelativeTime function to show human-readable relative time (e.g., '2m ago', 'just now') in the RelativeTime component. Also added a left margin to the timestamp in DiscordMessage for improved spacing.
Consolidates user page and comments loading logic into a new UserPageLoader component, replacing multiple client components. Moves user posts and comments queries from public to private API, adds new header data query, and updates related database functions. Simplifies page components and improves data fetching structure for user-related pages.
Removed CustomDomainConfigurator component and integrated custom domain logic directly into the settings page using the CustomDomain component. Simplified props and API usage for domain status and updates, and improved environment variable naming in Vercel domain actions. UI now shows valid configuration status with a badge and streamlines domain management for servers.
Changed the 'next' devDependency in typescript-config to use 'catalog:' instead of a specific version. This aligns dependency management with the catalog source and removes direct version pinning.
Introduces a new Convex function for storing Discord tokens. Updates code block rendering in the UI to use DOMPurify for sanitization, improving security. Updates dependencies and types for markdown and DOMPurify support. Includes minor fixes and dependency upgrades across packages.
Added jsdom to dependencies in package.json for improved DOM manipulation in tests or server-side rendering. Updated RelativeTime component to include a biome-ignore comment for the dangerouslySetInnerHTML usage, clarifying its necessity for hydration.
Introduces attachment migration scripts and schema to support exporting attachments to Convex. Adds new UI components and enhancements: message timestamp component, bot badge display, improved embed rendering with markdown support, and updates to global styles for consistent coloring. Also updates scripts and environment usage in package.json files.
Introduces a ReplyBar component to display referenced messages in ThinMessage, including handling deleted references. Updates message enrichment logic to include reference data. Replaces 'isomorphic-dompurify' with 'dompurify' in UI components and dependencies. Removes unnecessary 'prefetch' props from Link usages for cleaner code.
Refactored search pages for both domain and general search to use new SearchInput and ThreadCard components, improving UI consistency and user experience. Enhanced ConvexInfiniteList with initial loader count and empty state support. Removed unused loading file and updated next-env.d.ts import path.
Eliminates dompurify and @types/dompurify dependencies from the UI package and codebase. Updates code and markdown rendering components to no longer sanitize HTML output with dompurify, returning raw HTML instead. Also updates Next.js route types import and ensures NextLink always uses scroll={true}.
commit 7bbab645d46afa4aeb18ac7004ebc7755e320684
Author: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com>
Date: Tue Dec 9 21:39:43 2025 -0800
encode cursor to shorten it
commit a9db498978a90b18fe9928118881c21c608c62bc
Author: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com>
Date: Tue Dec 9 21:30:17 2025 -0800
infinite scroll fixes
commit 4c9f7bede6e842abded88d0e64d480941695330f
Author: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com>
Date: Tue Dec 9 20:49:49 2025 -0800
Add cursor-based pagination to channel pages
Refactored channel page components and data loaders to support cursor-based pagination for threads. Updated metadata generation to set robots meta tag based on cursor presence. Enhanced ConvexInfiniteList and hooks to handle initial cursors and paginated queries with cursors.
commit 7d38e9695114e6bf980703cc10496c06a9abd955
Author: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com>
Date: Tue Dec 9 20:24:57 2025 -0800
Implement paginated threads list for channel page
Refactor channel threads fetching to use paginated queries and infinite scrolling. Update ConvexInfiniteList to support initial data and pagination state. Add ChannelThreadCardSkeleton for improved loading UI. Update backend to return paginated results for getChannelPageThreads.
commit 3a50b4f4834daaf1c0e20efda5e1ce272f78302c
Author: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com>
Date: Tue Dec 9 20:18:35 2025 -0800
Move getChannelPageThreads to public API
Refactored getChannelPageThreads from private to public API for improved accessibility. Updated all references in frontend components and loader logic to use the new public endpoint, and adjusted type imports accordingly.
Migrates user and message pages to use new public Convex API endpoints for posts and replies, supporting cursor-based pagination. Removes comments pages and related tabs, updates metadata generation to handle pagination, and refactors components to use infinite lists for loading posts and replies. Adds new public API functions for fetching user posts and message replies, and updates function type generation to deduplicate entries.
Improved the RepliesSkeleton and ReplyMessageSkeleton components for better visual consistency and code reuse. Simplified and clarified the loading and 'Load More' button logic in ConvexInfiniteList, separating the display of loading skeletons, sentinel, and button for improved readability and maintainability.
Introduces a SuspenseClientOnly component to wrap code and code block rendering, ensuring proper suspense handling and client-only rendering. Updates usages in discord-message/code.tsx and markdown/render/code-block.tsx to improve SSR/CSR compatibility and user experience.
Moved and consolidated code rendering components into packages/ui/src/components/code.tsx, including CodeBlock, InlineCode, and Code. Updated imports throughout the codebase to use the new unified code component. Removed the now-redundant discord-message/code.tsx file and updated relevant exports and usage in Discord message components. This improves maintainability and consistency for code rendering across the UI package.
Introduces HydrationProvider and useIsHydrationRender to manage hydration state. Updates providers.tsx to wrap app in HydrationProvider and refactors code.tsx to use hydration context for client-only rendering. Adjusts convex-infinite-list.tsx to improve intersection observer and loading logic.
Deleted functions and constants related to extracting JWT from cookies, which are no longer used in convex-client-live.ts. This cleanup simplifies the file and removes unnecessary code.
Enhanced error handling in message update and creation events by reporting errors with context. Integrated Sentry error capturing in batched queue processing to improve observability of batch failures.
Introduced and applied new error handling helpers (catchAllWithReport, catchAllSilentWithReport, catchAllSucceedNullWithReport, catchAllCauseWithReport, catchAllDefectWithReport) across Discord bot commands, interactions, and services to standardize error reporting and improve observability. Updated .gitignore to exclude personal-notes/. Adjusted message batching for non-production environments. Minor robustness improvements in server sync embed generation.
Introduces a VANITY_INVITE_OVERRIDES map to allow custom vanity invite codes for certain guild IDs when mapping Discord guilds to AOServer objects. This ensures correct invite codes are used for specified servers.
This reverts commit 4cd27e1.
This reverts commit 0652bd0.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.