Inlined assets with fractional scales resolve to the wrong variant
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- react-native, typescript, webpack
- Área
- build-system
Línea de trabajo
Read the Re.Pack assets loader's inlineAssets path and its call to AssetSourceResolver.pickScale. The report identifies the unsorted scale list and gives reproductions at pixel ratios 3.5 and 1.5; confirm the expected variant against those cases. Done means fractional and integer scale variants resolve correctly. Pull request #1505 is already open for this issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
With inline: true in the assets loader, an image that has a fractional scale variant (@0.75x or @1.5x) resolves to the wrong scale at runtime.
inlineAssets passes Object.keys(sourceSet).map(Number) to AssetSourceResolver.pickScale. Integer-like object keys are listed before other keys, so [0.75, 1, 1.5, 2, 3] becomes [1, 2, 3, 0.75, 1.5]. pickScale expects an ascending list ("Packager guarantees that scales array is sorted").
Reproduction
- Add
[email protected],[email protected],[email protected]and[email protected]. - Enable
inline: truefor the Re.Pack assets loader and renderrequire('./star.png'). - Run on an Android device with a pixel ratio of 3.5.
Expected: the @3x image. Actual: the @1.5x image. A pixel ratio of 1.5 gets @2x instead of @1.5x.
Environment
@callstack/repack main (5.4.2), any React Native version.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.9k
- Forks
- 177
- Merge medio
- 2 d 10 h
- PR fusionados (30 d)
- 23
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 callstack/repack
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
callstack/repack#1515 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
status:new type:feature
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
Los mantenedores suelen responder en 2 días
-
ScriptManager caches the rejected promise when a resolver throws, so loadScript/prefetchScript never retryPosiblemente ocupada @linhh-phv la tomó hace 14 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
Los mantenedores suelen responder en 2 días
-
json as string in JS bundlePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
callstack/repack#1461 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
area:repack type:feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
callstack/repack#1423 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de callstack/repack
Issues similares
-
Add: Yichang TVAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
vtselect: data race in Tempo search tags APIs for invalid TraceQL queriesPosiblemente ocupada @Shubham19032004 la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
VictoriaMetrics/VictoriaTraces#304 ·
Los mantenedores suelen responder en 1 día
-
test: claim-conflict drop leaves both facts active and is never re-proposed (untested review cell)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/vscode-pull-request-github#9159 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: Usage page should show API-equivalent cost and say when a connected plan shows info onlyAbiertoenhancement from-x
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
nightly-labs/openbot#4867 ·
Los mantenedores suelen responder en 1 día