Code Monkey home page Code Monkey logo

appinventor-sources's People

Contributors

afmckinney avatar barreeeiroo avatar bartmathijssen avatar beksomega avatar conorshipp avatar e-hon avatar ellelili2025 avatar ewpatton avatar fturbak avatar halatmit avatar jisqyv avatar josmas avatar karuto avatar kgarner7 avatar kkashi01 avatar klaverty avatar lizlooney avatar mark-friedman avatar marksherman avatar nicholec avatar pavi2410 avatar preetvadaliya avatar ram8647 avatar robinbattle avatar sharonperl avatar susanratilane avatar weihuali0509 avatar wolberd avatar wxbit avatar ylwu 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  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

appinventor-sources's Issues

Bad behavior on user sign out

This is an old issue that turns up now and again (intermittent).

From bug report
Hi all, I found a bad piece of user experience in the newest build of AI2, but not sure if this counts as a bug. I tried with numerous different accounts and encountered the same thing:
After I clicked "sign out" at the top right corner, the page refresh and I got redirected to a blank AI2 page, nothing was loaded besides the gray-textured background. Checked the Chrome JavaScript? console and saw this line of error:

Refused to execute script from '​http://ai2-test.appinventor.mit.edu/ode/ode.nocache.js' because its 
MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

It may be worth discussing that what should users see after they clicked "sign out." Maybe the AI homepage http://appinventor.mit.edu/? This page doesn't require user to log in to see.

useFront property of camera no longer works

This property relied on an undocumented feature of the android camera system, so there was a well-known risk that it may stop working someday. That day came faster than anticipated.

It appears that the feature has been removed from nearly all androids, including older ones. My guess is a google play services update was pushed out that removed it, even to old 2.3 devices.

Leaving the useFront feature may cause more confusion than anything else. In current testing I, and some others on the forums, can't find a single remaining device where it works.

What I do not know is the right way to remove it. There exist projects that use it, is there a mechanism to check projects on load to nudge the components to updated versions? I believe there is, I just don't know enough about it to complete this recommendation alone.

newblocks: App Inventor classic projects are currently not compatible with App Inventor newblocks

I uploaded an old project from App Inventor classic to save some time to not have to redo the design and just to redo the blocks... Trying to package the project results in Server error: could not save one or more files. Please try again later!

Packaging a very simple project created with App Inventor newblocks (e.g. just 1 button) works fine. Probably this error occurs only after uploading a project from App Inventor classic?

I just tried it again with an empty project (only Screen1 without other components) from App Inventor classic: same error, which means, App Inventor classic projects are currently not compatible with App Inventor newblocks


debug info:
Clear
[INFO] AssetManager: formName = 5101733952880640_Screen1
[INFO] AssetManager: formName = 5101733952880640_Screen1
[INFO] AssetManager: formName = 5101733952880640_Screen1
[ERROR] Got exception: 500 The call failed on the server; see server log for details


server log:
INFO: Appstats available: /appstats/details?time=1368290004128
11.05.2013 10:33:24 com.google.apphosting.utils.jetty.AppEngineAuthentication$Ap
pEngineAuthenticator authenticate
INFO: Got /favicon.ico but no one was logged in, redirecting.
11.05.2013 10:33:24 com.google.appengine.tools.appstats.AppstatsFilter doFilter
INFO: Appstats available: /appstats/details?time=1368290004491
11.05.2013 10:33:24 com.google.appinventor.server.IdMap get
INFO: IdMap.get called for [email protected] but no valid map exists.
11.05.2013 10:33:25 com.google.appengine.tools.appstats.AppstatsFilter doFilter
INFO: Appstats available: /appstats/details?time=1368290004970
//OK['T6UcJAh',[],0,7]
11.05.2013 10:33:30 com.google.appengine.api.datastore.dev.LocalDatastoreService
$PersistDatastore persist
INFO: Time to persist datastore: 63 ms
11.05.2013 10:34:00 com.google.appinventor.server.IdMap get
INFO: IdMap.get called for [email protected] but no valid map exists.
11.05.2013 10:34:00 com.google.appengine.tools.development.ApiProxyLocalImpl log

SCHWERWIEGEND: javax.servlet.ServletContext log: Exception while dispatching inc
oming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstr
act long com.google.appinventor.shared.rpc.project.ProjectService.save(java.util
.List)' threw an unexpected exception: java.lang.IllegalStateException
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:
389)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:5
79)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(Remot
eServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(Remot
eServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(Ab
stractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1166)
at com.google.appinventor.server.OdeAuthFilter.doMyFilter(Unknown Source
)
at com.google.appinventor.server.OdeAuthFilter.doFilter(Unknown Source)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsF
ilter.java:141)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocke
tFilter.java:74)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.tools.development.ResponseRewriterFilter.doFilte
r(ResponseRewriterFilter.java:123)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.tools.development.HeaderVerificationFilter.doFil
ter(HeaderVerificationFilter.java:34)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(Serve
BlobFilter.java:63)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(Stat
icFileFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at com.google.appengine.tools.development.DevAppServerServersFilter.doDi
rectRequest(DevAppServerServersFilter.java:369)
at com.google.appengine.tools.development.DevAppServerServersFilter.doDi
rectServerRequest(DevAppServerServersFilter.java:352)
at com.google.appengine.tools.development.DevAppServerServersFilter.doFi
lter(DevAppServerServersFilter.java:115)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
88)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
82)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
65)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

    at com.google.appengine.tools.development.DevAppEngineWebAppContext.hand

le(DevAppEngineWebAppContext.java:94)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
at com.google.appengine.tools.development.JettyContainerService$ApiProxy
Handler.handle(JettyContainerService.java:421)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
2)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
n.java:938)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
va:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
ava:582)
Caused by: java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:13
3)
at com.google.appinventor.server.storage.ObjectifyStorageIo$31.run(Unkno
wn Source)
at com.google.appinventor.server.storage.ObjectifyStorageIo.runJobWithRe
tries(Unknown Source)
at com.google.appinventor.server.storage.ObjectifyStorageIo.uploadRawFil
e(Unknown Source)
at com.google.appinventor.server.storage.ObjectifyStorageIo.uploadFile(U
nknown Source)
at com.google.appinventor.server.project.CommonProjectService.save(Unkno
wn Source)
at com.google.appinventor.server.ProjectServiceImpl.save(Unknown Source)

    at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(R

untime.java:115)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:5
61)
... 45 more

11.05.2013 10:34:00 com.google.appengine.tools.appstats.AppstatsFilter doFilter
INFO: Appstats available: /appstats/details?time=1368290040090

suggestion: My Projects list with case-insensitive sort

My Projects lists your project files using a case-sensitive sort, so that all projects with upper-case first letters are listed first, followed by projects with lower-case first letters.

Once you have more than a screenful of projects, this is confusing. I don't expect to have to search all the way down for my lower-case projects (I'm fairly inconsistent as to whether I use an upper or lowercase first char.)

It would be better for My Projects to intermingle upper- and lower-case project files, using a case-insensitive sort.

Prevent AIA files from being uploaded to projects as media assets

It is possible for beginners who are trying to load a template AIA source file to upload them into an existing project as media assets. Beginners may be susceptible to this mistake if they had recently learned how to upload media assets, which is commonly a 1st or 2nd session event.

This mistake was observed during a teacher training.

I propose a feature that checks media uploads. If the user attempts to upload the AIA, refuse, and guide the user towards a web page describing how to use AIA files.

newblocks: deleting a label results in "An internal error has occurred" (UmbrellaException)

create a button and a label and these blocks:

unbenannt

Then go to the designer window and delete the label component:

Deleting this component will delete all blocks associated with it in the Blocks Editor. Are you sure you want to delete?

An internal error has occurred. Click ok for more information.

[INFO] Setting currentScreen to Screen1
[INFO] ProjectEditor: got selectFileEditor for src/appinventor/ai_taifunbaer/bug32/Screen1.scm selectedFileEditor is src/appinventor/ai_taifunbaer/bug32/Screen1.bky
[INFO] YaBlocksEditor: got onHide() for src/appinventor/ai_taifunbaer/bug32/Screen1.bky
[INFO] Setting current file editor to null
[INFO] YaFormEditor: got onShow() for src/appinventor/ai_taifunbaer/bug32/Screen1.scm
[INFO] Ode: Setting current file editor to src/appinventor/ai_taifunbaer/bug32/Screen1.scm
[INFO] Saving global settings: {"GeneralSettings":{"CurrentProjectId":"1394001"},"SimpleSettings":{}}
[INFO] Adding blocks editor as a listener for Screen1
[INFO] Got blocks area changed for 1394001_Screen1
[INFO] ProjectEditor:clearLocation: clearing Label1
[INFO] ProjectEditor:recomputeLocationPermission: False
[INFO] Got blocks area changed for 1394001_Screen1
[ERROR] com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError)
stack: Blockly.Block.prototype.dispose@http://ai2.appinventor.mit.edu/blockly-all.js:725
Blockly.Component.remove@http://ai2.appinventor.mit.edu/blockly-all.js:1188
LD@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1772
oD@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2716
vE@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1363
KE@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3217
Wx@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2165
iv@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2478
xv@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
ww@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
OJ@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3217
qkb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3220
lnb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3022
anb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2766
ag@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:815
Vjb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2612
cg@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2372
ng@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
CQb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2203
cSb/XRb<@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3192
Ueb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1355
Xeb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2765
Web/<@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2157

fileName: http://ai2.appinventor.mit.edu/blockly-all.js
lineNumber: 725
columnNumber: 103: this.workspace is null

Unknown.AQ(Unknown Source)
Unknown.ynb(Unknown Source)
Unknown.Bnb(Unknown Source)
Unknown.anb(Unknown Source)
Unknown.ag(Unknown Source)
Unknown.Vjb(Unknown Source)
Unknown.cg(Unknown Source)
Unknown.ng(Unknown Source)
Unknown.CQb(Unknown Source)
Unknown.cSb/XRb<(Unknown Source)
Unknown.Ueb(Unknown Source)
Unknown.Xeb(Unknown Source)
Unknown.Web/<(Unknown Source)
Unknown.anonymous(Unknown Source)
Caused by com.google.gwt.core.client.JavaScriptException: (TypeError)
stack: Blockly.Block.prototype.dispose@http://ai2.appinventor.mit.edu/blockly-all.js:725
Blockly.Component.remove@http://ai2.appinventor.mit.edu/blockly-all.js:1188
LD@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1772
oD@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2716
vE@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1363
KE@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3217
Wx@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2165
iv@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2478
xv@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
ww@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
OJ@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3217
qkb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3220
lnb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3022
anb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2766
ag@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:815
Vjb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2612
cg@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2372
ng@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
CQb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2203
cSb/XRb<@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3192
Ueb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1355
Xeb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2765
Web/<@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2157

fileName: http://ai2.appinventor.mit.edu/blockly-all.js
lineNumber: 725
columnNumber: 103: this.workspace is null
    Unknown.Blockly.Block.prototype.dispose(Unknown Source)
    Unknown.Blockly.Component.remove(Unknown Source)
    Unknown.LD(Unknown Source)
    Unknown.oD(Unknown Source)
    Unknown.vE(Unknown Source)
    Unknown.KE(Unknown Source)
    Unknown.Wx(Unknown Source)
    Unknown.iv(Unknown Source)
    Unknown.xv(Unknown Source)
    Unknown.ww(Unknown Source)
    Unknown.OJ(Unknown Source)
    Unknown.qkb(Unknown Source)
    Unknown.lnb(Unknown Source)
    Unknown.anb(Unknown Source)
    Unknown.ag(Unknown Source)
    Unknown.Vjb(Unknown Source)
    Unknown.cg(Unknown Source)
    Unknown.ng(Unknown Source)
    Unknown.CQb(Unknown Source)
    Unknown.cSb/XRb<(Unknown Source)
    Unknown.Ueb(Unknown Source)
    Unknown.Xeb(Unknown Source)
    Unknown.Web/<(Unknown Source)
    Unknown.anonymous(Unknown Source)
Caused by com.google.gwt.core.client.JavaScriptException: (TypeError)
stack: Blockly.Block.prototype.dispose@http://ai2.appinventor.mit.edu/blockly-all.js:725
Blockly.Component.remove@http://ai2.appinventor.mit.edu/blockly-all.js:1188
LD@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1772
oD@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2716
vE@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1363
KE@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3217
Wx@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2165
iv@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2478
xv@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
ww@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
OJ@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3217
qkb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3220
lnb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3022
anb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2766
ag@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:815
Vjb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2612
cg@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2372
ng@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3214
CQb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2203
cSb/XRb<@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:3192
Ueb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:1355
Xeb@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2765
Web/<@http://ai2.appinventor.mit.edu/ode/3DF024A8CA9AE7A6F4338CD94E14A39B.cache.html:2157

fileName: http://ai2.appinventor.mit.edu/blockly-all.js
lineNumber: 725
columnNumber: 103: this.workspace is null
    Unknown.Blockly.Block.prototype.dispose(Unknown Source)
    Unknown.Blockly.Component.remove(Unknown Source)
    Unknown.LD(Unknown Source)
    Unknown.oD(Unknown Source)
    Unknown.vE(Unknown Source)
    Unknown.KE(Unknown Source)
    Unknown.Wx(Unknown Source)
    Unknown.iv(Unknown Source)
    Unknown.xv(Unknown Source)
    Unknown.ww(Unknown Source)
    Unknown.OJ(Unknown Source)
    Unknown.qkb(Unknown Source)
    Unknown.lnb(Unknown Source)
    Unknown.anb(Unknown Source)
    Unknown.ag(Unknown Source)
    Unknown.Vjb(Unknown Source)
    Unknown.cg(Unknown Source)
    Unknown.ng(Unknown Source)
    Unknown.CQb(Unknown Source)
    Unknown.cSb/XRb<(Unknown Source)
    Unknown.Ueb(Unknown Source)
    Unknown.Xeb(Unknown Source)
    Unknown.Web/<(Unknown Source)
    Unknown.anonymous(Unknown Source)

[INFO] Got blocks area changed for 1394001_Screen1

proposal: "Initial Properties" in Designer

In the Designer view, a panel is named "Properties." Values displayed are initial values rather than current values, as they should be. Pedagogically, it is not obvious to new programmers that a program/environment must set an initial value for a variable and must also keep track of the current value. I think it would be more clear to learners if this panel was labeled "Initial Properties" in the Designer view. "Initial Values of Properties" is more correct but longer and maybe less clear for a beginner. Changing it has the downside of making tutorial materials mismatch the web interface, but I think it is worth it, especially since all tutorial materials drift into outdated-ness anyway from other changes.

Do folks want this kind of proposal opened as a github issue or as a new topic in the app-inventor-open-source-dev Google group or both?

Slashes in picture filenames handed differently in live development vs. packaged mode

See Lyn's report on the poweruser forum at

https://groups.google.com/forum/#!topic/aipowerusers/WQQQB3d5Ty4

This is a bug, but also look at the documentation on specifying media files and see if that needs to be updated.

Taifun's comment:
see also Accessing Images and Sounds, however in the documentation is an error (this already has been reported)
this is wrong:
/sdcard/Music/Blondie/The Best of Blondie/Heart of Glass.mp3
and should be (URL encoded)
file:///mnt/sdcard/Music/Blondie/The Best of Blondie/Heart of Glass.mp3
file:///mnt/sdcard/Music/Blondie/The%20Best%20of%20Blondie/Heart%20of%20Glass.mp3

change the name of number->string in Kawa

IN runtime.scm we define our own version of number->string that shadows the Kawa version. We should not shadow it. That confusion caused problems for the open source group.

New math convert unit blocks

A request that has been asked a number of time is for a way to convert decimal values to hexdecimal. I have created a few maths blocks that allow Unit Conversion such as:

  • Decimal to Hexdecimal
  • Hexdecimal to Decimal
  • Decimal to Binary
  • Binary to Decimal

Cenceling a notifier input shoud hide the keyboard

From the forum:
https://groups.google.com/forum/#!category-topic/mitappinventortest/TTCdAVr72eM

My app uses a text box notifier to enter some text. If you enter text, the keyboard nicely hides itself as the notifier closes.

If you hit the Cancel button, however, the keyboard remains and you must manually force it to go away. Is there a way to make it go away automatically when the Cancel button of the text notifier is pressed? I could not find a way to invoke that method (I tried putting a hidden textbox on the screen and using that textbox's HideKeyboard method but that did not work).

Assets are copied to the incorrect folder

When a new apk is builded, all assets of the application go to assets/ folder inside "project".apk

According to Android Developers Documentation, drawables (images) must be saved in res/drawable/ folder, which App Inventor doesn't do.

checkbox.setChecked is deprecated

in file: BooleanPropertyEditor.java

This file defines the boolean checkbox property (such as visibility or enabled) in the designer palette.

It uses checkbox.setChecked() and checkbox.isChecked() which are deprecated.

Full file location: ./appengine/src/com/google/appinventor/client/widgets/properties/BooleanPropertyEditor.java

newblocks: AI Companion does not update design or code changes

added 2 new buttons in the Designer window, then switching back to the Blocks window. The new blocks are shown in the Blocks window successfully. But the AI Companion app does not display the new components on the screen....

Additionally changing some logic in the Blocks window does not always update the logic on the connected device...
I used a web component and changed the Web.Url using the join block in the Blocks window, the updated url was not used but the previously defined url...

I had to stop the AI Companion manually and reconnect the Companion to be able to see the updated design and to get the updated logic...

I also get often an Error 1801: Security Error Receiving blocks from browser.

Problem with special characters

Hi, I have the same problem as this issue:

#38

Is it not working yet? The special characters like é á à ç don't appear in the notifiers

Thank you

Project that signals error when trying to delete it

See thread for the project source:
https://groups.google.com/forum/#!category-topic/mitappinventortest/MzUuDPUDpD8

Load this project. Then go to the projects page, mark it, and press delete. This produces an error (FF or Chrome). I don't see anything shown in the JS console. If you then press delete a second time, the project is deleted.

Notes
Dec 1
I tried to delete a project by ticking the box before the project and clicking on the delete project button.
When i clicked the delete project button, the page gives an error message. The second time i tried i didn't get the error message.

July 1
This error still exists in chrome (didn't try FF). Pressing Delete generates the error:

notes = Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit?/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
foundIn = nb134b
faultData = com.google.gwt.event.shared.UmbrellaException?: Exception caught: (TypeError?) : Cannot read property 'ReplMgr?' of undefined
projectId = -1

Usb connection in AI2 not working

I am getting an error when starting python aiDaemon.py

below is the error:

C:\AI\appinventor-sources\appinventor\misc\emulator-support>python aiDaemon.py
File "aiDaemon.py", line 53
print "Device = %s" % device
^
SyntaxError: invalid syntax

I am running windows 7 64bit and have python 2.7.5 installed.

Any idea why this is?

Opening the Blocks Editor results in Java IOException

I downloaded the latest appinventor source code, built the code with ant 1.8.2 and ran the code using the Google App Engine 1.7.6 SDK. When clicking the "Open the Blocks Editor" button on the main page, the AppInventorForAndroidCodeblocks.jnlp downloads fine, but when launching the jnlp, I get the following exception:

java.io.IOException: Cannot find cached resource for URL: http://localhost:8888/ode2/webstartfile/v134-12-g8ab33ab_d86rk7uo6epiii2ci8yymkt1jajdg5ot3psi0tgmzq99hdwdttz8j900knmj04cw62ga03zjeacg9a0urn1l10u1w73r56k3yp9ih2qhg70cv5hxflj9uhj3cjaq6pc2ng3swu4gnv/BlocksEditor.jar
at com.sun.deploy.cache.Cache.getCachedResourceFilePath(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getCachedResourceFilePath(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.getSignedJNLPBits(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.getSignedJNLPFile(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedLaunchDescHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedLaunchDesc(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedLaunchDesc(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:724)

Many property setters should use dropdowns for their inputs

There are many examples of properties that can take on specific values. For example,
screen.AlignVertical can take only the arguments: left, center, or right, and the designer provides a dropdown that has only those options. In the blocks, however, the setter takes a numeric input. The user needs to know which number corresponds to the desired value, and the implementation code must check whether the number is legal.

Instead, we could make the setter block use a dropdown for selecting the input.
Implement this system and change the component property code to make use of this.

newblocks: MIT NewBlocks Companion does not like to connect anymore

MIT NewBlocks Companion doesn't like to connect anymore with my project (project name=couch_nb2)... I could successfully connect to a very simple project.

As you probably can see from the log, the backup of the project (couch_nb1) will be displayed correctly, but not the new version (couch_nb2)... I will restart from the backup of that project now...

Btw: a reset button in the Companion app would be nice (similar to the classic version).
I currently have to go to Settings - Applications - Manage applications on the device,
then select the MIT NewBlocks Companion app and click "Clear data" and "Force stop" in case there is an issue..

Taifun


[INFO] DesignToolbar: switching to existing project couch_nb1 with id 5348024557502464
[INFO] Setting currentScreen to Screen1
[INFO] ProjectEditor: got selectFileEditor for src/appinventor/ai_taifunbaer/couch_nb1/Screen1.scm selectedFileEditor is src/appinventor/ai_taifunbaer/couch_nb1/Screen1.scm
[INFO] YaFormEditor: got onShow() for src/appinventor/ai_taifunbaer/couch_nb1/Screen1.scm
[INFO] Ode: Setting current file editor to src/appinventor/ai_taifunbaer/couch_nb1/Screen1.scm
[INFO] Saving global settings: {"GeneralSettings":{"CurrentProjectId":"5348024557502464"},"SimpleSettings":{}}
[INFO] Adding blocks editor as a listener for Screen1
[INFO] AssetManager: Loading assets for 5348024557502464
[INFO] initBlocksArea: killed running timer.
[INFO] BlocklyPanel: Got initBlocksArea call for 5348024557502464_Screen1
[INFO] Restoring 20 previous blockly components for form 5348024557502464_Screen1
[INFO] Replaying 0 ops waiting in queue
[INFO] Loading blocks area content for 5348024557502464_Screen1
[INFO] Adding asset fileId = assets/icon.png
[INFO] Got blocks area changed for 5348024557502464_Screen1
[INFO] Setting currentScreen to Screen1
[INFO] ProjectEditor: got selectFileEditor for src/appinventor/ai_taifunbaer/couch_nb1/Screen1.bky selectedFileEditor is src/appinventor/ai_taifunbaer/couch_nb1/Screen1.scm
[INFO] YaFormEditor: got onHide() for src/appinventor/ai_taifunbaer/couch_nb1/Screen1.scm
[INFO] Setting current file editor to null
[INFO] YaBlocksEditor: got onShow() for src/appinventor/ai_taifunbaer/couch_nb1/Screen1.bky
[INFO] Ode: Setting current file editor to src/appinventor/ai_taifunbaer/couch_nb1/Screen1.bky
[INFO] Saving global settings: {"GeneralSettings":{"CurrentProjectId":"5348024557502464"},"SimpleSettings":{}}
[INFO] showDifferentForm changing from 5348024557502464_Screen1 to 5348024557502464_Screen1
[INFO] Starting timer for 5348024557502464_Screen1
[INFO] Got blocks area changed for 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] AssetManager: formName = 5348024557502464_Screen1
[INFO] ViewerBox: switching the content in the viewer box
[INFO] YaProjectEditor: got onUnload
[INFO] ProjectEditor: got onUnload for project 5348024557502464
[INFO] YaProjectEditor: got onHide
[INFO] AssetList: switching projects from 5348024557502464 to 0
[INFO] AssetList: refreshing for project 0
[INFO] YaBlocksEditor: got onHide() for src/appinventor/ai_taifunbaer/couch_nb1/Screen1.bky
[INFO] Setting current file editor to null
[INFO] BlocklyEditor: prepared for reinit for form 5348024557502464_Screen1
[INFO] ProjectEditor: got onLoad for project 6473924464345088
[INFO] YaProjectEditor got onShow() for project 6473924464345088
[INFO] AssetList: switching projects from 0 to 6473924464345088
[INFO] AssetList: refreshing for project 6473924464345088
[INFO] DesignToolbar: switching to existing project couch_nb2 with id 6473924464345088
[INFO] Setting currentScreen to Screen1
[INFO] ProjectEditor: got selectFileEditor for src/appinventor/ai_taifunbaer/couch_nb2/Screen1.bky selectedFileEditor is src/appinventor/ai_taifunbaer/couch_nb2/Screen1.bky
[INFO] YaBlocksEditor: got onShow() for src/appinventor/ai_taifunbaer/couch_nb2/Screen1.bky
[INFO] Ode: Setting current file editor to src/appinventor/ai_taifunbaer/couch_nb2/Screen1.bky
[INFO] Saving global settings: {"GeneralSettings":{"CurrentProjectId":"6473924464345088"},"SimpleSettings":{}}
[INFO] showDifferentForm changing from 6473924464345088_Screen1 to 6473924464345088_Screen1
[INFO] timerForm changed, killing running timer.
[INFO] Starting timer for 6473924464345088_Screen1
[INFO] Got blocks area changed for 6473924464345088_Screen1
[INFO] AssetManager: Loading assets for 6473924464345088
[INFO] initBlocksArea: killed running timer.
[INFO] BlocklyPanel: Got initBlocksArea call for 6473924464345088_Screen1
[INFO] Restoring 24 previous blockly components for form 6473924464345088_Screen1
[INFO] Replaying 0 ops waiting in queue
[INFO] Loading blocks area content for 6473924464345088_Screen1
[INFO] Adding asset fileId = assets/icon.png
[INFO] Got blocks area changed for 6473924464345088_Screen1
[INFO] Starting timer for 6473924464345088_Screen1
[INFO] Got blocks area changed for 6473924464345088_Screen1
[INFO] AssetManager: formName = 6473924464345088_Screen1

SoundRecorder component issue causing app to crash

There's currently an issue with the SoundRecorder component which causes the app to crash. The issue happens if the Microphone is already in use when the SoundRecorder.Start block is executed

To demostrate this add 2 SoundRecorder components to the same app start both recorder and the app will crash.

Possible Solution

- Add code to check the mic is not in use when the SoundRecorder.Start block is executed

Logout in sdk leads to server error screen

Downloaded and compiled appinventor code with 1.8.0 sdk (by changing the build.xml) and ran using the sdk. When logging out, it should redirect back to the login screen, but instead goes to /ode/userinfo and shows a server error screen.

Add fontsize property to ListView

This should be simple. Look at ListView.ItemsToColoredText and include AbsoluteSizeSpan similar to ForegroundColorSpan. Set dp flag to true. Or do we really want RelativeSizeSpan?

Build Error with AI2 Apps That Include Media

Build failed! Can not contact the BuildServer at newblocksbuildserver.appinventor.mit.edu

AI2 does not seem to be able to package apps that include media. If I remove the media file (400KB mp4), the build succeeds. If I add the file back, the build fails. I have tried multiple mp4 files of various sizes and it seems that they all cause the Package process to fail.

Thanks for any information you can provide.

r

Change designer selections for "visible"

They currently say "visible" and "hidden", although the actual values are true and false. Probably should change this to a checkbox, like the other boolean properties.

customtinyweb.zip should be updated for python27

The instructions to use Tiny Web DB are to extract the following zip archive, change the first line, and then upload it to Google App Engine with appcfg.py.

appinventor/docs/learn/reference/other/tinywebdbassets/customtinywebdb.zip

When the customtinyweb folder was uploaded to Google App Engine, the following warning message was displayed:

WARNING: This application is using the Python 2.5 runtime, which is deprecated! It should be updated to the Python 2.7 runtime as soon as possible, which offers performance improvements and many new features. Learn how simple it is to migrate your application to Python 2.7 at https://developers.google.com/appengine/docs/python/python25/migrate27.

I believe that the app.yaml file needs only minor modifications to eliminate this warning message.

Once this issue is fixed, customtinywebdb.zip should also be updated at

http://beta.appinventor.mit.edu/learn/reference/other/tinywebdbassets/customtinywebdb.zip

Misplaced label and text box

User report
When you put a label above a text box, the bottom of the label's text gets hidden under the text box.

Notes
Try to reproduce this first; it might be an issue with particular phones.

newblocks: deleting a web component results in error next time project will be opened

create a project with 2 buttons and 2 web components
1
then rename Web2 by Web1
2
then delete Web2 and reopen the project, you will get this error
The blocks area did not load properly. Changes to the blocks for screen 5136918324969472_Screen1 will not be saved.
In the debugging window you will get:
[ERROR] Error loading blocks for screen 5136918324969472_Screen1: : Error: "Web2_Get" is an unknown language block.

Spinner AfterPicking invoked even when no item selected

Spinner AfterPicking immediately invoked even if it has not been opened.

Steps:
Drop Spinner component onto designer
For its ElementsFromString, enter csv values such as a,b,c,d,e
Add in a label; e.g. Label1
From BlocksEditor, Select, Spinner1.AfterPicking handler
In there, set Label1.Text to Spinner1.Selection.

Connect the companion and you'll notice that immediately Label1.Text will be set to a

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.