Skip to content

Commit

Permalink
Some polish and a better (?) intro for the recent update post (#3588)
Browse files Browse the repository at this point in the history
* An iteration

* Update website/src/_posts/2022-03-2.4-2.7.md

Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
  • Loading branch information
3 people committed Mar 22, 2022
1 parent 431790e commit 0059574
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions website/src/_posts/2022-03-2.4-2.7.md
Expand Up @@ -10,15 +10,15 @@ image: "https://uppy.io/images/blog/2.4-2.7/compressor.jpg"
published: true
---

Recent Uppy updates brings image compression, improved Transloadit rate limiting and lighter Dashboard plugin. We’ve also moved our end to end tests to Cypress, and are slowly converting plugins to ESM modules.
We're always looking for opportunities to teach Uppy cool new tricks, and the past few months have been no exception. Since our [most recent post](https://uppy.io/blog/2021/12/2.1-2.3/) in December, Uppy has continued to receive a steady stream of updates. This post covers all the improvements made in Uppy versions 2.4 through 2.7. Changes and additions include: image compression, improved Transloadit rate limiting and a lighter Dashboard plugin. We’ve also moved our end-to-end tests to Cypress, and are slowly converting plugins to ES modules (ESM).

<img class="border" alt="Uppy Compressor plugin showing compressed images notification" src="/images/blog/2.4-2.7/compressor.jpg">

<!--more-->

## Compressor

Some of the most commonly uploaded files on the internet are images — photos, stock images, screenshots, documents scans. Uppy now includes a new plugin, `@uppy/compressor` that optimizes images (JPEG, PNG), saving on average up to 60% in size (roughly 18 MB for 10 images). It uses [Compressor.js](https://github.com/fengyuanchen/compressorjs) under the hood.
Some of the most commonly uploaded files on the internet are images — photos, stock images, screenshots, and documents scans. Uppy now includes a new plugin called `@uppy/compressor` that optimizes images (JPEG, PNG), saving on average up to 60% in size (roughly 18 MB for 10 images). It uses [Compressor.js](https://github.com/fengyuanchen/compressorjs) under the hood.

[Read the docs](https://uppy.io/docs/compressor/) and [try Compressor in action](https://uppy.io/examples/dashboard/).

Expand All @@ -32,41 +32,41 @@ uppy.use(Compressor)

`@uppy/compressor` is also the first plugin that we are releasing as ESM, backwards compatible as CJS, to test out how this works. Please report any issues.

## Hosted Companion Custom Credentials
## Hosted Companion custom credentials

It’s no secret [Transloadit hosted Companion](https://transloadit.com/docs/sdks/uppy/) is the easiest secure way to allow your users pick files from cloud sources like Google Drive, Instagram, Box, etc via Uppy. Up until now, however, that meant your users had to authenticate their cloud account with Transloadit, while you might want to show your own logo instead. That’s now possible: head to `Transloadit Console` / `Credentials`, scroll to `Third-party Credentials`, click on `Add new Credentials`, select `Companion OAuth`, and voilà!
It cannot be overstated that our [Transloadit-hosted](https://transloadit.com/docs/sdks/uppy/) [Companion Plugin](https://uppy.io/docs/companion/) is the easiest secure way to allow your users pick files from cloud sources like Google Drive, Instagram, Box, etc. via Uppy. Up until now, however, that meant your users had to authenticate their cloud account with Transloadit, preventing you from showing your own logo instead. That has now been fixed! Head to `Transloadit Console` / `Credentials`, scroll down to `Third-party Credentials`, click on `Add new Credentials`, select `Companion OAuth`, and voilà!

<img class="border" alt="Transloadit Companion 3rd party credentials" src="/images/blog/2.4-2.7/companion-3rd-party-oauth.jpg">

Try it out with [Free Transloadit Community plan — 5GB / month and Companion](https://transloadit.com/pricing/).
Try it out with the [free Transloadit Community Plan — 5GB / month and access to Companion](https://transloadit.com/pricing/).

## Transloadit Rate Limiting
## Transloadit rate limiting

We’ve added rate limiting to Transloadit [assembly creation and status polling](https://github.com/transloadit/uppy/pull/3429) and [tus retries](https://github.com/transloadit/uppy/pull/3394):
We’ve added rate limiting to Transloadit [assembly creation and status polling](https://github.com/transloadit/uppy/pull/3429), and [tus retries](https://github.com/transloadit/uppy/pull/3394):

> When the remote server responds with HTTP 429, all requests are paused for a while in the hope that it can resolve the rate limiting. Failed requests are also now queued up after the retry delay. Before that, they were scheduled for retry without being queued up, which would sometimes end up overflowing the limit option.
> When the remote server responds with HTTP 429, all requests are paused for a while in the hope that it can resolve the rate limiting. Failed requests are now also queued up after the retry delay. Before, they were scheduled for retry without being queued up, which would sometimes end up overflowing the limit option.
Now uploading many files at once is even more robust.
As a result of this change, uploading many files at once has become even more robust.

## Move to ESM

The JavaScript ecosystem is moving towards ESM, and we want to follow suit. We are slowly starting to adopt ESM in Uppy packages, and to do that we integrated into our build system a plugin that transpiles ESM source code to CommonJS syntax which is distributed with the npm package. Nothing changes from your side, we know that not everyone is using tooling that support ESM, so we’re holding on to CommonJS for the time being. Our plan is to refactor all official Uppy plugins to ESM before Uppy 3.0 is released, and drop CommonJS in favor of ESM in the npm packages then.
The JavaScript ecosystem is moving towards ESM, and we want to follow suit. We are slowly starting to adopt ESM in Uppy packages. To do so, we integrated a plugin into our build system that transpiles ESM source code to CommonJS syntax, which is distributed with the npm package. Nothing will change on your end, though – we know that not everyone is using tooling that support ESM, so we’re holding on to CommonJS for the time being. Our plan is to refactor all official Uppy plugins to ESM before Uppy 3.0 is released, and drop CommonJS in favor of ESM in the npm packages at that point.

For details, see [PR 3468](https://github.com/transloadit/uppy/pull/3468).

## End to End: Move to Cypress
## End to end: move to Cypress

We’ve had end to end from the start in Uppy, but the developer experience was less than ideal with custom Webdriver.io + Selenium. The transition to [Cypress](https://github.com/transloadit/uppy/pull/3444) allows us to write tests with ease and comfort, backed by great documentation.
Uppy has had end to end from the start, but the developer experience was less than ideal with custom Webdriver.io + Selenium. The transition to [Cypress](https://github.com/transloadit/uppy/pull/3444) allows us to write tests with ease and comfort, backed by great documentation.

## Lighter Bundle

We continue to look for ways to reduce Uppy bundle size and modernize our build toolchain. This time, we’ve replaced [Exifr.js](https://github.com/exif-js/exif-js) legacy bundle with the modern one without IE polyfills. Our Browserify bundler has been replaced with a modern and more efficient ESBuild.
We continue to look for ways to reduce Uppy's bundle size and modernize our build toolchain. This time, we’ve replaced the [Exifr.js](https://github.com/exif-js/exif-js) legacy bundle with the modern one without IE polyfills. Our Browserify bundler has been replaced with a modern and more efficient ESBuild.

## Companion Improvements
## Companion improvements

* Improved private ip check (#3403)
* Improved private IP check (#3403)
* Implement periodic ping functionality (#3246)
* Fix broken thumbnails for box and dropbox (#3460)
* Fix unpslash author meta, sanitize metadata to strings and improve companion tests (#3478)
* Fix broken thumbnails for Box and Dropbox (#3460)
* Fix unpslash author meta, sanitize metadata to strings and improve Companion tests (#3478)

That’s it for today! See full [changelog](https://github.com/transloadit/uppy/blob/master/CHANGELOG.md#1300) for more details.
That’s it for today! See the full [changelog](https://github.com/transloadit/uppy/blob/master/CHANGELOG.md#1300) for more details.

0 comments on commit 0059574

Please sign in to comment.