feat(infra): Docker-compose configuration and environment-specific security guards for Beta deployment to Test environment #56

Merged
mjasin merged 12 commits from infra/beta-deploy-test into develop 2026-06-01 17:17:46 +00:00
2 changed files with 19 additions and 7 deletions
Showing only changes of commit 5fbeaf28db - Show all commits
+1 -1
View File
3
@@ -59,7 +59,7 @@ services:
volumes:
- qdrant_test_data:/qdrant/storage
healthcheck:
test: ["CMD-SHELL", "bash -c 'exec 3<>/dev/tcp/127.0.0.1/6333'"]
test: ["CMD-SHELL", "curl -sf http://localhost:6333/healthz || exit 1"]
interval: 5s
timeout: 5s
retries: 5
@@ -141,6 +141,7 @@
{
if (firstRender)
{
_selfReference = DotNetObjectReference.Create(this);
await SyncService.InitializeAsync();
_isInteractive = true;
if (ViewModel != null)
@@ -173,10 +174,12 @@
try
{
var module = await EnsureViewportModuleAsync();
_selfReference = DotNetObjectReference.Create(this);
var isMobileViewport = await module.InvokeAsync<bool>("isMobileViewport");
await OnViewportChanged(isMobileViewport);
await module.InvokeVoidAsync("registerViewportObserver", _selfReference);
if (_selfReference != null)
{
await module.InvokeVoidAsync("registerViewportObserver", _selfReference);
}
}
catch (Exception ex)
{
@@ -199,7 +202,10 @@
try
{
var module = await JS.InvokeAsync<IJSObjectReference>("import", "./_content/NexusReader.UI.Shared/js/selectionHandler.js");
await module.InvokeVoidAsync("initSelectionListener", DotNetObjectReference.Create(this), _containerRef);
if (_selfReference != null)
{
await module.InvokeVoidAsync("initSelectionListener", _selfReference, _containerRef);
}
}
catch (Exception ex)
{
@@ -214,8 +220,11 @@
try
{
var module = await JS.InvokeAsync<IJSObjectReference>("import", "./_content/NexusReader.UI.Shared/js/readerObserver.js");
await module.InvokeVoidAsync("initObserver", DotNetObjectReference.Create(this), ".reader-flow-container", ".block-wrapper");
_scrollListenerReference = await module.InvokeAsync<IJSObjectReference>("initScrollListener", DotNetObjectReference.Create(this), ".reader-flow-container");
if (_selfReference != null)
{
await module.InvokeVoidAsync("initObserver", _selfReference, ".reader-flow-container", ".block-wrapper");
_scrollListenerReference = await module.InvokeAsync<IJSObjectReference>("initScrollListener", _selfReference, ".reader-flow-container");
}
}
catch (Exception ex)
{
@@ -454,7 +463,10 @@
await _scrollListenerReference.DisposeAsync();
}
}
catch { }
catch (Exception ex)
{
Logger.LogDebug(ex, "Teardown of scroll listener reference failed in ReaderCanvas disposal.");
}
_selfReference?.Dispose();
}