Skip to content

Add webOS Terminal#200

Merged
mariotaku merged 9 commits into
webosbrew:mainfrom
gprot42:add-webos-terminal
Jul 9, 2026
Merged

Add webOS Terminal#200
mariotaku merged 9 commits into
webosbrew:mainfrom
gprot42:add-webos-terminal

Conversation

@gprot42

@gprot42 gprot42 commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds webOS Terminal (com.github.gprot42.webosterminal) to the Homebrew Channel app repository.

Native terminal emulator for rooted LG webOS TVs. Provides interactive shell access on the TV itself (no laptop/SSH required), with multi-tab support, remote-friendly key bar, native PTY support via ptybridge with raw keystroke passthrough (shell history, tab completion, job control, full-screen apps), shell automation API for remote luna-send scripting, and bundled monospace font selection with live preview.

Release assets

manifestUrl points at releases/latest, so Homebrew Channel always installs the current release.

Test plan

  • Manifest URL resolves and contains valid ipkHash / ipkUrl (v0.0.11)
  • IPK installs via Homebrew Channel / sideload on a rooted TV
  • App launches and opens an interactive shell session
  • Live tested on rooted TV (v0.0.11 installed)
  • With service elevated as root: PTY raw input (history, tab complete, Ctrl sequences)

Native terminal emulator for rooted LG webOS TVs.
@throwaway96

Copy link
Copy Markdown
Member

First, you'll have to change the package name to begin with something besides org.webosbrew.

org.webosbrew.* is reserved for official Homebrew project packages.
@gprot42

gprot42 commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

Updated per review feedback: renamed package from org.webosbrew.terminal to com.github.gprot42.webosterminal. Manifest and v0.0.6 release are live at https://github.com/gprot42/webos-terminal/releases/tag/v0.0.6

@gprot42

gprot42 commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author
  1. Changed Appid to com.github.gprot42.webosterminal
  2. Bumped version to 0.0.6
  3. Performed a live test.

Thanks

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

Check Results for com.github.gprot42.webosterminal.yml:

Package Metadata

✅ Check passed.

Compatibility Check

App com.github.gprot42.webosterminal

Web app — Enact; + React; requires ES2016; bundles polyfills (core-js, regenerator)

4.4.2 4.10.0 5.3.1 6.4.0 7.4.0 8.3.0 9.2.0 10.2.0
Web engine Chromium 53 Chromium 53 Chromium 68 Chromium 79 Chromium 87 Chromium 94 Chromium 108 Chromium 120
ES2016 support 🆗 🆗 🆗 🆗 🆗 🆗 🆗 🆗

Web app

  • Framework: Enact
  • Also present: React
  • Language features used: let/const, arrow function, template literal, class, spread/rest, exponent (**)
  • Bundles polyfills (core-js, regenerator) — runtime APIs are self-provided

Service com.github.gprot42.webosterminal.service

JS service — Node.js service; requires ES5

4.4.2 4.10.0 5.3.1 6.4.0 7.4.0 8.3.0 9.2.0 10.2.0
Node.js (firmware) Node 0.12.2 Node 0.12.2 Node 8.12.0 Node 8.12.0 Node 12.21.0 Node 12.22.2 Node 16.19.1 Node 16.20.2
ES5 support 🆗 🆗 🆗 🆗 🆗 🆗 🆗 🆗

JS service

Document shell automation API support and point manifest at the latest
v0.0.7 release assets.
@gprot42

gprot42 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Updated to v0.0.7 — adds shell automation API for remote luna-send control (SSH scripting, session listing, command execution). Manifest and release are live at https://github.com/gprot42/webos-terminal/releases/tag/v0.0.7

@gprot42

gprot42 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Fixed CI failure: v0.0.8 downlevels xterm's ??= (logical nullish assignment) syntax so the bundle no longer triggers ES2020 in ipk-verify while webosRelease: '>=4.0' is declared.

Release: https://github.com/gprot42/webos-terminal/releases/tag/v0.0.8

@mariotaku

Copy link
Copy Markdown
Member

Hello! I'm improving the tooling to properly check this package now. I'll update check result for this package.

Document bundled monospace font selection and point manifest at the latest
v0.0.9 release assets.
@gprot42

gprot42 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Updated to v0.0.9 — adds bundled monospace font selection in Settings (JetBrains Mono, IBM Plex Mono, Cascadia Mono, DejaVu Sans Mono, Fira Mono, or system monospace) with a live preview panel. Manifest and release are live at https://github.com/gprot42/webos-terminal/releases/tag/v0.0.9

gprot42 and others added 4 commits July 7, 2026 06:14
Document raw keystroke passthrough when a PTY is available (shell history,
tab completion, job control, TUI apps) and the piped-shell fallback.
raw.githubusercontent.com rate-limits CI runners (HTTP 429), which fails
the package-lint check ("iconUri must be accessible"). Serve the icon and
screenshot via jsDelivr instead.
@gprot42

gprot42 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

CI fix for package-lint

The failure on run 28980124546 was:

iconUri must be accessible

Root cause: raw.githubusercontent.com rate-limits some CI runners (HTTP 429). The package metadata check does a live GET of iconUri and treats any non-200 as failure.

Fix (commit 9429b2d): point iconUri (and the description screenshot) at jsDelivr instead of raw.githubusercontent.com:

  • https://cdn.jsdelivr.net/gh/gprot42/webos-terminal@main/webos-meta/icon-large.png

Local python3 -m repogen.lintpkg now passes. The new workflow run is waiting on maintainer approval for fork PRs — please approve/re-run when convenient.

@mariotaku mariotaku merged commit 9fd8945 into webosbrew:main Jul 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants