* fix(snap): drop uinput plug denied by the Snap Store The Snap Store rejected revisions 8-10 over the super-privileged uinput plug (allow-installation), and reviewers denied the grant request on forum.snapcraft.io/t/53528, pointing at the RemoteDesktop portal path the app already prefers. Remove the plug and the uinput-only ydotool so revisions pass automatic review again; Wayland typing continues through the RemoteDesktop portal (already the default backend ahead of ydotool), wtype, IBus Wayland on KDE, and clipboard paste. KDE Plasma loses its correct-case ydotool path on the store snap (KWin's portal mangles keysyms on some layouts, KDE bug 489021); the v0.18.x GitHub .snap still declares uinput for KDE users who sideload it. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(text-injection): stop telling snap users to connect uinput The Store snap no longer declares the plug, so the warning pointed at a command that cannot work. The Snap hints now explain that only the v0.18.x GitHub sideload declares uinput, and that native Wayland typing uses the RemoteDesktop portal or IBus Wayland on KDE. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Jatin K Malik <jk.malik@yahoo.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Vocalinux website
Marketing site for vocalinux.com, built with Next.js and deployed as a static export (GitHub Pages).
Product claims and design constraints: PRODUCT.md, DESIGN.md. Agent notes: AGENTS.md.
Development
npm install
npm run dev
Production build
npm install
npm run build
Static output is written to out/.
Local preview of the build
cd out
python3 -m http.server 3000
Open http://localhost:3000.
Scripts
| Script | Purpose |
|---|---|
npm run dev |
Dev server |
npm run build |
Production static export |
npm run deploy |
Build and prepare GitHub Pages (.nojekyll, CNAME) |
npm run lint |
ESLint |
npm run typecheck |
TypeScript |
Deployment
Push to main triggers the site workflow. Production host: vocalinux.com.
Manual path:
cd web
npm install
npm run deploy
That produces out/ with .nojekyll and a CNAME for vocalinux.com.
Layout
web/
├── src/
│ ├── app/ # Next.js app routes
│ ├── components/
│ │ ├── site-chrome.tsx
│ │ └── ui/ # Reusable UI components
│ ├── hooks/
│ └── lib/
├── public/ # Static assets and screenshots
├── out/ # Build output (generated)
└── package.json
Configuration notes
- Custom domain:
deployscript writesout/CNAME - Subdirectory deploy: set
basePathinnext.config.jsif needed - Family workbench UI: warm paper, system type, same language as VocaHQ (DESIGN.md)
Troubleshooting
| Symptom | Check |
|---|---|
| Module not found | npm install |
| Type errors | npm run typecheck |
| Lint errors | npm run lint |
| 404 on GitHub Pages | Ensure out/.nojekyll exists |
| Assets 404 | Confirm basePath matches deploy path |
License
Same as the main Vocalinux project (AGPL-3.0).