feat: instance embed SSE live push and lighter tab revisit

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-07 11:01:10 +08:00
parent 444088baf3
commit 3db84d07e3
9 changed files with 288 additions and 25 deletions
+18 -2
View File
@@ -1268,7 +1268,6 @@ if(addOrderForm){
refreshOrderDefaults();
if(typeof initOrderEntryModelSelect === "function") initOrderEntryModelSelect();
refreshPriceSnapshotConditional();
setInterval(refreshAccountSnapshot, Number(document.body.dataset.balanceRefreshMs || 30000));
function refreshPriceSnapshotConditional(){
const page = document.body.getAttribute("data-page") || "";
fetch("/api/price_snapshot").then(r=>r.json()).then(data=>{
@@ -1348,5 +1347,22 @@ function tickOrderHoldDurations(){
}
setInterval(tickOrderHoldDurations, 1000);
tickOrderHoldDurations();
setInterval(refreshPriceSnapshotConditional, Number(document.body.dataset.priceRefreshMs || 5000));
(function startInstanceDataRefresh(){
const embedShell = document.body && document.body.getAttribute("data-embed-shell") === "1";
const balanceMs = Number(document.body.dataset.balanceRefreshMs || 30000);
const priceMs = Number(document.body.dataset.priceRefreshMs || 5000);
if(embedShell){
setInterval(function(){
if(window.InstanceLive && InstanceLive.isConnected && InstanceLive.isConnected()) return;
refreshAccountSnapshot();
}, balanceMs);
setInterval(function(){
if(window.InstanceLive && InstanceLive.isConnected && InstanceLive.isConnected()) return;
refreshPriceSnapshotConditional();
}, priceMs);
return;
}
setInterval(refreshAccountSnapshot, balanceMs);
setInterval(refreshPriceSnapshotConditional, priceMs);
})();
</script>