gioser

sergio/humanoid

HTML 38Markdown 1TOML 10 Sutichaykuna

consola: botón "copiar" en el panel de diagnóstico

Vuelca DebugLog.dump() al portapapeles para compartir el log de
conexión (URL, handshake WS, errores) sin adb.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

d0390c6774e54e72e3c666157817bd8f2a75368e · ruwaq Sergio · (4 killa ñawpaq) · tayta 7f7209e44 · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

1 qillqakuna · +12 −0

diff --git a/consola/src/main/java/com/rizoma/consola/ui/TerminalScreen.kt b/consola/src/main/java/com/rizoma/consola/ui/TerminalScreen.kt
index a25ff0b..5073d36 100644
--- a/consola/src/main/java/com/rizoma/consola/ui/TerminalScreen.kt
+++ b/consola/src/main/java/com/rizoma/consola/ui/TerminalScreen.kt
@@ -41,11 +41,14 @@ import androidx.compose.ui.input.key.key
 import androidx.compose.ui.input.key.onPreviewKeyEvent
 import androidx.compose.ui.input.key.type
 import androidx.compose.ui.layout.onSizeChanged
+import androidx.compose.ui.platform.LocalClipboardManager
 import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.text.AnnotatedString
 import androidx.compose.ui.text.input.KeyboardType
 import androidx.compose.ui.text.input.TextFieldValue
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.unit.sp
+import com.rizoma.consola.DebugLog
 import com.rizoma.consola.TermStatus
 import com.rizoma.consola.term.TerminalEmulator
 import com.rizoma.consola.term.TerminalFrame
@@ -139,6 +142,15 @@ private fun DebugPanel(debug: List<String>, onClear: () -> Unit) {
             verticalAlignment = Alignment.CenterVertically,
         ) {
             Text("diagnóstico (${debug.size})", color = NeonCian, fontSize = 11.sp, modifier = Modifier.weight(1f))
+            val clipboard = LocalClipboardManager.current
+            Text(
+                "copiar",
+                color = NeonVerde,
+                fontSize = 11.sp,
+                modifier = Modifier
+                    .clickable { clipboard.setText(AnnotatedString(DebugLog.dump())) }
+                    .padding(end = 12.dp),
+            )
             Text("limpiar", color = Tenue, fontSize = 11.sp, modifier = Modifier.clickable { onClear() })
         }
         val scroll = rememberScrollState()