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

Mobile: opening an attachment names the file after the link text instead of the imeta filename

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

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

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

2026年10月3日 から。

  • #8066 @wenhaoone による — オープン
  • #8086 @Bartok9 による — オープン

評価

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

調査の方向性

mobile/lib/features/channels/message_content.dart の _buildLink から始め、次に mobile/lib/features/channels/message_media.dart の ImetaEntry.filename を調べます。mobile/test/features/channels/message_content_test.dart にある「opens local file links through an authenticated download」の近くの widget テストを実行します。imeta filename を持つラベル付き添付ファイルがそのファイル名で開かれ、imeta filename のないリンクはリンクテキストを維持すれば完了です。

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

説明

Summary

On mobile, tapping a file attachment link downloads the file and opens it under the link text instead of the attachment's imeta filename. When the label is prose rather than a file name, the opened or saved file loses its real name and extension.

Where

mobile/lib/features/channels/message_content.dart, in _buildLink: the authenticated download is opened with the link text as the file name:

await ref.read(openDownloadedFileProvider)(
  url,
  auth.headersFor(url),
  text,
);

_buildLink already receives the matching ImetaEntry? imeta, and ImetaEntry (mobile/lib/features/channels/message_media.dart) parses filename. It just isn't used here.

Steps to reproduce

  1. Send a message with a non-media attachment whose link label is not the file name, e.g. content [Quarterly report](https://<relay>/media/<sha256>.pdf) with imeta containing filename q3-report.pdf.
  2. Tap the link on mobile.

Expected: the file opens as q3-report.pdf.
Actual: it is opened under Quarterly report, without the .pdf extension, so the system viewer may not recognize it.

Suggested fix

Prefer the imeta filename and fall back to the link text:

imeta?.filename ?? text,

A widget test next to opens local file links through an authenticated download in mobile/test/features/channels/message_content_test.dart can pin it, with a labelled link plus an imeta tag carrying filename.

主要言語
Rust
スター
35.6k
フォーク
4.7k
平均マージ
2日 6時間
マージ済み PR(30日)
188

環境構築

はじめの一歩

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

block/buzz のほかの issue

block/buzz の issue をすべて見る

似ている issue

Rust の issue をもっと見る

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

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