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

[Bug]: iOS Live Activity compact status text wraps onto two lines when another Live Activity shares the Dynamic Island

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

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

まだ誰も着手していません。

評価

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

調査の方向性

apps/mobile/src/widgets/AgentActivity.tsx の compactTrailing Text から始め、その modifiers をバナー、watch card、row のテキストと比較します。AgentActivity が別の Live Activity と Dynamic Island を共有する状態で再現し、その後、アクティブ、完了、承認、入力、その他のコンパクトなステータスが 1 行に収まり、縮小されるか適切な短い形式を使用することを確認します。

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

説明

bug via-triage
Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/mobile

Steps to reproduce
  1. Enable Live Activities in the T3 Code iOS app and start an agent turn so the AgentActivity Live Activity appears.
  2. Start a Live Activity from any other app (e.g. a podcast/now-playing, timer, or sports activity) so the Dynamic Island shows two activities side by side.
  3. Look at the T3 pill while the agent is running ("1 active"), then again after it finishes ("Done").
Expected behavior

The compact trailing status stays on one line, e.g. T3 1 active / T3 Done. If space is tight, it should shrink or fall back to a shorter form, not break across lines.

Actual behavior

The compact trailing label wraps onto a second line:

  • 1 active shows as 1 above act…
  • Done breaks in the middle of the word, as Don above e

The T3 pill still has plenty of empty horizontal space, so the label is wrapping inside a narrow trailing slot, not because the pill is full.

Likely cause

apps/mobile/src/widgets/AgentActivity.tsx (main @ 4ee6bfd5), compactTrailing:

compactTrailing: (
  <Text modifiers={[font({ weight: "semibold", size: 11 }), foregroundStyle(tint)]}>
    {attentionRow
      ? attentionRow.phase === "waiting_for_approval"
        ? "Approval"
        : "Input"
      : activeLabel}
  </Text>
),

This is the only status Text in the file without lineLimit(1); the banner, watch card, and row texts all have it. When iOS gives the trailing region a narrow proposed width (as it does when the island is shared), SwiftUI wraps the text instead of truncating it.

Suggested fix
  • Add lineLimit(1) to the compactTrailing text, plus minimumScaleFactor(...) or fixedSize() so it shrinks or takes its natural width instead of truncating or wrapping.
  • Optionally use a terser compact label: the count only (1) while running, and the existing phase glyph (checkmark / cross) for Done/Failed, matching what minimal already does. Approval / Input / Out of date can hit the same problem.
Impact

Cosmetic issue

Version or commit

T3 Code iOS 2.0.0; code reference main @ 4ee6bfd5

Environment

iPhone 18 Pro Max, iOS 27.2. Reproduced whenever a second app's Live Activity shares the Dynamic Island.

Screenshots

Running — 1 active wraps to 1 / act… (the other app's activity is blurred):

1 active wraps

Finished — Done breaks as Don / e:

Done wraps

主要言語
TypeScript
スター
24.8k
フォーク
6.4k
平均マージ
10時間 8分
マージ済み PR(30日)
323

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

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

pingdotgg/t3code のほかの issue

pingdotgg/t3code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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