clitrigger 0.2.24 → 0.2.25
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/client/assets/{FloatingComposerController-5A3GJtK4-D5OJqjB6.js → FloatingComposerController-5A3GJtK4-Dewu1Gm8.js} +1 -1
- package/dist/client/assets/{index-7c5uNap1.js → index-B27QeZaI.js} +311 -293
- package/dist/client/assets/{index-CyIseJUh.css → index-BlJ7W4Dm.css} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +32 -7
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/jira-client.d.ts.map +1 -1
- package/dist/server/lib/jira-client.js +4 -1
- package/dist/server/lib/jira-client.js.map +1 -1
- package/dist/server/middleware/auth.d.ts +9 -0
- package/dist/server/middleware/auth.d.ts.map +1 -1
- package/dist/server/middleware/auth.js +95 -17
- package/dist/server/middleware/auth.js.map +1 -1
- package/dist/server/plugins/jira/router.d.ts.map +1 -1
- package/dist/server/plugins/jira/router.js +3 -1
- package/dist/server/plugins/jira/router.js.map +1 -1
- package/dist/server/routes/files.d.ts.map +1 -1
- package/dist/server/routes/files.js +9 -20
- package/dist/server/routes/files.js.map +1 -1
- package/dist/server/routes/images.d.ts.map +1 -1
- package/dist/server/routes/images.js +9 -0
- package/dist/server/routes/images.js.map +1 -1
- package/dist/server/routes/memory.d.ts.map +1 -1
- package/dist/server/routes/memory.js +2 -16
- package/dist/server/routes/memory.js.map +1 -1
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +42 -12
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/routes/vault.d.ts.map +1 -1
- package/dist/server/routes/vault.js +6 -1
- package/dist/server/routes/vault.js.map +1 -1
- package/dist/server/services/claude-manager.d.ts.map +1 -1
- package/dist/server/services/claude-manager.js +15 -0
- package/dist/server/services/claude-manager.js.map +1 -1
- package/dist/server/utils/net-safety.d.ts +2 -0
- package/dist/server/utils/net-safety.d.ts.map +1 -0
- package/dist/server/utils/net-safety.js +28 -0
- package/dist/server/utils/net-safety.js.map +1 -0
- package/dist/server/utils/open-path.d.ts +4 -0
- package/dist/server/utils/open-path.d.ts.map +1 -0
- package/dist/server/utils/open-path.js +19 -0
- package/dist/server/utils/open-path.js.map +1 -0
- package/dist/server/utils/path-safety.d.ts +2 -0
- package/dist/server/utils/path-safety.d.ts.map +1 -0
- package/dist/server/utils/path-safety.js +25 -0
- package/dist/server/utils/path-safety.js.map +1 -0
- package/dist/server/websocket/index.d.ts.map +1 -1
- package/dist/server/websocket/index.js +8 -0
- package/dist/server/websocket/index.js.map +1 -1
- package/electron/main.cjs +17 -3
- package/package.json +1 -1
package/electron/main.cjs
CHANGED
|
@@ -160,7 +160,7 @@ function createWindow(port) {
|
|
|
160
160
|
preload: path.join(__dirname, 'preload.cjs'),
|
|
161
161
|
contextIsolation: true,
|
|
162
162
|
nodeIntegration: false,
|
|
163
|
-
sandbox:
|
|
163
|
+
sandbox: true,
|
|
164
164
|
},
|
|
165
165
|
});
|
|
166
166
|
|
|
@@ -194,7 +194,11 @@ function createWindow(port) {
|
|
|
194
194
|
mainWindow.webContents.setWindowOpenHandler(({ url, features }) => {
|
|
195
195
|
const isLocal = localOrigins.some((o) => url.startsWith(o));
|
|
196
196
|
if (!isLocal) {
|
|
197
|
-
|
|
197
|
+
// Only hand safe schemes to the OS — never file:/smb:/custom handlers.
|
|
198
|
+
try {
|
|
199
|
+
const proto = new URL(url).protocol;
|
|
200
|
+
if (proto === 'http:' || proto === 'https:' || proto === 'mailto:') shell.openExternal(url);
|
|
201
|
+
} catch { /* invalid url — ignore */ }
|
|
198
202
|
return { action: 'deny' };
|
|
199
203
|
}
|
|
200
204
|
// Session pop-out windows: open as a real OS child window with the same
|
|
@@ -237,7 +241,7 @@ function createWindow(port) {
|
|
|
237
241
|
preload: path.join(__dirname, 'preload.cjs'),
|
|
238
242
|
contextIsolation: true,
|
|
239
243
|
nodeIntegration: false,
|
|
240
|
-
sandbox:
|
|
244
|
+
sandbox: true,
|
|
241
245
|
},
|
|
242
246
|
},
|
|
243
247
|
};
|
|
@@ -245,11 +249,21 @@ function createWindow(port) {
|
|
|
245
249
|
return { action: 'allow' };
|
|
246
250
|
});
|
|
247
251
|
|
|
252
|
+
// Block top-level navigation to off-origin URLs so injected content / links
|
|
253
|
+
// can't load a remote page inside the trusted, preload-attached window.
|
|
254
|
+
const blockOffOriginNav = (contents) => {
|
|
255
|
+
contents.on('will-navigate', (e, navUrl) => {
|
|
256
|
+
if (!localOrigins.some((o) => navUrl.startsWith(o))) e.preventDefault();
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
blockOffOriginNav(mainWindow.webContents);
|
|
260
|
+
|
|
248
261
|
// Newly-created child windows (popouts) inherit the main window's
|
|
249
262
|
// setWindowOpenHandler but not the lock-screen focus-recovery handler.
|
|
250
263
|
// Attach the same focus → webContents.focus() bridge so xterm typing
|
|
251
264
|
// doesn't go dead after resume.
|
|
252
265
|
mainWindow.webContents.on('did-create-window', (childWin) => {
|
|
266
|
+
blockOffOriginNav(childWin.webContents);
|
|
253
267
|
childWin.on('focus', () => {
|
|
254
268
|
// Skip when webContents already holds focus — a redundant programmatic
|
|
255
269
|
// focus() resets the Windows IME (TSF) caret context, which is the
|