v1.3.3 — Cross-distro packaging consistency
Patch release fixing silent breakage on fresh installs across distros — particularly Arch — and closing two ClarkBoggle issues.
🔧 Cross-distro packaging consistency
Several fixes were already shipping on .deb and .rpm for months but had silently regressed on Arch. Same code, same dictee, same wizard — but Arch fresh installs ended up with broken PTT, broken LibreTranslate, and a runtime falsely claiming an NVIDIA GPU on AMD machines. v1.3.3 reaches feature parity:
- Arch
.installhooks now addinput/dockergroups at install time — postinst .deb / %post .rpm already did this; Arch was the odd one out, leaving fresh users with a silently brokendictee-pttshortcut and a "permission denied" LibreTranslate even after a successful wizard run. (ee3807f) python-evdevpromoted to hard depends on Arch — was anoptdepends, so pacman never installed it. Without it, dictee-ptt fell back to a "raw" mode that leaked the PTT key to focused apps. (15ccb58)- udev rule shipped in mode
0660directly —0620(write-only group) breakspython-evdevUInput'sO_RDWRopen. Used to besed'd to0660only at postinst, missing the tarball install path entirely. Drop-in81-dictee-uinput.rulesadded on Arch as well, where the AURdotoolpackage's0620rule kept being restored on its upgrades. (d9c8eaa,2b7cba8) - Postprocess venv (
text2num) created in tarball install too — the.deb/.rpmpostinst already did this; tarball users on Slackware / Gentoo / etc. would get crashes on number conversions. (b8b9fb0) build-rpm.shno longer ships a staledictee.plasmoid— it used to copy a pre-existing artefact while onlybuild-deb.shregenerated it. Run rpm before deb and you'd ship an outdated widget. Plasmoid generation now factored intodict_prepare_pkg_dir(build-common.sh) — every builder regenerates from source on every run. (7447845)- install.sh prompts to install Docker on Arch when LibreTranslate is selected —
optdepends 'docker: …'never installed automatically; users picking LT through the wizard then hit a wall. Prompt is interactive, default no. (c32de31)
🐛 Bug fixes
- Issue #5 — NVIDIA false positive on AMD machines. The pre-
2293609check_cuda_gpu_ready()used/sys/class/drm/card*/device/mem_info_vram_totalwhich returns AMD VRAM > 0, mis-detecting it as NVIDIA. Fix shipped post-tag in v1.3.2 → only landed in v1.3.3. The check now usesnvidia-smi --query-gpudirectly withFileNotFoundErrorcaught. - Issue #6 — toggle "Enable PP for translation" doesn't persist. The toggle saved
DICTEE_PP_TRANSLATEcorrectly, but reload derived_pp_master_translatefrom_pipeline_mode == "full_chain", which depends onDICTEE_TRANSLATE— runtime-only, never written astrue. Result: every reopen reset the toggle to OFF. Now readsDICTEE_PP_TRANSLATEdirectly. (95e742b) - Issue #6 — plasmoid LibreTranslate language combo empty at startup.
dictee-translate-langs libretranslatereturned nothing whenDICTEE_LIBRETRANSLATE_LANGSwas unset (e.g. user installed LT manually outside the wizard). Now falls back to querying the running container's/languagesAPI atlocalhost:5000. (a8a8512) dictee-debugorphan package on Arch — makepkg's defaultdebugoption produced an empty sibling package thatpacman -Rns dicteenever removed.options=('!debug')added to both PKGBUILDs. (e1e16e4)restart_daemonsdead-code warning duringcargo build.transcribe_diarize_batch.rs's function was gated onsortformerbut its only caller was gated oncuda— building with sortformer-without-cuda compiled the function, elided the call, generated a warning at everymakepkg. Now aligned onall(sortformer, cuda). (a7d7c5f)
🎨 UX
- Plasmoid
docker inspectwrapped insg docker— when plasmashell's group set hasn't refreshed yet (typical right after first install: the user was added todockerafter the graphical login already started), the LT indicator stayed red even when the container was running fine.sg docker -c "…"re-runsinitgroups()against/etc/groupand fixes the call without needing a logout. (2d264f3) dictee-setupauto-detects_docker_use_sgat startup — was previously only flipped after the user clicked "Setup Docker" in the wizard. install.sh / postinst already added the docker group → wizard launched → still couldn't reach docker. Now detected from/etc/groupmembership vs.os.getgroups()discrepancy. (9b73134)dicteescript wrapsdotoolinsg inputwhen needed — when the binary is invoked from a stale-group parent shell (plasmoid Dictate button, tray click),dotoolcouldn't write to/dev/uinputdespite the user being in the input group. Thedictee-ptt.servicehadsg input -c …already, but standalone invocations didn't. (d14cad1)- install.sh tarball install:
REQUIRED SYSTEM DEPENDENCIESprominently displayed — yellow box at the start with package lists per Debian-likes, names varying by distro. Tarball is for distros without an official package; users now know what toapt install/dnf install/ etc. before running install.sh. The README "Other distros (tarball)" section has the same listing. (6c509c7) - install.sh no longer says "reboot required" for the input group — the group is effective immediately for dictee thanks to
dictee-ptt.service'ssg inputwrapper. The message was scaring users into pointless logouts. (6c509c7)
🛠 Internals
- build-common.sh:
dict_prepare_pkg_dirnow regenerates the plasmoid — single source of truth fordictee.plasmoidacross.deb/.rpm/ tarball builders. PKGBUILD already inlined its ownzip -rso it stays consistent. (7447845) - Tarball mode_tarball: postprocess venv created — pip installs
text2numinto/usr/share/dictee/postprocess-env, mirroring.deb/.rpm. (b8b9fb0)
📦 Assets
| File | Distro | Variant |
|---|---|---|
dictee-cpu_1.3.3_amd64.deb |
Debian / Ubuntu | CPU only |
dictee-cuda_1.3.3_amd64.deb |
Debian / Ubuntu | NVIDIA CUDA + CPU fallback |
dictee-plasmoid_1.3.3_all.deb |
Debian / Ubuntu | KDE widget standalone |
dictee-cpu-1.3.3-1.x86_64.rpm |
Fedora / openSUSE | CPU only |
dictee-cuda-1.3.3-1.x86_64.rpm |
Fedora / openSUSE | NVIDIA CUDA + CPU fallback |
dictee-plasmoid-1.3.3-1.noarch.rpm |
Fedora / openSUSE | KDE widget standalone |
dictee-1.3.3_amd64.tar.gz |
Other distros | Universal CUDA tarball |
dictee-1.3.3-source.tar.gz |
All | Source archive |
dictee.plasmoid |
All | Widget alone (kpackagetool6) |
Arch users: curl -fsSL https://raw.githubusercontent.com/rcspam/dictee/master/install.sh \| bash (PKGBUILD pulls the v1.3.3 tarball automatically).
⚠ Notes for upgraders
- Plasmoid widget on KDE: the running widget instance keeps the old QML in memory after a package upgrade. Run
kquitapp6 plasmashell && kstart plasmashell(or log out and back in) for the LT-status fix to take effect on already-pinned widgets. - Group runtime: any session opened before the install will keep its old supplementary groups until next login. dictee handles this internally (sg wrappers), but the change won't show up in
groupsruntime until logout/login.