Skip to content

CDNアイコン取得失敗時のフォールバック対応 #25

@konoe-akitoshi

Description

@konoe-akitoshi

概要

外部接続がない環境やCDNからアイコンを取得できない場合のフォールバック処理が不十分。

現状の動作

状況 動作
寸法取得失敗(タイムアウト等) ✅ 48x48の正方形にフォールバック
画像取得失敗(SVG/HTML出力) ⚠️ URLはそのまま出力 → ブラウザで壊れた画像表示
画像取得失敗(PNG出力) ⚠️ embedExternalImages失敗 → 画像なしで出力

問題点

  • 外部接続がない環境では、CDNアイコンのURLは出力されるが画像は表示されない
  • 以前あった「デバイスタイプアイコン(getDeviceIcon)へのフォールバック」は削除された

対策案

  1. デバイスタイプアイコンへのフォールバック: CDNアイコン取得失敗時にgetDeviceIcon(node.type)を使用
  2. 警告出力: エラー時にユーザーへ通知(CLI: stderr、Playground: console.warn)
  3. オフラインモード: CDNアイコンを無効化するオプション追加

関連コード

  • packages/@shumoku/renderer/src/cdn-icons.ts - fetchImageDimensions, fetchCDNIcon
  • packages/@shumoku/renderer/src/svg.ts - calculateIconSize, calculateIconInfo
  • packages/@shumoku/renderer/src/png.ts - embedExternalImages

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