Skip to content

低優先の細かい修正まとめ(id 衝突 / destroy 後始末 / Slack direct 表示 ほか) #54

@kosako

Description

@kosako

低優先トラッキング

  1. id 衝突: feedback id が pl_${Date.now()} で同ミリ秒衝突(複数レビュアー/タブ)。marker Map のキー衝突で孤児ノードも発生。crypto.randomUUID() 併用へ。receiver の screenshot ファイル名(id-Date.now())も同根
  2. destroy() の後始末漏れ: pl-feedback-active class(crosshair カーソル)と注入 <style> が残る
  3. Slack direct の false success: no-cors の opaque response を ok: true 表示している。「unknown」表示が誠実。あわせて slackEscape を truncate 後に実行しているため、エスケープ膨張で Slack の 3000 字制限を超え得る(escape → truncate の順に)
  4. Safari 15: form.requestSubmit() 未対応で Cmd+Enter が無反応(fallback: submit ボタン click)
  5. init() 2 回呼びで UI desync(mode ON のまま再 init するとボタン表示と状態がずれる)/ <head> からの init で document.body 不在クラッシュ
  6. screenshots ディレクトリとメモリ上の feedback が無限蓄積(feedback 削除 endpoint がない)
  7. テストの穴: 413 上限・inbox HTML エスケープ・壊れた store 復旧(feedback.json の破損で全データが黙って消える(非アトミック書き込み) #47/inbox / GitHub issue body の URL スキーム検証と markdown 崩れ #48 で一部カバー予定)

まとめて 1 PR にせず、関連修正のついでに個別に潰していく想定。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions