Pattterns
Changelog
All notable changes to the Pattterns application.
1.24.0- 2025-09-22
Fixed
- Persistent Footer Hydration Error: Finally resolved the long-standing React hydration error in the footer by rewriting the component from scratch. It now correctly defers rendering of the dynamic copyright year and version number until after client-side hydration, guaranteeing a match between the server and client initial render. This resolves a major point of instability.
Added
- Footer Technical Documentation: Created a new
Footer.mdfile to serve as technical documentation, detailing the cause of the hydration errors and the robustuseState/useEffectpattern used to solve it. This will prevent future regressions.
1.22.0- 2025-09-14
Added
- Centralized Configuration: Created a new
src/config/site.tsfile to centralize global constants like feed limits, page sizes, and user cooldown periods, improving maintainability. - Reserved Usernames: Implemented a comprehensive list of reserved usernames in
src/config/reserved-usernames.tsto prevent the registration of sensitive or brand-related names. - Quick Edit for Presets: Added an "Edit" icon to the Generation Form, linking directly to the profile page for easier management of preset phrases.
Fixed
- Legal Page Hydration Errors: Corrected invalid HTML structure (e.g.,
<ul>inside<p>) on all legal pages to resolve React hydration errors. - Legal Page Styling: Applied custom, targeted typography styles to all legal pages (
/legal/*) for improved readability and a professional appearance, resolving issues with overriding CSS classes. - Changelog Hydration Error: Replaced
dangerouslySetInnerHTMLwith a safe parsing component on the changelog page to resolve a React hydration mismatch.
1.21.0- 2025-08-30
Changed
- Public by Default: All newly generated patterns are now public by default to encourage immediate community sharing and discovery. Users retain full control to make them private at any time.
1.20.0- 2025-08-26
Added
- Username Change Policy: Users can now only change their username once every 90 days to promote account stability.
- Dynamic Changelog Page: The static
changelog.htmlhas been replaced with a dynamic Next.js page at/changelogfor a more integrated site experience.
Changed
- Username Length: The maximum character limit for usernames has been increased from 20 to 30 characters.
Fixed
- Profile Page Crash: Fixed a critical runtime error (
form.enable is not a function) on the profile page that occurred when checking username change eligibility.
1.19.0- 2025-08-18
Added
- Gated Routes: Secured the core application pages (
/app,/history,/profile) to ensure they are only accessible to logged-in users, displaying a clear sign-in prompt for guests.
Changed
- Admin Security: The
/admindashboard is now properly gated on the server-side, preventing any page content from flashing for unauthorized users and redirecting them immediately.
Fixed
- Build Failure: Corrected a syntax error (
DMCA PolicyPage) in the DMCA policy page that was causing the production build to fail. - Build Warning: Removed an invalid
missingSuspenseWithCSRBailoutkey fromnext.config.ts. - Runtime Crash: Resolved a critical runtime error on the
/gallerypage by correctly wrapping it with thePatternWeaverProvider, ensuring its components have access to the necessary context.
1.18.0- 2025-08-18
Added
- Dynamic & Interactive Hero: The landing page now features a visually engaging hero section where the main brand name, "Pattterns," has its background dynamically synced with a carousel of featured user creations.
- Customizable Brand Name: Styled the hero brand name with a bold font, an inset clipped background, and a custom red brushstroke underline for a unique look.
Changed
- Branding Update: The official brand name has been updated from "Pattern Weaver" to "Pattterns" across the entire application and all documentation.
- Official Logo: Replaced the previous placeholder icon with the official
ttt-logo.pngacross all headers, footers, and sidebars. - Domain Update: The authentication domain has been set to the official
pattterns.cato ensure correct sign-in functionality with a custom domain. - Font Update: The primary headline font has been changed to "Inter" for a more modern and clean aesthetic.
- UI Polish: The monthly/yearly pricing toggle has been updated to a sleek, pill-shaped design for better usability.
Fixed
- Critical Bug Fix: Resolved a
ReferenceError: React is not definederror in theHeroCarouselcomponent that was preventing the landing page from rendering.
1.17.0- 2025-08-18
Added
- Quick High-Res Downloads: Logged-in users can now download the high-resolution (2048px) version of a pattern directly from a convenient button on the pattern cards in the gallery and history pages.
Changed
- Dynamic Header Navigation: The main landing page header is now smarter. It shows a "My Patterns" link to logged-in users instead of the generic "Pricing" link, providing a more personalized experience.
Fixed
- Mobile History Page Layout: Resolved a critical UI bug on the
/historypage where the list view would overflow on mobile screens. All actions are now neatly consolidated into a space-saving dropdown menu for a clean, touch-friendly experience. - Build Error: Fixed a React build error in
HistoryPageContent.tsxcaused by an improperly scoped component definition (DeleteConfirmationDialog). - CSS Bug: Corrected a CSS positioning issue where the "public" globe icon was not properly contained within its parent element on the history page, causing it to render in the wrong location.
1.16.0- 2025-08-16
Added
- Pricing Section: Added a new, clear pricing section to the landing page with "Hobbyist" (free) and "Professional" (paid) tiers.
- Pricing Link in Header: Added a "Pricing" link to the main landing page header that smoothly scrolls to the new section.
1.15.0- 2025-08-06
Added
- Featured Creator Restoration: The "Featured Creator" card has been restored to the community gallery page, highlighting a special member of the community.
- Robust Feed Service: Created a new, dedicated
feed.service.tsto handle all public-facing data queries, including fetching the community feed and the featured creator.
Fixed
- History Page Bug: Fixed a critical bug where a typo in a collection name (
patternsinstead ofpatterns) caused the "My Patterns" history page to appear empty. - Build Failures: Resolved multiple "Module not found" errors in
actions.tscaused by incorrect import paths after a previous rollback. - Landing Page Crash: Fixed a bug where the landing page was trying to import a non-existent server action, causing the application to fail to build.
1.14.0- 2025-08-06
Added
- Architecture Refactor: Broke down the monolithic
pattern-service.tsinto smaller, single-responsibility services for patterns, users, feed, and admin functions to improve maintainability and scalability. - Scalable Public Feed: Implemented a dedicated top-level
public_feedcollection in Firestore. This denormalizes data for a highly efficient, single-query feed, replacing the previous, less scalable approach.
Fixed
- Bug Fix: Corrected a critical bug where making a pattern "public" or "private" was not working due to issues in the database service layer after previous refactors.
- Bug Fix: Resolved a Firestore query issue that caused public user profile pages to crash when fetching patterns. The query logic was updated to avoid needing a manual composite index.
1.0.13- 2025-08-05
Added
- Featured Creator Card: A new, wide-format
FeaturedMemberCardnow highlights the community's single featured creator for special recognition. - Admin "Featured" Toggle: Admins can now set exactly one user as "Featured" from the admin dashboard. The UI enforces that only one user can be featured at a time.
- "Top Creators" Page: A new leaderboard page at
/topshowcases the most-loved creators, sorted by their "love" count. - Community CTA Card: A new reusable component (
CommunityCtaCard) prompts users to join the community or make their patterns public. It's used on the gallery and leaderboard pages. - Gallery Page: A new page at
/gallerythat displays the latest public patterns from all users in the community. - Pattern Card: A new component to display a pattern's thumbnail and its owner's information, used on the gallery page.
- Public Profile Page Crash Fix: Fixed a critical bug where user profile pages would crash if a composite index was not present in Firestore. The query logic was updated to be more resilient.
Changed
- UI/UX: Updated the main navigation to include links to the new "Community" (gallery) and "Top" (leaderboard) pages.
1.0.12- 2025-08-04
Added
- Admin Dashboard: A new, secure page at
/adminfor administrators. - Admin Stats: The dashboard displays key application statistics, such as the total number of registered users.
- Admin User List: Admins can now view a complete, sortable list of all registered users, including their display name, email, username, love count, and public pattern count.
- Love/Unlove Profile: Users can now "love" a creator's profile. The love count is displayed publicly. The action is transactional to ensure data consistency.
- Public User Profiles: User profiles are now public at
/u/<username>. They display the user's information and a gallery of their public patterns. - Showcase Best Pattern: Users can now select one of their saved patterns as their "Best Pattern," which is featured prominently on their public profile page.
Changed
- Refactor: The
getPublicUsersservice was updated to correctly sort users byloveCount. - UI: Added a
Usericon to the "Total Users" card in the admin dashboard for better visual clarity.