Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Signup links and field refs drop ø, æ, ß and ł

クローズ 初心者向け
#641 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

関連するプルリクエストがすでにマージされています。

  • #671 @richshaw による — マージ済み

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
75/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
typescript
領域
backend

調査の方向性

src/lib/kebab.tsとsrc/lib/slug.test.tsの既存のケースを読み、その後、issueで言及されているslotとfieldのテストを確認してください。現在のå、ä、öの出力を維持しながら、指定された文字のカバレッジを追加してください。新しいマッピングがカバーされ、指定されたlint、typecheck、knip、testの各コマンドが成功すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug pipeline:ready pipeline:ux

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. toSlug and toFieldRef are only called to make new values (pickAvailableSlug in src/services/signups.ts, the slot ref in src/services/slots.ts, the workspace slug in src/auth/adapter.ts), so nothing re-derives a stored one.
  • No Node imports. toKebab is shared with the builder in the browser.
  • Tests pin today's outputs (src/lib/slug.test.ts and 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 test pass.

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.

主要言語
TypeScript
スター
19
フォーク
4
平均マージ
19時間 34分
マージ済み PR(30日)
165

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

richshaw/OpenSignup のほかの issue

richshaw/OpenSignup の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。