ionic-team / ionic-team/ionic-framework
bug: item-sliding animation jumps when using multi touch
- 主要言語
- TypeScript
- スター
- 52.7k
- フォーク
- 13.3k
- 平均マージ
- 1日 15時間
- マージ済み PR(30日)
- 51
説明
### Prerequisites
- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.
### Ionic Framework Version
v7.x
### Current Behavior
When multiple fingers are on the screen and move around, the `ion-item-sliding` tries to listen to both touches. This causes glitchy behavior.
I found this out while testing certain [iOS accessibility features](https://support.apple.com/guide/iphone/zoom-in-iph3e2e367e/ios) (3-finger zoom), discovering that `ion-item-sliding` can conflict with that.
### Expected Behavior
`ion-item-sliding` should only activate if there is one finger on the screen.
This is how the iOS Mail app works - the sliding items only activates when there is one finger on the screen. This prevents conflict with other gestures.
Additionally, if the native sliding item is already activated and another finger is placed on the screen, it does not glitch.
### Steps to Reproduce
1. Place two or more fingers on any `ion-item-sliding`.
2. Try moving them around.
3. Observe glitches
### Code Reproduction URL
https://github.com/aeharding/sliding-multi
### Ionic Info
Ionic:
Ionic CLI : 7.1.1 (/Users/aeharding/.nvm/versions/node/v20.8.1/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/react 7.7.3
Capacitor:
Capacitor CLI : 5.7.0
@capacitor/android : 5.7.0
@capacitor/core : 5.7.0
@capacitor/ios : 5.7.0
Utility:
cordova-res : not installed globally
native-run : not installed globally
System:
NodeJS : v20.8.1 (/Users/aeharding/.nvm/versions/node/v20.8.1/bin/node)
npm : 10.1.0
OS : macOS Unknown
### Additional Information
This may be related to #21136.
https://github.com/ionic-team/ionic-framework/assets/2166114/0a4a54e1-2223-4191-b4fa-d1f2361b4a18
コントリビューションガイド
調査の方向性
Start with the ion-item-sliding component and reproduce the issue using the linked sliding-multi example with two or more fingers. Trace how touch input is handled while sliding is inactive and already active. Done means single-finger sliding remains functional, multi-touch does not cause jumps, and the reported reproduction no longer glitches.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- frontend, mobile
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100