Stackflow transition breaks when activity suspends longer than transitionDuration
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- react, typescript
- Domaine
- frontend
Piste de recherche
Commencez par suivre l’état de transition et le flux d’abonnement entre @stackflow/core et @stackflow/react, en utilisant comme contexte la séquence de cet issue et l’issue associé #434. Définissez comment l’état pending et l’action post-render doivent interagir avec les Activities suspendues. Le travail est considéré comme terminé lorsque le rendu initial ne peut pas ignorer la transition d’entrée lorsque la suspension dure plus longtemps que transitionDuration, et que le comportement est couvert par les tests existants pertinents.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Currently, Stackflow activities' enter transition is only expressed with enter-active and enter-done. However, this doesn't work well with frameworks that do concurrent rendering because the core state update happens regardless of whether activities render synchronously or suspend during render. This results in something like this:
sequenceDiagram
participant Core as @stackflow/core
participant Integration as Integration (@stackflow/react)
participant View
View->>Core: push()
activate Core
note left of Core: Transition
Core->>Integration: notify on subscribe() listener
Integration->>Core: getStack()
Core->>Integration: State with `enter-active`
Integration->>View: Render new activity with `enter-active`
activate View
note right of View: Suspend
Core->>Integration: notify on subscribe() listener
deactivate Core
Integration->>Core: getStack()
Core->>Integration: State with `enter-done`
Integration->>View: Rerender with `enter-done`
deactivate View
note right of View: Initial render with `enter-done`
As described above, if the view suspends longer than the core transition, the initial render of the view is done with enter-done state, resulting in broken CSS transitions.
To mitigate this, the core transition should be started after confirming that the initial view was rendered. These are the required parts to implement the feature:
- Add a new transition state to express activities that didn't complete the initial render. (
enter-pending?) - Add a new action that notifies the core after completing the initial render. (no idea about naming 🥲)
I'm willing to implement the feature after the direction is fixed.
Related: #434
- Langage dominant
- TypeScript
- Étoiles
- 1k
- Forks
- 114
- Merge moyen
- 59 min
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de daangn/stackflow
-
스와이프 백 애니메이션 덜컥임 이슈Peut-être à nouveau libre @Shennng l’a pris il y a 222 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
-
Vue3 지원 계획Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
다른 호스트로 이동해야할 때 처리에 관하여Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 18/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
Toutes les issues de daangn/stackflow
Issues similaires
-
`cf complete zsh >> .zshrc` fails on vanilla zshPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
cloudflare/cf#340 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Rename Madson cameraOuverte
Difficulté 2/5 Moins d'une heure Accessibilité débutants 75/100
StoDevX/AAO-React-Native#8785 ·
Les mainteneurs répondent en général sous 1 jour
-
Broken links in the docsOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commitPeut-être pris @myOmikron l’a pris aujourd’hui. Ouvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100