Dan Balasescu
b44f77cee1
Update R# + fix inspections
2024-02-02 21:00:28 +09:00
Dean Herbert
d2990170d0
Add retry loop to avoid log export failing occasionally on windows
...
Closes https://github.com/ppy/osu/issues/26693 .
2024-01-25 13:53:36 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections
2023-10-17 17:48:51 +09:00
Bartłomiej Dach
e57d7d1205
Fix MemoryStreamArchiveReader.GetStream()
failing in some cases
...
`MemoryStreamArchiveReader` introduced in
0657b55196
would previously use
`MemoryStream.GetBuffer()` to retrieve the underlying byte buffer with
stream data. However, this is not generally the method you would want,
for two reasons:
1. It can fail if the stream wasn't created in the way that supports it.
2. As per
https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.getbuffer?view=net-7.0#system-io-memorystream-getbuffer ,
it will return the _raw_ contents of the buffer, including
potentially unused bytes.
To fix, use `MemoryStream.ToArray()` instead, which avoids both
pitfalls. Notably, `ToArray()` always returns the full contents of the
buffer, regardless of `Position`, as documented in:
https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.toarray?view=net-7.0#system-io-memorystream-toarray
2023-09-18 11:50:36 +02:00
Dean Herbert
541cd972e1
Rename ArchiveReader
implementations to read better
2023-09-14 13:36:07 +09:00
Dean Herbert
0657b55196
Avoid MemoryStream.ToArray
overhead in LegacyByteArrayReader
2023-09-14 13:33:25 +09:00
Dean Herbert
5e0b89a1a8
Rename GetPath
to GetFullPath
to better match expectations
2023-08-18 17:56:43 +09:00
Krzysztof Gutkowski
59abb59ee8
Set correct date added value when importing stable beatmapsets
2023-08-17 00:49:48 +02:00
Dean Herbert
d39ef48b71
Return null
intead of FileNotFoundException
on missing file in ZipArchiveReader
2023-08-03 09:01:11 +09:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dean Herbert
0fcf10e10a
Also support hard links on macOS
2022-12-29 22:35:13 +08:00
Bartłomiej Dach
74bc5d4666
Disable naming rule inspection on struct stat definition
2022-12-28 22:38:42 +01:00
Bartłomiej Dach
49b0ec9ddb
Fix broken condition
2022-12-28 22:24:18 +01:00
Bartłomiej Dach
8d79fa93ac
Implement GetFileLinkCount()
for Linux
2022-12-28 22:14:56 +01:00
Bartłomiej Dach
04d4b4a6ce
Rename and xmldoc hard link creation method
2022-12-28 22:04:05 +01:00
Bartłomiej Dach
cadd487c75
Use switch statement in AttemptHardLink()
2022-12-28 21:20:49 +01:00
BlauFx
53bca947d1
Move duplicated code into its own method
2022-12-28 14:34:27 +01:00
BlauFx
5c5e84f931
Fix formatiing
2022-12-28 14:06:50 +01:00
BlauFx
16165b1f67
Remove blank line
2022-12-28 13:58:52 +01:00
BlauFx
b2aa2e1602
Add hardlink support for Linux
2022-12-28 13:32:49 +01:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
Dean Herbert
192536643c
Fix some more inspections
2022-12-16 20:21:19 +09:00
Dean Herbert
a3c3112f89
Add SetLastError
hint to CreateHardLink
pinvoke method
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-12-14 11:34:06 +09:00
Dean Herbert
6bb612ce69
Move hard link availability check to helper class
2022-12-13 20:20:42 +09:00
Dean Herbert
bbf931c746
Move hard link helper functions to their own class
2022-12-13 19:55:18 +09:00
Dean Herbert
a8dee17513
Fix missing DummyRenderer
in skin resources tests
2022-08-08 13:06:01 +09:00
Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Dean Herbert
f743dc623f
Change migration logic to ignore realm pipe files regardless of database filename
2022-08-03 17:37:30 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dean Herbert
cc8a71b65d
Re-query file existence before failing a recursive copy operation during migration
2022-08-01 17:01:19 +09:00
Dean Herbert
59210ecc9d
Revert "Fix migration failing on single file copy failure"
...
This reverts commit fc8835d43a
.
2022-08-01 16:57:50 +09:00
Dean Herbert
fc8835d43a
Fix migration failing on single file copy failure
...
No longer throw if copying of single files fails during data migration.
Aiming to fix https://github.com/ppy/osu/runs/7601653833?check_suite_focus=true , which could also affect end users. I've left a limit before an exception is still thrown, to handle cases like the user running out of disk space (where we probably *do* want to bail, so they can continue to use their still-intact original storage location).
If this isn't seen as a good direction, an alternative will be to make the migration code aware of the structure of the temporary files created by `Storage` (but doesn't guarantee this will cover all cases of such temporary files – there could for isntance be metadata files created by the host operating system).
Another option would be to mark those temporary files as hidden and skip any hidden files during iteration.
2022-08-01 15:02:39 +09:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Dean Herbert
27ef7fc78e
Add log output for custom storage usage
...
Sometimes I am not sure where my osu! is reading files from. This should
help somewhat.
```csharp
/Users/dean/Projects/osu/osu.Desktop/bin/Debug/net6.0/osu!
[runtime] 2022-07-13 07:22:03 [verbose]: Starting legacy IPC provider...
[runtime] 2022-07-13 07:22:03 [verbose]: Attempting to use custom storage location /Users/dean/Games/osu-lazer-2
[runtime] 2022-07-13 07:22:03 [verbose]: Storage successfully changed to /Users/dean/Games/osu-lazer-2.
[runtime] 2022-07-13 07:22:05 [verbose]: GL Initialized
```
2022-07-13 16:22:51 +09:00
Dean Herbert
66f314915d
Fix crash on mobile releases when attempting to read any file
2022-07-09 06:01:22 +09:00
Dean Herbert
c2f1069073
Avoid usage of finally
in potentially hot path
2022-07-06 19:55:51 +09:00
Dean Herbert
01bc6e5cb7
Revert old behaviour of ReadToEnd
2022-07-06 19:55:51 +09:00
Dean Herbert
12d396a513
Use -1
to specify default buffer size
2022-07-06 15:43:35 +09:00
Dean Herbert
a52ea3cabe
Enable NRT and simplify LineBufferedReader
2022-07-06 14:57:56 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Salman Ahmed
ee8045d507
Add failing test case
2022-06-15 07:33:21 +03:00
Dean Herbert
82a1ba1d46
Use pooled memory for memory copies performed by ZipArchiveReader
2022-05-30 20:22:26 +09:00
Dean Herbert
c587d10cc3
Revert storage workaround
2022-05-21 15:55:07 +09:00
Dean Herbert
72386d9377
Fix incorrect storage being used in CreateFileSafely
implementation
2022-05-21 15:17:10 +09:00
Dean Herbert
5bf17dde9f
Fix missing MutatePath
calls
2022-05-21 14:43:35 +09:00
Dean Herbert
f78eb0066c
Update Storage
in line with new methods
2022-05-16 17:51:12 +09:00
Huo Yaoyuan
80e312dbbc
Remove unused binary serialization related code.
2022-04-12 20:29:13 +08:00
Huo Yaoyuan
bf677ad0ac
Remove usages of BinaryFormatter.
2022-04-12 20:28:14 +08:00
Dean Herbert
975883da5c
Move all usages of client.realm
filename to a single const
2022-03-30 13:34:48 +09:00