Skip to content

Commit 5df49ac

Browse files
committed
feat: update changelog for version 0.0.7, modify release commands, and enhance clipboard manager with API key configuration
1 parent b4a8d93 commit 5df49ac

7 files changed

Lines changed: 38 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.0.7] - 2024-12-15
6+
7+
### Added
8+
- Enter key opens URLs in browser (instead of copying)
9+
- C key always copies selected item
10+
11+
### Fixed
12+
- Clipboard history now saves items even without OpenAI API key configured
13+
- Items without API key save with empty embedding (semantic search disabled until key added)
14+
15+
### Changed
16+
- macOS builds now arm64 only (removed Intel x64)
17+
518
## [0.0.6] - 2024-12-14
619

720
### Added

RELEASE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### 1. Update version
66
```bash
7-
npm version patch --no-git-tag-version
7+
bun release:patch
88
```
99
- `patch`: 0.0.4 → 0.0.5 (bug fixes)
1010
- `minor`: 0.0.4 → 0.1.0 (new features)

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "clipai",
3-
"version": "0.0.6",
3+
"version": "0.0.7",
44
"description": "Modern clipboard history manager powered by AI",
55
"author": "Mikheil Berishvili",
66
"main": "dist/main/main.js",
@@ -21,7 +21,9 @@
2121
"package:all": "bun run build && electron-builder --mac --win",
2222
"package:dir": "bun run build && electron-builder --dir",
2323
"rebuild": "electron-rebuild",
24-
"release": "npm version patch --no-git-tag-version"
24+
"release:patch": "npm version patch --no-git-tag-version",
25+
"release:minor": "npm version minor --no-git-tag-version",
26+
"release:major": "npm version major --no-git-tag-version"
2527
},
2628
"build": {
2729
"appId": "com.clipai.app",

src/main/clipboardManager.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import { clipboard, BrowserWindow } from "electron";
1+
import { clipboard, BrowserWindow, type Config } from "electron";
22
import type { ClipboardItem } from "../models/ClipboardItem.ts";
33
import type { DatabaseManager } from "./database.ts";
44
import log from "electron-log";
55
import type { EmbeddingService } from "./embeddingService.ts";
6+
import type { ConfigManager } from "./configManager.ts";
67

78
export class ClipboardManager {
89
private history: ClipboardItem[] = [];
@@ -12,15 +13,18 @@ export class ClipboardManager {
1213
private window: BrowserWindow | null = null;
1314
private db: DatabaseManager;
1415
private embeddingService: EmbeddingService;
16+
private configManager: ConfigManager;
1517

1618
constructor(
1719
window: BrowserWindow,
1820
database: DatabaseManager,
19-
embeddingService: EmbeddingService
21+
embeddingService: EmbeddingService,
22+
configManager: ConfigManager
2023
) {
2124
this.window = window;
2225
this.db = database;
2326
this.embeddingService = embeddingService;
27+
this.configManager = configManager;
2428
this.loadHistoryFromDB();
2529
}
2630

@@ -103,9 +107,12 @@ export class ClipboardManager {
103107
if (trimmedText && text !== this.lastClipboardText) {
104108
this.lastClipboardText = text;
105109

106-
const embedding = await this.embeddingService.getEmbedding(
107-
trimmedText
108-
);
110+
let embedding: number[] | undefined;
111+
if (this.configManager.isApiKeyConfigured()) {
112+
embedding = await this.embeddingService.getEmbedding(trimmedText);
113+
} else {
114+
embedding = undefined;
115+
}
109116

110117
const item: ClipboardItem = {
111118
type: "text",

src/main/configManager.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ export class ConfigManager {
7272
return this.config.openaiApiKey;
7373
}
7474

75+
isApiKeyConfigured(): boolean {
76+
return !!this.config.openaiApiKey;
77+
}
78+
7579
setOpenAIApiKey(apiKey: string): void {
7680
this.config.openaiApiKey = apiKey.trim();
7781
this.saveConfig();

src/main/main.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,8 @@ async function createWindow() {
149149
clipboardManager = new ClipboardManager(
150150
win,
151151
databaseManager!,
152-
embeddingService!
152+
embeddingService!,
153+
configManager!
153154
);
154155
clipboardManager.start();
155156
}

0 commit comments

Comments
 (0)