Skip to content

Commit 6e3dacc

Browse files
committed
deploy: 606b7d0
1 parent b938357 commit 6e3dacc

Some content is hidden

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

57 files changed

+268
-156
lines changed

appConfig.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ window.AppConfig = {
3131
"app_notification_url": "assets/notifications/dev/",
3232
"app_update_url": "https://updates.phcode.io/tauri/update-latest-experimental-build.json",
3333
"linting.enabled_by_default": true,
34-
"build_timestamp": "2025-09-25T03:43:43.861Z",
34+
"build_timestamp": "2025-09-27T16:18:22.944Z",
3535
"googleAnalyticsID": "G-P4HJFPDB76",
3636
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
3737
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -43,7 +43,7 @@ window.AppConfig = {
4343
"bugsnagEnv": "development"
4444
},
4545
"name": "Phoenix Code",
46-
"version": "4.1.2-21535",
46+
"version": "4.1.2-21537",
4747
"apiVersion": "4.1.2",
4848
"homepage": "https://core.ai",
4949
"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: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -167180,14 +167180,24 @@ define("services/entitlements", function (require, exports, module) {
167180167180
});
167181167181
}
167182167182

167183+
let effectiveEntitlements = null;
167184+
async function _getEffectiveEntitlements() {
167185+
if(effectiveEntitlements){
167186+
return effectiveEntitlements;
167187+
}
167188+
const entitlements = await LoginService.getEffectiveEntitlements();
167189+
effectiveEntitlements = entitlements;
167190+
return entitlements;
167191+
}
167192+
167183167193
/**
167184167194
* Get the plan details from entitlements with fallback to free plan defaults. If the user is
167185167195
* in pro trial(isInProTrial API), then paidSubscriber will always be true as we need to treat user as paid.
167186167196
* you should use isInProTrial API to check if user is in pro trial if some trial-related logic needs to be done.
167187167197
* @returns {Promise<Object>} Plan details object
167188167198
*/
167189167199
async function getPlanDetails() {
167190-
const entitlements = await LoginService.getEffectiveEntitlements();
167200+
const entitlements = await _getEffectiveEntitlements();
167191167201

167192167202
if (entitlements && entitlements.plan) {
167193167203
return entitlements.plan;
@@ -167207,7 +167217,7 @@ define("services/entitlements", function (require, exports, module) {
167207167217
* @returns {Promise<boolean>} True if user is in pro trial, false otherwise
167208167218
*/
167209167219
async function isInProTrial() {
167210-
const entitlements = await LoginService.getEffectiveEntitlements();
167220+
const entitlements = await _getEffectiveEntitlements();
167211167221
return !!(entitlements && entitlements.isInProTrial);
167212167222
}
167213167223

@@ -167216,13 +167226,13 @@ define("services/entitlements", function (require, exports, module) {
167216167226
* @returns {Promise<number>} Number of remaining trial days
167217167227
*/
167218167228
async function getTrialRemainingDays() {
167219-
const entitlements = await LoginService.getEffectiveEntitlements();
167229+
const entitlements = await _getEffectiveEntitlements();
167220167230
return entitlements && entitlements.trialDaysRemaining ? entitlements.trialDaysRemaining : 0;
167221167231
}
167222167232

167223167233
/**
167224167234
* Get current raw entitlements. Should not be used directly, use individual feature entitlement instead
167225-
* like getLiveEditEntitlement.
167235+
* like getLiveEditEntitlement. Raw entitlements are server set and will not contain trial info.
167226167236
* @returns {Promise<Object|null>} Raw entitlements object or null
167227167237
*/
167228167238
async function getRawEntitlements() {
@@ -167252,7 +167262,7 @@ define("services/entitlements", function (require, exports, module) {
167252167262
* }
167253167263
*/
167254167264
async function getLiveEditEntitlement() {
167255-
const entitlements = await LoginService.getEffectiveEntitlements();
167265+
const entitlements = await _getEffectiveEntitlements();
167256167266

167257167267
if (entitlements && entitlements.entitlements && entitlements.entitlements.liveEdit) {
167258167268
return entitlements.entitlements.liveEdit;
@@ -167278,6 +167288,7 @@ define("services/entitlements", function (require, exports, module) {
167278167288
LoginService = KernalModeTrust.loginService;
167279167289
// Set up event forwarding from LoginService
167280167290
LoginService.on(LoginService.EVENT_ENTITLEMENTS_CHANGED, function() {
167291+
effectiveEntitlements = null;
167281167292
Entitlements.trigger(EVENT_ENTITLEMENTS_CHANGED);
167282167293
});
167283167294
}
@@ -168451,8 +168462,10 @@ define("services/login-service", function (require, exports, module) {
168451168462

168452168463

168453168464
/**
168454-
* Get entitlements from API or cache
168455-
* Returns null if user is not logged in
168465+
* Get entitlements from API or disc cache.
168466+
* @param {string} forceRefresh If provided will always fetch from server and bypass cache. Use rarely like
168467+
* when a user logs in/out/some other user activity/ account-related events.
168468+
* Returns null if the user is not logged in
168456168469
*/
168457168470
async function getEntitlements(forceRefresh = false) {
168458168471
// Return null if not logged in
@@ -168488,7 +168501,8 @@ define("services/login-service", function (require, exports, module) {
168488168501
try {
168489168502
const accountBaseURL = LoginService.getAccountBaseURL();
168490168503
const language = brackets.getLocale();
168491-
let url = `${accountBaseURL}/getAppEntitlements?lang=${language}`;
168504+
const currentVersion = window.AppConfig.apiVersion || "1.0.0";
168505+
let url = `${accountBaseURL}/getAppEntitlements?lang=${language}&version=${currentVersion}`;
168492168506
let fetchOptions = {
168493168507
method: 'GET',
168494168508
headers: {
@@ -168651,8 +168665,8 @@ define("services/login-service", function (require, exports, module) {
168651168665
}
168652168666

168653168667
/**
168654-
* Get effective entitlements for determining feature availability throughout the app.
168655-
* This is the primary API that should be used across Phoenix to check entitlements and enable/disable features.
168668+
* Get effective entitlements for determining feature availability.
168669+
* This is for internal use only. All consumers in phoenix code should use `KernalModeTrust.Entitlements` APIs.
168656168670
*
168657168671
* @returns {Promise<Object|null>} Entitlements object or null if not logged in and no trial active
168658168672
*

cacheManifest.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"appConfig.js": "81e7291f9aa839ea106476284c9f4b1ccfa57cb536e59f4779f862376de8aea9",
3-
"assets/default-project/en.zip": "e5534a692087174e87d1e60da8808f52a70dc6bed38ef21c7e1793ba7ec4f1f6",
2+
"appConfig.js": "c939b3c9353a129a257a923c5da451a01aee87548c23881a64e7b556a6842a10",
3+
"assets/default-project/en.zip": "4951758356aba79319aca4b1670fc0ecab5fd4f3a8309122c5202ca44c004078",
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": "308a17bf02b4151f125fb66722af6f21db261d2261d3530c3def251920c4621b",
129+
"assets/sample-projects/bootstrap-blog.zip": "3de6120a576aaad566a32b41eacdbd56d168a7b08dc836b18cce73a1846aa072",
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": "4579e6f62b3f73a075c074e5471d4f4662b63c288034ef29218a0023cc41e6ca",
139+
"assets/sample-projects/dashboard.zip": "c67fda8958e85cc2de290b77691a1d328931225c51382bfd90a8b8acc147c7e4",
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": "ac146ebd578a12bf7feb6edc617f478dfe1ff7945f2c587f650f46b1e5087480",
151+
"assets/sample-projects/explore.zip": "6f521e3d63844bb9ad32db293b49d805282f81da0777b7770b8a02b1acc8241e",
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": "65b51ae38b408050883477900ac5bc9898cefa2725db48c4ed755967274a5e21",
239+
"assets/sample-projects/home-pages.zip": "a0d64d9cc408a5056d3849e4ada6d1fe8d08f7c75e143db32a17366f695bd1b7",
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": "c1ff5b649b9124f1b3a05c38f6bc8c97a98021b8efa51fcef08d61b9213cdbff",
251+
"assets/sample-projects/HTML5.zip": "0405352749f96591a48a0d6068cd75ea05334e5335a494a9202f5d27d9e28193",
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": "a55af929f1d45a03f80e1ed61affc7fcd2ff0543311f592a2e6d4ee5fb6ef6e7",
259+
"brackets-min.js": "0e3926825a1c8acffd5f537922961ba41434c4dbbbd76163af8d098125ddddf8",
260260
"brackets.config.dist.json": "37dcc4038da06c6ac78b161bac468779bc4b40ac49fc33463e93af9f3f1d1983",
261261
"brackets.config.staging.json": "f025278e7fb4e61d7feeefaddf0577cd14c08721cf4b1ffcb750a4aaec4bc79e",
262262
"brackets.js": "95463f069596323c001a6b6a5bbf288db15becc309bb9f23e6766431ae70ef1c",
263-
"cacheManifest.json": "5ce5a3fd3f4ae5e4df53dd45e1a7cd5b6bbfb5c7525a2dc2194141ab6383e808",
263+
"cacheManifest.json": "669916ad2e75493e5748d5746951f9d304e13b96fa3e9c75415b3f6d53fe9401",
264264
"command/ChangeShortcutTemplate.html": "345d682d8bde29380822824778cf09acc79affae6e82b9db00c6205b2b3dd2ee",
265265
"command/CommandManager.js": "5b2db315832b199eb4b9e48d3d46151a8ca4535f652ad9ef1cb56d9c57382cd6",
266266
"command/Commands.js": "bd0b38a2d179ac25ca2f89c7d6cab18a125d62f75a435e8c466a6d72889a81f2",
@@ -269,7 +269,7 @@
269269
"command/KeyboardOverlayMode.js": "7170dfcfca59b41252146ef8a5ca4f652c666e33b7a4b411e30e72951bd35b49",
270270
"command/Keys.js": "36545bbbca56d2a909779c5873fa860bf737977588ad61a398acb86f6bcbe4ee",
271271
"command/Menus.js": "dd71f16f6594774da1a6410ea6f618c1eaea7a7f1268fe47e81c539d2f921cbb",
272-
"config.json": "9b345cd8853263e6e42a93d872097bfd8b153d354d3af04c1cd1e3f553bf4ff3",
272+
"config.json": "b7cf64bf4a9baf1c203ddb44f05b1bea4791b6f073192e997dbf61e7feac14b0",
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": "ffbdd113e9db134df6c103bd5f9fc9fd1b578c27d354103586aa778be7bc8791",
580+
"extensions/registry/popularity.json": "8416fd5ad4698004af18669629e5035e60e059a6317ead82fc5284901a328c03",
581581
"extensions/registry/registry_version.json": "3e18f43f966d74707343679b4b894050b26f2adfd2087421f18143c3c0cbf46f",
582582
"extensions/samples/BracketsConfigCentral/htmlContent/Config.html": "6ac3ce03e2fb8913ec5da3e8835c0646894f242600c64d95b77c7d7dc0a156f7",
583583
"extensions/samples/BracketsConfigCentral/htmlContent/logo-sm.png": "006f025fecd24c292e87a1eb0e123ee21178ec9c09517a1f16fe362fe2fbcbb5",
@@ -908,7 +908,7 @@
908908
"search/SearchModel.js": "e2b91a9c39c52c31134ce048ddd2a8567ec5199d0d8fc6f8598099d427edf8e2",
909909
"search/SearchResultsView.js": "094f4c00e2a4a363523142d8cc4971c4bc063df2b6e6ade75ff531c19058e822",
910910
"search/worker/search.js": "b0221de8a464898c0d081234b75fbbf326a8748cfef323a22f6d692960d4469e",
911-
"services/entitlements.js": "5f7d57cd034175cd17f25081c6ce62af33f825667d580bd0797741b0ef022cee",
911+
"services/entitlements.js": "49cd3ba8f2df282e03b05775af805b6466faf338d84c0e930e897deda8f10ff8",
912912
"services/html/browser-login-waiting-dialog.html": "501446f54cca5c5270029ee89b548f24fb7b1ff04ce7c945f5f2bdb579aa50b0",
913913
"services/html/login-popup.html": "a62e43bae019b179825addf7185095d3c0c83fe5452107223d26cc14e6112e9c",
914914
"services/html/otp-dialog.html": "7f5d97fdb860a59aded43b7c99c99dd8741f915ef010ce0c6e76bd67055322f3",
@@ -917,7 +917,7 @@
917917
"services/html/promo-ended.html": "7da7a4a13ed7eaa05b7fbf4bf2742f50a11a8a9edb5bad407bb2ed423ac96df8",
918918
"services/login-browser.js": "b903890bbb9988507d60d4e12a22551640e0608a8d122e27182214770dfbff7c",
919919
"services/login-desktop.js": "e380c3624f80dbf3da10973071113cc5e3c0427fc92fb9230d5d238ef16ab452",
920-
"services/login-service.js": "88f495971ad298b95993d9af67c2befe955c16e85733f9673db7803d5bd1bd7b",
920+
"services/login-service.js": "8ff8c87f82f06ea831532161055d8a818018e647ea3c3728320786fa3dd9304f",
921921
"services/login-utils.js": "17c62be360a4353293d00a17fc78efefe0977ade63fad79ba36ec1ad0282d70e",
922922
"services/pro-dialogs.js": "43d9d6dbe507e9685790767c8b10933a51a933139605ce37cab3a12cf2718561",
923923
"services/profile-menu.js": "c561a481df7b68ebf0f0d5513f28319479bd3ccb2439b56682769426df783ec9",

config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
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-25T03:43:43.861Z",
33+
"build_timestamp": "2025-09-27T16:18:22.944Z",
3434
"googleAnalyticsID": "G-P4HJFPDB76",
3535
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
3636
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -42,7 +42,7 @@
4242
"bugsnagEnv": "development"
4343
},
4444
"name": "Phoenix Code",
45-
"version": "4.1.2-21535",
45+
"version": "4.1.2-21537",
4646
"apiVersion": "4.1.2",
4747
"homepage": "https://core.ai",
4848
"issues": {

0 commit comments

Comments
 (0)