[Bug]: Polyscope API reporting 0 repositories
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 44/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- api, backend-api-design
Línea de trabajo
Empieza rastreando GET /api/v1/repositories y compara sus resultados con GET /api/v1/servers y con el estado de registro del relay descrito en los logs. Reproduce las respuestas intermitentes vacías, parciales y completas usando los IDs de repositorio indicados; la tarea estará completada cuando el endpoint devuelva de forma consistente todos los repositorios registrados para la cuenta autenticada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Platform
macOS
Operating system version
Mac OS Tahoe 26.3
System architecture
ARM64 (M1, M2, etc)
PolyScope Version
0.17.0
Bug description
Authenticated calls to GET /api/v1/repositories return an empty list for my account, but the local Polyscope server (desktop app) has six repositories registered for that same account. They show up in the UI, and the local server logs show worktree.list requests for each of them at startup.
The behaviour is intermittent. Sometimes /repositories returns the expected list, sometimes it returns {"data": []} with no change on my side. Same token, same account, same local server running. Earlier the same day I successfully POSTed workspaces against IDs returned by this endpoint, so it was working; a few hours later it started returning empty and stayed empty for a stretch; then it returned a partial list (just 1 of 6 repos); then empty again. No API-side mutations from me between the state changes.
Auth isn't the issue. GET /api/v1/servers with the same token consistently returns both of my connected servers as online: true, including the Mac server whose local log lists the six repo IDs. I also regenerated the token in the UI and the intermittent behaviour is identical with the new token.
Impact: any API client that has to discover a repo by listing first is unreliable. Hard-coded repo IDs still work for POST /api/v1/workspaces when they're remembered from a previous successful list call, but fresh setups hit a coin flip on whether the API will return anything.
The six repo IDs the local server tracks (and which /repositories should be returning):
7e7c4fd4, 8a23f2e1, 58dc1e37, b8f1a2ac, 813d41ae, 08a13118
Steps to reproduce
- Have a Polyscope account with at least one repo registered (visible in the UI, desktop app running and connected to the relay).
- Generate or regenerate an API token from the Polyscope UI for that account.
- Hit the endpoint:
curl -H "Authorization: Bearer $TOKEN" https://getpolyscope.com/api/v1/repositories - Response is
{"data": []}. - Sanity check the same token against a different endpoint:
curl -H "Authorization: Bearer $TOKEN" https://getpolyscope.com/api/v1/servers
This returns the account's servers correctly, including online status. So the token and auth layer are fine.
Additional checks that didn't change the outcome:
?all=true,?status=all,?state=all,?include=disconnected,?include_unregistered=trueall returned{"data": []}./api/v1/servers/<server_id>/repositoriesreturns 404.- Regenerated the token, same result.
/api/v1/workspacesalso returns{"data": []}for this account, probably correct but worth noting for consistency.
Rough timeline on the same day (2026-04-22):
- Around 00:50 local:
/repositoriesreturned 2 repos. - Around 10:00 local: returned 1 repo.
- From about 11:30 local onward: returns 0.
No deletions were made through the API between those checks.
Relevant log output
[electron] Starting prod server: /Applications/Polyscope.app/Contents/Resources/polyscope-server
[server] [relay-client] Connecting to relay at wss://relay-edge.getpolyscope.com...
[server] [polyscope] Server running on ws://0.0.0.0:4321/ws
[server] [polyscope] REST API: http://0.0.0.0:4321/api
[server] [polyscope] WS upgrade request from 127.0.0.1 localhost: true
[server] [polyscope] Client connected
[server] [ws] received: repo.list {"type":"repo.list"}
[server] [polyscope] Hydrated auth user from stored token
[server] [ws] received: auth.set {"type":"auth.set","user":{"id":<REDACTED>,"name":"<REDACTED>","email":"<REDACTED>","avatar":"<REDACTED>","subscribed":true,"on_trial":false,"expose_token":"<REDACTED>
[server] [ws] broadcast: auth.status {"type":"auth.status","user":{"id":<REDACTED>,"name":"<REDACTED>","email":"<REDACTED>","avatar":"<REDACTED>
[server] [ws] received: worktree.list {"type":"worktree.list","repoId":"7e7c4fd4"}
[server] [ws] received: repo.detect_integrations {"type":"repo.detect_integrations","repoId":"7e7c4fd4"}
[server] [ws] received: worktree.list {"type":"worktree.list","repoId":"8a23f2e1"}
[server] [ws] received: repo.detect_integrations {"type":"repo.detect_integrations","repoId":"8a23f2e1"}
[server] [ws] received: worktree.list {"type":"worktree.list","repoId":"58dc1e37"}
[server] [ws] received: repo.detect_integrations {"type":"repo.detect_integrations","repoId":"58dc1e37"}
[server] [ws] received: worktree.list {"type":"worktree.list","repoId":"b8f1a2ac"}
[server] [ws] received: repo.detect_integrations {"type":"repo.detect_integrations","repoId":"b8f1a2ac"}
[server] [ws] received: worktree.list {"type":"worktree.list","repoId":"813d41ae"}
[server] [ws] received: repo.detect_integrations {"type":"repo.detect_integrations","repoId":"813d41ae"}
[server] [ws] received: worktree.list {"type":"worktree.list","repoId":"08a13118"}
[server] [ws] received: repo.detect_integrations {"type":"repo.detect_integrations","repoId":"08a13118"}
[server] [relay-client] Connected to relay
[server] [relay-client] Registered as server 46b12b9c-30b
Meanwhile, same token, same moment, cloud REST API:
$ curl -H "Authorization: Bearer $POLYSCOPE_TOKEN" https://getpolyscope.com/api/v1/repositories
{"data":[]}
$ curl -H "Authorization: Bearer $POLYSCOPE_TOKEN" https://getpolyscope.com/api/v1/servers
{"data":[
{"id":"46b12b9c-30b","online":true,"platform":"darwin","version":"0.17.0","name":"<REDACTED>"},
{"id":"a574620f-013","online":true,"platform":"linux","version":"0.17.0","name":"<REDACTED>"}
]}
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 20
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de beyondcode/polyscope-community
-
[Bug]: Remote branch selection uses an unresolved local branch name when creating a workspaceAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
[Bug]: Large workspace causes permanent server reconnect loop when a remote client subscribesAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
beyondcode/polyscope-community#198 · 1 comentario · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Todos los issues de beyondcode/polyscope-community
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
run-llama/llama_index#23278 ·
Los mantenedores suelen responder en 2 días
-
from-review-extraction priority: low python severity:nit
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
LearningCircuit/local-deep-research#6944 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
iMicknl/python-overkiz-api#2263 ·
Los mantenedores suelen responder en 7 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
meshery/meshery#22119 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
sgl-project/sglang#41482 ·
Los mantenedores suelen responder en 1 día