Signup links and field refs drop ø, æ, ß and ł
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #671 de @richshaw — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- backend
Línea de trabajo
Lee src/lib/kebab.ts y los casos existentes en src/lib/slug.test.ts; después, revisa las pruebas de slot y field mencionadas en el issue. Añade cobertura para las letras indicadas y conserva las salidas actuales para å, ä y ö. La tarea estará terminada cuando las nuevas correspondencias estén cubiertas y se ejecuten correctamente los comandos indicados de lint, typecheck, knip y test.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Needs your OK: this changes how the web addresses of new signups, and the refs of new fields and slots, are made from text with these letters. Existing links don't change. Swap pipeline:proposed for pipeline:ready to have it built.
What happens
toKebab in src/lib/kebab.ts turns text into the kebab-case behind signup slugs, workspace slugs, slot refs and field refs. It strips accents with NFKD, which works for å, ä, ö, é and ü, but some letters don't decompose and are dropped or split the word:
- "Smørrebrød" →
sm-rrebr-d - "Æblekage" →
blekage - "Straße" →
stra-e - "Łódź" →
odz
So Danish, Norwegian, German and Polish titles get broken-looking links. Non-Latin titles (Cyrillic, Greek, Chinese) come out empty and fall back to signup, field or slot, which is fine for now.
Fix, in outline
- Map the letters that don't decompose, before NFKD: ø→o, æ→ae, œ→oe, ß→ss, ł→l, đ→d, þ→th, ð→d, in upper and lower case.
- Leave non-Latin scripts on the fallback.
Watch for
- Existing slugs and refs never change.
toSlugandtoFieldRefare only called to make new values (pickAvailableSluginsrc/services/signups.ts, the slot ref insrc/services/slots.ts, the workspace slug insrc/auth/adapter.ts), so nothing re-derives a stored one. - No Node imports.
toKebabis shared with the builder in the browser. - Tests pin today's outputs (
src/lib/slug.test.tsand the slot-field tests).
Order
None. This can be built any time; it should land before Danish or Norwegian ship.
Done when
- Unit tests cover each mapped letter, and å, ä and ö come out as before.
pnpm lint && pnpm typecheck && pnpm knip && pnpm testpass.
Planned with the owner in https://claude.ai/code/session_01EFKmj716ZY3b3SwR8TV8Y2 and checked against the code on main at 35288fa. The full plan is private to the owner's account: https://claude.ai/artifact/VgQH6U2s2EVx3LX991fJi8 (a Claude session on that account can open it with the Artifact tool's read action). It's in phase 4 there.
- Lenguaje dominante
- TypeScript
- Estrellas
- 19
- Forks
- 4
- Merge medio
- 21 h 3 min
- PR fusionados (30 d)
- 176
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
-
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
-
The help pages never say "pause", so organizers looking for it miss Close or reopen a signupPosiblemente ocupada @richshaw la tomó hace 1 día. Abiertoenhancement pipeline:building pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
richshaw/OpenSignup#653 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
richshaw/OpenSignup#652 ·
Los mantenedores suelen responder en 1 día
-
SMTP timeout notes in smtp.ts and the changelog describe nodemailer 10.0, not 10.1Posiblemente ocupada @agammann la tomó hace 2 días. Abiertoenhancement good first issue pipeline:ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
richshaw/OpenSignup#645 ·
Los mantenedores suelen responder en 1 día
-
enhancement pipeline:proposed pipeline:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
richshaw/OpenSignup#589 ·
Los mantenedores suelen responder en 1 día
Todos los issues de richshaw/OpenSignup
Issues similares
-
[Bug]: Pen taps on sidebar rows start a drag and lose their clickPosiblemente ocupada @makhnatkin la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
b310-digital/teammapper#1515 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
puckeditor/puck#1884 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
outline/outline#14378 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nicobailon/pi-web-access#642 ·
Los mantenedores suelen responder en 1 día