v1.4.1
JS Mate Poe has been completely re-written in Rust, and is now distributed as a wasm binary (albeit one wrapped up inside of Javascript, since browsers can't yet directly load wasm). This greatly improves the overall maintainability and coverage of the code, and results in significantly faster and more efficient processing at runtime.
Woo!
A lot has changed, obviously. If you notice any issues, please let me know!
Breaking
On the user-facing side, there are a few important changes to note. Refer to the linked docs for more information.
Installation-wise:
- The
js-mate-poe.min.js
script is nowasync
-friendly. - Poe now starts automatically as soon as the script has loaded.
- You can disable autostart and/or sound by adding
data-no-start
anddata-no-sound
attributes to the<script>
tag, respectively.
API-wise
Poe.start()
andPoe.stop()
have been merged into the single getter/setterPoe.active
.Poe.speed
andPoe.play
have been removed.
Other
- The sound and image assets are now linked using Blobs rather than Data URIs. If your site has a Content Security Policy in place, be sure it allows
blob:
sources for bothimg-src
andmedia-src
, otherwise they might get blocked.
New
- Added a "Blink" animation.
- Added a "Big Fish" entrance animation.
- Added a "Dangle Recovery" transitional sequence (when almost falling off the ceiling).
- Added a "Rest" animation.
- Added a "Run Down Wall" animation.
- Added a "Yo-Yo" entrance animation.
Changed
- Remastered the "Abduction" sequence.
- Fine-tuned various animation timings.
- Removed clipping from the yawn sound.
- The sound is now lossless Flac instead of lossy MP3.
- The "Sneeze" companion animation is no longer orientation-dependent.
- Various DOM I/O reductions (fewer reads, writes, and repaints).
- The "mate" elements are no longer custom elements, but still use
ShadowDOM
for isolation. - There are now always and only two "mate" elements (prior versions used a variable number as needed).
Firefox Browser Extension
Best of all: JS Mate Poe is now available as a Firefox browser extension! With the click of a button, you can now start/stop Poe on any web page for constant companionship!
Just download the js-mate-poe_firefox_1.4.1.xpi
file from the list below. Firefox should prompt you to install it then and there, but if not, simply go to the "Manage Your Extensions" settings page (about:addons
), click the gear/settings icon, and select "Install Add-on From File".
Note: Automatic updates probably won't work from this release, but should be in place for the next one. (If you install 1.4.1
, you'll probably need to follow the same process to update to 1.4.2
, but from then on it should be hands-off.)