Cameron Gutman
d1ccd19fcc
Make StreamingPreferences a proper singleton
...
This removes the need for several hacks in SettingsView to force updates and improves performance by not reloading preferences all over the place.
2024-04-14 13:01:30 -05:00
Cameron Gutman
9be782ae8e
Fix some harmless compiler warnings
2024-03-26 21:59:39 -05:00
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