v2.3.3 - ChatAPI & Web Editor Fixes
What's Changed
Bug Fixes
-
Fixed ChatAPI.getPrefix() returning empty - External plugins using the ChatAPI (like WerChat, HyFactions integrations) were sometimes getting empty prefixes due to timeout issues. Increased cache TTL and sync timeout for more reliable prefix/suffix retrieval.
-
Fixed web editor null pointer exceptions - The
/hp applycommand would fail with "Cannot invoke getAsString() because return value is null" when the web editor API returned data with missing fields. Added comprehensive null-safety checks to all JSON parsing. -
Improved JSON parsing robustness - Manual permission entries in the web editor now handle multiple field name variations (node, permission, name) and gracefully skip invalid entries instead of crashing.
Technical Details
- ChatAPI cache TTL increased from 10s to 30s
- Sync fallback timeout increased from 100ms to 500ms
- Added automatic preload on cache miss for better subsequent calls
- Added safe JSON getter methods for defensive parsing
Note on HyFactions Chat Conflicts
If you're experiencing chat formatting issues with HyFactions, this is a plugin conflict where HyFactions overrides HyperPerms' formatting when showFactionNameInChat: true. The HyFactions plugin would need to add an option to disable its chat handling. HyperPerms is formatting correctly - HyFactions just overrides it afterward.
Full Changelog: v2.3.2...v2.3.3