Release v0.6.50: disable Viber chat OCR

This commit is contained in:
agrynco committed 2026-11-06 00:21:39 +02:00
1 parent 66e24b5efc
commit 15197da548
8 files changed
+51 -63

No files matched your search

Binary file not shown.
+6 -8
View File
@@ -1,22 +1,20 @@
# Latest Windows release
## v0.6.49 — 2026-11-05
## v0.6.50 — 2026-11-06
## Changes
- Add experimental Viber chat language profiles using local OCR of the chat header. Requires a separate Tesseract 5 installation and the language packs selected in OCR options; Tesseract is not bundled.
- Open a non-minimized Viber chat, then **Settings → Languages → Languages for a chat...**. Select its Viber entry, choose languages, and click **Use languages → Save**.
- Apply the profile to **Alt+Shift**, **Win+Space**, reverse **Win+Shift+Space**, and KSwitcher's **Next layout** conversion. Allow about 1–2 seconds after switching chats. OCR runs outside the keyboard hook; the header is checked again before a profile-based system switch.
- Match by application and recognized name. Identical names share a profile; renamed chats need a new profile. Unreadable or changing headers produce no match. OCR errors, truncated names, scaling and future Viber UI changes can affect recognition. Telegram and Teams profiles retain their existing behavior.
- Recognition is local: only the cropped header is passed to OCR, screenshots are not saved, and no message text is submitted to OCR. Profiles remain local, are included in manual export/import, and excluded from OpenBao synchronization.
- Disable experimental Viber chat OCR to remove repeated recognition and its language-switching delays. No Viber OCR runs in the background, on layout switching/conversion, or when opening the chat-profile dialog.
- Keep saved Viber profiles and show them as inactive. Viber uses ordinary Windows layout switching and the global KSwitcher Next layout cycle. No settings reset is needed.
- Preserve Telegram Desktop and Microsoft Teams chat profiles, their shortcuts and behavior. Clipboard/image OCR and Tesseract options remain available.
## Validation
Passed 653 chat-profile/UI checks (including Viber profile persistence), 332 native checks, 564 input checks, 105 sync checks, complete dictionary equivalence (140,939 words), wheel, StayHere, Utilities, screenshot UI/save/registration, 54 updater checks and updater progress checks. Live Viber header recognition correctly identified a Ukrainian contact; the user confirmed the development integration works. Release binaries, archive, manifest and published downloads are checked during publication.
Passed 653 chat-profile/UI checks including saved Viber-profile persistence, 332 native checks, 564 input checks, 105 sync checks, complete dictionary equivalence (140,939 words), wheel, StayHere, Utilities, screenshot UI/save/registration, 54 updater checks and updater progress checks. The disabled Viber OCR module is not compiled into the application. Release versions, manifest, archive and published downloads are checked during publication.
## Upgrade
Choose **Update** in the tray menu. Legacy v0.3.0–v0.4.1 clients first receive the v0.4.2 compatibility bridge, then the current full release. v0.2.3 and earlier require manual installation.
For manual installation, exit KSwitcher, close its configurator and screenshot editors, and extract the entire ZIP into its installation folder. Keep personal `data/`, customized dictionaries and your own tools. Keep the three KSwitcher executables together; StayHere runs independently.
When synchronizing phrase replacements across PCs, update each participating PC to v0.6.47 or newer. Chat language profiles do not synchronize. A settings file containing Viber profiles requires v0.6.49 or newer; retain a backup before downgrading.
Chat profiles remain local, are included in manual export/import and excluded from cloud synchronization. Saved Viber profiles require v0.6.49 or newer to load, even while inactive; retain a backup before downgrading. Phrase replacement synchronization requires v0.6.47 or newer on participating PCs.
Download **KSwitcher-win-x64.zip** with **SHA256SUMS.txt**. The package contains no personal settings, credentials or clipboard history.
+1 -1
View File
@@ -1 +1 @@
3c99e7d6b7f3ea059bf9cbff2266eb89f7cbba32287b7ce52a3ac65596131962 KSwitcher-win-x64.zip
250752bd26227f4ba43f956eda73ec6ab4d909a35300e6d1c72222892cd03db7 KSwitcher-win-x64.zip
+35 -35
View File
@@ -1,81 +1,81 @@
{
"version": "0.6.49",
"version": "0.6.50",
"schema": 1,
"files": [
{
"size": 1841152,
"path": "KSwitcher.exe",
"sha256": "e64518d5224055c4bf09df0e32493ecfe50a1d225436117e56d102cddd7506e0"
"sha256": "3c57a24174112daa795e10d1cbbd50d405d453bc93c0fa43e83788ffcca1de51",
"size": 1834496,
"path": "KSwitcher.exe"
},
{
"size": 1704960,
"path": "KSwitcher.Config.exe",
"sha256": "c3cb3163c9bd4683362154ec2be1d3fb95e72df879a18b356ad89d37bfdd444f"
"sha256": "f569f21076f85993ed7a6d3f1fb48fbff26046b73215c2fd36d8b0afb8c0aafb",
"size": 1698304,
"path": "KSwitcher.Config.exe"
},
{
"size": 2892800,
"path": "KSwitcher.Screenshot.exe",
"sha256": "4785c3cfb4b3ee9783703040237a000a387569100828d239615039fd417f1855"
"sha256": "a6c3113d06185b4fd405d34618ba5fa1c0a1a9996d9288af04effb823c8c7635",
"size": 2885120,
"path": "KSwitcher.Screenshot.exe"
},
{
"sha256": "d3c81140cce01c26bf6cbf52aa40e0825e1fa35b9a91d1387170a65d2597082c",
"size": 4401,
"path": "LICENSE",
"sha256": "d3c81140cce01c26bf6cbf52aa40e0825e1fa35b9a91d1387170a65d2597082c"
"path": "LICENSE"
},
{
"sha256": "61e08da79c44061654015ce6b0c4061c23ee1dd18237fbf09e9bfda3c0ea2831",
"size": 1096,
"path": "json-LICENSE.txt",
"sha256": "61e08da79c44061654015ce6b0c4061c23ee1dd18237fbf09e9bfda3c0ea2831"
"path": "json-LICENSE.txt"
},
{
"size": 69715,
"path": "README.md",
"sha256": "2ac72789dc57c42303859956eb3f2a31b69bc5eea06e71ccf0588d6f08135948"
"sha256": "41a4e4a38cb31fed543f11f92b554206ff1014b4fcd27431c518e488e5c5df1a",
"size": 69865,
"path": "README.md"
},
{
"sha256": "d0c022b27b9fbc2ff7b6b8bec723cc1adc4eef517202f9ff77eed5d8bea3acb9",
"size": 732485,
"path": "dictionaries/en.txt",
"sha256": "d0c022b27b9fbc2ff7b6b8bec723cc1adc4eef517202f9ff77eed5d8bea3acb9"
"path": "dictionaries/en.txt"
},
{
"sha256": "0bdfb0201d1803634f268cdff0993b8349d2c70e956a06dbb667c8dd65254ec5",
"size": 20566,
"path": "dictionaries/LICENSE-CC-BY-SA-4.0.txt",
"sha256": "0bdfb0201d1803634f268cdff0993b8349d2c70e956a06dbb667c8dd65254ec5"
"path": "dictionaries/LICENSE-CC-BY-SA-4.0.txt"
},
{
"sha256": "3017bf44d3be9d9dfab21bd6778aa52b7947e61acf9ce2bc86b41d6e949ac311",
"size": 2265,
"path": "dictionaries/README.md",
"sha256": "3017bf44d3be9d9dfab21bd6778aa52b7947e61acf9ce2bc86b41d6e949ac311"
"path": "dictionaries/README.md"
},
{
"sha256": "80e6b6a27815973535f7facb636c597eb845dfee45cfabfc4e9b3341b9332849",
"size": 1109134,
"path": "dictionaries/ru.txt",
"sha256": "80e6b6a27815973535f7facb636c597eb845dfee45cfabfc4e9b3341b9332849"
"path": "dictionaries/ru.txt"
},
{
"sha256": "98e5b3fe7304e37705c9e5ff48b0b399ccb16e806736d21f09921b99e5f2a408",
"size": 1280,
"path": "dictionaries/sources.json",
"sha256": "98e5b3fe7304e37705c9e5ff48b0b399ccb16e806736d21f09921b99e5f2a408"
"path": "dictionaries/sources.json"
},
{
"sha256": "d30e990d6ec2983c04f3644a3c61c6c668e8c542323f5931916fdd55b916eebf",
"size": 940799,
"path": "dictionaries/uk.txt",
"sha256": "d30e990d6ec2983c04f3644a3c61c6c668e8c542323f5931916fdd55b916eebf"
"path": "dictionaries/uk.txt"
},
{
"sha256": "a34b5161a8315af037e1ec71d816bfc688f7c364141d4ee2347cf0515ef0c82a",
"size": 993,
"path": "tools/README.txt",
"sha256": "a34b5161a8315af037e1ec71d816bfc688f7c364141d4ee2347cf0515ef0c82a"
"path": "tools/README.txt"
},
{
"sha256": "6ef5cf64708d62b7fc63c3c793cc99188a513433ff4774cae01dc014f6664376",
"size": 134656,
"path": "tools/StayHere.exe",
"sha256": "6ef5cf64708d62b7fc63c3c793cc99188a513433ff4774cae01dc014f6664376"
"path": "tools/StayHere.exe"
},
{
"sha256": "ba214e2aca7405e698b3ab21ceb1f41ce088edd996b3e30e4a9d58ff496f9413",
"size": 2796,
"path": "tools/StayHere-README.md",
"sha256": "ba214e2aca7405e698b3ab21ceb1f41ce088edd996b3e30e4a9d58ff496f9413"
"path": "tools/StayHere-README.md"
}
]
}