From c3eb1459175b173321884cdcc9eab1d1a7e2e6a5 Mon Sep 17 00:00:00 2001 From: omartelo Date: Wed, 28 Oct 2026 16:35:48 -0300 Subject: [PATCH] chore: fold the latest merges into the 0.81.0 release notes --- CHANGELOG.md | 21 ++++++--------------- changelog/es.md | 6 ++++++ changelog/ja.md | 6 ++++++ changelog/ko.md | 6 ++++++ changelog/pt-BR.md | 6 ++++++ changelog/ru.md | 6 ++++++ changelog/zh-CN.md | 6 ++++++ 7 files changed, 42 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4c93570b..cc26154bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,21 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Added - -- Settings › General has a Copy on select switch for the terminal. On by default, it copies a selection as soon as you make it; off, copy it with Ctrl+Shift+C (Cmd+C on macOS). -- A session's browser zooms its page on its own, apart from the interface zoom: Ctrl+- and Ctrl+= (Cmd on macOS) zoom out and in by 10%, from 50% to 200%, and Ctrl+0 goes back to 100%. A zoomed-out page lays out wider, as in a desktop browser, which makes a small screen usable without shrinking the rest of the window. The zoom applies to every session's browser, shows on the toolbar while it is not 100%, and is kept for the next start. -- Settings › General › Window › Buttons chooses whether the window's minimize, maximize and close buttons show: Follow system, Always show or Hide. Follow system is how lich behaved before, and on Linux it now also follows a change to the desktop's button layout while lich is open instead of only reading it at start. Always show draws the buttons even where the window manager decorates the window or tiles it without a title bar, as Hyprland does. Hide leaves the window without them, the traffic lights included on macOS. - -### Changed - -- A session's browser that no tab shows lays its page out at the size of the lich window, at the browser zoom, instead of Chrome's 800×600, so the agent reads and screenshots the page as a desktop browser shows it. Closing the browser tab puts the page back at that size rather than leaving it at the tab's. -- Resolve conflicts on the Pulls screen names the conflicting files in the prompt it sends the session, as Fix CI errors names the failing checks. Clicked before the files are known, it sends the prompt without them, as before. - -### Fixed - -- On Windows, sessions starting at the same time on one profile no longer fail now and then with `Access is denied` while lich writes that profile's files. - ## [0.81.0] - 2026-10-28 > [!IMPORTANT] @@ -36,6 +21,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The agent hears when the page in its session's browser breaks. Each page it reads, clicks or presses a key on answers with the console errors since its last look, once each: `console.error` calls, uncaught exceptions and resources that failed to load, cut to one short line, the first five and how many more. Warnings and other messages stay out. - An agent can close a project, with `close_project` or `lich close-project`: the tab leaves the window and its sessions stop, kept for a reopen as when you close the tab. The project the agent runs in and the home project are refused. - The agent and you answer the page's JavaScript dialogs in a session's browser. An alert, a confirm, a prompt or a "Leave this page?" the page opens shows as a card over the top of the page in the session's browser tab, naming the site that opened it, with its buttons and, for a prompt, a field. You answer it there, or the agent does with `browser_dialog`, and its cursor presses the card's button. The agent's click that opened a dialog answers at once with the dialog in it, and the agent hears of one you answered. Before, a button that showed an alert froze the page: the agent's click and every read after it waited thirty seconds and failed. +- Settings › General has a Copy on select switch for the terminal. On by default, it copies a selection as soon as you make it; off, copy it with Ctrl+Shift+C (Cmd+C on macOS). +- A session's browser zooms its page on its own, apart from the interface zoom: Ctrl+- and Ctrl+= (Cmd on macOS) zoom out and in by 10%, from 50% to 200%, and Ctrl+0 goes back to 100%. A zoomed-out page lays out wider, as in a desktop browser, which makes a small screen usable without shrinking the rest of the window. The zoom applies to every session's browser, shows on the toolbar while it is not 100%, and is kept for the next start. +- Settings › General › Window › Buttons chooses whether the window's minimize, maximize and close buttons show: Follow system, Always show or Hide. Follow system is how lich behaved before, and on Linux it now also follows a change to the desktop's button layout while lich is open instead of only reading it at start. Always show draws the buttons even where the window manager decorates the window or tiles it without a title bar, as Hyprland does. Hide leaves the window without them, the traffic lights included on macOS. ### Changed @@ -43,12 +31,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The window holds less memory with many sessions open. A terminal off screen lets go of the pixels it drew, a few megabytes each, and redraws them in one frame when it comes back. - The window's garbage collector now runs at 50 instead of Go's default 100, which in a test with 15 sessions cut about a tenth of its resident memory, the slack the system would otherwise swap out. `GOGC` still overrides it. - The browser tools answer an agent in the session's prompt language: the legend of the element list, the note that more elements wait below, the filled and checked marks, a download still running, a wait that timed out, the count of further console errors, and what an open dialog asks of it. The line tags (`url:`, `text:`, `downloaded:`, `console error:`, `dialog open:` and the rest) stay as they are in every language. +- A session's browser that no tab shows lays its page out at the size of the lich window, at the browser zoom, instead of Chrome's 800×600, so the agent reads and screenshots the page as a desktop browser shows it. Closing the browser tab puts the page back at that size rather than leaving it at the tab's. +- Resolve conflicts on the Pulls screen names the conflicting files in the prompt it sends the session, as Fix CI errors names the failing checks. Clicked before the files are known, it sends the prompt without them, as before. ### Fixed - On Windows the window is titled `lich` in the taskbar and Alt-Tab, instead of `lich (native slice)`. - A project whose GitHub account lives on a GitHub Enterprise server gets that account in the Pulls screen, the pull request badges and a sandboxed session granted its token. The token went out under a variable gh ignores for an enterprise host, so gh answered as its active account there. - A session browser's click, type or key press by index reaches the element the agent's last page read gave that index. After a scroll and a second read, an element the first read had listed under the same index, now out of view, could take the click instead, with no error. +- On Windows, sessions starting at the same time on one profile no longer fail now and then with `Access is denied` while lich writes that profile's files. ## [0.80.0] - 2026-10-27 diff --git a/changelog/es.md b/changelog/es.md index 7d1431bac..e7a3c42b2 100644 --- a/changelog/es.md +++ b/changelog/es.md @@ -12,6 +12,9 @@ - El agente se entera cuando falla la página del navegador de su sesión. Cada página que lee, en la que hace clic o pulsa una tecla responde con los errores de consola desde su última lectura, una vez cada uno: llamadas a `console.error`, excepciones no capturadas y recursos que no se cargaron, recortados a una línea corta, los primeros cinco y cuántos más hay. Las advertencias y otros mensajes quedan fuera. - Un agente puede cerrar un proyecto, con `close_project` o `lich close-project`: la pestaña sale de la ventana y sus sesiones se detienen, conservadas para reabrirlas como cuando cierras la pestaña. El proyecto en el que se ejecuta el agente y el proyecto de inicio se rechazan. - Tú y el agente respondéis a los diálogos de JavaScript de la página en el navegador de una sesión. Un alert, un confirm, un prompt o un "¿Salir de esta página?" que abre la página aparece como una tarjeta sobre la parte superior de la página en la pestaña del navegador de la sesión, con el nombre del sitio que lo abrió, sus botones y, para un prompt, un campo. Lo respondes ahí, o lo hace el agente con `browser_dialog`, y su cursor pulsa el botón de la tarjeta. El clic del agente que abrió un diálogo responde de inmediato con el diálogo incluido, y el agente se entera de uno que respondiste tú. Antes, un botón que mostraba un alert congelaba la página: el clic del agente y cada lectura posterior esperaban treinta segundos y fallaban. +- Ajustes › General tiene un interruptor Copiar al seleccionar para la terminal. Activado por defecto, copia una selección en cuanto la haces; desactivado, cópiala con Ctrl+Shift+C (Cmd+C en macOS). +- El navegador de una sesión hace zoom de su página por su cuenta, aparte del zoom de la interfaz: Ctrl+- y Ctrl+= (Cmd en macOS) alejan y acercan un 10%, del 50% al 200%, y Ctrl+0 vuelve al 100%. Una página alejada se distribuye más ancha, como en un navegador de escritorio, lo que hace utilizable una pantalla pequeña sin encoger el resto de la ventana. El zoom se aplica al navegador de todas las sesiones, aparece en la barra de herramientas mientras no sea 100% y se conserva para el próximo inicio. +- Ajustes › General › Ventana › Botones elige si se muestran los botones de minimizar, maximizar y cerrar de la ventana: Seguir el sistema, Mostrar siempre u Ocultar. Seguir el sistema es como se comportaba lich antes, y en Linux ahora también sigue un cambio en la disposición de botones del escritorio mientras lich está abierto, en lugar de leerla solo al iniciar. Mostrar siempre dibuja los botones incluso donde el gestor de ventanas decora la ventana o la coloca en mosaico sin barra de título, como hace Hyprland. Ocultar deja la ventana sin ellos, incluidos los semáforos en macOS. ### Changed @@ -19,12 +22,15 @@ - La ventana usa menos memoria con muchas sesiones abiertas. Una terminal fuera de pantalla libera los píxeles que dibujó, unos pocos megabytes cada una, y los vuelve a dibujar en un fotograma cuando regresa. - El recolector de basura de la ventana ahora corre a 50 en lugar del 100 por defecto de Go, lo que en una prueba con 15 sesiones recortó cerca de una décima parte de su memoria residente, el margen que el sistema enviaría a swap. `GOGC` sigue teniendo prioridad. - Las herramientas del navegador responden al agente en el idioma del prompt de la sesión: la leyenda de la lista de elementos, la nota de que hay más elementos más abajo, las marcas de relleno y de activado, una descarga que sigue en curso, una espera que agotó el tiempo, el recuento de errores de consola adicionales y lo que un diálogo abierto le pide. Las etiquetas de línea (`url:`, `text:`, `downloaded:`, `console error:`, `dialog open:` y el resto) se mantienen como están en todos los idiomas. +- El navegador de una sesión que ninguna pestaña muestra distribuye su página con el tamaño de la ventana de lich, al zoom del navegador, en lugar de los 800×600 de Chrome, así que el agente lee y captura la página como la muestra un navegador de escritorio. Cerrar la pestaña del navegador devuelve la página a ese tamaño en lugar de dejarla con el de la pestaña. +- Resolver conflictos en la pantalla Pull requests nombra los archivos en conflicto en el prompt que envía a la sesión, como Corregir errores de CI nombra las comprobaciones que fallan. Si se pulsa antes de conocer los archivos, envía el prompt sin ellos, como antes. ### Fixed - En Windows, la ventana se llama `lich` en la barra de tareas y en Alt-Tab, en lugar de `lich (native slice)`. - Un proyecto cuya cuenta de GitHub vive en un servidor de GitHub Enterprise obtiene esa cuenta en la pantalla Pull requests, en las insignias de pull request y en una sesión en sandbox a la que se le concede su token. El token salía bajo una variable que gh ignora para un host empresarial, así que gh respondía allí como su cuenta activa. - El clic, la escritura o la pulsación de tecla por índice del navegador de una sesión llega al elemento al que la última lectura de página del agente dio ese índice. Tras un desplazamiento y una segunda lectura, un elemento que la primera lectura había listado con el mismo índice, ahora fuera de vista, podía recibir el clic en su lugar, sin ningún error. +- En Windows, las sesiones que arrancan a la vez en un mismo perfil ya no fallan de vez en cuando con `Access is denied` mientras lich escribe los archivos de ese perfil. ## [0.80.0] - 2026-10-27 diff --git a/changelog/ja.md b/changelog/ja.md index efd55178a..dd9049e97 100644 --- a/changelog/ja.md +++ b/changelog/ja.md @@ -12,6 +12,9 @@ - セッションのブラウザのページが壊れると、エージェントに伝わります。エージェントが読む、クリックする、キーを押すたびに、前回見てからのコンソールエラーが 1 件ずつ返されます。対象は `console.error` の呼び出し、捕捉されなかった例外、読み込みに失敗したリソースで、それぞれ短い 1 行に切り詰められ、最初の 5 件と、残りの件数が示されます。警告やそのほかのメッセージは含まれません。 - エージェントはプロジェクトを閉じられます。`close_project` または `lich close-project` を使うと、タブがウィンドウから消えてそのセッションが停止し、あなたがタブを閉じたときと同じく、再び開くために保持されます。エージェントが動いているプロジェクトと、ホームプロジェクトは拒否されます。 - セッションのブラウザで、ページの JavaScript ダイアログにあなたもエージェントも応答できます。ページが開く alert、confirm、prompt、「このページから移動しますか?」は、セッションのブラウザタブのページ上部にカードとして表示され、開いたサイトの名前、ボタン、prompt の場合は入力欄が付きます。そこで応答するか、エージェントが `browser_dialog` で応答し、そのカーソルがカードのボタンを押します。ダイアログを開いたエージェントのクリックには、そのダイアログを含めてすぐに応答が返り、あなたが応答したダイアログはエージェントに伝わります。以前は、alert を表示するボタンがページを固まらせ、エージェントのクリックとその後のすべての読み取りが 30 秒待ったうえで失敗していました。 +- 設定 › 一般に、ターミナル用の選択時にコピーのスイッチがあります。既定ではオンで、選択した直後にコピーします。オフのときは Ctrl+Shift+C(macOS では Cmd+C)でコピーします。 +- セッションのブラウザは、インターフェースのズームとは別に、ページを単独でズームします。Ctrl+- と Ctrl+=(macOS では Cmd)で 10% ずつ縮小・拡大し、範囲は 50% から 200% で、Ctrl+0 で 100% に戻ります。縮小したページはデスクトップのブラウザと同じようにより広くレイアウトされるため、ウィンドウのほかの部分を縮めなくても、小さな画面で使いやすくなります。ズームはすべてのセッションのブラウザに適用され、100% でないあいだはツールバーに表示され、次回の起動でも保たれます。 +- 設定 › 一般 › ウィンドウ › ボタンで、ウィンドウの最小化・最大化・閉じるボタンを表示するかどうかを選べます。システムに従う、常に表示、非表示の 3 つです。システムに従うは従来の lich の動作で、Linux ではそれに加えて、起動時に読み取るだけでなく、lich を開いている間のデスクトップのボタン配置の変更にも追従するようになりました。常に表示は、Hyprland のように、ウィンドウマネージャーがウィンドウを装飾する場合やタイトルバーなしでタイル表示する場合でもボタンを描きます。非表示はウィンドウからボタンをなくし、macOS ではトラフィックライトも含みます。 ### Changed @@ -19,12 +22,15 @@ - 多数のセッションを開いていても、ウィンドウのメモリ使用量が減りました。画面外のターミナルは描画したピクセルを解放し(1 つあたり数メガバイト)、戻ってきたときに 1 フレームで再描画します。 - ウィンドウのガベージコレクタは Go の既定値 100 ではなく 50 で動くようになりました。15 セッションでのテストでは常駐メモリが約 1 割減り、本来ならシステムがスワップへ追い出していた余剰分がなくなりました。`GOGC` を設定すればそちらが優先されます。 - ブラウザツールは、セッションのプロンプト言語でエージェントに応答します。要素リストの凡例、下にまだ要素があることを示す注記、入力済みとチェック済みの印、実行中のダウンロード、タイムアウトした待ち、残りのコンソールエラーの件数、開いているダイアログがエージェントに求めることが対象です。行のタグ(`url:`、`text:`、`downloaded:`、`console error:`、`dialog open:` など)は、どの言語でもそのままです。 +- どのタブにも表示されていないセッションのブラウザは、Chrome の 800×600 ではなく、ブラウザのズームを適用した lich ウィンドウのサイズでページをレイアウトするため、エージェントはデスクトップのブラウザで表示されるとおりにページを読み、スクリーンショットを撮れます。ブラウザのタブを閉じると、ページはタブのサイズのままではなく、このサイズに戻ります。 +- Pulls 画面のコンフリクトを解決は、CI のエラーを修正がエラーになったチェックを挙げるのと同じように、セッションに送るプロンプトにコンフリクトしているファイルを挙げます。ファイルが分かる前にクリックした場合は、従来どおりファイルなしのプロンプトを送ります。 ### Fixed - Windows では、タスクバーと Alt-Tab でのウィンドウ名が `lich (native slice)` ではなく `lich` になりました。 - GitHub Enterprise サーバー上の GitHub アカウントを持つプロジェクトで、そのアカウントが Pulls 画面、プルリクエストのバッジ、サンドボックス化されたセッションに渡すトークンに反映されるようになりました。トークンは gh がエンタープライズホストでは無視する変数名で渡されており、gh はそこでアクティブなアカウントとして応答していました。 - セッションブラウザでインデックスを指定したクリック、入力、キー操作は、エージェントが最後にページを読んだときにそのインデックスを割り当てられた要素に届きます。スクロールして再び読んだあと、最初の読み取りで同じインデックスだった、いまは表示外の要素がクリックを受けてしまうことがあり、エラーも出ませんでした。 +- Windows で、同じプロファイルのセッションを同時に起動すると、lich がそのプロファイルのファイルを書き込む際に `Access is denied` で失敗することがありましたが、起きなくなりました。 ## [0.80.0] - 2026-10-27 diff --git a/changelog/ko.md b/changelog/ko.md index 4d244cbda..1c8a7865f 100644 --- a/changelog/ko.md +++ b/changelog/ko.md @@ -12,6 +12,9 @@ - 에이전트가 세션 브라우저의 페이지가 깨졌을 때 알게 됩니다. 에이전트가 읽거나 클릭하거나 키를 누르는 각 페이지는 마지막으로 본 이후의 콘솔 오류를 한 번씩 담아 응답합니다. `console.error` 호출, 처리되지 않은 예외, 로드에 실패한 리소스이며, 짧은 한 줄로 줄여 처음 다섯 개와 그 밖의 개수를 알려 줍니다. 경고와 다른 메시지는 제외됩니다. - 에이전트가 `close_project` 또는 `lich close-project`로 프로젝트를 닫을 수 있습니다. 탭이 창에서 사라지고 세션이 중지되며, 탭을 닫을 때처럼 다시 열 수 있게 보관됩니다. 에이전트가 실행 중인 프로젝트와 홈 프로젝트는 거부됩니다. - 사용자와 에이전트가 세션 브라우저에서 페이지의 JavaScript 대화상자에 응답합니다. 페이지가 여는 alert, confirm, prompt, "이 페이지에서 나가시겠습니까?"는 세션의 브라우저 탭에서 페이지 위쪽에 카드로 표시되며, 연 사이트의 이름과 버튼, prompt라면 입력란이 있습니다. 사용자가 거기에서 응답하거나 에이전트가 `browser_dialog`로 응답하며, 이때 에이전트의 커서가 카드의 버튼을 누릅니다. 대화상자를 연 에이전트의 클릭은 그 대화상자를 담아 즉시 응답하고, 사용자가 응답한 대화상자도 에이전트에게 전달됩니다. 이전에는 alert를 띄우는 버튼이 페이지를 멈추게 해서, 에이전트의 클릭과 이후의 모든 읽기가 30초를 기다린 뒤 실패했습니다. +- 설정 › 일반에 터미널용 선택 시 복사 스위치가 있습니다. 기본값은 켜짐이며, 선택하는 즉시 복사합니다. 끄면 Ctrl+Shift+C(macOS에서는 Cmd+C)로 복사합니다. +- 세션의 브라우저가 인터페이스 확대/축소와 별개로 페이지를 자체적으로 확대/축소합니다. Ctrl+-와 Ctrl+=(macOS에서는 Cmd)로 10%씩 축소하고 확대하며 범위는 50%에서 200%까지이고, Ctrl+0은 100%로 되돌립니다. 축소한 페이지는 데스크톱 브라우저처럼 더 넓게 배치되므로, 창의 나머지를 줄이지 않고도 작은 화면을 쓸 수 있습니다. 확대/축소는 모든 세션의 브라우저에 적용되고, 100%가 아닐 때 도구 모음에 표시되며, 다음 시작에도 유지됩니다. +- 설정 › 일반 › 창 › 버튼에서 창의 최소화, 최대화, 닫기 버튼을 표시할지 선택합니다. 시스템 따르기, 항상 표시, 숨기기 중에서 고릅니다. 시스템 따르기는 기존 lich의 동작이며, Linux에서는 이제 시작할 때만 읽지 않고 lich가 열려 있는 동안 바탕 화면의 버튼 배치가 바뀌어도 따라갑니다. 항상 표시는 Hyprland처럼 창 관리자가 창을 꾸미거나 제목 표시줄 없이 타일링하는 곳에서도 버튼을 그립니다. 숨기기는 창에서 버튼을 없애며, macOS의 신호등 버튼도 포함됩니다. ### Changed @@ -19,12 +22,15 @@ - 세션을 많이 열어도 창이 차지하는 메모리가 줄었습니다. 화면 밖의 터미널은 그렸던 픽셀을 놓아 주며, 각각 몇 메가바이트이고, 다시 돌아오면 한 프레임에 다시 그립니다. - 창의 가비지 컬렉터가 이제 Go 기본값 100 대신 50으로 동작합니다. 세션 15개로 한 테스트에서 상주 메모리가 약 10분의 1 줄었는데, 시스템이 스왑으로 내보냈을 여유분입니다. `GOGC`를 지정하면 여전히 그 값이 우선합니다. - 브라우저 도구가 에이전트에게 세션의 프롬프트 언어로 응답합니다. 요소 목록의 범례, 아래에 요소가 더 있다는 안내, 채워짐과 선택됨 표시, 진행 중인 다운로드, 시간 초과된 대기, 추가 콘솔 오류의 개수, 열린 대화상자가 에이전트에게 요구하는 것이 해당됩니다. 줄 태그(`url:`, `text:`, `downloaded:`, `console error:`, `dialog open:` 등)는 모든 언어에서 그대로입니다. +- 어떤 탭에도 표시되지 않는 세션의 브라우저는 이제 페이지를 Chrome의 800×600 대신 lich 창 크기에 브라우저 확대/축소를 적용한 크기로 배치하므로, 에이전트가 데스크톱 브라우저에 보이는 그대로 페이지를 읽고 스크린샷을 찍습니다. 브라우저 탭을 닫으면 페이지가 탭의 크기로 남지 않고 그 크기로 돌아갑니다. +- 풀 리퀘스트 화면의 충돌 해결이 CI 오류 고치기가 실패한 검사를 알려 주는 것처럼, 세션에 보내는 프롬프트에 충돌하는 파일을 명시합니다. 파일이 알려지기 전에 클릭하면 이전처럼 파일 없이 프롬프트를 보냅니다. ### Fixed - Windows에서 작업 표시줄과 Alt-Tab의 창 제목이 `lich (native slice)` 대신 `lich`로 표시됩니다. - GitHub Enterprise 서버에 GitHub 계정이 있는 프로젝트가 풀 리퀘스트 화면, 풀 리퀘스트 배지, 샌드박스 세션에 부여되는 토큰에서 그 계정을 받습니다. 토큰이 엔터프라이즈 호스트에서 gh가 무시하는 변수로 전달되어, gh가 그곳에서 활성 계정으로 응답했습니다. - 세션 브라우저의 인덱스를 통한 클릭, 입력, 키 누르기가 에이전트의 마지막 페이지 읽기가 그 인덱스를 부여한 요소에 도달합니다. 스크롤한 뒤 다시 읽으면, 첫 번째 읽기에서 같은 인덱스로 나열되었던 요소가 이제 화면 밖에 있는데도 오류 없이 클릭을 받을 수 있었습니다. +- Windows에서 같은 프로필에서 세션이 동시에 시작될 때, lich가 그 프로필의 파일을 쓰는 동안 간헐적으로 `Access is denied`로 실패하던 문제가 없어졌습니다. ## [0.80.0] - 2026-10-27 diff --git a/changelog/pt-BR.md b/changelog/pt-BR.md index 5290096ea..23688c4bf 100644 --- a/changelog/pt-BR.md +++ b/changelog/pt-BR.md @@ -12,6 +12,9 @@ - O agente fica sabendo quando a página no navegador da sessão quebra. Cada página que ele lê, clica ou em que pressiona uma tecla responde com os erros de console desde a última olhada, uma vez cada: chamadas a `console.error`, exceções não capturadas e recursos que falharam ao carregar, cortados em uma linha curta, os cinco primeiros e quantos mais. Avisos e outras mensagens ficam de fora. - Um agente pode fechar um projeto, com `close_project` ou `lich close-project`: a aba sai da janela e as sessões dela param, guardadas para reabrir como quando você fecha a aba. O projeto em que o agente roda e o projeto inicial são recusados. - O agente e você respondem aos diálogos de JavaScript da página no navegador de uma sessão. Um alert, um confirm, um prompt ou um "Sair desta página?" que a página abre aparece como um cartão sobre o topo da página, na aba do navegador da sessão, nomeando o site que o abriu, com os botões dele e, para um prompt, um campo. Você o responde ali, ou o agente com `browser_dialog`, e o cursor dele pressiona o botão do cartão. O clique do agente que abriu um diálogo responde na hora com o diálogo dentro, e o agente fica sabendo de um que você respondeu. Antes, um botão que mostrava um alert congelava a página: o clique do agente e toda leitura depois dele esperavam trinta segundos e falhavam. +- Configurações › Geral tem um interruptor Copiar ao selecionar para o terminal. Ligado por padrão, copia a seleção assim que você a faz; desligado, copie com Ctrl+Shift+C (Cmd+C no macOS). +- O navegador de uma sessão dá zoom na página por conta própria, separado do zoom da interface: Ctrl+- e Ctrl+= (Cmd no macOS) diminuem e aumentam em 10%, de 50% a 200%, e Ctrl+0 volta a 100%. Uma página com zoom menor ocupa mais largura, como num navegador desktop, o que torna uma tela pequena utilizável sem encolher o resto da janela. O zoom vale para o navegador de toda sessão, aparece na barra de ferramentas enquanto não é 100% e é guardado para o próximo início. +- Configurações › Geral › Janela › Botões escolhe se os botões de minimizar, maximizar e fechar da janela aparecem: Seguir o sistema, Sempre mostrar ou Esconder. Seguir o sistema é como o lich se comportava antes, e no Linux agora também acompanha uma mudança no layout de botões da área de trabalho enquanto o lich está aberto, em vez de só lê-lo no início. Sempre mostrar desenha os botões mesmo onde o gerenciador de janelas decora a janela ou a organiza em mosaico sem barra de título, como o Hyprland faz. Esconder deixa a janela sem eles, inclusive os semáforos no macOS. ### Changed @@ -19,12 +22,15 @@ - A janela guarda menos memória com muitas sessões abertas. Um terminal fora da tela libera os pixels que desenhou, alguns megabytes cada, e os redesenha em um quadro quando volta. - O coletor de lixo da janela agora roda em 50, e não no padrão 100 do Go, o que num teste com 15 sessões cortou cerca de um décimo da memória residente, a folga que o sistema mandaria para o swap. `GOGC` ainda tem precedência. - As ferramentas do navegador respondem a um agente no idioma de prompt da sessão: a legenda da lista de elementos, o aviso de que há mais elementos abaixo, as marcas de preenchido e marcado, um download ainda em andamento, uma espera que esgotou o tempo, a contagem de erros de console adicionais e o que um diálogo aberto pede dele. As etiquetas de linha (`url:`, `text:`, `downloaded:`, `console error:`, `dialog open:` e as demais) continuam como estão em todos os idiomas. +- O navegador de uma sessão que nenhuma aba mostra monta a página no tamanho da janela do lich, no zoom do navegador, em vez dos 800×600 do Chrome, então o agente lê e captura a página como um navegador desktop a mostra. Fechar a aba do navegador devolve a página a esse tamanho, em vez de deixá-la no da aba. +- Resolver conflitos na tela de Pull requests nomeia os arquivos em conflito no prompt que envia à sessão, como Corrigir erros de CI nomeia as verificações que falham. Clicado antes de os arquivos serem conhecidos, envia o prompt sem eles, como antes. ### Fixed - No Windows, a janela aparece como `lich` na barra de tarefas e no Alt-Tab, em vez de `lich (native slice)`. - Um projeto cuja conta do GitHub vive num servidor GitHub Enterprise passa a ter essa conta na tela de Pull requests, nos selos de pull request e numa sessão em sandbox com o token dela. O token saía sob uma variável que o gh ignora para um host enterprise, então o gh respondia ali como a conta ativa dele. - O clique, a digitação ou a tecla pressionada por índice no navegador de uma sessão chega ao elemento que a última leitura de página do agente deu a esse índice. Depois de uma rolagem e de uma segunda leitura, um elemento que a primeira leitura listava sob o mesmo índice, agora fora da vista, podia receber o clique no lugar, sem nenhum erro. +- No Windows, sessões que começam ao mesmo tempo num mesmo perfil não falham mais de vez em quando com `Access is denied` enquanto o lich grava os arquivos desse perfil. ## [0.80.0] - 2026-10-27 diff --git a/changelog/ru.md b/changelog/ru.md index 118b702aa..64c35e3bc 100644 --- a/changelog/ru.md +++ b/changelog/ru.md @@ -12,6 +12,9 @@ - Агент узнаёт, когда страница в браузере его сессии ломается. Каждая страница, которую он читает, по которой кликает или на которой нажимает клавишу, отвечает ошибками консоли с его прошлого просмотра, по одному разу: вызовы `console.error`, необработанные исключения и ресурсы, которые не загрузились, обрезанные до одной короткой строки, первые пять и сколько ещё. Предупреждения и прочие сообщения не попадают. - Агент может закрыть проект через `close_project` или `lich close-project`: вкладка исчезает из окна, а его сессии останавливаются и сохраняются для повторного открытия, как при закрытии вкладки. Проект, в котором работает агент, и домашний проект отклоняются. - Вы и агент отвечаете на диалоги JavaScript страницы в браузере сессии. Alert, confirm, prompt или «Покинуть эту страницу?», которые открывает страница, показываются карточкой поверх страницы во вкладке браузера сессии, с названием сайта, который их открыл, его кнопками и, для prompt, полем. Вы отвечаете на него там же, или агент через `browser_dialog`, и его курсор нажимает кнопку карточки. Клик агента, открывший диалог, сразу получает ответ с этим диалогом, а агент узнаёт о диалоге, на который ответили вы. Раньше кнопка, показывавшая alert, замораживала страницу: клик агента и каждое чтение после него ждали тридцать секунд и завершались ошибкой. +- В «Настройки › Общие» есть переключатель «Копировать при выделении» для терминала. По умолчанию он включён и копирует выделение сразу, как только вы его сделали; если выключен, копируйте его сочетанием Ctrl+Shift+C (Cmd+C в macOS). +- Браузер сессии масштабирует свою страницу отдельно от масштаба интерфейса: Ctrl+- и Ctrl+= (Cmd в macOS) уменьшают и увеличивают на 10%, от 50% до 200%, а Ctrl+0 возвращает 100%. Уменьшенная страница раскладывается шире, как в обычном настольном браузере, и на небольшом экране с ней можно работать, не уменьшая остальную часть окна. Масштаб действует на браузер каждой сессии, показывается на панели инструментов, пока он не равен 100%, и сохраняется до следующего запуска. +- «Настройки › Общие › Окно › Кнопки» выбирают, показывать ли кнопки сворачивания, разворачивания и закрытия окна: «Как в системе», «Всегда показывать» или «Скрыть». «Как в системе» работает так, как lich вёл себя раньше, а в Linux теперь ещё и следует за изменением раскладки кнопок рабочего стола, пока lich открыт, а не читает её только при запуске. «Всегда показывать» рисует кнопки, даже когда оконный менеджер рисует собственный заголовок или раскладывает окно плиткой без заголовка, как Hyprland. «Скрыть» оставляет окно без них, включая «светофор» в macOS. ### Changed @@ -19,12 +22,15 @@ - Окно занимает меньше памяти при многих открытых сессиях. Терминал вне экрана освобождает нарисованные пиксели, по несколько мегабайт на каждый, и перерисовывает их за один кадр, когда возвращается. - Сборщик мусора окна теперь работает со значением 50 вместо стандартных для Go 100: в тесте с 15 сессиями это сократило резидентную память примерно на десятую часть, то есть на запас, который система иначе вытеснила бы в swap. `GOGC` по-прежнему имеет приоритет. - Инструменты браузера отвечают агенту на языке промпта сессии: легенда списка элементов, заметка о том, что ниже ждут ещё элементы, отметки заполненного и выбранного, скачивание, которое ещё идёт, ожидание, которое истекло, число дальнейших ошибок консоли и то, чего от него просит открытый диалог. Теги строк (`url:`, `text:`, `downloaded:`, `console error:`, `dialog open:` и остальные) остаются на всех языках без изменений. +- Браузер сессии, который не показывает ни одна вкладка, раскладывает страницу по размеру окна lich, с учётом масштаба браузера, а не по 800×600 в Chrome, поэтому агент читает страницу и снимает её скриншоты так, как их показывает настольный браузер. Закрытие вкладки браузера возвращает страницу к этому размеру, а не оставляет её размера вкладки. +- «Разрешить конфликты» на экране Pull requests называет конфликтующие файлы в промпте, который отправляет сессии, как «Исправить ошибки CI» называет упавшие проверки. Если нажать до того, как файлы известны, он отправляет промпт без них, как раньше. ### Fixed - В Windows окно называется `lich` на панели задач и в Alt-Tab, а не `lich (native slice)`. - Проект, чей GitHub-аккаунт находится на сервере GitHub Enterprise, получает этот аккаунт на экране Pull requests, в значках pull request и в изолированной сессии, получившей его токен. Токен уходил под переменной, которую gh игнорирует для хоста Enterprise, поэтому gh отвечал там как свой активный аккаунт. - Клик, ввод или нажатие клавиши в браузере сессии по индексу попадает в тот элемент, которому этот индекс дало последнее чтение страницы агентом. После прокрутки и второго чтения элемент, который первое чтение перечисляло под тем же индексом и который теперь вне поля зрения, мог получить клик вместо нужного, без ошибки. +- В Windows сессии, стартующие одновременно в одном профиле, больше не падают время от времени с `Access is denied`, пока lich записывает файлы этого профиля. ## [0.80.0] - 2026-10-27 diff --git a/changelog/zh-CN.md b/changelog/zh-CN.md index 538d6b7e8..007fa9933 100644 --- a/changelog/zh-CN.md +++ b/changelog/zh-CN.md @@ -12,6 +12,9 @@ - 当会话浏览器中的页面出错时,代理会得知。它读取、点击或按键的每个页面,都会返回自上次查看以来的控制台错误,每条只出现一次:`console.error` 调用、未捕获的异常和加载失败的资源,截为一短行,显示前五条以及还有多少条。警告和其他消息不包括在内。 - 代理可以通过 `close_project` 或 `lich close-project` 关闭项目:标签页会离开窗口,它的会话停止,并像你关闭标签页时一样保留以便重新打开。代理所在的项目和主页项目会被拒绝。 - 你和代理都可以回应会话浏览器中页面的 JavaScript 对话框。页面打开的 alert、confirm、prompt 或“要离开此页面吗?”,会在会话浏览器标签页中以覆盖在页面顶部的卡片显示,写明是哪个网站打开的,带有按钮,prompt 还带有输入框。你可以在那里回应,代理也可以用 `browser_dialog` 回应,它的光标会按下卡片上的按钮。代理那次打开对话框的点击会立即返回,并带上该对话框,代理也会得知你已回应的对话框。此前,显示 alert 的按钮会让页面卡住:代理的点击以及之后的每次读取都要等待三十秒然后失败。 +- 设置 › 常规中有终端的“选中时复制”开关。默认开启,选中内容后立即复制;关闭后,用 Ctrl+Shift+C(macOS 上为 Cmd+C)复制。 +- 会话的浏览器可以独立于界面缩放来缩放页面:Ctrl+- 和 Ctrl+=(macOS 上为 Cmd)以 10% 的步长缩小和放大,范围从 50% 到 200%,Ctrl+0 恢复到 100%。缩小后的页面布局会更宽,就像桌面浏览器一样,这让小屏幕也能使用,而无需缩小窗口的其余部分。缩放适用于每个会话的浏览器,不是 100% 时显示在工具栏上,并在下次启动时保留。 +- 设置 › 常规 › 窗口 › 按钮可以选择是否显示窗口的最小化、最大化和关闭按钮:跟随系统、始终显示或隐藏。跟随系统就是 lich 此前的行为,在 Linux 上现在还会在 lich 运行期间跟随桌面按钮布局的变化,而不是只在启动时读取一次。始终显示即使在窗口管理器绘制了窗口装饰,或像 Hyprland 那样平铺窗口而没有标题栏的情况下,也会绘制按钮。隐藏则让窗口不带这些按钮,macOS 上的红绿灯按钮也一并隐藏。 ### Changed @@ -19,12 +22,15 @@ - 打开许多会话时,窗口占用的内存更少。屏幕外的终端会释放它绘制的像素,每个几兆字节,并在回到屏幕时于一帧内重新绘制。 - 窗口的垃圾回收器现在以 50 运行,而不是 Go 默认的 100。在 15 个会话的测试中,这削减了约十分之一的常驻内存,即系统原本会换出到 swap 的那部分余量。`GOGC` 仍可覆盖它。 - 浏览器工具现在用会话的提示语言回应代理:元素列表的图例、下方还有更多元素的说明、已填写和已勾选的标记、仍在进行的下载、已超时的等待、更多控制台错误的数量,以及打开的对话框对它的要求。行标签(`url:`、`text:`、`downloaded:`、`console error:`、`dialog open:` 等)在所有语言中保持不变。 +- 没有任何标签页显示的会话浏览器,现在按 lich 窗口的大小并结合浏览器缩放来布局页面,而不是 Chrome 的 800×600,因此代理读取和截取的页面与桌面浏览器中显示的一致。关闭浏览器标签页会把页面恢复到该大小,而不是停留在标签页的大小。 +- 拉取请求界面中的“解决冲突”现在会在发送给会话的提示中写明冲突的文件,就像“修复 CI 错误”写明失败的检查一样。在文件尚未获知时点击,则像以前一样发送不带文件的提示。 ### Fixed - 在 Windows 上,任务栏和 Alt-Tab 中的窗口标题为 `lich`,而不是 `lich (native slice)`。 - 项目的 GitHub 账号位于 GitHub Enterprise 服务器时,拉取请求界面、拉取请求徽章以及沙盒会话获得的令牌现在都会使用该账号。令牌此前通过 gh 在企业主机上忽略的变量发出,因此 gh 在那里以它当前启用的账号响应。 - 会话浏览器按索引进行的点击、输入或按键,会作用于代理上一次读取页面时赋予该索引的元素。此前,在滚动并再次读取之后,第一次读取中使用同一索引、现已不在视野内的元素,可能会接收点击,且不报任何错误。 +- 在 Windows 上,同一个配置文件下同时启动的会话,在 lich 写入该配置文件的文件时,不再偶尔因 `Access is denied` 而失败。 ## [0.80.0] - 2026-10-27