Commit Graph

480 Commits

Author SHA1 Message Date
github-actions[bot] 1c17405431 Update README downloads badge 2026-07-26 07:11:08 +00:00
github-actions[bot] c4b7aeddd7 Update README downloads badge 2026-07-26 00:59:08 +00:00
github-actions[bot] 9eff3728a3 Update README downloads badge 2026-07-25 18:35:56 +00:00
github-actions[bot] be0212e278 Update README downloads badge 2026-07-25 07:03:47 +00:00
github-actions[bot] a903304ad4 Update README downloads badge 2026-07-25 00:55:11 +00:00
github-actions[bot] 506b75c768 Update README downloads badge 2026-07-24 21:44:43 +00:00
github-actions[bot] 3dfbb10775 Update README downloads badge 2026-07-24 18:47:45 +00:00
github-actions[bot] 17959a22b8 Update README downloads badge 2026-07-24 12:47:46 +00:00
Neil 662d23f9b3
fix(readme): point French star badge to repo root (#10335)
Co-authored-by: Orca <help@stably.ai>
2026-07-24 00:39:12 -07:00
github-actions[bot] cda97cec41 Update README downloads badge 2026-07-24 07:10:19 +00:00
Jinjing c88cf8413f docs: finish Android APK 0.0.32 link rollup
Point localized READMEs and in-app Android download CTAs at
mobile-android-v0.0.32 (English README and orca-site were already updated).
2026-07-23 22:20:43 -07:00
github-actions[bot] 43f626574b Update README downloads badge 2026-07-24 00:34:31 +00:00
github-actions[bot] e55e15d44b Update README downloads badge 2026-07-23 18:43:10 +00:00
github-actions[bot] 434f433287 Update README downloads badge 2026-07-23 12:48:59 +00:00
OrcaWin 569e9d88f8
docs: update WeChat QR to group 5 (#10126)
All earlier WeChat groups are full; point the README QR and copy at group 5.
2026-07-23 00:19:06 -07:00
github-actions[bot] 2b7aa0aead Update README downloads badge 2026-07-23 07:09:53 +00:00
Neil a0944cc129
fix(linux): restore Ubuntu 20.04 launch — pin node-pty glibc symbols + add glibc/libstdc++ packaging gate (#9902) (#10019)
* fix(linux): restore Ubuntu 20.04 launch by pinning node-pty glibc symbols (#9902)

The bundled node-pty pty.node is compiled from source in release CI on
ubuntu-latest (glibc 2.39). glibc's 2.32-2.34 libpthread/libutil merge
relocated openpty/forkpty (GLIBC_2.34) and pthread_sigmask (GLIBC_2.32)
into libc under new symbol versions, so the from-source build bound to
versions absent on Ubuntu 20.04 (glibc 2.31). The main process imports
node-pty at startup, so the app crashed on launch. pty.node is the sole
blocker (Electron needs GLIBC_2.25; other native modules <= 2.17).

- Patch node-pty: a .symver shim pins the 3 symbols to their pre-merge
  version (GLIBC_2.2.5 x64 / GLIBC_2.17 arm64), and Linux-only ldflags
  force libutil.so.1/libpthread.so.0 back into DT_NEEDED. Guarded to
  Linux; macOS/Windows untouched.
- Add a packaging gate (verify-linux-glibc-floor.cjs, afterPack): reads
  each bundled native binary's objdump -p version needs and fails the
  Linux build if any strong GLIBC_/GLIBCXX_/CXXABI_ node exceeds stock
  Ubuntu 20.04 (glibc 2.31 / GLIBCXX_3.4.28 / CXXABI_1.3.12). Catches
  GLIBC_ABI_DT_RELR, rejects GLIBC_PRIVATE, skips weak needs, fail-closed.
- Docs + tests; the lazy sherpa-onnx speech prebuilt (GLIBCXX_3.4.29,
  never loaded at launch) is a documented libstdc++-floor exemption.

* fix(linux): assert DT_NEEDED provider deps in the glibc-floor gate

Harden the packaging gate (flagged in adversarial re-eval): the version-floor
check alone can false-pass if the patch's forced `-l:libutil.so.1` ever silently
drops — the pinned openpty@GLIBC_2.2.5 still resolves from libc's compat alias at
build time, but fails to load on Ubuntu 20.04 where openpty/forkpty live only in
libutil. The gate now also asserts that any binary importing openpty/forkpty
keeps libutil.so.1 in DT_NEEDED. Validated on a real symver-pinned .so with
libutil dropped (now fails) vs. present (passes). Documents the recommended
real-host smoke-test follow-up.
2026-07-22 19:11:44 -07:00
github-actions[bot] 6a8e992c32 Update README downloads badge 2026-07-23 00:55:31 +00:00
github-actions[bot] 05ec4b749b Update README downloads badge 2026-07-22 18:41:48 +00:00
github-actions[bot] 334027cfd5 Update README downloads badge 2026-07-22 12:47:33 +00:00
github-actions[bot] e9e7d17be7 Update README downloads badge 2026-07-22 07:11:36 +00:00
OrcaWin b232df732b
fix(terminal): make remote agent sessions host-authoritative (#9687) 2026-07-21 20:51:28 -07:00
OrcaWin f9f3cd2fbe
fix(terminal): prevent reconnect from killing live daemon sessions (#9804) 2026-07-21 19:20:16 -07:00
OrcaWin 34c160442f
Fix headless Linux serve pairing readiness (#9785) 2026-07-21 18:23:20 -07:00
github-actions[bot] 21e26de456 Update README downloads badge 2026-07-21 23:02:49 +00:00
github-actions[bot] 937a2015ea Update README downloads badge 2026-07-21 18:44:57 +00:00
github-actions[bot] 18b7aa301e Update README downloads badge 2026-07-21 07:10:43 +00:00
OrcaWin cc44acaaa3
Fix Windows ConPTY OSC color reply leaks at the PTY owner (#9651) 2026-07-20 20:50:25 -07:00
Yunqian Fan aad34cbb32
docs(headless-server): add upgrade SOP for orca serve on Linux (#9575)
* docs(headless-server): add upgrade SOP for orca serve on Linux

The headless Linux guide covered install/run/systemd but had no upgrade
section, leaving operators to guess how to move to a new AppImage without
losing state.

Add an "Upgrade" section documenting the manual SOP (serve mode never
auto-updates) and one troubleshooting bullet:

- State lives under the service user's ~/.config (orca + Orca dirs),
  independent of /opt/orca, and orca-data.json is forward-migrated on load,
  so a forward upgrade is safe.
- Replace the binary with an atomic same-filesystem rename (download to
  .new, verify, mv) — never curl -o over the FUSE-mounted live binary.
- Back up the whole .config before upgrading, because rollback is NOT
  binary-only safe: an older build strips newer orca-data.json fields it
  doesn't recognize, and the .bak.* ring is corruption-recovery, not a
  pre-upgrade copy.
- Note there is no headless version command; track the release tag instead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(headless-server): harden the orca serve upgrade/rollback runbook

Address CodeRabbit review on #9575:

- Fail closed: run the upgrade block under `set -euo pipefail`, remove any stale
  `.new` file before download, and gate the atomic `mv` on an explicit ELF check
  so a failed/partial/non-ELF download can never be promoted.
- Keep /opt/orca/VERSION tied to the installed binary: a single `TAG` variable
  drives both the download URL and the recorded VERSION, saved as VERSION.prev on
  upgrade and restored on rollback so the audit file never drifts.
- Crash-loop troubleshooting now points to Roll back first (restores the
  pre-upgrade orca-data.json) instead of re-running Upgrade.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(headless): harden server upgrade SOP

---------

Co-authored-by: fanyunqian.1 <fanyunqian.1@bytedance.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-07-20 21:38:39 -04:00
github-actions[bot] 6424a73520 Update README downloads badge 2026-07-21 00:54:15 +00:00
github-actions[bot] d9d939a33b Update README downloads badge 2026-07-20 12:58:56 +00:00
Jinjing c240271c72 docs(readme): add French translation and reorder language links
Add a native French README and put Chinese, Japanese, and Korean first in the language switcher.
2026-07-20 01:18:55 -07:00
Neil 24cfb97d39 fix(readme): stop star/license badges showing 429 from badgen
badgen.net rate-limits against GitHub and paints "429" into the badge.
Switch stars to shields.io (repo stargazers_count), use a static MIT
license badge, and drop /stargazers links which now 404 for the public
after GitHub's July 2026 stargazer access restrictions.
2026-07-20 01:14:55 -07:00
OrcaWin ddb5b930e1
fix(rate-limits): surface Fable weekly usage when is_active is false (#8979) (#9389) 2026-07-20 00:39:08 -07:00
github-actions[bot] 904762fa96 Update README downloads badge 2026-07-20 07:22:55 +00:00
Jinwoo Hong c0f0810dd9
Fix native Windows PTY startup query handling (#9500)
* Fix native Windows PTY startup query handling

* Fix daemon boot smoke protocol lookup

* Fix Windows daemon repro protocol lookup
2026-07-19 20:25:52 -07:00
Jinwoo Hong 7adda25b0a
fix(daemon): retire empty current-generation daemons (#9277)
* fix(daemon): retire empty current-generation daemons

Co-authored-by: Orca <help@stably.ai>

* fix(daemon): retire empty daemons on disconnect

Co-authored-by: Orca <help@stably.ai>

* test(daemon): authenticate Windows lifecycle harness

Co-authored-by: Orca <help@stably.ai>

* test(daemon): assert remaining shutdown budget

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-07-19 19:38:44 -07:00
Jinjing 1def694e80
Add native chat skill picker with host-aware discovery (#9480)
* Add native chat skill and command picker with host-aware discovery

Adds a unified, keyboard-first skill and command picker to native chat that:

- Uses agent-native invocation syntax (slash for Claude/OpenClaude/Grok, dollar for Codex)
- Discovers skills only on the pane's execution host (local, WSL, SSH-unavailable, or runtime)
- Groups or separates commands and skills per agent configuration
- Deduplicates by canonical path but preserves visibility through all contributing roots
- Handles IME composition, loading states, and errors without claiming PTY-level control
- Records picker telemetry (open, item accepted, send classification, discovery outcomes)
- Extends shared agent profiles to define per-agent skill grammars and source ownership

* Remove obsolete reference and design documentation

Clean up stale design specs, implementation plans, and investigation notes from
docs/reference/. These documents predate the current implementation and are no
longer actively maintained or referenced by the codebase.

* Extract shared skill discovery utilities and add skill invocation envelo

- Move skill comparison and source classification to shared module for native/WSL reuse
- Extract display text sanitization to prevent control/zero-width character spoofing
- Add native-chat command envelope parser and surfacer for skill invocations
- Extend discovery timeout backstop to account for WSL metadata read sequence

* Localize skill picker UI for Spanish, Japanese, Korean, Chinese

Translate skill picker UI strings including commands, skills, loading
states, error messages, and scope labels for the new skill picker feature
across four language locales.

* Fix skill picker bugs and improve code robustness

- Fix i18n plural handling: rename `count` to `sourceCount` to prevent unintended plural-key resolution in localized strings
- Fix skill discovery array mutations: copy `root.providers` to prevent bugs during dedup merge
- Fix image attachments being silently dropped when message text starts with /skill or agent prefix
- Extract `quoteBashString` utility for WSL command code reuse across builders
- Add line-separator safety characters (0x2028/0x2029) to skill display filter
- Remove stale doc reference links and clarify inline comments

* Add reference docs for git compatibility and headless Linux server setup

Track previously untracked operational guides in `docs/reference/` that
explain Git binary compatibility requirements across host types and how to
run `orca serve` on headless Linux. Update AGENTS.md and README.md to link
to these references.
2026-07-19 17:31:34 -07:00
Jinwoo Hong 3efc930908 fix: preserve WSL CWD across daemon sleep wake 2026-07-19 16:04:05 -07:00
github-actions[bot] b19dccd9b7 Update README downloads badge 2026-07-19 18:35:53 +00:00
github-actions[bot] 80e632282c Update README downloads badge 2026-07-19 12:35:17 +00:00
github-actions[bot] ae1c943da9 Update README downloads badge 2026-07-19 00:56:28 +00:00
Jinjing 5cdf83be5e docs: rotate WeChat QR to group 3
Groups 1 and 2 are full; point readers at the new third-group QR in EN/ZH README.
2026-07-18 12:46:58 -07:00
github-actions[bot] d8629c41c8 Update README downloads badge 2026-07-18 12:35:43 +00:00
github-actions[bot] 2668af035c Update README downloads badge 2026-07-18 00:50:48 +00:00
github-actions[bot] 1c54171c55 Update README downloads badge 2026-07-17 12:42:11 +00:00
Neil 6e91ca6c0e
fix(browser): local HTTPS Try HTTPS + cert proceed (#8454) (#9104)
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-07-16 19:11:34 -07:00
github-actions[bot] 2a1aa1d285 Update README downloads badge 2026-07-17 00:54:44 +00:00
github-actions[bot] ef23b6760c Update README downloads badge 2026-07-16 12:50:02 +00:00
Jinjing cf02cc46b1 Add missing WeChat QR image referenced by README
The previous commit updated the README to docs/assets/wechat-qr.jpg and
removed the old dual-QR assets, but never added the new image file, so
GitHub could not load it.
2026-07-16 00:43:11 -07:00