Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: uppy@4.0.0-beta.13 #5286

Merged
merged 8 commits into from
Jun 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,61 +101,6 @@ Authenticates and Uploads from Dropbox through Companion:
- Companion reports progress to Uppy, as if it were a local upload.
- Completed!

### Instagram integration

Even though facebook
[allows using](https://developers.facebook.com/blog/post/2018/06/08/enforce-https-facebook-login/)
http://localhost in dev mode, Instagram doesn’t seem to support that, and seems
to need a publically available domain name with HTTPS. So we will tunnel
requests to localhost using `ngrok`.

Make sure that you are using a development facebook app at
<https://developers.facebook.com/apps>

Go to “Instagram Basic Display” and find `Instagram App ID` and
`Instagram App Secret`. Put them in a file called `.env` in the repo root:

```
COMPANION_INSTAGRAM_KEY="Instagram App ID"
COMPANION_INSTAGRAM_SECRET="Instagram App Secret"
```

**Note!** `ngrok` seems to be blocked by Instagram now, so you may have to find
an alternative.

Run

```bash
ngrok http 3020
```

Note the ngrok https base URL, for example `https://e0c7de09808d.ngrok.io` and
append `/instagram/redirect` to it, such as:

```
https://e0c7de09808d.ngrok.io/instagram/redirect
```

Add this full ngrok URL to `Valid OAuth Redirect URIs` under
`Instagram Basic Display`.

Edit `.env` and change to your ngrok URI:

```
COMPANION_DOMAIN="e0c7de09808d.ngrok.io"
COMPANION_PROTOCOL="https"
VITE_COMPANION_URL = 'https://e0c7de09808d.ngrok.io'
```

Go to: Roles -> Roles -> Add Instagram testers -> Add your instagram account

Go to your instagram account at
<https://www.instagram.com/accounts/manage_access/>

Tester invites -> Accept

Now you should be able to test the Instagram integration.

### Requiring files

- If we are `require()`ing a file from the same subpackage, we can freely use
Expand Down Expand Up @@ -213,18 +158,6 @@ To generate the boilerplate for a new test run:
yarn e2e:generate
```

## Zoom

See above Instagram instructions for setting up a tunnel, but replace
`instagram` with `zoom` in the URL. Note that **you also have to add the OAuth
redirect URL to `OAuth allow list`** in the Zoom Oauth app settings or it will
not work.

Add the following scopes: `recording:read`, `user:read`, `user_info:read`

To test recording a meeting, you need to sign up for a Zoom Pro trial (can be
cancelled later), for example using their iOS app.

## Releases

Releases are managed by GitHub Actions, here’s an overview of the process to
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/companion-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_PASSWORD}}
- name: Build and push
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5.4.0
uses: docker/build-push-action@31159d49c0d4756269a0940a750801a1ea5d7003 # v6.1.0
with:
push: true
context: .
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ jobs:
username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_PASSWORD}}
- name: Build and push
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5.4.0
uses: docker/build-push-action@31159d49c0d4756269a0940a750801a1ea5d7003 # v6.1.0
with:
push: true
context: .
Expand Down
2 changes: 1 addition & 1 deletion BUNDLE-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Hi, thanks for trying out the bundled version of the Uppy File Uploader. You can
use this from a CDN
(`<script src="https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.js"></script>`)
(`<script src="https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.js"></script>`)
or bundle it with your webapp.

Note that the recommended way to use Uppy is to install it with yarn/npm and use
Expand Down
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,41 @@ Please add your entries in this format:

In the current stage we aim to release a new version at least every month.

## 4.0.0-beta.13

Released: 2024-06-27

| Package | Version | Package | Version |
| ---------------------- | ------------- | ---------------------- | ------------- |
| @uppy/audio | 2.0.0-beta.7 | @uppy/image-editor | 3.0.0-beta.6 |
| @uppy/aws-s3 | 4.0.0-beta.8 | @uppy/instagram | 4.0.0-beta.7 |
| @uppy/box | 3.0.0-beta.8 | @uppy/onedrive | 4.0.0-beta.8 |
| @uppy/companion | 5.0.0-beta.11 | @uppy/provider-views | 4.0.0-beta.10 |
| @uppy/companion-client | 4.0.0-beta.8 | @uppy/react | 4.0.0-beta.8 |
| @uppy/core | 4.0.0-beta.11 | @uppy/screen-capture | 4.0.0-beta.6 |
| @uppy/dashboard | 4.0.0-beta.11 | @uppy/transloadit | 4.0.0-beta.10 |
| @uppy/drop-target | 3.0.0-beta.6 | @uppy/unsplash | 4.0.0-beta.8 |
| @uppy/dropbox | 4.0.0-beta.9 | @uppy/url | 4.0.0-beta.8 |
| @uppy/facebook | 4.0.0-beta.7 | @uppy/utils | 6.0.0-beta.9 |
| @uppy/file-input | 4.0.0-beta.6 | @uppy/vue | 2.0.0-beta.4 |
| @uppy/form | 4.0.0-beta.5 | @uppy/webcam | 4.0.0-beta.9 |
| @uppy/golden-retriever | 4.0.0-beta.6 | @uppy/xhr-upload | 4.0.0-beta.7 |
| @uppy/google-drive | 4.0.0-beta.1 | @uppy/zoom | 3.0.0-beta.7 |
| @uppy/google-photos | 0.2.0-beta.2 | uppy | 4.0.0-beta.13 |

- @uppy/companion: implement facebook app secret proof (Mikael Finstad / #5249)
- @uppy/provider-views: `Loader.tsx` - delete the file (Evgenia Karunus / #5284)
- @uppy/vue: fix passing of `props` (Antoine du Hamel / #5281)
- @uppy/google-photos: fix various issues (Mikael Finstad / #5275)
- @uppy/transloadit: fix strict type errors (Antoine du Hamel / #5271)
- @uppy/transloadit: simplify plugin to always run a single assembly (Merlijn Vos / #5158)
- meta: update Yarn version and npm deps (Antoine du Hamel / #5269)
- docs: prettier: 3.2.5 -> 3.3.2 (Antoine du Hamel / #5270)
- @uppy/provider-views: Provider views rewrite (.files, .folders => .partialTree) (Evgenia Karunus / #5050)
- @uppy/react: TS strict mode (Merlijn Vos / #5258)
- meta: simplify `build:ts` script (Antoine du Hamel / #5262)


## 4.0.0-beta.12

Released: 2024-06-18
Expand Down Expand Up @@ -467,6 +502,23 @@ Released: 2024-03-28
- @uppy/vue: [v4.x] remove manual types (Antoine du Hamel / #4803)
- meta: prepare release workflow for beta versions (Antoine du Hamel)


## 3.27.1

Released: 2024-06-27

| Package | Version | Package | Version |
| ---------------- | ------- | ---------------- | ------- |
| @uppy/dashboard | 3.9.1 | uppy | 3.27.1 |
| @uppy/xhr-upload | 3.6.8 | | |

- @uppy/xhr-upload: add `'PATCH'` as valid method (Quinn Daley / #5279)
- @uppy/dashboard: fix handling of `null` for `doneButtonHandler` (Antoine du Hamel / #5283)
- meta: Bump docker/build-push-action from 5.4.0 to 6.1.0 (dependabot[bot] / #5272)
- docs: rewrite Instagram dev setup section (Evgenia Karunus / #5274)
- meta: remove the Zoom section from `CONTRIBUTING.md` (Evgenia Karunus / #5273)


## 3.27.0

Released: 2024-06-18
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ npm install @uppy/core @uppy/dashboard @uppy/tus
```

Add CSS
[uppy.min.css](https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.css),
[uppy.min.css](https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.css),
either to your HTML page’s `<head>` or include in JS, if your bundler of choice
supports it.

Expand All @@ -94,7 +94,7 @@ object.
```html
<!-- 1. Add CSS to `<head>` -->
<link
href="https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.css"
href="https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.css"
rel="stylesheet"
/>

Expand All @@ -105,7 +105,7 @@ object.
Uppy,
Dashboard,
Tus,
} from 'https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.mjs'
} from 'https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.mjs'

const uppy = new Uppy()
uppy.use(Dashboard, { target: '#files-drag-drop' })
Expand Down
19 changes: 19 additions & 0 deletions docs/sources/companion-plugins/instagram.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,25 @@ companion.app({
});
```

### Development

Among Uppy-supported providers, Instagram is the only provider at the time of
writing that requires https even in dev mode. So, to test your integration in
development, you need to use some reverse proxy. The easiest way to do it is to
use [https://redirectmeto.com](https://redirectmeto.com).

In your `.env`, set:

```sh
COMPANION_DOMAIN="redirectmeto.com/http://localhost:3020"
COMPANION_PROTOCOL="https"
```

On
[https://developers.facebook.com/apps/.../instagram-basic-display/basic-display](https://developers.facebook.com/apps/.../instagram-basic-display/basic-display)
page, in the “Valid OAuth Redirect URIs” field, add
`https://redirectmeto.com/http://localhost:3020/instagram/redirect`.

## API

### Options
Expand Down
4 changes: 2 additions & 2 deletions examples/cdn-example/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
href="https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.css"
href="https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.css"
rel="stylesheet"
/>
</head>
Expand All @@ -19,7 +19,7 @@
Dashboard,
Webcam,
Tus,
} from 'https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.mjs'
} from 'https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.mjs'

const uppy = new Uppy({ debug: true, autoProceed: false })
.use(Dashboard, { trigger: '#uppyModalOpener' })
Expand Down
4 changes: 2 additions & 2 deletions examples/uppy-with-companion/client/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
href="https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.css"
href="https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.css"
rel="stylesheet"
/>
</head>
Expand All @@ -19,7 +19,7 @@
Instagram,
GoogleDrive,
Tus,
} from 'https://releases.transloadit.com/uppy/v4.0.0-beta.12/uppy.min.mjs'
} from 'https://releases.transloadit.com/uppy/v4.0.0-beta.13/uppy.min.mjs'

const uppy = new Uppy({ debug: true, autoProceed: false })
.use(Dashboard, { trigger: '#uppyModalOpener' })
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/audio/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/audio",
"description": "Uppy plugin that records audio using the device’s microphone.",
"version": "2.0.0-beta.6",
"version": "2.0.0-beta.7",
"license": "MIT",
"main": "lib/index.js",
"style": "dist/style.min.css",
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/aws-s3/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/aws-s3",
"description": "Upload to Amazon S3 with Uppy",
"version": "4.0.0-beta.7",
"version": "4.0.0-beta.8",
"license": "MIT",
"main": "lib/index.js",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/box/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/box",
"description": "Import files from Box, into Uppy.",
"version": "3.0.0-beta.7",
"version": "3.0.0-beta.8",
"license": "MIT",
"main": "lib/index.js",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/companion-client/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/companion-client",
"description": "Client library for communication with Companion. Intended for use in Uppy plugins.",
"version": "4.0.0-beta.7",
"version": "4.0.0-beta.8",
"license": "MIT",
"main": "lib/index.js",
"type": "module",
Expand Down
7 changes: 7 additions & 0 deletions packages/@uppy/companion/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @uppy/companion

## 5.0.0-beta.11

Released: 2024-06-27
Included in: Uppy v4.0.0-beta.13

- @uppy/companion: implement facebook app secret proof (Mikael Finstad / #5249)

## 5.0.0-beta.10

Released: 2024-06-18
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/companion/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@uppy/companion",
"version": "5.0.0-beta.10",
"version": "5.0.0-beta.11",
"description": "OAuth helper and remote fetcher for Uppy's (https://uppy.io) extensible file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox and Google Drive, S3 and more :dog:",
"main": "lib/companion.js",
"types": "lib/companion.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/core/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/core",
"description": "Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:",
"version": "4.0.0-beta.10",
"version": "4.0.0-beta.11",
"license": "MIT",
"main": "lib/index.js",
"style": "dist/style.min.css",
Expand Down
7 changes: 7 additions & 0 deletions packages/@uppy/dashboard/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ Included in: Uppy v4.0.0-beta.1
- @uppy/dashboard: refactor to TypeScript (Antoine du Hamel / #4984)
- @uppy/dashboard: refactor to stable lifecycle method (Antoine du Hamel / #4999)

## 3.9.1

Released: 2024-06-27
Included in: Uppy v3.27.1

- @uppy/dashboard: fix handling of `null` for `doneButtonHandler` (Antoine du Hamel / #5283)

## 3.8.3

Released: 2024-05-07
Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/dashboard/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/dashboard",
"description": "Universal UI plugin for Uppy.",
"version": "4.0.0-beta.10",
"version": "4.0.0-beta.11",
"license": "MIT",
"main": "lib/index.js",
"style": "dist/style.min.css",
Expand Down
14 changes: 9 additions & 5 deletions packages/@uppy/dashboard/src/Dashboard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ interface DashboardMiscOptions<M extends Meta, B extends Body>
disableLocalFiles?: boolean
disableStatusBar?: boolean
disableThumbnailGenerator?: boolean
doneButtonHandler?: () => void
doneButtonHandler?: null | (() => void)
fileManagerSelectionType?: 'files' | 'folders' | 'both'
hideCancelButton?: boolean
hidePauseResumeButton?: boolean
Expand Down Expand Up @@ -215,7 +215,7 @@ const defaultOptions = {
// Dynamic default options, they have to be defined in the constructor (because
// they require access to the `this` keyword), but we still want them to
// appear in the default options so TS knows they'll be defined.
doneButtonHandler: null as any,
doneButtonHandler: undefined as any,
onRequestCloseModal: null as any,
} satisfies Partial<DashboardOptions<any, any>>

Expand Down Expand Up @@ -271,9 +271,13 @@ export default class Dashboard<M extends Meta, B extends Body> extends UIPlugin<
this.defaultLocale = locale

// Dynamic default options:
this.opts.doneButtonHandler ??= () => {
this.uppy.clear()
this.requestCloseModal()
if (this.opts.doneButtonHandler === undefined) {
// `null` means "do not display a Done button", while `undefined` means
// "I want the default behavior". For this reason, we need to differentiate `null` and `undefined`.
this.opts.doneButtonHandler = () => {
this.uppy.clear()
this.requestCloseModal()
}
}
this.opts.onRequestCloseModal ??= () => this.closeModal()

Expand Down
2 changes: 1 addition & 1 deletion packages/@uppy/drop-target/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@uppy/drop-target",
"description": "Lets your users drag and drop files on a DOM element",
"version": "3.0.0-beta.5",
"version": "3.0.0-beta.6",
"license": "MIT",
"main": "lib/index.js",
"type": "module",
Expand Down
Loading
Loading