Skip to content

Commit

Permalink
Polished the latest update blog (transloadit#3390)
Browse files Browse the repository at this point in the history
* Some polish

* Update website/src/_posts/2021-12-2.1-2.3.md

Co-authored-by: Artur Paikin <artur@arturpaikin.com>
  • Loading branch information
AJvanLoon and arturi committed Dec 23, 2021
1 parent eaffd49 commit 4096ac5
Showing 1 changed file with 36 additions and 36 deletions.
72 changes: 36 additions & 36 deletions website/src/_posts/2021-12-2.1-2.3.md
@@ -1,5 +1,5 @@
---
title: "🎄 Uppy 2.1-2.3: Audio plugin, new fast and efficient streaming for Companion, production-ready Unsplash, and more"
title: "🎄 Uppy 2.1-2.3: Audio plugin, fast and efficient streaming for Companion, production-ready Unsplash, and more"
date: 2021-12-15
author:
- aduh95
Expand All @@ -10,17 +10,17 @@ image: https://uppy.io/images/blog/2.1-2.3/audio-cover.jpg
published: true
---

Last Christmas we gave you [Uppy 1.24](https://uppy.io/blog/2020/12/1.24/), this year we’ll take it away (since it’s outdated by now) and give you brand new Uppy 2.3 🎁!
Last Christmas, we gave you [Uppy 1.24](https://uppy.io/blog/2020/12/1.24/), but this very next year, we’ll take it away (since it’s outdated by now) and give you a brand-new Uppy 2.3 🎁!

After the [release](https://uppy.io/blog/2021/08/2.0/) of our latest major version, 2.0.0, we’ve been busy with many things. First of all the long awaited audio plugin to record and upload live audio directly. We also worked on adding a fast and efficient streaming interface to Companion and made Unsplash production-ready. Housekeeping was also part of the job. We made status bar improvements, moved from NPM to Yarn 3, did some refactoring, and updated dependencies.
After the [release](https://uppy.io/blog/2021/08/2.0/) of our latest major version, 2.0.0, we’ve been busy with many things. First of all is the long-awaited Audio plugin to record and upload live audio directly. We then worked on adding a fast and efficient streaming interface to Companion and made Unsplash production ready. Housekeeping was also part of the job: we made Status Bar improvements, moved from NPM to Yarn 3, did some refactoring, and updated dependencies.

Last but not least, we got the issue count down from around 110 since 2.0.0 to around 45 now.

<!--more-->

## Audio plugin

Uppy now has a new `@uppy/audio` plugin for recording audio memos, sounds, Jingle Bells, Last Christmas, . Check it out [on the demo page](https://uppy.io/examples/dashboard/).
Uppy now has a new `@uppy/audio` plugin for recording audio memos, sounds, jingling bells, Christmas carols, and all your holiday cheer. Check it out on the [demo page](https://uppy.io/examples/dashboard/).

<video alt="Audio plugin demo" muted autoplay loop>
<source src="/images/blog/2.1-2.3/audio-demo.mp4" type="video/mp4">
Expand All @@ -29,38 +29,38 @@ Uppy now has a new `@uppy/audio` plugin for recording audio memos, sounds, Jingl

## `@uppy/unsplash` is now production ready

The Unsplash plugin has received an update, it provides attribution to the image authors, and adds some polish to make it look better. Being fully brand compliant with Unsplash means it’s now production-ready. You can demo the plugin on the [website](https://uppy.io/examples/dashboard) or read the [docs](https://uppy.io/docs/unsplash/).
The Unsplash plugin has received an update, providing attribution to the image authors and adding some polish to make it look better. Being fully brand compliant with Unsplash means it’s now production ready. You can demo the plugin on the [website](https://uppy.io/examples/dashboard) or read the [docs](https://uppy.io/docs/unsplash/).

## New streaming interface for Companion

[Companion][companion] handles the server-to-server communication between your server and file storage providers such as Google Drive, Dropbox, Instagram, and the like. This bypasses the client (so a 5 GB video isn’t eating into your users’ data plans) and is directly uploaded to the final destination. Companion is made to be effortlessly integrate-able with Uppy.
[Companion][companion] handles the server-to-server communication between your server and file storage providers such as Google Drive, Dropbox, Instagram, and the like. This bypasses the client (so a 5 GB video isn’t eating into your users’ data plans) and files are directly uploaded to the final destination. Companion is made to be effortlessly integrate-able with Uppy.

It works by downloading the requested file from a remote provider on the server to then start uploading it to the destination. This does the job but it’s not ideal.
It used to work by downloading the requested file from a remote provider on the server to then start uploading it to the destination. This did the job, but it’s wasn’t ideal.

We now build streaming support into Companion, which means the download and upload can happen simultaneously. This can result in **2x times faster uploads** because we no longer need to wait for files to finish downloading before starting the upload process. It’s especially useful for large files and removes the need for a lot of storage space on the server, as data will be buffered in-memory.
We now built streaming support into Companion, which means the download and upload can happen simultaneously. This can result in **two times faster uploads**, because we no longer have to wait for files to finish downloading before starting the upload process. It’s especially useful for large files and removes the need for a lot of storage space on the server, as data will be buffered in memory.

You can enable this by setting `streamingUpload` in the Companion [options](https://uppy.io/docs/companion/#Options).

**NOTE:** This is turned off by default. Do not turn it on yet if you’re using TUS for uploads, due to [this tus-js-client bug](https://github.com/tus/tus-js-client/issues/275).
**NOTE:** Streaming is turned off by default. Do not turn it on yet if you’re using TUS for uploads, due to [this tus-js-client bug](https://github.com/tus/tus-js-client/issues/275).

Interested in using Companion? You can use Transloadit hosted Companion on every [plan](https://transloadit.com/pricing/).
Interested in using Companion? You can use Transloadit-hosted Companion on every [Plan](https://transloadit.com/pricing/).

## Status bar error state improvements
## Status Bar error state improvements

Status bar plugin would get confused about upload errors in Uppy, and we’ve addressed that:
The Status Bar plugin would get confused about upload errors in Uppy, and we’ve addressed this:

* Error state is shown if only _one_ failed file instead of _all_ failed files. Used to be stuck in the uploading state when a file failed.
* Added “x of x files uploaded” below “Upload failed” for extra context.
* Improved the error details button styling in the statusbar and the file info card.
* Status bar state is set to complete if the user manually removes the failed files.
* The error state is now shown in case of only _one_ failed file instead of _all_ failed files. The plugin used to get stuck in the uploading state when a single file failed.
* Added “X of X files uploaded” below “Upload failed” for extra context.
* Improved the error details button styling in the Status Bar and the file info card.
* Status Bar state is set to complete if the user manually removes the failed files.

![status bar improvements screenshot](/images/blog/2.1-2.3/status-bar-improvements.jpg)

## Internal housekeeping

### Yarn v3 instead of npm
### Yarn v3 instead of NPM

We’ve switched the Uppy repo to Yarn 3 to improve package install performance — with our complex dependency graph and over 30 packages in a monorepo, we are seeing a speed increase of over a few minutes!
We’ve switched the Uppy repo to Yarn 3 to improve package install performance. With our complex dependency graph and over thirty packages in a monorepo, we are seeing install times reduced by more than a few minutes!

We are using [Corepack](https://github.com/nodejs/corepack) to make sure all Uppy contributors are using the same version of Yarn. If you are an Uppy contributor, please run the following commands to enable Corepack:

Expand All @@ -74,43 +74,43 @@ yarn || corepack yarn install # install npm dependencies using yarn

### Refactor locale scripts & generate types and docs

This is an internal change, but important nonetheless. Our locales now live in a separate `locale.js` file for every plugin instead of `this.defaultLocale` in the class. The docs and types are automatically updated when we add/remove new locale strings.
This is an internal change, but important nonetheless. Our locales now live in a separate `locale.js` file for every plugin instead of `this.defaultLocale` in the class. The docs and types are automatically updated when we add or remove new locale strings.

[View the PR](https://github.com/transloadit/uppy/pull/3276)
[View the PR](https://github.com/transloadit/uppy/pull/3276).

### Automated release scripts

A lot of things need to happen when we’re publishing a new release. A complete redo of the automation script is now here for quick and secure releases.
A lot of things need to happen when we’re publishing a new release. A complete redo of the automation script is now available for quick and secure releases.

Here are some highlights:

* Releaser runs `yarn release` and will get a series of [prompts](https://github.com/terkelg/prompts) to setup a release.
* Releaser runs `yarn release` and will get a series of [prompts](https://github.com/terkelg/prompts) to set up a release.
* A changelog will be generated.
* The contributions table will be updated.
* GitHub Actions will create a release candidate pull request.
* When approved, GitHub Actions automatically merges, publishes to NPM, and creates CDN bundles.

[View the PR](https://github.com/transloadit/uppy/pull/3304)
[View the PR](https://github.com/transloadit/uppy/pull/3304).

## And more

* google-drive: plugin has been updated for brand compliance (#3178)
* google-drive: sort Google Drive list by name #3069
* status-bar: now shows all details on mobile when `showProgressDetails` is `true` (#3174)
* core: move `Uppy` class to its own module (#3225)
* angular: fix component crash by loosening `package.json` version constraints (#3210)
* drop-target: Exposed events (#3238)
* companion: Add `maxFileSize` option in companion for safety #3159
* companion: New AWS S3 multipart presigned URL batching endpoint #3056
* companion: Improve CORS default headers #3167
* companion: Use GET instead of HEAD for `getURLMeta` for better server compatibility (especially signed S3 URLs) #3048
* google-drive: Sort Google Drive list by name #3069
* companion: Deprecate missing `uploadUrls` option (will be required in the future) #3182
* companion: Close window on auth callback error and show error to user #3143
* companion: Cut off length of file names to avoid AWS error #3048
* companion: Safely escape `<script>` injected code in Companion’s send-token.js #3101
* companion: Upgrade aws-sdk #3334
* companion: Improve logging #3103
* companion: Change Provider/SearchProvider API to async and use streams instead #3159
* drop-target: exposed events (#3238)
* companion: add `maxFileSize` option in companion for safety #3159
* companion: new AWS S3 multipart presigned URL batching endpoint #3056
* companion: improve CORS default headers #3167
* companion: use GET instead of HEAD for `getURLMeta` for better server compatibility (especially signed S3 URLs) #3048
* companion: deprecate missing `uploadUrls` option (will be required in the future) #3182
* companion: close window on auth callback error and show error to user #3143
* companion: cut off length of file names to avoid AWS error #3048
* companion: safely escape `<script>` injected code in Companion’s send-token.js #3101
* companion: upgrade aws-sdk #3334
* companion: improve logging #3103
* companion: change Provider/SearchProvider API to async and use streams instead #3159

Happy Holidays from the Uppy team! Enjoy Christmas and New Year, stay safe, take a walk outside. See you in 2022!

Expand Down

0 comments on commit 4096ac5

Please sign in to comment.