Commit Graph

237 Commits

Author SHA1 Message Date
tt2468
0c2e40263a WebSocketServer: Remove QtConcurrent dependency
We can avoid requiring QtConcurrent by using QRunnables. Thanks to
micolous for the idea.
2021-09-24 18:11:31 -07:00
tt2468
78d02696d0 Utils: Add retrocompatability header
QRunnable::create was added in Qt 5.15, but Ubuntu still uses 5.12.
This reimplements that functionality until Ubuntu moves to >= 5.15
2021-09-24 18:10:17 -07:00
tt2468
7a888c2f92 Config: Add more logging
Good to have
2021-09-24 18:09:46 -07:00
tt2468
342164dfb5 Forms: Use QHideEvent instead of QCloseEvent
QCloseEvent is the wrong event to use here. If the `Ok` button is
pressed for example, QCloseEvent is not emitted. QHideEvent is
always called when the dialog is hidden.
2021-09-17 03:00:33 -07:00
tt2468
a4e62acf25 Forms: Update ConnectInfo on settings apply instead of close
Just for better usability
2021-09-17 02:54:29 -07:00
tt2468
d811c95e10 Requests: Add some more failure checks and improve response codes 2021-09-17 02:43:20 -07:00
tt2468
eebcc25115 Requests: Add unpublished RemoveInput
The functionality depends on obs-studio#5276 to be merged and released,
so we can add it but not enable it for now.
2021-09-17 02:42:58 -07:00
tt2468
c9fa09edc4 Config/Base: Refactor with fixes
Fixes these things:
- Websocket password is not generated if FirstLoad and overridden
- Save generated password immediately if FirstLoad
- Do not generate new password if FirstLoad and password already exists
- More logging
2021-09-17 02:25:30 -07:00
tt2468
69ccc99921 Utils/UI: Make GeneratePassword() use std::string
Just for consistency
2021-09-17 02:09:44 -07:00
tt2468
a5a19b9952 Utils/Crypto: Use QRandomGenerator instead of qrand()
qrand() is obsolete, and QRandomGenerator produces numbers seeded from
the platform's RNG source. Makes our authentication system way more
secure too.
2021-09-17 02:00:30 -07:00
tt2468
66ff329da4
Config: Fix typo 2021-09-15 03:46:52 -07:00
Dominik Nakamura
d20c0d0da7
Reqeusts: Fix wrong validation in ValidateBasic 2021-09-06 10:48:01 +09:00
tt2468
b9b8e38998 WebSocketServer: Remove ignoreNonFatalRequestChecks from session params 2021-09-04 10:57:00 -07:00
tt2468
e89c0c2b05 Base: More code cleanup and fixes 2021-09-04 10:47:51 -07:00
tt2468
7e1e1bc33c Base: Large plugin refactor
- Merge WebSocketProtocol into WebSocketServer
  - Having them separated was not doing anything productive
- Request: Move SessionPtr to RequestHandler
  - Less copying to do for batch requests
- Fully modularize EventHandler
  - Make BroadcastEvent a stored callback that WebSocketServer sets
- Return early on high volume events to avoid unnecessary compute
  - These events will only generate a json object when it is actually
needed
2021-09-04 10:04:00 -07:00
tt2468
537595658d Requests: Add GetSceneItemTransform 2021-09-03 15:59:09 -07:00
tt2468
c43d829845 Events: Complete SceneItemTransformChanged 2021-09-03 15:58:50 -07:00
tt2468
3d2fb65357 Utils: Add GetSceneItemTransform 2021-09-03 15:58:34 -07:00
tt2468
96dcc49adb Requests: More requests and code cleanup
(plus very slight performance improvement)
2021-09-03 12:52:50 -07:00
tt2468
25b3bd44ba RequestHandler/RPC: Improve code efficiency and add optionals 2021-09-03 12:52:15 -07:00
tt2468
bcdb8ee352 Events: Fix SceneItemListReindexed event name 2021-09-03 08:59:09 -07:00
tt2468
333737f400 Requests: Additions and code cleanup 2021-09-02 19:29:13 -07:00
tt2468
82d8a3d7ce Utils: Add stuff to Obs 2021-09-02 19:28:55 -07:00
tt2468
d7f96b6dea Revert "Request: Minor code cleanup"
This reverts commit c16669c7b0.
2021-09-02 13:33:20 -07:00
tt2468
c16669c7b0 Request: Minor code cleanup 2021-09-02 13:25:17 -07:00
tt2468
0269209d59 Requests: Use OBS naming for monitorType enum 2021-09-02 11:24:48 -07:00
tt2468
9a8587d6df Requests: Check for last scene in RemoveScene 2021-09-01 10:43:36 -07:00
tt2468
8a45560297 Utils: Add GetSceneCount() 2021-09-01 10:43:24 -07:00
tt2468
fb0656c31e RequestHandler: Simplify request statuses 2021-09-01 10:30:40 -07:00
tt2468
26bef074ac EventHandler: Add (disabled) InputAudioMonitorTypeChanged event 2021-08-31 06:39:09 -07:00
tt2468
e18aaff661 RequestStatus: Add new statuses to replace old soon 2021-08-31 06:38:55 -07:00
tt2468
4271730dc2 Requests: Add more requests 2021-08-30 13:55:22 -07:00
tt2468
b86107a699 Base: Add OBSPropertiesAutoDestroy 2021-08-30 13:55:05 -07:00
tt2468
a40160e305 WebSocketServer: Use Sec-WebSocket-Protocol for json/msgpack 2021-08-30 09:59:59 -07:00
tt2468
b58f6e8366 WebSocketServer: Remove unnecessary string usage 2021-08-30 04:46:59 -07:00
tt2468
1ecf2a4fdb CMakeLists: Allow specifying version suffix string 2021-08-30 02:50:02 -07:00
tt2468
292b2b0d3b Base: Remove generated plugin macros file 2021-08-30 02:49:43 -07:00
tt2468
f37edbd71c EventHandler: Include required event intent in emit 2021-08-30 01:39:46 -07:00
tt2468
78f9c93739 Requests: Fix global realm storage on persistent data req's 2021-08-30 01:32:22 -07:00
tt2468
96c5818395 ConnectInfo: Update QR code format 2021-08-30 01:11:29 -07:00
tt2468
a37cfb3e5b
WebSocketProtocol: Fix Identified OpCode responses 2021-08-28 07:10:03 -07:00
tt2468
03e32c8b5e Base: Major protocol refactor
As discussed in the #development channel in discord
- Switch from using message types to integer op codes
- Consolidate op-specific keys into `d` sub-object
- Shorten low-level payload keys from `messageType` to `op`, add `d`

Other changes:
- The WebSocketCloseCode enum has been refactored. It's best to just
treat it like it's new
- Some performance benefits came along the way. Nothing gamechanging,
but notable
- Various bug fixes discovered while refactoring
2021-08-28 05:02:24 -07:00
tt2468
91fadf505f Base: Overwrite bad define 2021-08-27 06:24:30 -07:00
tt2468
ade9653ed6 Base: Only include required util namespaces 2021-08-27 04:34:06 -07:00
tt2468
0547e1f2da Base: Lots of changes 2021-08-27 04:19:42 -07:00
tt2468
16697fb65e Requests: Add more requests 2021-08-27 02:33:33 -07:00
tt2468
fc08828773 Base: Update QMainWindow cast 2021-08-27 01:20:13 -07:00
tt2468
251e3a28c1 Requests: Reorder some requests 2021-08-26 23:29:55 -07:00
tt2468
bd289ae751 Requests: Rename slotData to slotValue to align with other profile parameters 2021-08-26 23:11:24 -07:00
tt2468
7c5c0f42da Requests: Merge global and profile persistent data requests
The code was largely shared, so it made more sense to just merge the
requests and create realms.
2021-08-26 23:06:23 -07:00