T11 - client automatic era detection
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- scala
- Área
- api, networking
Línea de trabajo
Comienza con T10 (issue 248) y sigue el flujo server/discover del cliente a través de HTTP y stdio, incluidos los clientes síncronos y de streaming, y las implementaciones de ZIO, Ox y Pekko. Usa la matriz de compatibilidad para organizar la cobertura de unit tests y, después, ejecuta los tests de integración legacy existentes de everything-server con la política predeterminada. El trabajo incluye el comportamiento de detección requerido, los errores de versión, la cobertura de compatibilidad y las actualizaciones de docs/client/protocol.md.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Target branch: 2026-07-28-protocol-support
Requires:
A chimp client with no pinned protocol version works against 2026-07-28 servers and 2025-xx servers without configuration. Users who upgrade chimp and talk to a legacy server see no change.
Policy
- The client has a version policy, automatic detection is the default. A fixed version, as today, is still available and skips detection.
- With a fixed stateless version the client behaves as in T10. With a fixed legacy version it behaves as today.
Detection
- Over HTTP the first request is
server/discover. A discover result, or a recognised 2026-07-28 error such as-32022, means the server is modern. Any other outcome, including a 400, 404 or 405 whose body is not a recognised modern error, means the server is legacy. - Over stdio the first request is
server/discoveras well. A timeout also means legacy. - The decision never depends on one specific error code.
- After a modern decision the client uses the stateless wire and negotiates the version on
-32022as in T10. After a legacy decision the client sendsinitializewith the highest legacy version chimp supports. - The decision is made once per client and reused for its lifetime.
Errors
- A modern server that shares no version with chimp fails the client with an error that names both version lists.
- A legacy server that rejects
initializefails the client as it does today.
Coverage
- The rules above hold for the sync and streaming clients, over HTTP and stdio, on ZIO, Ox and Pekko.
- The existing integration tests against the legacy everything server pass with the default policy and no other change.
- Unit tests cover every row of the spec compatibility matrix that involves a chimp client: modern, legacy and dual-era client against modern and legacy servers.
Spec:
- Versioning - Backward Compatibility
- Versioning - Compatibility Matrix
- stdio - Backward Compatibility
- Streamable HTTP - Backward Compatibility
Conformance scenarios that must pass after this task: none new.
Docs: yes.
docs/client/protocol.md: the detection rules, what the client sends first, and how to pin a version.
- Lenguaje dominante
- Scala
- Estrellas
- 102
- Forks
- 10
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 13
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 softwaremill/chimp
-
tier:2 SDK
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
softwaremill/chimp#145 ·
-
2026-07-28 version support
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
softwaremill/chimp#255 ·
-
2026-07-28 version support
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
softwaremill/chimp#254 ·
-
2026-07-28 version support
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
softwaremill/chimp#253 ·
-
2026-07-28 version support
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
softwaremill/chimp#252 ·
Todos los issues de softwaremill/chimp
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
typelevel/sbt-typelevel#929 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
apache/pekko-projection#635 ·
-
RS_PixelAsPoint raises out of grid where RS_PixelAsCentroid and RS_PixelAsPolygon extrapolate Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Area: Excel support
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
orbeon/orbeon-forms#7893 ·
-
x:action/fix x:module/practice-exercise x:size/small
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100