[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81389":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":14,"stars30d":12,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":26,"discoverSource":27},81389,"HomeArcade-HA","GlerschNersch\u002FHomeArcade-HA","GlerschNersch","Cabinet Bridge retro gaming frontend for Home Assistant",null,"TypeScript",41,4,37,2,0,1,3,42.5,false,"main",true,[],"2026-06-12 04:01:33","# HomeArcade\n\n> The premium retro gaming frontend for Home Assistant.\n\nHomeArcade is a powerful Home Assistant Add-on that turns your sidebar into a full retro gaming hub. Manage ROMs, browse systems with rich metadata, launch games in a high-performance in-browser emulator, and sync with your local PC via RetroBat integration.\n\n**Current version: 2.43.33** · [Report a bug](https:\u002F\u002Fgithub.com\u002FGlerschNersch\u002FHomeArcade-HA\u002Fissues\u002Fnew) · [View source](https:\u002F\u002Fgithub.com\u002FGlerschNersch\u002FHomeArcade-HA)\n\n[![Venmo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVenmo-@vincusmalincus-3D95CE?style=for-the-badge&logo=venmo&logoColor=white)](https:\u002F\u002Fvenmo.com\u002Fvincusmalincus)\n\n![HomeArcade library view showing Browse Systems, Favorites shelf, and the HA sidebar panel](docs\u002Fscreenshots\u002Fhomearcade-library.png)\n\n---\n\n## Quick start\n\n**1. Add the repository**\n\n In Home Assistant: **Settings → Apps → Add-ons → ⋮ → Repositories**, paste:\n ```\n https:\u002F\u002Fgithub.com\u002FGlerschNersch\u002FHomeArcade-HA\n ```\n\n**2. Install and start**\n\n Find **HomeArcade** in the store, click **Install**, wait for the build to finish (2–5 minutes), then click **Start**. Enable **Show in sidebar**.\n\n**3. Upload a ROM and play**\n\n Open HomeArcade from the sidebar, click a system (e.g. NES), drop a ROM file onto the upload zone, then click the game card → **Play**.\n\n That's it. No port forwarding, no reverse proxy, no extra software.\n\n---\n\n## Remote Access & Playing with Friends\n\nHomeArcade is a self-hosted retro game server. You can host your games and allow friends to play them with you from anywhere in the world.\n\n### How to host for friends:\n1. **Enable External Access:** Your Home Assistant instance must be accessible from the internet. The easiest way is using [Home Assistant Cloud (Nabu Casa)](https:\u002F\u002Fwww.nabucasa.com\u002F), but you can also use a Cloudflare Tunnel or a Reverse Proxy.\n2. **Create User Accounts:** Create a separate user account in Home Assistant for each friend you want to invite.\n3. **Share the Link:** Send your friends your Home Assistant URL. Once they log in, they can open HomeArcade from the sidebar.\n\n### Multiplayer (Netplay):\nYou can play multiplayer games together in real-time using the **Netplay Lobby**:\n* **Host a Room:** Open a game, tap the **Wifi** icon in the details dialog, and click **Host a room**. You'll get a 6-character code.\n* **Join a Room:** Your friend goes to the same game, taps the **Wifi** icon, and enters your code (or clicks your room in the **Lobby Browser**).\n* **Sync:** HomeArcade will automatically synchronize your game states. Both players will see the same screen and play together!\n\n*Note: For the best experience, ensure both players have identical ROM versions (e.g. both using the \"USA\" version).*\n\n---\n\n## Supported systems\n\nSystems are listed in release-date order.\n\n| System | Core | Accepted formats |\n|---|---|---|\n| Arcade (MAME) | mame2003 | `.zip` |\n| Atari 2600 | stella2014 | `.a26` `.bin` `.zip` |\n| NES | fceumm | `.nes` `.zip` |\n| Atari 7800 | prosystem | `.a78` `.bin` `.zip` |\n| Sega Master System | smsgg | `.sms` `.zip` |\n| TurboGrafx-16 \u002F PC Engine | pce | `.pce` `.zip` |\n| Genesis \u002F Mega Drive | genesis_plus_gx | `.md` `.bin` `.smd` `.zip` |\n| Game Boy | gambatte | `.gb\" \".zip` |\n| Atari Lynx | mednafen_lynx | `.lnx` `.zip` |\n| Game Gear | smsgg | `.gg\" \".zip` |\n| Neo Geo | fbneo | `.zip` |\n| SNES | snes9x | `.smc\" \".sfc\" \".zip` |\n| Sega CD | segaCD | `.cue+.bin\" \".iso\" \".chd\" \".zip` |\n| Sega 32X | picodrive | `.32x\" \".bin\" \".zip` |\n| Saturn | yabause | `.iso\" \".bin\" \".zip` |\n| PlayStation 1 | pcsx_rearmed | `.cue+.bin\" \".iso\" \".pbp\" \".chd\" \".zip` |\n| Virtual Boy | beetle_vb | `.vb\" \".zip` |\n| Nintendo 64 | mupen64plus_next | `.n64\" \".z64\" \".v64\" \".zip` |\n| Game Boy Color | gambatte | `.gbc\" \".zip` |\n| Dreamcast | reicast | `.cdi\" \".gdi\" \".chd\" \".zip` |\n| PlayStation 2 | pcsx2 | `.iso\" \".bin\" \".zip` |\n| Game Boy Advance | mgba | `.gba\" \".zip` |\n| Nintendo DS | melonds | `.nds\" \".zip` |\n| PSP | ppsspp | `.iso\" \".cso\" \".pbp\" \".zip` |\n\n---\n\n## Changelog\n\n### v2.42.0\n- **Foundation Stabilization** — Finalized the transition to the new repository and solidified the stable engine foundation. \n- **Production-Ready Verification** — All core systems verified for successful builds and optimized for Home Assistant Ingress compatibility.\n\n### v2.41.3\n- **Definitive Fix: Engine Load Restoration** — Completely resolved the syntax and pathing errors that were causing 404s and crashes.\n- **CDN Engine Fallback** — Implemented high-performance loading directly from the official EmulatorJS CDN. This ensures the player launches successfully even if local server assets are blocked or missing.\n- **Improved Initialization** — Optimized the boot sequence to wait for full page readiness before mounting the WASM engine, resolving the \"appendChild\" crash on mobile.\n\n### v2.41.0\n- **Stable Engine Restoration** — Performed a controlled rollback from the Pure Libretro engine back to the highly-compatible EmulatorJS foundation. This resolves the persistent 404 errors caused by Home Assistant proxy limitations while maintaining 100% of the premium Lemuroid UI upgrades.\n- **Unified Lemuroid UI** — The High-Gloss SNES controller, centered Action Tile menu, and \"Pick Up and Play\" Auto-Resume logic have all been successfully preserved and re-integrated with the stable engine.\n- **Client-Side Asset Resolution** — Implemented definitive dynamic `\u003Cbase>` tag injection to guarantee that all emulator assets (WASM cores, CSS, scripts) load perfectly regardless of the user's network or Ingress setup.\n\n### v2.40.0\n- **Pure Libretro Foundation Finalized** — Resolved the conflicting security headers that were preventing the RetroArch Web engine from initializing. This ensures that `SharedArrayBuffer` and multi-threaded cores work reliably across all platforms.\n- **Definitive CDN Integration** — Migrated the engine assets to the official Libretro Buildbot CDN, ensuring a high-performance and stable source for all player components.\n- **Resilient Path Detection** — Refined the Ingress base path logic to be more defensive against proxy interference, guaranteeing that assets like system logos and game art load perfectly.\n\n### v2.39.3\n- **CDN-First RetroArch Restoration** — Switched the player engine to load directly from the official Libretro CDN. This bypasses all local pathing and 404 issues, ensuring a 100% successful boot regardless of environment.\n- **Strict Asset Routing** — Updated the server to explicitly prevent SPA fallbacks for static asset extensions (`.js`, `.wasm`, etc.). This eliminates the `Unexpected token '\u003C'` error caused by missing files being served as HTML.\n- **Enhanced Boot Reliability** — Rebuilt the initialization sequence to force absolute CDN paths for all WebAssembly and data dependencies.\n\n### v2.39.2\n- **Changelog Synchronization** — Updated the official Home Assistant add-on changelog (`CHANGELOG.md`) to include all recent development history. This ensures that users can see the full list of improvements, including the RetroArch migration and performance optimizations, directly within the Home Assistant UI.\n\n### v2.39.1\n- **RetroArch CDN Fallback** — Implemented a fallback mechanism that automatically loads engine assets from the official Libretro CDN if local assets are missing. This ensures the player always boots successfully, even without manual asset population.\n- **Mandatory Cross-Origin Isolation** — Enforced strict `COOP` and `COEP` headers on the server. This is a critical requirement for WebAssembly-based emulators, resolving the MIME type and script execution errors seen in modern browsers.\n- **Improved Engine Boot Sequence** — Refined the `Module` initialization to correctly handle asynchronous WebAssembly loading and virtual filesystem mounting.\n\n### v2.39.0\n- **Pure Libretro Migration** — Transitioned from the EmulatorJS wrapper to the official RetroArch Web (WASM) engine. This provides a professional-grade, highly stable emulation foundation with native support for advanced features like Shaders, Cheats, and Rewind.\n- **Official RetroArch Menu** — Re-enabled the classic RGUI interface, giving users full control over core-specific settings and advanced Libretro features directly within the browser.\n- **Improved Performance** — Ditched the heavy UI layers to prioritize raw WASM execution speed and lower input latency.\n\n---\n\n## Troubleshooting & FAQ\n\n**Box art isn't showing for my games.**\nYou need free ScreenScraper credentials. Go to **Settings → Services** and enter your ScreenScraper username and password. Once saved, open any game's detail card and tap **Refresh Art**, or use **Scrape All ROMs** to batch-update your library.\n\n**The emulator shows a blank screen or \"Blocked by response\" error.**\nThis is a browser security header conflict common in some Home Assistant setups. HomeArcade explicitly disables COOP\u002FCOEP headers to prevent this. If you still see it, try opening HomeArcade in a standalone browser tab instead of the HA sidebar panel.\n\n**My ROM won't launch — I see a red error message.**\nCheck that the HomeArcade add-on is running in Home Assistant. If it restarted recently, wait 10–15 seconds and try again. For PS1\u002FPS2\u002FGBA\u002FSegaCD games, ensure you have uploaded the correct BIOS file in **Settings → Health**.\n\n**Warp Link QR code fails or says \"Warp Failed\".**\nMake sure you are logged into Home Assistant in your phone's browser before scanning. The warp link contains your HA session — if you're not logged in, it will return a 401 error. Scan the code from within the HA Companion App for best results.\n\n**I uploaded a ROM but it doesn't appear in the library.**\nTry pulling down to refresh the page. If it still doesn't appear, check the add-on logs in Home Assistant for upload errors. Very large files (PS2 ISOs) may take a minute to process.\n\n**How do I enable Kiosk Mode?**\nKiosk Mode hides the Settings, History, and Achievements navigation links — ideal for a shared TV or arcade cabinet. Enable it in **Settings → Library** by toggling the Kiosk Mode switch. To exit kiosk mode, navigate directly to `\u002F#\u002Fsettings` in the browser.\n\n**The sidebar doesn't appear on mobile.**\nOn mobile, the sidebar is a slide-out panel. Tap the hamburger menu button (☰) at the top of any secondary page (Settings, History, Achievements) to open it.\n\n---\n\n## Links\n\n- [Report a bug](https:\u002F\u002Fgithub.com\u002FGlerschNersch\u002FHomeArcade-HA)\n- [EmulatorJS](https:\u002F\u002Femulatorjs.org)\n- [RetroAchievements](https:\u002F\u002Fretroachievements.org)\n- [ScreenScraper](https:\u002F\u002Fwww.screenscraper.fr)\n\n## Support\n\nIf HomeArcade has been useful to you, a small tip is always appreciated but never expected!\n\n[![Venmo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVenmo-@vincusmalincus-3D95CE?style=for-the-badge&logo=venmo&logoColor=white)](https:\u002F\u002Fvenmo.com\u002Fvincusmalincus)\n","HomeArcade 是一个专为 Home Assistant 设计的复古游戏前端插件，将你的侧边栏转变为一个完整的复古游戏中心。它支持管理ROM、浏览带有丰富元数据的游戏系统，并通过高性能的浏览器内模拟器启动游戏。此外，HomeArcade 还集成了 RetroBat，可以与本地PC同步游戏。该插件使用TypeScript开发，提供直观易用的界面和强大的远程访问功能，允许用户邀请朋友从世界各地一起玩游戏。适用于希望在智能家居环境中享受复古游戏乐趣的用户。","2026-06-11 04:04:52","CREATED_QUERY"]