mirror of
https://github.com/doolijb/serene-pub.git
synced 2026-04-28 03:20:07 +00:00
Component Architecture
NEW: Extract LorebookListItem, PersonaListItem components for consistency
UPDATE: Refactor all sidebars to use dedicated ListItem components
ENHANCE: Add tag-based search across Characters, Personas, and Chats sidebars
Template Syntax Standardization
FIX: Standardize on {{char:#}} double-brace syntax throughout codebase
UPDATE: TipTap extensions, lorebook bindings, and prompt templates
MIGRATE: Legacy {char:#} syntax support maintained for backwards compatibility
Chat Experience Improvements
NEW: Next character indicator in group chats with continue/choose options
ADD: getChatResponseOrder socket for intelligent character turn management
ENHANCE: Auto-scroll behavior with retry logic and position restoration
FIX: Proper response order after message deletion and creation
Tag System Integration
COMPLETE: Full tag support for Lorebooks with CRUD operations
ADD: processLorebookTags helper function for tag management
ENHANCE: Tag search functionality across all entity types
UPDATE: Socket interfaces to include tag arrays
Database & Infrastructure
IMPROVE: Database lock management with proper cleanup
STANDARDIZE: Data directory handling with environment variable support
OPTIMIZE: Query efficiency with proper tag relationships
FIX: PGlite configuration and migration handling
Bug Fixes & Polish
FIX: Italic markdown parsing with trailing spaces
REMOVE: Debug console.log statements throughout codebase
ENHANCE: Loading states and error handling in forms
IMPROVE: Socket event naming consistency and response handling
10 lines
No EOL
661 B
SQL
10 lines
No EOL
661 B
SQL
ALTER TABLE "characters" ALTER COLUMN "example_dialogues" SET DATA TYPE json USING
|
|
CASE
|
|
WHEN "example_dialogues" IS NULL OR trim("example_dialogues") = '' THEN '[]'::json
|
|
WHEN trim("example_dialogues") ~ '^\[.*\]$' OR trim("example_dialogues") ~ '^\{.*\}$' THEN
|
|
trim("example_dialogues")::json
|
|
ELSE '[]'::json
|
|
END;--> statement-breakpoint
|
|
ALTER TABLE "characters" ALTER COLUMN "example_dialogues" SET DEFAULT '[]'::json;--> statement-breakpoint
|
|
ALTER TABLE "characters" ALTER COLUMN "example_dialogues" SET NOT NULL;--> statement-breakpoint
|
|
ALTER TABLE "tags" ADD COLUMN "color_preset" text DEFAULT 'preset-filled-primary-500' NOT NULL; |