コンテンツにスキップ

09. 未対応・保留とバグ候補

バグ候補

仕様書を書く過程で、コード同士の食い違い・テストと実装の食い違い・ 仕様として不自然な挙動を見つけたものを並べます。

原則として、見つけても執筆中には直しません。 仕様書を書いている最中にアプリの動きを変えると、 「何に合わせて書いたのか」が分からなくなるためです。 直す/直さないの判断をもらってから対応します。

修正済み

# 見つけた場所 症状 直し方
B-01 お仕事詳細「JOB コピー」の説明文 **公開状態** とアスタリスクがそのまま出ていた 記号を取り除いた。画面はただの文字列として表示するため、文章に Markdown の記法を書いてはいけない
B-02 勤怠「無断欠勤を取り消す」の確認ダイアログ本文 **打刻前の状態** と同様に出ていた 同上
B-03 お仕事詳細の「勤務時間」 09:00:00 〜 17:00:00 と秒まで出ていた 整形関数 formatTimeRange を通して 09:00〜17:00 にした

| B-04 | S-08 アカウント設定 | カナ欄のラベルが セイ / メイ なのに、エラーは 姓カナは必須です / 名カナは必須です と出ていた | ラベルを 姓カナ / 名カナ に揃えた。ほかの画面と同じ呼び方になる | | B-05 | S-04 予定確認 / C-11 応募管理 | 勤務日を過ぎた未確定の応募が「応募中」に残り続けていた | 保存している状態は変えず、表示で分けた。スタッフ側は「過去」タブへ移して 期限切れ(未確定)、クライアント側は 勤務日を過ぎています を添える | | B-06 | 勤怠の「休憩中」 | 到達できない状態と、常に空の値から休憩時間を計算する処理が残っていた | 画面から状態表示と計算処理を削除。DB の列と選択肢は残す(下の「使われていない項目」を参照) |

| B-07 | C-13 スタッフ管理 | 説明文が 自テナントに所属するスタッフの一覧 のままで、実態(選択中の事業所のみ)と違っていた | 説明文を 選択中の事業所に所属するスタッフの一覧 に直した | | B-08 | X-02 トップページ | / が開発の雛形のページのままだった | URL のサブドメインで出し分けるよう作り直した。雛形のロゴ・英語の文言・外部リンクは削除 | | B-09 | X-01 招待からのスタッフ登録 ほか | 同じ項目の呼び方が画面ごとに違っていた | 姓カナ 名カナ 口座名義 翌月 パスワード(確認) に統一。主な項目のラベルを lib/constants/fieldLabels.ts にまとめ、ばらつきを検査で止めるようにした |

修正は main の 2467e65(B-01〜B-03)、59cf72b(B-04〜B-06)、 d9ba19f(B-07〜B-09)で行いました。

B-09 で横断して見つかったばらつき

カナだけでなく、次も揃っていませんでした。エラー文言は項目名を含むため、 ラベルがばらつくとエラーの呼び方までずれます。

揃える前 揃えた後
姓 (カナ) / 姓カナ 姓カナ
名 (カナ) / 名カナ 名カナ
口座名義 (カタカナ) / 口座名義 口座名義(カタカナである旨は説明文で伝える)
次月 / 翌月 翌月
パスワード (確認) / パスワード(確認) パスワード(確認)

B-05 を直すときに確認したこと(挙動は変えていません)

勤務日を過ぎた未確定の応募を、クライアントは確定できます。 確定の処理(confirm_application)が見ているのは次の 3 つだけで、 勤務日も応募の締切も見ていません。

  1. 応募が「応募中」であること
  2. そのスタッフが同じ時間帯の別のお仕事で確定していないこと
  3. 募集人数の上限を超えないこと

そのため、たとえば 1 か月前の勤務日の応募でも、いま確定すると 確定済みになり、打刻の入れ物まで作られます。 今回は表示だけを直し、この挙動はそのままにしています。

使われていない項目(B-06 の残り)

項目 状況
AttendanceLog.status の break(休憩中) この値になることはありません。画面には出しません
AttendanceLog.break_start / break_end 常に空です。書き込む処理がありません

残してあるのは、消すとデータベースの作り替えが要るためです。 将来の機能 に記録しています。

B-03 を直すときに分かったこと

時刻を返す API には 2 種類あり、素のまま表示してよいかが画面ごとに違う 状態でした。

返し方 使っている場所 例
HH:mm に整えて返す スタッフ向けの一覧・詳細・当日の打刻、予実管理 09:00
モデルの値をそのまま返す お仕事の一覧/詳細(共通の変換) 09:00:00

横断で探したところ、次も見つかったので一緒に直しました。 写しが散っていると、片方だけ直し忘れるためです。

  • 整形せず素のまま出していた箇所が 4 つ(スタッフの打刻・検索・検索詳細、予実管理)
  • 同じ切り詰め処理(slice(0, 5))の写しが 4 つ(応募管理・カレンダー・クライアント勤怠・スタッフ予定)
  • コピー先の日付の案内が 2026-10-13 と、表記ルール(YYYY/MM/DD)から外れていた

再発しないよう、frontend/lib/utils/uiText.test.ts を追加しました。 画面のソースを走査し、(1) 文字列の中の ** (2) 整形しない時刻の表示 (3) 時刻の slice(0, 5) を見つけたらテストが落ちます。

未判断

いまのところありません。仕様書を書く過程で見つかった 9 件は、 すべて判断をもらって修正済みです。

将来の機能

事項 内容
休憩の打刻 「休憩を始める/終える」操作はありません。勤怠の 休憩中 という状態と、休憩の開始・終了を入れる場所だけがデータベースに残っています。作るときは、画面の状態表示(lib/constants/status.ts)と、スタッフの打刻画面の分岐を戻してください。いまは休憩時間を手入力で記録します
限定公開の通知 C-05 お仕事詳細 の「通知を送る」は、送った日時と人数を記録するだけです(JobVisibilityScope.notification_sent_at / notification_sent_count)。メールもアプリ内の知らせも届きません。画面には {人数}名に通知を送信しました と出るため、届いたと誤解されます。作るときは 08 メール に送信のきっかけを足してください
前払い申請 S-07 マイページ にメニューだけあり、準備中 のしるしが付いています

まだ決まっていないこと

事項 状況
年齢・性別による公開の制限 法令の確認待ち。仕組み(限定公開の条件)は用意済みですが、運用に乗せる判断は保留
デザイン改善案 r42(スタッフ一覧から招待を送る) 仕様の確認待ち
デザイン改善案 r47(招待メールの一括送信) 仕様の確認待ち
管理画面の求人一覧 未着手

保留している作業

事項 状況
本番環境まわり(検証環境の構築、構成管理の整理、データベースの作り直し、リリース手順の変更) すべて保留。まず今のコードが正しく動くことを優先する方針

既に分かっている弱点

事項 内容
メールアドレスの登録有無が、ログインしなくても分かる GET /api/users/check-email/ は誰でも呼べて {あるかどうか} を返します。氏名などは返しませんが、総当たりすれば「このサービスに登録しているか」を外から調べられます。招待の受諾とアカウント発行で必要なため、塞ぐと使い勝手が壊れます。回数制限をかける/招待リンク付きの経路に寄せる、などが対応案です