Skip to content

Commit ae256b4

Browse files
committed
deploy: 606b7d0
1 parent d7780ac commit ae256b4

Some content is hidden

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

53 files changed

+368
-120
lines changed

appConfig.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ window.AppConfig = {
3030
"app_notification_url": "assets/notifications/dev/",
3131
"app_update_url": "https://updates.phcode.io/tauri/update-latest-experimental-build.json",
3232
"linting.enabled_by_default": true,
33-
"build_timestamp": "2025-09-08T05:38:22.080Z",
33+
"build_timestamp": "2025-09-08T07:30:26.966Z",
3434
"googleAnalyticsID": "G-P4HJFPDB76",
3535
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
3636
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -42,7 +42,7 @@ window.AppConfig = {
4242
"bugsnagEnv": "development"
4343
},
4444
"name": "Phoenix Code",
45-
"version": "4.1.2-21411",
45+
"version": "4.1.2-21413",
4646
"apiVersion": "4.1.2",
4747
"homepage": "https://core.ai",
4848
"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: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168318,6 +168318,24 @@ define("services/promotions", function (require, exports, module) {
168318168318
}
168319168319
}
168320168320

168321+
/**
168322+
* Check if user has active pro subscription
168323+
* Returns true if user is logged in and has a paid subscription
168324+
*/
168325+
async function _hasProSubscription() {
168326+
try {
168327+
// First verify login status to ensure login state is properly resolved
168328+
await LoginService.verifyLoginStatus();
168329+
168330+
// getEntitlements() returns null if not logged in
168331+
const entitlements = await LoginService.getEntitlements();
168332+
return entitlements && entitlements.plan && entitlements.plan.paidSubscriber === true;
168333+
} catch (error) {
168334+
console.error("Error checking pro subscription:", error);
168335+
return false;
168336+
}
168337+
}
168338+
168321168339
/**
168322168340
* Check if pro trial is currently activated
168323168341
*/
@@ -168351,10 +168369,14 @@ define("services/promotions", function (require, exports, module) {
168351168369
if (remainingDays <= 0 && !isNewerVersion) {
168352168370
// Check if promo ended dialog was already shown for this version
168353168371
if (existingTrialData.upgradeDialogShownVersion !== currentVersion) {
168354-
// todo we should not show this to logged in pro subscribers, but at startup time,
168355-
// we do not know if login is done yet.
168356-
console.log("Existing trial expired, showing promo ended dialog");
168357-
ProDialogs.showProEndedDialog();
168372+
// Check if user has pro subscription before showing promo dialog
168373+
const hasProSubscription = await _hasProSubscription();
168374+
if (!hasProSubscription) {
168375+
console.log("Existing trial expired, showing promo ended dialog");
168376+
ProDialogs.showProEndedDialog();
168377+
} else {
168378+
console.log("Existing trial expired, but user has pro subscription - skipping promo dialog");
168379+
}
168358168380
// Store that dialog was shown for this version
168359168381
await _setTrialData({
168360168382
...existingTrialData,
@@ -168402,7 +168424,13 @@ define("services/promotions", function (require, exports, module) {
168402168424
Metrics.countEvent(Metrics.EVENT_TYPE.PRO, "trial", "activated");
168403168425
console.log(`Pro trial activated for ${trialDays} days`);
168404168426

168405-
ProDialogs.showProUpgradeDialog(trialDays);
168427+
// Check if user has pro subscription before showing upgrade dialog
168428+
const hasProSubscription = await _hasProSubscription();
168429+
if (!hasProSubscription) {
168430+
ProDialogs.showProUpgradeDialog(trialDays);
168431+
} else {
168432+
console.log("Pro trial activated, but user has pro subscription - skipping upgrade dialog");
168433+
}
168406168434
// Trigger the event for UI to handle
168407168435
LoginService.trigger(EVENT_PRO_UPGRADE_ON_INSTALL, {
168408168436
trialDays: trialDays,
@@ -168419,11 +168447,14 @@ define("services/promotions", function (require, exports, module) {
168419168447

168420168448
/**
168421168449
* Start the pro trial activation process
168422-
* Waits 2 minutes, then triggers the upgrade event
168423168450
*/
168424168451
console.log(`Checking pro trial activation in ${TRIAL_POLL_MS / 1000} seconds...`);
168425168452

168426168453
const trialActivatePoller = setInterval(()=> {
168454+
if(Phoenix.isTestWindow) {
168455+
clearInterval(trialActivatePoller);
168456+
return;
168457+
}
168427168458
if(_isAnyDialogsVisible()){
168428168459
// maybe the user hasn't dismissed the new project dialog
168429168460
return;

cacheManifest.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"appConfig.js": "daf0cf1fbd7442999c18052cba2017e65eba9dd5148a24b7f4ac0ed63cfe0c73",
3-
"assets/default-project/en.zip": "52332c1f9377183007270bc221c7170a791738119b2dba3ebffc3ac2a13f342d",
2+
"appConfig.js": "fd7fd8f8f3a4f73e068a5d9fc0392b8994191af87195907d7b9b132cb9b33a48",
3+
"assets/default-project/en.zip": "b4608e2989f0da86ce4562abcc8e785406e778c0b601bd943fceb312c3d2f988",
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": "0d3324b475b309928150082d26c8a97b97840bc3104a76d27db89e91121e319c",
129+
"assets/sample-projects/bootstrap-blog.zip": "6ccbd6d38e021cef0ada6eb6ff9652d0fda6b10258adbe49fb1807856ab9eeab",
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": "3e77618aad88a228c7561c61bc122a7d1ae26568d8d3f7c8324a56fdd27dccc4",
139+
"assets/sample-projects/dashboard.zip": "0706e812ced6169292159b55241cb3e5e91e90774adf7743eeb7ca76026b6636",
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": "4e744007e12f0d26552721d6b41b2787ced18ac0f4263f0d9cb0fc1b61869236",
151+
"assets/sample-projects/explore.zip": "30a0c5c6e418df2d2a7debf18c55ff57f05c0c1f0da6aede62de3caaab23ec42",
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": "2e57c7d606a468c8699050ab766a85017b583c4dc2cee13199ffcba1e4641780",
239+
"assets/sample-projects/home-pages.zip": "96f579f764be036d5c1657c5a086f6e241b8633816dc57325a6d6b7709b57be1",
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": "cac6ce29ae3e5d7678c10f42ff09c7f57c05b9a2211754d2cde483c9c6548283",
251+
"assets/sample-projects/HTML5.zip": "dd281d34c1c1543e156802a9a733af64c5815a9632f428d780a75af0b9743cc8",
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": "4b98678c2e6d82897ea87850e21e3b71768331c25f1420abef8f8c5d55a1c9bf",
259+
"brackets-min.js": "b59ecd16260d2ac1d4d85349223232c0eba77bb1b03d2ac7e76ae6e73688f3e7",
260260
"brackets.config.dist.json": "37dcc4038da06c6ac78b161bac468779bc4b40ac49fc33463e93af9f3f1d1983",
261261
"brackets.config.staging.json": "f025278e7fb4e61d7feeefaddf0577cd14c08721cf4b1ffcb750a4aaec4bc79e",
262262
"brackets.js": "95463f069596323c001a6b6a5bbf288db15becc309bb9f23e6766431ae70ef1c",
263-
"cacheManifest.json": "494610c19d4919a8621a6dabc2c99b5fc7af8332bfe93511e7c1d6157bc02960",
263+
"cacheManifest.json": "cbb16f648f5a725224b0c6f265cd93d7ff6121366d713d0a0411f5cf897fe004",
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": "b401f390729988bffefe90e7f89895a75cfc98c2e719dc811ca481d67c624c94",
272+
"config.json": "c4c848f5f5328c1223d74c575a6fa4116fcd8e7bdaa68b62024a9afbad40f929",
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": "9d0785dd3a055cd7535e4d460321233c9cdb4c40dd32528c3a7df563b65d008b",
580+
"extensions/registry/popularity.json": "e77aadc27e7cff047e923498009bd37c8e6ad86f32d279a816b0e1fa5d98f523",
581581
"extensions/registry/registry_version.json": "e6ae52f4aa3393d47499157e6c32d3e5fbc1ad1f7bdc564f54504119fe6d3c6b",
582582
"extensions/samples/BracketsConfigCentral/htmlContent/Config.html": "6ac3ce03e2fb8913ec5da3e8835c0646894f242600c64d95b77c7d7dc0a156f7",
583583
"extensions/samples/BracketsConfigCentral/htmlContent/logo-sm.png": "006f025fecd24c292e87a1eb0e123ee21178ec9c09517a1f16fe362fe2fbcbb5",
@@ -919,7 +919,7 @@
919919
"services/login-service.js": "f38bca44ca7619cf4a7fe5e4bb01259990aed76a1f1ece273de96379502923a9",
920920
"services/pro-dialogs.js": "c281c1679cd534776155f53afa6b2559e5b442e058c9ad0ea691c0689283e5ca",
921921
"services/profile-menu.js": "9410f4d23c665b6d7c4265881a7f09e1641b1825da8398b9977893e2867ad75f",
922-
"services/promotions.js": "ec12a28936002002ddc12de29f3ff2a2a4da77314e546e6433b40d0946ab6ab9",
922+
"services/promotions.js": "2a96624d4de5871d40fb1ac19f9b885b8b37c0684c04525ed245c5212fc6c22d",
923923
"services/setup-login-service.js": "ae97fdbfacd35f24ec8b14cb1e9d89ba4f21f9c32a1822d569f09a5bcce9c229",
924924
"sitemap-phcode.xml": "9a4c5fa804a34fa09075f8d817eb861f7794466fa81c323d2532560466adb60a",
925925
"storage.js": "ffc6c470079d357494ad8b6c2d10c177e58ec1c976efe7844336320a66f71cdc",

config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"app_notification_url": "assets/notifications/dev/",
3030
"app_update_url": "https://updates.phcode.io/tauri/update-latest-experimental-build.json",
3131
"linting.enabled_by_default": true,
32-
"build_timestamp": "2025-09-08T05:38:22.080Z",
32+
"build_timestamp": "2025-09-08T07:30:26.966Z",
3333
"googleAnalyticsID": "G-P4HJFPDB76",
3434
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
3535
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -41,7 +41,7 @@
4141
"bugsnagEnv": "development"
4242
},
4343
"name": "Phoenix Code",
44-
"version": "4.1.2-21411",
44+
"version": "4.1.2-21413",
4545
"apiVersion": "4.1.2",
4646
"homepage": "https://core.ai",
4747
"issues": {

0 commit comments

Comments
 (0)