Skip to content

Commit fb90a2f

Browse files
Merge pull request #87 from FrendsPlatform/FSPES-141
FSPES-141
2 parents 3fbd09b + 4f57148 commit fb90a2f

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

Frends.Files.Write/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## [1.5.0] - 2026-06-23
4+
### Fixed
5+
- Fix stale reads on network storage writes.
6+
37
## [1.4.0] - 2025-11-04
48
### Fixed
59
- Returning correct file size

Frends.Files.Write/Frends.Files.Write/Frends.Files.Write.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<TargetFramework>net6.0</TargetFramework>
55
<LangVersion>Latest</LangVersion>
6-
<Version>1.4.0</Version>
6+
<Version>1.5.0</Version>
77
<Authors>Frends</Authors>
88
<Copyright>Frends</Copyright>
99
<Company>Frends</Company>

Frends.Files.Write/Frends.Files.Write/Write.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,18 @@ private static async Task<Result> ExecuteWrite(Input input, Options options)
6464
var encoding = GetEncoding(options.FileEncoding, options.EnableBom, options.EncodingInString);
6565
var fileMode = GetAndCheckWriteMode(options.WriteBehaviour, input.Path);
6666

67-
await using var fileStream =
68-
new FileStream(input.Path, fileMode, FileAccess.Write, FileShare.Write, 4096, useAsync: true);
69-
await using (var writer = new StreamWriter(fileStream, encoding))
67+
await using var fileStream = new FileStream(
68+
input.Path, fileMode, FileAccess.Write, FileShare.Write, 4096, FileOptions.Asynchronous | FileOptions.WriteThrough);
69+
70+
await using (var writer = new StreamWriter(fileStream, encoding, leaveOpen: true))
7071
{
7172
await writer.WriteAsync(input.Content).ConfigureAwait(false);
73+
await writer.FlushAsync().ConfigureAwait(false);
7274
}
7375

76+
// Explicitly flush OS-level buffers
77+
fileStream.Flush(true);
78+
7479
return new Result(new FileInfo(input.Path));
7580
}
7681

0 commit comments

Comments
 (0)