summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-12-11 00:43:00 -0500
committerDax Raad <[email protected]>2025-12-11 00:43:00 -0500
commit578072bb8e31eda93843fa85d83b2112f973c396 (patch)
treee579af8dcc04e9295d05b20766b1409b27578f9e
parent231390cb7b68751b4adf51a20f78ef0ee63e2eeb (diff)
downloadopencode-578072bb8e31eda93843fa85d83b2112f973c396.tar.gz
opencode-578072bb8e31eda93843fa85d83b2112f973c396.zip
use new share url
-rw-r--r--packages/opencode/src/session/index.ts25
-rw-r--r--packages/opencode/src/share/share-next.ts15
2 files changed, 9 insertions, 31 deletions
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts
index 484a1a8a7..bf3135284 100644
--- a/packages/opencode/src/session/index.ts
+++ b/packages/opencode/src/session/index.ts
@@ -223,34 +223,13 @@ export namespace Session {
if (cfg.share === "disabled") {
throw new Error("Sharing is disabled in configuration")
}
-
- if (cfg.enterprise?.url) {
- const { ShareNext } = await import("@/share/share-next")
- const share = await ShareNext.create(id)
- await update(id, (draft) => {
- draft.share = {
- url: share.url,
- }
- })
- }
-
- const session = await get(id)
- if (session.share) return session.share
- const { Share } = await import("../share/share")
- const share = await Share.create(id)
+ const { ShareNext } = await import("@/share/share-next")
+ const share = await ShareNext.create(id)
await update(id, (draft) => {
draft.share = {
url: share.url,
}
})
- await Storage.write(["share", id], share)
- await Share.sync("session/info/" + id, session)
- for (const msg of await messages({ sessionID: id })) {
- await Share.sync("session/message/" + id + "/" + msg.info.id, msg.info)
- for (const part of msg.parts) {
- await Share.sync("session/part/" + id + "/" + msg.info.id + "/" + part.id, part)
- }
- }
return share
})
diff --git a/packages/opencode/src/share/share-next.ts b/packages/opencode/src/share/share-next.ts
index 5196aeb98..fea9c3bb9 100644
--- a/packages/opencode/src/share/share-next.ts
+++ b/packages/opencode/src/share/share-next.ts
@@ -11,9 +11,11 @@ import type * as SDK from "@opencode-ai/sdk/v2"
export namespace ShareNext {
const log = Log.create({ service: "share-next" })
+ async function url() {
+ return Config.get().then((x) => x.enterprise?.url ?? "https://opncd.ai")
+ }
+
export async function init() {
- const config = await Config.get()
- if (!config.enterprise) return
Bus.subscribe(Session.Event.Updated, async (evt) => {
await sync(evt.properties.info.id, [
{
@@ -62,8 +64,7 @@ export namespace ShareNext {
export async function create(sessionID: string) {
log.info("creating share", { sessionID })
- const url = await Config.get().then((x) => x.enterprise!.url)
- const result = await fetch(`${url}/api/share`, {
+ const result = await fetch(`${await url()}/api/share`, {
method: "POST",
headers: {
"Content-Type": "application/json",
@@ -126,11 +127,10 @@ export namespace ShareNext {
const queued = queue.get(sessionID)
if (!queued) return
queue.delete(sessionID)
- const url = await Config.get().then((x) => x.enterprise!.url)
const share = await get(sessionID)
if (!share) return
- await fetch(`${url}/api/share/${share.id}/sync`, {
+ await fetch(`${await url()}/api/share/${share.id}/sync`, {
method: "POST",
headers: {
"Content-Type": "application/json",
@@ -146,10 +146,9 @@ export namespace ShareNext {
export async function remove(sessionID: string) {
log.info("removing share", { sessionID })
- const url = await Config.get().then((x) => x.enterprise!.url)
const share = await get(sessionID)
if (!share) return
- await fetch(`${url}/api/share/${share.id}`, {
+ await fetch(`${await url()}/api/share/${share.id}`, {
method: "DELETE",
headers: {
"Content-Type": "application/json",