Antigravity
21c9a66cce
feat(ui): implement premium mobile-first reader toolbar, bottom navigation, and auth ux stabilization ( #61 )
...
# Description
This Pull Request integrates the premium mobile-first layout enhancements, a responsive, full-bleed Reader Toolbar, and critical authorization flow stabilizations for the NexusReader Blazor application (targeting .NET 10 with Native AOT compatibility).
Resolves #62
Resolves #63
Resolves #15
## Key Changes
### 📱 1. Mobile-First Reader Layout & Toolbar
- **Full-Bleed Responsive Layout**: Redesigned `ReaderLayout` to feature a premium mobile-first three-tab bottom navigation system (Chapters, Graph, Assistant) and a glassmorphic floating action button (FAB) for the AI assistant.
- **Header & Escaping Routes**: Built `MobileReaderToolbar` with seamless exit paths back to the "Pulpit" (dashboard) and smooth transitions.
- **Custom Iconography**: Added the custom `NexusIcon` component supporting dynamic theme styling and responsive layouts without relying on external CSS frameworks.
### 🔐 2. Authentication Flow UX Stabilization
- **WASM Transition Hydration**: Implemented `AuthenticationStatePersister` and loading preloaders to eliminate authorization race conditions during Blazor WASM interactive hydration.
- **AOT-Compatible JWT Validation**: Integrated a robust, AOT-compatible `JwtTokenValidator` with unit tests (`JwtTokenValidatorTests.cs`) to cleanly parse claims without throwing performance-heavy runtime exceptions.
- **Secure Header Propagation**: Standardized token transmission in WASM (`AuthenticationHeaderHandler.cs`) and MAUI Hybrid client layers (`MobileAuthenticationHeaderHandler.cs`), ensuring cookies are correctly propagated.
### 📊 3. D3.js Knowledge Graph & Interaction
- **Dynamic Viewport Synchronization**: Refactored `knowledgeGraph.js` to ensure the SVG graph behaves correctly under flexbox containment, handles panel expansion/collapse gracefully, and avoids infinite loop redraws.
- **Interaction Hook**: Connected graph node clicks directly to chapter jumps via a new `IReaderInteractionService` abstraction.
### 🏗️ 4. Infrastructure & Central Package Management (CPM)
- **Beta Deployment Configuration**: Added `.env.test.template`, `docker-compose.test.yml`, and `appsettings.Test.json` with hardened environment security guards.
- **Docker-Compose Cache Optimization**: Maintained CPM consistency during multi-stage Docker builds.
## Verification & Build Results
- Run a successful local build check:
```bash
dotnet build NexusReader.slnx --no-restore
```
**Status**: Successfully completed with `0` compilation errors.
---------
Co-authored-by: Marek Jasiński <jasins.marek@gmail.com >
Reviewed-on: #61
Co-authored-by: Antigravity <antigravity@google.com >
Co-committed-by: Antigravity <antigravity@google.com >
2026-05-31 17:55:21 +00:00
Antigravity
541e9e1fb5
feat(ai-ux): deduplicate AI queries, handle ServiceUnavailable retries, and optimize reader canvas graph prerendering ( #44 )
...
This Pull Request encapsulates all outstanding AI, Blazor InteractiveAuto lifecycle, pgvector, and Firefox authorization/session compatibility fixes.
### Key Accomplishments:
1. **Concurrent Request Deduplication (Option B):** Implemented a thread-safe active task registry in `KnowledgeService` that groups concurrent graph extraction queries for the same content, preventing duplicate AI calls completely.
2. **Resilience Strategy for Downstream Demands:** Extended the `ai-retry` resilience pipeline to automatically intercept and retry on temporary Google API `503 ServiceUnavailable` / `high demand` spikes.
3. **Interactive Graph Generation Guard (Option A):** Prevented server-side prerender-phase graph requests in the reader canvas component.
4. **Firefox Compatibility & Cookie Handler:** Implemented an authentication endpoint and hybrid hidden-form submission flow to solve login, registration, and logout redirections and cookies securely.
5. **Autoscrolling & Graph Exclusions:** Added concept-to-block smooth scrolling, active block badging, and filtered out markdown code blocks from being extracted as nodes.
All unit tests compiled and passed 100% cleanly.
---------
Co-authored-by: Marek Jasiński <jasins.marek@gmail.com >
Reviewed-on: #44
Co-authored-by: Antigravity <antigravity@google.com >
Co-committed-by: Antigravity <antigravity@google.com >
2026-05-18 17:53:36 +00:00
mjasin
55cc3ae10d
feat(ui/arch): Optimize Graph Dynamics, Immersive Reader, and Core Stability ( #19 )
...
This PR introduces a major optimization of graph dynamics, immersive reading experience, and architectural stabilization.
### 🚀 Key Improvements
- **Knowledge Graph (Fix #16 )**:
- Implemented smooth D3.js transitions using the General Update Pattern.
- Added "Neon Flash" entry animations and dynamic node dimming for better focus.
- **Immersive Reader (Fix #12 )**:
- Standardized centered layout (`max-width: 800px`) with **Merriweather** typography.
- Optimized line-height and letter-spacing for premium readability.
- **Technical Code Blocks (Fix #20 )**:
- High-contrast dark containers for code snippets.
- **JetBrains Mono** integration and neon-accented scrollbars.
- **Architectural Stabilization**:
- Enforced a strict **'no async void'** policy in UI services using `Func<Task>`.
- Resolved WASM runtime DI errors by implementing dummy service proxies for server-side dependencies.
- Replaced generic 'Not Found' message with a branded Nexus preloader.
Fixes #7 , Fixes #12 , Fixes #16 , Fixes #20 .
Reviewed-on: #19
Co-authored-by: Marek Jasiński <jasins.marek@gmail.com >
Co-committed-by: Marek Jasiński <jasins.marek@gmail.com >
2026-05-08 18:16:09 +00:00
mjasin
39a9ca5706
feat: integrate AI-driven selection panel with context-aware text summarization and quiz generation features.
2026-04-26 20:36:08 +02:00
mjasin
59074a05a0
feat: implement epub service, navigation service, and global error boundary with updated reader UI layouts
2026-04-25 16:16:36 +02:00
Debian
f3e94c4f42
Initial commit: NexusArchitect Professional Workstation Overhaul
2026-04-24 20:27:22 +02:00