CLI: Avoid repeated failed region discovery during pagination
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 57/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- node.js, typescript
- Domaine
- backend-api-design, cli
Piste de recherche
Read packages/cli/src/lib/api/projects.ts around listProjects() and packages/cli/src/lib/api/infrastructure.ts around resolveOrgBaseUrl(); inspect the corresponding pagination logic in listMonitors(). Reproduce the 403 discovery response followed by two successful project pages using the fixture HTTP responses and temporary SQLite/cache state described in the issue. Done when the operation makes three requests, returns both pages with unchanged cursors, and preserves the listed cache, retry, account, and authentication behaviors.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Follow-up to #1979 (merged November 7). Reproduced on main at 6aa29057e5b307679c33ac885d42895a51868943 with published @sentry/[email protected].
Reproduction
With a stored account and no cached region, call listProjects("example-org"). Return 403 for organization discovery, then two successful project pages connected by a Link cursor:
GET /api/0/organizations/example-org/ -> 403
GET /api/0/organizations/example-org/projects/ -> page 1
GET /api/0/organizations/example-org/ -> 403 (repeated)
GET /api/0/organizations/example-org/projects/?cursor=… -> page 2
Before #1979: 1 discovery + 2 pages = 3 requests. Current main: 2 discoveries + 2 pages = 4 requests, with identical returned projects. For N successful pages under this failure condition, the count changes from N + 1 to 2N.
Cause and scope
listProjects() shares its config, but resolveOrgBaseUrl() now invokes region resolution for every page. Failed discovery returns a non-cacheable fallback, so the next page repeats discovery. Previously this operation resolved once before pagination. listMonitors() has the same structure; not every pagination helper acquired this behavior in #1979.
Acceptance criteria
- Retain the resolved destination/fallback for the logical pagination operation: the reproduction makes 3 requests and returns both pages with unchanged cursors.
- Preserve successful discovery, existing warm caches, explicit host/account selection, and authentication-error behavior.
- A later independent operation can retry failed discovery; isolate decisions by organization, credentials, and deployment.
- Fix in the CLI using the existing resolver/cache infrastructure. Do not persist failed discovery indefinitely or introduce a second SDK locality cache.
Validation used unmodified CLI modules, real temporary SQLite/cache state and fixture HTTP responses; no production traffic or latency measurements. This can ship as an independent CLI fix before SDK metadata-routing adoption.
- Langage dominant
- TypeScript
- Étoiles
- 961
- Forks
- 179
- Merge moyen
- 15 h 33 min
- PR mergées (30 j)
- 476
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 getsentry/toolkit
-
MCP mcp-feedback-pattern
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
getsentry/toolkit#2276 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
CLI enhancement MCP
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
getsentry/toolkit#1908 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
getsentry/toolkit#1471 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
get_sentry_resource gives no guidance for Explore > Errors list URLsPeut-être pris @sentry-junior l’a pris aujourd’hui. OuverteMCP mcp-feedback-pattern
Difficulté 2/5 1-3 heures Accessibilité débutants 32/100
getsentry/toolkit#2278 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
getsentry/toolkit#2275 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de getsentry/toolkit
Issues similaires
-
[BUG]: Duplicate preposition in heading and unformatted feedback text on Strengthen Argument pageOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AOSSIE-Org/DebateAI#801 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
ci: repo has no GitHub Actions workflow, so pushes and pull requests are never built or testedOuverteagents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Add: BOM CineOuverteapproved check:passed streams:add
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour