Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
f47b261
Rebrand to MoonCast TV (fork of moonlight-android)
claude Oct 15, 2026
4994a25
build: arm64-only + constrained memory for the dev builder (4 GB)
claude Oct 15, 2026
09914eb
feat(ui): MoonCast lunar identity on the TV app (step 1 - theme)
claude Oct 15, 2026
4367ab0
feat(tv): MoonCast receiver - simple splash + phone-driven native str…
claude Oct 15, 2026
272eb36
feat(tv): phone is the controller — inject its pad into the native se…
claude Oct 15, 2026
319d792
feat(ps5): native PS5 Remote Play in the TV app via chiaki (libchiaki)
claude Oct 16, 2026
637ebf6
feat(ps5): auto-wake the console from standby before connecting
claude Oct 16, 2026
4a40db6
feat(ps5): /register endpoint runs chiaki registStart and returns the…
claude Oct 16, 2026
8a48f13
fix(ps5): always tear down the session + controller relay (no stale P…
claude Oct 16, 2026
2a5b63e
feat(tv): present the phone's pad-server key so the native controller…
claude Oct 16, 2026
6889f55
fix(ps5): tear down the chiaki session off the UI thread (no main-thr…
claude Oct 16, 2026
6927305
feat(ps5): combos for PS (Select+Start) and Touchpad (L2+Start) - Xbo…
claude Oct 16, 2026
e92a20c
fix(ps5): PS = L2+Start (as requested), Touchpad = Select+Start; supp…
claude Oct 16, 2026
bec6ab8
fix(pad): read timeout + reconnect so a silently-dead controller sock…
xservzeroman Oct 16, 2026
f14bddc
feat(tv): receiver stays on the branded waiting screen with no PC paired
xservzeroman Oct 16, 2026
159a214
feat(ps5): Remote Play over the internet via PSN hole-punch (no VPN /…
xservzeroman Oct 16, 2026
34b8ab7
fix(ps5): give chiaki's libcurl the device CA store so PSN HTTPS works
xservzeroman Oct 16, 2026
203c6d2
fix(ps5): AIA chain repair falls back to MC_CA_BUNDLE on Android
xservzeroman Oct 16, 2026
481611e
fix(ps5): connect on the first attempt when the console is asleep + s…
xservzeroman Oct 16, 2026
bb0a8a8
feat(ps5): live connect status + drop the UPnP probe (remote play)
xservzeroman Oct 16, 2026
c7d9aae
perf(ps5): cut ~8 s from remote connect (ctrl-start wait)
xservzeroman Oct 16, 2026
ffccd0a
fix(ps5): no crash when the PS5 drops a session; retry remote attempt…
xservzeroman Oct 16, 2026
a310f79
perf(ps5): enable chiaki-ng port guessing for remote play + log our N…
xservzeroman Oct 16, 2026
50c4ae8
fix(ps5): 60 s wake wait + 4 remote attempts
xservzeroman Oct 16, 2026
9a7fc87
fix(ps5): report real packet loss (max 5%) + request an IDR when FEC …
xservzeroman Oct 16, 2026
a693fed
feat(ps5): take the controller over UDP from the phone (TCP fallback)
xservzeroman Oct 16, 2026
c3d6577
feat(ps5): local controller + full screen so the player works on a ha…
xservzeroman Oct 16, 2026
aa1db92
fix(ps5): end the session when leaving the player; say when the PS5 i…
xservzeroman Oct 16, 2026
3024222
fix(ps5): ask the PS5 3 times before deciding it is not on this LAN
xservzeroman Oct 16, 2026
d037a93
Merge pull request #2 from MoonCastDev/fix/pad-relay-stall
xservzeroman Oct 16, 2026
7f5d7df
Merge pull request #3 from MoonCastDev/feat/ps5-remote-holepunch
xservzeroman Oct 16, 2026
2d70f96
perf(ps5): 30 Mbps on the home network (1080p60 HEVC)
xservzeroman Oct 16, 2026
fe22dd7
perf(ps5): pick the home-network bitrate from the device's own link
xservzeroman Oct 16, 2026
9aa0da3
feat(tv): Big Picture home with Library, Consoles and Settings
xservzeroman Oct 16, 2026
fd7c311
chore(tv): ship the SIL Open Font License for Unbounded and Figtree
xservzeroman Oct 16, 2026
60ef5d9
feat(tv): in-game Quick menu and grouped settings screens
xservzeroman Oct 16, 2026
31f7ae4
fix(tv): catch the remote's Back in the stream view's pre-IME hook
xservzeroman Oct 16, 2026
f133b22
fix(tv): Quick menu icons the TV's fonts can draw
xservzeroman Oct 16, 2026
869c906
fix(ps5): say why when the PS5 can't be reached instead of closing si…
xservzeroman Oct 16, 2026
cf7aadb
fix(ps5): keep trying on the home network while the PS5 wakes from rest
xservzeroman Oct 16, 2026
c44d24f
feat(tv): keep the phone's channel open in a background service
xservzeroman Oct 16, 2026
d8c3562
feat(tv): register-a-PS5 screen, PS5 rumble, and focus/text fixes
xservzeroman Oct 16, 2026
04ef3af
wip(tv): PSN sign-in on the TV, register a PS5 without the Odin
xservzeroman Oct 16, 2026
28aca38
fix(tv): PSN sign-in page loads - stop wiping cookies under Sony's bo…
xservzeroman Oct 16, 2026
94d5495
fix(ps5): map a DualSense/DualShock 4 on an old kernel correctly
xservzeroman Oct 16, 2026
9640cf7
fix(ps5): match the stream to the TV's link so input doesn't feel late
xservzeroman Oct 16, 2026
5208c5b
feat(ps5): put the PS5 in rest mode from the TV
xservzeroman Oct 16, 2026
7422975
feat(tv): complete the mockup - game menu, search, add PC, controller…
xservzeroman Oct 16, 2026
9ef8fa7
fix(tv): issues found testing the mockup screens on the JAL TV
xservzeroman Oct 16, 2026
641eb92
feat(tv): the TV-relevant Moonlight settings in MoonCast's own settings
xservzeroman Oct 16, 2026
215cdb9
feat(ps5): live stream stats in the PS5 Quick menu
xservzeroman Oct 16, 2026
128a803
feat(xbox): native Xbox Remote Play on the TV (XStreaming's nano-rs e…
xservzeroman Oct 16, 2026
2014ba7
fix(xbox): smooth video on Amlogic sticks, a controller the Xbox acce…
xservzeroman Oct 16, 2026
9bc6c79
feat(xbox): play Xbox over Google's WebRTC (libwebrtc) instead of the…
xservzeroman Oct 16, 2026
d9c22a6
feat(tv): Artemis features - ultra low latency, custom and native res…
xservzeroman Oct 16, 2026
ab37973
feat(xbox): low-latency decoding, bitrate cap, picture shape and nati…
xservzeroman Oct 16, 2026
dde1bb2
fix(xbox): offer libwebrtc's default codec list; only the H.264 decod…
xservzeroman Oct 16, 2026
ee5d269
fix(xbox): the Xbox player streams again (test127 showed no picture)
xservzeroman Oct 16, 2026
e0a24bd
build: split into two apps from one code base, MoonCast TV (receiver)…
claude Oct 17, 2026
205ae28
Add the feel engine: menu sounds, gliding focus, end-of-row nudge
claude Oct 17, 2026
7ddaa20
Handheld home: Switch-style launcher for the sender app (#25)
claude Oct 17, 2026
c0af3e6
fix(feel): MoonCast's sounds replace the system click instead of most…
claude Oct 17, 2026
c60e248
Merge remote-tracking branch 'origin/feat/feel-engine' into feat/hand…
claude Oct 17, 2026
51c3bb2
Handheld home: fixes from the first Odin test (test137)
claude Oct 17, 2026
5087619
feat(settings): 30 fps choice in Frame rate, both apps (default stays…
claude Oct 17, 2026
2e4b4ff
Handheld polish: Quick menu text, chip names, native resolution (test…
claude Oct 17, 2026
7235232
Handheld sends games to a MoonCast TV and becomes its controller (#26…
claude Oct 17, 2026
9ee6381
Handheld sender: one pad server per app, link state, picker resolutio…
claude Oct 17, 2026
bb2bea0
Handheld sender: TV /stop, PhoneGamepad gives up, Play here waits for…
claude Oct 17, 2026
b89efe0
Handheld sender: controller straight to the PC for PC games on a TV (…
claude Oct 17, 2026
ec443e1
Direct controller is pad 0: the TV's stream registers no gamepad (tes…
claude Oct 17, 2026
d2b9fd6
Move to TV ends the local session first; PS5 surface never blocks the…
claude Oct 17, 2026
79db3ef
PS5 waits for "Remote is already in use", Move-to-TV PS5 delay, Quick…
claude Oct 17, 2026
5fa12f9
Xbox wakes and retries, /play replaces an open player, TV reports its…
claude Oct 17, 2026
eda50be
Xbox: end a failed session on the console, no-picture watchdog, 60 s …
claude Oct 17, 2026
61dc772
Xbox diagnostics: negotiated video direction and inbound codec/SSRC/P…
claude Oct 17, 2026
1b1c065
Xbox diagnostics: full video section of the offer and the answer (tes…
claude Oct 17, 2026
bd08f8c
Xbox: offer H.264 at profile 42e02a too, the level the Xbox answers (…
claude Oct 17, 2026
866c273
Xbox offer: H.264 payload at profile 42e02a (the level the Xbox answe…
claude Oct 17, 2026
f0db387
Xbox diagnostics: negotiated receive codecs/encodings and the stats k…
claude Oct 17, 2026
c4e1136
Quick menu panel is translucent (80%), the game shows behind it (test…
claude Oct 17, 2026
1221fc8
feat(profiles): Home and Away streaming profiles for the PS5 (test155)
claude Oct 17, 2026
22405bf
docs: CHANGELOG.md starts with test154 and test155 (Home and Away pro…
claude Oct 17, 2026
0e8a6d1
feat(profiles): General tab holds the streaming profile; PlayStation …
claude Oct 17, 2026
66cb54b
feat(profiles): one set of PlayStation rows for both profiles, with f…
claude Oct 17, 2026
35e5a0c
feat(ps5): custom frame rate and bitrate per profile (test158)
claude Oct 17, 2026
e18d860
fix(receiver): look up a sent game by name on this TV's PC (test159)
claude Oct 17, 2026
2f31d17
fix(handheld): Native is the largest 16:9 size that fits the screen (…
claude Oct 17, 2026
bc85ed3
feat(profiles): PC video settings are saved per profile (test161)
claude Oct 17, 2026
4c2a0f4
feat(profiles): all streaming settings are saved per profile (test162)
claude Oct 17, 2026
2707748
feat(profiles): Home and Away only, profile in Picture/Video, General…
claude Oct 17, 2026
f6f40a0
fix(settings): Native shows again, Custom asks for a value straight a…
claude Oct 17, 2026
be378e3
feat(stream): Decode delay in the PC Quick menu (test165)
claude Oct 17, 2026
c1b205b
fix(quickmenu): show up to five stat tiles so Decode delay is visible…
claude Oct 17, 2026
cdc6ad0
fix(stream): Decode delay measures the decoder directly (test167)
claude Oct 17, 2026
2767466
feat(identity): encrypted identity transfer module (no behaviour chan…
claude Oct 17, 2026
e7010af
feat(identity): TV publishes its identity key in discovery (test168)
claude Oct 17, 2026
cec037f
feat(identity): handheld seals its identity for an unpaired TV (test169)
claude Oct 17, 2026
ec11e43
feat(identity): session identity for unpaired TVs, removed when the s…
claude Oct 17, 2026
116a116
fix(identity): a session PC joins the running PC list at once (test171)
claude Oct 17, 2026
ec8029d
fix(identity): keep @Override on onCreate (test171)
claude Oct 17, 2026
aa6aad5
fix(home): a session PC's card leaves at once when the session ends (…
claude Oct 17, 2026
0580bda
fix(identity): a TV reports paired only if the PC accepts its identit…
claude Oct 17, 2026
1242cf3
docs(changelog): add test166-test173 entries
claude Oct 18, 2026
2f65d92
fix(ps5): free the decoder when a PS5 game ends (#37, test174)
claude Oct 18, 2026
7d45fcf
fix(ps5): keep retrying Wake and play while the PS5 wakes (#38, test175)
claude Oct 18, 2026
9cd6e78
fix(ps5): wait for the decoder's output thread before deleting it (#3…
claude Oct 18, 2026
6ea3fd5
Merge fix/ps5-decoder-leak (#37 follow-up) into fix/ps5-wake-retry
claude Oct 18, 2026
7a9aa6e
fix(ps5): stop feeding, drain, then stop the decoder (#37, test177)
claude Oct 18, 2026
4083120
Merge fix/ps5-decoder-leak (#37 shutdown fix) into fix/ps5-wake-retry
claude Oct 18, 2026
fc99ff1
fix(ps5): release the decoder before the surface goes (#37, test178)
claude Oct 18, 2026
0db96d0
Merge fix/ps5-decoder-leak (#37 surface release) into fix/ps5-wake-retry
claude Oct 18, 2026
5706b03
fix(tv): reach Save in a number box with the D-pad (#43, test179)
claude Oct 18, 2026
db19f11
fix(tv): /status goes back to idle when the stream ends (#41, test180)
claude Oct 18, 2026
f8e427d
fix(tv): forget the sender when its game ends (#40, test181)
claude Oct 18, 2026
968899b
fix(ps5): frame rate 30 or 60 only (#39, test182)
claude Oct 18, 2026
02c0e6e
feat: Custom frame rate for PC streams (#42, test183)
claude Oct 18, 2026
401de5d
fix: small fixes from the test173 pass (#44, test184)
claude Oct 18, 2026
669ec0c
fix: skip the other missing legacy databases too (#44, test185)
claude Oct 18, 2026
b0c48bf
fix: a stream the user ended isn't a failure (#41 follow-up, test186)
claude Oct 18, 2026
17c32c3
feat(handheld): compact layout for small screens, Screen size setting…
claude Oct 18, 2026
2c27b77
fix(handheld): compact Home labels side by side, bigger tiles (test188)
claude Oct 18, 2026
c7ba3f7
feat(handheld): portrait = the landscape screens, fitted (test189)
claude Oct 18, 2026
2bc4275
feat(handheld): fill tall screens, back button, tappable hints (test190)
claude Oct 18, 2026
f365156
feat(handheld): keep the phone's own status bar on the menus (test191)
claude Oct 19, 2026
36cb9ce
fix(handheld): system bars in the app's background colour (test192)
claude Oct 19, 2026
64d8e2d
fix(ps5): send the DualSense touchpad click (test193)
claude Oct 19, 2026
3ce91d6
release: back to test193 without two-player; keep the Back fix (#57, …
claude Oct 20, 2026
3e6f270
ui(handheld): spacing, tiles, dialogs and big-screen fit polish (test…
claude Oct 20, 2026
115f52c
fix(handheld): lay Home out inside the system bars; phone-size canvas…
claude Oct 20, 2026
45d8b27
ui(handheld): dialog lists fit the screen; list symbols fill their sq…
claude Oct 20, 2026
38babc0
feat(handheld): a PC's home and away addresses, shown and editable (t…
claude Oct 20, 2026
44706fb
feat: Native resolution follows the screen; Quick menu Fit this scree…
claude Oct 20, 2026
e17d23c
feat: Native shape, 16:9 or Whole screen (test204)
claude Oct 20, 2026
02a3d81
fix(handheld): one Resolution list with 16:9 and Native (whole screen…
claude Oct 20, 2026
aa3e1d9
feat(handheld): Native is always the whole screen; no 16:9 choice (te…
claude Oct 20, 2026
4ad91de
feat: reconnect at the new screen's size after a fold or unfold (test…
claude Oct 20, 2026
44fbe44
fix: a fold no longer ends the PC stream; it reconnects on the new sc…
claude Oct 20, 2026
009fa33
fix: reconnect when a fold replaces the video surface (test209)
claude Oct 20, 2026
f550201
fix: re-check the screen size after it settles; measure the window (t…
claude Oct 20, 2026
ec0d397
test: on-screen fold trace on PC streams (test211, to be removed)
claude Oct 20, 2026
186d355
fix(handheld): save a Resolution pick before redrawing; repair a stuc…
claude Oct 20, 2026
7f5eaa2
feat: offer Restart at this size after a fold reconnect (PC, test213)
claude Oct 20, 2026
e49b6c2
feat: a fold restarts the PC game on the new screen by itself (test215)
claude Oct 20, 2026
eeaf628
fix: PS5 keeps its 16:9 shape and Picture shape; Xbox Stretch re-fits…
claude Oct 20, 2026
20ff9a9
feat: one stream shape for both screens of a foldable; a fold just re…
claude Oct 20, 2026
9ac2e23
chore: remove the fold trace; no visible Moonlight in either app (tes…
claude Oct 20, 2026
ff85cf8
feat(handheld): Hidden games in the PC menu; Manage PCs removed (test…
claude Oct 20, 2026
ae90da6
fix(handheld): edge-to-edge background, fading tile row, labels on to…
claude Oct 20, 2026
62582fc
fix(handheld): the cutout's space counts the content margin (test220)
claude Oct 20, 2026
bf6dc83
ui: MoonCast logo (synthwave moon) for the app icon, TV banner, chann…
claude Oct 20, 2026
cd4840b
feat(osc): PlayStation skin for the on-screen controller on Delta's p…
claude Oct 20, 2026
3c1e56a
docs(mockup): on-screen PlayStation pad v9 (keys raised, shoulders st…
claude Oct 20, 2026
3aa3fbe
docs(mockup): on-screen PlayStation pad v10 (keys 10% bigger, 5% furt…
claude Oct 20, 2026
047094e
docs(mockup): on-screen PlayStation pad v11 (v10 at 70% transparency)
claude Oct 20, 2026
0aca65b
docs(mockup): on-screen PlayStation pad v12 (85% transparency, PS but…
claude Oct 20, 2026
25a6dfa
docs(mockup): on-screen PlayStation pad v13 (50% transparency)
claude Oct 20, 2026
c122941
docs(mockup): on-screen PlayStation pad v14 (L2 over L1, R2 over R1)
claude Oct 20, 2026
28a0b8f
feat(osc): PlayStation skin v14 layout, PS button, transparency setti…
claude Oct 20, 2026
01e03f0
docs(mockup): on-screen Xbox pad x1 (the PlayStation v14 layout with …
claude Oct 20, 2026
63deee5
docs(mockup): on-screen Xbox pad x2 (real Xbox layout: left stick up,…
claude Oct 20, 2026
14000f8
feat(osc): Xbox skin for the on-screen controller, real Xbox layout (…
claude Oct 20, 2026
b76c88b
docs(mockup): on-screen Switch Pro pad n1
claude Oct 20, 2026
d9986fe
build: PS5 libraries from source, chiaki-ng as a submodule (test225)
claude Oct 21, 2026
d341c95
build: buildChiaki lets the script find the SDK (no android.sdkDirect…
claude Oct 21, 2026
c680670
fix: PS5 crash on Android 5 (active network is API 23); handheld drop…
claude Oct 21, 2026
be38b6a
fix: declare leanback only in the TV app's manifest (lint MissingLean…
claude Oct 21, 2026
42386fc
fix: TV home names its banner itself (lint MissingTvBanner, now that …
claude Oct 21, 2026
3ac671a
fix: TV manifest marks the touchscreen optional itself (lint ImpliedT…
claude Oct 21, 2026
7ec2278
lint: coverFrame's FrameLayout foreground is API 1, not View's API 23…
claude Oct 21, 2026
ea1c59d
fix(tv): PhoneLinkService crashed on Android 5 (getSystemService(Clas…
claude Oct 21, 2026
c9e45a5
docs(mockup): About page and open-source licences list
claude Oct 21, 2026
e1b4bf9
feat(about): open-source licences and source code in About, both apps…
claude Oct 21, 2026
c98b42d
docs: README for MoonCast
claude Oct 21, 2026
a0730d7
fix(ps5): OpenSSL 3.5.9 LTS in chiaki-ng instead of end-of-life 1.1.1…
claude Oct 21, 2026
f5c2c36
build: chiaki-ng-mooncast with the clean-on-change build script
claude Oct 21, 2026
cff188c
build: version 1.0, release signing from keystore.properties, release…
claude Oct 21, 2026
b45d620
fix(ps5): leaving the screen stops the connect; switch from PSN to ho…
claude Oct 21, 2026
5625b03
fix(ps5): public psnCancel wrapper (ChiakiNative is file-private)
claude Oct 21, 2026
92b5f38
release: 1.0-beta1; keep chiaki and WebRTC classes in release builds;…
claude Oct 21, 2026
02645fa
feat(handheld): Unlock all frame rates, Custom bitrate, Full range co…
claude Oct 21, 2026
02b3361
feat(ps5): decoder latency setting (Low latency default, Ultra, Stand…
claude Oct 21, 2026
061a969
feat(ps5): Frame pacing setting (Lowest delay, Balanced, Smoothest) (…
claude Oct 21, 2026
c649dd7
docs(mockup): Super resolution (FSR 1.0) settings and a before/after …
claude Oct 21, 2026
c1147a5
feat(fsr): Super resolution (AMD FSR 1.0) for PS5 streams, with Sharp…
claude Oct 21, 2026
bd0102f
feat(fsr): Super resolution on PC and Xbox too; shared FsrPasses (tes…
claude Oct 21, 2026
612b3aa
fix(fsr,ps5): FSR EGL setup falls back (Mali TV), decoder drops low-l…
claude Oct 21, 2026
15ba1df
fix(#65): On battery, stream at caps PC and PS5 streams while unplugg…
claude Oct 21, 2026
d0de51d
docs: CONTRIBUTING.md and SECURITY.md
claude Oct 21, 2026
ade3502
feat(quickmenu): Streaming status toggle, Task Manager and Hibernate …
claude Oct 21, 2026
582d98d
fix(quickmenu): Hibernate PC types shutdown /h into Run, layout-indep…
claude Oct 21, 2026
1023499
fix(quickmenu): Hibernate PC opens Start with Ctrl+Esc, no Windows ke…
claude Oct 21, 2026
2e39802
fix(quickmenu): leave the stream once a hibernating PC stops sending …
claude Oct 21, 2026
af130e7
feat(quickmenu): Touch screen switch Off/Mouse/Touch for PC streams, …
claude Oct 21, 2026
36fb1b8
fix(touch,quickmenu): park the PC pointer with touch Off, Touch scree…
claude Oct 21, 2026
f06e831
fix: quit prompts pick Cancel (handheld + TV), Recent only on a real …
claude Oct 22, 2026
34df4c9
docs(changelog): test244 Auto bitrate for 720p60 is 10 Mbps
claude Oct 22, 2026
6504f3f
remove: On battery, stream at (#65), little saving for the complexity…
claude Oct 22, 2026
6105a67
feat: opt-in anonymous usage check-in (TelemetryDeck, official builds…
claude Oct 22, 2026
4ee1214
feat(usage): TelemetryDeck organization namespace (/v2/namespace/<ns>/)
claude Oct 22, 2026
f8fe234
feat(handheld): On this device, pick Android apps to show next to PC,…
claude Oct 22, 2026
401db58
fix(handheld): the Add apps tile shows its name (test248)
claude Oct 22, 2026
6c20122
feat(handheld): app tiles in the icon's colour, Add apps as an icon g…
claude Oct 22, 2026
6966144
feat(handheld): Change picture for any game tile (test250)
claude Oct 22, 2026
386951a
fix(handheld): added apps and consoles keep their place on Home; Add …
claude Oct 22, 2026
fc7695f
feat(handheld): Add apps tile on Home and Apps on this device in Sett…
claude Oct 22, 2026
8316859
perf(handheld): UI review quick wins: less rebuilding, caches, off-th…
claude Oct 22, 2026
3032f54
ui: review round 2: phone touch sizes and font size, one row style, Q…
claude Oct 22, 2026
1b79d6f
fix(handheld): list panes clip at their edge, Consoles ran under the …
claude Oct 22, 2026
245c572
fix(ui): menus show all options, one Frame pacing for PC and PS5, qui…
claude Oct 22, 2026
37c51eb
feat(handheld): Add to home screen for PC games, PS5 and Xbox (test257)
claude Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 41 additions & 147 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,176 +1,70 @@
name: Bug report
description: Follow the troubleshooting guide before reporting a bug
title: "[Issue]: "
name: Something doesn't work
description: Tell us what went wrong in MoonCast
title: "[Bug]: "
labels: bug
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill out this bug form!

**READ ME FIRST!**
If you're here because something basic is not working (like gamepad input, video, or similar), it's probably something specific to your setup, so make sure you've gone through the Troubleshooting Guide first: https://github.com/moonlight-stream/moonlight-docs/wiki/Troubleshooting

If you still have trouble with basic functionality after following the guide, join our Discord server where there are many other volunteers who can help (or direct you back here if it looks like a Moonlight bug after all). https://moonlight-stream.org/discord
- type: textarea
id: describe-bug
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps-reproduce
attributes:
label: Steps to reproduce
description: Any special steps that are required for the bug to appear.
validations:
required: true
- type: textarea
id: affected-games
attributes:
label: Affected games
description: List the games you've tried that exhibit the issue. To see if the issue is game-specific, try streaming Steam Big Picture with Moonlight and see if the issue persists there.
validations:
required: true
Thanks for testing MoonCast! A few details help us find the problem quickly.
- type: dropdown
id: other-clients
id: app
attributes:
label: Other Moonlight clients
description: Does the issue occur when using Moonlight on PC or iOS?
label: Which app
options:
- "PC"
- "iOS"
- MoonCast (phone, handheld, tablet)
- MoonCast TV (Android TV / Google TV)
- Both
validations:
required: true
- type: dropdown
id: settings-adjusted
attributes:
label: Moonlight adjusted settings
description: Have any settings been adjusted from defaults?
options:
- "Yes"
- "No"
validations:
required: true
- type: textarea
id: settings-adjusted-settings
attributes:
label: Moonlight adjusted settings (please complete the following information)
description: If the settings have been adjusted, which settings have been changed?
validations:
required: true
- type: dropdown
id: settings-default
- type: input
id: version
attributes:
label: Moonlight default settings
description: Does the problem still occur after reverting settings back to default?
options:
- "Yes"
- "No"
label: MoonCast version
description: Settings, About (for example 1.0-beta1)
placeholder: 1.0-beta1
validations:
required: true
- type: dropdown
id: gamepad-connected
- type: input
id: device
attributes:
label: Gamepad-related connection issue
description: Do you have any gamepads connected to your host PC directly?
options:
- "Yes"
- "No"
label: Device and Android version
placeholder: "Samsung Galaxy Z Fold, Android 16 / AYN Odin 2 Portal, Android 13 / Chromecast with Google TV"
validations:
required: true
- type: dropdown
id: gamepad-on-screen
id: playing
attributes:
label: Gamepad-related input issue
description: If gamepad input is not working, does it work if you use Moonlight's on-screen controls?
label: What were you playing
multiple: true
options:
- "Yes"
- "No"
- PC (Sunshine)
- PS5
- Xbox
- Nothing yet (menus, pairing, sign-in)
validations:
required: true
- type: dropdown
id: gamepad-test
id: where
attributes:
label: Gamepad-related streaming issue
description: |
Does the problem still remain if you stream the desktop and use https://html5gamepad.com to test your gamepad?
Instructions for streaming the desktop can be found here: https://github.com/moonlight-stream/moonlight-docs/wiki/Setup-Guide
label: Where were you
options:
- "Yes"
- "No"
validations:
required: true
- type: input
id: android
attributes:
label: Android version
description: What is the Android version?
placeholder: e.g. Android 10
validations:
required: true
- type: input
id: device
attributes:
label: Device model
description: What is the device model?
placeholder: e.g. Samsung Galaxy S21
validations:
required: true
- type: input
id: server-os
attributes:
label: Server PC OS version
description: What is the PC OS version?
placeholder: e.g. Windows 10 1809
validations:
required: true
- type: input
id: server-geforce
attributes:
label: Server PC GeForce Experience version
description: What is the GeForce Experience version?
placeholder: e.g. 3.16.0.140
validations:
required: true
- type: input
id: server-driver
attributes:
label: Server PC Nvidia GPU driver version
description: What is the Nvidia GPU driver version?
placeholder: e.g. 417.35
validations:
required: true
- type: input
id: server-antivirus
attributes:
label: Server PC antivirus and firewall software
description: Which antivirus and firewall software are installed on the Server PC?
placeholder: e.g. Windows Defender and Windows Firewall
validations:
required: true
- At home (same network as the PC or console)
- Away from home (another network, mobile data, a hotspot)
- Not sure
- type: textarea
id: screenshots
id: what
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem. If the issue is related to video glitching or poor quality, please include screenshots.
label: What happened
description: What you did, what you expected, and what happened instead. Screenshots or a short video help a lot.
placeholder: |
1. Opened MoonCast and pressed Play on my PS5
2. It said "Connecting…" for a minute
3. Then "Couldn't reach your PlayStation"
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: |
Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: Shell
validations:
required: false
required: true
- type: textarea
id: additional
id: more
attributes:
label: Additional context
description: Anything else you think may be relevant to the issue or special about your specific setup.
validations:
required: false

label: Anything else
description: Controller used, Wi-Fi or cable, how often it happens, anything you noticed.
39 changes: 9 additions & 30 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,16 @@
name: Feature request
description: Suggest an idea for this project
title: "[Feature request]: "
name: Idea or wish
description: Something you'd like MoonCast to do
title: "[Idea]: "
labels: enhancement
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill out this feature form!
- type: textarea
id: feature
id: idea
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
label: What would you like
description: What you'd like to do, and why it would help you.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
- type: input
id: device
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: Add any other context or screenshots about the feature request here.
validations:
required: false
label: Your device (if it matters)
4 changes: 0 additions & 4 deletions .github/auto-comment.yml

This file was deleted.

8 changes: 0 additions & 8 deletions .github/no-response.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .github/stale.yml

This file was deleted.

55 changes: 55 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Builds both MoonCast apps from a clean clone, with lint, so a missing file or submodule shows up at once.
# The APKs are kept as the run's artifacts (debug builds, signed with the runner's debug key).
name: Build

on:
pull_request:
push:
branches: [master]
workflow_dispatch:

concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
# third-party/chiaki-ng is private until launch: SUBMODULES_TOKEN (read access to it) lets the runner clone it
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.SUBMODULES_TOKEN || github.token }}

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'

- name: Android SDK parts (the app's NDK, and chiaki-ng's NDK and CMake)
run: |
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" "ndk;29.0.14206865" "ndk;28.2.13676358" "cmake;3.22.1" > /dev/null

- name: protoc (chiaki-ng's nanopb)
run: sudo apt-get update -q && sudo apt-get install -y -q protobuf-compiler python3-protobuf

- name: Build and lint both apps
run: |
echo "sdk.dir=$ANDROID_HOME" > local.properties
BUILD=ci${{ github.run_number }} ./gradlew --no-daemon \
assembleNonRootHandheldDebug assembleNonRootTvDebug \
lintNonRootHandheldDebug lintNonRootTvDebug

- uses: actions/upload-artifact@v4
with:
name: mooncast-apks
path: app/build/outputs/apk/**/*.apk

- uses: actions/upload-artifact@v4
if: always()
with:
name: lint-reports
path: app/build/reports/lint-results-*.html
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,8 @@ build/
app/.externalNativeBuild/

# NDK stuff
.cxx/
.cxx/
# MoonCast release signing: never commit the key or its passwords
keystore.properties
*.jks
*.keystore
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
[submodule "app/src/main/jni/moonlight-core/moonlight-common-c"]
path = app/src/main/jni/moonlight-core/moonlight-common-c
url = https://github.com/moonlight-stream/moonlight-common-c.git
[submodule "third-party/chiaki-ng"]
path = third-party/chiaki-ng
url = https://github.com/MoonCastDev/chiaki-ng-mooncast.git
branch = mooncast
Loading