🤖 Backup settings form: stale messages, field labels, and missing length limits

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

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

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

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
frontend

調査の方向性

The issue identifies the Backup settings form and its validation schema, but does not name their files or tests. Start by locating the Backup settings form and schema, then trace save-state messages and validation rules; add repro tests for the stale messages, excessive lengths, invalid repository URL, and subdirectory rules. Done means only the current-state message is shown and invalid values produce field-labelled errors explaining the violated rule.

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

説明

Problem

A bug bash of Settings > Backup (Sonnet 5.5, charter backup-validation) found these form problems. They predate #7826 and the backup symlink PRs.

  1. A failed save's error stays visible after the user corrects the field and the form shows "Unsaved changes".
  2. A stale "Backup settings saved." stays beside a new error, such as "Repository URL is required." and "Unsaved changes".
  3. A 300-character branch, a 300-character subdirectory, and the repository not a url all save. The schema has no length limits, and it does not check the repository URL shape.
  4. The subdirectory error names the schema key path, not the "Subdirectory" label. Its rule text, "Enter a subdirectory inside the repository", does not say that .. and absolute paths are refused.

Expected

The form shows only the message for its current state. It refuses values that git or the filesystem cannot use, and the message names the field label and the rule it breaks.

Evidence

This is explorer evidence (video and screenshots) from a local bug-bash run. Nobody has written a repro test for these yet.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $13.47

主要言語
TypeScript
スター
2.1k
フォーク
139
平均マージ
5時間 5分
マージ済み PR(30日)
923

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

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

coder/xum のほかの issue

coder/xum の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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