Changelog

Track the latest updates and improvements to Bitsettler

v1.12.2 Enhanced Safety & Visual Improvements
Latest

Added

🛡️ Confirmation Dialogs for Destructive Actions

Added safety prompts to prevent accidental data loss

Item Removal Confirmation

Clear warning dialog when removing items from projects

Destructive Action Warning

Emphatic messaging about permanent data loss

Consistent UX

Proper destructive styling and cancel options across all confirmation dialogs

🎨 Tier Badge Enhancements

Improved visual hierarchy in project details sorting

Universal Tier Badges

All tier groups (1-10) now display colored tier badges alongside text

Visual Consistency

Tier badges match the established brico.app styling system

Better Recognition

Easier identification of tier levels when sorting "By Tier"

🔧 Fixed

⚠️ Accidental Item Deletion

Previously, clicking "Remove" on project items deleted immediately without confirmation

🎯 Visual Tier Recognition

Tier groups in project details now have consistent visual indicators

v1.12.1 Enhanced Quantity Validation & UI Fixes
Previous

Added

🛡️ Comprehensive 999,999 Quantity Limit

Implemented frontend validation to prevent project creation failures

Calculator Inputs

Added max validation and auto-capping in calculator quantity fields

Project Creation

Manual project step now enforces 999,999 limit with helpful UI hints

Item Editing

Project item table editing respects maximum quantity with clear messaging

Contribution Dialog

Smart validation limits contributions to min(remaining, 999,999)

User Experience

Placeholder text, tooltips, and auto-capping prevent invalid inputs

🔧 Fixed

✏️ Project Item Editing

Restored missing edit buttons in project item tables

Edit Button Recovery

Re-added pencil icon buttons next to item quantities for editing

Permission Checking

Proper canEdit permission validation for edit functionality

UI Consistency

Maintained existing save/cancel workflow while adding validation

Quantity Limits

Edit inputs now properly cap at 999,999 to prevent API errors

v1.12.0 Settlement Projects UX & Stability Overhaul
Previous

Added

🔄 Sortable Project Tables

Added sortable columns (Item, Required, Contributed, Progress) with visual indicators

Sort Icons

Up/down arrows show current sort state

Multi-Column Support

Sort by any column in project item tables

Consistent Behavior

Works in both flat view and accordion grouped views

📝 Enhanced Add Item Experience

Complete workflow overhaul for adding items to projects

Streamlined UI

Removed duplicate buttons, single "Add Item" action in project header

Improved Form Layout

Right-aligned action buttons with proper order (Add Item → Cancel)

Smart Item Search

Fixed ItemSearchCombobox integration with proper value binding

Form State Management

Proper cleanup and error handling throughout workflow

🎯 Smart Accordion Behavior

Auto-expanding accordions for better user experience

Small Project Optimization

Projects with <20 items auto-expand by default

Reduced Clicks

Eliminates unnecessary accordion interaction for smaller projects

Large Project Grouping

Maintains organization for projects with many items

🔢 Robust Quantity Validation

Comprehensive input validation for item quantities

Maximum Limits

1,000,000 item limit with clear messaging

Scientific Notation Prevention

Blocks problematic inputs like `2e173` from extreme numbers

Input Constraints

Visual hints (placeholders, tooltips) and proper input field configuration

Frontend/Backend Sync

Consistent validation on both client and server

🚀 Enhanced

🏗️ Component Architecture

Streamlined form and table components

Add Item Form

Removed unnecessary state and props, cleaner component interface

Project Tables

Optimized icon resolution with targeted data loading

Error Handling

Comprehensive validation and graceful error recovery

Memory Management

Proper cleanup and caching for game data operations

🎨 Visual Polish

Consistent UI improvements across project management

Button Sizing

Standardized action button proportions and alignment

Input Fields

Added placeholders, tooltips, and validation hints

Icon Coverage

Complete thumbnail support for all item categories

Layout Consistency

Proper spacing and alignment throughout project interfaces

📊 Data Quality

Enhanced item data handling and validation

Asset Path Resolution

Intelligent path cleaning and fallback systems

Skill Pattern Library

Comprehensive patterns with conflict prevention

Input Sanitization

Robust validation for all user inputs

Type Safety

Improved TypeScript coverage for data operations

🔧 Fixed

📅 Project Date Display

Resolved "Invalid Date" showing for project creation dates

Backend/Frontend Alignment

Fixed Date object vs ISO string mismatch

Null Safety

Added proper date validation and fallback handling

Data Consistency

Ensured `created_at` field properly mapped across API layers

🖼️ Asset & Thumbnail Coverage

Comprehensive fixes for missing item thumbnails

Crop Oil Icons

Fixed missing thumbnails → `VegetableOil.webp`

Metalworking Flux

Corrected double-path issue → `MetalworkersFlux.webp`

Fish Filets

All filet variants now use correct `FishFilet.webp` thumbnail

Tree Sap

Fixed path mismatch → `Sap.webp`

Leather Items

Resolved missing thumbnails for woven caps and leather gloves

⚡ Item Quantity Editing

Fixed critical API field name mismatch

Field Consistency

Corrected `requiredQuantity` vs `required_quantity` between frontend/backend

Error Prevention

Proper validation prevents database constraint violations

User Feedback

Clear error messages for validation failures

🎯 Skill Classification Accuracy

Major improvements to skill inference system

Specificity-Based Matching

Replaced order-dependent logic with smart scoring system

Exact > Boundary > Substring

Prioritizes precise matches over broad patterns

Conflict Resolution

Fixed major misclassifications:

Brickworking Binding Ash

Mining → **Masonry** ✅

Hideworking Salt

Mining → **Leatherworking** ✅

Crop Oil

Added specific pattern for **Farming** ✅

Clay Pebbles

Mining → **Masonry** ✅

Pelts

Fishing → **Leatherworking** ✅

🔗 Item Linking System

Improved item hyperlinks in project tables

Calculator Links

Switched to reliable `/calculator/[slug]` links

Data Resolution

Two-tier system (calculator data → item_desc.json fallback)

Missing Item Handling

Eliminated console error spam with proper fallback system

Performance

Optimized data loading to prevent rendering loops

⚙️ Technical Improvements

Pattern Matching Algorithm

Implemented specificity-based skill inference with scoring system

Data Resolution System

Two-tier fallback (calculator data → complete item database)

Component Optimization

Eliminated heavy operations in render-critical paths

Validation Framework

Consistent frontend/backend validation with clear error messaging

Asset Management

Enhanced path resolution with specific mappings for problematic items ---

v1.11.0 Advanced Skill Inference & Asset Management System
Previous

Added

🧠 Centralized Skill Inference System

Revolutionary skill categorization with 97.5% accuracy

Smart Pattern Matching

Comprehensive patterns for all BitCraft professions (6 gathering, 8 crafting)

Precision Targeting

Specific patterns prevent conflicts (e.g., "Stone Carvings" → Scholar, not Masonry)

Official Alignment

Synchronized with BitCraft leaderboard professions

Audit Tools

Built-in validation system to maintain accuracy over time

🖼️ Intelligent Asset Management

Smart thumbnail system with automatic fallbacks

Multi-Folder Support

Automatically tries Items → Cargo → Unknown asset paths

Pattern Recognition

Handles quality prefixes, plural/singular, ore chunks, and special cases

Specific Mappings

Custom handling for roots, bark, hair, flowers, salt, shells, and more

Performance Optimized

Cached loading with graceful error handling

🎨 Enhanced Project Detail UX

Streamlined interface improvements

Cleaner Accordion Headers

Removed redundant item counts, focus on progress percentages

Intuitive Icons

Better contribute button (HandHeart) and visual consistency

Smart Caching

Optimized game data loading and image fallback systems

Responsive Design

Improved layout consistency and mobile experience

🔧 Fixed

Skill Assignment Corrections

Major categorization improvements

Plant Roots: Farming → **Foraging** ✅

Stone Carvings: Masonry → **Scholar** ✅

Hideworking Salt: Misc → **Leatherworking** ✅

Sand, Clay, Pebbles: Mining → **Masonry/Foraging** ✅

Wispweave Filament: Farming → **Tailoring** ✅

Animal Names: Various → **Hunting** ✅

Asset Loading Issues

Comprehensive thumbnail fixes

Fixed missing icons for roots, bark, hair, flowers, salt, shells, and crushed items

Resolved 404 errors through intelligent path resolution

Added proper fallback chains for asset discovery

Performance Issues

Optimized data loading and caching

Eliminated redundant `getCalculatorGameData()` calls

Implemented lazy loading for heavy operations

Added module-scoped caching for frequently accessed data

⚙️ Technical Improvements

Type Safety

Resolved TypeScript union type issues in project components

Code Organization

Centralized skill patterns in dedicated modules with documentation

Error Handling

Robust fallback systems for missing assets and data

Build Quality

Clean builds with no linting errors or TypeScript issues ---

v1.10.1 Calculator-to-Project Integration & Enhanced Project Creation
Previous

Added

🧙‍♂️ Project Creation Wizard

Revolutionary project creation workflow with two powerful modes

Manual Mode

Traditional item-by-item project creation with enhanced search and validation

Auto-Generate Mode

Game-changing calculator integration that converts crafting calculations directly into settlement projects

Smart Project Titles

Automatic title generation based on target items and quantities

Seamless Workflow

Smooth transitions between calculator exploration and project creation

🔗 Calculator-to-Project Bridge

First-of-its-kind integration between crafting calculator and settlement management

Material List Export

Convert any calculator result into a complete project with one click

Intelligent Item Mapping

Automatic conversion of calculator materials to project items with proper quantities

Skill & Tier Preservation

Maintains crafting context (skills, tiers) when creating projects from calculator

Quantity Optimization

Smart rounding and quantity management for realistic project planning

🎯 Enhanced Project Creation Interface

Dual-Mode Creation

Choose between manual item addition or calculator-powered auto-generation

Advanced Item Search

Improved combobox with tier filtering and category-based organization

Real-time Validation

Instant feedback on item selection and quantity requirements

Visual Item Display

Rich item cards with tier badges, icons, and category information

Flexible Editing

Add, remove, and modify project items with intuitive controls

📊 Calculator Enhancements

Project Export Button

Direct "Create Project" action from any calculator result

Enhanced Material Display

Better visualization of material requirements with export capabilities

Improved UI Controls

Streamlined calculator interface optimized for project creation workflow

🚀 Enhanced

Project Detail View

Restored and enhanced project management interface with contribution tracking

Item Search Performance

Optimized search with better filtering and categorization

Data Flow Integration

Seamless data transfer between calculator and project systems

User Experience

Intuitive wizard-based workflow that guides users through project creation

v1.10.0 Remove Invite Code System
Previous

🗑️ Removed

Invite Code System

Completely removed settlement invite code and auth code functionality

Components Removed

Settlement join flow, invite code display components, invite code compact UI

API Routes Removed

`/api/settlement/join`, `/api/settlement/invite-code`, admin invite code endpoints

Database Changes

Removed invite code related migrations and database functions

Settlement Flow

Simplified onboarding to establishment-only (no more joining via codes)

Type Definitions

Cleaned up invite code references from TypeScript interfaces

Validation

Removed invite code validation schemas and patterns

v1.9.3 Documentation Updates & Code Cleanup
Previous
v1.9.2 Dashboard Project Count Fix
Previous

🔧 Fixed

Dashboard Project Count

Fixed critical issue where "Total Projects" card showed 0 instead of actual project count

Root Cause

Dashboard API was using user-authenticated Supabase client which was blocked by Row Level Security (RLS) policies

Solution

Updated projects query to use service role client with elevated permissions to bypass RLS restrictions

Impact

Dashboard now correctly displays project statistics (5 total projects, 1 completed for Port Taverna settlement)

Files Modified

`src/app/api/settlement/dashboard/route.ts`

v1.9.1 Settlement Layout Consistency
Previous

🔧 Fixed

Settlement Layout Constraints

Fixed layout width inconsistencies across settlement pages

Removed restrictive `container` class from settlement layout that was limiting page width

Updated all settlement views (Dashboard, Skills, Treasury, Members, Projects) to use proper `Container` component

Implemented consistent layout pattern matching Compendium/Tools pages with responsive padding

Applied `space-y-6 py-8` spacing pattern for uniform visual consistency

Settlement pages now use full available width with proper responsive design

Resolved "skinny" appearance compared to other sections of the application

v1.9.0 User Profiles & Enhanced UX
Previous

Added

User Profile System

Complete localStorage-based profile system for settlement users

4-step profile setup integrated into settlement onboarding flow

Display name, contact info (Discord/in-game), and bio management

Optional profession-based avatars with 18 BitCraft professions

Color theme customization with profession fallbacks

Activity tracking and statistics (settlements connected, app usage)

Profile management via dropdown in settlement header

Sign out functionality to clear all local data

Profession Avatar System

Visual identity system for settlement members

18 profession-specific avatar options (Alchemy, Combat, Farming, etc.)

Flexible choice between profession avatars or color themes

Graceful fallbacks from profession images to colored initials

Consistent avatar display across all settlement interfaces

Professional color schemes for each BitCraft profession

Enhanced Settlement Connection Flow

Improved onboarding experience

Multi-stage progress indicators during settlement connection

Real-time sync status with detailed messaging and ETA

Global sync status indicator visible across settlement interface

Comprehensive error handling with retry mechanisms

"Profile setup in progress..." clear status messaging

Settlement Member Detail Pages

Comprehensive member profiles accessible by clicking member names

Individual member skill statistics and progress visualization

Settlement permissions display (inventory, build, officer, co-owner levels)

Activity timeline showing join date and last seen information

Top skills ranking with visual progress bars

Member profile information including entity ID and profession

6-Digit Invite Code System

Generate and share alphanumeric settlement invite codes

ABC123 format codes (3 letters + 3 numbers, no spaces)

Compact dropdown display in settlement dashboard header

Copy, regenerate, and share functionality

localStorage persistence for invite codes

Large detailed display during settlement onboarding

Settlement Management Interface

Dedicated administration page

Non-navigated page accessible via gear icon from dashboard

Settlement switching and administrative controls

Current settlement information and data management options

System status and sync information display

Settlement Onboarding Flow

Streamlined settlement selection process

BitJita API-powered settlement search and selection

Local settlement selection persistence

Invite code generation upon settlement selection

Clickable Recipe Navigation

Recipe names in item info panel are now clickable links

Click any recipe in the "Usage" section to navigate to that recipe's output item

Maintains locale-aware routing using next-intl Link component

Enhanced hover styling with consistent accent colors throughout the application

Game Icon Integration

Comprehensive Bitcraft game asset library integration

Added 1,500+ game icons covering items, cargo, cosmetics, buildings, tools, and more

Icons now display for all calculator item nodes (48x48 pixels)

Fallback system using `Unknown.webp` for missing assets

Complete icon coverage for all game categories (Items, Cargo, Resources, Cosmetics, Buildings, etc.)

Loot Table System

Implemented comprehensive loot table expansion for extraction recipes

Extraction recipes now show actual items obtained instead of mysterious "Output" containers

**Basic Berry** and **Basic Citric Berry** now properly appear in Strawberry Bush extraction recipes

Probability calculations show realistic drop rates (e.g., 8% for Basic Berry, 0.16% for Basic Citric Berry)

Enhanced Extraction Recipe System

Added intelligent resource quantity calculations based on drop probabilities

Resource requirements now reflect actual effort needed (e.g., 12.5 Strawberry Bush units for expected berry output)

Probability-based calculations for all extraction activities (gathering, mining, chopping, etc.)

🚀 Enhanced

Data Architecture

Implemented polling/caching system eliminating real-time API calls

3-tier data fallback: Local Database → BitJita API → Demo Data

Cache-only member detail API (Local Database → 404 if not cached)

Sub-100ms response times for cached settlement data

Rate limit compliance and API etiquette with external services

Next.js 15 Compatibility

Updated for latest Next.js App Router patterns

Fixed async params handling in dynamic routes

Resolved route conflicts between [id] and [memberId] patterns

Updated API routes for Next.js 15 compatibility

Search User Experience

Enhanced search interface with better visibility

Increased item icons from 24px to 32px for improved readability

Fixed search dropdown width issues to prevent truncation of long item names

Auto-sizing combobox popover that adapts to content width

Icon Path Data Quality

Fixed malformed icon asset paths in game data

Cleaned up duplicated "GeneratedIcons/Other/GeneratedIcons" path prefixes

Added fallback handling for missing deed icons (AncientDeed.webp doesn't exist)

All deed items now use proper fallback Unknown.webp icon

UI Consistency and Polish

Streamlined interface elements for better user experience

Hidden tier badges for items with tier -1 (items that don't have tiers like deeds)

Removed rarity badges from flow nodes for cleaner visual presentation

Applied consistent hover styling using `hover:bg-accent/50 hover:text-accent-foreground`

Visual User Experience

Enhanced calculator interface with game-authentic visuals

Quantity display moved below item title for better layout and readability

Icons positioned next to quantity badges using flex layout

Visual consistency with game assets throughout the calculator interface

Improved parent-child completion logic in recipe trees

Data Structure Standardization

Unified all item prefixes to singular form for consistency

Changed `items_` → `item_`, `resources_` → `resource_` (cargo already singular)

Updated all mapping scripts to use consistent singular naming convention

Extraction Recipe Coverage

All 384 extraction recipes now properly show real items with accurate probabilities

Berry gathering shows actual berries instead of loot table containers

Wood chopping shows specific bark and log types with proper drop rates

Mining operations display actual ores and gems with calculated probabilities

Type Safety

Migrated entire codebase from numeric to string-based item IDs for better data integrity

Flow Node Consolidation

Recipe Flows will now only display one node per item instead of multiple nodes when the item is used in multiple recipes/ sub recipes. Thanks @floofwax for the suggestion!

Node Component Consolidation

Unified `ItemNode` and `MaterialNode` into a single `CustomNode` component, reducing code duplication by ~500 lines

Edge Direction Consistency

Standardized edge direction to flow from materials (source) to crafted items (target)

Edge Highlighting Logic

Fixed edge highlighting to show green when materials are completed and blue when crafted items are hovered

Visual Feedback Enhancement

Added blue border glow effect when nodes are hovered for better user interaction feedback

🔧 Fixed

Skills Analytics

Replaced static mock data with real-time settlement skills analytics

Created `/api/settlement/skills` endpoint with live data aggregation

Real skill statistics: total skills, average levels, profession distribution

Top skills analysis and skill level distribution charts

Comprehensive loading states and error handling

UI/UX Improvements

Enhanced interface consistency and user experience

Scoped profile system to settlement area only (removed from main site navigation)

Fixed member detail page layout width issues

Improved breadcrumb navigation with proper translation keys

Settlement-specific header with clean navigation and profile access

Image Loading Issues

Resolved 404 errors for missing item icons

Fixed deed items that were pointing to non-existent AncientDeed.webp file

Corrected malformed paths that prevented proper image loading

Regenerated all item data files (items.json, cargo.json, resources.json) with cleaned paths

Recipe Switching

Properly remove all child nodes when switching recipes in CustomNode

Recursively find and remove all descendant nodes when recipe changes

Clean up orphaned edges from previous recipe selections

Prevent accumulation of unused material nodes in flow

UI Enhancement

Round quantity numbers to nearest integer in recipe calculator nodes for better readability

Missing Items in Extraction

Resolved issue where berry items weren't appearing in extraction recipes

Fixed server data interpretation where "T1 Berry Output" items were loot table containers

Properly expanded loot tables to show Basic Berry (100% from loot table) and Basic Citric Berry (2% bonus)

Build System

Resolved all TypeScript compilation errors related to ID type changes

Updated Item interfaces across all components to use string IDs

Fixed type mismatches in calculator, search, and visualization components

Ensured production build compatibility

Recipe Quantity Calculation

Fixed quantity updates after node consolidation by removing dependency on compound node IDs and updating the calculation logic to work with the new node structure

🔄 Changed

Data Structure Enhancement

Updated TypeScript interfaces to support icon assets

Added `icon_asset_name` property to `Item` and `ItemData` interfaces

Updated all node creation logic to include icon asset information

Enhanced data flow for proper icon asset name propagation

Edge Animation

Disabled default edge animations for cleaner visual presentation

Edge Type

Changed edge type from 'smoothstep' to 'bezier' for smoother visual flow

Component Architecture

Simplified component structure by consolidating duplicate node components

⚙️ Technical Improvements

New Components

`ProfessionAvatar` - Smart avatar component with profession/color fallbacks

`SettlementHeader` - Settlement-specific navigation with profile integration

`UserProfileManager` - Complete profile editing interface

`SettlementConnectionProgress` - Detailed connection progress display

New Constants & Utilities

`constants/professions.ts` - 18 BitCraft professions with colors and descriptions

`hooks/use-user-profile.ts` - Profile state management with localStorage

`public/assets/ProfessionAvatars/` - Directory structure for profession images

Enhanced Components

`SettlementOnboarding` - Integrated 4-step profile setup

`SettlementSkillsView` - Real data integration replacing mock data

Main header component cleaned up with profile functionality moved to settlement area

Database Schema

Comprehensive settlement data caching infrastructure

`settlements` table with sync logging

`players` and `settlement_citizens` tables for member data

`settlement_member_details` view for optimized member queries

Auto-updating top profession triggers and sync audit trails

BitJita API Integration

Background synchronization services

Settlement master list sync (every 30 minutes)

Member and citizen data sync (every 20 minutes)

Comprehensive error handling and sync logging

Sync orchestration service with rate limiting

API Architecture

Zero real-time external API calls in user-facing endpoints

Dashboard API: 3-tier fallback (Local DB → Demo Data)

Members List API: 3-tier fallback (Local DB → Demo Data)

Member Detail API: Cache-only (Local DB → 404 if not cached)

Settlement Search API: 2-tier (Local DB → BitJita API)

Data Processing Enhancement

Updated item mapping scripts with improved error handling

Added `cleanIconAssetPath` function to detect and fix common path issues

Enhanced data generation pipeline to prevent future path corruption

Automated cleanup of icon asset references during data conversion

Loot Table Processing

Implemented server data cross-referencing between extraction recipes and item lists

Added `item_list_id` detection for loot table containers

Built comprehensive loot table lookup system (1,740 tables processed)

Created probability calculation engine for effective drop rates

Script Enhancement

Updated extraction recipe mapping to handle complex data relationships

Added support for multi-stage item resolution (extraction → loot table → actual items)

Improved error handling and logging for data processing pipeline

Code Quality

Achieved zero linting warnings and successful production build

Resolved all TypeScript strict mode compliance issues

Optimized bundle size and build performance

Code Refactoring

Removed duplicate `item-node.tsx` and `material-node.tsx` files

Type Safety

Improved TypeScript type safety in edge color management

Performance

Optimized edge color updates with proper change detection

© 2025 Cory Niblett. All rights reserved.

This is an unofficial fan site and is not affiliated with BitCraft or Clockwork Labs.

All game assets and content are the property of their respective owners.