Browse Source

fix log viewer on windows (#1095)

* fix log viewer on windows

* catch cancellation on trakt page

* update changelog
pull/1096/head
Jason Dove 3 years ago committed by GitHub
parent
commit
315420f1a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      CHANGELOG.md
  2. 3
      ErsatzTV.Application/Logs/Queries/GetRecentLogEntriesHandler.cs
  3. 17
      ErsatzTV/Pages/TraktLists.razor

2
CHANGELOG.md

@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased]
### Changed
- Rewrite log page to read directly from log files instead of sqlite
## [0.7.1-beta] - 2023-01-03
### Added

3
ErsatzTV.Application/Logs/Queries/GetRecentLogEntriesHandler.cs

@ -56,7 +56,8 @@ public class GetRecentLogEntriesHandler : IRequestHandler<GetRecentLogEntries, P @@ -56,7 +56,8 @@ public class GetRecentLogEntriesHandler : IRequestHandler<GetRecentLogEntries, P
private static IEnumerable<string> ReadFrom(string file)
{
using StreamReader reader = File.OpenText(file);
using FileStream fs = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var reader = new StreamReader(fs);
while (reader.ReadLine() is { } line)
{
yield return line;

17
ErsatzTV/Pages/TraktLists.razor

@ -130,10 +130,21 @@ @@ -130,10 +130,21 @@
private async Task<TableData<TraktListViewModel>> ServerReloadTraktLists(TableState state)
{
await _mediator.Send(new SaveConfigElementByKey(ConfigElementKey.TraktListsPageSize, state.PageSize.ToString()), _cts.Token);
try
{
await _mediator.Send(new SaveConfigElementByKey(ConfigElementKey.TraktListsPageSize, state.PageSize.ToString()), _cts.Token);
PagedTraktListsViewModel data = await _mediator.Send(new GetPagedTraktLists(state.Page, state.PageSize), _cts.Token);
return new TableData<TraktListViewModel> { TotalItems = data.TotalCount, Items = data.Page };
PagedTraktListsViewModel data = await _mediator.Send(new GetPagedTraktLists(state.Page, state.PageSize), _cts.Token);
return new TableData<TraktListViewModel> { TotalItems = data.TotalCount, Items = data.Page };
}
catch (Exception ex) when (ex is TaskCanceledException or OperationCanceledException)
{
return new TableData<TraktListViewModel>
{
TotalItems = 0,
Items = Array.Empty<TraktListViewModel>()
};
}
}
private async Task AddTraktList()

Loading…
Cancel
Save