-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: deva55/codu
base: develop
head repository: codu-code/codu
compare: develop
- 11 commits
- 259 files changed
- 5 contributors
Commits on Oct 18, 2025
-
Fix: Hotkeys stop working after switching between preview and edit mo…
…des codu-code#1298 (codu-code#1300) * hotkey fix for the editor * Fix hotkeys not working after preview mode toggle --------- Co-authored-by: Niall Maher <nialljoemaher@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 4a1228d - Browse repository at this point
Copy the full SHA 4a1228dView commit details -
fix(sponsorship): open sponsor links in a new tab (codu-code#1307)
* fix(sponsorship): open sponsor links in a new tab * Update app/(app)/sponsorship/page.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Niall Maher <nialljoemaher@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f9d5809 - Browse repository at this point
Copy the full SHA f9d5809View commit details -
Upgraded @aws-sdk packages from 3.669.0 to 3.740 (codu-code#1308)
Co-authored-by: Niall Maher <nialljoemaher@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 5e5e007 - Browse repository at this point
Copy the full SHA 5e5e007View commit details
Commits on Dec 16, 2025
-
Upgrade to Next.js 16, React 19, and modernize dependencies (codu-cod…
…e#1312) * feat: Upgrade to Next.js 16, React 19, and modernize dependencies - Upgrade Next.js from 14.2.21 to 16.0.7 - Upgrade React/React-DOM from 18.3.1 to 19.2.1 - Upgrade next-auth from 4.x to 5.0.0-beta.30 (Auth.js) - Upgrade tRPC from v10 to v11.7.2 - Upgrade TanStack React Query from v4 to v5.90.12 - Upgrade Zod from 3.x to 4.1.13 - Upgrade Sentry from 8.x to 10.29.0 - Upgrade Framer Motion from 11.x to 12.23.25 Breaking changes addressed: - Convert all page params to async (Next.js 16 requirement) - Migrate headers() to async function calls - Update next-auth to new Auth.js v5 API with handlers export - Replace 'loading' status with 'pending' (React Query v5) - Migrate ESLint from .eslintrc to flat config (eslint.config.mjs) - Update Zod error API (error.errors → error.issues) - Fix React 19 type changes (ChildNode → React.ReactNode) - Update TRPCReactProvider to accept serialized headers object * feat: Upgrade to Node.js 24 and modernize welcome email - Update Node.js from v20 to v24 (.nvmrc and volta config) - Migrate nodemailer to v7 with AWS SESv2 API - Update dependencies for React 19 compatibility (@t3-oss/env-nextjs, next-themes, react-highlight-words) - Configure GitHub Actions to use .nvmrc for Node version - Separate newsletter subscription and welcome email error handling - Redesign welcome email template with modern styling (no images for better deliverability) * fix: Add error handling and fix typos in auth flow - Add try/catch for banned user check with fail-closed security pattern - Fix "Excluisve" typo to "Exclusive" in welcome email subject - Fix passwordless email recipient (remove hardcoded debug name) * fix: Resolve React 19 compiler ESLint errors - Replace useState+useEffect patterns with useSyncExternalStore for client-side detection (auth, ThemeToggle, Search) - Rewrite useLocalStorage hook to use useSyncExternalStore - Convert setState-in-effect patterns to useMemo where applicable - Move Placeholder component outside render to fix "cannot create components during render" error - Replace <a> with <Link> in company page - Simplify CustomTextareaAutosize to avoid mutating prop refs - Restructure settings page to avoid JSX in try/catch - Add eslint-disable comments for intentional patterns - Ignore cdk/ directory in ESLint config Reduces ESLint errors from 23 to 0 for deployment compatibility. * style: Apply Prettier formatting and fix MDX syntax Format code with Prettier across multiple files and fix markdown bold/italic syntax in MDX content to use proper triple-asterisk notation. * Update next to 16.10 * Update article tests * Fix types
Configuration menu - View commit details
-
Copy full SHA for 672bd65 - Browse repository at this point
Copy the full SHA 672bd65View commit details
Commits on Dec 28, 2025
-
Add jsdom to external packages (codu-code#1315)
* refactor: replace Children.toArray with Array.from for loading components Add jsdom to external packages * fix: update import path in next-env.d.ts and standardize quotes in next.config.js * fix: streamline loading component rendering in Articles, Notifications, and SavedPosts pages
Configuration menu - View commit details
-
Copy full SHA for 775b5c8 - Browse repository at this point
Copy the full SHA 775b5c8View commit details -
Remove isomorphic-dompurify and add sanitize-html with types (codu-co…
…de#1316) * chore: remove isomorphic-dompurify and add sanitize-html with types * fix: replace TiptapExtensions with RenderExtensions for server-safe HTML generation
Configuration menu - View commit details
-
Copy full SHA for ead81ed - Browse repository at this point
Copy the full SHA ead81edView commit details
Commits on Jan 2, 2026
-
feat(newsletter): migrate to Beehiiv API for subscription management (c…
…odu-code#1321) * feat(newsletter): migrate to Beehiiv API for subscription management and update privacy policy * fix(tou): add missing line breaks for improved readability in Terms of Use * fix: update last updated date to January 02, 2026 in Privacy Policy and Newsletter Terms of Use
Configuration menu - View commit details
-
Copy full SHA for 1bdefc7 - Browse repository at this point
Copy the full SHA 1bdefc7View commit details
Commits on Jan 6, 2026
-
Feat/aggregator (codu-code#1322)
* feat(db): add content aggregator schema and Reddit-style voting - Add feed_source, aggregated_article, and aggregated_article_vote tables - Add ContentReport table for moderation with reason tags - Add post_vote table for Reddit-style upvote/downvote on posts - Add upvotes/downvotes columns to Post table - Migrate existing post likes to upvotes with data migration SQL - Update seed data for new content types * feat(api): add feed, content, and voting API routers - Add feed router with getFeed, vote, bookmark, getCategories procedures - Add content router for unified content management - Add discussion router with Reddit-style upvote/downvote - Add report router for content moderation queue - Update admin router with getStats, getUsers, getBannedUsers - Update post router with vote mutation and trending algorithm - Add hot score calculation for trending sort (recency + votes) - Update sidebarData to return upvotes/downvotes instead of likes * feat(feed): add curated developer content feed with RSS aggregation - Add FeedFilters, FeedItemAggregated, FeedItemLoading components - Add feed pages with source profiles and article detail views - Add RSS fetcher Lambda for content aggregation - Update Algolia indexer for feed content - Add og-image utility for Open Graph metadata - Support upvote/downvote, bookmarking, and external link tracking * feat(components): add unified Content card and Discussion voting - Add ContentCard component for rendering all content types - Add ContentMenu with report, share, and edit options - Update Discussion component with upvote/downvote - Update ReportModal with reason tag selector (spam, harassment, etc.) - Add loading skeletons for content cards * feat(admin): add admin dashboard, moderation queue, and user management - Add admin dashboard with platform stats overview - Add moderation queue for reviewing reported content - Add user management with search, ban/unban functionality - Display ban reasons and reviewer info - Filter reports by status (pending, actioned, dismissed) * feat(articles): unify filters and add Reddit-style voting UX - Replace article page sidebar with bottom action bar - Add ArticleActionBar with upvote/downvote, bookmark, share, report - Update articles list to use FeedFilters component - Add trending sort option with hot score algorithm - Unify filter dropdowns between feed and articles pages - Map sort options: recent/trending/popular * fix(seo): update branding from Codu to Codú in metadata * chore(deps): update dependencies and Next.js types * chore(deps): update dependencies and add RSS fetch utility - Update package dependencies - Add local fetch-rss.ts script for testing RSS feeds without Lambda * feat(db): add unified content system and sponsor inquiry schemas Consolidate migrations into unified content table supporting posts and aggregated links. Add sponsor inquiry schema for advertiser contact form. * feat(api): update routers for unified content and voting system Add sponsor inquiry router, update content/feed routers for unified content table, and add Reddit-style voting endpoints. * feat(components): add content detail, sponsorship, and unified content components Add ContentDetail components for article/link display, DiscussionEditor for rich text discussions, SavedItemCard, Sponsorship page sections, and UnifiedContentCard for the feed. * refactor(components): update components for unified content system Update existing components to support unified content table, add voting UI to feed items, and update sidebar/trending posts for new data model. * feat(pages): update pages for unified content and sponsorship Add advertise page, content detail pages for links/articles, update feed and article pages for unified content system, remove alpha sponsorship. * feat(utils): add content sync script and sponsor email template Add sync-content-table script for migrating data to unified content table, useCreateContent hook, and sponsor inquiry email template. * chore(config): update site config, sitemap, and RSS feed for unified content * feat(cdk): update lambdas for unified content indexing Update Algolia indexer and RSS fetcher lambdas to support unified content table structure. * chore(db): remove old incremental migrations * refactor: simplify component file names by removing redundant prefixes Rename verbose component files where folder context already provides clarity: - ContentDetail/: Layout, TypeBadge, MetaHeader, ActionBar - DiscussionEditor/: Editor, Toolbar, useEditor - Feed/: AggregatedItem, ItemLoading, Filters * feat: enhance article and source profile components with inline source info and author bios * refactor(votes): remove manual count updates, rely on DB triggers Database triggers (tr_post_vote_counts, tr_comment_vote_counts) now handle all vote count updates. Removing duplicate manual updates eliminates double-counting risk. * fix(votes): migrate components from feed.vote to content.vote Components were using api.feed.vote which lacked proper count updates. Migrated to api.content.vote for consistent behavior. * feat(scripts): add vote count reconciliation script Adds safety net script to verify and fix vote count discrepancies. Run with: npm run votes:reconcile (or votes:reconcile:dry for dry run) * feat(cdk): add daily vote reconciliation Lambda Scheduled Lambda runs at 5 AM UTC daily to reconcile vote counts, ensuring DB triggers are working correctly. Runs before Algolia indexing to ensure accurate counts before re-indexing. * feat(auth): auto-grant admin role based on ADMIN_EMAILS env var * feat(db): link feed sources to user profiles for author attribution * feat(db): add migrations for legacy Post/Comment data to new schema * refactor(feed): update RSS fetchers and sitemap to use source user profiles * chore: remove redundant inline comments from vote mutations * test(e2e): comprehensive test coverage for unified content system - Update articles.spec.ts for new feed URLs and voting UI - Create feed.spec.ts with 15 tests for filters, voting, bookmarks - Create saved.spec.ts with 6 tests for bookmark management - Create admin.spec.ts with 13 tests for admin dashboard - Add data-testid attributes to VoteButtons, Filters, ContentCard, DiscussionArea - Update e2e setup with admin user and new posts table schema - Add loggedInAsAdmin utility for admin test authentication Total: 63 passing e2e tests * Fixes for linting/prettier * chore: remove console logs and unused success messages from content creation hooks * refactor: optimize state management and error handling across components * fix: update redirect method and adjust sitemap routes for consistency * fix: update slug handling in metadata generation and comments area styling * fix: handle potential migration issues for feed sources and articles in sitemap generation * fix: adjust class order for HeartIcon in CommentsArea component * fix: add revalidation period for sitemap regeneration
Configuration menu - View commit details
-
Copy full SHA for 72f84be - Browse repository at this point
Copy the full SHA 72f84beView commit details -
chore: update next and drizzle-kit dependencies to latest versions (c…
…odu-code#1323) * chore: update next and drizzle-kit dependencies to latest versions * fix: add missing newline at end of _journal.json
Configuration menu - View commit details
-
Copy full SHA for 8dfe296 - Browse repository at this point
Copy the full SHA 8dfe296View commit details
Commits on Jan 8, 2026
-
Feat/layout updates (codu-code#1324)
* feat(sidebar): add collapsible sidebar with smooth animation - Add SidebarContext for managing collapsed state - Create MinimalHeader with hamburger toggle aligned to sidebar icons - Implement AppSidebar component with navigation items - Update sidebar-layout with animated width transitions and clipping - Adjust sidebar padding to p-3 and hover containment with max-w-9 - Add pink accent for current page indicator * feat(layout): integrate collapsible sidebar into app layout * feat(config): add sidebar navigation items and social link * refactor(pages): update feed, home, and articles layout styling * feat(settings): update settings page styling * refactor(theme): simplify theme provider and remove unused nav code * refactor(ui): update link component and trending posts loading styles * chore(assets): add LinkedIn icon and Codú logo * chore(deps): add new script for sources * chore(db): update migration and add seed sources script * refactor(ui): add aria-labels and update layout components - Add aria-label to header elements for accessibility - Update sidebar and navbar layout components - Refactor editor navigation styling - Minor layout adjustments across page components * fix(e2e): update test expectations to match current UI - Update home test to check for "Trending" heading instead of h1 - Update login test button text to match OAuth buttons - Fix articles test to use Create button and correct modal text - Add loading state wait and exact matching in my-posts test - Remove flaky footer Events link check * feat(api): add getUserLinkBySlug endpoint and fix myScheduled query - Add getUserLinkBySlug endpoint for fetching user link posts by slug - Fix myScheduled to filter by status="scheduled" instead of "published" - Remove unused gt import from drizzle-orm * feat(editor): add new PostEditor component and E2E test infrastructure - Add PostEditor with WriteTab and LinkTab for article/link creation - Add URL metadata fetching for link posts - Add article toolbar with formatting options - Add E2E editor tests and test utilities - Update E2E setup with link post test data - Update slash command and image upload extensions * feat: add link post support and UI improvements - Add user link detail page and fetch-metadata API route - Add NewsletterCTA component - Update draft preview page with improved layout - Update feed, articles, and homepage clients - Improve header, sidebar, and content layout components - Update comments area and unified content card - Minor fixes to Search, listbox, and fallback media components * chore: misc updates and cleanup - Update auth.ts and next-auth types - Add SidebarContext for collapsible sidebar state - Add drizzle seed-sources script - Update comment router and posts lib - Update markdoc editor shortcuts and example tags - Remove unused CoduChallenge component * feat(e2e): enhance publish flow tests with improved wait conditions and selectors * style: standardize formatting and clean up whitespace across multiple files * feat(editor): enhance CreateContent component with improved data handling and state management
Configuration menu - View commit details
-
Copy full SHA for 08775f8 - Browse repository at this point
Copy the full SHA 08775f8View commit details
Commits on Jan 10, 2026
-
Fixes to responsive styling (codu-code#1325)
* feat(editor): add new PostEditor component and E2E test infrastructure - Add PostEditor with WriteTab and LinkTab for article/link creation - Add URL metadata fetching for link posts - Add article toolbar with formatting options - Add E2E editor tests and test utilities - Update E2E setup with link post test data - Update slash command and image upload extensions * style: standardize formatting and clean up whitespace across multiple files * feat(editor): enhance CreateContent component with improved data handling and state management * feat: update UnifiedContentCard to display author username conditionally and prevent layout shift with scrollbar-gutter in globals.css * feat: update layout and styling for ArticlesPage, FeedPage, Home, and Filters components * style: refine layout and styling for FeedFilters component * test: enhance article sorting and visibility checks in e2e tests * fix: resolve ESLint errors and E2E test issues - Remove unused imports from layout.tsx (headers, ThemeProvider, etc.) - Remove unused sortAPIToUI mapping from articles/_client.tsx - Fix type parameter naming in Filters.tsx (prefix with underscore) - Fix networkidle usage in saved.spec.ts (use domcontentloaded) - Use platform-aware keyboard modifier in editor.spec.ts (Meta on Mac, Control on Linux) * Add journal entry for lowly gunslinger migration (version 7) * style: format JSON structure in 0017_snapshot.json and _journal.json for consistency * fix: make migration 0017 idempotent for CI compatibility
Configuration menu - View commit details
-
Copy full SHA for d8add79 - Browse repository at this point
Copy the full SHA d8add79View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff develop...develop