Skip to content

Commit 12f35f4

Browse files
committed
chore(release): v1.6.5 - Code Studio Workspace UI & Terminal Patch
1 parent 31d0484 commit 12f35f4

8 files changed

Lines changed: 756 additions & 448 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Notes · Tasks · Calendar · Timer · Code Studio · Disk Flows · AI Agent
2222

2323
Delay is a **local-first desktop Agentic OS** that unifies your **notes**, **tasks**, **calendar**, **smart timer**, **code workspace**, **video downloads**, and a built-in **autonomous AI agent** behind one polished, fluid interface. Everything lives on your device — no accounts, no cloud, no tracking.
2424

25-
## 🧩 Features (v1.6.0)
25+
## 🧩 Features (v1.6.5)
2626

2727
| Module | Highlights |
2828
|--------|-----------|
@@ -39,7 +39,7 @@ Delay is a **local-first desktop Agentic OS** that unifies your **notes**, **tas
3939

4040
## 📥 Download
4141

42-
Grab the latest **Delay-Setup-1.6.0.exe** from the [Releases](https://github.com/AzizX-coder/Delay/releases/latest) page, or visit the [landing page](https://azizx-coder.github.io/Delay/).
42+
Grab the latest **Delay-Setup-1.6.5.exe** from the [Releases](https://github.com/AzizX-coder/Delay/releases/latest) page, or visit the [landing page](https://azizx-coder.github.io/Delay/).
4343

4444
**Requirements:** Windows 10 or 11 (x64). Optional: [Ollama](https://ollama.com/) for AI features. Optional: [yt-dlp](https://github.com/yt-dlp/yt-dlp) for Disk Flows video downloads.
4545

@@ -49,10 +49,10 @@ Delay is built by an independent developer and is **not yet code-signed with a p
4949

5050
**To install safely:**
5151

52-
1. Download `Delay-Setup-1.6.0.exe` and the matching `SHA256SUMS.txt` from [Releases](https://github.com/AzizX-coder/Delay/releases/latest).
52+
1. Download `Delay-Setup-1.6.5.exe` and the matching `SHA256SUMS.txt` from [Releases](https://github.com/AzizX-coder/Delay/releases/latest).
5353
2. *(Optional but recommended)* verify the download integrity:
5454
```powershell
55-
Get-FileHash .\Delay-Setup-1.6.0.exe -Algorithm SHA256
55+
Get-FileHash .\Delay-Setup-1.6.5.exe -Algorithm SHA256
5656
```
5757
The hash must match the one in `SHA256SUMS.txt`.
5858
3. Double-click the installer. If SmartScreen appears, click **More info → Run anyway**.

electron/main.cjs

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,14 @@ ipcMain.handle("disk-flows-download", async (_event, url, downloadId, formatId)
125125
// Default to 'best' if no formatId is provided, otherwise target the specific format+bestaudio
126126
const formatArgs = formatId && formatId !== "best" ? ["-f", `${formatId}+bestaudio/best`] : ["-f", "best"];
127127

128-
const proc = spawn("yt-dlp", [
128+
const bin = process.platform === "win32" ? "yt-dlp.exe" : "yt-dlp";
129+
const proc = spawn(bin, [
129130
"--progress",
130131
"--newline",
131132
...formatArgs,
132133
"-o", outputTemplate,
133134
url,
134-
]);
135+
], { shell: false });
135136

136137
let lastTitle = "";
137138
proc.stdout.on("data", (data) => {
@@ -234,6 +235,81 @@ ipcMain.handle("code-studio-open-vscode", async (_event, filename, code, languag
234235
return { ok: true, path: filePath };
235236
});
236237

238+
// ── Code Studio IDE Extensions (Phase 3) ──
239+
ipcMain.handle("workspace-open", async () => {
240+
const result = await dialog.showOpenDialog(mainWindow, {
241+
properties: ["openDirectory"]
242+
});
243+
return result.canceled ? null : result.filePaths[0];
244+
});
245+
246+
ipcMain.handle("fs-list", async (_event, dirPath) => {
247+
const fs = require("fs").promises;
248+
try {
249+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
250+
return entries.map(e => ({ name: e.name, path: path.join(dirPath, e.name), isDir: e.isDirectory() }));
251+
} catch (err) {
252+
return { error: String(err) };
253+
}
254+
});
255+
256+
ipcMain.handle("fs-read", async (_event, filePath) => {
257+
const fs = require("fs").promises;
258+
try {
259+
return { content: await fs.readFile(filePath, "utf-8") };
260+
} catch (err) {
261+
return { error: String(err) };
262+
}
263+
});
264+
265+
ipcMain.handle("fs-write", async (_event, filePath, content) => {
266+
const fs = require("fs").promises;
267+
try {
268+
await fs.mkdir(path.dirname(filePath), { recursive: true });
269+
await fs.writeFile(filePath, content, "utf-8");
270+
return { ok: true };
271+
} catch (err) {
272+
return { error: String(err) };
273+
}
274+
});
275+
276+
ipcMain.handle("fs-run", async (_event, cmd, cmdArgs, cwd) => {
277+
return new Promise((resolve) => {
278+
const runId = Math.random().toString(36).substring(7);
279+
const proc = spawn(process.platform === "win32" ? "cmd.exe" : "/bin/sh", [
280+
process.platform === "win32" ? "/c" : "-c",
281+
[cmd, ...cmdArgs].join(" ")
282+
], { cwd: cwd || process.cwd(), shell: false });
283+
284+
proc.stdout.on("data", (data) => {
285+
if (mainWindow && !mainWindow.isDestroyed()) {
286+
mainWindow.webContents.send(`fs-run-data-${runId}`, data.toString());
287+
}
288+
});
289+
290+
proc.stderr.on("data", (data) => {
291+
if (mainWindow && !mainWindow.isDestroyed()) {
292+
mainWindow.webContents.send(`fs-run-data-${runId}`, data.toString());
293+
}
294+
});
295+
296+
proc.on("close", (code) => {
297+
if (mainWindow && !mainWindow.isDestroyed()) {
298+
mainWindow.webContents.send(`fs-run-exit-${runId}`, code);
299+
}
300+
});
301+
302+
proc.on("error", (err) => {
303+
if (mainWindow && !mainWindow.isDestroyed()) {
304+
mainWindow.webContents.send(`fs-run-data-${runId}`, `ERROR: ${err.message}\n`);
305+
}
306+
});
307+
308+
resolve({ runId });
309+
});
310+
});
311+
312+
237313
function sendDiskFlowEvent(event, payload) {
238314
if (mainWindow && !mainWindow.isDestroyed()) {
239315
mainWindow.webContents.send("disk-flow-event", { event, payload });

electron/preload.cjs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,20 @@ contextBridge.exposeInMainWorld("electronAPI", {
3232
codeStudio: {
3333
openInVSCode: (filename, code, language) =>
3434
ipcRenderer.invoke("code-studio-open-vscode", filename, code, language),
35+
openWorkspace: () => ipcRenderer.invoke("workspace-open"),
36+
fsList: (dirPath) => ipcRenderer.invoke("fs-list", dirPath),
37+
fsRead: (filePath) => ipcRenderer.invoke("fs-read", filePath),
38+
fsWrite: (filePath, content) => ipcRenderer.invoke("fs-write", filePath, content),
39+
fsRun: (cmd, args, cwd) => ipcRenderer.invoke("fs-run", cmd, args, cwd),
40+
onFsRunData: (runId, cb) => {
41+
const listener = (_e, data) => cb(data);
42+
ipcRenderer.on(`fs-run-data-${runId}`, listener);
43+
return () => ipcRenderer.removeListener(`fs-run-data-${runId}`, listener);
44+
},
45+
onFsRunExit: (runId, cb) => {
46+
const listener = (_e, code) => cb(code);
47+
ipcRenderer.on(`fs-run-exit-${runId}`, listener);
48+
return () => ipcRenderer.removeListener(`fs-run-exit-${runId}`, listener);
49+
}
3550
},
3651
});

landing/index.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<head>
55
<meta charset="UTF-8">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7-
<title>Delay v1.6.0 — The Agentic OS</title>
7+
<title>Delay v1.6.5 — The Agentic OS</title>
88
<meta name="description"
99
content="Autonomous productivity suite. Notes, Tasks, Calendar, Smart Timer, Code Studio, and a local-first AI Agent — all beautifully unified.">
1010
<link rel="icon" type="image/svg+xml" href="favicon.svg">
@@ -546,15 +546,15 @@
546546
<a href="https://github.com/AzizX-coder/Delay">GitHub</a>
547547
</div>
548548
<a href="https://github.com/AzizX-coder/Delay/releases" class="btn btn-accent download-btn">
549-
Get v1.6.0
549+
Get v1.6.5
550550
</a>
551551
</nav>
552552

553553
<!-- ═══ Hero ═══ -->
554554
<section class="hero">
555555
<div class="badge" id="v-tag">
556556
<span class="dot"></span>
557-
v1.6.0The Monaco & Disk Flows Upgrade
557+
v1.6.5Local IDE & Agent Upgrade
558558
</div>
559559

560560
<h1><span class="gradient-text">Your focus,<br>autonomously powered.</span></h1>
@@ -607,7 +607,7 @@ <h1><span class="gradient-text">Your focus,<br>autonomously powered.</span></h1>
607607
<span style="background: #FFBD2E;"></span>
608608
<span style="background: #27C93F;"></span>
609609
</div>
610-
<span style="margin-left: 12px; padding: 2px 8px; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #A5B4FC; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em;">v1.5.0</span>
610+
<span style="margin-left: 12px; padding: 2px 8px; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #A5B4FC; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em;">v1.6.5</span>
611611
<span style="font-size: 11px; font-weight: 500; color: #52525B; margin-left: 6px;">Delay Agentic OS</span>
612612
</div>
613613
<div class="preview-inner">
@@ -644,7 +644,7 @@ <h1><span class="gradient-text">Your focus,<br>autonomously powered.</span></h1>
644644
<!-- ═══ Features ═══ -->
645645
<section class="section" id="features">
646646
<div class="container">
647-
<div class="section-label">Engine v1.5</div>
647+
<div class="section-label">Engine v1.6</div>
648648
<h2 class="section-title">Everything you need,<br>nothing you don't.</h2>
649649
<p class="section-sub">Seven integrated workspaces powered by a local autonomous agent. No cloud. No subscriptions. Just focus.</p>
650650

@@ -683,8 +683,8 @@ <h3>Smart Timer</h3>
683683
<polyline points="8 6 2 12 8 18" />
684684
</svg>
685685
</div>
686-
<h3>Code Studio</h3>
687-
<p>Multi-tab code snippet workspace with AI-powered insights. Write, organize, and improve code with one click.</p>
686+
<h3>Code Studio Local IDE</h3>
687+
<p>Full-fledged local workspace with a multi-tab Monaco editor, interactive File Tree, and a live terminal interface powered by your desktop.</p>
688688
</div>
689689

690690
<!-- Disk Flows -->
@@ -742,7 +742,7 @@ <h2 class="gradient-text">Ready to focus differently?</h2>
742742
<polyline points="7 10 12 15 17 10" />
743743
<line x1="12" y1="15" x2="12" y2="3" />
744744
</svg>
745-
Download v1.5.0
745+
Download v1.6.5
746746
</a>
747747
<a href="https://github.com/AzizX-coder/Delay" class="btn btn-glass" style="padding: 0.85rem 2.5rem; font-size: 1rem;">
748748
View Source

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "delay",
3-
"version": "1.6.0",
3+
"version": "1.6.5",
44
"description": "Notes, tasks, calendar & AI — beautifully organized.",
55
"author": "AzizX-coder",
66
"license": "Apache-2.0",

0 commit comments

Comments
 (0)