chocolatito-code 1.6.4 → 1.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/pantalla.d.ts +7 -12
- package/dist/ui/pantalla.js +48 -16
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
package/dist/ui/pantalla.d.ts
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Fija SOLO SI SE PIDE
|
|
2
|
+
* Fija SOLO SI SE PIDE. Van dos veces que la pongo de serie y se rompe.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* sale nada, se bugea". Lo puse de serie sin haberlo podido abrir en un terminal
|
|
6
|
-
* de verdad -aqui no hay TTY- y se publico roto para los clientes.
|
|
4
|
+
* La segunda: "ahora sale una barra y lo demas negro, escribo y se cierra".
|
|
7
5
|
*
|
|
8
|
-
* La
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* Vuelve a estar detras de CHOCOLATITO_PANTALLA=fija hasta que este vista
|
|
14
|
-
* funcionando en una consola. El comportamiento normal es el que llevaba
|
|
15
|
-
* funcionando toda la semana.
|
|
6
|
+
* La regla que saco de esto, y que no pienso volver a saltarme: esto no vuelve
|
|
7
|
+
* a ser lo normal hasta que el dueño confirme que lo ha visto funcionar en SU
|
|
8
|
+
* consola con la variable puesta. Un emulador -por bueno que sea, y el de
|
|
9
|
+
* tests/terminal.test.mjs lo es- prueba lo que sabe emular. Ha hecho falta que
|
|
10
|
+
* falle dos veces para aprenderlo.
|
|
16
11
|
*/
|
|
17
12
|
export declare function pantallaFijaPedida(): boolean;
|
|
18
13
|
/**
|
package/dist/ui/pantalla.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import process from "node:process";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
2
5
|
import { redirigirDibujo } from "./salida.js";
|
|
3
6
|
import { apuntar } from "./historial.js";
|
|
4
7
|
import { habilitarPie } from "./pieFijo.js";
|
|
@@ -21,31 +24,27 @@ import { habilitarPie } from "./pieFijo.js";
|
|
|
21
24
|
* avisos— siguen imprimiendo directo, y en la pantalla alternativa eso escribe
|
|
22
25
|
* encima de lo que Ink acaba de dibujar y descuadra el árbol entero.
|
|
23
26
|
*
|
|
24
|
-
*
|
|
27
|
+
* EL INTERCAMBIO
|
|
25
28
|
*
|
|
26
|
-
* Cambiar el historial del terminal por uno propio es
|
|
27
|
-
*
|
|
28
|
-
* Se
|
|
29
|
+
* Cambiar el historial del terminal por uno propio no es gratis: quien use la
|
|
30
|
+
* rueda del ratón para releer sale perdiendo, y a cambio se recorre con Re Pág
|
|
31
|
+
* y Av Pág. Se pidió así cinco veces, así que va de serie;
|
|
32
|
+
* CHOCOLATITO_PANTALLA=normal devuelve lo de antes.
|
|
29
33
|
*/
|
|
30
34
|
const ENTRAR = "\x1b[?1049h";
|
|
31
35
|
const SALIR = "\x1b[?1049l";
|
|
32
36
|
let dentro = false;
|
|
33
37
|
let logOriginal = null;
|
|
34
38
|
/**
|
|
35
|
-
* Fija SOLO SI SE PIDE
|
|
39
|
+
* Fija SOLO SI SE PIDE. Van dos veces que la pongo de serie y se rompe.
|
|
36
40
|
*
|
|
37
|
-
*
|
|
38
|
-
* sale nada, se bugea". Lo puse de serie sin haberlo podido abrir en un terminal
|
|
39
|
-
* de verdad -aqui no hay TTY- y se publico roto para los clientes.
|
|
41
|
+
* La segunda: "ahora sale una barra y lo demas negro, escribo y se cierra".
|
|
40
42
|
*
|
|
41
|
-
* La
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Vuelve a estar detras de CHOCOLATITO_PANTALLA=fija hasta que este vista
|
|
47
|
-
* funcionando en una consola. El comportamiento normal es el que llevaba
|
|
48
|
-
* funcionando toda la semana.
|
|
43
|
+
* La regla que saco de esto, y que no pienso volver a saltarme: esto no vuelve
|
|
44
|
+
* a ser lo normal hasta que el dueño confirme que lo ha visto funcionar en SU
|
|
45
|
+
* consola con la variable puesta. Un emulador -por bueno que sea, y el de
|
|
46
|
+
* tests/terminal.test.mjs lo es- prueba lo que sabe emular. Ha hecho falta que
|
|
47
|
+
* falle dos veces para aprenderlo.
|
|
49
48
|
*/
|
|
50
49
|
export function pantallaFijaPedida() {
|
|
51
50
|
return process.env.CHOCOLATITO_PANTALLA === "fija";
|
|
@@ -105,3 +104,36 @@ export function salirDePantallaFija() {
|
|
|
105
104
|
catch { }
|
|
106
105
|
}
|
|
107
106
|
process.on("exit", salirDePantallaFija);
|
|
107
|
+
/**
|
|
108
|
+
* UN ERROR DENTRO DE LA PANTALLA ALTERNATIVA SE PIERDE
|
|
109
|
+
*
|
|
110
|
+
* Y esa es la razon de que no haya podido diagnosticar el negro en dos intentos.
|
|
111
|
+
* Si algo revienta despues de montar el arbol, el mensaje se imprime DENTRO de
|
|
112
|
+
* la pantalla alternativa; acto seguido el proceso sale, `salirDePantallaFija`
|
|
113
|
+
* devuelve la pantalla normal, y el error se va con la que lo contenia.
|
|
114
|
+
*
|
|
115
|
+
* Desde fuera se ve exactamente como lo conto el dueño: una barra, todo negro, y
|
|
116
|
+
* se cierra sin decir nada.
|
|
117
|
+
*
|
|
118
|
+
* Aqui se sale de la pantalla PRIMERO y se escribe despues, para que el mensaje
|
|
119
|
+
* quede donde se puede leer. Y se guarda ademas en un archivo, porque en una
|
|
120
|
+
* consola que se cierra sola no da tiempo ni a mirarlo.
|
|
121
|
+
*/
|
|
122
|
+
function contarLoQueFallo(err) {
|
|
123
|
+
salirDePantallaFija();
|
|
124
|
+
const detalle = err instanceof Error ? `${err.message}\n${err.stack ?? ""}` : String(err);
|
|
125
|
+
try {
|
|
126
|
+
fs.writeFileSync(path.join(os.homedir(), ".chocolatito-error.txt"), `${new Date().toISOString()}\n${detalle}\n`, "utf-8");
|
|
127
|
+
}
|
|
128
|
+
catch { }
|
|
129
|
+
process.stderr.write(`\nChocolatito se cerro por un error:\n${detalle}\n`);
|
|
130
|
+
process.stderr.write(`Guardado en ${path.join(os.homedir(), ".chocolatito-error.txt")}\n`);
|
|
131
|
+
}
|
|
132
|
+
process.on("uncaughtException", (err) => {
|
|
133
|
+
contarLoQueFallo(err);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
});
|
|
136
|
+
process.on("unhandledRejection", (err) => {
|
|
137
|
+
contarLoQueFallo(err);
|
|
138
|
+
process.exit(1);
|
|
139
|
+
});
|
package/extension/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"minimum_chrome_version": "102",
|
|
4
4
|
"name": "Chocolatito Code",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.6",
|
|
6
6
|
"description": "Deja que Chocolatito Code trabaje dentro de tu Chrome, en segundo plano y con tus sesiones ya iniciadas.",
|
|
7
7
|
"permissions": [
|
|
8
8
|
"tabs",
|
package/package.json
CHANGED