Skip to content

Commit aca8a48

Browse files
committed
deploy: 8a905e4
1 parent f4ffa47 commit aca8a48

27 files changed

+482
-180
lines changed

appConfig.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ window.AppConfig = {
2323
"extension_store_url": "https://store.core.ai/src/",
2424
"app_notification_url": "assets/notifications/dev/",
2525
"linting.enabled_by_default": true,
26-
"build_timestamp": "2024-02-03T10:14:23.120Z",
26+
"build_timestamp": "2024-02-03T18:15:44.918Z",
2727
"googleAnalyticsID": "G-P4HJFPDB76",
2828
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
2929
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -34,7 +34,7 @@ window.AppConfig = {
3434
"bugsnagEnv": "development"
3535
},
3636
"name": "Phoenix",
37-
"version": "3.2.25-19812",
37+
"version": "3.2.25-19815",
3838
"apiVersion": "3.2.25",
3939
"homepage": "https://core.ai",
4040
"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: 91 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14312,10 +14312,10 @@ define("document/DocumentCommandHandlers", function (require, exports, module) {
1431214312
);
1431314313
}
1431414314

14315-
function newPhoenixWindow(cliArgsArray = null) {
14315+
function newPhoenixWindow(cliArgsArray = null, cwd=null) {
1431614316
let width = window.innerWidth;
1431714317
let height = window.innerHeight;
14318-
Phoenix.app.openNewPhoenixEditorWindow(width, height, cliArgsArray);
14318+
Phoenix.app.openNewPhoenixEditorWindow(width, height, cliArgsArray, cwd);
1431914319
}
1432014320

1432114321
async function _fileExists(fullPath) {
@@ -14327,28 +14327,68 @@ define("document/DocumentCommandHandlers", function (require, exports, module) {
1432714327
}
1432814328
}
1432914329

14330-
async function _openFilesPassedInFromCLI(args=null) {
14330+
async function _tryToOpenFile(absOrRelativePath, cwdIfRelativePath) {
14331+
try{
14332+
let fileToOpen = absOrRelativePath;
14333+
if(cwdIfRelativePath){
14334+
fileToOpen = window.path.join(Phoenix.VFS.getTauriVirtualPath(cwdIfRelativePath), absOrRelativePath);
14335+
} else {
14336+
fileToOpen = Phoenix.VFS.getTauriVirtualPath(absOrRelativePath);
14337+
}
14338+
let isFile = await _fileExists(fileToOpen);
14339+
if(isFile){
14340+
FileViewController.openFileAndAddToWorkingSet(fileToOpen);
14341+
return true;
14342+
}
14343+
} catch (e) {
14344+
console.warn("Opening file failed ", absOrRelativePath, e);
14345+
}
14346+
return false;
14347+
}
14348+
14349+
async function _openFilesPassedInFromCLI(args=null, cwd="") {
1433114350
if(!args){
14332-
args= await Phoenix.app.getCommandLineArgs();
14351+
const cliArgs= await Phoenix.app.getCommandLineArgs();
14352+
args = cliArgs && cliArgs.args;
14353+
cwd = cliArgs && cliArgs.cwd;
1433314354
}
1433414355
if(!args || args.length <= 1){
1433514356
return;
1433614357
}
1433714358

1433814359
for(let i=1; i<args.length; i++) { // the first arg is the executable path itself, ignore that
14339-
try{
14340-
const fileToOpen = Phoenix.VFS.getTauriVirtualPath(args[i]);
14341-
const {entry} = await FileSystem.resolveAsync(fileToOpen);
14342-
if(entry.isFile){
14343-
FileViewController.openFileAndAddToWorkingSet(fileToOpen);
14360+
const fileArg = args[i];
14361+
let isOpened = await _tryToOpenFile(fileArg);
14362+
if(!isOpened){
14363+
// if here, then, this maybe a relative file path or not a file at all. check if relative path
14364+
await _tryToOpenFile(fileArg, cwd);
14365+
}
14366+
}
14367+
}
14368+
14369+
async function _safeCheckFileAndGetVirtualPath(absOrRelativePath, relativeToDir=null) {
14370+
try{
14371+
let fileToCheck;
14372+
if(!relativeToDir){
14373+
fileToCheck = Phoenix.VFS.getTauriVirtualPath(absOrRelativePath);
14374+
const fileExists = await _fileExists(fileToCheck);
14375+
if(fileExists){
14376+
return fileToCheck;
14377+
}
14378+
} else {
14379+
fileToCheck = window.path.join(Phoenix.VFS.getTauriVirtualPath(relativeToDir), absOrRelativePath);
14380+
const fileExists = await _fileExists(fileToCheck);
14381+
if(fileExists){
14382+
return fileToCheck;
1434414383
}
14345-
} catch (e) {
14346-
console.error("Error opening file passed in from cli: ", args[i], e);
1434714384
}
14385+
} catch (e) {
14386+
console.warn("error opening folder at path", absOrRelativePath, relativeToDir);
1434814387
}
14388+
return null;
1434914389
}
1435014390

14351-
async function _singleInstanceHandler(args) {
14391+
async function _singleInstanceHandler(args, cwd) {
1435214392
const isPrimary = await Phoenix.app.isPrimaryDesktopPhoenixWindow();
1435314393
if(!isPrimary){
1435414394
// only primary phoenix windows can open a new window, else every window is going to make its own
@@ -14357,19 +14397,22 @@ define("document/DocumentCommandHandlers", function (require, exports, module) {
1435714397
}
1435814398
if(args.length > 1) {
1435914399
// check if the second arg is a file, if so we just open it and the remaining files in this window
14360-
const fileToOpen = Phoenix.VFS.getTauriVirtualPath(args[1]);
14361-
const secondArgIsFile = await _fileExists(fileToOpen);
14362-
if(secondArgIsFile) {
14363-
await _openFilesPassedInFromCLI(args);
14400+
let fileToOpen = await _safeCheckFileAndGetVirtualPath(args[1]);
14401+
if(!fileToOpen){
14402+
// maybe relative path?
14403+
fileToOpen = await _safeCheckFileAndGetVirtualPath(args[1], cwd);
14404+
}
14405+
if(fileToOpen) {
14406+
await _openFilesPassedInFromCLI(args, cwd);
1436414407
await Phoenix.app.focusWindow();
1436514408
return;
1436614409
}
1436714410
}
14368-
newPhoenixWindow(args);
14411+
newPhoenixWindow(args, cwd);
1436914412
}
1437014413

1437114414
function handleFileNewWindow() {
14372-
newPhoenixWindow();
14415+
newPhoenixWindow([]);
1437314416
}
1437414417

1437514418
/** Show a textfield to rename whatever is currently selected in the sidebar (or current doc if nothing else selected) */
@@ -116093,17 +116136,43 @@ define("project/ProjectManager", function (require, exports, module) {
116093116136
}
116094116137
}
116095116138

116139+
async function _safeCheckFolder(absOrRelativePath, relativeToDir=null) {
116140+
try{
116141+
let folderToOpen;
116142+
if(!relativeToDir){
116143+
folderToOpen = Phoenix.VFS.getTauriVirtualPath(absOrRelativePath);
116144+
const dirExists = await _dirExists(folderToOpen);
116145+
if(dirExists){
116146+
return folderToOpen;
116147+
}
116148+
} else {
116149+
folderToOpen = window.path.join(Phoenix.VFS.getTauriVirtualPath(relativeToDir), absOrRelativePath);
116150+
const dirExists = await _dirExists(folderToOpen);
116151+
if(dirExists){
116152+
return folderToOpen;
116153+
}
116154+
}
116155+
} catch (e) {
116156+
console.warn("error opening folder at path", absOrRelativePath, relativeToDir);
116157+
}
116158+
return null;
116159+
}
116160+
116096116161
async function _getStartupProjectFromCLIArgs() {
116097-
const args = await Phoenix.app.getCommandLineArgs();
116162+
const cliArgs= await Phoenix.app.getCommandLineArgs();
116163+
const args = cliArgs && cliArgs.args,
116164+
cwd = cliArgs && cliArgs.cwd;
116098116165
if(!args || args.length <= 1){ // the second arg is the folder we have to open
116099116166
return null;
116100116167
}
116101116168
try{
116102-
const folderToOpen = Phoenix.VFS.getTauriVirtualPath(args[1]);
116103-
const dirExists = await _dirExists(folderToOpen);
116104-
if(dirExists){
116169+
let folderToOpen = args[1];
116170+
folderToOpen = await _safeCheckFolder(args[1]);
116171+
if(folderToOpen){
116105116172
return folderToOpen;
116106116173
}
116174+
folderToOpen = await _safeCheckFolder(args[1], cwd);
116175+
return folderToOpen;
116107116176
} catch (e) {
116108116177
console.error("Error getting startupProjectPath from CLI args", e);
116109116178
}

cacheManifest.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"appConfig.js": "c73d3f7ce813fde55c8a1d6ab6cbe51c",
3-
"assets/default-project/en.zip": "966e6653777e8246d6d6ccdb8039b8b0",
2+
"appConfig.js": "dd99bc28f214b59859415ef66d5f0503",
3+
"assets/default-project/en.zip": "0b0482a2c15e5a72db13e1850eb61ba5",
44
"assets/default-project/en/images/cloud1.svg": "aca7bba84a2237f1c1988caea54a67a9",
55
"assets/default-project/en/images/cloud2.svg": "02880216ac461f1578ac8a18f158ce28",
66
"assets/default-project/en/images/cloud3.svg": "7a78bb29bd895ead8c171001244d9b7d",
@@ -120,7 +120,7 @@
120120
"assets/phoenix-splash/live-preview-error.html": "98b11e5ae0c9341ab1450e029065ac7b",
121121
"assets/phoenix-splash/no-preview.html": "2c51d14109552b59976145fe9ac33236",
122122
"assets/phoenix-splash/styles.css": "6809a039001526eeec64eeef1f0ad807",
123-
"assets/sample-projects/bootstrap-blog.zip": "c2b98958602cb6438269108e18a48824",
123+
"assets/sample-projects/bootstrap-blog.zip": "ec76a1ac8ac4e983bcf6242d494bc9cc",
124124
"assets/sample-projects/bootstrap-blog/assets/brand/bootstrap-logo-white.svg": "2e642df55357162ad28519305c8fd4fe",
125125
"assets/sample-projects/bootstrap-blog/assets/brand/bootstrap-logo.svg": "88eef7f3c2bcf988457a0e6d123c3f1d",
126126
"assets/sample-projects/bootstrap-blog/assets/dist/css/bootstrap.min.css": "6d9c6fda1e7087224431cc8068bb998f",
@@ -130,7 +130,7 @@
130130
"assets/sample-projects/bootstrap-blog/blog.rtl.css": "c6c275bf0b804d3dec264ec7fb3d7677",
131131
"assets/sample-projects/bootstrap-blog/index-rtl.html": "506e2d3fd1c4bb3651377144a62d5e82",
132132
"assets/sample-projects/bootstrap-blog/index.html": "dd8824ad3c9520dc0a825176d20eb694",
133-
"assets/sample-projects/dashboard.zip": "29b4fc00ff1943c6e5d7649216684c60",
133+
"assets/sample-projects/dashboard.zip": "1dfafc22adb30bd72439b2ba85488d11",
134134
"assets/sample-projects/dashboard/assets/brand/bootstrap-logo-white.svg": "2e642df55357162ad28519305c8fd4fe",
135135
"assets/sample-projects/dashboard/assets/brand/bootstrap-logo.svg": "88eef7f3c2bcf988457a0e6d123c3f1d",
136136
"assets/sample-projects/dashboard/assets/dist/css/bootstrap.min.css": "6d9c6fda1e7087224431cc8068bb998f",
@@ -142,7 +142,7 @@
142142
"assets/sample-projects/dashboard/index.html": "ddfda6ea9dfc8e12a8dcbbf065c804de",
143143
"assets/sample-projects/dashboard/signin.css": "a71ff2b493f230e0d6585793c2115809",
144144
"assets/sample-projects/dashboard/signin.html": "b108c183dfa7e2da3d88ec79bee79509",
145-
"assets/sample-projects/explore.zip": "13d582269daa552a520673fd85cf860c",
145+
"assets/sample-projects/explore.zip": "2bdca8bbef758ab863b3687d66b0d53a",
146146
"assets/sample-projects/explore/A-tribute-page.html": "007699e85177db3d1cd87d0d47440b36",
147147
"assets/sample-projects/explore/adjustable-fireworks.html": "706a0995d00d8ae009b5426cf7ee69be",
148148
"assets/sample-projects/explore/ant_colony.html": "d0885229e57caecc83049b50ee98560c",
@@ -232,7 +232,7 @@
232232
"assets/sample-projects/explore/watermelon-pixel.html": "6f6754e8073436bb823807a10a0446ea",
233233
"assets/sample-projects/explore/webmine.html": "9879458a48c757dc6671d408e940da4d",
234234
"assets/sample-projects/explore/whack-a-mole.html": "827f15c53657350b9c898fa27ecf15ac",
235-
"assets/sample-projects/home-pages.zip": "cc303f5c67de42e58d59b0d7bd87e34e",
235+
"assets/sample-projects/home-pages.zip": "70e6b871539e2a8d610128ad925f02ac",
236236
"assets/sample-projects/home-pages/album/index.html": "df20e4a479659463ab9d3f6b4ca4dbd1",
237237
"assets/sample-projects/home-pages/assets/brand/bootstrap-logo-white.svg": "2e642df55357162ad28519305c8fd4fe",
238238
"assets/sample-projects/home-pages/assets/brand/bootstrap-logo.svg": "88eef7f3c2bcf988457a0e6d123c3f1d",
@@ -244,29 +244,29 @@
244244
"assets/sample-projects/home-pages/carousel/index.html": "fc5bf7b2d8640a2c393f465294210e7c",
245245
"assets/sample-projects/home-pages/cover/cover.css": "3738586a82dd90263617020e7f1db82e",
246246
"assets/sample-projects/home-pages/cover/index.html": "a0ae1a11224672532b3466df93ce0821",
247-
"assets/sample-projects/HTML5.zip": "8869c3fee09152866b3e0d06bdd7f1bc",
247+
"assets/sample-projects/HTML5.zip": "938734979e1d66fa1c956c1861a50093",
248248
"assets/sample-projects/HTML5/index.html": "ca318e370d63b3e083d3bd63052b8252",
249249
"assets/sample-projects/HTML5/script.js": "47de56d88cd6d866c4f77027128c0dd7",
250250
"assets/sample-projects/HTML5/styles.css": "8c798c8b3bba7e4d49dfe99b4deccd47",
251251
"assets/sample-projects/new-project-list.json": "52493b6373285d18a51a7e0319d812c2",
252252
"assets/sample-projects/zips/bootstrap.zip": "47b3132b5dbf324d6396188cf68ecae1",
253253
"base-config/keyboard.json": "e94cfd0fd5c713e95cb4ceac14157a4d",
254-
"brackets-min.js": "4df18d4909143ed39ea858981f77c457",
254+
"brackets-min.js": "50d6996a53fd626a92a320e8f825fa54",
255255
"brackets.config.dist.json": "65a7ad178b006a23115433cead0e3dc4",
256256
"brackets.config.staging.json": "64d4ae88ab3bf0a0841ee76ef036991d",
257257
"brackets.js": "1bb8ffcdc8c23e1e232fb7d74a09b995",
258-
"cacheManifest.json": "2e16671ee9ca4d30f09145d42b680abe",
258+
"cacheManifest.json": "66ea561938a165aa314b24d160f07b01",
259259
"command/CommandManager.js": "8763fce16883bbef252604330ac3bf49",
260260
"command/Commands.js": "15ae60b455ceef44d09dbfbdebf05567",
261261
"command/DefaultMenus.js": "95ac6ecc14fc1a5f5681d8535df92964",
262262
"command/KeyBindingManager.js": "00bfd0c248a3f005fac91b42ac6f510c",
263263
"command/Menus.js": "304d0fd1782b26ede69033f6a11ef608",
264-
"config.json": "9ac12313aebbd1d20b16e4727facdf69",
264+
"config.json": "45c088ab6686fcd1adbbce8a06dfe584",
265265
"desktop-metrics.html": "3ce2284286d6de344ebf9834f0957ba6",
266266
"devEnable.html": "5c494d5e246bdb4260557c03b73eea32",
267267
"document/ChangedDocumentTracker.js": "8763dbbd784b9e8a3614a8ee723d5273",
268268
"document/Document.js": "eb760e79fc98a767f350cea658935803",
269-
"document/DocumentCommandHandlers.js": "82f9b6f851df041ff735ea5f2f3dc122",
269+
"document/DocumentCommandHandlers.js": "370c9ec6360764dc0918dc8f91241d0f",
270270
"document/DocumentManager.js": "f69ee9d1b65bc075441fb752814767ab",
271271
"document/InMemoryFile.js": "34c461337dea2e4b5886586a4f929e6e",
272272
"document/TextRange.js": "12463434e5dbacabd457911259a26c52",
@@ -853,7 +853,7 @@
853853
"NodeConnector.js": "019a124dc5b402116d971932b714e0a6",
854854
"phoenix/errno.js": "6ca6e445e77fc2060df5ba36d88a8846",
855855
"phoenix/init_vfs.js": "d50da1cc9edd257b610cd1a0647b6695",
856-
"phoenix/shell.js": "ba0a82541f2b4246f119d4fe33856321",
856+
"phoenix/shell.js": "ff8007fc0bc7d42aca7990108e9698a0",
857857
"phoenix/virtual-server-loader.js": "b357c2a0f5f0fba5db7002a5b83b25ef",
858858
"phoenix/virtualfs.js": "111d6f4f4299db4d55c47e16693a23e4",
859859
"phoenix/virtualServer/config.js": "ef8dd2240e0edf889fb000cf329ed108",
@@ -872,7 +872,7 @@
872872
"project/FileTreeView.js": "fe84143b4e9e74012757e7d6078fb4c8",
873873
"project/FileTreeViewModel.js": "dccfbb087eb6de5017aaf1902c0c8899",
874874
"project/FileViewController.js": "882954f85e6fcc370eba7fb6cd0eeb83",
875-
"project/ProjectManager.js": "75d1608f13910499a4e17ebf2b19aaca",
875+
"project/ProjectManager.js": "db4261d9e411586d8b07fe8695955582",
876876
"project/ProjectModel.js": "a0813bd4f38fcb5325938c68482a9d81",
877877
"project/SidebarView.js": "904ec1205dff6901725f2e0b0be117c1",
878878
"project/WorkingSetSort.js": "6afc1815ba2fea6def8cac4e9254c23f",

config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"extension_store_url": "https://store.core.ai/src/",
2323
"app_notification_url": "assets/notifications/dev/",
2424
"linting.enabled_by_default": true,
25-
"build_timestamp": "2024-02-03T10:14:23.120Z",
25+
"build_timestamp": "2024-02-03T18:15:44.918Z",
2626
"googleAnalyticsID": "G-P4HJFPDB76",
2727
"googleAnalyticsIDDesktop": "G-VE5BXWJ0HF",
2828
"mixPanelID": "49c4d164b592be2350fc7af06a259bf3",
@@ -33,7 +33,7 @@
3333
"bugsnagEnv": "development"
3434
},
3535
"name": "Phoenix",
36-
"version": "3.2.25-19812",
36+
"version": "3.2.25-19815",
3737
"apiVersion": "3.2.25",
3838
"homepage": "https://core.ai",
3939
"issues": {

0 commit comments

Comments
 (0)