| Age | Commit message (Collapse) | Author |
|
Fix IC rendering race conditions with asset preloading
|
|
Fix rendering race conditions where character sprites, pre-animations,
and paired character assets were displayed before being downloaded.
All assets referenced in an MS packet are now resolved and preloaded
into the browser cache before the animation timeline starts.
- Add unified assetCache module with session-wide promise caching
- Add preloadMessageAssets orchestrator for parallel asset resolution
- Cache fileExists HEAD requests so missing files aren't re-probed
- Preload all SFX (emote, shout, realization, stab) alongside sprites
- Use synchronous setEmoteFromUrl at all render transition points
- Graceful fallback to legacy setEmote if preloading times out
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
|
|
|
|
- Redesign disconnect overlay as a full-screen modal with dark backdrop
- Add working Reconnect button that properly re-establishes WebSocket connection
- Add Disconnect button in Settings for testing
- Separate disconnect and ban/kick codepaths (no reconnect on ban)
- Log disconnect notice in IC log using hrtext style
- Refactor area list rendering from client state (renderAreaList)
- Extract appendICNotice for reusable IC log notices
- Clean up charselect: hide during loading, simplify toolbar layout
- Freshen loading screen and charselect styling
- Remove loading progress text updates (just show "Loading...")
- Guard against undefined client.chars and client.serv
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
setAOhost now returns the current AO_HOST so handleASS can use the
freshly set value rather than the import captured before the update.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Instead of hardcoding .png, read the preferred extension from
client.charicon_extensions[0] (populated via extensions.json),
falling back to .png if unavailable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Browsers reject .play() with a DOMException when the user hasn't
interacted with the document yet. Add .catch(() => {}) to all 9
play() call sites to suppress the uncaught promise rejection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Instead of eagerly fetching char_icon (with HEAD requests per extension)
and char.ini for every character on join, set img.src directly to
char_icon.png and defer char.ini loading until actually needed (character
selection via handlePV, or first IC message via handleMS). This
eliminates thousands of HTTP requests on join for large character lists.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plan is to migrate to createTextNode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 965e3e937065511fe9052ac687f54c1528a1e043, reversing
changes made to b288429cca94a461c8fa3d1936905d7e0e601d7f.
|
|
By using data list instead of select, we can easily make it
searchable and render a platform-native dropdown which
filters options based on the search.
This makes finding your pairing partner much easier,
especially in servers with many characters.
|
|
|
|
Fix https and add wss support
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|