TanStack / TanStack/tanstack.com
Keep dependency updates compatible with the OpenAI continuation patch
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 1.1k
- Forks
- 401
- Merge moyen
- 18 h 14 min
- PR mergées (30 j)
- 56
Description
Evidence
The scheduled Update TanStack Dependencies run failed before lint or build on August 30. The exact pnpm up "@tanstack/*" --latest step exits with ERR_PNPM_UNUSED_PATCH because it moves @tanstack/openai-base away from the patched 0.10.5 version.
I reproduced the same failure from current main at 6584b153. In an isolated worktree, allowing unused patches let the update finish and changed @tanstack/ai-openai from 0.22.0 to 0.22.3, with @tanstack/openai-base moving from patched 0.10.5 to unpatched 0.10.8. The focused tests/openai-responses-tool-continuation.test.ts test then failed because the second request had no previous_response_id. The current patch is still required for sequential server-tool turns with provider-side reasoning.
Exact title, body, workflow, patch-package, and keyword searches found no open issue or PR that owns this failure.
Expected impact
The weekly dependency updater is currently guaranteed to fail whenever it tries the latest TanStack AI family. It never reaches the repository lint or build steps, so unrelated TanStack dependency updates also stop. Simply setting allowUnusedPatches or deleting the patch would make the workflow advance while regressing the Builder tool-continuation contract.
Proposed direction
Keep the focused continuation test as the release gate, then choose one owner for the patched AI family:
- Preferred long-term direction: ship the continuation behavior upstream, update the AI packages to the first release containing it, prove the focused test passes without the local patch, and delete the patch.
- Until that release exists: upgrade the pinned pnpm from
11.1.0to a version that supportsupdate.ignoreDepsand exclude the cohesive TanStack AI package set from the scheduled bulk updater. Upgrade that set separately, carrying the patch forward only after its focused test and the full suite pass.
Alternatives and tradeoffs
- Manually port the 321-line patch to every new
openai-baserelease. This keeps AI packages moving, but each port needs careful review against upstream adapter changes and should not be committed straight tomainby a broad scheduled update. - Let
pnpm upignore unused patches. This unblocks the job but silently removes required runtime behavior, and the isolated focused test already proves the regression. - Exclude only
@tanstack/ai-openai. This may still let related direct or transitive AI packages move out of a tested version set, so excluding and reviewing the cohesive AI family is safer.
Decision needed
@tannerlinsley, should we first upgrade pnpm and hold the TanStack AI family out of the weekly bulk updater, or prioritize landing the continuation behavior upstream and keep the weekly job blocked until a release contains it?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
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.
Piste de recherche
Commencez par reproduire l'étape planifiée pnpm up "@tanstack/*" --latest et exécutez tests/openai-responses-tool-continuation.test.ts avec le patch de dépendances actuel. Examinez le workflow de l'updater, la configuration de pnpm et la gestion du patch décrits dans l'issue. C'est terminé lorsque la famille TanStack AI peut être mise à jour sans régression du comportement de continuation et que le workflow atteint lint et build.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- github-actions, typescript
- Domaine
- ci-cd, devops, testing-qa
- Type d'issue
- Bug
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100