Skip to content

fix: アップロードしたカスタムテンプレートが生成に反映されず blank-dark にフォールバックする(AWS環境) #206

Description

@r-yamada1234

概要

Web UI からアップロードしたカスタムテンプレート(.pptx)を選択・確定しても、
実際の PPTX 生成ではそのテンプレートが使われず、ビルトインの
blank-dark.pptx にフォールバックしてしまいます。

エラーも警告も一切出ないため、ユーザーは「テンプレートを選んだのに反映されない」
という形でしか気づけません。

影響範囲

  • AWS 環境(Layer 3 / Layer 4、mcp-server 経由の生成)で発生します。
  • ローカルモード(mcp-local)は別ロジックのため影響を受けません。

再現手順

  1. Web UI の /templates ページで独自の .pptx をアップロードする
  2. Art Direction フェーズでそのユーザーテンプレートを選択し、確定する
    deck.json"template": "<name>.pptx" が書き込まれる)
  3. 生成(generate_pptx)を実行する
  4. → 生成された PPTX がアップロードしたテンプレートではなく
    blank-dark.pptx のデザイン(テーマカラー・フォント・レイアウト)になる

期待される挙動

選択・確定したユーザーテンプレートのデザインが、生成される PPTX に反映されること。

実際の挙動

ユーザーテンプレートが無視され、警告もなく blank-dark.pptx にフォールバックする。

根本原因(調査結果)

PPTX 生成時のテンプレート解決ロジックが ビルトインテンプレートのみ
検索対象にしており、ユーザーアップロードテンプレートを検索していません。

  • 該当箇所: mcp-server/tools/generate.py_prepare_workspace()
  • storage.list_templates()(ビルトインのみを列挙)としか照合しておらず、
    ユーザーテンプレートを列挙する list_user_templates(user_id) が呼ばれていない
  • ユーザーテンプレートは pptx_bucketuser-templates/{user_id}/ にあるが、
    ダウンロードが resource_bucket 固定の download_file() のみになっている
  • 解決失敗時にログ・警告が一切なく、サイレントにフォールバックする

なお、テンプレートの「一覧表示」と「解析(Art Direction)」は user_id 対応済みで、
「生成時のテンプレート解決」だけが対応漏れになっているため、
「選べているように見えるのに生成に反映されない」という分かりにくい症状になっています。

関連機能

  • カスタムテンプレートのアップロード機能(/templates
  • Art Direction でのテンプレート選択・確定
  • generate_pptx(PPTX 生成)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions