Commit graph

148 commits

Author SHA1 Message Date
Cameron Gutman
b419d21940 Only use the QTBUG-80947 hack on Qt 5.14 2019-12-21 13:54:09 -08:00
Cameron Gutman
8e6e70683e Add workaround for QTBUG-80947 2019-12-21 12:58:45 -08:00
Cameron Gutman
5d872e8b5b Add auto update check to Steam Link 2019-12-13 20:21:35 -08:00
Cameron Gutman
7205242f38 Improve VPN detection on Windows 2019-12-07 16:00:03 -08:00
Cameron Gutman
ce02e086a3 Add missing return when no interface address matches 2019-12-02 17:27:57 -08:00
Cameron Gutman
e8d4313454 Fix build on Qt 5.10 and earlier 2019-12-02 17:18:29 -08:00
Cameron Gutman
49046f88cf Ignore unknown MTUs 2019-12-01 22:10:07 -08:00
Cameron Gutman
5e2f32e3eb Force remote streaming mode if connecting through a VPN 2019-12-01 21:50:36 -08:00
Cameron Gutman
3e2c344140 Display the Moonlight icon in Discord Rich Presence info 2019-09-29 22:06:12 -07:00
Cameron Gutman
1640bed7a5 Improve reliability of mDNS discovery 2019-08-04 18:04:33 -07:00
Cameron Gutman
5e106d2f19 Only store the local address from mDNS if it actually worked 2019-07-31 22:16:11 -07:00
Cameron Gutman
940da6bc73 Fix discovery of IPv6-only hosts 2019-07-31 22:07:20 -07:00
Cameron Gutman
897f6fdd3e Improve handling of IPv6-only cases 2019-07-15 01:07:31 -07:00
Cameron Gutman
6f9c3fbc38 Add support for zero configuration IPv6 streaming 2019-07-14 17:56:57 -07:00
Cameron Gutman
b30058fc29 Fix pairing to Gen 3-5 servers 2019-07-05 21:04:04 -07:00
Cameron Gutman
a41cd0b070 Generate SHA-256 client certificates instead of SHA-1 2019-07-05 20:57:21 -07:00
Cameron Gutman
0a5051f959 Add Discord Rich Presence integration for Windows 2019-06-29 17:40:30 -07:00
Cameron Gutman
2c0e8a0ddf Send WoL packet to 48002 and 48010 to workaround ISP blocking of 7 and 9 2019-05-19 13:36:05 -07:00
Cameron Gutman
f1c7c5f02c Don't emit boxArtLoadComplete on box art load failure to prevent an infinite loop 2019-04-27 18:48:06 -07:00
Cameron Gutman
9c5d847dae Autodetect a Wayland environment and configure SDL correctly. Fixes #211 2019-04-21 18:31:11 -07:00
Cameron Gutman
082e330f9d Partially revert fa4c0e82bd because we'll need Qt initialized first to detect Wayland 2019-04-21 17:43:38 -07:00
Cameron Gutman
905a0cdac1 Make GFE-reported errors more clear 2019-04-07 12:21:05 -07:00
Cameron Gutman
2354a0a640 Fix unresponsive GUI on quit if a polling operation is in progress 2019-04-06 13:11:36 -07:00
Cameron Gutman
fa4c0e82bd Only initialize the video subsystem once per launch 2019-03-23 17:46:42 -07:00
Cameron Gutman
2703efedef Improve performance of looking up static system properties 2019-03-23 12:05:08 -07:00
Cameron Gutman
9a6f5ba1a8 Improve speed of process termination on exit 2019-03-17 12:23:13 -07:00
Cameron Gutman
37636ef1eb Allow other SSL errors as long as the cert is correct 2019-03-16 19:01:55 -07:00
Cameron Gutman
d2002b6a62 Fix SOPS issues causing 720p60 settings on non-standard resolutions and FPS values 2019-02-09 20:37:11 -08:00
Cameron Gutman
e944c819d9 Add prefix for NvLogLevel enum values 2019-01-19 21:32:35 -08:00
Cameron Gutman
75f631599c Ensure all polling threads are dead before destroying hosts, even ones that have been detached by stopPollingAsync() 2019-01-19 19:18:50 -08:00
Cameron Gutman
89c342bb6f Introduce more granular HTTP timeouts 2019-01-06 14:35:33 -08:00
Cameron Gutman
f2fdd048c7 Use stun.moonlight-stream.org for STUN 2019-01-04 20:16:27 -08:00
Cameron Gutman
5a2cfc15a6 Ensure WoL works properly on multi-homed hosts. Fixes #135 2019-01-04 20:05:31 -08:00
Cameron Gutman
34aacc90d7 Include version string in update tooltip 2019-01-03 18:00:54 -08:00
Cameron Gutman
d35c5bcaba Print socket errors when sending WoL packets 2019-01-01 19:20:09 -08:00
Cameron Gutman
c5d70c48c9 Fix QMap usage where insertion on read of missing value was not intended 2018-12-26 00:59:30 -08:00
Cameron Gutman
8be73142f8 Fix cert pinning on macOS 2018-12-25 21:15:59 -08:00
Cameron Gutman
d9a8d67e3d Use a shared UID for all Moonlight clients 2018-12-22 21:04:44 -08:00
Cameron Gutman
99b0a56a6a Add additional cert pinning assert 2018-12-22 20:05:45 -08:00
Cameron Gutman
61d7aa0400 Require cert pinning for HTTPS 2018-12-22 19:55:28 -08:00
Cameron Gutman
1e98594972 Handle server cert change by pairing again 2018-12-21 19:17:32 -08:00
Cameron Gutman
c6383f042c Pin server cert to host during pairing 2018-12-21 18:08:07 -08:00
Cameron Gutman
5029c855f0 Simplify app quitting implementation a bit 2018-12-05 19:49:06 -08:00
Janne Hakonen
0ab07303c9 Add quit cli command and app quit option after stream session. Fixes #92 (#138)
* Add quit cli command and app quit option after stream session. Fixes #92

* Code review fixes.
2018-12-05 18:45:28 -08:00
Cameron Gutman
1968461ce9 Allow HTTP redirects when checking for updates 2018-12-03 23:29:49 -08:00
Cameron Gutman
8aa3b5d3da Switch to new hostname 2018-12-03 21:48:49 -08:00
Cameron Gutman
011edfe2a0 Disable any usage of proxy servers 2018-11-04 14:15:53 -08:00
Cameron Gutman
9461ebec2d Log an error if STUN fails 2018-10-26 20:54:17 -07:00
Cameron Gutman
48d8a53cd6 Resolve WAN address using STUN if the PC is discovered over mDNS 2018-10-26 20:44:51 -07:00
Cameron Gutman
c04113c9fa Fix GCC and Clang build 2018-09-29 03:11:17 -07:00
Cameron Gutman
4620fa5001 Retry serverinfo query for adding a PC if the request fails with ServiceUnavailableError. Fixes #88 2018-09-29 03:01:49 -07:00
Cameron Gutman
ba7dd31035 Refactor ComputerManager and BoxArtManager to get code out of headers and split NvComputer into its own file 2018-09-29 02:19:44 -07:00
Cameron Gutman
e20bf3fbd9 Fix persistence of deleted PCs. Fixes #82 2018-09-21 20:21:49 -07:00
Cameron Gutman
7ac108f495 Reduce delay for PCs appearing online 2018-09-15 13:43:02 -07:00
Cameron Gutman
eed9fca10c Mass conversion of isNull() -> isEmpty() 2018-09-14 18:36:15 -07:00
Cameron Gutman
25d97e187a Fix large mouse input delay on GFE 3.14.0 and earlier. Fixes #68 2018-09-14 18:35:28 -07:00
Cameron Gutman
af17d56cbd Add option to disable mDNS PC discovery. Fixes #50 2018-09-09 12:33:19 -07:00
Cameron Gutman
ec2c181f4e Use 4 threads for fetching box art 2018-09-07 17:30:43 -07:00
Cameron Gutman
fae98eb13a Limit box art fetching to a single thread to improve UI responsiveness 2018-09-07 17:02:52 -07:00
Cameron Gutman
78730f7235 Wake host on a separate worker thread to avoid hanging the UI for DNS resolution 2018-09-05 16:10:32 -07:00
Cameron Gutman
8a8b624f47 Add logging for adding a PC and offline/online state transitions 2018-08-30 23:15:06 -04:00
Cameron Gutman
30f673efe1 Create Qt components with all parameters specified otherwise it will be instantiated with default properties 2018-08-16 23:29:46 -07:00
Cameron Gutman
38ff2bf5cb Store all files in the current directory for portable installations. Fixes #43 2018-08-16 21:04:47 -07:00
Cameron Gutman
0fb3bb0727 Add automatic update checking. Fixes #8 2018-08-09 22:51:27 -07:00
Cameron Gutman
e4d7d190e2 Suppress logging for applist queries 2018-08-05 17:03:05 -07:00
Cameron Gutman
36b42f6e50 Suppress log spam from serverinfo queries 2018-08-05 14:06:42 -07:00
Cameron Gutman
45ebf2ca7d Add log messages for server GPU, bitrate, and slices 2018-08-05 13:32:04 -07:00
Cameron Gutman
56277af5d1 Fix quit error message when another PC started the streaming session 2018-08-01 22:43:20 -07:00
Cameron Gutman
608db6a3e5 Implement support for quitting apps 2018-08-01 22:32:21 -07:00
Cameron Gutman
3ed5f9edf7 Implement C++ functions for quitting apps and querying running apps 2018-07-31 22:21:39 -07:00
Cameron Gutman
186579266c Fix Online -> Offline computer transition 2018-07-29 19:08:29 -07:00
Cameron Gutman
c31e7262b2 Fix decoding of non-ASCII characters 2018-07-26 22:15:52 -07:00
Cameron Gutman
b16aac0c06 Fix priority and formatting on many debug messages 2018-07-25 23:47:32 -07:00
Cameron Gutman
dc723a8da1 Fix strict aliasing violation 2018-07-21 19:16:08 -07:00
Cameron Gutman
b073c90f0f Fix build on OpenSSL 1.0.1 2018-07-21 19:02:12 -07:00
Cameron Gutman
519626a6d5 Fix compilation with Qt 5.9 2018-07-21 18:47:41 -07:00
Cameron Gutman
9c2befc386 Only require OpenSSL 1.1 on Apple platforms where SecureTransport requires keys from PEM_write_bio_PrivateKey_traditional() 2018-07-19 23:19:00 -07:00
Cameron Gutman
5ee1358712 Implement a proper destructor for ComputerManager to prevent polling threads from living beyond QGuiApplication 2018-07-18 21:27:43 -07:00
Cameron Gutman
a4ad58d9ec Fix some Clang static analysis warnings 2018-07-18 18:39:33 -07:00
Cameron Gutman
af503a9147 Fix spurious "Failed to connect to PC" dialogs for mDNS-discovered hosts 2018-07-13 22:38:58 -07:00
Cameron Gutman
c62fff8fc4 Fix uninitialized variables found by Valgrind 2018-07-13 02:50:02 -07:00
Cameron Gutman
a47f59d1a4 Properly manage the lifetime of polling in the AppView and PcView 2018-07-08 22:07:20 -07:00
Cameron Gutman
5a04a256e0 Add additional serverinfo attributes and check for 4K compatibility 2018-07-08 20:53:24 -07:00
Cameron Gutman
272aa6896e Fix unused member warning on Clang 2018-07-07 22:26:12 -07:00
Cameron Gutman
60ad95bb7b Start work on launching a stream from QML and rip out remaining QtWidgets 2018-07-07 16:30:26 -07:00
Cameron Gutman
d5cc07f107 Remove unused enum value to fix GCC warnings 2018-07-07 15:26:20 -07:00
Cameron Gutman
ecebf75b88 Implement manually adding PCs 2018-07-06 00:34:16 -07:00
Cameron Gutman
6687936e2f Implement pairing via GUI 2018-07-05 23:12:55 -07:00
Cameron Gutman
1b1ad86271 Keep a singleton ComputerManager outside of the Models 2018-07-05 22:08:55 -07:00
Cameron Gutman
bd986bfb21 Sort the app list in alphabetical order 2018-07-05 20:54:31 -07:00
Cameron Gutman
b0151da455 Add AppModel and AppView for loading apps and modify BoxArtManager to return QUrls for QML 2018-07-05 20:07:05 -07:00
Cameron Gutman
3a7d3c807e WIP Quick GUI work 2018-07-04 16:40:21 -07:00
Cameron Gutman
04c9a3a2eb Implement Wake-on-LAN 2018-07-03 22:11:21 -07:00
Cameron Gutman
5729f65138 Implement mDNS PC discovery 2018-06-30 23:07:31 -07:00
Cameron Gutman
4c75456aee Fix improper handling of polling thread termination 2018-06-28 03:52:42 -07:00
Cameron Gutman
0821c66d8c Rewrite streaming code to C++ and forklift most of the setup out of the GUI code 2018-06-28 01:44:43 -07:00
Cameron Gutman
7d14b2a2be Fix endianness issue with the RI key IV 2018-06-27 23:52:29 -07:00
Cameron Gutman
6fa4faa285 Rename http folder to backend to better align with the classes inside 2018-06-27 22:30:33 -07:00