Release v0.6.51: Telegram Web and application-scoped snippets

This commit is contained in:
agrynco committed 2026-11-06 10:47:31 +02:00
1 parent 19f1e4531c
commit 3b8b8f26fe
8 files changed
+55 -53

No files matched your search

Binary file not shown.
+9 -7
View File
@@ -1,20 +1,22 @@
# Latest Windows release
## v0.6.50 — 2026-11-06
## v0.6.51 — 2026-11-06
## Changes
- 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.
- Add Telegram Web K chat language profiles in Google Chrome. Open a chat at `https://web.telegram.org/k/`, then **Settings → Languages → Languages for a chat...** and select **Telegram Web: name**. Choose languages, then **Use languages → Save**. Applies to Alt+Shift, Win+Space, reverse Win+Shift+Space and Next layout.
- Read the trusted Telegram address and chat header through Chrome accessibility. Refresh on foreground/focus and address/header events, without OCR, a polling timer or a browser extension. Web profiles are separate from Telegram Desktop profiles; identical chat names across accounts/browser profiles share a web profile. Web A and other browsers are not advertised as supported. Telegram Desktop and Teams remain unchanged; Viber OCR remains disabled.
- Add application-specific snippets. In **Tools → Snippets**, enable **Only in these applications**, enter comma-separated executable names or select an open application and choose **Add app**. Unchecked means everywhere. Matching ignores case and the optional `.exe` suffix. Chrome scope applies to the whole browser.
- Prefer an application-specific snippet over a global snippet with the same trigger. Allow the same trigger in disjoint application scopes and reject overlapping scopes. Keep existing snippets global. Preserve scopes in manual import/export and synchronization, with scope-aware merge conflicts. Validate the target application before insertion.
- Center **Add app** against its application selector.
## Validation
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.
Passed 674 chat-profile/snippet UI checks, 568 input checks (including app-specific precedence and global fallback), 108 sync checks, 332 native checks, complete dictionary equivalence (140,939 words), wheel, StayHere, Utilities, screenshot UI/save/registration, 54 updater checks and updater progress checks. Inspected the snippet editor at 250% scaling. Live Chrome checks read a Telegram chat name directly and observed cache activation/invalidation. Release binaries, package manifest, published assets and update selection are checked during publication.
## Upgrade
## Upgrade and compatibility
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.
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.
**Update every synchronizing PC to v0.6.51 or newer before sharing application-specific snippets. Older versions do not understand application restrictions and may treat scoped snippets as global.** Keep a backup before downgrading. Settings with Telegram Web profiles require v0.6.51 or newer. Chat profiles remain local, included in manual export/import and excluded from cloud synchronization.
Download **KSwitcher-win-x64.zip** with **SHA256SUMS.txt**. The package contains no personal settings, credentials or clipboard history.
+1 -1
View File
@@ -1 +1 @@
250752bd26227f4ba43f956eda73ec6ab4d909a35300e6d1c72222892cd03db7 KSwitcher-win-x64.zip
0ee6426bf1715ee3156a1f8dbb2d213a9e09a49b2fcfec553d6049dc6a868877 KSwitcher-win-x64.zip
+35 -35
View File
@@ -1,81 +1,81 @@
{
"version": "0.6.50",
"version": "0.6.51",
"schema": 1,
"files": [
{
"sha256": "3c57a24174112daa795e10d1cbbd50d405d453bc93c0fa43e83788ffcca1de51",
"size": 1834496,
"path": "KSwitcher.exe"
"size": 1847296,
"path": "KSwitcher.exe",
"sha256": "c40f90944169ec6f1b92803ccaec734573bf798939f13ab3553b982b709e479c"
},
{
"sha256": "f569f21076f85993ed7a6d3f1fb48fbff26046b73215c2fd36d8b0afb8c0aafb",
"size": 1698304,
"path": "KSwitcher.Config.exe"
"size": 1716224,
"path": "KSwitcher.Config.exe",
"sha256": "8e8a5fee9be8f318b78516b82415c6b098ac67f7c374f4667ef271576a77f9fa"
},
{
"sha256": "a6c3113d06185b4fd405d34618ba5fa1c0a1a9996d9288af04effb823c8c7635",
"size": 2885120,
"path": "KSwitcher.Screenshot.exe"
"size": 2897408,
"path": "KSwitcher.Screenshot.exe",
"sha256": "bb5ffc3a26955c752d593ba06f69476985d9902f2ed0345fe3efe9bfc2eb63c8"
},
{
"sha256": "d3c81140cce01c26bf6cbf52aa40e0825e1fa35b9a91d1387170a65d2597082c",
"size": 4401,
"path": "LICENSE"
"path": "LICENSE",
"sha256": "d3c81140cce01c26bf6cbf52aa40e0825e1fa35b9a91d1387170a65d2597082c"
},
{
"sha256": "61e08da79c44061654015ce6b0c4061c23ee1dd18237fbf09e9bfda3c0ea2831",
"size": 1096,
"path": "json-LICENSE.txt"
"path": "json-LICENSE.txt",
"sha256": "61e08da79c44061654015ce6b0c4061c23ee1dd18237fbf09e9bfda3c0ea2831"
},
{
"sha256": "41a4e4a38cb31fed543f11f92b554206ff1014b4fcd27431c518e488e5c5df1a",
"size": 69865,
"path": "README.md"
"size": 74601,
"path": "README.md",
"sha256": "818f81e6c4bfaa6b014ac50351ec22f68ee6eb3c094ad5ecb7bac98d605e0918"
},
{
"sha256": "d0c022b27b9fbc2ff7b6b8bec723cc1adc4eef517202f9ff77eed5d8bea3acb9",
"size": 732485,
"path": "dictionaries/en.txt"
"path": "dictionaries/en.txt",
"sha256": "d0c022b27b9fbc2ff7b6b8bec723cc1adc4eef517202f9ff77eed5d8bea3acb9"
},
{
"sha256": "0bdfb0201d1803634f268cdff0993b8349d2c70e956a06dbb667c8dd65254ec5",
"size": 20566,
"path": "dictionaries/LICENSE-CC-BY-SA-4.0.txt"
"path": "dictionaries/LICENSE-CC-BY-SA-4.0.txt",
"sha256": "0bdfb0201d1803634f268cdff0993b8349d2c70e956a06dbb667c8dd65254ec5"
},
{
"sha256": "3017bf44d3be9d9dfab21bd6778aa52b7947e61acf9ce2bc86b41d6e949ac311",
"size": 2265,
"path": "dictionaries/README.md"
"path": "dictionaries/README.md",
"sha256": "3017bf44d3be9d9dfab21bd6778aa52b7947e61acf9ce2bc86b41d6e949ac311"
},
{
"sha256": "80e6b6a27815973535f7facb636c597eb845dfee45cfabfc4e9b3341b9332849",
"size": 1109134,
"path": "dictionaries/ru.txt"
"path": "dictionaries/ru.txt",
"sha256": "80e6b6a27815973535f7facb636c597eb845dfee45cfabfc4e9b3341b9332849"
},
{
"sha256": "98e5b3fe7304e37705c9e5ff48b0b399ccb16e806736d21f09921b99e5f2a408",
"size": 1280,
"path": "dictionaries/sources.json"
"path": "dictionaries/sources.json",
"sha256": "98e5b3fe7304e37705c9e5ff48b0b399ccb16e806736d21f09921b99e5f2a408"
},
{
"sha256": "d30e990d6ec2983c04f3644a3c61c6c668e8c542323f5931916fdd55b916eebf",
"size": 940799,
"path": "dictionaries/uk.txt"
"path": "dictionaries/uk.txt",
"sha256": "d30e990d6ec2983c04f3644a3c61c6c668e8c542323f5931916fdd55b916eebf"
},
{
"sha256": "a34b5161a8315af037e1ec71d816bfc688f7c364141d4ee2347cf0515ef0c82a",
"size": 993,
"path": "tools/README.txt"
"path": "tools/README.txt",
"sha256": "a34b5161a8315af037e1ec71d816bfc688f7c364141d4ee2347cf0515ef0c82a"
},
{
"sha256": "6ef5cf64708d62b7fc63c3c793cc99188a513433ff4774cae01dc014f6664376",
"size": 134656,
"path": "tools/StayHere.exe"
"path": "tools/StayHere.exe",
"sha256": "6ef5cf64708d62b7fc63c3c793cc99188a513433ff4774cae01dc014f6664376"
},
{
"sha256": "ba214e2aca7405e698b3ab21ceb1f41ce088edd996b3e30e4a9d58ff496f9413",
"size": 2796,
"path": "tools/StayHere-README.md"
"path": "tools/StayHere-README.md",
"sha256": "ba214e2aca7405e698b3ab21ceb1f41ce088edd996b3e30e4a9d58ff496f9413"
}
]
}