@dynatrace/cordova-plugin 2.295.1 → 2.297.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +41 -3
  2. package/files/iOS/Dynatrace.xcframework/Info.plist +8 -8
  3. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeDirectory +0 -0
  4. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  5. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeResources +81 -81
  6. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeSignature +0 -0
  7. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
  8. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  9. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/DynatraceSwiftUI.h +10 -0
  10. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
  11. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  12. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +1 -1
  13. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  14. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  15. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/DynatraceSwiftUI.h +10 -0
  16. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  17. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  18. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  19. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +1 -1
  20. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +1 -1
  21. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +17 -17
  22. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
  23. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  24. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/DynatraceSwiftUI.h +10 -0
  25. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
  26. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
  27. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  28. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  29. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/DynatraceSwiftUI.h +10 -0
  30. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  31. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
  32. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
  33. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +13 -13
  34. package/files/plugin.gradle +1 -1
  35. package/package.json +3 -3
  36. package/plugin.xml +2 -2
  37. package/scripts/config/ConfigurationReader.js +1 -0
  38. package/scripts/config/cordova/CordovaPluginConfiguration.js +5 -1
  39. package/scripts/config/cordova/CordovaPluginConfigurationBuilder.js +6 -1
  40. package/scripts/config/cordova/CordovaPluginConfigurationConstants.js +2 -1
  41. package/scripts/helpers/InstrumentHelper.js +131 -67
  42. package/scripts/helpers/PathHelper.js +13 -3
  43. package/scripts/html/HtmlConstants.js +2 -3
  44. package/scripts/html/HtmlInstrumentation.js +18 -5
  45. package/scripts/html/HtmlModifier.js +38 -8
  46. package/scripts/html/HtmlUtil.js +4 -4
  47. package/scripts/interfaces/ICookieProxyProps.js +2 -0
  48. package/scripts/snippets/dt-cookie-proxy-cap.js +131 -0
  49. package/scripts/snippets/dt-cookie-proxy.js +19 -14
  50. package/scripts/utils/InstrumentUtil.js +18 -1
package/README.md CHANGED
@@ -31,8 +31,8 @@ For information as to why this is necessary, read more [here](#migration-from-ma
31
31
 
32
32
  This agent versions are configured in this plugin:
33
33
 
34
- * Android Agent: 8.295.1.1006
35
- * iOS Agent: 8.295.1.1020
34
+ * Android Agent: 8.297.1.1003
35
+ * iOS Agent: 8.297.1.1004
36
36
 
37
37
  ## Quick Setup
38
38
 
@@ -49,6 +49,7 @@ This agent versions are configured in this plugin:
49
49
  * [Debug property](#debug-property)
50
50
  * [Content Security Policy url](#content-security-policy-url)
51
51
  * [Cookie Proxy](#cookie-proxy)
52
+ * [Capacitor Cookie Proxy](#capacitor-cookie-proxy)
52
53
  * [JS Agent Path](#js-agent-path)
53
54
  * [Gradle Path](#gradle-path)
54
55
  * [Plist Path](#plist-path)
@@ -81,6 +82,7 @@ This agent versions are configured in this plugin:
81
82
  * [iOS](#ios)
82
83
  * [Official documentation](#official-documentation)
83
84
  * [Doctor Dynatrace](#doctor-dynatrace)
85
+ * [Instrumentation Overhead](#instrumentation-overhead)
84
86
  * [Troubleshooting and current restrictions](#troubleshooting-and-current-restrictions)
85
87
  * [iOS Session Correlation issues](#ios-session-correlation-issues)
86
88
  * [Changelog](#changelog)
@@ -200,7 +202,7 @@ There is flag for updating the CSP (Content Security Policy). By default this va
200
202
 
201
203
  ### Cookie Proxy
202
204
 
203
- Issues with cookies are somehow a persistent companion in Ionic or Capacitor applications. Therefor we provide a proxy script which is wrapping the document.cookie API and are storing the cookies which are important for the Dynatrace Agents in the session storage. Of course this wrapping is still calling the original API.
205
+ Issues with cookies are somehow a persistent companion in Ionic or Capacitor applications. Therefor we provide a proxy script which is wrapping the document.cookie API and are storing the cookies which are important for the Dynatrace Agents in the session storage. Of course this wrapping is still calling the original API. Please see the [Capacitor Cookie Proxy](#capacitor-cookie-proxy) section below if you are using `CapacitorCookies` in your application. If not, please see the configuration below.
204
206
 
205
207
  Per default the cookie proxy is turned off. To make use of this proxy you need to enable it in the cordova configuration in the dynatrace.config.js:
206
208
 
@@ -215,6 +217,24 @@ module.exports = {
215
217
 
216
218
  The `true` in the cookieProxy property will insert a `dt-cookie-proxy.js` script in the index.html.
217
219
 
220
+ ### Capacitor Cookie Proxy
221
+
222
+ If you are using `CapacitorCookies` in your capacitor application, we have added another proxy option that includes the logic used with `CapacitorCookies`. To use this option, you will need to set `CapacitorCookies` to false in your capacitor configuration and then add the following option in your `dynatrace.config.js` file:
223
+
224
+ ```js
225
+ module.exports = {
226
+ cordova : {
227
+ capacitorCookieProxy: true
228
+ },
229
+ ...
230
+ }
231
+ ```
232
+
233
+ If you are not using `CapacitorCookies` in your application, please be sure to follow the steps in the [Cookie Proxy](#cookie-proxy) section instead.
234
+
235
+ **NOTE:**
236
+ If `CapacitorCookies` is set to true, we will not inject our proxy as there have been issues when using both `CapacitorCookies` and our proxy at the same time. Also, if you have both `cookieProxy` and `capacitorCookieProxy` set to true while `CapacitorCookies` is set to false, we will add the capacitor cookie proxy.
237
+
218
238
  ### JS Agent Path
219
239
 
220
240
  If you want to use a local script/text file that includes the JS Agent snippet downloaded from the WebUI or retrieved from using the Dynatrace API. Note that you can name the file whatever you want but the file and directory that you use needs to exist. The file downloaded from the WebUI will be named `jsSnippet.txt` by default.
@@ -824,6 +844,19 @@ The results will be generated in the terminal window as well as stored in log fo
824
844
 
825
845
  The log file will also include a list of your `package.json` *dependencies* and *devDependencies* which will be helpful when investigating possible issues that arise. Please add this doctor dynatrace log and [mobile agent debug logs](#native-oneagent-debug-logs) when opening a support ticket.
826
846
 
847
+ ## Instrumentation Overhead
848
+
849
+ When using auto-instrumenation through our plugin, here are some examples of the size differences before and after instrumentation for release builds:
850
+
851
+ | Built with | App template | Version | Size Before | Size After | Difference |
852
+ |----------------------|-------------------------|-------------|-----------------|----------------|----------------|
853
+ | Cordova - Android | cordova-app-hello-world | 13.0.0 | 2.4 MB | 2.6 MB | 0.2 MB |
854
+ | Cordova - iOS | cordova-app-hello-world | 7.1.0 | 749 KB | 9.1 MB | 8.35 MB |
855
+ | Ionic - Android | Tabs | 13.0.0 | 3.4 MB | 3.5 MB | 0.1 MB |
856
+ | Ionic - iOS | Tabs | 7.1.0 | 3.8 MB | 12.2 MB | 8.4 MB |
857
+ | Capacitor - Android | ionic-conference-app | 4.6.3 | 16.2 MB | 16.3 MB | 0.1 MB |
858
+ | Capacitor - iOS | ionic-conference-app | 4.6.3 | 33.2 MB | 37.4 MB | 4.2 MB |
859
+
827
860
  ## Troubleshooting and current restrictions
828
861
  **Note:**
829
862
  The Dynatrace Android Gradle plugin is hosted on [Maven Central](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.dynatrace.tools.android%22%20AND%20a%3A%22gradle-plugin%22). JCenter has noted it's [sunset](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) on May 1st so Maven Central is the primary source of the Dynatrace Android Gradle plugin.
@@ -855,6 +888,11 @@ When using Apple Pay with WKWebView, there are specific checks that WebKit (Appl
855
888
 
856
889
  ## Changelog
857
890
 
891
+ 2.297.1
892
+ * Updated Android (8.297.1.1003) & iOS Agent (8.297.1.1004)
893
+ * Added [Instrumentation Overhead](#instrumentation-overhead) section
894
+ * Added [Capacitor Cookie Proxy](#capacitor-cookie-proxy) option for when `CapacitorCookies` is needed
895
+
858
896
  2.295.1
859
897
  * Updated Android (8.295.1.1006) & iOS Agent (8.295.1.1020)
860
898
  * Using cookie postfix of JavaScript agent when enabled
@@ -8,7 +8,7 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>Dynatrace.framework/Dynatrace</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64</string>
11
+ <string>tvos-arm64</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>Dynatrace.framework</string>
14
14
  <key>SupportedArchitectures</key>
@@ -16,13 +16,13 @@
16
16
  <string>arm64</string>
17
17
  </array>
18
18
  <key>SupportedPlatform</key>
19
- <string>ios</string>
19
+ <string>tvos</string>
20
20
  </dict>
21
21
  <dict>
22
22
  <key>BinaryPath</key>
23
23
  <string>Dynatrace.framework/Dynatrace</string>
24
24
  <key>LibraryIdentifier</key>
25
- <string>tvos-arm64_x86_64-simulator</string>
25
+ <string>ios-arm64_x86_64-simulator</string>
26
26
  <key>LibraryPath</key>
27
27
  <string>Dynatrace.framework</string>
28
28
  <key>SupportedArchitectures</key>
@@ -31,7 +31,7 @@
31
31
  <string>x86_64</string>
32
32
  </array>
33
33
  <key>SupportedPlatform</key>
34
- <string>tvos</string>
34
+ <string>ios</string>
35
35
  <key>SupportedPlatformVariant</key>
36
36
  <string>simulator</string>
37
37
  </dict>
@@ -39,7 +39,7 @@
39
39
  <key>BinaryPath</key>
40
40
  <string>Dynatrace.framework/Dynatrace</string>
41
41
  <key>LibraryIdentifier</key>
42
- <string>tvos-arm64</string>
42
+ <string>ios-arm64</string>
43
43
  <key>LibraryPath</key>
44
44
  <string>Dynatrace.framework</string>
45
45
  <key>SupportedArchitectures</key>
@@ -47,13 +47,13 @@
47
47
  <string>arm64</string>
48
48
  </array>
49
49
  <key>SupportedPlatform</key>
50
- <string>tvos</string>
50
+ <string>ios</string>
51
51
  </dict>
52
52
  <dict>
53
53
  <key>BinaryPath</key>
54
54
  <string>Dynatrace.framework/Dynatrace</string>
55
55
  <key>LibraryIdentifier</key>
56
- <string>ios-arm64_x86_64-simulator</string>
56
+ <string>tvos-arm64_x86_64-simulator</string>
57
57
  <key>LibraryPath</key>
58
58
  <string>Dynatrace.framework</string>
59
59
  <key>SupportedArchitectures</key>
@@ -62,7 +62,7 @@
62
62
  <string>x86_64</string>
63
63
  </array>
64
64
  <key>SupportedPlatform</key>
65
- <string>ios</string>
65
+ <string>tvos</string>
66
66
  <key>SupportedPlatformVariant</key>
67
67
  <string>simulator</string>
68
68
  </dict>