Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
ed4c832
wip(app): extension host, sdk, and desktop main host
Hona Sep 30, 2026
10a3678
wip(app): generic side, dock, and mobile regions
Hona Sep 30, 2026
665e7c2
wip(app): shell bottom slot, channel status, builtin manifests
Hona Sep 30, 2026
c61a994
wip: browser contract, system open for file urls
Hona Sep 30, 2026
b31f579
feat(app): move usage, btw, and debug into gui extensions
Hona Sep 30, 2026
96d5666
feat(app): move the terminal into a gui extension
Hona Sep 30, 2026
55a196e
chore: lint gui extension boundaries and module state
Hona Sep 30, 2026
ce2585b
feat(desktop): move the browser pane into a gui extension
Hona Sep 30, 2026
8bbd280
feat(desktop): move the updater and pairing into gui extensions
Hona Sep 30, 2026
6eb9d3f
feat(app): move the file browser and review into gui extensions
Hona Sep 30, 2026
4fc739f
feat(desktop): move ssh and wsl servers into gui extensions
Hona Sep 30, 2026
49f1837
feat(app): host renderers for settings, status, servers, surfaces, an…
Hona Sep 30, 2026
f5bc705
fix(app): tab selection guard, host project picker, early main extens…
Hona Sep 30, 2026
adf0423
feat(app): move the session summary into a gui extension
Hona Sep 30, 2026
7c2235e
refactor(app): move extension translations into extension folders
Hona Sep 30, 2026
ff4a8e6
fix(app): keep the app mounted when an extension is enabled
Hona Sep 30, 2026
78f878c
fix(app): import extension storage from the default storage too
Hona Sep 30, 2026
ab14739
fix(app): close extension dialogs by id and stop hidden summary loads
Hona Sep 30, 2026
6154dc8
test(desktop): prune the desktop test surface
Hona Sep 30, 2026
8b7f10b
fix(ui): dispose each closing dialog on its own timer
Hona Sep 30, 2026
2c8a70c
fix(ui): guard dialog closes and derive layers from the stack
Hona Sep 30, 2026
8dcbae7
test(desktop): restore contracts the prune dropped
Hona Sep 30, 2026
94bb7f2
fix(ui): harden dialog teardown, errors and focus during exits
Hona Sep 30, 2026
35b14b3
fix(ui): tell replaced dialogs they closed; polyfill Promise.try
Hona Sep 30, 2026
3b0481e
refactor(app): leave app and desktop clean after the extension move
Hona Sep 30, 2026
33da15a
test(app): shared e2e harness for the test campaign
Hona Sep 30, 2026
ed33675
docs: test ownership rules for app, desktop and gui extensions
Hona Sep 30, 2026
cc95fd3
fix(app): normalize stored panel tab ids through the owning extension
Hona Sep 30, 2026
da7759d
fix(app): remap stored tabs, selection and preview together
Hona Sep 30, 2026
3978a5e
test(session-ui): run component tests in CI and bring them current
Hona Sep 30, 2026
37456ad
fix(app): keep a tab permanent when a preview collapses into it
Hona Sep 30, 2026
3033748
test(app): tighten the e2e harness mocks
Hona Sep 30, 2026
7da3c91
test(app): prune the composer and command test surface
Hona Sep 30, 2026
8dba9ae
fix(app): name the session's server in the summary when several exist
Hona Sep 30, 2026
b07e633
test(app): prune the gui extension test surface
Hona Sep 30, 2026
a8d4d1e
test(app): scope mock PTYs by workspace and issue unique tickets
Hona Sep 30, 2026
a242629
test(app): restore composer contracts the prune dropped
Hona Sep 30, 2026
85ba40f
test(app): restore extension contracts the prune dropped
Hona Sep 30, 2026
fd2537f
test(app): prune the shell, runtime and settings test surface
Hona Sep 30, 2026
04f8481
test(app): prune the session timeline test surface
Hona Sep 30, 2026
8a37e31
test(app): restore shell contracts the prune dropped
Hona Sep 30, 2026
f478d67
test(app): restore timeline contracts the prune dropped
Hona Sep 30, 2026
86cd53d
test(app): finish the shared e2e harness
Hona Sep 30, 2026
e649c08
test(app): answer the review pane benchmark in the server's diff shape
Hona Sep 30, 2026
c82606b
perf(app): compile extension chunks while the app idles
Hona Sep 30, 2026
2f8dfa1
perf(review): reuse the model's renderable diffs and kinds in the panel
Hona Sep 30, 2026
3ec96fb
perf(review): keep the tree still when a session switch reopens revie…
Hona Sep 30, 2026
6bca5b3
test(app): fail unmocked API requests and tighten harness waits
Hona Sep 30, 2026
6cf58d9
test(app): page mock shell output like the server and acknowledge fin…
Hona Sep 30, 2026
acc9415
refactor(util): share file URL encoding and file kinds
Hona Sep 30, 2026
2fe6172
Merge upstream/v2 into gui-extensions
Hona Sep 30, 2026
6ce809a
chore(app): merge duplicate util path imports
Hona Sep 30, 2026
84e0bc0
fix(app): keep browser comments from pre-extension builds
Hona Sep 30, 2026
afddc7c
test(browser): restore the browser pane's tests
Hona Sep 30, 2026
da3a28c
fix(browser): keep element refs unique across reloads and notes editable
Hona Sep 30, 2026
c84e9b4
test(browser): deliver the stale event in the suspension case
Hona Sep 30, 2026
7ab3087
fix(storybook): restore every designer story with its id
Hona Sep 30, 2026
120f801
fix(storybook): run the real SSH renderer in its stories
Hona Sep 30, 2026
0cee67e
fix(app): stop activating an extension after the host unmounts
Hona Sep 30, 2026
8726611
fix(app): run cleanups an extension registers after it is disposed
Hona Sep 30, 2026
d0f249e
style: format files the extension move added
Hona Sep 30, 2026
5eff053
chore(lint): vendor anti-slop Oxlint rules for the GUI packages
Hona Sep 30, 2026
e2c5866
fix(desktop): refuse the extension manager in packaged builds
Hona Sep 30, 2026
4a27b0b
docs(desktop): mark archive installs as groundwork for .ocdx extensions
Hona Sep 30, 2026
7b8f423
fix(review): keep each session's review state across the upgrade
Hona Sep 30, 2026
4942243
fix(extensions): make reload, disable and dialogs safe mid-activation
Hona Sep 30, 2026
fc1ac2a
fix(extensions): finish teardown before a replacement activates
Hona Oct 1, 2026
a4649b5
fix(app): follow a restarted server's live controller
Hona Oct 1, 2026
64f533f
refactor(desktop): serialize each extension's lifecycle
Hona Oct 1, 2026
85118c8
fix(app): remount a server's routes when sign-in replaces its controller
Hona Oct 1, 2026
b0e8f7b
fix(browser): re-register panes when the browser remote returns
Hona Oct 1, 2026
f0a9e22
fix(app): keep a disposed extension's queued dialog closed
Hona Oct 1, 2026
46409aa
fix(browser): wait for every page to close before the pane settles
Hona Oct 1, 2026
f630927
fix(app): let remote events win over older snapshots
Hona Oct 1, 2026
f3bc1e3
test(app): let the extension host fixture disable and reload
Hona Oct 1, 2026
9e34a23
fix(browser): retry a rejected pane registration
Hona Oct 1, 2026
c37c70d
fix(app): keep the app mounted through extension server reloads
Hona Oct 1, 2026
85924c5
fix(wsl): stop starting servers on teardown
Hona Oct 1, 2026
74555b9
fix(app): keep extension servers' tabs through an outage
Hona Oct 1, 2026
e24dc88
fix(summary): show the global-sync project like v2
Hona Oct 1, 2026
5ae5ded
fix(app): close the details drawer from its changes row like v2
Hona Oct 1, 2026
9dd0186
fix(app): restore v2's Context tab order and saved tree tab
Hona Oct 1, 2026
39910ec
fix(app): realign native desktop labels in hr, hu, is and lt
Hona Oct 1, 2026
fdd5cc3
fix(app): restore v2's side region opener and mobile view reset
Hona Oct 1, 2026
62a8129
fix(app): restore v2's mobile changes, browser pruning and file heading
Hona Oct 1, 2026
dab184a
fix(btw): drop a /btw tab saved before extensions
Hona Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix(app): realign native desktop labels in hr, hu, is and lt
These locales map a positional array onto DESKTOP_NATIVE_KEYS. Moving the updater menu item, 8 updater dialog strings and 19 WSL errors into their extensions removed 28 keys but left their entries, so 61 of 68 native labels shifted (Croatian Settings showed Install CLI). The stale entries are removed; every native label in all 62 locales now resolves to its v2 string, and the moved strings carry v2's translations.
  • Loading branch information
Hona committed Oct 1, 2026
commit 39910ec0dada10d2759fb4587663cdefddb0f9e0
28 changes: 0 additions & 28 deletions packages/app/src/runtime/i18n/hr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const desktop = [
"Idi",
"Prozor",
"Pomoć",
"Provjeri ima li ažuriranja…",
"Instaliraj CLI...",
"Postavke",
"Ponovno učitaj Webview",
Expand Down Expand Up @@ -47,14 +46,6 @@ const desktop = [
"Pošalji povratne informacije",
"Prijavi pogrešku",
"Izbornik OpenCode",
"Provjera ažuriranja nije uspjela.",
"Pogreška pri ažuriranju",
"Imate najnoviju verziju.",
"Nema ažuriranja",
"Ažuriranje {{version}} je preuzeto. Ponovno pokrenuti sada?",
"Ažuriranje je spremno",
"Ponovno pokreni",
"Kasnije",
"CLI je instaliran",
"CLI je instaliran u {{path}}\n\nPonovno pokrenite terminal kako biste mogli koristiti naredbu 'opencode2'.",
"Instalacija nije uspjela",
Expand All @@ -76,25 +67,6 @@ const desktop = [
"Datoteke",
"Lokalni poslužitelj",
"Zadani projekt",
"WSL je dostupan samo u sustavu Windows",
"WSL nije dostupan",
"Nije uspjelo prikazivanje instaliranih WSL distribucija",
"Nije uspjelo prikazivanje dostupnih WSL distribucija",
"Nije moguće izvršiti naredbe u distribuciji",
"Instalacija WSL-a nije uspjela",
"Instalacija distribucije nije uspjela: {{distro}}",
"Instalacija aplikacije OpenCode nije uspjela",
"Distribucija {{distro}} već je dodana",
"opencode nije instaliran u ovoj distribuciji",
"opencode je instaliran, ali se ne može pokrenuti",
"OpenCode nije instaliran u distribuciji {{distro}}",
"Ažuriranje aplikacije OpenCode je završeno, ali {{distro}} i dalje prijavljuje {{installed}}; očekivano je {{expected}}",
"nema verzije",
"WSL poslužitelj završio je rad nakon pokretanja (code={{code}} signal={{signal}})",
"WSL poslužitelj završio je rad prije nego što je postao dostupan (code={{code}} signal={{signal}}){{output}}",
"Isteklo je vrijeme provjere dostupnosti komponente Sidecar za {{distro}} nakon {{timeout}} ms",
"Isteklo je vrijeme za {{command}} {{args}} nakon {{timeout}} ms",
"Nije uspjelo dohvaćanje priključka",
"Datoteka nije odabrana u izborniku",
"Odabrani prilozi premašuju ograničenje od {{limit}} MB",
]
Expand Down
28 changes: 0 additions & 28 deletions packages/app/src/runtime/i18n/hu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const desktop = [
"Ugrás",
"Ablak",
"Súgó",
"Frissítések keresése…",
"CLI telepítése...",
"Beállítások",
"Webview újratöltése",
Expand Down Expand Up @@ -47,14 +46,6 @@ const desktop = [
"Visszajelzés küldése",
"Hiba jelentése",
"OpenCode menü",
"A frissítések keresése sikertelen.",
"Frissítési hiba",
"A legfrissebb verziót használja.",
"Nincs frissítés",
"A(z) {{version}} frissítés letöltődött. Újraindítja most?",
"A frissítés készen áll",
"Újraindítás",
"Később",
"CLI telepítve",
"A CLI telepítve ide: {{path}}\n\nIndítsa újra a terminált az 'opencode2' parancs használatához.",
"A telepítés nem sikerült",
Expand All @@ -76,25 +67,6 @@ const desktop = [
"Fájlok",
"Helyi kiszolgáló",
"Alapértelmezett projekt",
"A WSL csak Windows rendszeren érhető el",
"A WSL nem érhető el",
"A telepített WSL-disztribúciók felsorolása sikertelen",
"Az online WSL-disztribúciók felsorolása sikertelen",
"Nem hajthatók végre parancsok a disztribúcióban",
"A WSL telepítése sikertelen",
"A disztribúció telepítése sikertelen: {{distro}}",
"Az OpenCode telepítése sikertelen",
"A(z) {{distro}} már hozzá van adva",
"Az opencode nincs telepítve ebben a disztribúcióban",
"Az opencode telepítve van, de nem futtatható",
"Az OpenCode nincs telepítve ebben: {{distro}}",
"Az OpenCode frissítése befejeződött, de a(z) {{distro}} továbbra is ezt jelenti: {{installed}}; a várt érték: {{expected}}",
"nincs verzió",
"A WSL-kiszolgáló indítás után kilépett (code={{code}} signal={{signal}})",
"A WSL-kiszolgáló azelőtt kilépett, hogy üzemkésszé vált volna (code={{code}} signal={{signal}}){{output}}",
"A(z) {{distro}} segédfolyamatának állapotellenőrzése {{timeout}} ms után időtúllépés miatt megszakadt",
"A(z) {{command}} {{args}} parancs {{timeout}} ms után időtúllépés miatt megszakadt",
"A port lekérése sikertelen",
"A fájl nem lett kiválasztva a választóban",
"A kiválasztott mellékletek meghaladják a(z) {{limit}} MB-os korlátot",
]
Expand Down
28 changes: 0 additions & 28 deletions packages/app/src/runtime/i18n/is.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const desktop = [
"Fara",
"Gluggi",
"Hjálp",
"Leita að uppfærslum…",
"Setja upp CLI...",
"Stillingar",
"Endurhlaða Webview",
Expand Down Expand Up @@ -47,14 +46,6 @@ const desktop = [
"Deila ábendingu",
"Tilkynna villu",
"OpenCode-valmynd",
"Athugun á uppfærslu mistókst.",
"Villa í uppfærslu",
"Þú ert með nýjustu útgáfuna.",
"Engar uppfærslur",
"Uppfærsla {{version}} sótt. Endurræsa núna?",
"Uppfærsla tilbúin",
"Endurræsa",
"Seinna",
"CLI uppsett",
"CLI var sett upp í {{path}}\n\nEndurræstu skjáherminn til að nota 'opencode2' skipunina.",
"Uppsetning mistókst",
Expand All @@ -76,25 +67,6 @@ const desktop = [
"Skrár",
"Staðbundinn þjónn",
"Sjálfgefið verkefni",
"WSL er aðeins í boði á Windows",
"WSL er ekki í boði",
"Ekki tókst að telja upp uppsettar WSL-dreifingar",
"Ekki tókst að telja upp WSL-dreifingar á netinu",
"Ekki er hægt að keyra skipanir í dreifingu",
"Uppsetning WSL mistókst",
"Uppsetning dreifingar mistókst: {{distro}}",
"Uppsetning OpenCode mistókst",
"{{distro}} hefur þegar verið bætt við",
"opencode er ekki uppsett í þessari dreifingu",
"opencode er uppsett en ekki var hægt að keyra það",
"OpenCode er ekki uppsett í {{distro}}",
"Uppfærslu OpenCode lauk en {{distro}} tilkynnir enn {{installed}}; vænt var {{expected}}",
"engin útgáfa",
"WSL-þjónn hætti eftir ræsingu (code={{code}} signal={{signal}})",
"WSL-þjónn hætti áður en hann varð starfhæfur (code={{code}} signal={{signal}}){{output}}",
"Tímamörk heilsuprófunar hliðarferlis fyrir {{distro}} runnu út eftir {{timeout}} ms",
"Tímamörk {{command}} {{args}} runnu út eftir {{timeout}} ms",
"Ekki tókst að sækja gátt",
"Skráin var ekki valin í skráavalinu",
"Valin viðhengi fara yfir {{limit}} MB hámarkið",
]
Expand Down
28 changes: 0 additions & 28 deletions packages/app/src/runtime/i18n/lt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ const desktop = [
"Eiti",
"Langas",
"Žinynas",
"Tikrinti, ar yra naujinimų…",
"Įdiegti CLI...",
"Nuostatos",
"Įkelti Webview iš naujo",
Expand Down Expand Up @@ -47,14 +46,6 @@ const desktop = [
"Pateikti atsiliepimą",
"Pranešti apie klaidą",
"OpenCode meniu",
"Naujinių patikrinti nepavyko.",
"Naujinimo klaida",
"Naudojate naujausią versiją.",
"Naujinių nėra",
"Naujinimas {{version}} parsiųstas. Paleisti iš naujo dabar?",
"Naujinimas paruoštas",
"Paleisti iš naujo",
"Vėliau",
"CLI įdiegtas",
"CLI įdiegtas į {{path}}\n\nPaleiskite terminalą iš naujo, kad galėtumėte naudoti komandą 'opencode2'.",
"Įdiegti nepavyko",
Expand All @@ -76,25 +67,6 @@ const desktop = [
"Failai",
"Vietinis serveris",
"Numatytasis projektas",
"WSL veikia tik sistemoje Windows",
"WSL nepasiekiamas",
"Nepavyko išvardyti įdiegtų WSL distributyvų",
"Nepavyko išvardyti internete pasiekiamų WSL distributyvų",
"Negalima vykdyti komandų distributyve",
"WSL įdiegti nepavyko",
"Nepavyko įdiegti distributyvo: {{distro}}",
"OpenCode įdiegti nepavyko",
"{{distro}} jau pridėtas",
"opencode šiame distributyve neįdiegtas",
"opencode įdiegtas, bet jo paleisti nepavyko",
"OpenCode neįdiegtas distributyve {{distro}}",
"OpenCode naujinimas baigtas, bet {{distro}} vis dar praneša {{installed}}; tikėtasi {{expected}}",
"versijos nėra",
"WSL serveris užsidarė po paleidimo (code={{code}} signal={{signal}})",
"WSL serveris užsidarė prieš pradėdamas tinkamai veikti (code={{code}} signal={{signal}}){{output}}",
"Baigėsi {{distro}} pagalbinio proceso būklės patikros {{timeout}} ms skirtasis laikas",
"Baigėsi komandai {{command}} {{args}} skirtas {{timeout}} ms laikas",
"Nepavyko gauti prievado",
"Failas nebuvo pasirinktas failų parinkiklyje",
"Pasirinkti priedai viršija {{limit}} MB ribą",
]
Expand Down