Skip to content

Commit 517e48e

Browse files
committed
Update CHANGELOG for v0.0.5 release and enhance UI components
- Document new features including mobile companion shell, branch sync action, merge conflict workflow, and structured Git action failures. - Update dependencies and improve UI components. - Adjust width in marketing page styles for better responsiveness. - Add tests for terminal state management and WebSocket API enhancements. - Introduce new assets for branding and update asset generation script.
1 parent c7245f7 commit 517e48e

12 files changed

Lines changed: 136 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
- CLI npm package name is `okcodes`. Install with `npm install -g okcodes`; the `okcode` binary name is unchanged.
1313

14+
## [0.0.5] - 2026-03-28
15+
16+
See [docs/releases/v0.0.5.md](docs/releases/v0.0.5.md) for full notes and [docs/releases/v0.0.5/assets.md](docs/releases/v0.0.5/assets.md) for release asset inventory.
17+
18+
### Added
19+
20+
- Add mobile companion shell and deep-link pairing.
21+
- Add branch sync action to git controls.
22+
- Add merge conflict workflow and navigation.
23+
- Add structured Git action failures and retry UI.
24+
- Add PR review filters and scoped workspace.
25+
- Add PR review features and conflict resolution.
26+
- Send terminal selections directly from the composer.
27+
- Open chat file links in the viewer or editor.
28+
- Add package script defaults and import flow.
29+
- Add viewport-aware preview bounds projection.
30+
- Add markdown preview rendering.
31+
32+
### Changed
33+
34+
- Update dependencies and enhance UI components.
35+
- Enhance release workflow and update asset documentation for v0.0.4.
36+
1437
## [0.0.4] - 2026-03-27
1538

1639
See [docs/releases/v0.0.4.md](docs/releases/v0.0.4.md) for full notes and [docs/releases/v0.0.4/assets.md](docs/releases/v0.0.4/assets.md) for release asset inventory.
@@ -98,3 +121,4 @@ First public version tag. See [docs/releases/v0.0.1.md](docs/releases/v0.0.1.md)
98121
[0.0.3]: https://github.com/OpenKnots/okcode/releases/tag/v0.0.3
99122
[0.0.2]: https://github.com/OpenKnots/okcode/releases/tag/v0.0.2
100123
[0.0.1]: https://github.com/OpenKnots/okcode/releases/tag/v0.0.1
124+
[0.0.5]: https://github.com/OpenKnots/okcode/releases/tag/v0.0.5

apps/marketing/src/pages/index.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ const themeIdeas = [
483483
.feature-grid,
484484
.spotlight,
485485
.theme-section {
486-
width: min(1280px, 100%);
486+
width: min(1536px, 100%);
487487
margin-inline: auto;
488488
}
489489

apps/web/src/components/ui/sidebar.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@ describe("sidebar interactive cursors", () => {
7272
expect(html).toContain("--sidebar-background-opacity:0.4");
7373
expect(html).toContain("background-color:color-mix");
7474
expect(html).toContain("border-color:color-mix");
75-
expect(html).not.toContain("opacity:0.4");
75+
expect(html).not.toContain('style="opacity:0.4');
7676
});
7777
});

apps/web/src/terminalStateStore.test.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,33 @@
11
import { ThreadId } from "@okcode/contracts";
22
import { beforeEach, describe, expect, it } from "vitest";
3+
import { createJSONStorage } from "zustand/middleware";
34

45
import { selectThreadTerminalState, useTerminalStateStore } from "./terminalStateStore";
56

67
const THREAD_ID = ThreadId.makeUnsafe("thread-1");
78

9+
const memoryStorage = (() => {
10+
const store = new Map<string, string>();
11+
return {
12+
getItem: (key: string) => store.get(key) ?? null,
13+
setItem: (key: string, value: string) => {
14+
store.set(key, value);
15+
},
16+
removeItem: (key: string) => {
17+
store.delete(key);
18+
},
19+
clear: () => {
20+
store.clear();
21+
},
22+
};
23+
})();
24+
825
describe("terminalStateStore actions", () => {
926
beforeEach(() => {
10-
if (typeof localStorage !== "undefined") {
11-
localStorage.clear();
12-
}
27+
useTerminalStateStore.persist.setOptions({
28+
storage: createJSONStorage(() => memoryStorage),
29+
});
30+
memoryStorage.clear();
1331
useTerminalStateStore.setState({ terminalStateByThreadId: {} });
1432
});
1533

apps/web/src/wsNativeApi.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,19 @@ const subscribeMock = vi.fn<
4848
}
4949
};
5050
});
51+
const subscribeStateMock = vi.fn<(listener: (state: string) => void) => () => void>((listener) => {
52+
listener("connecting");
53+
return () => {};
54+
});
55+
const getStateMock = vi.fn<() => string>(() => "connecting");
5156

5257
vi.mock("./wsTransport", () => {
5358
return {
5459
WsTransport: class MockWsTransport {
5560
request = requestMock;
5661
subscribe = subscribeMock;
62+
subscribeState = subscribeStateMock;
63+
getState = getStateMock;
5764
getLatestPush(channel: string) {
5865
return latestPushByChannel.get(channel) ?? null;
5966
}
@@ -107,6 +114,8 @@ beforeEach(() => {
107114
requestMock.mockReset();
108115
showContextMenuFallbackMock.mockReset();
109116
subscribeMock.mockClear();
117+
subscribeStateMock.mockClear();
118+
getStateMock.mockClear();
110119
channelListeners.clear();
111120
latestPushByChannel.clear();
112121
nextPushSequence = 1;

assets/dev/okcode-dev-windows.ico

23.2 KB
Binary file not shown.

assets/prod/okcode-windows.ico

-223 KB
Binary file not shown.
92 KB
Loading

docs/releases/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Human-readable notes and asset inventories for tagged releases.
44

55
| Version | Notes | Assets |
66
| ------------------ | ------------------------------------------- | ---------------------------- |
7+
| [0.0.5](v0.0.5.md) | Git workflows, PR review, mobile shell | [manifest](v0.0.5/assets.md) |
78
| [0.0.4](v0.0.4.md) | PR review, desktop preview, release tooling | [manifest](v0.0.4/assets.md) |
89
| [0.0.3](v0.0.3.md) | Onboarding, code viewer, PRs | [manifest](v0.0.3/assets.md) |
910
| [0.0.2](v0.0.2.md) | Patch release | [manifest](v0.0.2/assets.md) |

docs/releases/v0.0.5.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# OK Code v0.0.5
2+
3+
**Date:** 2026-03-28
4+
**Tag:** [`v0.0.5`](https://github.com/OpenKnots/okcode/releases/tag/v0.0.5)
5+
6+
## Summary
7+
8+
OK Code v0.0.5 expands git-assisted workflows with structured action recovery, merge-conflict navigation, branch sync and terminal-send controls, deeper PR review tooling, and the first mobile companion shell.
9+
10+
## Highlights
11+
12+
- **Add mobile companion shell and deep-link pairing.**
13+
- **Add branch sync action to git controls.**
14+
- **Add merge conflict workflow and navigation.**
15+
- **Add structured Git action failures and retry UI.**
16+
- **Add PR review filters and scoped workspace.**
17+
- **Add PR review features and conflict resolution.**
18+
- **Send terminal selections directly from the composer.**
19+
- **Open chat file links in the viewer or editor.**
20+
21+
## Breaking changes
22+
23+
- None.
24+
25+
## Upgrade and install
26+
27+
- **CLI:** `npm install -g okcodes@0.0.5` (after the package is published to npm manually).
28+
- **Desktop:** Download from [GitHub Releases](https://github.com/OpenKnots/okcode/releases/tag/v0.0.5). Filenames are listed in [assets.md](v0.0.5/assets.md).
29+
30+
## Known limitations
31+
32+
OK Code remains early work in progress. Expect rough edges around session recovery, streaming edge cases, and platform-specific desktop behavior. Report issues on GitHub.

0 commit comments

Comments
 (0)