From 551b195b143f8355d0b7e1a2607d41ce3354ae32 Mon Sep 17 00:00:00 2001 From: omartelo Date: Fri, 23 Oct 2026 17:44:29 -0300 Subject: [PATCH] chore: cut 0.78.1 --- CHANGELOG.md | 5 ++++- changelog/es.md | 20 ++++++++++++++++++++ changelog/ja.md | 20 ++++++++++++++++++++ changelog/ko.md | 20 ++++++++++++++++++++ changelog/pt-BR.md | 20 ++++++++++++++++++++ changelog/ru.md | 20 ++++++++++++++++++++ changelog/zh-CN.md | 20 ++++++++++++++++++++ 7 files changed, 124 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b131854..57c4f56f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.78.1] - 2026-10-23 + ### Changed - While a session works, the window redraws its busy spinner at 30 frames a second rather than at the display's rate, a card builds its right-click menu only while that menu is open, and a dialog that is shut builds nothing at all. @@ -6348,7 +6350,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 CPU, costing ~40ms per frame in a full-size window. Under Xwayland typing is stall-free at full frame rate. -[Unreleased]: https://github.com/lichdotdev/lich/compare/v0.78.0...HEAD +[Unreleased]: https://github.com/lichdotdev/lich/compare/v0.78.1...HEAD +[0.78.1]: https://github.com/lichdotdev/lich/compare/v0.78.0...v0.78.1 [0.78.0]: https://github.com/lichdotdev/lich/compare/v0.77.0...v0.78.0 [0.77.0]: https://github.com/lichdotdev/lich/compare/v0.76.0...v0.77.0 [0.76.0]: https://github.com/lichdotdev/lich/compare/v0.75.0...v0.76.0 diff --git a/changelog/es.md b/changelog/es.md index 1d26061c..96c37b55 100644 --- a/changelog/es.md +++ b/changelog/es.md @@ -1,3 +1,23 @@ +## [0.78.1] - 2026-10-23 + +### Changed + +- Mientras una sesión trabaja, la ventana redibuja su spinner de ocupado a 30 fotogramas por segundo en vez de a la tasa de la pantalla, una tarjeta construye su menú de clic derecho solo mientras ese menú está abierto, y un diálogo cerrado no construye nada. + +### Fixed + +- La rama, los cambios y el pull request en las tarjetas y en el pie de ventana se ponen al día en menos de un segundo tras un commit, checkout o edición hechos fuera de un turno, cuando antes podían tardar hasta tres segundos, y al seleccionar una tarjeta se lee su checkout al instante en lugar de mostrar lo que encontró la última lectura. +- Ocultar la lista de pull requests en la pantalla Pull requests la quita al instante, cuando antes la lista seguía en pantalla hasta que se movía el ratón o Pull requests volvía a consultar GitHub. Mostrarla otra vez tampoco espera ya un fotograma. +- Las sesiones de Kiro CLI siguen `KIRO_HOME`. Con ella definida, lich leía las conversaciones, el coste y el contexto de Kiro en `~/.kiro` mientras Kiro los guardaba en `KIRO_HOME`, así que no mostraban nada e Historial no listaba ninguna; el agente que lleva los hooks de lich se instalaba donde Kiro nunca miraba, y una sesión en sandbox no recibía el directorio en el que escribe. +- Abrir o cerrar el dock ya no deja la terminal de la sesión cortada en su borde por un instante cuando el dock se detiene. La terminal toma su nuevo ancho en cuanto el dock empieza a moverse, así que el agente redibuja mientras el dock se desliza, cuando antes la terminal esperaba una décima de segundo tras detenerse el dock y luego daba un salto. Las terminales de un diseño dividido se ajustan en el momento en que el dock se detiene. +- Expandir la barra lateral ya no deja la terminal de la sesión con su ancho anterior por un instante cuando la barra ya está abierta. La terminal toma su nuevo ancho en cuanto la barra empieza a moverse, como con el dock, cuando antes esperaba una décima de segundo tras detenerse la barra y luego daba un salto; al contraerla también se reajusta al instante. Las terminales de un diseño dividido se ajustan en el momento en que la barra lateral se detiene. +- Reabrir la ventana ya no escribe texto suelto en una sesión. Reconstruir una terminal a partir de su salida reciente volvía a responder las consultas de terminal que contenía, como las que envía nvim al arrancar, y las respuestas caían en la entrada de la sesión: en un shell como un `command not found`, en un agente como texto en su prompt. +- La terminal de una sesión abierta mientras la sesión imprime ya no pierde lo que imprimió en ese momento. El backend ahora entrega a la ventana la salida reciente de la sesión en línea con su salida en vivo, así que nada entre ambas se pierde ni se muestra dos veces. +- En Linux, cambiar el tamaño de fuente de la terminal y abrir una tarjeta por primera vez se traban menos. Cada terminal volvía a buscar su fuente en fontconfig cada vez, cuatro búsquedas de unos 10 ms cada una dentro de un mismo fotograma; lich ahora recuerda la respuesta durante el resto de su ejecución. +- Cambiar el tamaño de fuente de la terminal ya no recarga la fuente de cada terminal abierta: cada una conserva la fuente que tiene y solo la dibuja al nuevo tamaño. +- Una sesión que imprime mucha salida cuesta menos al backend. Cada byte de camino a la ventana se copiaba unas siete veces a memoria que el recolector de basura tenía que reclamar después; ahora se copia una vez. +- Un comentario de bloque que se abre por encima de un tramo plegado de un diff, en Revisión y en la pantalla Pull requests, ya no colorea como comentario el código posterior a ese tramo. Su `*/` de cierre caía en las líneas ocultas, así que cada hunk de abajo se veía como comentario hasta algún `*/` posterior, y solo expandir el tramo lo arreglaba. Las líneas de un comentario cortado por un tramo plegado, por encima de él, aún pueden verse como código hasta que se expande. + ## [0.78.0] - 2026-10-22 ### Added diff --git a/changelog/ja.md b/changelog/ja.md index 739a86d4..bb38b5ac 100644 --- a/changelog/ja.md +++ b/changelog/ja.md @@ -1,3 +1,23 @@ +## [0.78.1] - 2026-10-23 + +### Changed + +- セッションが動作している間、ウィンドウはビジー状態のスピナーをディスプレイのリフレッシュレートではなく毎秒 30 フレームで再描画します。カードの右クリックメニューはそのメニューが開いている間だけ作られ、閉じているダイアログは何も作られません。 + +### Fixed + +- カードとフッターのブランチ、変更、プルリクエストは、ターン外で行ったコミット、チェックアウト、編集から 1 秒以内に追いつくようになりました。以前は最大 3 秒遅れることがありました。また、カードを選択するとそのチェックアウトをすぐに読み込み、前回の読み取り結果を表示したままにはしません。 +- Pulls でプルリクエストの一覧を非表示にすると、すぐに画面から消えます。以前は、マウスを動かすか Pulls が次に GitHub を確認するまで画面に残っていました。再表示も 1 フレーム待たなくなりました。 +- Kiro CLI のセッションが `KIRO_HOME` に従うようになりました。設定していても、lich は Kiro の会話、コスト、コンテキストを `~/.kiro` から読んでいましたが、Kiro はそれらを `KIRO_HOME` の下に保存していたため、何も表示されず、履歴にも一覧されませんでした。lich のフックを持つエージェントも Kiro が見ない場所にインストールされ、サンドボックス内のセッションには Kiro が書き込むディレクトリが与えられていませんでした。 +- ドックを開閉したとき、ドックが止まったあとにセッションのターミナルが端で切れたままになる一瞬がなくなりました。ターミナルはドックが動き始めた時点で新しい幅になるため、ドックがスライドする間にエージェントが再描画されます。以前は、ドックが止まってから 10 分の 1 秒待ってから、一気に切り替わっていました。分割レイアウトのターミナルは、ドックが止まった瞬間に収まります。 +- サイドバーを展開したとき、サイドバーが開いたあとにセッションのターミナルが元の幅のままになる一瞬がなくなりました。ドックと同様に、ターミナルはサイドバーが動き始めた時点で新しい幅になります。以前は、サイドバーが止まってから 10 分の 1 秒待ってから、一気に切り替わっていました。折りたたむときもすぐに再調整されます。分割レイアウトのターミナルは、サイドバーが止まった瞬間に収まります。 +- ウィンドウを開き直したとき、セッションに余計な文字が入力されなくなりました。直近の出力からターミナルを再構築する際、その中の端末への問い合わせ(nvim が起動時に送るものなど)にもう一度応答してしまい、その応答がセッションの入力に入っていました。シェルでは `command not found` として、エージェントではプロンプト内のテキストとして現れていました。 +- セッションが出力している最中に開いたターミナルが、その瞬間に出力された内容を取りこぼさなくなりました。バックエンドは、セッションの直近の出力をライブ出力と連続した流れでウィンドウに渡すため、その間の内容が失われたり二重に表示されたりしません。 +- Linux で、ターミナルのフォントサイズを変更したときや、カードを初めて開いたときの引っかかりが減りました。以前は、すべてのターミナルが毎回 fontconfig でフォントを再検索しており、1 フレームの中で約 10ms の検索が 4 回行われていました。lich は今、その結果を実行が終わるまで記憶します。 +- ターミナルのフォントサイズを変更しても、開いているすべてのターミナルのフォントを再読み込みしなくなりました。各ターミナルは持っているフォントをそのまま使い、新しいサイズで描画するだけです。 +- 大量の出力を行うセッションによるバックエンドの負荷が減りました。ウィンドウへ届くまでの各バイトは、約 7 回もメモリにコピーされ、あとでガベージコレクタが回収する必要がありました。今は 1 回だけコピーされます。 +- レビューと Pulls の差分で、折りたたまれた区間の上で始まるブロックコメントが、その区間のあとのコードをコメントとして色付けしなくなりました。閉じる `*/` が非表示の行にあるため、あとの `*/` が現れるまで下のすべてのハンクがコメントとして表示され、区間を展開しないと直りませんでした。折りたたまれた区間より上にある、途中で切れたコメントの行は、展開するまでコードとして表示されることがあります。 + ## [0.78.0] - 2026-10-22 ### Added diff --git a/changelog/ko.md b/changelog/ko.md index f9038c02..852d5660 100644 --- a/changelog/ko.md +++ b/changelog/ko.md @@ -1,3 +1,23 @@ +## [0.78.1] - 2026-10-23 + +### Changed + +- 세션이 작업하는 동안 창은 사용 중 스피너를 디스플레이의 주사율이 아니라 초당 30프레임으로 다시 그립니다. 카드의 오른쪽 클릭 메뉴는 그 메뉴가 열려 있는 동안에만 만들어지고, 닫힌 대화상자는 아무것도 만들지 않습니다. + +### Fixed + +- 카드와 하단 바의 브랜치, 변경 사항, 풀 리퀘스트가 턴 밖에서 한 커밋, 체크아웃, 편집을 1초 안에 따라잡습니다. 이전에는 최대 3초까지 늦을 수 있었습니다. 또한 카드를 선택하면 마지막으로 읽은 결과를 보여 주는 대신 그 체크아웃을 즉시 읽습니다. +- Pulls에서 풀 리퀘스트 목록을 숨기면 바로 사라집니다. 이전에는 마우스가 움직이거나 Pulls가 다음에 GitHub를 확인할 때까지 목록이 화면에 남아 있었습니다. 다시 표시할 때도 한 프레임을 기다리지 않습니다. +- Kiro CLI 세션이 `KIRO_HOME`을 따릅니다. 설정해도 lich는 Kiro의 대화, 비용, 컨텍스트를 `~/.kiro`에서 읽었지만 Kiro는 이를 `KIRO_HOME` 아래에 두고 있었기 때문에 아무것도 표시되지 않았고 기록에도 나열되지 않았습니다. lich의 훅을 담은 에이전트도 Kiro가 보지 않는 곳에 설치되었고, 샌드박스 세션에는 Kiro가 쓰는 디렉터리가 주어지지 않았습니다. +- 도크를 열거나 닫아도 도크가 멈춘 뒤 세션의 터미널이 가장자리에서 잘린 채 잠시 남아 있지 않습니다. 터미널은 도크가 움직이기 시작할 때 새 너비를 받으므로 도크가 미끄러지는 동안 에이전트가 다시 그립니다. 이전에는 도크가 멈춘 뒤 10분의 1초를 기다렸다가 한꺼번에 바뀌었습니다. 분할 레이아웃의 터미널은 도크가 멈추는 순간 맞춰집니다. +- 사이드바를 펼쳐도 사이드바가 열린 뒤 세션의 터미널이 이전 너비로 잠시 남아 있지 않습니다. 도크와 마찬가지로 터미널은 사이드바가 움직이기 시작할 때 새 너비를 받습니다. 이전에는 사이드바가 멈춘 뒤 10분의 1초를 기다렸다가 한꺼번에 바뀌었습니다. 접을 때도 즉시 다시 맞춰집니다. 분할 레이아웃의 터미널은 사이드바가 멈추는 순간 맞춰집니다. +- 창을 다시 열어도 세션에 엉뚱한 텍스트가 입력되지 않습니다. 최근 출력으로 터미널을 다시 만들 때 그 안의 터미널 질의(예를 들어 nvim이 시작할 때 보내는 것)에 다시 응답했고, 그 응답이 세션의 입력에 들어갔습니다. 셸에서는 `command not found`로, 에이전트에서는 프롬프트 안의 텍스트로 나타났습니다. +- 세션이 출력하는 도중에 연 세션의 터미널이 그 순간에 출력된 내용을 놓치지 않습니다. 백엔드가 세션의 최근 출력을 실시간 출력과 이어서 창에 전달하므로 그 사이의 내용이 유실되거나 두 번 표시되지 않습니다. +- Linux에서 터미널 글꼴 크기를 바꿀 때와 카드를 처음 열 때의 끊김이 줄었습니다. 이전에는 모든 터미널이 매번 fontconfig로 글꼴을 다시 조회했고, 한 프레임 안에서 각각 약 10ms인 조회가 네 번 일어났습니다. 이제 lich는 그 결과를 실행이 끝날 때까지 기억합니다. +- 터미널 글꼴 크기를 바꿔도 열려 있는 모든 터미널의 글꼴을 다시 불러오지 않습니다. 각 터미널은 가진 글꼴을 그대로 쓰고 새 크기로 그리기만 합니다. +- 출력이 많은 세션이 백엔드에 주는 부담이 줄었습니다. 창으로 가는 각 바이트가 약 7번씩 메모리에 복사되어 이후 가비지 컬렉터가 회수해야 했는데, 이제는 한 번만 복사됩니다. +- 리뷰와 Pulls의 diff에서 접힌 구간 위에서 시작하는 블록 주석이 그 구간 뒤의 코드를 주석으로 칠하지 않습니다. 닫는 `*/`가 숨겨진 줄에 있어서 이후의 `*/`가 나올 때까지 아래의 모든 헝크가 주석으로 표시되었고, 구간을 펼쳐야만 해결되었습니다. 접힌 구간에 의해 잘린 주석의 위쪽 줄은 펼치기 전까지 코드로 표시될 수 있습니다. + ## [0.78.0] - 2026-10-22 ### Added diff --git a/changelog/pt-BR.md b/changelog/pt-BR.md index cb08c80a..d623703a 100644 --- a/changelog/pt-BR.md +++ b/changelog/pt-BR.md @@ -1,3 +1,23 @@ +## [0.78.1] - 2026-10-23 + +### Changed + +- Enquanto uma sessão trabalha, a janela redesenha o spinner de ocupado a 30 quadros por segundo, e não na taxa da tela; o card monta o menu de clique direito só enquanto ele está aberto, e uma caixa de diálogo fechada não monta nada. + +### Fixed + +- Branch, alterações e pull request nos cards e no rodapé se atualizam em até um segundo depois de um commit, checkout ou edição feitos fora de um turno, onde antes podiam atrasar até três segundos, e selecionar um card lê o checkout dele na hora, em vez de mostrar o que a última leitura encontrou. +- Ocultar a lista de pull requests na tela Pull requests a recolhe na hora, onde a lista ficava na tela até o mouse se mover ou a tela Pull requests consultar o GitHub de novo. Mostrá-la outra vez também não espera mais um quadro. +- As sessões do Kiro CLI seguem `KIRO_HOME`. Com ela definida, o lich lia as conversas, o custo e o contexto do Kiro em `~/.kiro`, enquanto o Kiro os mantinha em `KIRO_HOME`, então nada aparecia e o Histórico não listava nenhuma; o agente que carrega os hooks do lich era instalado onde o Kiro nunca olhava, e uma sessão em sandbox não recebia o diretório em que ele escreve. +- Abrir ou fechar o dock não deixa mais o terminal da sessão cortado na borda por um instante depois que o dock para. O terminal assume a nova largura assim que o dock começa a se mover, então o agente redesenha enquanto o dock desliza, onde o terminal esperava um décimo de segundo depois que o dock parava e então dava um salto. Os terminais de um layout dividido se ajustam no instante em que o dock para. +- Expandir a barra lateral não deixa mais o terminal da sessão na largura antiga por um instante depois que a barra se abre. O terminal assume a nova largura assim que a barra começa a se mover, como no dock, onde esperava um décimo de segundo depois que a barra parava e então dava um salto; recolhê-la também reajusta na hora. Os terminais de um layout dividido se ajustam no instante em que a barra lateral para. +- Reabrir a janela não digita mais texto solto em uma sessão. Reconstruir um terminal a partir da saída recente respondia de novo às consultas do terminal nela, como as que o nvim envia ao iniciar, e as respostas caíam na entrada da sessão: em um shell como um `command not found`, em um agente como texto no prompt dele. +- O terminal de uma sessão aberto enquanto ela imprime não perde mais o que foi impresso nesse momento. O backend agora entrega à janela a saída recente da sessão em linha com a saída ao vivo, então nada entre as duas se perde nem aparece duas vezes. +- No Linux, mudar o tamanho da fonte do terminal e abrir um card pela primeira vez travam menos. Cada terminal consultava a fonte de novo pelo fontconfig a cada vez, quatro consultas de cerca de 10 ms cada uma dentro de um quadro; o lich agora lembra a resposta pelo resto da execução. +- Mudar o tamanho da fonte do terminal não recarrega mais a fonte de todos os terminais abertos: cada um mantém a fonte que tem e só a desenha no novo tamanho. +- Uma sessão que imprime muita saída custa menos ao backend. Cada byte a caminho da janela era copiado cerca de sete vezes para uma memória que o coletor de lixo depois precisava recuperar; agora é copiado uma vez. +- Um comentário de bloco que abre acima de um trecho recolhido de um diff, na Revisão e na tela Pull requests, não pinta mais de comentário o código depois desse trecho. O `*/` que o fechava ficava nas linhas ocultas, então todo hunk abaixo aparecia como comentário até algum `*/` mais adiante, e só expandir o trecho resolvia. As linhas de um comentário cortado por um trecho recolhido, acima dele, ainda podem aparecer como código até que o trecho seja expandido. + ## [0.78.0] - 2026-10-22 ### Added diff --git a/changelog/ru.md b/changelog/ru.md index 657a80ec..53ff610b 100644 --- a/changelog/ru.md +++ b/changelog/ru.md @@ -1,3 +1,23 @@ +## [0.78.1] - 2026-10-23 + +### Changed + +- Пока сессия работает, окно перерисовывает индикатор занятости с частотой 30 кадров в секунду, а не с частотой экрана; карточка строит контекстное меню правой кнопки, только пока оно открыто, а закрытый диалог не строит ничего. + +### Fixed + +- Ветка, изменения и pull request на карточках и в футере обновляются в течение секунды после коммита, checkout или правки, сделанных вне хода, тогда как раньше отставание могло достигать трёх секунд; выбор карточки сразу читает её checkout, а не показывает то, что нашло последнее чтение. +- Скрытие списка pull request на экране Pull requests убирает его сразу, тогда как раньше список оставался на экране, пока не сдвинется мышь или Pull requests снова не обратится к GitHub. Повторный показ тоже больше не ждёт кадра. +- Сессии Kiro CLI следуют `KIRO_HOME`. Если она задана, lich читал разговоры, стоимость и контекст Kiro из `~/.kiro`, пока Kiro хранил их в `KIRO_HOME`, поэтому они ничего не показывали, а «История» не перечисляла ни одной; агент с хуками lich устанавливался туда, куда Kiro никогда не смотрел, а сессии в песочнице не давали каталог, в который она пишет. +- Открытие или закрытие дока больше не оставляет терминал сессии обрезанным у края на мгновение после остановки дока. Терминал принимает новую ширину, как только док начинает двигаться, поэтому агент перерисовывается, пока док выезжает, тогда как раньше терминал ждал десятую долю секунды после остановки дока и затем прыгал. Терминалы разделённой раскладки подгоняются в момент остановки дока. +- Раскрытие боковой панели больше не оставляет терминал сессии прежней ширины на мгновение после того, как панель открылась. Терминал принимает новую ширину, как только панель начинает двигаться, как и с доком, тогда как раньше он ждал десятую долю секунды после остановки панели и затем прыгал; при сворачивании он тоже подгоняется сразу. Терминалы разделённой раскладки подгоняются в момент остановки боковой панели. +- Повторное открытие окна больше не вводит посторонний текст в сессию. Пересборка терминала по его недавнему выводу снова отвечала на запросы терминала в нём, например те, что nvim отправляет при старте, и ответы попадали во ввод сессии: в оболочке как `command not found`, в агенте как текст в его промпте. +- Терминал сессии, открытый, пока сессия печатает, больше не теряет то, что она напечатала в этот момент. Бэкенд теперь передаёт окну недавний вывод сессии в одной линии с живым выводом, поэтому ничего между ними не теряется и не показывается дважды. +- В Linux смена размера шрифта терминала и первое открытие карточки подтормаживают меньше. Каждый терминал каждый раз заново искал шрифт через fontconfig, четыре поиска примерно по 10 мс внутри одного кадра; теперь lich запоминает ответ до конца работы. +- Смена размера шрифта терминала больше не перезагружает шрифт каждого открытого терминала: каждый сохраняет свой шрифт и лишь рисует его в новом размере. +- Сессия с большим объёмом вывода обходится бэкенду дешевле. Каждый байт на пути к окну копировался около семи раз в память, которую затем приходилось освобождать сборщику мусора; теперь он копируется один раз. +- Блочный комментарий, открывающийся выше свёрнутого участка диффа, в «Ревью» и на экране Pull requests, больше не окрашивает код после этого участка как комментарий. Его закрывающий `*/` оказывался в скрытых строках, поэтому каждый hunk ниже показывался как комментарий до какого-нибудь более позднего `*/`, и помогало только раскрытие участка. Строки комментария, разрезанного свёрнутым участком, выше него по-прежнему могут показываться как код, пока участок не раскрыт. + ## [0.78.0] - 2026-10-22 ### Added diff --git a/changelog/zh-CN.md b/changelog/zh-CN.md index 8c76981a..2eb7af9c 100644 --- a/changelog/zh-CN.md +++ b/changelog/zh-CN.md @@ -1,3 +1,23 @@ +## [0.78.1] - 2026-10-23 + +### Changed + +- 会话工作时,窗口以每秒 30 帧而不是显示器的刷新率重绘其忙碌指示器;卡片只在其右键菜单打开时才构建该菜单;关闭的对话框则完全不构建任何内容。 + +### Fixed + +- 卡片和页脚上的分支、更改和拉取请求,会在回合之外进行的提交、检出或编辑后一秒内跟上,此前可能滞后多达三秒;选中卡片时会立即读取其检出目录,而不再显示上一次读取的结果。 +- 在 Pulls 中隐藏拉取请求列表时,列表会立即消失,而此前它会一直留在屏幕上,直到鼠标移动或 Pulls 下次检查 GitHub。再次显示时也不再等待一帧。 +- Kiro CLI 会话现在遵循 `KIRO_HOME`。设置它之后,lich 仍从 `~/.kiro` 读取 Kiro 的对话、费用和上下文,而 Kiro 把它们保存在 `KIRO_HOME` 下,因此什么都显示不出来,历史中也没有列出任何内容;携带 lich 钩子的代理被安装在了 Kiro 从不查看的位置,沙箱会话也没有获得 Kiro 写入的目录。 +- 打开或关闭停靠栏后,会话终端不再在停靠栏停下之后短暂地在边缘被截断。终端在停靠栏开始移动时就采用新的宽度,因此代理会在停靠栏滑动期间重绘,而此前终端要等到停靠栏停下十分之一秒后才跳变。分屏布局中的终端会在停靠栏停下的瞬间完成适配。 +- 展开侧边栏后,会话终端不再在侧边栏打开之后短暂地停留在旧的宽度。与停靠栏一样,终端在侧边栏开始移动时就采用新的宽度,而此前它要等到侧边栏停下十分之一秒后才跳变;折叠时也会立即重新适配。分屏布局中的终端会在侧边栏停下的瞬间完成适配。 +- 重新打开窗口不再向会话输入多余的文本。根据最近的输出重建终端时,会再次应答其中的终端查询(例如 nvim 启动时发送的那些),这些应答落到了会话的输入上:在 shell 中表现为 `command not found`,在代理中表现为提示中的文本。 +- 会话正在打印输出时打开的会话终端,不再漏掉那一刻打印的内容。后端现在把会话的最近输出与实时输出衔接在一起交给窗口,因此两者之间不会丢失或重复显示任何内容。 +- 在 Linux 上,调整终端字体大小和首次打开卡片时的卡顿减少了。此前每个终端每次都通过 fontconfig 重新查找字体,在一帧之内进行四次查找,每次约 10ms;lich 现在会在本次运行期间记住结果。 +- 调整终端字体大小不再重新加载每个已打开终端的字体:每个终端保留其已有的字体,只是以新的大小绘制。 +- 输出量很大的会话给后端带来的开销降低了。发往窗口的每个字节此前被复制进内存约七次,之后还要由垃圾回收器回收;现在只复制一次。 +- 在审查和 Pulls 的差异中,开始于折叠区段上方的块注释,不再把该区段之后的代码染成注释。它的结束符 `*/` 落在隐藏的行中,因此下面的每个代码块都显示为注释,直到后面某个 `*/` 出现,只有展开该区段才能修复。被折叠区段截断的注释位于其上方的行,在展开之前仍可能显示为代码。 + ## [0.78.0] - 2026-10-22 ### Added