Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

sourceRef.current in useMemo may produce stale matchedTemplate

Ouverte
#36 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
typescript
Domaine
frontend

Piste de recherche

Start in apps/app/src/components/generative-ui/save-template-overlay.tsx and inspect the matchedTemplate useMemo, its dependency array, and how sourceRef.current is set in the apply flow. Choose a reactive source-template representation, then verify that the matched template badge updates when the source ref changes after the last html or templates change.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug

Problem

In save-template-overlay.tsx, the matchedTemplate useMemo reads sourceRef.current to find the source template from the apply flow. However, React refs don't trigger re-renders when they change, so the memo's dependency array ([html, agent.state?.templates]) won't capture changes to sourceRef.current.

In practice this works because html or templates changes trigger recomputation, but it's technically not guaranteed — if the ref is set after the last html/templates change, the matched template badge could show stale data.

Suggested fix

Either:

  • Store the source template info in state instead of a ref (triggers re-render on change)
  • Add the source ID as an explicit dependency by extracting it to a state variable

Files

  • apps/app/src/components/generative-ui/save-template-overlay.tsx

From PR #20 review

Langage dominant
TypeScript
Étoiles
1.6k
Forks
205
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de CopilotKit/OpenGenerativeUI

Toutes les issues de CopilotKit/OpenGenerativeUI

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.