ctx.auth.issueUserToken(userId, { purpose, ttlSeconds }) gives background
work a session for calling Termix's own API as an existing user. It needs
users:impersonate, defaults to 300s and is capped at 900s, is stored as a
normal session row marked as plugin-issued, and every issue is audited.
Such sessions are refused on routes that change the user's password,
second factors, API keys or linked logins.
ctx.users.getLocale(userId) reads the user's UI language under users:read.
SDK 1.0.11, plugin API 1.3.0.
* fix: show plugin names and descriptions in the UI language
Read plugin.name and plugin.description from each plugin's own locale
namespace, falling back to the manifest, everywhere core shows a plugin's
name: the Plugins manager, onboarding picker, host editor tabs and
sections, host filters and bulk actions, beta updates, interface presets
and plugin crash/loading notices.
* docs(sdk): document plugin.name and plugin.description locale keys
---------
Co-authored-by: ZacharyZcR <zkl205305@gmail.com>
* feat: AI translations at release, 7 new languages and regional fallback
* fix: proper plural forms for count strings and full translations
* fix: plural forms for selected, hidden and active counts
* fix: synced plugin updates failing on desktop and server-only plugins shown as stopped
* fix: restore rounded corners on app icons and favicon
* feat: desktop app auto updates with automatic, ask first or never modes
* feat: community and custom plugin registries
* feat: plugin guide for AI tools in the SDK with a lint check
* fix: keep the terminal WebSocket open past nginx's 60s default (#1588)
* chore: update changelog
* feat: show plugin download counts only and stop CI builds inflating them
* feat: hide installed plugins in the browse tab by default
* chore: pin bundled plugins to latest releases
* chore: update translations
* fix: focusing a saved password field and saving no longer erases it
* fix: tell desktop users when their 2.8 data needs 2.9 first
* fix: point windows update info at the x64 installer
* fix: keep desktop client tunnel sockets alive behind proxies
* chore: pin bundled plugins to latest releases
* fix: cover client tunnel keepalive in the c2s runtime tests
* fix: typing after opening a host no longer goes to the host search
* fix: accept tab and = separators in SSH config import (#1598)
* chore: update changelog
* chore: drop plugin versions from core changelog
* chore: update translations
* chore: lint, format, and bump version to 26.10.1
---------
Co-authored-by: Darnel Hunter <68697450+innotelinc@users.noreply.github.com>
Co-authored-by: Iain <Iain1970@protonmail.com>