Skip to content

Releases: Blobfolio/js-mate-poe

v1.4.2

21 Mar 04:59
Compare
Choose a tag to compare

Changed

  • Simplify window boundary queries (performance)
  • Use constructors for all DOM elements, rather than populating the inner bits with innerHTML (this removes a validation warning for the extension, but also just feels better)
  • Use the same Blob/URL for both sprites, instead of generating two different ones from the same source (memory/performance)
  • Split library/extension build tasks
  • Generate extension from a portable Docker to help Mozilla review team

Fixed

  • Correct the browser extension's update feed URL

v1.4.1

19 Mar 04:02
Compare
Choose a tag to compare

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:

  1. The js-mate-poe.min.js script is now async-friendly.
  2. Poe now starts automatically as soon as the script has loaded.
  3. You can disable autostart and/or sound by adding data-no-start and data-no-sound attributes to the <script> tag, respectively.

API-wise

  1. Poe.start() and Poe.stop() have been merged into the single getter/setter Poe.active.
  2. Poe.speed and Poe.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 both img-src and media-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.)

v1.3.7

12 Mar 04:59
Compare
Choose a tag to compare

Changes:

  • File size reductions;
  • Add image-rendering:pixelated CSS directive to improve high-res display;

Note: this will be the final JavaScript-only release. Future iterations of this project will be compiled to wasm instead. 😉

v1.3.6

21 Feb 07:33
Compare
Choose a tag to compare

Changes:

  • Reduce CSS size;
  • Reduce audio size;
  • Use display: contents for <poe-ce> elements;

v1.3.5

17 Apr 19:33
Compare
Choose a tag to compare

Changes:

  • Bump ECMA 2022;
  • Further reduce sprite (and resulting JS) size;

v1.3.4

16 Feb 19:12
Compare
Choose a tag to compare

Changes:

  • Improve CSS compression;

v1.3.3

22 Jan 04:19
Compare
Choose a tag to compare

Changes:

  • Fixed internal version string;

v1.3.2

12 Sep 21:17
Compare
Choose a tag to compare

Changes:

  • Fix a few lint warnings.
  • Rebuild with 2021 browser featureset yet.

v1.3.1

29 Jan 04:07
Compare
Choose a tag to compare

This release fixes an HD sprite issue that has cropped up in modern browsers.

v1.3.0

12 Mar 18:50
Compare
Choose a tag to compare

Custom elements are now used on the DOM side for improved render controls and style sandboxing.