@glassnote/client 2.4.16 → 2.4.17
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/main.js +38 -0
- package/package.json +2 -2
package/main.js
CHANGED
|
@@ -6,6 +6,7 @@ const {
|
|
|
6
6
|
Menu,
|
|
7
7
|
nativeImage,
|
|
8
8
|
screen,
|
|
9
|
+
session,
|
|
9
10
|
} = require('electron');
|
|
10
11
|
const packageJson = require('./package.json');
|
|
11
12
|
const LocalServer = require('./localserver');
|
|
@@ -231,6 +232,8 @@ setInterval(cleanupOldLogs, LIMPIEZA_LOGS_MS).unref();
|
|
|
231
232
|
createTailUtility(logsDir);
|
|
232
233
|
|
|
233
234
|
app.whenReady().then(() => {
|
|
235
|
+
allowYoutubeEmbeds();
|
|
236
|
+
|
|
234
237
|
// macOS: esto es una app de bandeja, se maneja desde la barra de menu. Instalada por
|
|
235
238
|
// npm no hay .app propio, asi que el Dock mostraba el icono por defecto de Electron y
|
|
236
239
|
// una entrada que no sirve para nada. Se saca del Dock, pero antes se le pone el icono
|
|
@@ -1057,6 +1060,41 @@ process.on('unhandledRejection', (reason, promise) => {
|
|
|
1057
1060
|
|
|
1058
1061
|
|
|
1059
1062
|
|
|
1063
|
+
/**
|
|
1064
|
+
* YouTube rechaza el reproductor embebido que llega sin Referer: muestra "Video player
|
|
1065
|
+
* configuration error" (el error 153) en vez del video. El renderer se carga desde file://
|
|
1066
|
+
* y de ahi Chromium no manda Referer a ningun sitio https, asi que un glass con un video
|
|
1067
|
+
* nunca lo reproduciria. Medido sobre Electron 29 con el mismo video: sin esto se queda en
|
|
1068
|
+
* 0 s con el error; con esto reproduce, con sonido.
|
|
1069
|
+
*
|
|
1070
|
+
* Solo toca el pedido del reproductor (/embed/) y solo si no trae Referer: la
|
|
1071
|
+
* previsualizacion web, que va por https, manda el suyo y no pasa por aca.
|
|
1072
|
+
*
|
|
1073
|
+
* OJO: Electron admite UN solo onBeforeSendHeaders por sesion. Registrar otro en cualquier
|
|
1074
|
+
* lado reemplaza a este sin avisar, y los videos vuelven a dar el 153.
|
|
1075
|
+
*/
|
|
1076
|
+
function allowYoutubeEmbeds() {
|
|
1077
|
+
try {
|
|
1078
|
+
session.defaultSession.webRequest.onBeforeSendHeaders(
|
|
1079
|
+
{
|
|
1080
|
+
urls: [
|
|
1081
|
+
'https://www.youtube.com/embed/*',
|
|
1082
|
+
'https://www.youtube-nocookie.com/embed/*',
|
|
1083
|
+
],
|
|
1084
|
+
},
|
|
1085
|
+
(details, callback) => {
|
|
1086
|
+
const headers = details.requestHeaders;
|
|
1087
|
+
if (!headers.Referer && !headers.referer) {
|
|
1088
|
+
headers.Referer = 'https://glassnote.intermark.ec/';
|
|
1089
|
+
}
|
|
1090
|
+
callback({ requestHeaders: headers });
|
|
1091
|
+
}
|
|
1092
|
+
);
|
|
1093
|
+
} catch (error) {
|
|
1094
|
+
console.error('[youtube] no se pudo preparar el Referer de los videos:', error.message);
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1060
1098
|
/**
|
|
1061
1099
|
* Carga el HTML del renderer. Cual de las dos fuentes gana lo decide resolverRenderer()
|
|
1062
1100
|
* en rendererPaths.js, que es tambien de donde sale la version que muestra el menu.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glassnote/client",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.17",
|
|
4
4
|
"description": "GlassNote — cliente de escritorio de notas superpuestas. Se instala con npx, sin instaladores nativos ni firmas.",
|
|
5
5
|
"main": "main.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"url": "git+ssh://git@intermarkec/intermarkec/glassnote-electron.git"
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@glassnote/renderer": "2.
|
|
78
|
+
"@glassnote/renderer": "2.3.0",
|
|
79
79
|
"cors": "^2.8.5",
|
|
80
80
|
"electron": "^29.4.6",
|
|
81
81
|
"express": "^4.18.2",
|