summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-19 16:07:01 -0400
committerDax Raad <[email protected]>2025-05-26 12:40:17 -0400
commitfa8a46326afa2d7fbb592542abf243f248cb5992 (patch)
tree96b7b0ef2054551ad1b8b3a48ce35c8f6f79ee5a
parent652429377b99085d686d6b907c2f550c304e6b98 (diff)
downloadopencode-fa8a46326afa2d7fbb592542abf243f248cb5992.tar.gz
opencode-fa8a46326afa2d7fbb592542abf243f248cb5992.zip
codegen
-rw-r--r--cmd/root.go3
-rw-r--r--js/src/app/index.ts2
-rw-r--r--js/src/server/server.ts3
-rw-r--r--js/src/util/log.ts2
-rw-r--r--pkg/client/event.go17
5 files changed, 14 insertions, 13 deletions
diff --git a/cmd/root.go b/cmd/root.go
index 81083ef72..ea68cd5ad 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -5,12 +5,14 @@ import (
"fmt"
"io"
"os"
+ "strings"
"sync"
"time"
"log/slog"
tea "github.com/charmbracelet/bubbletea"
+ "github.com/go-viper/mapstructure/v2"
zone "github.com/lrstanley/bubblezone"
"github.com/spf13/cobra"
"github.com/sst/opencode/internal/app"
@@ -23,6 +25,7 @@ import (
"github.com/sst/opencode/internal/pubsub"
"github.com/sst/opencode/internal/tui"
"github.com/sst/opencode/internal/version"
+ "github.com/sst/opencode/pkg/client"
)
type SessionIDHandler struct {
diff --git a/js/src/app/index.ts b/js/src/app/index.ts
index 472b39400..d88950985 100644
--- a/js/src/app/index.ts
+++ b/js/src/app/index.ts
@@ -12,7 +12,7 @@ export namespace App {
const ctx = Context.create<Info>("app");
export async function create(input: { directory: string }) {
- Log.file(input.directory);
+ // Log.file(input.directory);
log.info("creating");
const config = await Config.load(input.directory);
diff --git a/js/src/server/server.ts b/js/src/server/server.ts
index 5d9333e45..ea4f5eab0 100644
--- a/js/src/server/server.ts
+++ b/js/src/server/server.ts
@@ -32,6 +32,9 @@ export namespace Server {
.get("/event", async (c) => {
log.info("event connected");
return streamSSE(c, async (stream) => {
+ stream.writeSSE({
+ data: JSON.stringify({}),
+ });
const unsub = Bus.subscribeAll(async (event) => {
await stream.writeSSE({
data: JSON.stringify(event),
diff --git a/js/src/util/log.ts b/js/src/util/log.ts
index 8ba0a15cf..8d316e04e 100644
--- a/js/src/util/log.ts
+++ b/js/src/util/log.ts
@@ -32,7 +32,7 @@ export namespace Log {
})
.map(([key, value]) => `${key}=${value}`)
.join(" ");
- return [prefix, message].join(" ");
+ return [prefix, message].join(" ") + "\n";
}
const result = {
info(message?: any, extra?: Record<string, any>) {
diff --git a/pkg/client/event.go b/pkg/client/event.go
index a6d7798fa..677eb424b 100644
--- a/pkg/client/event.go
+++ b/pkg/client/event.go
@@ -20,18 +20,18 @@ type EventMessage struct {
func (c *Client) Event(ctx context.Context) (<-chan any, error) {
events := make(chan any)
- req, err := http.NewRequestWithContext(ctx, "GET", c.Server+"/event", nil)
+ req, err := http.NewRequestWithContext(ctx, "GET", c.Server+"event", nil)
+ if err != nil {
+ return nil, err
+ }
+
+ resp, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
go func() {
defer close(events)
-
- resp, err := http.DefaultClient.Do(req)
- if err != nil {
- return
- }
defer resp.Body.Close()
scanner := bufio.NewScanner(resp.Body)
@@ -47,11 +47,6 @@ func (c *Client) Event(ctx context.Context) (<-chan any, error) {
eventTemplate, exists := EventMap[eventMsg.Type]
if !exists {
- select {
- case events <- eventMsg:
- case <-ctx.Done():
- return
- }
continue
}