Преглед изворни кода

[RN] Fix iOS lockups / resprings

Apparently iOS doesn't like dangling background tasks very much, so update the
background timers plugin with a version which fixes this.

https://github.com/ocetnik/react-native-background-timer/pull/38

Also accomodate for the API changes upstream.

Credits to @lyubomir for finding the needle in the haystack.
master
Saúl Ibarra Corretgé пре 8 година
родитељ
комит
4e4a9012c2
2 измењених фајлова са 9 додато и 5 уклоњено
  1. 1
    1
      package.json
  2. 8
    4
      react/features/base/lib-jitsi-meet/native/polyfills-browser.js

+ 1
- 1
package.json Прегледај датотеку

47
     "react-dom": "15.4.2",
47
     "react-dom": "15.4.2",
48
     "react-i18next": "4.1.0",
48
     "react-i18next": "4.1.0",
49
     "react-native": "0.42.3",
49
     "react-native": "0.42.3",
50
-    "react-native-background-timer": "1.0.2",
50
+    "react-native-background-timer": "saghul/react-native-background-timer#ios-end-task",
51
     "react-native-immersive": "0.0.5",
51
     "react-native-immersive": "0.0.5",
52
     "react-native-keep-awake": "2.0.4",
52
     "react-native-keep-awake": "2.0.4",
53
     "react-native-locale-detector": "1.0.1",
53
     "react-native-locale-detector": "1.0.1",

+ 8
- 4
react/features/base/lib-jitsi-meet/native/polyfills-browser.js Прегледај датотеку

372
     // Required by:
372
     // Required by:
373
     // - lib-jitsi-meet
373
     // - lib-jitsi-meet
374
     // - Strophe
374
     // - Strophe
375
-    global.clearTimeout = window.clearTimeout = BackgroundTimer.clearTimeout;
376
-    global.clearInterval = window.clearInterval = BackgroundTimer.clearInterval;
377
-    global.setInterval = window.setInterval = BackgroundTimer.setInterval;
378
-    global.setTimeout = window.setTimeout = BackgroundTimer.setTimeout;
375
+    global.clearTimeout = window.clearTimeout
376
+        = BackgroundTimer.clearTimeout.bind(BackgroundTimer);
377
+    global.clearInterval = window.clearInterval
378
+        = BackgroundTimer.clearInterval.bind(BackgroundTimer);
379
+    global.setInterval = window.setInterval
380
+        = BackgroundTimer.setInterval.bind(BackgroundTimer);
381
+    global.setTimeout = window.setTimeout
382
+        = BackgroundTimer.setTimeout.bind(BackgroundTimer);
379
 
383
 
380
 })(global || window || this); // eslint-disable-line no-invalid-this
384
 })(global || window || this); // eslint-disable-line no-invalid-this

Loading…
Откажи
Сачувај