Skip to content

Commit d35619a

Browse files
committed
deploy: cd657c3
1 parent a095993 commit d35619a

65 files changed

Lines changed: 200 additions & 148 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

LiveDevelopment/BrowserScripts/RemoteFunctions.js

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -595,14 +595,13 @@ function RemoteFunctions(config = {}) {
595595
}
596596

597597
const element = event.target;
598-
if(!LivePreviewView.isElementInspectable(element) || element.nodeType !== Node.ELEMENT_NODE) {
599-
return;
600-
}
601598

602-
// Same element as last hover — nothing changed, skip entirely
603599
if (element === _lastHoverTarget) {
604600
return;
605601
}
602+
if(!LivePreviewView.isElementInspectable(element) || element.nodeType !== Node.ELEMENT_NODE) {
603+
return;
604+
}
606605
_lastHoverTarget = element;
607606

608607
// if _hoverHighlight is uninitialized, initialize it
@@ -615,21 +614,30 @@ function RemoteFunctions(config = {}) {
615614
}
616615
}
617616

618-
function onElementHoverOut(event) {
619-
// don't want highlighting and stuff when auto scrolling
620-
if (SHARED_STATE.isAutoScrolling) { return; }
617+
function _clearHoverState() {
618+
if (SHARED_STATE.isAutoScrolling) {
619+
return;
620+
}
621+
if (_hoverHighlight && shouldShowHighlightOnHover()) {
622+
_lastHoverTarget = null;
623+
_scheduleHoverUpdate();
624+
}
625+
}
621626

627+
function onElementHoverOut(event) {
622628
const element = event.target;
623629
// Use isElementInspectable (not isElementEditable) so that JS-rendered
624630
// elements also get their hover highlight and hover box properly dismissed.
625631
if(LivePreviewView.isElementInspectable(element) && element.nodeType === Node.ELEMENT_NODE) {
626-
if (_hoverHighlight && shouldShowHighlightOnHover()) {
627-
_lastHoverTarget = null;
628-
_scheduleHoverUpdate();
629-
}
632+
_clearHoverState();
630633
}
631634
}
632635

636+
// for popped out window: the in-panel iframe case is forwarded parent-side via _LD.clearHoverState().
637+
function onDocumentMouseLeave() {
638+
_clearHoverState();
639+
}
640+
633641
function scrollElementToViewPort(element) {
634642
if (!element) {
635643
return;
@@ -711,7 +719,9 @@ function RemoteFunctions(config = {}) {
711719

712720
function disableHoverListeners() {
713721
window.document.removeEventListener("mouseover", onElementHover);
722+
window.document.removeEventListener("mousemove", onElementHover);
714723
window.document.removeEventListener("mouseout", onElementHoverOut);
724+
window.document.documentElement.removeEventListener("mouseleave", onDocumentMouseLeave);
715725
// Cancel any pending rAF hover update so stale callbacks don't fire
716726
if (_pendingHoverRAF) {
717727
cancelAnimationFrame(_pendingHoverRAF);
@@ -732,7 +742,9 @@ function RemoteFunctions(config = {}) {
732742
if (config.mode === 'edit' && shouldShowHighlightOnHover()) {
733743
disableHoverListeners();
734744
window.document.addEventListener("mouseover", onElementHover);
745+
window.document.addEventListener("mousemove", onElementHover);
735746
window.document.addEventListener("mouseout", onElementHoverOut);
747+
window.document.documentElement.addEventListener("mouseleave", onDocumentMouseLeave);
736748
}
737749
}
738750

@@ -1714,7 +1726,8 @@ function RemoteFunctions(config = {}) {
17141726
"getHighlightCount": getHighlightCount,
17151727
"getHighlightTrackingElement": getHighlightTrackingElement,
17161728
"getHighlightStyle": getHighlightStyle,
1717-
"setHotCornerHidden": setHotCornerHidden
1729+
"setHotCornerHidden": setHotCornerHidden,
1730+
"clearHoverState": _clearHoverState
17181731
};
17191732

17201733
// the below code comment is replaced by added scripts for extensibility

LiveDevelopment/LiveDevMultiBrowser.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

appConfig.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ window.AppConfig = {
3535
"app_update_url": "https://updates.phcode.io/tauri/update-latest-pre-release.json",
3636
"extensionTakedownURL": "https://updates.phcode.io/extension_takedown.json",
3737
"linting.enabled_by_default": true,
38-
"build_timestamp": "2026-06-10T03:43:05.726Z",
38+
"build_timestamp": "2026-06-15T06:05:23.601Z",
3939
"googleAnalyticsID": "G-FP5S9BKDSJ",
4040
"googleAnalyticsIDDesktop": "G-D5R1Y6PTS8",
4141
"mixPanelID": "a7e08ffd43c37767c29b13df1d2e6c62",
@@ -47,7 +47,7 @@ window.AppConfig = {
4747
"bugsnagEnv": "staging"
4848
},
4949
"name": "Phoenix Code",
50-
"version": "5.2.0-23032",
50+
"version": "5.2.0-23045",
5151
"apiVersion": "5.2.0",
5252
"homepage": "https://core.ai",
5353
"issues": {

assets/default-project/en.zip

0 Bytes
Binary file not shown.

assets/sample-projects/HTML5.zip

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

assets/sample-projects/explore.zip

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

brackets.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)