The Build tab works out a row's group in three places, and group rename uses a slightly different rule
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 62/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Start in src/components/build-wysiwyg/BuildWysiwyg.tsx beside EMPTY_GROUP_KEY, and compare partitionRows, the getGroupKey passed to useReorderable, and the row filter in handleRenameGroup. Add groupKeyOf and groupValueOf, then switch rawValue, onTransfer and handleAddSlot over, leaving the '__flat__' branch alone. Done when a test shows renaming the empty group touches exactly the rows the partition displays there, and the lint, typecheck, knip and test scripts pass.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
In src/components/build-wysiwyg/BuildWysiwyg.tsx, the rule "a row with no value for the group field belongs to EMPTY_GROUP_KEY" is written out three times, and its inverse ("EMPTY_GROUP_KEY means the value ''") three more:
- Value to key:
partitionRows(which groups are shown),getGroupKeypassed touseReorderable(dragging between groups), and the row filter inhandleRenameGroup. - Key to value:
partitionRows'rawValue,onTransfer, and the seeding inhandleAddSlot.
The rename filter is written differently from the other two, and is not quite the same rule: a row whose value is literally the text __empty__ is shown in the empty group, but renaming the empty group skips it. Nobody will realistically type that, but it is the drift the copies invite.
Fix, in outline
- Add two module-level helpers next to
EMPTY_GROUP_KEY:groupKeyOf(row, ref)andgroupValueOf(key). - Use them at all six places; the rename filter becomes
groupKeyOf(r, ref) === oldKey.
Watch for
- Keep
'__flat__'handling inhandleAddSlotas it is. - Roughly line-neutral: the gain is one rule, not fewer lines.
Done when
- The empty-group rule is written once in each direction.
- A test pins that renaming the empty group picks exactly the rows the partition shows in it.
pnpm lint && pnpm format:check && pnpm typecheck && pnpm knip && pnpm testpass.
Found by the pipeline's refactor scout in the Build tab (src/components/build-wysiwyg), at 167b4a4. Checked by an independent verify agent, which quoted every copy and found the one input where the rename rule differs. https://claude.ai/code/session_016YZ9SUFioou8ZnL5ZvR43M
Held back by the scout's cap. Add pipeline:ready to queue it.
- Lenguaje dominante
- TypeScript
- Estrellas
- 19
- Forks
- 4
- Merge medio
- 21 h 42 min
- PR fusionados (30 d)
- 200
Preparar el entorno
- Incluye un Dockerfile o un 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 richshaw/OpenSignup
-
The cookies table is cut off on a phone, hiding how long each cookie lastsPosiblemente ocupada @richshaw la tomó hace 3 días. Abiertobug pipeline:building pipeline:ux
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
richshaw/OpenSignup#749 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
A New signup description with line breaks can pass the form, then be refused as too longPosiblemente ocupada @richshaw la tomó hace 4 días. Abiertobug pipeline:building pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
richshaw/OpenSignup#722 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
richshaw/OpenSignup#654 ·
Los mantenedores suelen responder en 1 día
-
A failed "Turn reminders back on" reloads the page with no errorPosiblemente ocupada @ShahadatTest la tomó hoy. Abiertobug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
richshaw/OpenSignup#785 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
The Build tab lets a list get a 21st item or one over 60 characters, then rolls it back with a cryptic errorPosiblemente ocupada @richshaw la tomó hoy. Abiertobug pipeline:building pipeline:ux
richshaw/OpenSignup#784 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de richshaw/OpenSignup
Issues similares
-
apps/stage-web bug env/os-linux pending triage scope/audio-output
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
reproduced
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anomalyco/opencode#61640 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
scope: data grid status: waiting for maintainer
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
mui/mui-x#24090 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
ai-driven-fuzzing bug Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
ai-driven-fuzzing bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
linagora/twake-calendar-frontend#1944 ·
Los mantenedores suelen responder en 1 día