ionic-team / ionic-team/ionic-framework

bug: item-sliding animation jumps when using multi touch

オープン
#29,085 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
package: core type: bug
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。