Cody Robibero
a8a9f66878
standardize docs
2024-02-28 17:39:09 -07:00
Cody Robibero
c5e723bccd
Add support for converting from svg to other image types
2024-02-28 09:56:02 -07:00
Cody Robibero
0bc41c015f
Store lyrics in the database as media streams ( #9951 )
2024-02-26 05:09:40 -07:00
Bond-009
1dfaa171a9
Merge pull request #10934 from dkacperski97/session-shuffle-mode
...
Add PlaybackOrder to Session state
2024-02-21 19:56:07 +01:00
Cody Robibero
31715c6b8a
Merge pull request #10981 from barronpm/livetv-listingsmanager
...
Add IListingsManager Service
2024-02-20 10:44:46 -08:00
Robert Lützner
2bd85df383
Add missing MIME types for comicbook formats ( #11010 )
...
* Correct MIME types for comicbook file extensions
cb7, cba, cbr, cbt and cbz all refer to different types of digital
comicbooks. The last letter of the extension indicates the compression
algorithm that was used: 7zip, arc, rar, tar or zip.
All these filetypes used to have the `application/x-cbr` MIME type
assigned to them. However, that has since been deprecated and was
replaced with
- `application/vnd.comicbook-rar` for rar compressed files and
- `application/vnd.comicbook+zip` for rar compressed files.
Only these two are officially listed by IANA
https://www.iana.org/assignments/media-types/application/vnd.comicbook+zip
. cbr and cbz are by far the most common file extensions for comicbooks.
There's no official MIME type for cb7, cba or cbt files. However, with
rar being a proprietary compression algorithm, FOSS applications will
often refuse to handle files that identify themselves as
`application/x-cbr`, so I decided to assign extension specific MIME
types to them. I've seen these being used by other applications,
specifically comic book readers.
I've read through the docs on iana.org, but haven't figured out why they
chose `-rar`, but `+zip`.
* Add conversions from MIME type to file extensions for comicbook formats
cb7, cba, cbr, cbt and cbz all refer to different types of digital
comicbooks. The last letter of the extension indicates the compression
algorithm that was used: 7zip, arc, rar, tar or zip.
All these filetypes used to have the `application/x-cbr` MIME type
assigned to them. However, that has since been deprecated and was
replaced with
- `application/vnd.comicbook-rar` for rar compressed files and
- `application/vnd.comicbook+zip` for rar compressed files.
Only these two are officially listed by IANA
https://www.iana.org/assignments/media-types/application/vnd.comicbook+zip
. cbr and cbz are by far the most common file extensions for comicbooks.
There's no official MIME type for cb7, cba or cbt files. However, with
rar being a proprietary compression algorithm, FOSS applications will
often refuse to handle files that identify themselves as
`application/x-cbr`, so I decided to assign extension specific MIME
types to them. I've seen these being used by other applications,
specifically comic book readers.
* Update CONTRIBUTORS.md
2024-02-15 23:15:14 +01:00
gnattu
5c743f2b4d
feat: separate videotoolbox tone mapping option
...
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:16:59 +08:00
felix920506
aaa9345a53
Correct m4b mimetype ( #10980 )
2024-02-10 21:39:30 -07:00
Damian Kacperski
59a9586dbd
Add PlaybackOrder to Session state
2024-02-09 20:41:32 +01:00
Patrick Barron
42b052a5a6
Add IListingsManager service
2024-02-08 15:20:46 -05:00
Bond-009
e50170a417
Merge pull request #10973 from nielsvanvelzen/api-dep-fixes
...
Fix some incompatible API deprecations
2024-02-07 19:32:17 +01:00
Bond-009
143ef71528
Merge pull request #10969 from barronpm/progress-cleanup
...
Progress cleanup
2024-02-07 16:24:36 +01:00
Niels van Velzen
be29b4a0c4
Fix some incompatible API deprecations
2024-02-06 22:23:31 +01:00
Patrick Barron
6d8062116c
Remove some unused model code
2024-02-06 10:15:29 -05:00
nyanmisaka
be265cd87f
Add EqualsAny for VideoCodecTag condition
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-05 23:41:43 +08:00
nyanmisaka
d423efd2ea
Add a new HWA type RKMPP
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-01 18:59:27 +08:00
Cody Robibero
e7b8d45bbb
Use helper function to compare guid ( #10825 )
2024-01-17 08:51:39 -07:00
Patrick Barron
c101d287f2
Remove unused Live TV code
2024-01-15 13:29:55 -05:00
Patrick Barron
68fd9c469f
Remove DLNA-specific DeviceProfile code ( #10850 )
...
* Remove DLNA-specific methods from DeviceProfile
* Remove DLNA-specific fields from DeviceProfile
* Remove unused DLNA models
2024-01-12 09:24:32 -07:00
Mohamed Akram
f49de51225
Detect audio spatial format ( #9996 )
...
* Detect audio spatial format
* Update MediaBrowser.Model/Entities/MediaStream.cs
* Update MediaStream.cs
---------
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-01-06 14:11:08 -07:00
TelepathicWalrus
7b5c41c2a5
Add option to use replaygain tags for audio ( #10566 )
...
* Add option to use replaygain tags for audio
* Change regex to be specific
* Use ffprobe for faster metadata grabs
* Change regex to .Match
2024-01-06 13:59:56 -07:00
Niels van Velzen
55916a09eb
Remove some unused client capabilities and sync code ( #10812 )
2024-01-06 13:33:48 -07:00
Bond-009
21374775e5
Merge pull request #10422 from scampower3/api-update
...
Update /Device endpoint to return CustomName
2023-12-18 21:06:30 +01:00
Bond-009
24cbd64450
Merge pull request #10573 from arabcoders/master
...
Add new API endpoint to view/update Item UserData
2023-12-15 18:00:50 +01:00
Patrick Barron
0d5bbfda32
Remove unused DLNA models ( #10685 )
...
* Remove unused DLNA models
* Remove IDlnaManager
2023-12-06 16:06:42 -07:00
Bond-009
cc276838b4
Merge pull request #10558 from barronpm/dlna-plugin2
...
Move DLNA to Plugin (Part 2)
2023-11-30 17:40:06 +01:00
Claus Vium
0be2817ccb
Merge pull request #10371 from Pithaya/feat/book-persons
...
Allow persons on books
2023-11-23 23:09:06 +01:00
Abdulmohsen
9d5dc4d71b
Merge branch 'jellyfin:master' into master
2023-11-24 00:00:53 +03:00
ArabCoders
324c86e14d
Made key & itemId nullable
2023-11-23 14:37:37 +03:00
ArabCoders
22c90141e7
Made UpdateUserItemDataDto standalone object.
2023-11-23 12:14:31 +03:00
Patrick Barron
e46e3be667
Remove DLNA socket code
2023-11-15 20:54:03 -05:00
Bond_009
faa22cdb84
Update deps
...
* Removes SourceLink as it should work automagically with .NET 8
2023-11-16 00:50:48 +01:00
Bond_009
efec6e7a23
Address review comment
2023-11-15 15:22:51 +01:00
ArabCoders
c4013d2e10
Updated the summary and the Dto name.
2023-11-15 13:55:14 +03:00
Bond_009
635d67d458
Revert "Use System.Net.IPNetwork"
...
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Bond_009
b62b0ec2b5
Fix warnings
2023-11-14 21:14:21 +01:00
Bond_009
99e0d46ad9
Use System.Net.IPNetwork
2023-11-14 21:13:51 +01:00
Bond_009
eb022c49cc
Update to .NET 8
2023-11-14 21:12:16 +01:00
Pithaya
eb2bcc91c5
Merge branch 'master' into feat/book-persons
2023-11-13 18:07:23 +01:00
ArabCoders
07db2025a1
Refactored the code to not use reflection.
2023-11-13 17:32:24 +03:00
ArabCoders
2a25c5a2e3
Refactored api call logic handling.
2023-11-13 15:51:06 +03:00
ArabCoders
bce22fcc2a
Added new API endpoint to update User item data
2023-11-12 17:52:24 +03:00
Bond-009
4288106acd
Merge pull request #9762 from crobibero/media-type
...
Convert string MediaType to enum MediaType
2023-11-12 12:17:46 +01:00
Chris H
3fd505a454
Validate AuthenticationProviderId and PasswordResetProviderId ( #10553 )
2023-11-10 07:51:44 -07:00
Cody Robibero
892973a9e3
Merge branch 'master' into media-type
2023-11-09 22:03:55 -07:00
Cody Robibero
906f701fa8
Convert CollectionType, SpecialFolderType to enum ( #9764 )
...
* Convert CollectionType, SpecialFolderType to enum
* Hide internal enum CollectionType values
* Apply suggestions from code review
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
* Fix recent change
* Update Jellyfin.Data/Attributes/OpenApiIgnoreEnumAttribute.cs
Co-authored-by: Patrick Barron <barronpm@gmail.com>
---------
Co-authored-by: Shadowghost <Shadowghost@users.noreply.github.com>
Co-authored-by: Patrick Barron <barronpm@gmail.com>
2023-11-09 14:00:29 -07:00
Cody Robibero
c7a94d48ae
Convert ItemSortBy to enum ( #9765 )
...
* Convert ItemSortBy to enum
* Rename Unknown to Default
2023-11-09 14:00:13 -07:00
Bond_009
a9ef103c95
Add IDisposableAnalyzers to more projects
2023-11-05 02:01:14 +01:00
Claus Vium
0973f1e0ba
Merge pull request #10357 from herby2212/kill-inactive-streams-v2
...
Add auto close of an inactive session after X minutes
2023-10-27 09:47:43 +02:00
Claus Vium
db4605609c
Merge pull request #10410 from Ch1nkara/add-users-permission-to-edit-subtitles
...
add EnableSubtitleManagement permission
2023-10-27 09:44:52 +02:00
herby2212
6c5a4a93cc
fix indentation after merge
2023-10-21 11:49:01 +02:00
herby2212
27ceee8b6c
update to current master to resolve merge conflict
2023-10-21 01:20:59 +02:00
Nick
cd662506a1
Merge branch 'master' into trickplay
2023-10-18 19:27:05 -07:00
chinkara
9f259aa404
add EnableSubtitleManagement permission
2023-10-18 18:31:31 +02:00
Bond-009
84bbf757fa
Merge pull request #10366 from goremykin/fix-resharper-warnings
2023-10-17 14:31:35 +02:00
Bond-009
59ac548128
Merge pull request #10270 from crobibero/chromecast-config
2023-10-17 14:29:19 +02:00
LJQ
259fe4522c
Update /Device endpoint to return CustomName
2023-10-17 17:25:41 +08:00
Stepan Goremykin
8d7e4229ca
Merge branch 'master' into fix-resharper-warnings
...
# Conflicts:
# Emby.Server.Implementations/Net/SocketFactory.cs
# RSSDP/SsdpCommunicationsServer.cs
# RSSDP/SsdpDeviceLocator.cs
# RSSDP/SsdpDevicePublisher.cs
2023-10-12 20:11:16 +02:00
Bond-009
26571a8c51
Deprecate CanLaunchWebBrowser ( #10381 )
...
It's been a while since I removed this feature from server not sure why it's
in the api anyway. The macOS and Windows app have this functionality
2023-10-10 17:51:15 -06:00
Tim Eisele
dc27d8f9cd
Refactor URI overrides ( #10051 )
2023-10-11 00:02:37 +02:00
Cody Robibero
6bd6fb6e0a
Merge branch 'master' into chromecast-config
...
# Conflicts:
# Emby.Server.Implementations/ApplicationHost.cs
2023-10-10 15:59:34 -06:00
Cody Robibero
2920611ffc
Convert string MediaType to enum MediaType
2023-10-10 15:57:15 -06:00
Bond_009
c707baed83
Jellyfin.Drawing minor improvements
...
Reduce duplicate/dead code
2023-10-08 17:10:04 +02:00
Pithaya
e6bb86e649
Add a Book ExternalIdMediaType
2023-10-08 01:08:57 +02:00
Stepan Goremykin
47254d6a22
Remove conditional access when it is known to be not null
2023-10-08 00:46:15 +02:00
herby2212
db5c2f738e
integrate development from v1
2023-10-07 21:18:21 +02:00
Patrick Barron
78e00578c2
Use DI for IFileSystem
2023-10-03 10:25:14 -04:00
Cody Robibero
ba7e3bfd82
Migrate to customizable cast receiver config
2023-09-23 11:04:53 -06:00
Bond_009
767a42fbdb
Minor LibraryMonitor improvements
...
* Enable nullable
* Add a fast return to ReportFileSystemChanged when path should be ignored
* Use Span overloads of Path.* functions where possible
* IFileSystem: remove NormalizePath as Path.TrimEndingDirectorySeparator already checks if it's a root path
2023-09-13 17:30:50 +02:00
Bond-009
3087881d93
Merge pull request #10056 from Bond-009/nullable2
2023-09-12 11:09:20 +02:00
Bill Thornton
9c64f94458
Add option to include resumable items in next up requests
2023-09-06 00:35:32 -04:00
Bond_009
18a311d32f
== null -> is null
2023-08-22 21:14:54 +02:00
Bond_009
d92e9ae85e
Enable nullable for more files and add tests
...
Adds basic tests for FFProbeVideoInfo.CreateDummyChapters
Fixed error message CreateDummyChapters instead of reporting the total minutes it only reported the minute component
2023-08-22 18:11:34 +02:00
sleepycatcoding
62be2a2ea9
Fix subtitle encoder if webvtt is requested
2023-08-02 15:15:41 +03:00
Bond_009
5677566a41
Enable nullable for more files
2023-07-29 21:35:38 +02:00
MBR#0001
82d79d2dff
Add support for more remote subtitle info
2023-07-23 21:11:15 +02:00
Bond-009
b95fa294c9
Merge pull request #9799 from Bond-009/genregex
2023-07-06 19:56:00 +02:00
Joshua M. Boniface
93b400343e
Merge pull request #8147 from Shadowghost/network-rewrite
2023-07-03 13:16:21 -04:00
Claus Vium
bfb7c60f72
Merge pull request #9447 from Bond-009/disablerealtimemonitor
...
Disable real time monitoring by default
2023-07-01 19:33:53 +02:00
Nick
6d9e43cfe0
Merge branch 'master' into trickplay
2023-06-28 21:43:23 -07:00
Bond-009
e53e53eb29
Merge pull request #9907 from nyanmisaka/av1e
2023-06-28 17:34:20 +02:00
Bond-009
4ac07f6c76
Merge pull request #9890 from Shadowghost/videorange-rework
2023-06-28 17:30:26 +02:00
Bond_009
b5f0760db8
Use RegexGenerator where possible
2023-06-28 17:07:57 +02:00
Shadowghost
20a4509991
Migrate VideoRange and VideoRangeType to Enum
2023-06-28 12:02:20 +02:00
Shadowghost
a6e9824e8a
Merge branch 'master' into network-rewrite
2023-06-27 16:15:57 +02:00
Niels van Velzen
a8486a7b3b
Add default value to OpenAPI specification for UserPolicy.EnableCollectionManagement
...
This fixes a breaking API change during authentication
2023-06-27 14:00:02 +02:00
Nick
fc61933748
Minor code changes
2023-06-26 22:04:39 -07:00
Nick
ab20ceaad6
Migrate to trickplay table to EF. Rename vars/methods/members to have consistent use of tile and thumbnail
2023-06-26 17:40:10 -07:00
Nick
07e6804f7a
Change default threads to 1
2023-06-22 16:23:52 -07:00
Nick
3377032228
crobibero styling, format, code suggestions
2023-06-22 16:23:52 -07:00
Nick
b89bf5d735
Change defaults
2023-06-22 16:23:52 -07:00
nicknsy
2e2085a212
HashSet datatype was causing default values to always be added on server start
2023-06-22 16:23:51 -07:00
nicknsy
d84370a6f7
Make trickplay response ids have no dashes
2023-06-22 16:23:51 -07:00
nicknsy
6744e712d3
Use config values
2023-06-22 16:23:51 -07:00
nicknsy
6c649a7e72
Options
2023-06-22 16:19:59 -07:00
nicknsy
31a858f520
IsAutomated not set on copy
2023-06-22 16:19:59 -07:00
nicknsy
ca7d1a1300
Trickplay generation, manager, storage
2023-06-22 16:19:59 -07:00
Bond-009
a1eb2f6ea8
Merge pull request #9915 from Bond-009/stylecop
2023-06-22 13:26:18 +02:00
Bond-009
3982b0e057
Reduce bottlenecks scan code ( #9863 )
2023-06-21 21:01:47 -06:00
Bond_009
b84eedd0b9
Update stylecop.analyzers to v1.2.0-beta.507
2023-06-22 00:39:32 +02:00
Shadowghost
67a58df1a3
Merge branch 'master' into network-rewrite
2023-06-21 07:57:00 +02:00
Bond-009
143f2abd38
Merge pull request #9894 from fhriley/fix_hardcoded_timer
2023-06-20 18:23:47 +02:00
nyanmisaka
990bcc507f
Remove unused lines
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
be01aeecd9
Add AV1 hardware and software encoding
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
nyanmisaka
0df6fd9cf2
Add AV1 support in HLS streaming
...
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-06-20 03:50:02 +08:00
Frank Riley
1952a915e6
Move hardcoded LibraryUpdateDuration to ServerConfiguration. Fixes #9893 .
...
Signed-off-by: Frank Riley <fhriley@gmail.com>
2023-06-19 07:31:22 -07:00
Dominik
dbe44a591c
Pick safer default value for segments to keep
2023-06-15 21:38:45 +02:00
Dominik
0dffe64489
Add baseUrlParam back in and fix indentation
2023-06-15 19:55:11 +02:00
Dominik
17f1e8d19b
Merge branch 'master' into segment-deletion
2023-06-15 19:38:42 +02:00
Shadowghost
32499f0e98
Merge branch 'master' into network-rewrite
2023-06-15 17:53:52 +02:00
Dmitry Lyzo
14d061f543
Backport pull request #9723 from jellyfin/release-10.8.z
...
Fix multiple codec checking in CodecProfiles conditions
Original-merge: bec8d7b3f5
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:55:16 -04:00
nyanmisaka
4c8d382765
Backport pull request #9642 from jellyfin/release-10.8.z
...
Fix the brightness of VPP tonemap and add the tonemap mode
Original-merge: d5a8419bc5
Merged-by: Cody Robibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:53:35 -04:00
nyanmisaka
ed88c8bd2d
Backport pull request #9411 from jellyfin/release-10.8.z
...
Fix codec checking in CodecProfiles conditions
Original-merge: 5921379a29
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
2023-06-13 10:44:06 -04:00
Cody Robibero
9a0dfc00f1
Add all websocket messages to generated openapi spec ( #9682 )
...
* Add all websocket messages to generated openapi spec
* Use oneOf
* JsonIgnore ServerId
* Oops
* Add discriminators
* Add WebSocketMessage container for Inbound and Outbound messages
2023-06-10 07:28:21 -06:00
Shadowghost
006b04dc0b
Merge branch 'master' into network-rewrite
2023-06-07 08:25:32 +02:00
Niels van Velzen
d23578c46f
Make LUFS property nullable in BaseItemDto
...
This fixes a regression from #9222 where the LUFS field in the OpenAPI spec was not nullable. This will cause issues with the Kotlin SDK.
2023-06-06 17:51:26 +02:00
cvium
716bcc6410
chore: deprecate EasyPassword as it isn't very secure
2023-05-26 19:40:40 +02:00
Shadowghost
d8d5c86d49
Merge branch 'master' into network-rewrite
2023-05-25 17:07:43 +02:00
TelepathicWalrus
603fce59df
Audio normalization ( #9222 )
...
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-05-15 13:12:24 +02:00
herby2212
ace89e4597
fix formatting and update summary
2023-05-14 15:05:03 +02:00
Shadowghost
6cc1203c1b
Merge branch 'master' into network-rewrite
2023-05-09 15:25:41 +02:00
herby2212
e1190d15d6
option to disable and configure inactive session threshold
2023-05-01 20:11:22 +02:00
Stepan Goremykin
910617bbc3
Remove redundant 'else' keywords
2023-04-06 19:38:34 +02:00
Stepan Goremykin
7d7e177265
Remove redundant casts
2023-04-06 19:17:28 +02:00
Stepan Goremykin
26958162d0
Remove unused using directives
2023-04-06 19:17:28 +02:00
Bond-009
9c500bdca3
Merge pull request #9466 from Shadowghost/playlist-fix
2023-03-28 10:58:48 +02:00
Cody Robibero
89be3aa37f
Convert Person.Type to use PersonKind enum ( #9487 )
2023-03-25 11:52:02 -06:00
Bond-009
2ce08eb184
Merge pull request #9388 from Shadowghost/output-bitrate-channels-master
2023-03-20 17:46:11 +01:00
Shadowghost
e57c33c442
Add DCA and TrueHD to fMP4 audio codecs to support remuxing
2023-03-19 15:07:01 +01:00
Shadowghost
520c07e8ca
Merge branch 'master' into network-rewrite
2023-03-16 11:07:22 +01:00
Bond-009
cf1cb2eea5
Merge pull request #9418 from Bond-009/getawaiter
2023-03-15 18:30:03 +01:00
Bond-009
0c6e2e27a8
Merge pull request #9460 from Shadowghost/rating-overhaul
2023-03-15 12:09:59 +01:00
Shadowghost
21dcf775be
Add config option to disable dummy chapter generation ( #9410 )
2023-03-14 16:20:12 -06:00
Bond_009
d8ec3a5470
Reduce usage of GetAwaiter().GetResult()
2023-03-14 12:05:49 +01:00
Shadowghost
76ae599bd3
Fix playlist creation and removal
2023-03-10 19:16:35 +01:00
Bond-009
6351d1022b
Merge pull request #9254 from Shadowghost/dvdbdfix
2023-03-10 15:48:35 +01:00
Shadowghost
0da5255f12
Apply review suggestions
2023-03-10 15:27:17 +01:00
Shadowghost
47aa07c342
Fix DLNA playback of DVD and BD folders
2023-03-10 15:27:17 +01:00
Shadowghost
2403a0a367
Apply review suggestions
2023-03-10 15:27:05 +01:00
nyanmisaka
638bda629b
Backport pull request #9391 from jellyfin/release-10.8.z
...
Fix H.264 baseline hwaccel and enable enhanced Nvdec by default
Original-merge: 22a8283a9e
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:35:54 -05:00
Shadowghost
65090ac817
Backport pull request #9351 from jellyfin/release-10.8.z
...
Fix EqualsAny condition check for int and double
Original-merge: e8b0ae07af
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: crobibero <cody@robibe.ro>
2023-03-09 19:33:51 -05:00
Shadowghost
daefdaf8b0
Extend language code handling
2023-03-09 14:38:20 +01:00
Bond_009
dab75d35d2
Enable nullable for more files
2023-03-07 21:51:48 +01:00
Bond_009
891e2495c9
Disable real time monitoring by default
2023-03-07 17:59:29 +01:00
Shadowghost
80b8661008
Merge branch 'master' into network-rewrite
2023-03-03 10:42:24 +01:00
Shadowghost
c760a50d59
Apply review suggestions
2023-02-27 16:03:12 +01:00
Shadowghost
9880a2b3e1
Enforce HLS codec restrictions
2023-02-27 10:38:50 +01:00
knackebrot
aa99aaebc4
Add audio vbr calculation
2023-02-26 22:37:01 +01:00
Shadowghost
a5f16136eb
Apply review suggestions
2023-02-20 16:58:22 +01:00
Shadowghost
c5a363a007
Merge branch 'master' into network-rewrite
2023-02-20 11:58:14 +01:00