- Dynamically detect extension location using import.meta.url
- Support installation in public/extensions (install for all users)
- Support installation in data/default-user/extensions (install just for me)
- Automatically sets correct extensionFolderPath based on detected location
- Add collapse/expand toggle button to side panels (left/right positions)
- Button shows on the outside edge of the panel with chevron icon
- Panel collapses to 40px vertical bar, button icon direction updates based on position
- Fix inventory box stretching issue by adding max/min height constraints
- Inventory items now scroll internally with flex layout
- Remove bottom margin from Enable Immersive HTML toggle
- Add top margin to Manual Update button to maintain spacing
- Adds ensureHtmlCleaningRegex() function that automatically imports a regex script
- Regex removes HTML tags from outgoing prompts to prevent formatting issues
- Only imports if not already present (checks existing scripts by name)
- Based on the regex-clean_html_(from_outgoing_prompt).json specification
- Runs on extension initialization
- Non-blocking: won't fail extension load if regex import fails
- Changed top: auto to top: var(--topBarBlockSize) to prevent panel from covering SillyTavern topbar
- Removed fixed height: 70vh/80vh properties that prevented proper sizing
- Panel height now determined by top/bottom constraints for natural fit
- Changed overflow-y: auto to overflow-y: scroll for reliable scrolling
- Added -webkit-overflow-scrolling: touch for iOS smooth scrolling
- Fixes panel covering entire screen, content squishing, and scroll issues
- Added floating action button (FAB) that appears only on mobile (≤768px)
- Panel becomes a bottom sheet modal on mobile instead of fixed sidebar
- Smooth slide-up animation with backdrop overlay
- Panel hidden by default on mobile, opens when FAB clicked
- Touch-friendly button sizes (44px minimum per Apple HIG)
- 70vh height on tablets, 80vh on phones for better usability
- Rounded top corners for modern mobile UI
- Desktop behavior unchanged
- Changed from $('#sheld').after/before() to $('body').append()
- Panel is now a direct child of body element
- Works better with SillyTavern's main flexbox layout
- CSS handles all positioning (no more DOM position logic)
- Forces #sheld to use margin: auto when panel is visible
- Prevents chat from being pushed to one side
- Applies to both left and right panel positions
- Removed margin-left/right on #sheld that was pushing chat to center
- Panel now overlays instead of pushing content
- Added responsive breakpoints for different screen sizes
- Width: 380px default, max 30vw, scales down on smaller screens
- Mobile: Full width at bottom on very small screens
- Panel no longer breaks layout on different screen sizes
- Changed to 'third-party/rpg-companion-sillytavern'
- User-installed extensions need the third-party prefix
- Template loader looks for scripts/extensions/third-party/[name]
- Changed import paths from ../../ to ../../../
- User-installed extensions are in data/default-user/extensions/
- Paths need one more level up to reach script.js and other core files
- Generate function may not exist in older SillyTavern versions
- Added fallback check for window.Generate before using it
- Should fix '[object Event]' loading error on release branch
- Updated regex to handle compound emojis with zero-width joiners (ZWJ)
- Fixes mood display for emojis like 😶🌫️ (face in clouds)
- Now captures full emoji sequences including variation selectors
- Character tracking with emoji, traits, thoughts, relationships
- Location tracking with name, description, weather, temperature
- Quest tracking with objectives and plot progression
- Inventory management with item conditions
- Party composition tracking
- Player stats (health, energy, mood)
- Two generation modes: Separate (Info Box) and Merged (inline)
- Customizable themes and styling
- Editable thought bubbles with fixed positioning
- Support for Discord and Ko-fi links
- AGPLv3 License