Code Monkey home page Code Monkey logo

moonshine-ide / moonshine-ide Goto Github PK

View Code? Open in Web Editor NEW
120.0 14.0 16.0 1.28 GB

Moonshine is a free and open source middleweight IDE built with ActionScript 3 for ActionScript 3, Apache Flex®, Apache Royale™, and Feathers development, with Cloud and Desktop support.

Home Page: http://moonshine-ide.com/

License: Other

ActionScript 66.10% Shell 0.08% CSS 0.41% JavaScript 12.50% HTML 0.26% C 0.24% Objective-C 0.12% Java 0.49% Batchfile 0.02% TypeScript 5.29% Haxe 14.01% Makefile 0.01% NSIS 0.18% Python 0.05% ANTLR 0.23%
actionscript flex feathers-ui ide air cloud-support apacheflex apacheroyale adobeair moonshine

moonshine-ide's Introduction

Synopsis

Moonshine IDE is a free IDE built with Adobe AIR. You can create ActionScript 3, Apache Flex®, Apache Royale® and Feathers projects from Moonshine-IDE. It also provides cloud support.

Motivation

We want to provide a free IDE to our community for ActionScript projects. An IDE which is cross platform and provides Apache Flex®, Apache Royale®, Feathers and cloud support.

Local Build

1. Install Apache Ant

To build Moonshine IDE you need to install Apache Ant. You can also install Apache Ant using npm, chocolatey, etc.

2. Download SDKs

To build Moonshine IDE you need to download:

If you've used Moonshine IDE before and already downloaded these SDKs with Moonshine SDK Installer you can use existing SDKs. By default they're installed in:

  • C:\MoonshineSDKs\Flex_SDK\Flex_xxx_AIR_xxx on Windows
  • /Users/$username/Downloads/MoonshineSDKs on Mac

3. Clone Moonshine SDK Installer

To build Moonshine IDE you also need Moonshine SDK Installer source code. You can clone Moonshine SDK Installer from: https://github.com/prominic/Moonshine-SDK-Installer.git.

You should place SDK Installer repository on the same level as Moonshine IDE. So if you have Moonshine IDE in C:\Repos\Moonshine-IDE you should have SDK Installer in C:\Repos\Moonshine-SDK-Installer.

4. Additional Required Projects

These projects are also required:

5. Change configuration files for local build

In Moonshine-IDE\ide\MoonshineDESKTOPevolved\build\ApplicationProperties.xml change:

  • Build version to something newer than already installed eg.

     <buildVersion><![CDATA[2.7.0]]></buildVersion>
    
  • If you have FLEX_HOME set up as environment variable you can skip this step. If not, set one of the following parameters:

    On Windows 32-bit:

     <winSDKPath><![CDATA[C:\MoonshineSDKs\Flex_SDK\Flex_xxx_AIR_xxx]]></winSDKPath>
    

    On Windows 64-bit:

     <winSDKPath64><![CDATA[C:\MoonshineSDKs\Flex_SDK\Flex_xxx_AIR_xxx]]></winSDKPath64>
    

    On Mac and Linux:

     <unixSDKPath><![CDATA[path/to/Flex_xxx_AIR_xxx]]></unixSDKPath>
    

In Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\MoonshineDESKTOP-app.xml

  • By default Moonshine IDE builds with AIR 28.0. If you've installed newer version of AIR SDK on your environment (eg. 32.0) change this parameter accordingly:

     <application xmlns="http://ns.adobe.com/air/application/32.0">
    

6a. Build Desktop Version

If you need to recompile language server, build and deploy codecompletion.jar. If not, you can skip this step.

cd language-server-wrappers/moonshine-as3mxml
ant deploy

To build the application itself, use these commands:

cd ide/MoonshineDESKTOPevolved/build
ant 

Find the generated artifacts in ide/MoonshineDESKTOPevolved/build/DEPLOY

6b. Build Web Version

To compile the SWF for the web version of Moonshine-IDE, run:

cd ide/MoonshineWEBevolved/build
ant 

Find the generated artifacts in ide/MoonshineWEBevolved/build/DEPLOY

NOTE: this part of the project is out of date. The server-side logic needs to be updated before the source can be released.

License

Moonshine-IDE is licensed under the Apache License 2.0 - see the LICENSE.md file for details

moonshine-ide's People

Contributors

aszusz avatar axgord avatar dependabot[bot] avatar dpastov avatar feather812002 avatar igazine avatar joelprominic avatar joshtynjala avatar piotrzarzycki21 avatar rat-moonshine avatar santanu4ver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moonshine-ide's Issues

[UI Builder - Flex] All options responsible for creating new file (AS3 Class etc.) should be disabled

In new features where user is able to create Visual Editor project some of the options in menu is being disabled. Once we close the project and project tree is being empty options like File -> New -> AS3 Class and all others in that section should be disabled.

Scenario:

  1. Create new Visual Editor Project
  2. Close created project

Current result:
Options for creating new files in menu are not disabled

Expected result:
Options for creating new files in menu should be disabled

Bug exists in feature branch integration_ve_with_moonshine

Browsers Report Old Flash Version for SWF Builds

This issue was extracted from #26

The SWF builds are giving "To view this page ensure that Adobe Flash Player version 16.0.0 or greater is installed." errors when they open in Firefox, Safari, and Chrome. This seems to be caused because the browsers added additional restrictions for SWFs opened from the local filesystem.

We would like to avoid this error message if possible.

Some relevant quotes from the old issue:

@rat-moonshine

I started testing HTML wrapper file behaviour in multiple OSX browsers, they are listed as below:

Safari 11.0
Chrome 61.0.*
Mozilla 56.0
So far by my tests, Mozilla shown most problematic behaviour at this moment.

Moonshine uses default wrapper HTML that comes with Flash Builder web project. It uses same other elements (js, expressInstaller.swf etc.) files as well from the same bundle.

When I ran the html in browsers, I see this icon in screen:
image

Chrome and Safari: Clicking on the icon - if higher version of Flash Player plugin already installed, it rans the SWF on browser.
Mozilla: Even I ensured I have higher version of plugin installed, it always taken me to the Flash Player downloader page, like its not able to detect properly if/which plugin version installed.

I tested by some alteration in the HTML, and I noticed that "activate content" type of option only comes when the files are hosted to some server.

I uploaded the files to some test server, and here are the results:

Safari: image

Chrome: image

Mozilla: image

I'm not sure how we can enable that option when the files runs at local, though.

@piotrzarzycki21 any idea how we can do that?

Or, at least, if somehow we can get over the problem where Mozilla redirects to the FP downloader site whenever the icon clicked, and play the SWF content instead (just like Chrome and Safari does).

@JoelProminic

Here is the relevant comment from the thread that Piotr linked:

This may or may not be related to your issue, but I figured I'd mention it.

Since Flash Player 23, local-with-file-system permissions have been
restricted. These file system permissions used to be applied when you use
the -use-network=false compiler option. Now, you're required to use
local-with-networking permissions, which don't let you access the local
file system. If you need local file system access, you can add the SWF to
Flash Player's trusted locations. Usually, Flash Builder's debugger will
add any SWFs it loads to the trusted locations automatically.

As a workaround, you can run a local server for debugging so that it loads
from the "network" instead of from the file system.

  • Josh

I see a couple possiblities that we could investigate further:

Adding the SWF to a Flash Player trusted location (or providing instructions for the user)
Bundling a lightweight local server with Moonshine so that we can provide the SWFs by that method. I'm not sure if Apple will let us do this, though.

When I did a quick test with the Trusted Locations, they did not seem to make a difference for Firefox. I tried specifying both the parent directory and the SWF itself:

@piotrzarzycki21

@JoelProminic ,

We have had long discussion with @rat-moonshine about possible solution and didn't come up with anything which could simple resolve that.

Giving your options for consideration:

Adding the SWF to a Flash Player trusted location (or providing instructions for the user)

I did try it on Windows 10 and it didn't change anything as it on Mac.

Bundling a lightweight local server with Moonshine so that we can provide the SWFs by that method. I'm not sure if Apple will let us do this, though.

Currently I'm not sure how can we implement such thing and I definitely share the same concerns that we will have problems with Apple stuff. I believe also having such external local server with Moonshine will generate to us some additional problems.

Some options:

"Remote debugging". - Application is pushed to the server and Moonshine is able to attach debugger into that application. - I believe this is totally new feature which is out of scope.
Partial remote debugging by using 3rd party software Fiddler. User in that case will have to push app to the server same as in (1). Moonshine have to be able to listen for the application, and Fiddler replacing runned on server swf request with local swf - That replacement triggers debugger.
Redirect user to use other browser than Firefox, since we don't have any clear and simple to use resolution for that. Everything above will generate additional problems in case of usage. I recommend go with that option.

Please discuss it today with @rat-moonshine . In whatever direction we will go I believe that is something for not 1.6.0 release.

Thanks,
Piotr

Some Minor Issues

After using Moonshine for a few days, a few things I've noticed.

  1. If my project called Test is open and I then select Open/Import Flex Project and try to open project called Test2, it won't open and the bottom panel shows Project already open - ignoring request. If Test2 is already open however, then Test will open correctly.

  2. Suggest set a timer (30 seconds is probably more than enough) on the mouse-over pop-ups. Sometimes they get orphaned and I have to close the IDE and re-open to remove them.

  3. I like to work in a window not full screen but bigger than the default start window. Either store the window size after resizing or add a line in global settings for start window size.

Overall it's an excellent IDE as far as it goes. Looking forward to next update. But brilliant job so far. I really like using it - just wish I could do some build tests.

Doug

Moonshine Hangs After Restart (TODO: update title after cause determined)

I have seen this behavior twice in the last couple of days:

  1. Restart Moonshine
  2. Moonshine opens
  3. Moonshine expands to full screen (because of my settings)
  4. After about 5-10 seconds Moonshine hangs and needs to be killed
  5. This issue repeats until you clear the configuration (~/Library/Containers/com.moonshine-ide)

The hang happens before the console window expands, and the timing makes me thing that the issue is related to this.

Unfortunately, I have not been able to reproduce the action from the Moonshine UI.

I saved the configuration files from when the application was failing. After some experimentation, I was able to reproduce the crash by replacing only this file:
~/Libraries/Containers/com.moonshine-ide/Data/Library/Preferences/Macromedia/Flash Player/macromedia.com/support/flashplayer/sys/settings.sol

Corrupt version (zipped so that I could attach it on GitHub):
2017_09_22__Bad_moonshine-ide-local.sol.zip

Note that this is a binary file, but you can see some of the values if you open it with a text editor. Since it has a lot of references to paths on my workstation, you probably won't be able to test with it directly, but I hope it will give some clues about what causes the hang.

Away Builder Integration

Original Request:

In keeping with our mission to bring together the best of the remaining AIR features and FlexJS into Moonshine, please bundle into a soon upcoming release of Moonshine (both app store and win/mac versions).

Then please integrate a launcher button into Moonshine IDE, and do NOT embed the entire Away Builder SWF into Moonshine. Instead, launch it as a separate program only upon request by the user by clicking a "Build an Away3D model" button.

We should then ship Moonshine with a default Away 3D project, which we will do so.

Walker has been working on one that we can probably use.

The URLs are below, and nothing I see about the license would prevent us from including it.

In time, we will start adding other 3D functions to import models from other (more "modern" environments), but we will worry about that later.

Please schedule Away 3D Builder to be included in Moonshine within at most 4 weeks from today, unless it proves to be a big technical challenge.

Away Builder is open source, and licensed under the Apache License 2.0: https://github.com/awaytools/AwayBuilder/blob/master/awaybuilder-license.txt
http://away3d.com/awaybuilder/

Some clarification:

I've downloaded the Away Builder application from the given URL.

I discussed this with Piotr. Since we both have no knowledge about Away 3D, here's a few queries/thoughts for you to review, please correct them as requires.

  • First thing which confused me is the phrase "Build an Away 3D model". Based on Moonshine terminology by 'build' we thought something about compilation (with some SDK, maybe of Away 3D). When I ran the Away Builder I noticed there's no option or concept of build or compilation. So does this means by "Build an Away 3D model" button you envisioned to have a button somewhere in Moonshine which shall open the 3rd party (Away Builder) application only? Of course user shall need to locate the application to a prior step to do this.

  • You also mentioned that we should ship Moonshine with a basic Away 3D project; Will that also be listed as a new template project in Moonshine splash screen, and upon creation Moonshine will create the project to user's system and therefore trigger Away Builder with the newly created project?

Response:

The word "build" in the context of Away3D Builder has nothing to do with code compilation or package assembly in the sense that "build" means like Bamboo, ANT, etc.

Away3D builder is like Photoshop for 3D models. Think of it that way. And the word "build" related to Away3D means more like "draw a photo" in Photoshop.

So "Build a 3D model" button in Moonshine really can be "Launch Away 3D Builder separate executable."

Add option "Reset Application" to Moonshine's settings

In order to get back application to the state from the first clean installation we should add option "Reset Application" in the settings.

Reset:

  • Once user choose option "Reset Application" we need to have clean information message what will happen
  • Moonshine will be restarted

"Rate Our App" Reminder

Original request:

Please add some kind of reminder for people to rate and promote Moonshine so we can spread the word.

Include a button to post to Twitter and Facebook about it, and rate the app. These can just launch an embedded pre-populated text like "I just started using Moonshine IDE -- a modern FlexJS and ActionScript IDE which brings the best of cross platform pure browser (JavaScript), mobile (iOS/Android) and desktop (Mac and Windows) together. Check it out at moonshine-ide.com" or something like that.

We need to start tracking, if possible, the number of unique users / downloads we have, and ideally know how often they are using it and make it easy for them to provide feedback / bug reports on GitHub from within Moonshine for anything they have trouble with.

Clarification:

We should not ask the user at exit - when people are ready to leave an app it is time for them to do something else mentally and I think we will have low acceptance.

Instead, we need an area of the homepage which does not take up much screen real estate, but is visible and encourages feedback.

It could look like:

Are you accomplishing what you want in Moonshine?
Thumbs Up (count of users who have up-voted so far -- then it presents a link to the App Store for Mac and suggests social sharing)
Thumbs Down (count of users who have down-voted so far -- then asks what they would improve)

Feature request (on GitHub)
Report a bug (on GitHub)
Join a discussion (on GitHub)
Get live help now (in development - some kind of IRC channel for Moonshine) - count of users on-line.

Something like that.

Please make some Photoshop mockups of this before you code it so we can further brainstorm.

Improvement to Find/Replace

When using Find/Replace if you can't Replace All it would save a lot of time if after clicking Replace One, it automatically stepped onto Next. At present you have to continually click Next>One>Next>One and so on.

Doug

Preserve Moonshine panels' state

Josh suggested some feature requests to Moonshine. Following are the points he mainly requested:

  • Exapand/collapse console window
  • Close/add left-side individual panels and they should get remembered when next time Moonshine starts

Following was his original requests:

I have a couple of feature requests for Moonshine.

  1. I would like a way to completely collapse/hide the console on the bottom of the window. If I don't expand/hide it again before I quit the app, it should remain collapsed/hidden the next time that I start Moonshine.

  2. If I close any of the panels on the left side (like Tour de Flex or API Docs), and I don't open them again before I quit the app, they should remain closed the next time that I start Moonshine.

  3. If I open any panels that aren't open by default (like Problems), and I don't close them before I quit the app, they should remain open the next time that I start Moonshine.

Basically, Moonshine should try to remember the last layout that I was using and restore it on startup.

Can't resolve chosen bead

I create a Panel component, add js:beads and type IBe - drop down list appears and I choose IBeadModel.

After correcting the insertion position of the new namespace, hovering over IBeadModel shows this

ns error

The code underneath the pop-up as follows

js:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/flexjs/basic"
xmlns:ns1="org.apache.flex.core.*"

Have I made some mistake here?

Doug

Auto namespace insertion out of place by 1 character

If I choose to add a Text tag, Moonshine auto inserts a new namespace "ns2" into the Application tag.

This is great except that it places the new text one character to the left of where it should be.

Application tag before choosing Text tag

<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/flexjs/basic"
xmlns:ns="library://ns.apache.org/flexjs/html5"
xmlns:ns1="org.apache.flex.html.beads.*" initialize="init()">

Application tag after choosing Text tag

<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/flexjs/basic"
xmlns:ns="library://ns.apache.org/flexjs/html5"
xmlns:ns1="org.apache.flex.html.beads.* xmlns:ns2="org.apache.flex.svg.*"" initialize="init()">

Doug

Editor Overlaps with Console Divider

While testing today, I noticed this issue:
2017_10_04__divider_display_issue

This only triggers when the window is maximized, and the opened file has enough lines that it can scroll down.

Some initial findings from @rat-moonshine

11:48:06 AM: Looking through the base SDK divider class, it seems it has a default alpha of .75
11:48:24 AM: It has a style property to set the alpha, but its not affecting.
11:48:48 AM: That is the only API is exposed for me at this point.
11:49:07 AM: I don't see if any other quick workaround at this moment, unfortunately.
11:50:00 AM: Maybe some more investigation it may needed, its not changing at this moment.
11:58:43 AM: I'm still trying to understand the style behavior of this divider classes.
12:02:45 PM: Okay. This problem seems related with the editor's masking functionality.
12:03:02 PM: This is something that I probably mentioned few times in past, during different discussions.
12:04:40 PM: I'm not quite sure how this masking range helps the editor, but in past I've seen Dhwani/Kinjal changing this masking range when some text mask issue happened.
12:05:00 PM: Like when you scroll some block of texts do not shows properly in the editor. I think you remember such problem.
12:07:13 PM: But anyway, the divider should affect with the given alpha value... this is coming out a little weird to me why its happening, and how come this editor extends a few pixels more in height when the editor's height is 100%
12:07:28 PM: Is it because of the masking thing that it has (?) Not sure..
12:24:55 PM: I think we shall need to look into this masking this more closely sometime later.. or how it affects in the whole scenario, as its generating in a loop

Null Pointer Exception in VSCodeDebugProtocolPlugin

In debugging version of Moonshine (run from IDE) I'm getting NPE in VSCodeDebugProtocolPlugin with following stack trace:

[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference. at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseSource()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:555] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseStackFrame()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:548] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseStackTraceResponse()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:529] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseResponse()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:343] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseProtocolMessage()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:295] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseMessageBuffer()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:232] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/parseMessageBuffer()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:254] at actionScripts.plugins.vscodeDebug::VSCodeDebugProtocolPlugin/socket_socketDataHandler()[D:\flex_sdk\Projects\Prominic.NET\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\src\actionScripts\plugins\vscodeDebug\VSCodeDebugProtocolPlugin.as:968]

In released version 1.6.0 and built by ANT version from current master it's not occurs or at least we don't gets any information about it. However once I have started application and set break point as you can see on the screenshot I don't get's code highlighting, debugged application freezes.

image

Example app attached.
NewFlexDesktopProject.zip

Improvement to Find/Replace

When changing a project from Flex to FlexJS, there are many occasions where lots of Find/Replace are required. In this case I need to change a bunch of = to : and space to comma. But I don't want to change every = or space in the whole page, just those within this block of text. So I have to use Replace One, but having done a replace I then have to click next before I can replace the next one. This more than doubles the time it takes to do this. It would be better if it automatically moves to the next after Replace One.

Doug

Moonshine sources built through the Moonshine having problems with opening files on MacOS

I wanted to use Moonshine to fix some issues on MacOS(#6, #7). I was able to setup, built and run Moonshine sources ("Build & Debug"). Unfortunately in any kind of places where I would like to change some path to folder/files object File() throws an event Event.CANCEL.

Scenario:

  1. Run Moonshine and go to global "Settings" -> "Default SDK"
  2. Click "Change" and try to "Browse" SDK

Current Results
Nothing happens. Browse window do not appear.

Following code has been used for open file browser:

_file.addEventListener(Event.SELECT, onSelectHandler);
_file.addEventListener(Event.CANCEL, onCancelHandler);
_file.browseForDirectory(title);

Once user click on "Browse" after some time onCancelHandler is being called.

I see in the MacOS "Console" following errors:
​default 14:09:48.283117 +0200 adl warning: <NSRemoteView: 0x112a60b80> determined it was necessary to configure <NSVBOpenPanel: 0x112a36940> to support remote view vibrancy default 14:09:48.322590 +0200 adl +[NSXPCSharedListener endpointForReply:withListenerName:]: an error occurred while attempting to obtain endpoint for listener 'com.apple.view-bridge': Connection interrupted default 14:09:48.322749 +0200 adl *** Assertion failure in +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:], /Library/Caches/com.apple.xbs/Sources/ViewBridge/ViewBridge-283/NSXPCSharedListener.m:415 default 14:09:48.327052 +0200 adl -[NSVBSavePanel init] caught non-fatal NSInternalInconsistencyException 'NSXPCSharedListener unable to create endpoint for listener named com.apple.view-bridge' with backtrace ( 0 CoreFoundation 0x00007fff821992cb __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fff96fb148d objc_exception_throw + 48 2 CoreFoundation 0x00007fff8219e042 +[NSException raise:format:arguments:] + 98 3 Foundation 0x00007fff83be6be0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 4 ViewBridge 0x00007fff959f2ca1 +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:] + 1028 5 ViewBridge 0x00007fff95a06128 -[NSRemoteView serviceMarshalConnection] + 332 6 ViewBridge 0x00007fff95a08261 -[NSRemoteView _advanceToConfigPhaseLegacy] + 606 7 ViewBridge 0x00007fff95a09189 - default 14:09:48.329215 +0200 adl warning: <NSRemoteView: 0x112bce000> determined it was necessary to configure <NSVBOpenPanel: 0x112bc3000> to support remote view vibrancy default 14:09:58.370717 +0200 adl +[NSXPCSharedListener endpointForReply:withListenerName:]: an error occurred while attempting to obtain endpoint for listener 'com.apple.view-bridge': Connection interrupted default 14:09:58.370847 +0200 adl *** Assertion failure in +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:], /Library/Caches/com.apple.xbs/Sources/ViewBridge/ViewBridge-283/NSXPCSharedListener.m:415 default 14:09:58.373579 +0200 adl -[NSVBSavePanel init] caught non-fatal NSInternalInconsistencyException 'NSXPCSharedListener unable to create endpoint for listener named com.apple.view-bridge' with backtrace ( 0 CoreFoundation 0x00007fff821992cb __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fff96fb148d objc_exception_throw + 48 2 CoreFoundation 0x00007fff8219e042 +[NSException raise:format:arguments:] + 98 3 Foundation 0x00007fff83be6be0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 4 ViewBridge 0x00007fff959f2ca1 +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:] + 1028 5 ViewBridge 0x00007fff95a06128 -[NSRemoteView serviceMarshalConnection] + 332 6 ViewBridge 0x00007fff95a08261 -[NSRemoteView _advanceToConfigPhaseLegacy] + 606 7 ViewBridge 0x00007fff95a09189 -

In order to check whether it is problem in Moonshine I have setup sources in Intellij on Mac - I was able to work without the problem.

I would start investigation of that issue from creating simple Adobe Air Flex app which uses File through the Moonshine.

Interrupting an Existing Debugging Session

I also noticed that Moonshine gave an error if I tried to start a new debugging session while the old session was still open

  1. Start a session with Debug > Build & Debug
  2. Try to start a new session with Debug > Build & Debug
  3. The existing session closes, and the application closes (AIR only)
  4. BUG: Moonshine reports the error below. The debugger does not start
  5. Run Debug > Build & Debug again. This time, the session opens properly.
    2017_10_04__debugger_session_error

I tested this with Mac OS 10.10.3 and both an AIR and SWF project.

I suggest we make Moonshine show a dialog like this:

You are already debugging an application. Do you wish to terminate the existing debugging session and start a new session?
Options: Yes, Cancel

So, the process would look like this:

  1. Start a session with Debug > Build & Debug
  2. Try to start a new session with Debug > Build & Debug
  3. Show the dialog described above. Preferably, this should happen before Moonshine builds the application.
  4. If the user clicks Yes, then close the old session and start a new session. If the user clicks Cancel, then keep the existing session open

Missing Application Descriptor for New AIR Project

I noticed that new AIR projects are not created properly in the recent builds of Moonshine:

  1. Open Moonshine
  2. File > New > New Flex Desktop Project (MacOS, Windowos)
  3. Give the project a name, and click Create
  4. BUG: the generated project does not have a application descriptor file (src/-app.xml)
    2017_10_12__testinvalidair

Here is the console output when I try Project > Build & Run
: Launch Applcation
: bin-debug/TestInvalidAIR.swf (1007613 bytes)
: (fcsh)
: application descriptor not found

This does not trigger with the latest release, 1.6.0, so somthing broke for this feature after the release.

I tested with Mac OS 10.10.5.

Tooltips and code suggestions not working with FlexJS nightlies for 0.9.0

When I hover over a tag, following shows in stack trace panel

: Unknown tag:compiler.fxg-base-class

According to the problems panel this occurs at flex-config.xml (line 127)

Problems panel also shows - A fatal error occurred while checking for errors.

But this project is just Hello World from the sdk.examples and was working fine. I can still compile and run it with no issues.

Doug

FlexJS Invalid SDK error

When trying to Build as JavaScript or Build and Run as JavaScript, result is as below

ms sdk error

The sdk is correctly selected however and mouse-over pop-ups and suggestion lists on typing all appear correctly. Project settings as below

ms project settings

Tried deleting (including Users com.moonshine-ide file) and re-installing Moonshine, but result is the same.

Choosing other sdk 0.8.0 makes no difference. In fact all build options instantly generate the Alert.

Additional compiler option is disabled for other projects than Adobe Air

I have noticed that all non Air projects (FlexJS, Flex Web browser) has disabled "Additional compiler options" in Settings.

Scenario:

  1. Create new non Air project for example FlexJS
  2. Right click on the project and choose "Settings"
  3. Click "Build options"

"Additional compiler options" is disabled.

image

Code:
I see that line number 180 in AS3ProjectVO -> additional.isEditable = air; caused that issue. Is it mistake or there were some purpose of doing such restriction ?

Editor masking issue produced by horizontal scrolling

As reported by @JoelProminic in #39 ,

I was able to reproduce the horizontal scroll issue like this:

  1. Create a new FlexJS Project
  2. Make sure that the project is using a FlexJS SDK
  3. Add a long line of code with an error. The line needs to be long enough that it will require a horizontal scroll. I added an example below that will trigger both an error and a warning
  4. Slide the horizontal scroll bar. You should see that the wavy lines do not move
	<fx:Script>
		<![CDATA[
		private var  foo:String = doesNotExist + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." + doesNotExist2 + " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
		private var bar = "";
		]]>
	</fx:Script>

Unfortunately, I also noticed that the code overlaps with the sidebar.
2017_10_12__sidebaroverlap

Here is my test project, if you need it. I tested with Moonshine 1.6.0 on Mac OS 10.10.5:
2017_10_12__TestHorizontalScroll.zip

Add option to settings which allows change Java JDK path

Add in the Moonshine's settings option which allows change path to Java JDK which being used by code completion.

  • It allows change path in case when Moonshine was already configured with some version of JDK and we make an upgrade in the OS

Hover: tooltip sometimes doesn't disappear

Recently, Doug reported the issue (reference #17):

Suggest set a timer (30 seconds is probably more than enough) on the mouse-over pop-ups. Sometimes they get orphaned and I have to close the IDE and re-open to remove them.

I've created a screen recording demonstrating the problem at here: https://vimeo.com/234630627.

Add confirmation dialog on file/directory delete

When user is trying to delete some file from the project - confirmation dialog should be displayed.

Proposition:

Title: Delete
Description: Delete file (directory) "Name of the file with extension"?
Buttons: Ok, Cancel

Option "Build with Apache Ant" failing if path to build.xml file contains spaces

Description:
If path to build.xml script contains spaces my build is failing.

Path Example: d:\Moonshine Project\Moonshine-IDE\ide\MoonshineDESKTOPevolved\build\

Environment:
Windows 10

Analysis:
NativeProcessStartupInfo cannot properly parse provided path to build.xml file. I see following code which is responsible for wrong conversion:

processArgs.push("set FLEX_HOME="+SDKstr+"&&"+ANTstr+" -file "+ UtilsCore.convertString(buildDir.fileBridge.nativePath) );

I did following fix which worked:

processArgs.push("set FLEX_HOME="+SDKstr+"&&"+ANTstr+" -file \"" +  buildDir.fileBridge.nativePath + "\"");

Basically path now is surrounded by quotation marks and cmd is accepting it properly. I didn't make pull request, cause

Unfortunately I'm not sure what repercussion may have removing UtilsCore.convertString(buildDir.fileBridge.nativePath) that is why I prefer raise defect.

Links to all ANE suppliers, Feathers, Starling, and other helpful items

Please in Moonshine add a JIRA issue to make an easy way for the users to find information on all aspects of modern Flash development.

This list should be ongoing and say "we welcome suggestions - email us at [email protected]" or something.

Here is a first draft of what we need – please add your own resources. This should be some kind of Helpful Resources section.

Starling
Feathers
ANEs
Stage3D
Away3D
Alternativa3D
Flare3D
Flash iOS Apps Cookbook

Make sure you include links in an organized fashion to all of the following in an easily accessible spot in Moonshine please:

Air Native Extensions:
http://www.myflashlabs.com

https://airnativeextensions.com

http://www.adobe.com/devnet/air/native-extensions-for-air.html

http://distriqt.com/native-extensions

https://www.milkmanplugins.com/air-native-extensions

http://easynativeextensions.com/tutorials-category/

Starling:
https://gamua.com/starling/

Feathers:
http://feathersui.com

Stage3D:
http://www.adobe.com/devnet/flashplayer/stage3d.html

Away3D:
http://away3d.com

Alternativa3D:
http://www.adobe.com/devnet/flashplayer/articles/alternativa3d-getting-started.html

Flare3D (apparently this one also has a 3D object IDE which sounds really interesting – PLEASE try it):
http://www.flare3d.com/downloads/

Flash iOS Apps Cookbook:
http://www.yeahbutisitflash.com/?page_id=3371

Ideally we would have example projects of each of these to let people start easily and quickly.

Any other core things you think we need so people can do the "basic" features on mobile these days – like touch authentication, push notifications, in-app purchases, etc. we should have example applications for in Moonshine, or at least links to people / places in the short term that can provide such things.

Please create a JIRA issue to track this, and consult with Piotr and Josh if there are any other links they think should be in Moonshine to core resources

Wavy underlines do not scroll horizontally

When moving pages from a Spark project into a FlexJS project, many tags and attributes are wavy underlined as expected. If you then horizontally scroll the page, the wavy underlines do not scroll with the rest of the page. Example image attached.

Doug
moonshine horiz scroll problem

Moonshine editor slowness

Environment: Windows 7
Found in version: Any (Moonshine)

Issue: Editor demonstrates masking issue when a file opened having long texts (preferably with a vertical scroll). Also, typing in the editor may not be that fast as we use to see in other Windows native text editors; the slowness maybe of milliseconds but having comfort to type in a fast editor sometime matters.

Description: Open the Moonshine in maximized state. Keep opening files to the editor having long texts; sometime or most of the time the editor demonstrates text masking issue. I've created a screen recording on this in Windows 7, for reference: https://vimeo.com/233276215.

Workaround: Not sure. For editor slowness, we perhaps want to see if we change the text softness to use 'none'. [Ref: https://ibb.co/nmMpya]

Notes: Editor codes can be found at: MoonshineSharedCore/src/actionScripts/ui/editor/BasicTextEditor.as. TextEditor (MoonshineSharedCore/src/actionScripts/ui/editor/text/TextEditor.as) does has a masking stuff - this place also needs to be investigated from line# 785-790.

Moonshine Does Not Open FlexJS Application in Browser

I noticed that Moonshine was able to compile a project as either an SWF or as Javascriptt, but did not open the generated index.html in the browser after the build had completed

  1. Open Moonshine
  2. Create a new FlexJS project
  3. Set a FlexJS SDK in the project settings
  4. Select Project > Build & Run
  5. Moonshine reports "Project Build Successful" on the console, but it does not open the project in the browser.
  6. Select Project > Build & Run as Javascript
  7. Moonshine reports "Project Build Successful" on the console, but it does not open the project in the browser.

When I tested with a Flex SWF project, the project opened properly in the browser.

I'm testing with the 1.6.0 release candidate, build 62, on Mac OS 10.10.3

Debug > Stop Does Not Work

I noticed that Debug > Stop does not work

  1. Open a project in Moonshine
  2. Debug > Build & Debug
  3. Debug > Stop - BUG: The application remains open and the debugging session doesn't close
  4. Click the "Stop" button in the Debug panel - this works

I tested this with Mac OS 10.10.3 and both an AIR and SWF project.

Ant Builds Are Failing for FlexJS Projects

Testing with the latest build, I got errors when trying to build a FlexJS project from Ant:

  1. Open Moonshine
  2. Create a new FlexJS project
  3. Make sure that you have selected a FlexJS SDK
  4. Project > Build with Apache Ant

I get an error like this:
: Ant build Running
: Buildfile: /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/build.xml
: [echo] SDK : /Users/joelanderson/Downloads/MoonshineSDKs/Flex_SDK/Flex_4.16.0_AIR_25.0
: [taskdef] Could not load definitions from resource flexTasks.tasks. It could not be found.
: init:
: [delete] Deleting directory /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/DEPLOY
: [delete] Deleting directory /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/build-debug
: [mkdir] Created dir: /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/DEPLOY
: [mkdir] Created dir: /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/build-debug
: compileWeb:
: BUILD FAILED
: /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/build.xml:76: Problem: failed to create task or type mxmlc
: Cause: The name is undefined.
: Action: Check the spelling.
: Action: Check that any custom tasks/types have been declared.
: Action: Check that any / declarations have taken place.
: Total time: 0 seconds
: BUILD FAILED
: /Users/joelanderson/Documents/Flex/temp_workspace/TestANTFlexJS/build/build.xml:76: Problem: failed to create task or type mxmlc
: Cause: The name is undefined.
: Action: Check the spelling.
: Action: Check that any custom tasks/types have been declared.
: Action: Check that any / declarations have taken place.
: Total time: 0 seconds
: FSCH exit code: 1

Checking the FlexJS SDK, I noticed that lib/falcon-flexTasks.jar does not exist in FlexJS 0.8.0. I found it at js/lib/falcon-flexTasks.jar instead:

However, updating this line to reference "${FALCON_HOME}/js/lib/falcon-flexTasks.jar" gave the same error.

I tested on Mac OS X 10.10.3 with Flex JS 0.8.0, Flash 25.0.

I'm trying to set up a test on Windows 10, but I am having trouble getting a FlexJS SDK installed.

[Run Customization] Advance run customization options for mobile projects - AIR simulator

We talked about this in past for a couple of times. We need some optimization section to mobile project run.

At this moment Moonshine only supports running any mobile projects in an AIR Android simulator, despite if the project targeted for Android or iOS, and with a specific mobile screen size - Nexus One.

We need some customization option where a user can choose what type of simulator they want to run (iOS or Android), what screen size (from a list of different pre-added mobile model references) etc. We also want to have options to select run platform type (simulator or physical device via USB), but the initial goal should be AIR simulator.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.