AI: #152 Pixiv の埋込み #472
オープン
テツノニジカ
が
feature/152 から main への 2 コミットのマージを希望しています
プル元: feature/152
マージ先: :main
:main
:feature/404
:feature/401
:feature/447
:feature/455
:feature/152
:feature/149
:feature/150
:feature/170
:feature/273
:feature/446
:feature/440
:feature/320
:feature/439
:feature/437
:feature/272
:feature/436
:feature/443
:feature/450
:feature/438
:feature/448
:feature/283
:feature/451
:feature/454
:feature/445
:feature/435
:feature/444
:feature/442
:feature/414
:feature/434
:feature/428
:feature/431
:feature/424
:feature/425
:feature/426
:feature/422
:feature/055
:feature/419
:feature/416
:feature/411
:feature/406
:feature/354
:feature/399
:feature/409
:feature/405
:feature/398
:feature/386
:feature/268
:feature/034
:feature/385
:feature/351
:feature/076
:feature/389
:feature/360
:feature/332
:feature/352
:feature/383
:feature/306
:feature/378
:feature/376
:feature/371
:feature/370
:feature/361
:feature/041
:feature/358
:feature/302
:feature/090
:feature/155
:feature/346
:feature/171
:feature/047
:feature/327
:feature/063
:feature/046
:feature/314
:feature/329
:feature/317
:feature/323
:feature/200
:feature/321
:feature/318
:feature/309
:feature/294
:feature/308
:feature/312
:feature/095
:feature/264
:feature/279
:feature/206
レビューアなし
ラベル
ラベルをクリア
ai:blocked
ai:effort:high
ai:effort:low
ai:effort:xhigh
ai:investigate
ai:model:astra
ai:model:luna
ai:model:terra
ai:needs-input
ai:ready
ai:review
ai:running
area/backend
area/frontend
duplicate
invalid
wontfix
P
0
P
1
P
2
P
3
status
blocked
status
in-progress
status
ready
status
review
type
bug
type
enhancement
type
task
ラベルなし
マイルストーン
項目なし
マイルストーンなし
担当者なし
通知
期日
期日は設定されていません。
依存関係
依存関係は設定されていません。
リファレンス: miteruzo/btrc-hub#472
新しいイシューから参照
ユーザーをブロックする
ユーザーをブロックすると、そのユーザーは、プルリクエストやイシューの作成、コメントの投稿など、リポジトリに対する操作ができなくなります。 ユーザーのブロックについて詳しくはこちらをご覧ください。
Refs #152
Branch mode:
new; base:main; head:feature/152Implementation model:
gpt-6-astra/ reasoning:highAutomated implementation (requires human review)
PostEmbed.tsx に、
PostDetailPage用の Pixiv 埋込みを追加しました。変更はこの1ファイルのみです。差分を目視確認しました。指定に従い、テスト・lint・ビルドは未実行です。実画面の表示も未確認です。
Verification
これは通常の埋め込みと何が違ふの?
Codex: 修正なし。
既存の汎用埋込みとの違いは、iframe に渡す URL と表示手順です。
embed.pixiv.net/oembed_iframe.phpの URL を生成し、自動/手動/無効の設定に従って表示します。iframe を使う点は同じです。Iframely のサービスを経由する実装ではありません。
コメントは違いを尋ねる内容で、変更すべき仕様は確定できないため、ファイルは変更していません。指定どおりテスト・lint・ビルドは未実行で、実画面も未確認です。
なるほど.
これはちゃんと画像がいっぱいに表示されるのだね?
Codex: 修正なし。
「画像がいっぱいに表示される」とは現時点では保証できません。現在の実装は幅600px・高さ315pxの iframe に
max-w-fullを指定しており、画像自体を枠いっぱいに表示する指定はありません。実際の収まり方は Pixiv 側の埋込み内容に依存します。実画面は未確認のため、推測での変更は行わず、ファイルは変更していません。テスト・lint・ビルドも指定どおり未実行です。
画像をそのまま貼りつけるくらゐのことはしてほしいんだよね.
あと,起票時にサムネールに画像をセットし,サムネール元 URL にその画像のベースの URL をセットしたい.
あー,でもごめん,撤回.
今回はフロントエンドのみの変更として.
Codex: 修正なし。
変更なしです。
後続の「撤回・今回はフロントエンドのみ」を踏まえ、起票時のサムネール自動設定は見送りました。画像の直接表示についても、現コードには Pixiv の作品 URL から画像 URL を取得する処理がなく、iframe の寸法変更だけでは要望を満たせないため、推測で変更していません。
テスト・lint・ビルドは指定どおり未実行です。実画面も未確認です。
Codex: 修正なし。
変更なしです。現在の PR 差分は
frontend/src/components/PostEmbed.tsxのみで、「今回はフロントエンドのみ」という最新の指示を既に満たしています。起票時のサムネール自動設定は追加していません。テスト・lint・ビルド・マイグレーションは未実行です。実画面も未確認です。
その上で,画像をほぼそのまま貼ったやぅな埋め込みは可能?
Codex: 修正なし。
現状の iframe の寸法変更だけでは、ご希望の表示にはできません。Pixiv 側の枠内にある画像や余白は、こちらから変更できません(同一オリジン制約)。
画像 URL を取得して
<img>で表示する方法は考えられますが、フロントエンドだけで取得・表示できる現行の公式手段は確認できませんでした。実現不能とまでは断定しませんが、不確かな実装は加えず、ファイルは変更していません。指定どおり、テスト・lint・ビルド・マイグレーションは未実行です。実画面も未確認です。
Pixiv 側から埋め込み用のは提供されてないの?
Codex: 修正なし。
Pixiv 側の埋込み用 URL を使う方式はあります。はてなブログ公式の導入記事でも、
embed.pixiv.netの iframe が使われています。今回の実装も
embed.pixiv.net/oembed_iframe.phpを直接指定しています。ただし、現在の公式提供仕様と「画像をほぼそのまま貼った」表示になるかは確認できませんでした。以前の説明では、この区別が不明瞭でした。変更の根拠が確定できないため、ファイルは変更していません。指定どおりテスト・lint・ビルド・マイグレーションは未実行、実画面も未確認です。
画像サイズに従った比率とすることはできる?
Codex: 修正なし。
画像の幅・高さを取得できれば、その比率に合わせられます。ただし現在の
Postには寸法情報がなく、Pixiv の iframe 内の画像寸法も同一オリジン制約で直接取得できません。Pixiv 側から寸法を受け取る仕様は確認できず、公開埋込み URL の取得も失敗したため、推測での変更は行っていません。フロントエンドだけで対応可能かは未確定です。
ファイル変更なし。指定どおりテスト・lint・ビルド・マイグレーションは未実行、実画面も未確認です。
oembed_iframe.phpを使用した埋め込みは可能?以下のやぅにして:
Codex: レビューコメントを受けてコミットを追加しました。
Branch:
feature/152/ model:gpt-6.1-sol(medium)PostEmbed.tsx は既に
oembed_iframe.phpを使用しています。提示例に合わせ、border: 0とloading="lazy"を追加しました。差分は2行のみです。テスト・lint・ビルド・マイグレーションは未実行、実画面も未確認です。
人間による再レビュー待ち。
コマンドラインの手順を表示
チェックアウト
プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。