From 8b32ad096253697f3ed16fd28e513210e6ca442c Mon Sep 17 00:00:00 2001 From: omavashia Date: Sat, 18 Jul 2026 16:51:07 -0700 Subject: [PATCH 1/3] some logging --- electron/main/main.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/electron/main/main.ts b/electron/main/main.ts index 4378fb5..a6374ee 100644 --- a/electron/main/main.ts +++ b/electron/main/main.ts @@ -88,6 +88,7 @@ let activeIdx = 0; let mode: 'spotlight' | 'full' = 'full'; let rendererReady = false; let pendingShow: { mode: 'textbox' | 'followup'; refineFrom?: Option } | null = null; +let queryNumber = 0; // h is each mode's floor/initial height; content reports its real height via viking:resize. const SIZES = { @@ -180,7 +181,18 @@ async function captureScreen(): Promise { const sources = await desktopCapturer.getSources({ types: ['screen'], thumbnailSize: { width, height } }); const img = sources[0]?.thumbnail; if (!img || img.isEmpty()) return undefined; - return nativeImage.createFromBuffer(img.toJPEG(70)).toDataURL(); + const jpeg = img.toJPEG(70); + const screenshot = nativeImage.createFromBuffer(jpeg).toDataURL(); + try { + const dir = path.join(app.getPath('pictures'), 'viking-screenshots'); + const file = path.join(dir, `query-${Date.now()}-${++queryNumber}.jpg`); + fs.mkdirSync(dir, { recursive: true }); + fs.writeFileSync(file, jpeg); + console.log('[viking] screenshot saved:', file); + } catch (error) { + console.warn('[viking] screenshot save failed:', error); + } + return screenshot; } catch { return undefined; } } From 4343cec74e26ca91b82f2a5e3efd489c6f0bda0c Mon Sep 17 00:00:00 2001 From: omavashia Date: Sat, 18 Jul 2026 17:05:06 -0700 Subject: [PATCH 2/3] release docs --- docs/releases.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 docs/releases.md diff --git a/docs/releases.md b/docs/releases.md new file mode 100644 index 0000000..e59d09a --- /dev/null +++ b/docs/releases.md @@ -0,0 +1,68 @@ +# Releases + +Viking releases are tag-driven. Use Node 22, keep the worktree clean, and run +the version step from a short-lived branch before publishing from `main`. + +## 1. Check the release + +Preview the next patch release without changing anything: + +```sh +npm run release:dry-run +``` + +Use `minor`, `major`, or an exact version when needed: + +```sh +npm run release:dry-run -- minor +npm run release:dry-run -- 1.2.3 +``` + +## 2. Prepare the version PR + +On a short-lived branch, bump the version and push the release commit: + +```sh +npm run release:prepare:patch # or release:prepare:minor / release:prepare:major +``` + +Open a PR for the generated `Release vX.Y.Z` commit and merge it into `main`. + +If the branch is not ready to push yet, add `--no-push` and push it later: + +```sh +npm run release:prepare:patch -- --no-push +``` + +## 3. Publish from `main` + +Sync local `main`, then create and push the tag: + +```sh +git switch main +git pull --ff-only +npm run release:patch # or release:minor / release:major +``` + +The script creates `vX.Y.Z` and pushes it to `origin`. To publish an exact +version, use `npm run release -- 1.2.3`. + +## Local builds + +Use these before publishing when you want to inspect artifacts locally: + +```sh +npm run pack:mac # unpacked Apple Silicon app +npm run dist:mac # macOS DMG and ZIP +npm run dist:win # Windows x64 installer and ZIP +npm run dist # current platform's installer +``` + +## What CI publishes + +Pushing a `v*` tag starts `.github/workflows/release.yml`. It builds and +uploads Apple Silicon macOS DMG/ZIP files and Windows x64 NSIS/ZIP files to +the GitHub Release. The macOS unpacked build also runs its smoke test first. + +Artifacts are unsigned: macOS may require Gatekeeper approval, Windows shows +an unknown-publisher warning, and macOS auto-update remains disabled. From 6a15f0aaa8eb77287bc5bc0e04d5c4509c010e4c Mon Sep 17 00:00:00 2001 From: omavashia Date: Sat, 18 Jul 2026 17:06:31 -0700 Subject: [PATCH 3/3] Release v0.1.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b58ab59..be4508f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "viking", - "version": "0.1.2", + "version": "0.1.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "viking", - "version": "0.1.2", + "version": "0.1.3", "dependencies": { "@ff-labs/fff-node": "^0.9.6", "@modelcontextprotocol/sdk": "^1.0.4", diff --git a/package.json b/package.json index 4cc0d03..16e8a70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "viking", - "version": "0.1.2", + "version": "0.1.3", "private": true, "description": "Floating AI coding assistant for macOS and Windows", "author": "omavashia",