From d1c05edf9efa759e5f0186dcca2f12b3a5979f71 Mon Sep 17 00:00:00 2001 From: hansemannn Date: Mon, 16 Sep 2024 00:07:09 +0000 Subject: [PATCH 1/8] Apply automatic changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f2ce0db7e75..91ae530b24d 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ today and benefit from 1:1 sessions with the core team, exclusive modules, merch Learn more about sponsoring TiDev, the organization behind the Titanium SDK, [here](https://github.com/sponsors/tidev) 🚀. -Rene PotRodrigo FarfánMatt Delmarterdlewis23Daniel EthierJoe KniesekVittorio SorberaMarcus OlovssonAlessandro La RoccaReshopperGusJason David MillerMichael ZaladonisVincenzo QuacquarelliMighty GmbHFruugulKorelogic LimitedJohn GouldJoaquin Maroto +Rene PotRodrigo FarfánMatt Delmarterdlewis23Daniel EthierJoe KniesekVittorio SorberaMarcus OlovssonAlessandro La RoccaReshopperGusJason David MillerMichael ZaladonisVincenzo QuacquarelliMighty GmbHFruugulKorelogic LimitedJohn Gould ## Features From 7e5f1ade3bd9cdd1cd8159f069b9cce76dcc6592 Mon Sep 17 00:00:00 2001 From: Abdullah Al-Faqeir Date: Mon, 16 Sep 2024 12:00:23 +0300 Subject: [PATCH 2/8] fix(ios): pause returns false (#14114) --- iphone/Classes/TiMediaAudioPlayerProxy.m | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/iphone/Classes/TiMediaAudioPlayerProxy.m b/iphone/Classes/TiMediaAudioPlayerProxy.m index 59e47ad36a9..12941a0c393 100644 --- a/iphone/Classes/TiMediaAudioPlayerProxy.m +++ b/iphone/Classes/TiMediaAudioPlayerProxy.m @@ -472,11 +472,7 @@ - (void)handleTimeControlStatusNotification:(NSNotification *)note if (_player.timeControlStatus == AVPlayerTimeControlStatusPlaying) { _state = TiAudioPlayerStatePlaying; } else if (_player.timeControlStatus == AVPlayerTimeControlStatusPaused) { - if (_player.currentItem.currentTime.value == 0.0 || oldState == TiAudioPlayerStateStopping) { - _state = TiAudioPlayerStateStopped; - } else { - _state = TiAudioPlayerStatePaused; - } + _state = TiAudioPlayerStatePaused; } else if (_player.timeControlStatus == AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate) { _state = TiAudioPlayerStateWaitingForQueueToStart; } From cd0b55fd4a7263b96f31918f229cf3f1b6de0aa0 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Mon, 16 Sep 2024 11:02:01 +0200 Subject: [PATCH 3/8] docs: update NotificationChannel example (#14107) --- apidoc/Titanium/Android/NotificationChannel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apidoc/Titanium/Android/NotificationChannel.yml b/apidoc/Titanium/Android/NotificationChannel.yml index aeda2e4bfde..d108242eda1 100644 --- a/apidoc/Titanium/Android/NotificationChannel.yml +++ b/apidoc/Titanium/Android/NotificationChannel.yml @@ -25,7 +25,7 @@ examples: icon: Ti.Android.R.drawable.ic_dialog_info, contentTitle: 'TITLE', contentText : 'This is a test', - channelId: channel.getId() + channelId: channel.id }); Ti.Android.NotificationManager.notify(100, notification); From 5baf6a1840c134c785f28bd224c1466757059cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 16 Sep 2024 11:02:20 +0200 Subject: [PATCH 4/8] =?UTF-8?q?feat(ios):=20add=20=E2=80=9CinteractiveDism?= =?UTF-8?q?issModeEnabled=E2=80=9D=20API=20(#14103)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(ios): add “interactiveDismissModeEnabled” API * chore: add docs --- apidoc/Titanium/UI/NavigationWindow.yml | 10 ++++++ apidoc/Titanium/UI/TabGroup.yml | 10 ++++++ iphone/Classes/TiUINavigationWindowProxy.h | 2 ++ iphone/Classes/TiUINavigationWindowProxy.m | 38 ++++++++++++++++++++++ iphone/Classes/TiUITabProxy.h | 2 ++ iphone/Classes/TiUITabProxy.m | 38 ++++++++++++++++++++++ 6 files changed, 100 insertions(+) diff --git a/apidoc/Titanium/UI/NavigationWindow.yml b/apidoc/Titanium/UI/NavigationWindow.yml index b173599898e..83e9098e85d 100644 --- a/apidoc/Titanium/UI/NavigationWindow.yml +++ b/apidoc/Titanium/UI/NavigationWindow.yml @@ -31,6 +31,16 @@ properties: availability: creation optional: false + - name: interactiveDismissModeEnabled + summary: | + A boolean indicating whether or not child windows of this navigation window + should have the ability to be swipe-to-closed over the full width of it's window or not. + type: Boolean + default: false + platforms: [iphone, ipad, macos] + since: "12.5.0" + availability: creation + methods: - name: closeWindow summary: Closes a window and removes it from the navigation window. diff --git a/apidoc/Titanium/UI/TabGroup.yml b/apidoc/Titanium/UI/TabGroup.yml index c789b8a7624..66cbf4c1d4b 100644 --- a/apidoc/Titanium/UI/TabGroup.yml +++ b/apidoc/Titanium/UI/TabGroup.yml @@ -609,6 +609,16 @@ properties: platforms: [android, iphone, ipad, macos] since: "12.1.0" + - name: interactiveDismissModeEnabled + summary: | + A boolean indicating whether or not child windows of this tab group + should have the ability to be swipe-to-closed over the full width of it's window or not. + type: Boolean + default: false + platforms: [iphone, ipad, macos] + since: "12.5.0" + availability: creation + examples: - title: Alloy XML Markup example: | diff --git a/iphone/Classes/TiUINavigationWindowProxy.h b/iphone/Classes/TiUINavigationWindowProxy.h index f5777d15981..f7324480351 100644 --- a/iphone/Classes/TiUINavigationWindowProxy.h +++ b/iphone/Classes/TiUINavigationWindowProxy.h @@ -16,6 +16,8 @@ TiWindowProxy *current; BOOL transitionIsAnimating; BOOL transitionWithGesture; + + UIPanGestureRecognizer *fullWidthBackGestureRecognizer; } // Private API diff --git a/iphone/Classes/TiUINavigationWindowProxy.m b/iphone/Classes/TiUINavigationWindowProxy.m index 1c47611fb7b..ac13e26b1c8 100644 --- a/iphone/Classes/TiUINavigationWindowProxy.m +++ b/iphone/Classes/TiUINavigationWindowProxy.m @@ -16,9 +16,16 @@ @implementation TiUINavigationWindowProxy - (void)_destroy { + if (fullWidthBackGestureRecognizer != nil) { + [fullWidthBackGestureRecognizer setDelegate:nil]; + [navController.view removeGestureRecognizer:fullWidthBackGestureRecognizer]; + } + RELEASE_TO_NIL(rootWindow); RELEASE_TO_NIL(navController); RELEASE_TO_NIL(current); + RELEASE_TO_NIL(fullWidthBackGestureRecognizer); + [super _destroy]; } @@ -88,14 +95,45 @@ - (UINavigationController *)controller [TiUtils configureController:navController withObject:self]; [navController.interactivePopGestureRecognizer addTarget:self action:@selector(popGestureStateHandler:)]; [[navController interactivePopGestureRecognizer] setDelegate:self]; + + BOOL interactiveDismissModeEnabled = [TiUtils boolValue:[self valueForKey:@"interactiveDismissModeEnabled"] def:NO]; + if (interactiveDismissModeEnabled) { + [self configureFullWidthSwipeToClose]; + } } return navController; } +- (void)configureFullWidthSwipeToClose +{ + fullWidthBackGestureRecognizer = [[UIPanGestureRecognizer alloc] init]; + + if (navController.interactivePopGestureRecognizer == nil) { + return; + } + + id targets = [navController.interactivePopGestureRecognizer valueForKey:@"targets"]; + if (targets == nil) { + return; + } + + [fullWidthBackGestureRecognizer setValue:targets forKey:@"targets"]; + [fullWidthBackGestureRecognizer setDelegate:self]; + [navController.view addGestureRecognizer:fullWidthBackGestureRecognizer]; +} + - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { BOOL isRootWindow = (current == rootWindow); + BOOL interactiveDismissModeEnabled = [TiUtils boolValue:[self valueForKey:@"interactiveDismissModeEnabled"] def:NO]; + if (interactiveDismissModeEnabled && [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { + BOOL isSystemSwipeToCloseEnabled = navController.interactivePopGestureRecognizer.isEnabled == YES; + BOOL areThereStackedViewControllers = navController.viewControllers.count > 1; + + return isSystemSwipeToCloseEnabled || areThereStackedViewControllers; + } + if (current != nil && !isRootWindow) { return [TiUtils boolValue:[current valueForKey:@"swipeToClose"] def:YES]; } diff --git a/iphone/Classes/TiUITabProxy.h b/iphone/Classes/TiUITabProxy.h index f44e5dadb20..f4ef08abe18 100644 --- a/iphone/Classes/TiUITabProxy.h +++ b/iphone/Classes/TiUITabProxy.h @@ -30,6 +30,8 @@ BOOL activeIconOriginal; id parentOrientationController; + + UIPanGestureRecognizer *fullWidthBackGestureRecognizer; } - (void)setTabGroup:(TiUITabGroupProxy *)proxy; diff --git a/iphone/Classes/TiUITabProxy.m b/iphone/Classes/TiUITabProxy.m index c14e0ff3ce0..4f33b856b89 100644 --- a/iphone/Classes/TiUITabProxy.m +++ b/iphone/Classes/TiUITabProxy.m @@ -32,6 +32,11 @@ - (void)_destroy { [[NSNotificationCenter defaultCenter] removeObserver:self name:kTiTraitCollectionChanged object:nil]; + if (fullWidthBackGestureRecognizer != nil) { + [fullWidthBackGestureRecognizer setDelegate:nil]; + [controller.view removeGestureRecognizer:fullWidthBackGestureRecognizer]; + } + if (rootWindow != nil) { [self cleanNavStack:YES]; } @@ -39,6 +44,8 @@ - (void)_destroy RELEASE_TO_NIL(rootWindow); RELEASE_TO_NIL(controller); RELEASE_TO_NIL(current); + RELEASE_TO_NIL(fullWidthBackGestureRecognizer); + [super _destroy]; } @@ -260,12 +267,43 @@ - (UINavigationController *)controller [controllerStack addObject:[self rootController]]; [controller.interactivePopGestureRecognizer addTarget:self action:@selector(popGestureStateHandler:)]; [[controller interactivePopGestureRecognizer] setDelegate:self]; + + BOOL interactiveDismissModeEnabled = [TiUtils boolValue:[tabGroup valueForKey:@"interactiveDismissModeEnabled"] def:NO]; + if (interactiveDismissModeEnabled) { + [self configureFullWidthSwipeToClose]; + } } return controller; } +- (void)configureFullWidthSwipeToClose +{ + fullWidthBackGestureRecognizer = [[UIPanGestureRecognizer alloc] init]; + + if (controller.interactivePopGestureRecognizer == nil) { + return; + } + + id targets = [controller.interactivePopGestureRecognizer valueForKey:@"targets"]; + if (targets == nil) { + return; + } + + [fullWidthBackGestureRecognizer setValue:targets forKey:@"targets"]; + [fullWidthBackGestureRecognizer setDelegate:self]; + [controller.view addGestureRecognizer:fullWidthBackGestureRecognizer]; +} + - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { + BOOL interactiveDismissModeEnabled = [TiUtils boolValue:[self valueForKey:@"interactiveDismissModeEnabled"] def:NO]; + if (interactiveDismissModeEnabled && [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { + BOOL isSystemSwipeToCloseEnabled = controller.interactivePopGestureRecognizer.isEnabled == YES; + BOOL areThereStackedViewControllers = controller.viewControllers.count > 1; + + return isSystemSwipeToCloseEnabled || areThereStackedViewControllers; + } + if (current != nil) { return [TiUtils boolValue:[current valueForKey:@"swipeToClose"] def:YES]; } From 322b09bc09153c3e5adcd6570199b4d82c41f994 Mon Sep 17 00:00:00 2001 From: Michael Gangolf Date: Mon, 16 Sep 2024 11:02:50 +0200 Subject: [PATCH 5/8] feat(android): more log output (#13999) * feat(android): more log output * remove if * change for loop * Update android/runtime/v8/src/native/modules/APIModule.cpp Co-authored-by: Chris Barber --------- Co-authored-by: Chris Barber --- android/runtime/v8/src/native/modules/APIModule.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/android/runtime/v8/src/native/modules/APIModule.cpp b/android/runtime/v8/src/native/modules/APIModule.cpp index a2628327880..c460ac87dc2 100644 --- a/android/runtime/v8/src/native/modules/APIModule.cpp +++ b/android/runtime/v8/src/native/modules/APIModule.cpp @@ -115,7 +115,13 @@ void APIModule::logInfo(const FunctionCallbackInfo& args) Isolate* isolate = args.GetIsolate(); HandleScope scope(isolate); v8::String::Utf8Value message(isolate, APIModule::combineLogMessages(args)); - APIModule::logInternal(LOG_LEVEL_INFO, LCAT, *message); + + std::string cppStr(*message); + + int maxChunk = 4050; + for (size_t i = 0, len = cppStr.length(); i < len; i+=maxChunk) { + APIModule::logInternal(LOG_LEVEL_INFO, LCAT, cppStr.substr(i , maxChunk).c_str()); + } } void APIModule::logWarn(const FunctionCallbackInfo& args) From abbd387dedeec56ce1841196bf04e92a7622e410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 16 Sep 2024 11:17:49 +0200 Subject: [PATCH 6/8] feat: add 12.5.0.GA changelog # Conflicts: # CHANGELOG.md --- CHANGELOG.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca98a09d798..584645fff44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,93 @@ +# [12.5.0](https://github.com/tidev/titanium_mobile/compare/12_4_X...12.5.0) (2024-09-16) + +## About this release + +Titanium SDK 12.5.0 is a minor release of the SDK, adding new features and platform updates. It also adds stable support for +iOS 18 and Xcode 16, the latest software in the Apple ecosystem. + +## Community Credits + +* Michael Gangolf + * forward --sdk in module build process ([07f435d](https://github.com/tidev/titanium_mobile/commit/07f435d836f644ec469f9f7485682b74d25e0699)) + * more log output ([694766b](https://github.com/tidev/titanium_mobile/commit/694766b63323e3fee70e64abee07841b267fdce7)) + * statusBarColor for Window ([91499ef](https://github.com/tidev/titanium_mobile/commit/91499efadc6cc1c9a8fd2c82cdddf4ddd340f213)) + * flatten ListView layout ([b9fd683](https://github.com/tidev/titanium_mobile/commit/b9fd68326f1dca7f7dc4eeb20e9fffa881dbce6d)) + * add maxImages and pathOnly to openPhotoGallery ([3eda594](https://github.com/tidev/titanium_mobile/commit/3eda594e2721651a412a9557f6a05830c19efb29)) + * fire `selected` event again when clicking the same Tab again ([dfb1b5c](https://github.com/tidev/titanium_mobile/commit/dfb1b5c312cbfac159fbae4d7277330dad71d6e0)) + * enable Signature Scheme v3 ([c719bcd](https://github.com/tidev/titanium_mobile/commit/c719bcd5cd061cccaefe888b8edaf7f25143f412)) + * update cmake, checkstyle ([8846f07](https://github.com/tidev/titanium_mobile/commit/8846f07955e0157ff134c122bd544f66c2fdb501)) + * fix tintColor and activeTintColor in a TabbedBar ([2e92f1d](https://github.com/tidev/titanium_mobile/commit/2e92f1ddd00b9610ff9a6fc14775545b7cdf089e)) + * set targetSDK to Android 34 ([5fc81f0](https://github.com/tidev/titanium_mobile/commit/5fc81f08bdb3f9ba64d9cb4972848c8523f2d190)) + * fix Actionbar backgroundImage doc and improve setter ([803bd04](https://github.com/tidev/titanium_mobile/commit/803bd04350df89f2197842d110ad3c0384a97c7f)) + * keep Tab tintColor when changing icons ([51be366](https://github.com/tidev/titanium_mobile/commit/51be36662445ad4755438a7f1b511a837196df69)) + * fix titleAttribute when it's not a creation parameter ([017c052](https://github.com/tidev/titanium_mobile/commit/017c0524dc1a76527a8ba342964ea881633492d5)) + +* Hans Knöchel + * add “interactiveDismissModeEnabled” API ([1d2cdd5](https://github.com/tidev/titanium_mobile/commit/1d2cdd5ff802fcc628ab67cd1a882117b1e74c00)) + * textfield padding ([d75fc9e](https://github.com/tidev/titanium_mobile/commit/d75fc9efb225aa798101388d6ba50d9751a2847a)) + * Revert "fix(ios): fix unbalanced view controller transitions causing issues on iOS 16+ (#13586)" ([b9932b2](https://github.com/tidev/titanium_mobile/commit/b9932b2f3929a19523a29a453710afecb84ea7f7)) + * bump master to 12.5.0 ([52cab42](https://github.com/tidev/titanium_mobile/commit/52cab4293d6c9a0472428f4ed0d0fb7566ebb530)) + * add 12.5.0 changelog ([e5e3f33](https://github.com/tidev/titanium_mobile/commit/e5e3f33323e65593f69eda2fc56f750e7611ec7a)) + +* Abdullah Al-Faqeir + * pause returns false ([e577bce](https://github.com/tidev/titanium_mobile/commit/e577bce9b640974ce92a9ad209846fa2f5b7915b)) + +## Bug Fixes + +### Android platform + +* fix Actionbar backgroundImage doc and improve setter ([803bd04](https://github.com/tidev/titanium_mobile/commit/803bd04350df89f2197842d110ad3c0384a97c7f)) +* fix tintColor and activeTintColor in a TabbedBar ([2e92f1d](https://github.com/tidev/titanium_mobile/commit/2e92f1ddd00b9610ff9a6fc14775545b7cdf089e)) +* fix titleAttribute when it's not a creation parameter ([017c052](https://github.com/tidev/titanium_mobile/commit/017c0524dc1a76527a8ba342964ea881633492d5)) +* keep Tab tintColor when changing icons ([51be366](https://github.com/tidev/titanium_mobile/commit/51be36662445ad4755438a7f1b511a837196df69)) +* textfield padding ([d75fc9e](https://github.com/tidev/titanium_mobile/commit/d75fc9efb225aa798101388d6ba50d9751a2847a)) + +### iOS platform + +* pause returns false ([e577bce](https://github.com/tidev/titanium_mobile/commit/e577bce9b640974ce92a9ad209846fa2f5b7915b)) + +### Multiple platforms + +* sdk build on windows needs shell: true to run batch files ([f3e5a0b](https://github.com/tidev/titanium_mobile/commit/f3e5a0bd90eb75dfa7ec0c5e6a4b4cc39ac4b95a)) + +## Features + +### Multiple platforms + +* add 12.4.0.GA changelog ([9388600](https://github.com/tidev/titanium_mobile/commit/9388600a951db750e188eaca6c14b6e1683ffd7c)) +* add 12.5.0 changelog ([e5e3f33](https://github.com/tidev/titanium_mobile/commit/e5e3f33323e65593f69eda2fc56f750e7611ec7a)) + +### Android platform + +* add maxImages and pathOnly to openPhotoGallery ([3eda594](https://github.com/tidev/titanium_mobile/commit/3eda594e2721651a412a9557f6a05830c19efb29)) +* enable Signature Scheme v3 ([c719bcd](https://github.com/tidev/titanium_mobile/commit/c719bcd5cd061cccaefe888b8edaf7f25143f412)) +* fire `selected` event again when clicking the same Tab again ([dfb1b5c](https://github.com/tidev/titanium_mobile/commit/dfb1b5c312cbfac159fbae4d7277330dad71d6e0)) +* flatten ListView layout ([b9fd683](https://github.com/tidev/titanium_mobile/commit/b9fd68326f1dca7f7dc4eeb20e9fffa881dbce6d)) +* more log output ([694766b](https://github.com/tidev/titanium_mobile/commit/694766b63323e3fee70e64abee07841b267fdce7)) +* set targetSDK to Android 34 ([5fc81f0](https://github.com/tidev/titanium_mobile/commit/5fc81f08bdb3f9ba64d9cb4972848c8523f2d190)) +* statusBarColor for Window ([91499ef](https://github.com/tidev/titanium_mobile/commit/91499efadc6cc1c9a8fd2c82cdddf4ddd340f213)) + +### iOS platform + +* add “interactiveDismissModeEnabled” API ([1d2cdd5](https://github.com/tidev/titanium_mobile/commit/1d2cdd5ff802fcc628ab67cd1a882117b1e74c00)) + +## BREAKING CHANGES + + +## SDK Module Versions + +| Module | Android version | iOS Version | +| ----------- | --------------- | ----------- | +| facebook | 12.1.0 | 14.0.0 | +| ti.map | 5.6.1 | 7.3.1 | +| ti.webdialog | 2.3.0 | 3.0.2 | +| ti.playservices | 18.3.0 | n/a | +| ti.identity | 3.1.0 | 5.0.0 | +| urlSession | n/a | 4.0.1 | +| ti.coremotion | n/a | 4.0.1 | +| ti.applesignin | n/a | 3.1.2 | +| hyperloop | 7.0.6 | 7.0.6 | + # [12.4.0](https://github.com/tidev/titanium_mobile/compare/12_3_X...12.4.0) (2024-07-17) ## About this release From 6cc8830f874474a176cc181390e4d3c18f7b8b38 Mon Sep 17 00:00:00 2001 From: Abdullah Al-Faqeir Date: Mon, 16 Sep 2024 13:17:11 +0300 Subject: [PATCH 7/8] fix(android): ios click speed (#14115) * fix(android): ios click speed * fix(android): remove listener from touch end event --- iphone/TitaniumKit/TitaniumKit/Sources/API/TiUIView.m | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiUIView.m b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiUIView.m index f433f0bd01f..3f0331e6921 100644 --- a/iphone/TitaniumKit/TitaniumKit/Sources/API/TiUIView.m +++ b/iphone/TitaniumKit/TitaniumKit/Sources/API/TiUIView.m @@ -1312,6 +1312,7 @@ - (UITapGestureRecognizer *)singleTapRecognizer { if (singleTapRecognizer == nil) { singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(recognizedTap:)]; + [singleTapRecognizer setNumberOfTapsRequired:1]; [self configureGestureRecognizer:singleTapRecognizer]; [self addGestureRecognizer:singleTapRecognizer]; if (doubleTapRecognizer != nil) { @@ -1434,6 +1435,8 @@ - (void)recognizedTap:(UITapGestureRecognizer *)recognizer [proxy fireEvent:@"dblclick" withObject:event propagate:YES]; } [proxy fireEvent:@"doubletap" withObject:event]; + } else if ([recognizer numberOfTapsRequired] == 1 && [proxy _hasListeners:@"click"]) { + [proxy fireEvent:@"click" withObject:event propagate:YES]; } else { [proxy fireEvent:@"singletap" withObject:event]; } @@ -1609,12 +1612,7 @@ - (void)processTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event // Click handling is special; don't propagate if we have a delegate, // but DO invoke the touch delegate. // clicks should also be handled by any control the view is embedded in. - if ([touch tapCount] == 1 && [proxy _hasListeners:@"click"]) { - if (touchDelegate == nil) { - [proxy fireEvent:@"click" withObject:evt propagate:YES]; - return; - } - } else if ([touch tapCount] == 2 && [proxy _hasListeners:@"dblclick"]) { + if ([touch tapCount] == 2 && [proxy _hasListeners:@"dblclick"]) { [proxy fireEvent:@"dblclick" withObject:evt propagate:YES]; return; } From d084485ed0bd0c0bfcc84154ad543be4ccdd59cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20Kn=C3=B6chel?= Date: Mon, 16 Sep 2024 13:38:39 +0200 Subject: [PATCH 8/8] feat: update hyperloop to 7.0.7 --- support/module/packaged/modules.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support/module/packaged/modules.json b/support/module/packaged/modules.json index 2d69caef138..9c7bb9c9a84 100644 --- a/support/module/packaged/modules.json +++ b/support/module/packaged/modules.json @@ -54,8 +54,8 @@ "commonjs": {}, "hyperloop": { "hyperloop": { - "url": "https://github.com/tidev/hyperloop.next/releases/download/v7.0.6/hyperloop-7.0.6.zip", - "integrity": "sha512-ZHmm7GINiCyrjvNMn232G1Tkby6PhwsmSxPZlPNDWH4jRn6iCpjIqX1Ha12MBedma01a4hlvARLaiUQ9j3SPow==" + "url": "https://github.com/tidev/hyperloop.next/releases/download/v7.0.7/hyperloop-7.0.7.zip", + "integrity": "sha512-+CF+1G1ClJZrY4VzrZMUCX37JT/tSGvnWWUXouiAtd6WLlPPvUI+Q7ytNoTm/q/g/hPwiiV6qzV9Rgm61qsXOg==" } } }