Commit graph

79 commits

Author SHA1 Message Date
Cameron Gutman
49e0679864 Synchronize with possible concurrent writers to the NvComputer object 2023-10-01 17:46:27 -05:00
Cameron Gutman
0976bc39b3 Only reserialize hosts if a serializable attribute changed 2023-10-01 17:28:06 -05:00
Cameron Gutman
facd6e4e56 Revert "Batch delayed flushes to improve performance on macOS"
This reverts commit aa74e6930b.
2023-10-01 16:33:14 -05:00
Cameron Gutman
d2dc0aa1b1 Don't serialize apps for the host backup
This takes a ton of time on macOS and most of the data is just a local cache anyway
2023-10-01 16:13:22 -05:00
Cameron Gutman
aa74e6930b Batch delayed flushes to improve performance on macOS 2023-10-01 15:26:28 -05:00
Cameron Gutman
d165bf7498 Sort the host list 2023-09-03 16:20:29 -05:00
Cameron Gutman
a1d592bb87 Fix loss of all paired computers if Moonlight is terminated while writing the computer list 2023-09-02 16:43:25 -05:00
Cameron Gutman
d17cdbda93 Replace another QSharedPointer::get() call with Qt 5.10 alternative 2023-07-16 00:18:17 -05:00
Casey Korver
ea06ec0133 Correct spelling mistakes found with Codespell 2023-07-09 13:21:18 -05:00
Cameron Gutman
ef988cc8af Destroy the QMdnsEngine Server and Cache when not polling
These set background timers to refresh state, rebind sockets,
and refresh the cache. This is all stuff that we don't want to
be doing while streaming.
2023-06-21 00:54:11 -05:00
Cameron Gutman
5e6b60bae0 Fix handling of IPv6 literals with port numbers 2023-03-18 14:47:23 -05:00
Cameron Gutman
411998d4e3 Implement detection of local IPv6 addresses 2022-11-02 20:35:41 -05:00
Cameron Gutman
448633ec3c Fix some log messages with extra spaces 2022-11-02 19:25:44 -05:00
Cameron Gutman
a13f8e7937 Ensure delayed flushes complete during shutdown 2022-10-25 02:43:55 -05:00
Cameron Gutman
16a9ed682e Use a single flush thread for ComputerManager
Some QSettings backends don't like concurrent writes and using a
single thread improves write batching behavior.
2022-10-25 02:07:16 -05:00
Cameron Gutman
cebd3bf751 Save hosts on a separate thread
QSettings on macOS Ventura performs horribly when saving a lot of values
(like several hosts or a host with a large app list). This change considerably
improves UI performance by moving the long operation off the main thread.
2022-10-25 00:07:07 -05:00
Cameron Gutman
cb04925c6e Optimize locking in ComputerManager to reduce reader contention 2022-10-25 00:07:07 -05:00
Cameron Gutman
2a0f837120 Stop issuing further HTTP requests when quitting 2022-10-24 23:46:57 -05:00
Cameron Gutman
8d087ba5b1 Allow localization of pairing error strings 2022-10-12 22:20:15 -05:00
Cameron Gutman
c7a30d8728 Allow a pairing attempt even if the PC is busy
Pairing while busy doesn't work with GFE but works with Sunshine
2022-10-12 22:15:58 -05:00
Cameron Gutman
692942e5be Move PIN generation into ComputerManager to be shared with CLI pairing 2022-08-24 00:21:25 -05:00
Cameron Gutman
f4acd629a1 Save hosts immediately after pairing concludes to ensure the server cert is persisted 2022-08-24 00:20:22 -05:00
Cameron Gutman
48728efee0 Add support for dynamic HTTPS port 2021-07-03 00:00:27 -05:00
Cameron Gutman
043c55ae66 Add missing changes to fix build 2021-07-02 23:54:17 -05:00
Cameron Gutman
fa3f822cf1 Rework handling of addresses to allow alternate HTTP ports 2021-07-02 23:34:54 -05:00
Cameron Gutman
5afab126b3 Refactor NvPairingManager, NvComputer, and NvHTTP to reduce passing of addresses 2021-07-02 17:14:48 -05:00
Cameron Gutman
2fbb320539 Refuse to stream if Moonlight is known incompatible with the host GFE version 2021-04-30 20:05:49 -05:00
Cameron Gutman
1ebb5fefb1 Address Clazy warnings 2021-03-02 18:14:15 -06:00
Cameron Gutman
6e7a42065c Translation updates and refactoring 2020-11-21 13:15:54 -06:00
Cameron Gutman
d00c434ccc Don't try STUN for manually added PCs over VPNs 2020-09-02 22:56:59 -07:00
Cameron Gutman
4ada59ba48 Populate the external IP address when a PC is added manually using an RFC 1918 IPv4 address 2020-08-30 19:03:55 -07:00
Cameron Gutman
b81392b818 Add an option to disable the automatic connection testing 2020-08-08 18:29:36 -07:00
Cameron Gutman
ad08440023 Test for blocked ports when adding a PC fails 2020-08-08 18:11:25 -07:00
Cameron Gutman
539bf0cb30 Add support for hiding games
Fixes #255
2020-08-01 21:06:01 -07:00
Cameron Gutman
4408a3a354 Delete cached box art when the host is deleted 2020-05-29 21:44:38 -07:00
Cameron Gutman
b75f662c41 Add the ability to rename PCs 2020-05-01 18:34:15 -07:00
Cameron Gutman
13d68e789f Fix Clazy warnings 2020-02-24 17:44:21 -08:00
Cameron Gutman
bee622bcad Improve speed of initial PC status poll 2019-12-30 17:51:23 -06: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
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
9a6f5ba1a8 Improve speed of process termination on exit 2019-03-17 12:23:13 -07: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
f2fdd048c7 Use stun.moonlight-stream.org for STUN 2019-01-04 20:16:27 -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