chocolatito-code 1.6.5 → 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 -14
- package/dist/ui/pantalla.js +44 -15
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
package/dist/ui/pantalla.d.ts
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Fija
|
|
2
|
+
* Fija SOLO SI SE PIDE. Van dos veces que la pongo de serie y se rompe.
|
|
3
3
|
*
|
|
4
|
-
* La
|
|
5
|
-
* pruebas pasaban: comprobaban el ARBOL que Ink quiere pintar, no lo que una
|
|
6
|
-
* consola hace con esos bytes. El terminal de mentira de la libreria no
|
|
7
|
-
* desplaza al pasarse de alto, que era justo el fallo.
|
|
4
|
+
* La segunda: "ahora sale una barra y lo demas negro, escribo y se cierra".
|
|
8
5
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* CHOCOLATITO_PANTALLA=normal devuelve el comportamiento de siempre: el
|
|
16
|
-
* historial vuelve a ser del terminal y la rueda del raton a servir, a cambio de
|
|
17
|
-
* que la barra suba con el scroll.
|
|
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.
|
|
18
11
|
*/
|
|
19
12
|
export declare function pantallaFijaPedida(): boolean;
|
|
20
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";
|
|
@@ -33,25 +36,18 @@ const SALIR = "\x1b[?1049l";
|
|
|
33
36
|
let dentro = false;
|
|
34
37
|
let logOriginal = null;
|
|
35
38
|
/**
|
|
36
|
-
* Fija
|
|
39
|
+
* Fija SOLO SI SE PIDE. Van dos veces que la pongo de serie y se rompe.
|
|
37
40
|
*
|
|
38
|
-
* La
|
|
39
|
-
* pruebas pasaban: comprobaban el ARBOL que Ink quiere pintar, no lo que una
|
|
40
|
-
* consola hace con esos bytes. El terminal de mentira de la libreria no
|
|
41
|
-
* desplaza al pasarse de alto, que era justo el fallo.
|
|
41
|
+
* La segunda: "ahora sale una barra y lo demas negro, escribo y se cierra".
|
|
42
42
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* CHOCOLATITO_PANTALLA=normal devuelve el comportamiento de siempre: el
|
|
50
|
-
* historial vuelve a ser del terminal y la rueda del raton a servir, a cambio de
|
|
51
|
-
* que la barra suba con el scroll.
|
|
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.
|
|
52
48
|
*/
|
|
53
49
|
export function pantallaFijaPedida() {
|
|
54
|
-
return process.env.CHOCOLATITO_PANTALLA
|
|
50
|
+
return process.env.CHOCOLATITO_PANTALLA === "fija";
|
|
55
51
|
}
|
|
56
52
|
/** `null` = manda el estado real. Las pruebas lo fuerzan. */
|
|
57
53
|
let forzado = null;
|
|
@@ -108,3 +104,36 @@ export function salirDePantallaFija() {
|
|
|
108
104
|
catch { }
|
|
109
105
|
}
|
|
110
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