Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[bug]: Email notifications show a broken avatar for users without a profile photo

オープン 初心者向け
#10,009 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@gurnoorpannu がすでに取り組んでいます。

2026年10月14日 から。

  • #10012 @gurnoorpannu による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
python
領域
backend

調査の方向性

apps/api/plane/bgtasks/email_notification_task.py にある 3 つの avatar_url の代入(200、213、227 行目付近)から始めてください。これらは、アクターにアバターがない場合でも API のベース URL を前置しています。次に templates/emails/notifications/issue-updates.html の {% if update.actor_detail.avatar_url %} の分岐(53 行目と 194 行目)を確認してください。写真のないアクターに空のアバター値が設定され、テンプレートが壊れた画像ではなくイニシャルを表示するようになれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Current behavior

In email notifications, the avatar for anyone without a profile photo is a broken image. The initial fallback in the template never shows.

apps/api/plane/bgtasks/email_notification_task.py (lines 200, 213 and 227 on preview) builds the URL as:

"avatar_url": f"{base_api}{actor.avatar_url}",

When the user has no avatar, actor.avatar_url is None (or ""), so the value becomes https://<host>/None (or just https://<host>). That string is truthy, so {% if update.actor_detail.avatar_url %} in templates/emails/notifications/issue-updates.html (lines 53 and 194) always takes the <img> branch, and the {% else %} initial is never used. https://<host>/None returns the web app's HTML, so mail clients show a broken image.

Expected behavior

Users without a photo show the initial, as the template intends.

Suggested fix

Only prefix when there is an avatar, in all three places:

"avatar_url": f"{base_api}{actor.avatar_url}" if actor.avatar_url else "",
Steps to reproduce
  1. Self-hosted instance with email notifications on.
  2. A user with no profile photo comments on or updates a work item.
  3. Another member gets the notification email: the actor's avatar is a broken image pointing to https://<host>/None.
Environment

Self-hosted (Docker images built from the current release), seen October 2026.

主要言語
TypeScript
スター
60.7k
フォーク
6k
平均マージ
22時間 10分
マージ済み PR(30日)
33

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

makeplane/plane のほかの issue

makeplane/plane の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。