Currency conversion in autoConvert

Currency conversion in autoConvert seems to have stopped working.

It appears that the (free) API that the extension uses to fetch currency rates was removed. This has broken currency conversion.

I’ll try and look for a new (free) currency rates API tomorrow (Monday, 22 January). If one is available, I’ll update the extension with it. If I can’t find one, I may have to remove currency conversion entirely.

I’ll update here on the blog on the progress.


autoConvert for Chrome – v. 2017.516.2.16

Workaround for pages hanging due to react.js, and other updates

  • To reduce incidences of pages hanging on websites using react:
    • Extension detects and skips website sections that use react. Still hangs on facebook, though 😦
    • Added a 2 sec delay before conversion is started on the page, to ensure most dynamic elements are loaded
  • Updated badge background colour for better visibility
  • Increased minimum supported Chrome version to 49 (from 23)
    • This helps me use newer Chrome & javascript features that older versions don’t support
    • About 3% of current users will not be able to use the extension if they don’t upgrade their browser
  • Added prompts for support by donations – helps me keep the system running, and get new treats for my dog – Chewie
  • Bug fix: Extension was affecting the layout of Google’s Inbox

autoConvert Perfomance – Facebook issues

Update: The issue is caused by pages that use a technology called react – it was first developed by Facebook.

Due to the way react works, I’m unable to convert text on parts of web pages that use react. However, on websites which only use react for some parts of the functionality, autoConvert will continue to operate as normal on the rest of it.

Still doesn’t work on Facebook, though 😦

I’ve finally been able to diagnose the source of the problem – the Facebook’s BigPipe pagelets.

The BigPipe architecture is designed to load different parts of the webpage (called pagelets) in parallel. The HTML for them is pushed onto the page once both the CSS and the content, for that pagelet have been downloaded. Once all the pagelets have been downloaded, the javascript files for each pagelet is finally downloaded, and executed.

While Facebook is still waiting to receive, loading and dynamically populate the pagelet divs, Chrome declares the page loaded, and fires up autoConvert. This results in autoConvert working with nodes that wouldn’t be there when the conversion happens (BigPipe will replace them with actual, delayed content).

When that happens, Chrome/autoConvert/Facebook go in a lockup, and everything hangs.

That’s the issue.

Now to figure out a solution.

autoConvert version

  • New Feature: Add “light years” as a unit of distance – it’s Star Wars time!
  • Update: Add “centiliter”, “centilitre”, “cl” as units of volume
  • Update: Removed “league” as unit of distance

autoConvert version

Added alternate characters for ‘ & “

  • New Feature: Add confusables for ‘ & ” from here.
  • New Feature: In currency conversion, always show currency rates as 1:xxx so that x is always >1 (invert as necessary)
  • Bug Fix: Corrected significant digits formula – was removing trailing 0s assuming they’re behind decimal
  • Bug Fix: Corrected calculation of post decimal digits in all unit conversions

autoConvert version

Added support for cups, teaspoons & tablespoons as units of volume

  • New Feature: Cups, Teaspoons and Tablespoons
  • Bug Fix: Corrected decimal places
  • Bug Fix: Conversion of volume/area units when opposite distance unit was enabled

autoConvert version

  • Update: CSS color when using #becca changed to white
  • Bugfix: CSS color (set as Black) for unit conversions had typo
  • Bugfix: Case: “12 – USD 30” converts as “USD 12-30”
  • Bugfix: Case: “30 € to 20” converts as “€ 30 to 20”
  • Bug Fix: 12′ 10inch (when disableQuotes is true) highlights both but converts just one
  • Bug Fix: Added symbol forms (km, m, cm, mm) for metric length units
  • Bug Fix: Plural forms of metric unit symbols should not be pluralised
  • Bug Fix: Area and metric unit exponents were not added when replace = true