Commit Graph

549 Commits

Author SHA1 Message Date
semantic-release-bot 3cbf1490f4 chore(release): 10.1.1 [skip ci]
## [10.1.1](https://github.com/react-native-community/react-native-webview/compare/v10.1.0...v10.1.1) (2020-05-28)

### Bug Fixes

* **android:** Broken build due to conditional import of kotlin ([#1412](https://github.com/react-native-community/react-native-webview/issues/1412)) ([7ab2afb](7ab2afbab7))
2020-05-28 11:22:22 +00:00
Thibault Malbranche 7ab2afbab7
fix(android): Broken build due to conditional import of kotlin (#1412) 2020-05-28 13:18:13 +02:00
semantic-release-bot 938e62296a chore(release): 10.1.0 [skip ci]
# [10.1.0](https://github.com/react-native-community/react-native-webview/compare/v10.0.0...v10.1.0) (2020-05-27)

### Bug Fixes

* **android:** Fix several Android file upload issues ([#1302](https://github.com/react-native-community/react-native-webview/issues/1302) by [@hojason117](https://github.com/hojason117)) ([89886c8](89886c820d))

### Features

* **compatibility:** Support React Native 0.62 ([#1364](https://github.com/react-native-community/react-native-webview/issues/1364) by [@jussikinnula](https://github.com/jussikinnula) and [@kaiguo](https://github.com/kaiguo)) ([228f10d](228f10d917))
2020-05-27 03:59:17 +00:00
Jussi Kinnula 228f10d917
feat(compatibility): Support React Native 0.62 (#1364 by @jussikinnula and @kaiguo)
Co-authored-by: Kai Guo <kaigu@microsoft.com>
Co-authored-by: Jamon Holmgren <jamonholmgren@gmail.com>
2020-05-26 20:55:02 -07:00
Jason Chia-Hsien Ho 89886c820d
fix(android): Fix several Android file upload issues (#1302 by @hojason117)
[skip ci]
2020-05-26 19:59:08 -07:00
semantic-release-bot da31ab56f0 chore(release): 10.0.0 [skip ci]
# [10.0.0](https://github.com/react-native-community/react-native-webview/compare/v9.4.0...v10.0.0) (2020-05-26)

### Bug Fixes

* **android:** add missing null check for fileTypes ([#1368](https://github.com/react-native-community/react-native-webview/issues/1368) by [@bengy](https://github.com/bengy)) ([4f0f0af](4f0f0afe70))
* **gradle:** Load Android Gradle Plugin conditionally ([#1230](https://github.com/react-native-community/react-native-webview/issues/1230) by @SaeedZhiany) ([2639d52](2639d523e9))
* **iOS:** Trigger _onContentProcessDidTerminate when removing webview from superview ([#1378](https://github.com/react-native-community/react-native-webview/issues/1378) by [@pmusaraj](https://github.com/pmusaraj)) ([9240536](9240536afa))
* **windows:** Fix windows local asset path ([#1335](https://github.com/react-native-community/react-native-webview/issues/1335) by [@kaiguo](https://github.com/kaiguo)) ([20a3f90](20a3f90c0f))
* **windows:** Fixes ScriptNotify and InvokeScript ([#1354](https://github.com/react-native-community/react-native-webview/issues/1354) by [@benhamlin](https://github.com/benhamlin)) ([81e0360](81e0360ede))

### BREAKING CHANGES

* **gradle:** The Android Gradle plugin is only required when opening the project stand-alone, not when it is included as a dependency. By doing this, the project opens correctly in Android Studio, and it can also be consumed as a native module dependency from an application project without affecting the app project (avoiding unnecessary downloads/conflicts/etc).

Also moved getExtOrDefault to buildScript block to able to use everywhere in the file

This change shouldn't break any apps, but we are marking it as a breaking change in case there are some use cases we've missed.

[skip ci]
2020-05-26 22:02:28 +00:00
Benjamin Rau 4f0f0afe70
fix(android): add missing null check for fileTypes (#1368 by @bengy) 2020-05-26 14:59:18 -07:00
SaeedZhiany 2639d523e9
fix(gradle): Load Android Gradle Plugin conditionally (#1230 by @SaeedZhiany)
BREAKING CHANGE:

The Android Gradle plugin is only required when opening the project stand-alone, not when it is included as a dependency. By doing this, the project opens correctly in Android Studio, and it can also be consumed as a native module dependency from an application project without affecting the app project (avoiding unnecessary downloads/conflicts/etc).

Also moved getExtOrDefault to buildScript block to able to use everywhere in the file

This change shouldn't break any apps, but we are marking it as a breaking change in case there are some use cases we've missed.

[skip ci]
2020-05-26 14:57:40 -07:00
Penar Musaraj 9240536afa
fix(iOS): Trigger _onContentProcessDidTerminate when removing webview from superview (#1378 by @pmusaraj)
[skip ci]
2020-05-26 14:53:08 -07:00
Kai Guo 20a3f90c0f
fix(windows): Fix windows local asset path (#1335 by @kaiguo)
[skip ci]
2020-05-15 15:34:55 -07:00
Kai Guo ef3ceb24d1
chore(windows): Set up Windows CI (#1358 by @kaiguo)
[skip ci]
2020-05-08 13:24:37 -07:00
Ben Hamlin 81e0360ede
fix(windows): Fixes ScriptNotify and InvokeScript (#1354 by @benhamlin)
[skip ci]
2020-05-08 12:54:16 -07:00
semantic-release-bot b10b97646b chore(release): 9.4.0 [skip ci]
# [9.4.0](https://github.com/react-native-community/react-native-webview/compare/v9.3.0...v9.4.0) (2020-04-29)

### Features

* **iOS:** Add onFileDownload callback ([#1214](https://github.com/react-native-community/react-native-webview/issues/1214)) ([a6010d9](https://github.com/react-native-community/react-native-webview/commit/a6010d9))
2020-04-29 16:11:52 +00:00
trcoffman a6010d93e0
feat(iOS): Add onFileDownload callback (#1214)
`onFileDownload` is called with the URL that you can use to download the file.
When RNCWebView detects that the HTTP response should result in a file download,
`onFileDownload` is called. The client can then provide code to download
the file.

RNCWebView determines that a file download should take place if either of the
following is true:
1. The HTTP response contains a `Content-Disposition` header that is of type
  'attachment'
2. The MIME type of the response cannot be rendered by the iOS WebView
2020-04-29 09:09:22 -07:00
semantic-release-bot 694b07faa8 chore(release): 9.3.0 [skip ci]
# [9.3.0](https://github.com/react-native-community/react-native-webview/compare/v9.2.2...v9.3.0) (2020-04-24)

### Features

* **macOS:** Make podspec compatible with macOS ([#1328](https://github.com/react-native-community/react-native-webview/issues/1328)) ([2d9b080](https://github.com/react-native-community/react-native-webview/commit/2d9b080))
2020-04-24 17:57:38 +00:00
Eloy Durán 2d9b0803e0
feat(macOS): Make podspec compatible with macOS (#1328)
* [apple] Move iOS/macOS src into common apple dir

* [apple] Enable macOS as platform in podspec

* [example] Use CocoaPods & auto-linking on macOS

* [docs] Update setup for macOS

* [package] Include apple dir in distribution
2020-04-24 19:54:17 +02:00
semantic-release-bot 7d29883f3e chore(release): 9.2.2 [skip ci]
## [9.2.2](https://github.com/react-native-community/react-native-webview/compare/v9.2.1...v9.2.2) (2020-04-21)

### Bug Fixes

* **Android:** Resolve crypto error with uuid usage ([#1334](https://github.com/react-native-community/react-native-webview/issues/1334)) ([438e292](https://github.com/react-native-community/react-native-webview/commit/438e292))
2020-04-21 14:45:06 +00:00
Artur Yorsh 438e29298b
fix(Android): Resolve crypto error with uuid usage (#1334)
* fix(Android): uuid generation issue

* chore: remove redundant types/uuid dependency

* refactor(Android): replace uuid function with unique instance counter
2020-04-21 07:41:25 -07:00
semantic-release-bot c6a39e9f1c chore(release): 9.2.1 [skip ci]
## [9.2.1](https://github.com/react-native-community/react-native-webview/compare/v9.2.0...v9.2.1) (2020-04-14)

### Bug Fixes

* **iOS:** Adds missing silent hardware declaration to header file ([#1319](https://github.com/react-native-community/react-native-webview/issues/1319)) ([2b4d752](https://github.com/react-native-community/react-native-webview/commit/2b4d752)), closes [#1140](https://github.com/react-native-community/react-native-webview/issues/1140)
2020-04-14 22:26:52 +00:00
RedPandaTronics 2b4d752c32
fix(iOS): Adds missing silent hardware declaration to header file (#1319)
* Fixes Issue #1140

Fixes https://github.com/react-native-community/react-native-webview/issues/1140
Based on a solution found at: https://stackoverflow.com/questions/56460362/how-to-force-wkwebview-to-ignore-hardware-silent-switch-on-ios
I changed the code found in the linked source from Swift to Objective-C, as required by this project. WARNING: I haven't used Swift before and very limited experience with Objective-C.

- For me this seems to work, but it is not the cleanest solution in my opinion.
- It might also be possible to play generated sound (i.e. using oscillator) instead of hardcoding the silent base64 mp3 data.
- Maybe ignoring silence switch should only be done if a parameter is supplied

* fixes import path

* adds documentation for ignoreSilentHardwareSwitch

* adds ignoreSilentHardwareSwitch parameter

* reverting back to old import path

* Update Guide.md

* adds missing variable

Co-authored-by: Dominik Beste <dominik.beste@gmail.com>
2020-04-14 15:24:26 -07:00
semantic-release-bot 5c6d137067 chore(release): 9.2.0 [skip ci]
# [9.2.0](https://github.com/react-native-community/react-native-webview/compare/v9.1.4...v9.2.0) (2020-04-13)

### Features

* **iOS:** Add Hardware Silence ([#1218](https://github.com/react-native-community/react-native-webview/issues/1218)) ([d4ab332](https://github.com/react-native-community/react-native-webview/commit/d4ab332)), closes [#1140](https://github.com/react-native-community/react-native-webview/issues/1140)
2020-04-13 15:58:29 +00:00
RedPandaTronics d4ab332891
feat(iOS): Add Hardware Silence (#1218)
* Fixes Issue #1140

Fixes https://github.com/react-native-community/react-native-webview/issues/1140
Based on a solution found at: https://stackoverflow.com/questions/56460362/how-to-force-wkwebview-to-ignore-hardware-silent-switch-on-ios
I changed the code found in the linked source from Swift to Objective-C, as required by this project. WARNING: I haven't used Swift before and very limited experience with Objective-C.

- For me this seems to work, but it is not the cleanest solution in my opinion.
- It might also be possible to play generated sound (i.e. using oscillator) instead of hardcoding the silent base64 mp3 data.
- Maybe ignoring silence switch should only be done if a parameter is supplied

* fixes import path

* adds documentation for ignoreSilentHardwareSwitch

* adds ignoreSilentHardwareSwitch parameter

* reverting back to old import path

* Update Guide.md

Co-authored-by: Dominik Beste <dominik.beste@gmail.com>
2020-04-13 08:54:47 -07:00
semantic-release-bot f6d54c2b14 chore(release): 9.1.4 [skip ci]
## [9.1.4](https://github.com/react-native-community/react-native-webview/compare/v9.1.3...v9.1.4) (2020-04-10)

### Bug Fixes

* **Android:** Workaround for chromium bugs 1023678 and 1050635. ([#1221](https://github.com/react-native-community/react-native-webview/issues/1221)) ([5d88af4](https://github.com/react-native-community/react-native-webview/commit/5d88af4))
2020-04-10 20:44:43 +00:00
trcoffman 5d88af44fa
fix(Android): Workaround for chromium bugs 1023678 and 1050635. (#1221)
There is a bug in the WebView that causes a spurious call to onReceivedError
whenever you download a file.

This commit is a workaround for that bug. The idea here is to try and detect
these spurious errors and drop them before they cause problems.

This commit should be reverted once those chromium bugs are fixed.
2020-04-10 13:41:53 -07:00
semantic-release-bot c6ad1f9ed0 chore(release): 9.1.3 [skip ci]
## [9.1.3](https://github.com/react-native-community/react-native-webview/compare/v9.1.2...v9.1.3) (2020-04-09)

### Bug Fixes

* **Windows:** Move rnpm-plugin-windows to devDependencies. ([#1266](https://github.com/react-native-community/react-native-webview/issues/1266)) ([d16746c](https://github.com/react-native-community/react-native-webview/commit/d16746c))
2020-04-09 16:30:55 +00:00
jmheik d16746c8ea
fix(Windows): Move rnpm-plugin-windows to devDependencies. (#1266) 2020-04-09 09:28:28 -07:00
semantic-release-bot c8dc85d66e chore(release): 9.1.2 [skip ci]
## [9.1.2](https://github.com/react-native-community/react-native-webview/compare/v9.1.1...v9.1.2) (2020-04-09)

### Bug Fixes

* **Android:** Ensure each mounted WebView binds their personal onMessage handler ([#1301](https://github.com/react-native-community/react-native-webview/issues/1301)) ([04f9fb2](https://github.com/react-native-community/react-native-webview/commit/04f9fb2))
2020-04-09 15:09:23 +00:00
ivari 04f9fb23ba
fix(Android): Ensure each mounted WebView binds their personal onMessage handler (#1301)
* Ensure each mounted WebView binds their personal onMessage handler

* Changed unique ref generation to uuid

Uses `uuid` npm package.
Dashes are removed from the ref for sanity.
2020-04-09 08:05:44 -07:00
semantic-release-bot 8a46bb9453 chore(release): 9.1.1 [skip ci]
## [9.1.1](https://github.com/react-native-community/react-native-webview/compare/v9.1.0...v9.1.1) (2020-04-07)

### Bug Fixes

* **iOS:** injectedJavaScriptBeforeContentLoaded now runs when messaging is not enabled ([#1286](https://github.com/react-native-community/react-native-webview/issues/1286)) ([571fb8d](https://github.com/react-native-community/react-native-webview/commit/571fb8d))
2020-04-07 17:02:43 +00:00
Salvatore Randazzo 571fb8df79
fix(iOS): injectedJavaScriptBeforeContentLoaded now runs when messaging is not enabled (#1286) 2020-04-07 09:59:52 -07:00
semantic-release-bot fda1794035 chore(release): 9.1.0 [skip ci]
# [9.1.0](https://github.com/react-native-community/react-native-webview/compare/v9.0.2...v9.1.0) (2020-04-06)

### Features

* **Android:** Implement direct communication between Android code and JS ([#1203](https://github.com/react-native-community/react-native-webview/issues/1203)) ([c88e380](https://github.com/react-native-community/react-native-webview/commit/c88e380))
2020-04-06 17:27:43 +00:00
ivari c88e380762
feat(Android): Implement direct communication between Android code and JS (#1203) 2020-04-06 10:25:28 -07:00
semantic-release-bot 9fbcedd6b8 chore(release): 9.0.2 [skip ci]
## [9.0.2](https://github.com/react-native-community/react-native-webview/compare/v9.0.1...v9.0.2) (2020-03-27)

### Bug Fixes

* **types:** Remove readonly definition in WebViewTypes.ts ([#1272](https://github.com/react-native-community/react-native-webview/issues/1272)) ([3c06d78](https://github.com/react-native-community/react-native-webview/commit/3c06d78))
2020-03-27 15:43:13 +00:00
Giovanni Montenegro 3c06d78239
fix(types): Remove readonly definition in WebViewTypes.ts (#1272)
Co-authored-by: Giovanni Montenegro <giovanni.montenegro@fincons.com>
2020-03-27 08:33:14 -07:00
semantic-release-bot 2555297785 chore(release): 9.0.1 [skip ci]
## [9.0.1](https://github.com/react-native-community/react-native-webview/compare/v9.0.0...v9.0.1) (2020-03-17)

### Bug Fixes

* **deps:** Update lock file ([#1257](https://github.com/react-native-community/react-native-webview/issues/1257)) ([9732d65](https://github.com/react-native-community/react-native-webview/commit/9732d65))
2020-03-17 21:49:56 +00:00
Jason Safaiyeh 9732d65289
fix(deps): Update lock file (#1257) 2020-03-17 14:47:21 -07:00
semantic-release-bot bff88f8281 chore(release): 9.0.0 [skip ci]
# [9.0.0](https://github.com/react-native-community/react-native-webview/compare/v8.2.1...v9.0.0) (2020-03-17)

### Features

* **iOS:** WKUserScripts (e.g. injectedJavaScript) can now update upon props change; and can be configured to inject into all frames. ([#1119](https://github.com/react-native-community/react-native-webview/issues/1119)) ([9cb2f6e](https://github.com/react-native-community/react-native-webview/commit/9cb2f6e)), closes [/github.com/react-native-community/react-native-webview/pull/1119#issuecomment-574919464](https://github.com//github.com/react-native-community/react-native-webview/pull/1119/issues/issuecomment-574919464)

### BREAKING CHANGES

* **iOS:** • Props updates to `injectedJavaScript` are no longer immutable.
2020-03-17 21:06:06 +00:00
Jamie Birch 9cb2f6e2f3
feat(iOS): WKUserScripts (e.g. injectedJavaScript) can now update upon props change; and can be configured to inject into all frames. (#1119)
BREAKING CHANGE: 
• Props updates to `injectedJavaScript` are no longer immutable.

• `injectedJavaScript` no longer attaches a `jsEvaluationValue` property to the `onLoadingFinish` event. Check out: https://github.com/react-native-community/react-native-webview/pull/1119#issuecomment-574919464 to migrate with the same behavior.
2020-03-17 14:01:20 -07:00
semantic-release-bot e9ad1df51e chore(release): 8.2.1 [skip ci]
## [8.2.1](https://github.com/react-native-community/react-native-webview/compare/v8.2.0...v8.2.1) (2020-03-17)

### Bug Fixes

* **deps:** Update React Native Windows version to ^0.61.0-beta.58 ([#1256](https://github.com/react-native-community/react-native-webview/issues/1256)) ([91064ab](https://github.com/react-native-community/react-native-webview/commit/91064ab))
2020-03-17 20:04:30 +00:00
Kai Guo 91064ab4a9
fix(deps): Update React Native Windows version to ^0.61.0-beta.58 (#1256) 2020-03-17 13:00:44 -07:00
semantic-release-bot 5f7f4a19f2 chore(release): 8.2.0 [skip ci]
# [8.2.0](https://github.com/react-native-community/react-native-webview/compare/v8.1.2...v8.2.0) (2020-03-17)

### Features

* **Windows:** Windows support! ([#1220](https://github.com/react-native-community/react-native-webview/issues/1220)) ([ffee0d4](https://github.com/react-native-community/react-native-webview/commit/ffee0d4))
2020-03-17 02:32:43 +00:00
Kai Guo ffee0d4362
feat(Windows): Windows support! (#1220) 2020-03-16 19:30:25 -07:00
Luciano Lima 86c44588f8
chore(docs): Update React Native links to reactnative.dev (#1233) 2020-02-25 22:54:06 -08:00
semantic-release-bot 19896fc810 chore(release): 8.1.2 [skip ci]
## [8.1.2](https://github.com/react-native-community/react-native-webview/compare/v8.1.1...v8.1.2) (2020-02-21)

### Bug Fixes

* **Android:** Don't log the cookie when downloading file. ([#1224](https://github.com/react-native-community/react-native-webview/issues/1224)) ([2470245](https://github.com/react-native-community/react-native-webview/commit/2470245))
2020-02-21 19:05:47 +00:00
trcoffman 24702450f3
fix(Android): Don't log the cookie when downloading file. (#1224) 2020-02-21 11:02:50 -08:00
semantic-release-bot 118663287a chore(release): 8.1.1 [skip ci]
## [8.1.1](https://github.com/react-native-community/react-native-webview/compare/v8.1.0...v8.1.1) (2020-02-19)

### Bug Fixes

* **Android:** Don't show camera options for a file upload when they can not be used ([#1210](https://github.com/react-native-community/react-native-webview/issues/1210)) ([4093682](https://github.com/react-native-community/react-native-webview/commit/4093682))
2020-02-19 02:42:47 +00:00
Daniel Vicory 4093682e08
fix(Android): Don't show camera options for a file upload when they can not be used (#1210)
* Don't show camera options for a file upload that would result in nothing happening for the user.

On Android, if the application declares the camera permission, then even intents
that use the camera require permission to be granted. This is a problem for apps
that combine an in-app camera with a WebView that has file uploading and the user
has not given permission for the camera.

Note, this will not request permission for camera. This will simply prevent
showing the camera options that would be a no-op action for users. It does this
by checking if the camera permission is declared, and if so, checks that the
user has granted permission.

More information: https://blog.egorand.me/taking-photos-not-so-simply-how-i-got-bitten-by-action_image_capture/

* Add example and documentation about camera option availability in file uploads for Android.
2020-02-18 18:40:30 -08:00
Allan Santos 5024295633
chore(docs): Fix Getting Started Guide link in Breaking History (#1213) 2020-02-17 09:35:05 -08:00
António Goulão 6c8b8fc4b1
chore(docs): Update Android assets path (#1173) 2020-02-14 11:12:19 -08:00
Jason Safaiyeh 327bc6b7de
chore(docs): Update cookie links (#1149) 2020-02-13 05:50:22 -08:00