|
@@ -15,6 +15,7 @@
|
15
|
15
|
*/
|
16
|
16
|
|
17
|
17
|
#import <CoreText/CoreText.h>
|
|
18
|
+#include <mach/mach_time.h>
|
18
|
19
|
|
19
|
20
|
#import <React/RCTAssert.h>
|
20
|
21
|
#import <React/RCTLinkingManager.h>
|
|
@@ -239,6 +240,17 @@ static NSMapTable<NSString *, JitsiMeetView *> *views;
|
239
|
240
|
props[@"url"] = urlObject;
|
240
|
241
|
}
|
241
|
242
|
|
|
243
|
+ // XXX The method loadURLObject: is supposed to be imperative i.e. a second
|
|
244
|
+ // invocation with one and the same URL is expected to join the respective
|
|
245
|
+ // conference again if the first invocation was followed by leaving the
|
|
246
|
+ // conference. However, React and, respectively,
|
|
247
|
+ // appProperties/initialProperties are declarative expressions i.e. one and
|
|
248
|
+ // the same URL will not trigger componentWillReceiveProps in the JavaScript
|
|
249
|
+ // source code. The workaround implemented bellow introduces imperativeness
|
|
250
|
+ // in React Component props by defining a unique value per loadURLObject:
|
|
251
|
+ // invocation.
|
|
252
|
+ props[@"timestamp"] = @(mach_absolute_time());
|
|
253
|
+
|
242
|
254
|
if (rootView) {
|
243
|
255
|
// Update props with the new URL.
|
244
|
256
|
rootView.appProperties = props;
|