mjasin
f0fac1afaa
feat: Architectural stabilization and login error resolution ( #33 )
...
- Refactored INativeStorageService and IReaderNavigationService to be fully asynchronous to ensure stable JS Interop in Blazor Server.
- Enforced Result pattern in IBillingService and KnowledgeCoordinator for better error propagation.
- Resolved 'Headers are read-only' error in Blazor Server by implementing a hybrid login/logout flow using Minimal API endpoints and hidden form submission.
- Eliminated all async void signatures across the codebase.
- Verified 0 build errors.
2026-05-11 21:15:39 +02:00
mjasin
e1f1a4b3cb
refactor: complete web project consolidation and stabilize identity flow
...
- Finalized move from NexusReader.Web.New to NexusReader.Web
- Implemented robust ServerIdentityService with UserManager and SignInManager
- Updated UI components to handle authentication state synchronization via force reload
- Refined BookIngestionModal styling following Nexus Neon design system
- Resolved namespace conflicts and updated CI/CD/VS Code configurations
- Fixes #33
2026-05-11 20:42:57 +02:00
Antigravity
f864580207
test: add unit tests for EpubMetadataExtractor robustness
2026-05-11 18:09:07 +00:00
Antigravity
46d47a1e02
test: initialize Application layer test project with xUnit and Moq
2026-05-11 18:09:02 +00:00
Antigravity
3de2238c93
refactor: remove redundant PlanConstants from UI.Shared (moved to Application)
2026-05-11 18:08:55 +00:00
Antigravity
5fe7024fea
refactor: remove redundant StorageKeys from UI.Shared (moved to Application)
2026-05-11 18:08:51 +00:00
Antigravity
080916eb99
refactor: remove obsolete IEpubService interface (replaced by IEpubReader and IEpubMetadataExtractor)
2026-05-11 18:08:46 +00:00
Antigravity
ebc0583977
refactor: add IEpubMetadataExtractor interface for local file parsing
2026-05-11 18:08:41 +00:00
Antigravity
7b44ac585b
refactor: add IEpubReader interface for content streaming
2026-05-11 18:08:37 +00:00
Antigravity
d704aed8f1
build: register NexusReader.Application.Tests in solution file
2026-05-11 18:08:31 +00:00
Antigravity
6baf80e892
build: clean up redundant package references and finalize Infrastructure project structure
2026-05-11 18:08:25 +00:00
Antigravity
176209ff76
style: add prefers-reduced-motion support for accessibility in ingestion modal
2026-05-11 18:08:18 +00:00
Antigravity
7f1b84cc49
refactor: update BookIngestionModal to use split IEpubMetadataExtractor, add XML docs and IAsyncDisposable
2026-05-11 18:08:08 +00:00
Antigravity
43fa79608f
refactor: update reader page query handler to depend on IEpubReader interface
2026-05-11 18:07:57 +00:00
Antigravity
38043cbda3
refactor: update infrastructure DI to register split EPUB services and clean up obsolete identity logic
2026-05-11 18:07:51 +00:00
Antigravity
6aadfda58e
refactor: update WASM DI registrations for split EPUB interfaces and Application layer init
2026-05-11 18:07:44 +00:00
Antigravity
cb3d8726b1
refactor: split WasmEpubService into reader and metadata extractor implementations
2026-05-11 18:07:37 +00:00
Antigravity
bb7207b7ef
refactor: split EpubService into EpubReaderService and EpubMetadataExtractor (SRP)
2026-05-11 18:07:30 +00:00
Antigravity
0e2c275de7
refactor: register server-side storage and identity services, update API to use split IEpubReader interface
2026-05-11 18:07:14 +00:00
Antigravity
4940f7daa7
build: add VersOne.Epub to server-side project for metadata extraction support
2026-05-11 18:07:05 +00:00
Antigravity
f98c204a14
feat: implement server-side NativeStorageService for browser storage interoperability
2026-05-11 18:06:59 +00:00
Antigravity
8bbb2f68c8
refactor: fix MappingConfig to avoid invalid property access and restore using directives
2026-05-11 18:06:53 +00:00
Antigravity
a7d883da84
refactor: use Application layer constants and add security documentation to auth provider
2026-05-11 18:06:48 +00:00
Antigravity
bd66f9165f
refactor: update ServerIdentityService to implement IIdentityService abstraction
2026-05-11 18:06:38 +00:00
Antigravity
98e0e604e0
refactor: update IdentityService to use Application layer abstractions and constants
2026-05-11 18:06:30 +00:00
Antigravity
f21638bcbc
refactor: update INativeStorageService abstraction
2026-05-11 18:06:14 +00:00
Antigravity
62ad64b1e4
refactor: add IIdentityService abstraction to Application layer
2026-05-11 18:06:08 +00:00
Antigravity
a3ded70977
refactor: unify UserProfileDto and add plan helpers
2026-05-11 18:05:51 +00:00
Antigravity
b0875a095b
refactor: move PlanConstants to Application layer
2026-05-11 18:05:36 +00:00
Antigravity
feb6f0e948
refactor: move StorageKeys to Application layer
2026-05-11 18:05:31 +00:00
mjasin
990f537661
style: fix InputFile scoped CSS by using ::deep to hide native file input button
2026-05-10 20:31:32 +02:00
mjasin
0c3fccc91e
feat: resolve role-based authorization by extracting Roles claim from JWT and storing in state provider
2026-05-10 20:24:59 +02:00
mjasin
5f39f2e063
fix: implement server-side logout by clearing token via INativeStorageService
2026-05-10 20:17:02 +02:00
mjasin
e22ec0e57c
fix: remove useCookies from login to allow JWT extraction
2026-05-10 20:13:07 +02:00
mjasin
2b68eb1f10
chore: remove temporary TestEpub project
2026-05-10 20:07:15 +02:00
mjasin
ac5a50c014
fix: resolve InputFile destruction exception during stream read
2026-05-10 20:06:15 +02:00
mjasin
a6a5fc683c
feat: Add Book Ingestion Modal for local EPUB metadata extraction ( fixes #33 )
2026-05-10 20:00:14 +02:00