Skip to content

Commit 545d5fc

Browse files
committed
deploy: 606b7d0
1 parent b451e6a commit 545d5fc

Some content is hidden

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

65 files changed

+788
-92
lines changed

appConfig.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ window.AppConfig = {
2828
"app_notification_url": "assets/notifications/dev/",
2929
"app_update_url": "https://updates.phcode.io/tauri/update-latest-experimental-build.json",
3030
"linting.enabled_by_default": true,
31-
"build_timestamp": "2025-08-30T07:15:43.034Z",
31+
"build_timestamp": "2025-08-30T10:44:19.068Z",
3232
"googleAnalyticsID": "G-P4HJFPDB76",
3333
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
3434
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -40,7 +40,7 @@ window.AppConfig = {
4040
"bugsnagEnv": "development"
4141
},
4242
"name": "Phoenix Code",
43-
"version": "4.1.2-21357",
43+
"version": "4.1.2-21359",
4444
"apiVersion": "4.1.2",
4545
"homepage": "https://core.ai",
4646
"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-min.js

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166290,6 +166290,7 @@ define("services/login-browser", function (require, exports, module) {
166290166290
secureExports.signOutAccount = signOutBrowser;
166291166291
secureExports.getProfile = getProfile;
166292166292
secureExports.verifyLoginStatus = () => _verifyBrowserLogin(false);
166293+
secureExports.getAccountBaseURL = _getAccountBaseURL;
166293166294
}
166294166295

166295166296
// public exports
@@ -166394,6 +166395,14 @@ define("services/login-desktop", function (require, exports, module) {
166394166395
return userProfile;
166395166396
}
166396166397

166398+
/**
166399+
* Get the account base URL for API calls
166400+
* For desktop apps, this directly uses the configured account URL
166401+
*/
166402+
function getAccountBaseURL() {
166403+
return Phoenix.config.account_url.replace(/\/$/, ''); // Remove trailing slash
166404+
}
166405+
166397166406
const ERR_RETRY_LATER = "retry_later";
166398166407
const ERR_INVALID = "invalid";
166399166408

@@ -166728,6 +166737,7 @@ define("services/login-desktop", function (require, exports, module) {
166728166737
secureExports.signOutAccount = signOutAccount;
166729166738
secureExports.getProfile = getProfile;
166730166739
secureExports.verifyLoginStatus = () => _verifyLogin(false);
166740+
secureExports.getAccountBaseURL = getAccountBaseURL;
166731166741
}
166732166742

166733166743
// public exports
@@ -166738,6 +166748,7 @@ define("services/login-desktop", function (require, exports, module) {
166738166748
define("services/profile-menu", function (require, exports, module) {
166739166749
const Mustache = require("thirdparty/mustache/mustache"),
166740166750
PopUpManager = require("widgets/PopUpManager"),
166751+
ThemeManager = require("view/ThemeManager"),
166741166752
Strings = require("strings");
166742166753

166743166754
const KernalModeTrust = window.KernalModeTrust;
@@ -166790,9 +166801,10 @@ define("services/profile-menu", function (require, exports, module) {
166790166801
<div class="user-avatar" style="background-color: {{avatarColor}};">
166791166802
{{initials}}
166792166803
</div>
166793-
<div class="user-info">
166804+
<div class="user-info" style="width: calc(100% - 40px);">
166794166805
<div class="user-name"><secure-name></secure-name></div>
166795166806
<div class="user-email"><secure-email></secure-email></div>
166807+
<iframe id="user-details-frame" class="user-details-iframe" style="display: none; padding: 0; border: none; background: transparent; width: 100%; height: auto; overflow: hidden;" scrolling="no"></iframe>
166796166808
<div class="{{planClass}}">{{planName}}</div>
166797166809
</div>
166798166810
</div>
@@ -167007,6 +167019,78 @@ define("services/profile-menu", function (require, exports, module) {
167007167019
/* eslint-disable-next-line*/
167008167020
customElements.define ('secure-name', SecureName); // space is must in define ( to prevent build fail
167009167021

167022+
/**
167023+
* Load user details iframe with secure user information
167024+
*/
167025+
function _loadUserDetailsIframe() {
167026+
if (!Phoenix.isNativeApp && $popup) {
167027+
const $iframe = $popup.find("#user-details-frame");
167028+
const $secureName = $popup.find(".user-name secure-name");
167029+
const $secureEmail = $popup.find(".user-email secure-email");
167030+
167031+
if ($iframe.length) {
167032+
// Get account base URL for iframe using login service
167033+
const accountBaseURL = KernalModeTrust.loginService.getAccountBaseURL();
167034+
const currentTheme = ThemeManager.getCurrentTheme();
167035+
const nameColor = (currentTheme && currentTheme.dark) ? "FFFFFF" : "000000";
167036+
167037+
// Configure iframe URL with styling parameters
167038+
const iframeURL = `${accountBaseURL}/getUserDetailFrame?` +
167039+
`includeName=true&` +
167040+
`nameFontSize=14px&` +
167041+
`emailFontSize=12px&` +
167042+
`nameColor=%23${nameColor}&` +
167043+
`emailColor=%23666666&` +
167044+
`backgroundColor=transparent`;
167045+
167046+
// Listen for iframe load events
167047+
const messageHandler = function(event) {
167048+
// Only accept messages from trusted account domain
167049+
// Handle proxy case where accountBaseURL is '/proxy/accounts'
167050+
let trustedOrigin;
167051+
if (accountBaseURL.startsWith('/proxy/accounts')) {
167052+
// For localhost with proxy, accept messages from current origin
167053+
trustedOrigin = window.location.origin;
167054+
} else {
167055+
// For production, get origin from account URL
167056+
trustedOrigin = new URL(accountBaseURL).origin;
167057+
}
167058+
167059+
if (event.origin !== trustedOrigin) {
167060+
return;
167061+
}
167062+
167063+
if (event.data && event.data.loaded) {
167064+
// Hide secure DOM elements and show iframe
167065+
$secureName.hide();
167066+
$secureEmail.hide();
167067+
$iframe.show();
167068+
167069+
// Adjust iframe height based on content
167070+
$iframe.css('height', '36px'); // Approximate height for name + email
167071+
167072+
// Remove event listener
167073+
window.removeEventListener('message', messageHandler);
167074+
}
167075+
};
167076+
167077+
// Add message listener
167078+
window.addEventListener('message', messageHandler);
167079+
167080+
// Set iframe source to load user details
167081+
$iframe.attr('src', iframeURL);
167082+
167083+
// Fallback timeout - if iframe doesn't load in 5 seconds, keep secure elements
167084+
setTimeout(() => {
167085+
if ($iframe.is(':hidden')) {
167086+
console.log('User details iframe failed to load, keeping secure elements');
167087+
window.removeEventListener('message', messageHandler);
167088+
}
167089+
}, 5000);
167090+
}
167091+
}
167092+
}
167093+
167010167094
/**
167011167095
* Shows the user profile popup when the user is logged in
167012167096
*/
@@ -167067,6 +167151,9 @@ define("services/profile-menu", function (require, exports, module) {
167067167151
});
167068167152

167069167153
_setupDocumentClickHandler();
167154+
167155+
// Load user details iframe for browser apps (after popup is created)
167156+
_loadUserDetailsIframe();
167070167157
}
167071167158

167072167159
/**

cacheManifest.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"appConfig.js": "3461000f99967cc5ab03f91d4f0b993499bcd66fb4029e1749ddd399baf2ec6f",
3-
"assets/default-project/en.zip": "3bd55f325f30789ee03a38bc8829923333fe75deb7d8b75717ca611283dba21d",
2+
"appConfig.js": "074a0fbe79fcb6169d9ace5e661089b6cd6f2db913d4725b429623b1a27dd321",
3+
"assets/default-project/en.zip": "2fe46becf9fcea4e2dc2bfd9649c5aadb3eb9a6880770511de3e6d544586d915",
44
"assets/default-project/en/images/cloud1.svg": "527399dadfa3357c3ee1a63d6c1c7dda81ecebb832f7383db26f1aaeaf722a8d",
55
"assets/default-project/en/images/cloud2.svg": "8127c63c0987bc674e2d25f7d24ead017853326c1e43d07706fec46091904418",
66
"assets/default-project/en/images/cloud3.svg": "15de53aa41dea3b0f685292814563f97213a9736c3cec2f8e17b5d9d45b3ae3d",
@@ -126,7 +126,7 @@
126126
"assets/pwa/32x32.png": "4f8f75bfcdb6efbbed1732f49edab4e292274cdeb1841e285ccc8194f4c9d8ac",
127127
"assets/pwa/phoenix.png": "d292bf76d6d61fdece2f97fb4cd71b8b0060d1058e9c1d02c94bfb20da8b7f0d",
128128
"assets/pwa/Square284x284Logo.png": "9887c2967039b4fae1214817925f1fb4f9227cba12d37612457c1c8ee1110c67",
129-
"assets/sample-projects/bootstrap-blog.zip": "37cb907093a3edc5c4bff671f83e1d6ba52385af5f4c4561b44b6c43d22d2019",
129+
"assets/sample-projects/bootstrap-blog.zip": "f2c89d4e9642fe27eeff97898d8417f846728c4689293fc62a2801cf7e14ef3d",
130130
"assets/sample-projects/bootstrap-blog/assets/brand/bootstrap-logo-white.svg": "203d56e7e5e15d8203e596d4a711cec986f6380064591de21850f4563fb840bf",
131131
"assets/sample-projects/bootstrap-blog/assets/brand/bootstrap-logo.svg": "df11d37a123e36a768f2a6064973c4c6ab17d1e3c6501c8bf434ca5c0134c9a2",
132132
"assets/sample-projects/bootstrap-blog/assets/dist/css/bootstrap.min.css": "fb1763b59f9f5764294b5af9fa5250835ae608282fe6f2f2213a5952aacf1fbf",
@@ -136,7 +136,7 @@
136136
"assets/sample-projects/bootstrap-blog/blog.rtl.css": "33f49d02bbcb2e78f019b7582408fad2b5a76a2ecf79fe09d5b3c08c6ee3872b",
137137
"assets/sample-projects/bootstrap-blog/index-rtl.html": "c582278884060098ff51b9d350b0739e1a0396debdc76772c62b6ec375b6efcb",
138138
"assets/sample-projects/bootstrap-blog/index.html": "f4716c2affa299a27ab6f8c74c22fe67564f1b1d36ff2f0b322672bf0479d739",
139-
"assets/sample-projects/dashboard.zip": "d52397a7e147bedd19f911c9bc8608bb7023058f77f5197e2812d6522d40c827",
139+
"assets/sample-projects/dashboard.zip": "6bad4a4abd47a9059baab4d604bd503922236bc184914b74c7368e51bb6d4f75",
140140
"assets/sample-projects/dashboard/assets/brand/bootstrap-logo-white.svg": "203d56e7e5e15d8203e596d4a711cec986f6380064591de21850f4563fb840bf",
141141
"assets/sample-projects/dashboard/assets/brand/bootstrap-logo.svg": "df11d37a123e36a768f2a6064973c4c6ab17d1e3c6501c8bf434ca5c0134c9a2",
142142
"assets/sample-projects/dashboard/assets/dist/css/bootstrap.min.css": "fb1763b59f9f5764294b5af9fa5250835ae608282fe6f2f2213a5952aacf1fbf",
@@ -148,7 +148,7 @@
148148
"assets/sample-projects/dashboard/index.html": "1fb0c934f816d728cad85e180f78369679dc9edb1eca2d5c625b9360e6264235",
149149
"assets/sample-projects/dashboard/signin.css": "083bef710a6170a5112ce257c2ecf8580ca97ce19136d770f10460e5b85862de",
150150
"assets/sample-projects/dashboard/signin.html": "8c602e656631aeee624673397c0dc00c339498914ed930ab177478c4662a8d26",
151-
"assets/sample-projects/explore.zip": "03413a3a61ebc268c98cfd5f079f567e118111c466dbf5ce495d16cb6744d085",
151+
"assets/sample-projects/explore.zip": "f98fe551f44fca92c3c0262f51523f0e4d55165db0538cd3206e366718205b2f",
152152
"assets/sample-projects/explore/A-tribute-page.html": "bd510c60f444058b7fcb71d83841f32b1cb5193c1a39421d7739bd6af9fef248",
153153
"assets/sample-projects/explore/adjustable-fireworks.html": "11e69bb2dd8708ed8fbf1acc62b0aaaf88c7ffec859ee958dc1ae51cd53ddac8",
154154
"assets/sample-projects/explore/ant_colony.html": "bc9435ed1b9868f2fbc7212d526f7532c533a5fdf45da988fa5e575bc5f363b7",
@@ -236,7 +236,7 @@
236236
"assets/sample-projects/explore/watermelon-pixel.html": "765a3fbffb5db97910512fbabaa7c55c0b52dc8eedfcc630811be39d0af98663",
237237
"assets/sample-projects/explore/webmine.html": "6b808f52812dc03db28483411500c04daf8ee0226f535c600a36999d6b7837c0",
238238
"assets/sample-projects/explore/whack-a-mole.html": "25be94a3640553b4801f80edd49998bae3a360988e8a26ff3bdfdc2a76b77191",
239-
"assets/sample-projects/home-pages.zip": "c75bcf68756e83b66969a11b56de2b6a9e40b9f8e92a67c8c50b8513cdcbccb7",
239+
"assets/sample-projects/home-pages.zip": "27865e07f808c73df1108b339b9ce7af511d89777589fc017f5eccaa74f81885",
240240
"assets/sample-projects/home-pages/album/index.html": "e29a1e96644bc17bab1a7e3724e822d65a479e10df182725ee1afa916efbfdc1",
241241
"assets/sample-projects/home-pages/assets/brand/bootstrap-logo-white.svg": "203d56e7e5e15d8203e596d4a711cec986f6380064591de21850f4563fb840bf",
242242
"assets/sample-projects/home-pages/assets/brand/bootstrap-logo.svg": "df11d37a123e36a768f2a6064973c4c6ab17d1e3c6501c8bf434ca5c0134c9a2",
@@ -248,19 +248,19 @@
248248
"assets/sample-projects/home-pages/carousel/index.html": "235d650043a09f2954f24e4659f64d99ef3988858567fb2221fb1cf34df057e6",
249249
"assets/sample-projects/home-pages/cover/cover.css": "2fbb596077c570cad7ee9e98fb88f5665e0ecfc11e7085c3e04639ad03f7bc10",
250250
"assets/sample-projects/home-pages/cover/index.html": "759214701ff759432711b3421d80aca692c7a2b4c978c516a0bcd0c81a43f381",
251-
"assets/sample-projects/HTML5.zip": "f16b3cd8db1afd7af0b32c83154de5499c2013510f7b939965b712a6ecede7e7",
251+
"assets/sample-projects/HTML5.zip": "da47afd401fb9fd651e555e353eedb257f2e4b3a7aad34832bd24bd29a34a72c",
252252
"assets/sample-projects/HTML5/index.html": "2dc94c7d3e33aeeb44ec4f75bc7df86a5fd19f3121f2fd3638636fbf7c476c6a",
253253
"assets/sample-projects/HTML5/script.js": "c49e4b01cded4defbc21f5d5d0102719ce4cccbe1b9cb19f9232c5a05df658da",
254254
"assets/sample-projects/HTML5/styles.css": "744b85a9c31affbb00976694c4b9c9149b31e575ed9efdec386231d062ae93f2",
255255
"assets/sample-projects/new-project-list.json": "be1c907279163610779b000aa9ea6e4b035e07429203f16445a914c7045f2d64",
256256
"assets/sample-projects/zips/bootstrap.zip": "6f10407c00ce5d598e77f890528743dc645bc28014335483992b481e63fd7b97",
257257
"base-config/keyboard.json": "32ab31d6aeda47bab8bcce276209ca017893f572cb4aa97655fb75baf1a9c123",
258258
"base-config/readme-keyboard.md": "27e98128176dbd060e93b1f321a4ddcd609571b7b8eb8c9112588f4767d08a03",
259-
"brackets-min.js": "ed4c03810f95908e6c3d5b7a9d66392f04fd67ec5bc0cdbd5a5c65d3578c82fa",
259+
"brackets-min.js": "d7f5a8ac9e2e9bca74e06768bdcaf6c9f723bb26593c5776f0a4fcd10c0f24d7",
260260
"brackets.config.dist.json": "8faa5c0a82bb4f49784e93d1225dbd5e1fd8ec6ab07b95f5f874c7c7bd7bb234",
261261
"brackets.config.staging.json": "c0e1f22c772c80f4f5756ab947e40538bcaf7fb7f8925834cfd4ef57c55e477a",
262262
"brackets.js": "95463f069596323c001a6b6a5bbf288db15becc309bb9f23e6766431ae70ef1c",
263-
"cacheManifest.json": "a93c27c01101f087dce1ed34fbb7dfe6ddd187c3a2f4bcfdbfef380c732e0fba",
263+
"cacheManifest.json": "76696752303fb04516e76e82d21e43615d44fe201fb780f061e309e35a7a82ee",
264264
"command/ChangeShortcutTemplate.html": "345d682d8bde29380822824778cf09acc79affae6e82b9db00c6205b2b3dd2ee",
265265
"command/CommandManager.js": "10181902fc2e55a780981a17b95c7b579427fdfd12c92ed49df35d3b70f64c15",
266266
"command/Commands.js": "166fe466d645d020c71ab770d8b5f3b95a66b3ef9d9a4e81e0c0aae904f34b9d",
@@ -269,7 +269,7 @@
269269
"command/KeyboardOverlayMode.js": "7170dfcfca59b41252146ef8a5ca4f652c666e33b7a4b411e30e72951bd35b49",
270270
"command/Keys.js": "36545bbbca56d2a909779c5873fa860bf737977588ad61a398acb86f6bcbe4ee",
271271
"command/Menus.js": "45cbaf725423c29ea34e61ee044c82d395b38748dcfce5b8b4a8f1ec646bbf04",
272-
"config.json": "473b624ddb105c25a0e120c89ffcb7fce662b22eff87387658839759caa0790a",
272+
"config.json": "908fbbfc64e5348c15a0647f4881e26b1c86eaa0cd9456958afd47f318367e7d",
273273
"desktop-metrics.html": "66f87550ddf04f284a6c1e81567b7dfbefb2b8007f48f0bad7d8f7aacdb11bac",
274274
"devEnable.html": "44aa1a496a8be413299f651e6b0c3e62ac50cd5d40126ad1bb6b70b9b2b818c4",
275275
"document/ChangedDocumentTracker.js": "03b0eaf0995fee6d27c782a8028a1314f61214e383f5f5e198320b2faac4cf40",
@@ -577,7 +577,7 @@
577577
"extensions/default/UrlCodeHints/requirejs-config.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
578578
"extensions/default/UrlCodeHints/unittests.js": "c60ecbe81555d435437dc5b7294f4e89b3befb7b34d60c44285c6009807c29c2",
579579
"extensions/dev/README.md": "3fd897e55e0e05e503c898555cfa3b20e820b32946fc7c426ea9bb2afbed449f",
580-
"extensions/registry/popularity.json": "dc48b3cc02be2ceae42a81287e623d56e464c1bf90e1a860495f9277ab6ed4de",
580+
"extensions/registry/popularity.json": "d93ff0e934a966d6e33a07fbdaf56e5cd084b9ea23404caa2ad2dc051f707a92",
581581
"extensions/registry/registry_version.json": "878b8ae9dba7622a9fb9148e41577bbe6a73030bec4465d629340370fd7bbf06",
582582
"extensions/samples/BracketsConfigCentral/htmlContent/Config.html": "6ac3ce03e2fb8913ec5da3e8835c0646894f242600c64d95b77c7d7dc0a156f7",
583583
"extensions/samples/BracketsConfigCentral/htmlContent/logo-sm.png": "006f025fecd24c292e87a1eb0e123ee21178ec9c09517a1f16fe362fe2fbcbb5",
@@ -911,10 +911,10 @@
911911
"services/html/browser-login-waiting-dialog.html": "501446f54cca5c5270029ee89b548f24fb7b1ff04ce7c945f5f2bdb579aa50b0",
912912
"services/html/login-popup.html": "4fed940b28be09fd91f6c6f39dcb690c05285e96b79e69b6fad0f9efebaed49d",
913913
"services/html/otp-dialog.html": "7f5d97fdb860a59aded43b7c99c99dd8741f915ef010ce0c6e76bd67055322f3",
914-
"services/html/profile-popup.html": "6e1d75dd7f90df7dd7cc6088f6be52fd33891560df88bbabbef7a95397e180ed",
915-
"services/login-browser.js": "028fbd93efb5dd284938366c31b38b85dac4305071d9cd7edae3c675cf76be5a",
916-
"services/login-desktop.js": "698415f3f98df4fa8547dc90926b823a49be6a1b40219ec16cba6a48e9bd27ba",
917-
"services/profile-menu.js": "a6965535ae5ca8cfa72dbb1e57a6523b18d82ea659cb30f3380169aa8c9073e7",
914+
"services/html/profile-popup.html": "20a8bc2445f8da96af402917af27c8f1801d131e7636bd61c2a761f144eeaa7b",
915+
"services/login-browser.js": "e2a3857c598fcba46db4e582b49b5084b8fe859fd0f8ff5543eb53d349f13fe3",
916+
"services/login-desktop.js": "08f450d5427c376a7dbb23f537ad686a21b7b8e7e9627682db9a8cb0397b2235",
917+
"services/profile-menu.js": "94dd43ff701166f1029a9250e6a532c0c9ac5ed6379045916b3feb33933e4599",
918918
"sitemap-phcode.xml": "9a4c5fa804a34fa09075f8d817eb861f7794466fa81c323d2532560466adb60a",
919919
"storage.js": "ffc6c470079d357494ad8b6c2d10c177e58ec1c976efe7844336320a66f71cdc",
920920
"strings.js": "cfd950f720d6b65c4125f98432f323a2ce42b2d73158ac54dbc009ca96f7a3b4",

config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"app_notification_url": "assets/notifications/dev/",
2828
"app_update_url": "https://updates.phcode.io/tauri/update-latest-experimental-build.json",
2929
"linting.enabled_by_default": true,
30-
"build_timestamp": "2025-08-30T07:15:43.034Z",
30+
"build_timestamp": "2025-08-30T10:44:19.068Z",
3131
"googleAnalyticsID": "G-P4HJFPDB76",
3232
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
3333
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -39,7 +39,7 @@
3939
"bugsnagEnv": "development"
4040
},
4141
"name": "Phoenix Code",
42-
"version": "4.1.2-21357",
42+
"version": "4.1.2-21359",
4343
"apiVersion": "4.1.2",
4444
"homepage": "https://core.ai",
4545
"issues": {

0 commit comments

Comments
 (0)