Skip to content

Commit 411bb48

Browse files
authored
Merge branch 'dev' into add-kdcokenny-ecosystem
2 parents 67ec364 + bded900 commit 411bb48

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+6035
-839
lines changed

.github/pull_request_template.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
### What does this PR do?
2+
3+
### How did you verify your code works?

bun.lock

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

nix/hashes.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"nodeModules": "sha256-rNGq0yjL5ZHYVg+zyV4nFPug4gqhKhyOnfebaufyd34="
2+
"nodeModules": "sha256-KjBAaI9Kv6huOmPvUbtyYsMhbScI91w1lOZyXpIWqI0="
33
}

packages/app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@opencode-ai/app",
3-
"version": "1.1.6",
3+
"version": "1.1.8",
44
"description": "",
55
"type": "module",
66
"exports": {

packages/app/src/app.tsx

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,16 @@ export function AppInterface() {
108108
<Route path="/" component={() => <Navigate href="session" />} />
109109
<Route
110110
path="/session/:id?"
111-
component={(p) => (
112-
<Show when={p.params.id ?? "new"} keyed>
113-
<TerminalProvider>
114-
<FileProvider>
115-
<PromptProvider>
116-
<Suspense fallback={<Loading />}>
117-
<Session />
118-
</Suspense>
119-
</PromptProvider>
120-
</FileProvider>
121-
</TerminalProvider>
122-
</Show>
111+
component={() => (
112+
<TerminalProvider>
113+
<FileProvider>
114+
<PromptProvider>
115+
<Suspense fallback={<Loading />}>
116+
<Session />
117+
</Suspense>
118+
</PromptProvider>
119+
</FileProvider>
120+
</TerminalProvider>
123121
)}
124122
/>
125123
</Route>

packages/app/src/components/dialog-edit-project.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,11 @@ import { createMemo, createSignal, For, Show } from "solid-js"
77
import { createStore } from "solid-js/store"
88
import { useGlobalSDK } from "@/context/global-sdk"
99
import { type LocalProject, getAvatarColors } from "@/context/layout"
10+
import { getFilename } from "@opencode-ai/util/path"
1011
import { Avatar } from "@opencode-ai/ui/avatar"
1112

1213
const AVATAR_COLOR_KEYS = ["pink", "mint", "orange", "purple", "cyan", "lime"] as const
1314

14-
function getFilename(input: string) {
15-
const parts = input.split("/")
16-
return parts[parts.length - 1] || input
17-
}
18-
1915
export function DialogEditProject(props: { project: LocalProject }) {
2016
const dialog = useDialog()
2117
const globalSDK = useGlobalSDK()

packages/app/src/components/terminal.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ export const Terminal = (props: TerminalProps) => {
4545
let serializeAddon: SerializeAddon
4646
let fitAddon: FitAddon
4747
let handleResize: () => void
48+
let handleTextareaFocus: () => void
49+
let handleTextareaBlur: () => void
4850
let reconnect: number | undefined
4951
let disposed = false
5052

@@ -105,6 +107,7 @@ export const Terminal = (props: TerminalProps) => {
105107

106108
const t = new mod.Terminal({
107109
cursorBlink: true,
110+
cursorStyle: "bar",
108111
fontSize: 14,
109112
fontFamily: "IBM Plex Mono, monospace",
110113
allowTransparency: true,
@@ -170,6 +173,17 @@ export const Terminal = (props: TerminalProps) => {
170173

171174
t.open(container)
172175
container.addEventListener("pointerdown", handlePointerDown)
176+
177+
handleTextareaFocus = () => {
178+
t.options.cursorBlink = true
179+
}
180+
handleTextareaBlur = () => {
181+
t.options.cursorBlink = false
182+
}
183+
184+
t.textarea?.addEventListener("focus", handleTextareaFocus)
185+
t.textarea?.addEventListener("blur", handleTextareaBlur)
186+
173187
focusTerminal()
174188

175189
if (local.pty.buffer) {
@@ -242,6 +256,8 @@ export const Terminal = (props: TerminalProps) => {
242256
window.removeEventListener("resize", handleResize)
243257
}
244258
container.removeEventListener("pointerdown", handlePointerDown)
259+
term?.textarea?.removeEventListener("focus", handleTextareaFocus)
260+
term?.textarea?.removeEventListener("blur", handleTextareaBlur)
245261

246262
const t = term
247263
if (serializeAddon && props.onCleanup && t) {

0 commit comments

Comments
 (0)