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

Onboarding at events: translate /onboard, use "community" wording, and handle failed invite lookups

オープン
#653 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
react, typescript

調査の方向性

Read plugins/auth/ui/src/routes/_public/onboard.tsx, then inspect plugins/auth/ui/src/i18n/catalogs.ts and plugins/auth/ui/src/i18n/runtime.tsx; the issue points to a reference implementation and test file on the linked branch. Port the translations, community wording, lookup retry and join failure panels, and relevant Vitest coverage. Done means the stated acceptance criteria pass for English, Spanish, French, and Chinese.

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

説明

Ported from NEARBuilders/citynode.app#386 (open), where this was fully implemented in PR NEARBuilders/citynode.app#389 before the local auth-ui plugin was removed in favor of this repo's published auth plugin.

The reference implementation (diffs, tests, i18n keys) is preserved on that PR branch: fix/386-onboard-i18n-lookup-errors — files originally lived under plugins/auth-ui/src/ here (now plugins/auth/ui/src/).

Problem

plugins/auth/ui/src/routes/_public/onboard.tsx — the /onboard?code= page used at events — has gaps for new community members:

  1. English only. All strings are hardcoded. The auth.onboard.* translation keys do not exist in this repo yet (citynode's old plugins/auth-ui/src/i18n/messages/auth.ts had full en/es/fr/zh coverage; this repo's plugins/auth/ui/src/i18n/catalogs.ts has no onboard keys).
  2. Wrong wording. The page says "organization" instead of "community" ("Join the organization", "Could not join this organization").
  3. Stuck loading. If the invite-code lookup fails (network error, 429, 5xx), the page shows "Loading invitation…" forever — no error state, no retry. A failed join ends on a panel whose only action is "Explore communities".

Proposed fix (mirroring the reference implementation)

  • Add auth.onboard.* keys to the i18n catalogs (en/es/fr/zh) and render the onboard page (and its sign-up / display-name steps) through the login i18n runtime (LoginI18nProvider + useLoginTranslation in plugins/auth/ui/src/i18n/runtime.tsx).
  • Replace "organization" with "community" everywhere in the flow.
  • Map lookup/join failures to distinct status panels with reasons and next steps: lookup error → Retry (not an endless spinner); join failures → communityNotOpen, communityFull, codeRevoked, codeExpired, codeUsedUp, codeInvalid copy with "contact the organizer" / "explore" actions.
  • Port the vitest coverage from plugins/auth-ui/src/routes/_public/-onboard.test.tsx on the reference branch (568 lines: language rendering, retry paths, join-failure panels).

Acceptance criteria

  • /onboard?code= renders in es/fr/zh per the selected language.
  • No "organization" wording remains in the onboarding flow.
  • A failed invite lookup shows an error with a Retry button instead of an endless spinner.
  • Failed joins show a specific reason and next step.
主要言語
TypeScript
スター
5
フォーク
3
平均マージ
9時間 37分
マージ済み PR(30日)
157

環境構築

はじめの一歩

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

NEARBuilders/everything-dev のほかの issue

NEARBuilders/everything-dev の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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