Skip to content

Commit b31d56d

Browse files
committed
deploy: 606b7d0
1 parent b92368b commit b31d56d

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

+196
-140
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-22T16:33:20.599Z",
34+
"build_timestamp": "2025-09-24T13:41:33.530Z",
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-21492",
46+
"version": "4.1.2-21493",
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: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13290,18 +13290,25 @@ define("command/Menus", function (require, exports, module) {
1329013290
Metrics.countEvent(Metrics.EVENT_TYPE.UI_MENU, "click", menuItem._command.getID());
1329113291
logger.leaveTrail("UI Menu Click: " + menuItem._command.getID());
1329213292
MainViewManager.focusActivePane();
13293-
if (menuItem._command._options.eventSource) {
13294-
// NOTE: Ideally beforeExecuteCommand should be fired inside Command.execute itself.
13295-
// But right now Command.execute() bypasses the event flow
13296-
// So we run through CommandManager.execute() to keep things consistent
13297-
// (keyboard + menu both go through the same path)
13298-
// Read this for more info: https://github.com/phcode-dev/phoenix/pull/2356
13299-
CommandManager.execute(menuItem._command.getID(), {
13293+
const commandId = menuItem._command.getID();
13294+
13295+
// NOTE: we handle save commands differently because we want save commands to go through the
13296+
// CommandManager.execute() to trigger beforeExecuteCommand events consistently, whether invoked via
13297+
// menu click or keyboard shortcut.
13298+
// because there are listeners that uses beforeExecuteCommand to listen to save commands
13299+
// (for ex: tabbar listens to save commands to add placeholder tabs to working set)
13300+
// Other commands use direct execution to preserve file tree context
13301+
if(commandId === Commands.FILE_SAVE ||
13302+
commandId === Commands.FILE_SAVE_AS ||
13303+
commandId === Commands.FILE_SAVE_ALL) {
13304+
CommandManager.execute(commandId);
13305+
} else if (menuItem._command._options.eventSource) {
13306+
menuItem._command.execute({
1330013307
eventSource: CommandManager.SOURCE_UI_MENU_CLICK,
1330113308
sourceType: self.id
1330213309
});
1330313310
} else {
13304-
CommandManager.execute(menuItem._command.getID());
13311+
menuItem._command.execute();
1330513312
}
1330613313
});
1330713314

cacheManifest.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"appConfig.js": "96e4773b385f6af44d41879e3b4063c1650df056bab42fc8cbbaf75df0b24b40",
3-
"assets/default-project/en.zip": "42ed807bd35485406a07fa83f65258615e37e0ebf3c55af2234a8716ceccbc26",
2+
"appConfig.js": "e1289aa901cfbc8bfa881352bad5414107fade0ff464425ef90492dd840b6323",
3+
"assets/default-project/en.zip": "ce0df5b00ef3731943ee2bec3bbdf5c271c887f0d07e1fe5d448e53cae0d56c2",
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": "549cdd8cdc885baa57ee86a7546f0f9cd64689c2cc8cac53de2b344648c38cb7",
129+
"assets/sample-projects/bootstrap-blog.zip": "c59a9532bce568470b090fbb12bf29c7502d7b938fbe252f59b356fb0d9f3c7a",
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": "69dfecbc2c5e1fc37f17d71693e9981205c9371d37d380bd3d973851081805e3",
139+
"assets/sample-projects/dashboard.zip": "0d44f4b1876c0b5224e2122147557fa058e96bca5c584d31154afaaa341d5cdb",
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": "9e61b1bc8d5144af00092531c53f735b4cadc86108d9ba1c980dd02909cd2705",
151+
"assets/sample-projects/explore.zip": "07a2feb6494836ecfc151e19193566307e7ee09a4f5e46f47ce935b92eb31b1c",
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": "b12f7e4c1f2ea4ceb803a35effd4332b287c02795f78a2e1aaafd6c139d845fc",
239+
"assets/sample-projects/home-pages.zip": "16685b1f4a648c4eed8ab98d29ca83e0507f0197e5fe0d970ee639d6ed45259f",
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,28 +248,28 @@
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": "5c9ede00e70fa863c1b5a12d5f79ed70ade86bbdd340df93b624e1aa051cbb88",
251+
"assets/sample-projects/HTML5.zip": "8b7537cb7978486b66d6458fd815517977e71f03bc3572cd8b68a958ccff0d48",
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": "5dada28d7f5a2adb53d1166f91ebcbf0263a65fb6e04f0681b30d4259c52367d",
259+
"brackets-min.js": "9130f9f7c5d617bb1fb099c5d1cba1430ffa90454ab94ad35a95cf4720879c9c",
260260
"brackets.config.dist.json": "37dcc4038da06c6ac78b161bac468779bc4b40ac49fc33463e93af9f3f1d1983",
261261
"brackets.config.staging.json": "f025278e7fb4e61d7feeefaddf0577cd14c08721cf4b1ffcb750a4aaec4bc79e",
262262
"brackets.js": "95463f069596323c001a6b6a5bbf288db15becc309bb9f23e6766431ae70ef1c",
263-
"cacheManifest.json": "e6583c2c3ba849d808a08a9f3e654e77c866d4b041fe658ec40bd59d8a7a3ec0",
263+
"cacheManifest.json": "7e9c3d598013fdc92a1cd8c9ebc9d11584c916b4c8191ae8112cd68335529986",
264264
"command/ChangeShortcutTemplate.html": "345d682d8bde29380822824778cf09acc79affae6e82b9db00c6205b2b3dd2ee",
265265
"command/CommandManager.js": "5b2db315832b199eb4b9e48d3d46151a8ca4535f652ad9ef1cb56d9c57382cd6",
266266
"command/Commands.js": "bd0b38a2d179ac25ca2f89c7d6cab18a125d62f75a435e8c466a6d72889a81f2",
267267
"command/DefaultMenus.js": "7614c80a52828a038a0782284f7f9d5ec1241b9a4f2340f6ee5508a033495582",
268268
"command/KeyBindingManager.js": "9cf6683e8402ca62769cf0696213a8ca8f7082bd440fb8dabeea3cae1a695ed0",
269269
"command/KeyboardOverlayMode.js": "7170dfcfca59b41252146ef8a5ca4f652c666e33b7a4b411e30e72951bd35b49",
270270
"command/Keys.js": "36545bbbca56d2a909779c5873fa860bf737977588ad61a398acb86f6bcbe4ee",
271-
"command/Menus.js": "beb98697f9999b206bd62df522996931f54beb44f237ba16e0984b30a69c1328",
272-
"config.json": "2682e80e2e99d45bfb52747eff74e45536996c607bfb577e7eee98e97b2d62ef",
271+
"command/Menus.js": "dd71f16f6594774da1a6410ea6f618c1eaea7a7f1268fe47e81c539d2f921cbb",
272+
"config.json": "223aecaaa759093b71545eb360c467c58db0fbb9891410265a77c06ddbe058c9",
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": "63d28eea11623fd7ca26582256d5e452b1639de7041b95e15371784afdc1e77c",
580+
"extensions/registry/popularity.json": "725ff47c769dab5d92edaca427d89e867544f5f1dae5dbe3e970abd3fb579783",
581581
"extensions/registry/registry_version.json": "3e18f43f966d74707343679b4b894050b26f2adfd2087421f18143c3c0cbf46f",
582582
"extensions/samples/BracketsConfigCentral/htmlContent/Config.html": "6ac3ce03e2fb8913ec5da3e8835c0646894f242600c64d95b77c7d7dc0a156f7",
583583
"extensions/samples/BracketsConfigCentral/htmlContent/logo-sm.png": "006f025fecd24c292e87a1eb0e123ee21178ec9c09517a1f16fe362fe2fbcbb5",

command/Menus.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -736,18 +736,25 @@ define(function (require, exports, module) {
736736
Metrics.countEvent(Metrics.EVENT_TYPE.UI_MENU, "click", menuItem._command.getID());
737737
logger.leaveTrail("UI Menu Click: " + menuItem._command.getID());
738738
MainViewManager.focusActivePane();
739-
if (menuItem._command._options.eventSource) {
740-
// NOTE: Ideally beforeExecuteCommand should be fired inside Command.execute itself.
741-
// But right now Command.execute() bypasses the event flow
742-
// So we run through CommandManager.execute() to keep things consistent
743-
// (keyboard + menu both go through the same path)
744-
// Read this for more info: https://github.com/phcode-dev/phoenix/pull/2356
745-
CommandManager.execute(menuItem._command.getID(), {
739+
const commandId = menuItem._command.getID();
740+
741+
// NOTE: we handle save commands differently because we want save commands to go through the
742+
// CommandManager.execute() to trigger beforeExecuteCommand events consistently, whether invoked via
743+
// menu click or keyboard shortcut.
744+
// because there are listeners that uses beforeExecuteCommand to listen to save commands
745+
// (for ex: tabbar listens to save commands to add placeholder tabs to working set)
746+
// Other commands use direct execution to preserve file tree context
747+
if(commandId === Commands.FILE_SAVE ||
748+
commandId === Commands.FILE_SAVE_AS ||
749+
commandId === Commands.FILE_SAVE_ALL) {
750+
CommandManager.execute(commandId);
751+
} else if (menuItem._command._options.eventSource) {
752+
menuItem._command.execute({
746753
eventSource: CommandManager.SOURCE_UI_MENU_CLICK,
747754
sourceType: self.id
748755
});
749756
} else {
750-
CommandManager.execute(menuItem._command.getID());
757+
menuItem._command.execute();
751758
}
752759
});
753760

0 commit comments

Comments
 (0)