From 5c59ddc463de15065144d36df7c07682b4307ca1 Mon Sep 17 00:00:00 2001 From: Anatolii Hrynchuk Date: Sat, 31 Oct 2026 02:03:10 +0200 Subject: [PATCH] Document v0.6.19 copy retries and snippet failure behavior in English and Ukrainian --- Clipboard-uk.md | 4 ++++ Clipboard.md | 4 ++++ FAQ-uk.md | 4 ++++ FAQ.md | 4 ++++ Home-uk.md | 10 +++++----- Home.md | 10 +++++----- Snippets-uk.md | 6 ++++++ Snippets.md | 6 ++++++ Usage-uk.md | 2 ++ Usage.md | 2 ++ 10 files changed, 42 insertions(+), 10 deletions(-) diff --git a/Clipboard-uk.md b/Clipboard-uk.md index 415deaa..424420c 100644 --- a/Clipboard-uk.md +++ b/Clipboard-uk.md @@ -81,3 +81,7 @@ Tesseract — **необов’язкова опція, типово вимкн ![Clipboard item — multiline text](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/raw/images/clipboard-preview-0614.jpg) ![OCR options — Windows OCR or optional Tesseract](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/raw/images/ocr-options-0614.jpg) + +## Тимчасовий вміст операцій (v0.6.19) + +Тимчасовий вміст буфера для конвертації та заміни сніпетів позначається як виключений з історії буфера Windows і хмарної синхронізації. Це стосується службових записів KSwitcher, а не звичайного копіювання іншими програмами. Початковий буфер відновлюється, якщо операція досі володіє ним; дані, записані іншою програмою, не перезаписуються. Налаштування історії та збережені записи не змінюються. diff --git a/Clipboard.md b/Clipboard.md index 2b596c9..b01b703 100644 --- a/Clipboard.md +++ b/Clipboard.md @@ -81,3 +81,7 @@ The screenshots show demonstration entries created for this documentation. ![Clipboard item — multiline text](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/raw/images/clipboard-preview-0614.jpg) ![OCR options — Windows OCR or optional Tesseract](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/raw/images/ocr-options-0614.jpg) + +## Temporary transaction contents (v0.6.19) + +Temporary clipboard contents used for conversion and snippet replacement are marked to stay out of Windows clipboard history and cloud synchronization. This applies to KSwitcher's own transaction writes, not to ordinary copies made by other applications. The original clipboard snapshot is restored when the transaction still owns the clipboard; a concurrent writer's contents are not overwritten. Clipboard history settings and stored items are unchanged. diff --git a/FAQ-uk.md b/FAQ-uk.md index 1249d8d..7d77743 100644 --- a/FAQ-uk.md +++ b/FAQ-uk.md @@ -75,3 +75,7 @@ Оберіть **Current log** або **Previous log** і натисніть **Refresh**. **Copy selected / Ctrl+C** копіює рядки з подробицями; **Ctrl+A** вибирає всі. Скопійований журнал не додається до історії буфера. **Clear log** очищає лише вибраний файл. Старі неструктуровані записи залишаються доступними в подробицях, але нові поля фільтрації для них не відновлюються. Після перевищення 256 KiB поточний файл ротується, зберігається один попередній. Текстові поля підсумку обмежено 4096 одиницями UTF-16 із позначкою обрізання; старі поля етапів — 512 одиницями. Перед поширенням перевіряйте записаний текст на особисті дані. Від v0.6.16 перевірка оновлень не пропонує повторно встановити поточну чи старішу версію. Актуальний застосунок продовжує працювати без завантаження пакета. + +## Що робити, якщо команда копіювання не спрацювала? + +Інший процес може ненадовго утримувати буфер Windows відкритим, і деякі редактори тоді мовчки ігнорують Ctrl+C. Від v0.6.19 KSwitcher виконує не більше трьох спроб копіювання, поки його буфер і контекст введення не змінилися. Етап повтору може потрапити до обмеженого діагностичного контексту; успішні операції й надалі не створюють окремих рядків у файлі. Якщо копіювання не вдалося, текст неможливо перевірити й заміна скасовується. Надсилання Ctrl+V не доводить, що редактор прийняв вставлення; попередня діагностика фактичного тексту та її обмеження залишаються чинними. diff --git a/FAQ.md b/FAQ.md index 80541b4..eba9700 100644 --- a/FAQ.md +++ b/FAQ.md @@ -75,3 +75,7 @@ Successful operations do **not** create separate file entries. Their stages stay Select **Current log** or **Previous log** and click **Refresh**. **Copy selected / Ctrl+C** copies rows with their details; **Ctrl+A** selects all. Copied diagnostics are excluded from clipboard history. **Clear log** clears only the selected file. Older unstructured records remain readable in Details, but do not gain the new filter fields retroactively. The current file rotates after exceeding 256 KiB, retaining one previous file. Summary text fields are bounded to 4096 UTF-16 units and show truncation; older stage fields retain 512 units. Review captured text before sharing diagnostics. From v0.6.16, update checks do not offer to reinstall the same or an older version. An up-to-date installation stays running without downloading another package. + +## What if a copy operation is silently dropped? + +Another process can briefly hold the Windows clipboard open, and some editors silently ignore Ctrl+C in that situation. From v0.6.19, KSwitcher makes at most three copy attempts while its clipboard and input context remain unchanged. A retry stage can appear in the bounded diagnostic context; successful operations still do not create separate file rows. If copying still fails, the text cannot be verified and replacement is cancelled. Do not treat a sent Ctrl+V as confirmation that an editor accepted the paste; the existing readback diagnostics and limitations still apply. diff --git a/Home-uk.md b/Home-uk.md index be53f2e..89223fb 100644 --- a/Home-uk.md +++ b/Home-uk.md @@ -155,16 +155,16 @@ KSwitcher — нативне C++/Win32-переписування Windows-фун - [Гарячі клавіші, буфер обміну та шаблони](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Usage-uk) - [Оновлення, дані та поширені запитання](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/FAQ-uk) -Документацію та огляд усіх 11 можливостей актуалізовано для **v0.6.18**. Інтерфейс застосунку англійською; назви кнопок у посібнику наведені як у програмі. +Документацію та огляд усіх 11 можливостей актуалізовано для **v0.6.19**. Інтерфейс застосунку англійською; назви кнопок у посібнику наведені як у програмі. [![Підтримати KSwitcher: пригостіть розробника кавою](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/raw/images/donate-uk.png)](https://send.monobank.ua/jar/88h2TddKfS) [Відкрити банку Monobank](https://send.monobank.ua/jar/88h2TddKfS) · Дякую, що підтримуєте KSwitcher! -## Останні зміни — v0.6.18 (2026-10-31) +## Останні зміни — v0.6.19 (2026-10-31) -Ручна конвертація тепер перевіряє фактичний текст після вставлення. Журнал має сортування колонок, фільтри за програмою, командою та результатом і окрему панель подробиць. Успішні операції залишаються в обмеженому буфері пам’яті; окремі рядки у файлі створюються лише для проблем. +KSwitcher повторює пропущене копіювання — до трьох спроб загалом, поки буфер і контекст введення не змінилися. Тимчасовий вміст операцій виключено з історії буфера Windows і хмарної синхронізації. Тести сніпетів тепер ізолюють стан редактора й розкладок та доступ до буфера; перевіряють збої копіювання без втрати наступного введення чи надсилання Enter. -Документація також охоплює зміни після v0.6.14: надійне розгортання сніпетів із дією Enter, вимкнення редактора до вибору сніпета, захист від повторного встановлення поточної версії та обмеження напрямку олівця з Shift. Див. [діагностику](FAQ-uk), [сніпети](Snippets-uk) та [малювання](Screenshots-uk). +Журнал діагностики та запис лише проблемних операцій, запроваджені у v0.6.18, залишаються без змін. Див. [збої копіювання](FAQ-uk), [сніпети](Snippets-uk) та [роботу з буфером](Clipboard-uk). -[Завантажити v0.6.18](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/KSwitcher-win-x64.zip) · [Контрольні суми](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/SHA256SUMS.txt) +[Завантажити v0.6.19](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.19/KSwitcher-win-x64.zip) · [Контрольні суми](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.19/SHA256SUMS.txt) diff --git a/Home.md b/Home.md index d542460..e8614da 100644 --- a/Home.md +++ b/Home.md @@ -154,16 +154,16 @@ Enable **Start with Windows**. For elevated target applications, optionally enab - [Keyboard shortcuts, clipboard and snippets](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Usage) - [Updates, data and frequently asked questions](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/FAQ) -Documentation is current through **v0.6.18**. The application interface is in English. This wiki is available in English and Ukrainian; use the language links at the top of each page to open its translation. +Documentation is current through **v0.6.19**. The application interface is in English. This wiki is available in English and Ukrainian; use the language links at the top of each page to open its translation. [![Support KSwitcher development — buy the developer a coffee](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/raw/images/donate-en.png)](https://send.monobank.ua/jar/88h2TddKfS) [Donate via Monobank](https://send.monobank.ua/jar/88h2TddKfS) · Thank you for supporting KSwitcher! -## Recent changes — v0.6.18 (2026-10-31) +## Recent changes — v0.6.19 (2026-10-31) -Manual conversion now checks the text actually present after paste. The diagnostic viewer has sortable columns, program/command/result filters and a separate detail panel. Successful operations stay in bounded memory; only problems create operation rows in the file. +KSwitcher retries a silently dropped copy up to three total attempts while the clipboard and input context remain unchanged. Temporary transaction contents are excluded from Windows clipboard history and cloud synchronization. Snippet tests now isolate editor/layout state and clipboard access, and cover failed copies without losing subsequent typing or sending Enter. -This documentation also includes changes since v0.6.14: reliable snippet expansion with Enter actions, disabled snippet editing until an entry is selected, prevention of reinstalling the current version, and Shift-constrained pencil strokes. See [diagnostics](FAQ#diagnostics), [snippets](Snippets), and [drawing](Screenshots). +The diagnostic viewer and problem-only logging introduced in v0.6.18 remain unchanged. See [copy failures](FAQ), [snippets](Snippets), and [clipboard handling](Clipboard). -[Download v0.6.18](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/KSwitcher-win-x64.zip) · [Checksums](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.18/SHA256SUMS.txt) +[Download v0.6.19](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.19/KSwitcher-win-x64.zip) · [Checksums](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/releases/download/release-v0.6.19/SHA256SUMS.txt) diff --git a/Snippets-uk.md b/Snippets-uk.md index 3acdddf..ad531b3 100644 --- a/Snippets-uk.md +++ b/Snippets-uk.md @@ -48,3 +48,9 @@ Release checklist `{enter}` натискає Enter після вставлення й розміщення курсора — один раз на кожен маркер. Наприклад, `rider .{enter}` вставляє `rider .` і натискає Enter. `{{enter}}` вставляє буквальний маркер. Enter може надіслати повідомлення або виконати команду в цільовій програмі; звичайний перенос у тексті заміни натомість вставляє багаторядковий текст. Введення одразу після тригера буферизується й відтворюється після розгортання. Автокорекцію пригнічено для розгортання та його буферизованих клавіш; глобальне налаштування зберігається для подальшого введення. Від v0.6.17 поля тригера й заміни, Delete та кнопки маркерів вимкнені до вибору або додавання запису. Видалення вибраного сніпета очищає й вимикає редактор. + +## Збої копіювання (v0.6.19) + +Перед заміною тригера KSwitcher копіює та перевіряє виділений текст. Якщо Ctrl+C не змінив буфер, програма може повторити копіювання — до трьох спроб загалом, за умови незмінного контексту введення та службового буфера. Якщо тригер так і не вдалося перевірити, розгортання скасовується: тригер залишається, введення з черги відтворюється, дія `{enter}` не надсилається. Вставлення не повторюється навмання. + +`{enter}` — це натискання клавіші, а не гарантія переносу рядка: багаторядковий редактор зазвичай вставляє перенос, однорядкове поле може його проігнорувати, а чат чи термінал — надіслати текст. Синтаксис сніпетів, гарячі клавіші та значення за замовчуванням у цьому патчі не змінювалися. diff --git a/Snippets.md b/Snippets.md index ab7bb37..f6e0c4f 100644 --- a/Snippets.md +++ b/Snippets.md @@ -48,3 +48,9 @@ Choose distinctive triggers with a prefix such as `;` to avoid expanding templat Use `{enter}` to press Enter after insertion and cursor placement, once for each marker. For example, `rider .{enter}` inserts `rider .` and then presses Enter. `{{enter}}` inserts the literal marker. Enter may submit a message or command in the target application; a line break written in the replacement is plain multiline text instead. Typing immediately after a trigger is buffered and replayed after expansion. Automatic correction is suppressed for the expansion and its buffered typing; the global setting stays enabled for subsequent input. Since v0.6.17, the trigger/replacement fields, Delete and marker buttons are disabled until an entry is selected or added. Deleting the selected entry clears and disables the editor. + +## Copy failures (v0.6.19) + +Before replacing a trigger, KSwitcher copies and verifies the selected text. If Ctrl+C produces no clipboard change, it can try again, up to three total attempts, provided the active input context and transaction clipboard have not changed. If the trigger still cannot be verified, expansion is cancelled: the trigger remains, queued typing resumes, and no `{enter}` action is sent. Paste is not blindly retried. + +`{enter}` is a key action, not a promise of a newline: a multiline editor normally inserts a line break, a single-line field may ignore it, and a chat or terminal may submit the text. No snippet syntax, shortcut or default changed in this patch. diff --git a/Usage-uk.md b/Usage-uk.md index a3055ae..fc1d2e9 100644 --- a/Usage-uk.md +++ b/Usage-uk.md @@ -60,3 +60,5 @@ Hello, {cursor}! [Докладна інструкція та приклади сніпетів](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Snippets-uk). Маркер `{enter}` натискає Enter після вставлення сніпета й розміщення курсора, перед відтворенням черги клавіш; `{{enter}}` вставляє його буквально. Поведінку дій і станів редактора описано в [посібнику сніпетів](Snippets-uk). Для збоїв конвертації використовуйте [журнал діагностики](FAQ-uk). + +Від v0.6.19 пропущене копіювання може повторюватися до трьох спроб загалом — лише за незмінного буфера й контексту введення. Якщо перевірка все одно не вдалася, заміна скасовується. Див. [діагностику копіювання](FAQ-uk) та [поведінку сніпетів при збої](Snippets-uk). diff --git a/Usage.md b/Usage.md index a442fb8..d4e9061 100644 --- a/Usage.md +++ b/Usage.md @@ -60,3 +60,5 @@ Example: `;run` → `rider .{enter}` (insert text and press Enter). [Full snippets guide and examples](https://gitea.hrynco.com/hrynco/hrynco-kswitcher/wiki/Snippets). The `{enter}` marker presses Enter after snippet insertion and cursor placement, before queued typing resumes; `{{enter}}` escapes it. See the [snippet guide](Snippets) for action semantics and editor states. For conversion failures, use the [diagnostic viewer](FAQ#diagnostics). + +From v0.6.19, a silently dropped copy can be retried up to three times in total, only while the clipboard and input context remain unchanged. If verification still fails, replacement is cancelled. See [copy troubleshooting](FAQ) and [snippet failure behavior](Snippets).