NativeScript / angular

NativeScript for Angular
https://docs.nativescript.org/tutorials/build-a-master-detail-app-with-angular
40 stars 12 forks source link

[ios sim only]: iOS 16.4 simulator textChange behavior note #110

Open cjohn001 opened 1 year ago

cjohn001 commented 1 year ago

Update: I think the source of the problem is https://github.com/NativeScript/NativeScript/issues/10267. This bug should be reopened.

The issue is similar to the closed bug

https://github.com/NativeScript/angular/issues/22

When changing a value in a text field bound to a FormGroup/FormControl the FormControl is not updated with the new value but the previous value. Hence input validation does not work.

Unfortunately the workaround described in the previous issue does not work.

I just found out that the problem seems to only appear on the ios simulator, not on real devices and not on Android at all.

Environment

OS: macOS 13.2.1
CPU: (10) arm64 Apple M1 Pro
Shell: /bin/zsh
node: 18.12.1
npm: 8.19.2
nativescript: 8.5.1

# android
java: 11.0.18
ndk: Not Found
apis: Not Found
build_tools: Not Found
system_images: Not Found

# ios
xcode: 14.3/14E222b
cocoapods: 1.12.0
python: 3.11.2
python3: 3.11.2
ruby: 2.7.7
platforms: 
  - DriverKit 22.4
  - iOS 16.4
  - macOS 13.3
  - tvOS 16.4
  - watchOS 9.4

Dependencies

"dependencies": {
  "@angular/animations": "15.2.5",
  "@angular/common": "15.2.5",
  "@angular/compiler": "15.2.5",
  "@angular/core": "15.2.5",
  "@angular/forms": "15.2.5",
  "@angular/platform-browser": "15.2.5",
  "@angular/platform-browser-dynamic": "15.2.5",
  "@angular/router": "15.2.5",
  "@apollo/client": "3.7.11",
  "@mnd/external-web-view": "file:../mnd-plugins/dist/packages/external-web-view/mnd-external-web-view-1.0.0.tgz",
  "@nativescript/angular": "15.2.0",
  "@nativescript/core": "8.5.0",
  "@nativescript/iqkeyboardmanager": "2.1.1",
  "@nativescript/localize": "5.0.4",
  "@nativescript/mlkit-barcode-scanning": "2.0.0",
  "@nativescript/mlkit-core": "2.0.0",
  "@nativescript/secure-storage": "3.0.0",
  "@nativescript/theme": "3.0.2",
  "@nativescript/ui-charts": "0.2.4",
  "apollo-angular": "4.2.1",
  "apollo3-cache-persist": "0.14.1",
  "d3-ease": "3.0.1",
  "graphql": "16.6.0",
  "graphql-tag": "2.12.6",
  "intl": "1.2.5",
  "moment": "2.29.4",
  "nativescript-health-data": "file:../mnd-custom-plugins/nativescript-health-data/publish/package/nativescript-health-data-2.0.0.tgz",
  "nativescript-oauth2-ext": "file:../mnd-custom-plugins/nativescript-oauth2-ext/publish/package/nativescript-oauth2-ext-3.0.1.tgz",
  "nativescript-sqlite": "2.8.6",
  "nativescript-ui-calendar": "15.2.3",
  "nativescript-ui-gauge": "15.2.3",
  "rxjs": "7.8.0",
  "uuid": "9.0.0",
  "zone.js": "0.13.0"
},
"devDependencies": {
  "@angular-devkit/build-angular": "15.2.4",
  "@angular/compiler-cli": "15.2.5",
  "@graphql-codegen/cli": "3.2.2",
  "@graphql-codegen/fragment-matcher": "4.0.1",
  "@graphql-codegen/introspection": "3.0.1",
  "@graphql-codegen/typescript": "3.0.2",
  "@graphql-codegen/typescript-apollo-angular": "3.5.6",
  "@graphql-codegen/typescript-operations": "3.0.2",
  "@nativescript/android": "8.5.0",
  "@nativescript/ios": "8.5.1",
  "@nativescript/types": "8.5.0",
  "@nativescript/webpack": "5.0.14",
  "@ngtools/webpack": "15.2.4",
  "@types/d3-ease": "3.0.0",
  "@types/intl": "1.2.0",
  "@types/node": "18.15.11",
  "@types/uuid": "9.0.1",
  "keycloak-request-token": "0.1.0",
  "rimraf": "4.4.1",
  "sass": "1.60.0",
  "ts-node": "10.9.1",
  "typescript": "4.9.5"
}
NathanWalker commented 1 year ago

Appears to be completely isolated to iOS issue alone: https://developer.apple.com/forums/thread/727715 Can confirm that delegate method is indeed called twice (not {N} related) - just as described there (only under certain circumstances). At moment, this stands at a iOS sim only issue using that specific version as mentioned in that forum.