From 641d48b9781e75699c19742f6aafb3175a4ee936 Mon Sep 17 00:00:00 2001 From: deymosh Date: Thu, 1 Oct 2026 03:20:33 +0200 Subject: [PATCH 1/3] perf(android): show a long message as list-sized blocks A message of several hundred kilobytes froze the app or brought up an ANR: it was one item of the transcript list, so its whole markdown was parsed synchronously in composition on the main thread, and laid out and measured whole, with every streaming append doing it all again. A long agent or user message is now cut into blocks of about 4,000 characters at blank lines outside code fences (a fence too long for one block is closed and reopened, a long table repeats its header, an over-long line is cut at a space). The cut happens as the entry is decoded, off the main thread, and each block is a list item of its own. Only the blocks on screen are composed, parsed and laid out, and a streaming message re-parses only its last block. A plan's outline and the user's bubble are drawn across the blocks as one frame, bridging the list's spacing. Co-Authored-By: Claude Code --- .../plus/ui/transcript/DisplayEntries.kt | 15 ++- .../codedeck/plus/ui/transcript/Markdown.kt | 8 +- .../plus/ui/transcript/MarkdownBlocks.kt | 109 ++++++++++++++++++ .../plus/ui/transcript/TranscriptList.kt | 59 +++++++++- .../plus/ui/transcript/rows/SmallRows.kt | 80 +++++++++++-- .../codedeck/plus/ui/DesignSnapshotTest.kt | 21 ++++ .../plus/ui/transcript/MarkdownBlocksTest.kt | 69 +++++++++++ ....ui_DesignSnapshotTest_transcript_long.png | Bin 0 -> 208189 bytes 8 files changed, 347 insertions(+), 14 deletions(-) create mode 100644 apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/MarkdownBlocks.kt create mode 100644 apps/android/app/src/test/java/com/codedeck/plus/ui/transcript/MarkdownBlocksTest.kt create mode 100644 apps/android/app/src/test/snapshots/images/com.codedeck.plus.ui_DesignSnapshotTest_transcript_long.png diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/DisplayEntries.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/DisplayEntries.kt index 9e311ff7..70e5dc52 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/DisplayEntries.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/DisplayEntries.kt @@ -3,6 +3,7 @@ package com.codedeck.plus.ui.transcript import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonClassDiscriminator @@ -158,12 +159,22 @@ sealed class DisplayEntry { @Serializable @SerialName("userMessage") - data class UserMessage(override val seq: Long, val text: String) : DisplayEntry() + data class UserMessage(override val seq: Long, val text: String) : DisplayEntry() { + /** [text] in list-sized blocks (see [markdownBlocks]); split as the + * entry is decoded, off the main thread. */ + @Transient + val blocks: List = markdownBlocks(text) + } /** Agent markdown; `isPlan` frames it as a plan document. */ @Serializable @SerialName("agentMessage") - data class AgentMessage(override val seq: Long, val text: String, val isPlan: Boolean = false) : DisplayEntry() + data class AgentMessage(override val seq: Long, val text: String, val isPlan: Boolean = false) : DisplayEntry() { + /** [text] in list-sized blocks (see [markdownBlocks]); split as the + * entry is decoded, off the main thread. */ + @Transient + val blocks: List = markdownBlocks(text) + } /** A run of tool activity. `summary` says what it did ("Ran 3 * commands, read a file"); a lone call is its verb, with `subject` diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/Markdown.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/Markdown.kt index cca07860..8b1e49b5 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/Markdown.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/Markdown.kt @@ -34,9 +34,13 @@ import com.mikepenz.markdown.model.rememberMarkdownState * renderer bump silently regressing either one. * * `immediate = true`: transcript rows are already-received text, not a - * live-typed editor buffer — synchronous parsing costs one frame on a cold - * row and, unlike the renderer's default async path (`MarkdownState` + * live-typed editor buffer, and a long message reaches this renderer one + * block of a few thousand characters at a time (`markdownBlocks`, each block + * a list item of its own), so a synchronous parse costs a fraction of a + * frame and, unlike the renderer's default async path (`MarkdownState` * introduced in 0.33.0), is deterministic for Paparazzi's static snapshots. + * Never hand it a whole long message: parsing and laying it out at once on + * the main thread is what froze the app. * * Syntax highlighting stays plain monochrome (no `-code` module, no * Rust-side span generation) — matches the TS renderer's own lazy/ diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/MarkdownBlocks.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/MarkdownBlocks.kt new file mode 100644 index 00000000..e9aa58a7 --- /dev/null +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/MarkdownBlocks.kt @@ -0,0 +1,109 @@ +package com.codedeck.plus.ui.transcript + +/** Text up to this long is one block. */ +internal const val BLOCK_TARGET = 4_000 + +/** + * A message's markdown in blocks of about [target] characters, each a list + * item of its own: the transcript then composes, parses and lays out only the + * blocks on screen, and a streaming message re-parses only its last block. + * One huge message as a single item is parsed and measured whole on the main + * thread, which is how a long agent reply froze the app. + * + * Blocks end at a blank line outside a code fence, so each renders as it + * would within the whole. Where markdown gives no such break before twice + * [target], the block is cut at a line anyway: inside a code fence + * the fence is closed and opened again in the next block, a table's header + * is repeated, and a single line longer than the limit is cut at a space. + * Short text is returned as is. + */ +fun markdownBlocks(text: String, target: Int = BLOCK_TARGET): List { + if (text.length <= target) return listOf(text) + val hard = target * 2 + val blocks = mutableListOf() + val current = StringBuilder() + // The open fence's marker (``` or ~~~, any length) and its opening line. + var fence: String? = null + var fenceLine = "" + // A table's header and delimiter rows, while in a table. + var tableHeader: String? = null + var previous = "" + + fun flush() { + if (current.isNotBlank()) blocks += current.toString().trimEnd('\n') + current.clear() + } + fun append(line: String) { + current.append(line).append('\n') + } + + for (rawLine in text.split('\n')) { + for (line in splitLongLine(rawLine, hard)) { + val trimmed = line.trimStart() + if (fence == null) { + if (line.isBlank()) { + tableHeader = null + if (current.length >= target) { + flush() + previous = line + continue + } + } else if (current.length >= hard) { + flush() + tableHeader?.let { append(it) } + } + val marker = fenceMarker(trimmed) + if (marker != null) { + fence = marker + fenceLine = line + } else if (isTableDelimiter(trimmed) && previous.trimStart().startsWith("|")) { + tableHeader = previous + "\n" + line + } + append(line) + } else { + val open = fence!! + if (trimmed.startsWith(open) && trimmed.trimEnd().all { it == open[0] }) { + fence = null + append(line) + } else { + if (current.length >= hard) { + append(open) + flush() + append(fenceLine) + } + append(line) + } + } + previous = line + } + } + flush() + return blocks.ifEmpty { listOf(text) } +} + +/** The fence a line opens (its run of ``` or ~~~), or null. */ +private fun fenceMarker(trimmed: String): String? { + val c = trimmed.firstOrNull() ?: return null + if (c != '`' && c != '~') return null + val run = trimmed.takeWhile { it == c } + return run.takeIf { it.length >= 3 } +} + +/** A table's delimiter row: `|---|:--:|`. */ +private fun isTableDelimiter(trimmed: String): Boolean = + trimmed.startsWith("|") && trimmed.length > 2 && trimmed.all { it == '|' || it == '-' || it == ':' || it == ' ' } + +/** A line no longer than [limit], else its pieces, cut at the last space before the limit where there is one. */ +private fun splitLongLine(line: String, limit: Int): List { + if (line.length <= limit) return listOf(line) + val pieces = mutableListOf() + var rest = line + while (rest.length > limit) { + val space = rest.lastIndexOf(' ', limit) + val cut = if (space > limit / 2) space else limit + pieces += rest.substring(0, cut) + rest = rest.substring(cut).trimStart(' ') + } + if (rest.isNotEmpty()) pieces += rest + return pieces +} diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/TranscriptList.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/TranscriptList.kt index 942f2c7d..84215b34 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/TranscriptList.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/TranscriptList.kt @@ -41,6 +41,7 @@ import com.codedeck.plus.ui.transcript.rows.PlanApprovalCard import com.codedeck.plus.ui.transcript.rows.QuestionCard import com.codedeck.plus.ui.transcript.rows.SyncGapRow import com.codedeck.plus.ui.transcript.rows.StatusRow +import com.codedeck.plus.ui.transcript.rows.Segment import com.codedeck.plus.ui.transcript.rows.ToolGroupRow import com.codedeck.plus.ui.transcript.rows.ToolGroupSheet import com.codedeck.plus.ui.transcript.rows.UserMessageRow @@ -121,7 +122,10 @@ private fun TranscriptListContent( visibleOutboxItems(outboxItems, machine, sessionId, displayEntries) } val showSyncGap = !contiguous && (syncState == "requested" || syncState == "syncing" || syncState == "failed") - val itemCount = displayEntries.size + visibleOutbox.size + (if (showSyncGap) 1 else 0) + (if (running) 1 else 0) + // A long message is several items, one per block, so only what is on + // screen is composed and laid out. + val rows = remember(displayEntries) { listRowsOf(displayEntries) } + val itemCount = rows.size + visibleOutbox.size + (if (showSyncGap) 1 else 0) + (if (running) 1 else 0) if (itemCount == 0) { Box(modifier.fillMaxSize(), contentAlignment = Alignment.Center) { @@ -158,7 +162,16 @@ private fun TranscriptListContent( // contentType lets the lazy list reuse a scrolled-off row's // composition only for a row of the same kind (a tool group never // gets recycled into a Markdown message and vice versa). - items(displayEntries, key = { "e${it.seq}" }, contentType = { it::class }) { entry -> + items(rows, key = { it.key }, contentType = { it.contentType }) { row -> + val entry = row.entry + if (row is ListRow.Block) { + when (entry) { + is DisplayEntry.AgentMessage -> AgentTextRow(row.text, entry.isPlan, row.segment) + is DisplayEntry.UserMessage -> UserMessageRow(row.text, row.segment) + else -> {} + } + return@items + } TranscriptRow( item = entry, machine = machine, @@ -236,6 +249,48 @@ private fun TranscriptListContent( } } +/** One item of the transcript list: an entry, or one block of a long message. */ +private sealed interface ListRow { + val entry: DisplayEntry + val key: String + val contentType: Any + + data class Entry(override val entry: DisplayEntry) : ListRow { + override val key get() = "e${entry.seq}" + override val contentType: Any get() = entry::class + } + + /** Block [index] of a message cut by `markdownBlocks`. The first keeps + * the entry's own key, so a message that grows past one block keeps its + * item (and scroll position) rather than being replaced. */ + data class Block(override val entry: DisplayEntry, val index: Int, val text: String, val segment: Segment) : ListRow { + override val key get() = if (index == 0) "e${entry.seq}" else "e${entry.seq}.$index" + override val contentType: Any get() = entry::class + } +} + +private fun listRowsOf(entries: List): List = buildList { + for (entry in entries) { + val blocks = when (entry) { + is DisplayEntry.AgentMessage -> entry.blocks + is DisplayEntry.UserMessage -> entry.blocks + else -> null + } + if (blocks == null || blocks.size == 1) { + add(ListRow.Entry(entry)) + continue + } + blocks.forEachIndexed { i, text -> + val segment = when (i) { + 0 -> Segment.First + blocks.lastIndex -> Segment.Last + else -> Segment.Middle + } + add(ListRow.Block(entry, i, text, segment)) + } + } +} + @Composable private fun TranscriptRow( item: DisplayEntry, diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/rows/SmallRows.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/rows/SmallRows.kt index 3ee84801..e5da1d25 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/rows/SmallRows.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/transcript/rows/SmallRows.kt @@ -15,6 +15,15 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.draw.drawBehind +import androidx.compose.ui.geometry.CornerRadius +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.geometry.Size +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.drawscope.Stroke +import androidx.compose.ui.graphics.drawscope.clipRect +import androidx.compose.ui.unit.Dp +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -23,33 +32,88 @@ import com.codedeck.plus.ui.transcript.TranscriptMarkdown /** A message the user sent. */ @Composable -fun UserMessageRow(text: String) { +fun UserMessageRow(text: String, segment: Segment = Segment.Only) { // Your turns sit on the right, set off from the agent's full-width text. Row(Modifier.fillMaxWidth().padding(start = Tokens.Space7), horizontalArrangement = Arrangement.End) { - Column( + val bubble = if (segment == Segment.Only) { Modifier .clip(RoundedCornerShape(topStart = Tokens.RadiusXl, topEnd = Tokens.RadiusXl, bottomStart = Tokens.RadiusXl, bottomEnd = Tokens.RadiusSm)) .background(Tokens.SurfaceHover) - .padding(horizontal = Tokens.Space4, vertical = Tokens.Space3), - ) { + } else { + // A long message's blocks fill the full width, so they line up as one bubble. + Modifier.fillMaxWidth().segmentFrame(segment, Tokens.RadiusXl, fill = Tokens.SurfaceHover) + } + Column(bubble.padding(segmentInsets(segment, Tokens.Space4, Tokens.Space3))) { TranscriptMarkdown(text) } } } +/** + * Where a block of a long message sits among its blocks (see + * `markdownBlocks`): each is a list item of its own, and a framed message (a + * plan, the user's bubble) draws its part of one frame. + */ +enum class Segment { Only, First, Middle, Last } + +/** The gap the transcript list leaves between items, which a segment's frame bridges. */ +private val ItemGap = Tokens.Space2 + +/** + * A segment's part of a frame round a message cut into list items: the top + * corners on the first, the bottom ones on the last, the sides on every one, + * running through the gap to the next so the frame shows no break. + */ +private fun Modifier.segmentFrame(segment: Segment, radius: Dp, fill: Color? = null, stroke: Color? = null): Modifier = drawBehind { + val r = radius.toPx() + val gap = ItemGap.toPx() + val hasTop = segment == Segment.Only || segment == Segment.First + val hasBottom = segment == Segment.Only || segment == Segment.Last + // A round rect running past the edges this segment does not close, cut + // back to the segment plus the gap below it. + val top = if (hasTop) 0f else -(r + 1f) + val bottom = if (hasBottom) size.height else size.height + gap + r + 1f + val clipBottom = if (hasBottom) size.height else size.height + gap + clipRect(top = 0f, bottom = clipBottom) { + val corner = CornerRadius(r, r) + val at = Offset(0f, top) + val area = Size(size.width, bottom - top) + fill?.let { drawRoundRect(it, at, area, corner) } + stroke?.let { + val w = 1.dp.toPx() + drawRoundRect(it, at + Offset(w / 2, w / 2), Size(area.width - w, area.height - w), corner, style = Stroke(w)) + } + } +} + +/** A framed segment's insets: none at the edges of a cut, where the list's gap stands in for a paragraph break. */ +private fun segmentInsets(segment: Segment, horizontal: Dp, vertical: Dp): PaddingValues = PaddingValues( + start = horizontal, + end = horizontal, + top = if (segment == Segment.Only || segment == Segment.First) vertical else 0.dp, + bottom = if (segment == Segment.Only || segment == Segment.Last) vertical else 0.dp, +) + /** Agent text (markdown). `isPlan` frames it as a plan document, which stays * readable after the plan is approved: outlined in the accent rather than * filled, so it reads as a document and not as one more card. */ @Composable -fun AgentTextRow(text: String, isPlan: Boolean = false) { +fun AgentTextRow(text: String, isPlan: Boolean = false, segment: Segment = Segment.Only) { val planShape = RoundedCornerShape(Tokens.RadiusLg) + val planFrame = Tokens.Accent.copy(alpha = 0.55f) Column( Modifier .fillMaxWidth() - .let { if (isPlan) it.border(1.dp, Tokens.Accent.copy(alpha = 0.55f), planShape) else it } - .padding(if (isPlan) Tokens.Space4 else Tokens.Space1), + .let { + when { + !isPlan -> it + segment == Segment.Only -> it.border(1.dp, planFrame, planShape) + else -> it.segmentFrame(segment, Tokens.RadiusLg, stroke = planFrame) + } + } + .padding(segmentInsets(segment, if (isPlan) Tokens.Space4 else Tokens.Space1, if (isPlan) Tokens.Space4 else Tokens.Space1)), ) { - if (isPlan) { + if (isPlan && (segment == Segment.Only || segment == Segment.First)) { Text( "Plan", color = Tokens.Text, diff --git a/apps/android/app/src/test/java/com/codedeck/plus/ui/DesignSnapshotTest.kt b/apps/android/app/src/test/java/com/codedeck/plus/ui/DesignSnapshotTest.kt index a9737c8b..1d710ba9 100644 --- a/apps/android/app/src/test/java/com/codedeck/plus/ui/DesignSnapshotTest.kt +++ b/apps/android/app/src/test/java/com/codedeck/plus/ui/DesignSnapshotTest.kt @@ -29,6 +29,7 @@ import com.codedeck.plus.ui.screens.NotificationsPage import com.codedeck.plus.ui.screens.PairingBody import com.codedeck.plus.ui.screens.PluginsContent import com.codedeck.plus.ui.screens.UploadsPage +import com.codedeck.plus.ui.transcript.DisplayEntry import com.codedeck.plus.ui.screens.AccountPage import com.codedeck.plus.ui.screens.BackupPage import com.codedeck.plus.ui.screens.RestoreContent @@ -124,6 +125,25 @@ private val pages: Map Unit> = linkedMapOf( running = false, activity = null, canStopTasks = false, dispatch = {}, modifier = Modifier.background(Tokens.Bg), ) }, + "transcript_long" to { + // Long enough to be cut into blocks: the plan's frame and the user's + // bubble must still read as one each. + val steps = (1..30).joinToString("\n\n") { i -> + "### Step $i\n\nMove the reconnect logic behind the transport port, keep the backoff state in the core, " + + "and cover the new path with a deterministic test that drives the clock by hand.\n\n" + + "- Touches `crates/client-runtime/src/transport.rs`\n- Keeps the public surface unchanged" + } + val paste = (1..50).joinToString("\n\n") { "Log line $it: relay wss://relay.example.org dropped the socket after 75 s of silence." } + TranscriptList( + displayEntries = listOf( + DisplayEntry.AgentMessage(1, "# Plan: a quieter reconnect\n\n$steps", isPlan = true), + DisplayEntry.UserMessage(2, paste), + ), + outboxItems = emptyList(), machine = workstation.pubkeyHex, + sessionId = "s1", syncState = "idle", contiguous = true, respondedCards = emptySet(), planApprovalChoices = emptyMap(), + running = false, activity = null, canStopTasks = false, dispatch = {}, modifier = Modifier.background(Tokens.Bg), + ) + }, "transcript_cards" to { TranscriptList( displayEntries = DesignFixtures.waitingCards.drop(2), outboxItems = emptyList(), machine = workstation.pubkeyHex, @@ -251,6 +271,7 @@ class DesignSnapshotTest { @Test fun transcript() = paparazzi.page("transcript") @Test fun transcript_plan() = paparazzi.page("transcript_plan") @Test fun transcript_cards() = paparazzi.page("transcript_cards") + @Test fun transcript_long() = paparazzi.page("transcript_long") @Test fun new_session() = paparazzi.page("new_session") @Test fun pairing() = paparazzi.page("pairing") @Test fun settings() = paparazzi.page("settings") diff --git a/apps/android/app/src/test/java/com/codedeck/plus/ui/transcript/MarkdownBlocksTest.kt b/apps/android/app/src/test/java/com/codedeck/plus/ui/transcript/MarkdownBlocksTest.kt new file mode 100644 index 00000000..ca9762b1 --- /dev/null +++ b/apps/android/app/src/test/java/com/codedeck/plus/ui/transcript/MarkdownBlocksTest.kt @@ -0,0 +1,69 @@ +package com.codedeck.plus.ui.transcript + +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Test + +class MarkdownBlocksTest { + private fun paragraphs(n: Int, size: Int = 300) = (1..n).joinToString("\n\n") { i -> "Paragraph $i " + "word ".repeat(size / 5) } + + @Test fun shortTextIsOneBlockAsItIs() { + val text = "# Title\n\nSome *text*.\n" + assertEquals(listOf(text), markdownBlocks(text)) + } + + @Test fun longTextBreaksAtBlankLinesAndLosesNothing() { + val text = paragraphs(60) + val blocks = markdownBlocks(text, target = 1_000) + assertTrue(blocks.size > 1) + assertTrue(blocks.all { it.length <= 2_000 }) + // Each block is whole paragraphs, and together they are the text. + assertTrue(blocks.all { it.startsWith("Paragraph ") }) + assertEquals(text, blocks.joinToString("\n\n")) + } + + @Test fun aCodeFenceIsNeverLeftOpenAcrossBlocks() { + val code = (1..400).joinToString("\n") { "let x$it = $it;" } + val text = "Intro\n\n```rust\n$code\n```\n\nAfter" + val blocks = markdownBlocks(text, target = 1_000) + assertTrue(blocks.size > 2) + for (block in blocks.filter { it.contains("let x") }) { + assertTrue(block, block.trimStart().startsWith("```rust") || block.startsWith("Intro")) + assertEquals(block, 0, block.lines().count { it.trimStart().startsWith("```") } % 2) + } + // Every line of code is still there, in order. + val shown = blocks.flatMap { it.lines() }.filter { it.startsWith("let x") } + assertEquals(code.lines(), shown) + } + + @Test fun aBlankLineInsideAFenceIsNotABreak() { + val text = "```\n" + "a\n\n".repeat(600) + "```" + val blocks = markdownBlocks(text, target = 500) + for (block in blocks) assertEquals(block, 0, block.lines().count { it.trim() == "```" } % 2) + } + + @Test fun aLongTableRepeatsItsHeader() { + val rows = (1..300).joinToString("\n") { "| row $it | value $it |" } + val text = "| Name | Value |\n|---|---|\n$rows" + val blocks = markdownBlocks(text, target = 1_000) + assertTrue(blocks.size > 1) + for (block in blocks) assertTrue(block, block.startsWith("| Name | Value |\n|---|---|\n")) + } + + @Test fun aSingleHugeLineIsCutAtSpaces() { + val text = "word ".repeat(10_000).trim() + val blocks = markdownBlocks(text, target = 1_000) + assertTrue(blocks.size > 1) + assertTrue(blocks.all { it.length <= 2_000 }) + assertEquals(text.split(' ').size, blocks.joinToString(" ").split(Regex("\\s+")).size) + } + + @Test fun aMegabyteSplitsQuickly() { + val text = paragraphs(4_000) + val start = System.nanoTime() + val blocks = markdownBlocks(text) + val ms = (System.nanoTime() - start) / 1_000_000 + assertTrue("${blocks.size} blocks", blocks.size > 200) + assertTrue("took $ms ms", ms < 1_000) + } +} diff --git a/apps/android/app/src/test/snapshots/images/com.codedeck.plus.ui_DesignSnapshotTest_transcript_long.png b/apps/android/app/src/test/snapshots/images/com.codedeck.plus.ui_DesignSnapshotTest_transcript_long.png new file mode 100644 index 0000000000000000000000000000000000000000..d033443eb2e9d246ac5bc3086dc61740337345ef GIT binary patch literal 208189 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 YoR$$G9EBPO7YI1iRJByfl`TU57kN(-BLDyZ literal 0 HcmV?d00001 From 7026736d1edce74edb1f6169241fba50c788b359 Mon Sep 17 00:00:00 2001 From: deymosh Date: Thu, 1 Oct 2026 03:21:55 +0200 Subject: [PATCH 2/3] fix(android): a refused intent is logged, not a crash Screens hand intents to the core from fire-and-forget coroutines, and the core's dispatch throws for a value it does not know (and a fault in the core surfaces as an exception too), which crashed the app. Dispatch now logs the intent's kind and the error, never its fields (they may hold secrets), and goes on; cancellation still propagates. Co-Authored-By: Claude Code --- .../java/com/codedeck/plus/core/CoreHost.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt b/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt index 9b4e1ba7..420c62a6 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt @@ -1,6 +1,8 @@ package com.codedeck.plus.core import com.codedeck.plus.platform.CoreHttpFetch +import android.util.Log +import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -181,7 +183,22 @@ class CoreHost( /** Whether the device has a usable network — see `Connectivity`. */ fun setOnline(online: Boolean) = core.setOnline(online) - suspend fun dispatch(intent: UniffiIntent) = core.dispatch(intent) + /** + * Hand [intent] to the core. Callers fire and forget from a UI scope, so + * a refused intent (a value the core does not know) or a fault in the + * core is logged here rather than crashing the app; what the user needs + * to see of a failure arrives as a core event. + */ + suspend fun dispatch(intent: UniffiIntent) { + try { + core.dispatch(intent) + } catch (e: CancellationException) { + throw e + } catch (e: Exception) { + // The intent's kind only: its fields may hold secrets. + Log.w("codedeck", "intent ${intent::class.simpleName} refused: ${e::class.simpleName}: ${e.message?.take(160)}") + } + } /** * The phone's own Nostr id in bech32 `npub1…` form — derived by the core From ec259e062f29d521c681442d8a8aa7a0976b190b Mon Sep 17 00:00:00 2001 From: deymosh Date: Thu, 1 Oct 2026 03:32:17 +0200 Subject: [PATCH 3/3] fix(android): contain failures that crashed the app No coroutine scope in the app has an exception handler, so a throw in any of these paths took the process down. Each now logs (the exception's class and a short message, never payloads) and carries on: - a transcript row the decoders refuse ends that session's updates instead of crashing; - a failed read of one of the core's views keeps the refresher alive; - the connection service survives a core that fails to open or start (it stops itself, as it does with no login), a refused setOnline, and a failed keep-alive probe; - the Settings hub shows no npub rather than crashing if it cannot be derived; - a malformed upload URL and a signer answer that is not JSON become the failures their callers already handle; - the slash-command highlight no longer reads past a name whose lowercase form is longer than the name. Co-Authored-By: Claude Code --- .../java/com/codedeck/plus/core/CoreHost.kt | 14 ++++- .../codedeck/plus/platform/CoreHttpFetch.kt | 8 ++- .../com/codedeck/plus/platform/Nip55Signer.kt | 10 ++- .../plus/platform/StayConnectedService.kt | 63 +++++++++++++++++-- .../plus/ui/screens/SettingsScreen.kt | 4 +- .../codedeck/plus/ui/session/SessionScreen.kt | 7 +++ .../plus/ui/session/SlashCommandMenu.kt | 13 +++- 7 files changed, 105 insertions(+), 14 deletions(-) diff --git a/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt b/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt index 420c62a6..e767c9f2 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/core/CoreHost.kt @@ -124,7 +124,19 @@ class CoreHost( private val requests = Channel(Channel.CONFLATED) init { - scope.launch { for (request in requests) sink.value = read() } + scope.launch { + for (request in requests) { + // An FFI read failure logs and keeps the loop alive: + // subsequent requests are re-read, not silent drops. + try { + sink.value = read() + } catch (e: CancellationException) { + throw e + } catch (e: Exception) { + Log.w("codedeck", "slice read failed: ${e::class.simpleName}: ${e.message?.take(160)}") + } + } + } } fun request() { diff --git a/apps/android/app/src/main/java/com/codedeck/plus/platform/CoreHttpFetch.kt b/apps/android/app/src/main/java/com/codedeck/plus/platform/CoreHttpFetch.kt index 39d0703c..7c6decaf 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/platform/CoreHttpFetch.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/platform/CoreHttpFetch.kt @@ -88,7 +88,13 @@ class CoreHttpFetch : UniffiHttpFetch { * the server at all throws [UniffiHttpException.Failed]. */ private fun exchange(url: String, method: String, headers: List, body: ByteArray): UniffiHttpResponse { - val conn = URL(url).openConnection(proxy ?: Proxy.NO_PROXY) as HttpURLConnection + val conn: HttpURLConnection = try { + URL(url).openConnection(proxy ?: Proxy.NO_PROXY) as HttpURLConnection + } catch (e: IOException) { + // A malformed URL is a failure to reach the server, same as any + // other connection failure below. + throw UniffiHttpException.Failed("$method $url failed: ${e.javaClass.simpleName}: ${e.message ?: "no detail"}") + } try { conn.requestMethod = method conn.connectTimeout = CONNECT_TIMEOUT_MS diff --git a/apps/android/app/src/main/java/com/codedeck/plus/platform/Nip55Signer.kt b/apps/android/app/src/main/java/com/codedeck/plus/platform/Nip55Signer.kt index c22a250f..b81ed81d 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/platform/Nip55Signer.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/platform/Nip55Signer.kt @@ -187,9 +187,15 @@ class Nip55Signer( private fun failed(detail: String) = UniffiSignerException.Failed(detail) /** A signed event built from `unsigned` and a bare `signature`, for a - * signer that returns only the signature. The core verifies it. */ + * signer that returns only the signature. The core verifies it; an + * `unsigned` the JSON parser refuses is a signer failure like any + * other (same type `ask`/`viaActivity` throw). */ private fun withSignature(unsigned: String, signature: String): String = - JSONObject(unsigned).put("sig", signature).toString() + try { + JSONObject(unsigned).put("sig", signature).toString() + } catch (e: Exception) { + throw failed("the signer's answer is not valid JSON: ${e.javaClass.simpleName}") + } } /** diff --git a/apps/android/app/src/main/java/com/codedeck/plus/platform/StayConnectedService.kt b/apps/android/app/src/main/java/com/codedeck/plus/platform/StayConnectedService.kt index f5a7b5b6..4f75f3a9 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/platform/StayConnectedService.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/platform/StayConnectedService.kt @@ -14,6 +14,7 @@ import android.os.Binder import android.os.Build import android.os.IBinder import android.os.PowerManager +import android.util.Log import android.os.SystemClock import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat @@ -24,6 +25,7 @@ import androidx.lifecycle.ProcessLifecycleOwner import com.codedeck.plus.MainActivity import com.codedeck.plus.R import com.codedeck.plus.core.CoreHost +import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -147,8 +149,17 @@ class StayConnectedService : Service() { coreJob = job CoroutineScope(scope.coroutineContext + job).launch(Dispatchers.IO) { // Only started once a login exists (MainActivity); an OS restart - // after the user lost theirs has nothing to run. - val core = openCore() ?: run { + // after the user lost theirs has nothing to run. A storage or + // key-vault failure during the open is the same "no core to run" + // case, not a crash to die on. + val core = try { + openCore() + } catch (e: CancellationException) { + throw e + } catch (e: Exception) { + Log.w("codedeck", "core open failed: ${e::class.simpleName}: ${e.message?.take(160)}") + null + } ?: run { withContext(Dispatchers.Main) { stopSelf() } return@launch } @@ -160,7 +171,19 @@ class StayConnectedService : Service() { core.stop() return@launch } - core.start() + // A faulting core at start must not take the process down (the + // earlier crash loop): log, stop the service (its launch was the + // only thing running the core) so a later startForegroundService + // can open a fresh one. + try { + core.start() + } catch (e: CancellationException) { + throw e + } catch (e: Exception) { + Log.w("codedeck", "core start failed: ${e::class.simpleName}: ${e.message?.take(160)}") + withContext(Dispatchers.Main) { stopSelf() } + return@launch + } // Registered only now: adding the observer replays the current // app visibility at once, which must reach a started core. withContext(Dispatchers.Main) { @@ -229,12 +252,30 @@ class StayConnectedService : Service() { // Network reachability drives the connection FSM's offline/online // transitions; the first emission reconciles the state at startup. connectivity?.let { network -> - scope.launch { network.online.collect { core.setOnline(it) } } + // A refused setOnline (a faulting core) must not kill the + // collector: later emissions still reach the FSM. + scope.launch { + network.online.collect { online -> + try { + core.setOnline(online) + } catch (e: Exception) { + Log.w("codedeck", "setOnline refused: ${e::class.simpleName}: ${e.message?.take(160)}") + } + } + } // Internet access came back without the network going down (or // on another network): redial whatever is down now, rather than // after a backoff that grew through the outage. The replayed // initial value is not news. - scope.launch { network.regained.drop(1).collect { core.setOnline(true) } } + scope.launch { + network.regained.drop(1).collect { + try { + core.setOnline(true) + } catch (e: Exception) { + Log.w("codedeck", "setOnline refused: ${e::class.simpleName}: ${e.message?.take(160)}") + } + } + } } // The stay-connected setting drives THIS service's foreground state — // the settings screen only flips the stored value. Collecting here is @@ -442,7 +483,17 @@ class StayConnectedService : Service() { .apply { setReferenceCounted(false); acquire(KEEPALIVE_WAKE_MS) } scope.launch { try { - withTimeoutOrNull(KEEPALIVE_WAKE_MS - 2_000) { core.keepalive() } + withTimeoutOrNull(KEEPALIVE_WAKE_MS - 2_000) { + try { + core.keepalive() + } catch (e: CancellationException) { + throw e + } catch (e: Exception) { + // A failed check is not worth the process: the next + // alarm probes again. + Log.w("codedeck", "keepalive failed: ${e::class.simpleName}: ${e.message?.take(160)}") + } + } } finally { if (core.settings.value?.stayConnected != false) scheduleKeepAlive() if (wakeLock.isHeld) wakeLock.release() diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/screens/SettingsScreen.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/screens/SettingsScreen.kt index c77445f9..f38b6287 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/screens/SettingsScreen.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/screens/SettingsScreen.kt @@ -193,7 +193,9 @@ fun SettingsScreen( return } val machines = machinesView?.machines.orEmpty().sortedBy { it.name.lowercase() } - val npub = remember { core.identityNpub() } + // An npub that fails to derive shows as absent rather than crashing + // the whole settings hub. + val npub = remember { runCatching { core.identityNpub() }.getOrDefault("") } val signerLabel = (login as? Login.SignerApp)?.let { remember(it.packageName) { appLabel(context, it.packageName) } } pages.SaveableStateProvider(pageKey) { diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SessionScreen.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SessionScreen.kt index 69fc5204..995fa6d0 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SessionScreen.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SessionScreen.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Intent import android.net.Uri import android.os.SystemClock +import android.util.Log import android.speech.RecognizerIntent import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.PickVisualMediaRequest @@ -90,6 +91,7 @@ import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch @@ -206,6 +208,11 @@ fun SessionScreen( // Every delta is applied, in order: each builds on the one before. core.transcriptFlow(machine, sessionId) .map { view -> ParsedTranscript.of(view, previous).also { previous = it } } + // One row the JSON decoders cannot parse ends this collection + // (the transcript stops updating) rather than crashing the app. + .catch { e -> + Log.w("codedeck", "transcript decode ended: ${e::class.simpleName}: ${e.message?.take(160)}") + } .flowOn(Dispatchers.Default) .collect { transcript = it } } diff --git a/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SlashCommandMenu.kt b/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SlashCommandMenu.kt index 614104e4..3be6cfc7 100644 --- a/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SlashCommandMenu.kt +++ b/apps/android/app/src/main/java/com/codedeck/plus/ui/session/SlashCommandMenu.kt @@ -86,15 +86,22 @@ internal fun SlashCommandMenu( * receding, so each row shows why it is listed. */ internal fun highlightedName(name: String, query: String): AnnotatedString = buildAnnotatedString { val at = if (query.isEmpty()) -1 else name.lowercase().indexOf(query.lowercase()) + // Lowercasing can change a string's length (e.g. "I" -> Turkish dotless + // i on some locales), so the match on the lowercased name may extend + // past the original name's end. The match length in the ORIGINAL string + // is what bounds the highlight; fall back to no highlight when the + // bounds are unsound. + val end = (at + query.length).coerceAtMost(name.length) + val match = at >= 0 && at < end val muted = SpanStyle(color = Tokens.TextMuted) withStyle(muted) { append("/") } - if (at < 0) { + if (!match) { withStyle(SpanStyle(color = Tokens.Text)) { append(name) } return@buildAnnotatedString } withStyle(muted) { append(name.substring(0, at)) } - withStyle(SpanStyle(color = Tokens.Text, fontWeight = FontWeight.SemiBold)) { append(name.substring(at, at + query.length)) } - withStyle(muted) { append(name.substring(at + query.length)) } + withStyle(SpanStyle(color = Tokens.Text, fontWeight = FontWeight.SemiBold)) { append(name.substring(at, end)) } + withStyle(muted) { append(name.substring(end)) } } @Composable