Skip to content

Commit 0858240

Browse files
authored
Merge pull request #323 from Latitudes-Dev/shuvcode-dev
Merge shuvcode-dev: v1.1.30 sync + sidebar simplification
2 parents 664f11c + f87238f commit 0858240

File tree

252 files changed

+10677
-1742
lines changed

Some content is hidden

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

252 files changed

+10677
-1742
lines changed

.github/workflows/test.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
printf '%s\n' "MODELS_DEV_API_JSON=${{ github.workspace }}/packages/opencode/test/tool/fixtures/models-api.json" >> "$GITHUB_ENV"
5858
5959
- name: Seed opencode data
60-
if: runner.os != 'Windows'
60+
if: matrix.settings.name != 'windows'
6161
working-directory: packages/opencode
6262
run: bun script/seed-e2e.ts
6363
env:
@@ -78,9 +78,9 @@ jobs:
7878
OPENCODE_E2E_MODEL: "opencode/gpt-5-nano"
7979

8080
- name: Run opencode server
81-
if: runner.os != 'Windows'
81+
if: matrix.settings.name != 'windows'
8282
working-directory: packages/opencode
83-
run: bun dev -- --print-logs --log-level WARN serve --port 4096 --hostname 0.0.0.0 &
83+
run: bun dev -- --print-logs --log-level WARN serve --port 4096 --hostname 127.0.0.1 &
8484
env:
8585
MODELS_DEV_API_JSON: ${{ env.MODELS_DEV_API_JSON }}
8686
OPENCODE_DISABLE_MODELS_FETCH: "true"
@@ -96,10 +96,10 @@ jobs:
9696
OPENCODE_CLIENT: "app"
9797

9898
- name: Wait for opencode server
99-
if: runner.os != 'Windows'
99+
if: matrix.settings.name != 'windows'
100100
run: |
101-
for i in {1..60}; do
102-
curl -fsS "http://localhost:4096/global/health" > /dev/null && exit 0
101+
for i in {1..120}; do
102+
curl -fsS "http://127.0.0.1:4096/global/health" > /dev/null && exit 0
103103
sleep 1
104104
done
105105
exit 1
@@ -120,9 +120,9 @@ jobs:
120120
XDG_CACHE_HOME: ${{ env.XDG_CACHE_HOME }}
121121
XDG_CONFIG_HOME: ${{ env.XDG_CONFIG_HOME }}
122122
XDG_STATE_HOME: ${{ env.XDG_STATE_HOME }}
123-
PLAYWRIGHT_SERVER_HOST: "localhost"
123+
PLAYWRIGHT_SERVER_HOST: "127.0.0.1"
124124
PLAYWRIGHT_SERVER_PORT: "4096"
125-
VITE_OPENCODE_SERVER_HOST: "localhost"
125+
VITE_OPENCODE_SERVER_HOST: "127.0.0.1"
126126
VITE_OPENCODE_SERVER_PORT: "4096"
127127
OPENCODE_CLIENT: "app"
128128
timeout-minutes: 30

.husky/pre-push

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
11
#!/bin/sh
2+
set -e
23
# Check if bun version matches package.json
3-
EXPECTED_VERSION=$(grep '"packageManager"' package.json | sed 's/.*"bun@\([^"]*\)".*/\1/')
4-
CURRENT_VERSION=$(bun --version)
5-
if [ "$CURRENT_VERSION" != "$EXPECTED_VERSION" ]; then
6-
echo "Error: Bun version $CURRENT_VERSION does not match expected version $EXPECTED_VERSION from package.json"
7-
exit 1
8-
fi
4+
# keep in sync with packages/script/src/index.ts semver qualifier
5+
bun -e '
6+
import { semver } from "bun";
7+
const pkg = await Bun.file("package.json").json();
8+
const expectedBunVersion = pkg.packageManager?.split("@")[1];
9+
if (!expectedBunVersion) {
10+
throw new Error("packageManager field not found in root package.json");
11+
}
12+
const expectedBunVersionRange = `^${expectedBunVersion}`;
13+
if (!semver.satisfies(process.versions.bun, expectedBunVersionRange)) {
14+
throw new Error(`This script requires bun@${expectedBunVersionRange}, but you are using bun@${process.versions.bun}`);
15+
}
16+
if (process.versions.bun !== expectedBunVersion) {
17+
console.warn(`Warning: Bun version ${process.versions.bun} differs from expected ${expectedBunVersion}`);
18+
}
19+
'
920
bun typecheck

STATS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,3 +206,4 @@
206206
| 2026-01-18 | 4,627,623 (+238,065) | 1,839,171 (+33,856) | 6,466,794 (+271,921) |
207207
| 2026-01-19 | 4,861,108 (+233,485) | 1,863,112 (+23,941) | 6,724,220 (+257,426) |
208208
| 2026-01-20 | 5,128,999 (+267,891) | 1,903,665 (+40,553) | 7,032,664 (+308,444) |
209+
| 2026-01-21 | 5,444,842 (+315,843) | 1,962,531 (+58,866) | 7,407,373 (+374,709) |

bun.lock

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

flake.lock

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

infra/app.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ const GITHUB_APP_ID = new sst.Secret("GITHUB_APP_ID")
44
const GITHUB_APP_PRIVATE_KEY = new sst.Secret("GITHUB_APP_PRIVATE_KEY")
55
export const EMAILOCTOPUS_API_KEY = new sst.Secret("EMAILOCTOPUS_API_KEY")
66
const ADMIN_SECRET = new sst.Secret("ADMIN_SECRET")
7+
const DISCORD_SUPPORT_BOT_TOKEN = new sst.Secret("DISCORD_SUPPORT_BOT_TOKEN")
8+
const DISCORD_SUPPORT_CHANNEL_ID = new sst.Secret("DISCORD_SUPPORT_CHANNEL_ID")
9+
const FEISHU_APP_ID = new sst.Secret("FEISHU_APP_ID")
10+
const FEISHU_APP_SECRET = new sst.Secret("FEISHU_APP_SECRET")
711
const bucket = new sst.cloudflare.Bucket("Bucket")
812

913
export const api = new sst.cloudflare.Worker("Api", {
@@ -13,7 +17,16 @@ export const api = new sst.cloudflare.Worker("Api", {
1317
WEB_DOMAIN: domain,
1418
},
1519
url: true,
16-
link: [bucket, GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY, ADMIN_SECRET],
20+
link: [
21+
bucket,
22+
GITHUB_APP_ID,
23+
GITHUB_APP_PRIVATE_KEY,
24+
ADMIN_SECRET,
25+
DISCORD_SUPPORT_BOT_TOKEN,
26+
DISCORD_SUPPORT_CHANNEL_ID,
27+
FEISHU_APP_ID,
28+
FEISHU_APP_SECRET,
29+
],
1730
transform: {
1831
worker: (args) => {
1932
args.logpush = true

nix/hashes.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"nodeModules": {
3-
"x86_64-linux": "sha256-xVA4r7Qugw0TSx5wiTI5al93FI4D5LlvQo2ab3cUlmE=",
4-
"aarch64-linux": "sha256-EV0U/mXlrnEyCryL9rLlOZvMn6U0+BSgPhTIudVeqTo=",
5-
"aarch64-darwin": "sha256-zQvdRyNEHrpJsQMj8PZH0Ub21EREmDetVaJ0yBCgDlE=",
6-
"x86_64-darwin": "sha256-Tt5k5KBnrsNVIqPET7OFzClerjdR68XYstyCj3KpvdI="
3+
"x86_64-linux": "sha256-sH6zUk9G4vC6btPZIR9aiSHX0F4aGyUZB7fKbpDUcpE=",
4+
"aarch64-linux": "sha256-CVpdXnFns34hmGwwlRrrI6Uk6B/jZUxfnH4HC2NanEo=",
5+
"aarch64-darwin": "sha256-khP27Iiq+FAZRlzUy7rGXc2MviZjirFH1ShRyd7q1bY=",
6+
"x86_64-darwin": "sha256-nE2p62Tld64sQVMq7j0YNT5Zwjqp22H997+K8xfi1ag="
77
}
88
}

packages/app/AGENTS.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
- NEVER try to restart the app, or the server process, EVER.
44

5+
## Local Dev
6+
7+
- `opencode dev web` proxies `https://app.opencode.ai`, so local UI/CSS changes will not show there.
8+
- For local UI changes, run the backend and app dev servers separately.
9+
- Backend (from `packages/opencode`): `bun run --conditions=browser ./src/index.ts serve --port 4096`
10+
- App (from `packages/app`): `bun dev -- --port 4444`
11+
- Open `http://localhost:4444` to verify UI changes (it targets the backend at `http://localhost:4096`).
12+
513
## SolidJS
614

715
- Always prefer `createStore` over multiple `createSignal` calls

packages/app/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@opencode-ai/app",
3-
"version": "1.1.28-1",
3+
"version": "1.1.30",
44
"description": "",
55
"type": "module",
66
"exports": {
@@ -43,6 +43,7 @@
4343
"@shikijs/transformers": "3.9.2",
4444
"@solid-primitives/active-element": "2.1.3",
4545
"@solid-primitives/audio": "1.4.2",
46+
"@solid-primitives/i18n": "2.2.1",
4647
"@solid-primitives/event-bus": "1.1.2",
4748
"@solid-primitives/media": "2.3.3",
4849
"@solid-primitives/resize-observer": "2.1.3",

packages/app/public/apple-touch-icon-v2.png

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)