mit-cml / appinventor-sources Goto Github PK
View Code? Open in Web Editor NEWMIT App Inventor Public Open Source
Home Page: http://appinventor.mit.edu/appinventor-sources/
License: Apache License 2.0
MIT App Inventor Public Open Source
Home Page: http://appinventor.mit.edu/appinventor-sources/
License: Apache License 2.0
See forum issue
https://groups.google.com/forum/#!topic/mitappinventortest/tzoNdh4HyYY
together with sample app.
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.
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.
Special characters show up as a question mark inside of a black diamond "�". Example of this characters are á, é, ñ... (spanish), å, ä, ö (swedish). This issue didn´t happen in App Inventor Classic.
https://groups.google.com/forum/#!topic/app-inventor-open-source-dev/UU6tm8ZS5_M
Being able to specify this argument is important for advanced users, but others should just have a default.
create a project with 2 buttons and 2 web components
then rename Web2 by Web1
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.
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).
create a button and a label and these blocks:
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
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.
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.
trying to edit a text or a comment: cursor does not move while using the keyboard, only works with mouse, using Chrome Version 26.0.1410.64 m
see Brian's post in the forum https://groups.google.com/d/msg/app-inventor-instructors/6OGcKXqIjoQ/yD-TLmb5rEUJ
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.
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.
I need to run the build server under windows.
Can you create an batch file for that please?
Thanks in advance
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?
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
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:
I cannot connect the "list from csv table" block to the "Set Label.Text to" block, see also this thread https://groups.google.com/d/msg/ai4a/_qfwNoCp9qY/pBKdUDYfA5AJ
How can I get the Older releases? I need the releases:
Built: August 11 2014 Version: nls-281-g85a8d30-dirty
Use Companion: 2.20ai2zx1
How can I get it? Who can help me? My E-Mail is [email protected]
Thanks.
When a toast appears, it doesn't show the full message, the last words are not visible
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
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
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
When typeblocking, procedure calls should look like 'call procedure_name' but they look like 'undefined procedure_name'.
Reproducing:
See screenshot in original report by Scott at: https://code.google.com/p/app-inventor-for-android/issues/detail?id=2823
My initial intuition is that this was introduced during internationalization changes.
The stock quote tutorial gives errors when you load it (in the references to the inputs). Presumably other tutorials have atrophied as well. Go through all the tutorials (aia and apk files) and fix the ones that need fixing.
tttt
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.
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?
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.
As title says, the Notifier AfterPicking does not get triggered when using ShowMessageDialog. However, it does get triggered when using ShowChooseDialog.
Device: Samsung Galaxy s3
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)
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.
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.
Support for parsing JSON would be great!
I'd like to do a GET of a RESTful API that returns JSON , parse the response, and display some values in my app.
Perhaps it could have semantics like jq: http://stedolan.github.io/jq/
Something like this, perhaps:
curl -s 'http://localhost:8983/solr/collection1/select?rows=100&wt=json&indent=true&q=*' | jq '.responseHeader.params | {rows,q}'
@afmckinney
When we push new setup packages, update the emulator, probably to Gingerbread.
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
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?
Certain Samsung phones seem to be not working properly. More information in the thread here: https://groups.google.com/forum/#!topic/mitappinventortest/gQZ-1MOO-Ic
Same code works in a different phone, but not in an samsung S3. This needs to be reproduced with the specified phone (or find other models/brands that behave like the one listed).
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
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.
Hi, I have the same problem as this issue:
Is it not working yet? The special characters like é á à ç don't appear in the notifiers
Thank you
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.
There seems to be something funky going on with encoding in the Yandex component. The following words in Turkish generate gibberish for special characters.
ışık = light
çocuk = kid, child
ağaç = tree
bağış = donation
Reported in the forum; thread: https://groups.google.com/d/msg/mitappinventortest/ZO7gQJBRHVc/l8aZEj85fbkJ
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
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
Added some components in screen work correctly in emulator.
But when adding spinner and listview all components are gone.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.