Skip to content

0.1.0-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 18:43
· 9 commits to main since this release
64d2f4f

The first public build of JoyChromium: a web browser for the TV, driven with a game controller from the couch. Windows 10/11 only; macOS, Linux and Steam Deck are on the roadmap.

Download

  • JoyChromium-0.1.0-alpha-win-x64.exe: most PCs (Intel and AMD)
  • JoyChromium-0.1.0-alpha-win-arm64.exe: Snapdragon (ARM) PCs
  • JoyChromium-0.1.0-alpha-win.exe: one installer for both

Before you install

  • This is an alpha: expect rough edges, and tell us what breaks.
  • It does not update itself yet. Watch the repo's releases to hear about new versions.
  • Netflix, Prime and other Widevine services do not play yet: the DRM module is not signed in this build.
  • The installer is not code-signed, so SmartScreen may warn you: More info → Run anyway.

Novidades

  • controller: one pointer over the whole window, an ad-blocker menu and a new onboarding (#117)
  • controller: new tabs start on the address bar, an arrow-and-hand pointer, a smooth glide (#105)
  • keyboard: an Xbox-style controller keyboard (#104)
  • controller: a pointer on the left stick, clicks with A, the wheel on the right stick (#103)
  • favicons: site icons on the tabs and the new tab, kept inside the app (#100)
  • newtab: send arrow instead of OK on the search box (#98)
  • integrations: launch flags, joychromium:// links and quick tasks (#97)
  • appearance: new tab backdrop, quick-links switch and four themes (#96)
  • newtab: a simpler new tab with only the user's own sites (#95)
  • ui: Edge-style chrome in the blue brand (#93)
  • drm: sign the Widevine CDM through castLabs EVS when the account exists (E10-02) (#87)
  • shell: translate the short messages and pin the test language (#84)
  • tools: measure the per-service resolution from the repository (#80)
  • flatpak: package the app as a Flatpak and build it in CI (#70)
  • chrome: show and navigate the address bar suggestions (#69)
  • adblock: pick block lists per tracking-prevention level (#64)
  • controller: haptic confirmation and error cues (#62)
  • shell: open and close picture-in-picture from the quick menu (#58)
  • release: write the release notes from the commits (#63)
  • controller: the last gamepad used takes the input (#61)
  • diagnostics: report boot, memory and tab count in the zip (#60)
  • shell: send state to the chrome as per-area patches (#59)
  • controller: spatial navigation inside subframes (#56)
  • drm: per-site user agent for streaming hosts (#57)
  • update: finish a deb/rpm update while the window is still open (#53)
  • controller: media keys and mediaSession through the controller (#50)
  • build: arm64 installers for Windows and Linux (#52)
  • a11y: audit every screen with axe and fix what it found (#51)
  • shell: add the design system catalog page (#49)
  • drm: castLabs content-security build, fuses and media keys (#42)
  • privacy: opt-in crash reports and a complete 'clear data' (#43)
  • ui: Preact shell, redesigned pages and two languages (#40)
  • platform: Windows, macOS and Linux with TV mode by default (#37)
  • electron: phase 1 — full shell ported to Electron (#22)
  • electron: phase 0 proof of concept with TV identity and ad blocking (#21)
  • shell: app icon, per-tab mute with audio indicator, tab menu, keep display awake during media (#18)
  • controller: spatial navigation, virtual cursor and per-site input modes (#16)
  • favorites, history, address suggestions, favicons, find, zoom, fullscreen, reopen tab (#15)
  • robustness: crash recovery, tab sleeping, periodic session save, logs and UI smoke test (#14)
  • update: self-update, uBlock Origin auto-update and signed remote policy (#13)
  • security: baseline protections, permission prompt, downloads and private tabs (#12)
  • new tab page, startup/home settings and session restore (#10)
  • bundle uBlock Origin, configurable search engine and first-run onboarding (#9)
  • theme: customizable shell colors with internal settings page (#8)
  • shell: add Edge-style title bar with tabs (#5)

Correções

  • release: a VMP signing refusal no longer stops the Windows build (#119)
  • controller: the D-pad's focus stays visible after a mouse click (#107)
  • controller: the pointer stays on screen across pages (#106)
  • controller: A types in a field, the keyboard keys move, and up reaches the toolbar (#101)
  • ci: the EVS signup passes first name, last name and organization (#111)
  • controller: click of the right stick reaches Cursor mode (#90)
  • search: open addresses typed without a scheme; keyboard no longer blurs the bar (#99)
  • ui: overlays show above the page, plus Edge polish (#94)
  • controller: read the pad at 60 Hz so the D-pad meets its latency budget (E11) (#86)
  • policy: read the minimum runtime version the published policy ships (#78)
  • mac: make the unsigned disk image installable and verify its seal in CI (#76)
  • update: point alpha builds at the release list instead of the update channel (#74)
  • a11y: expose the search flow to screen readers (#67)
  • deps: pin http-cache-semantics past the cached-response advisory (#72)
  • controller: stop polling the controller while the window is off screen (#68)
  • drm: read the Widevine status the way the ECS reports it (#48)
  • tabs: queue navigations so the newest one wins (#45)
  • shell: target Windows 10 SDK so WebView2CompositionControl loads (#2)

Por dentro

  • core: services, typed IPC, atomic store and tab sleeping (#38)
  • shell: split MainWindow into partial files by concern; move P/Invoke to NativeInput (#17)

Documentação

  • status: publish where the app stands, with evidence and owners (#89)
  • cost: make the no-paid-services decision explicit and drop the paid paths (#88)
  • release: spell out the macOS install path in every release body (#77)
  • prd: correct the Could total once E9-05 landed (#75)
  • prd: record what is delivered item by item (#66)
  • the release, the signing key and the TV checklist (#55)
  • prd: alinhar a arquitetura descrita com o que foi construído (#46)
  • PRD 2.0 — arquitetura, multiplataforma, redesign e backlog (#36)
  • update checklist with status after PRs #12-#19 (#20)
  • add essentials checklist and update strategy (#11)

CI

  • metrics: measure the PRD section 11 boot and D-pad budgets on every run (#81)
  • install the packaged app and prove it starts (#54)
  • electron: phase 2 — automated update pipeline and packaging (#23)

Manutenção

  • release: Windows-only 0.1.0-alpha, Electron 44.9.3 and a public README (#118)
  • ci: Bump actions/setup-python from 6 to 7 (#115)
  • deps: Bump preact from 11.0.1 to 11.0.2 in /app (#116)
  • deps: Bump undici from 7.30.0 to 7.30.1 in /app (#114)
  • deps: Bump the npm-minor-patch group in /app with 2 updates (#113)
  • claude: wire the lippstack plugins into the project (#92)
  • brand: adopt the new joystick logo (#91)
  • release: move the project to 0.1.0 and publish pre-1.0 builds as pre-releases (#73)
  • deps: typescript 7 and the compiler options it asks for (#47)
  • ci: Bump actions/setup-node from 4 to 7 (#25)
  • ci: Bump actions/checkout from 4 to 7 (#4)
  • deps: Bump preact from 10.29.8 to 11.0.1 in /app (#44)
  • deps: Bump the npm-minor-patch group in /app with 2 updates (#34)
  • deps: Bump electron from 44.7.0 to 44.8.0 in /app (#35)
  • deps: Bump vitest in /app in the npm-minor-patch group (#33)
  • deps: Bump electron from 44.5.1 to 44.7.0 in /app (#32)
  • deps: Bump the npm-minor-patch group in /app with 4 updates (#31)
  • deps: Bump electron from 44.4.5 to 44.5.1 in /app (#30)
  • deps: Bump the npm-minor-patch group in /app with 2 updates (#29)
  • deps: Bump @types/node from 24.10.0 to 26.6.3 in /app (#26)
  • phase 3 — retire the C#/WebView2 shell; Electron app is the product (#28)
  • ci: Bump actions/upload-artifact from 4 to 7 (#24)
  • add repo conventions, analyzers and format check (#1)

Outros

  • capture what Orca says through speech-dispatcher (#85)
  • hold a synthetic pad press until the shell has read it (#82)
  • cover the PRD acceptance journeys end to end (#83)
  • cover the popup limit, the scheme guard and the blocked download (#79)
  • boot the app on a native Wayland compositor in every pull request (#71)
  • poll for the tab switcher focus instead of reading it once (#65)
  • migrate smoke checks to xUnit; cache NuGet and uBlock download in CI (#19)
  • Add controller-first Windows browser prototype
  • Initialize JoyChromium project

Instaladores

Windows (.exe, x64 e arm64), macOS (.dmg/.zip, x64 e arm64) e Linux (.AppImage, .deb, .rpm, x64 e arm64).
Os builds não são assinados (ADR-010): o Windows mostra o SmartScreen e o macOS recusa a instalação de um clique.

macOS: a imagem de disco traz LEIA-ME.txt e install-macos.command. Abra o .dmg e dê dois cliques em install-macos.command — ele copia o app para Aplicativos e limpa a quarentena. Na mão: arraste o JoyChromium para Aplicativos e abra uma vez com botão direito → Abrir; se essa opção não aparecer, rode xattr -dr com.apple.quarantine /Applications/JoyChromium.app. O aviso "Este Mac não conseguiu verificar o app" é falta de notarização, não app danificado: codesign --verify --deep --strict passa neste build.

As versões instaladas se atualizam sozinhas, exceto no macOS (o app avisa e abre esta página) e nas versões abaixo de 1.0, que saem como pré-release e se atualizam à mão.

Guia de instalação: https://github.com/lippdev/joychromium/blob/main/docs/INSTALL.md