- 08 Jul, 2017 2 commits
-
-
Jeffrey I. Schiller authored
Remove references to AI1 from the No Projects Dialog in non-English language translations. Change-Id: Ic518901c445cb65fbf6d0ac6b2abcd1276e23264
-
Jeffrey I. Schiller authored
Remove the Splash Screen Message from OdeMessages. The message now comes from the data store. The update made to take the message from the data store neglected to remove the obsolete message from OdeMessages. We remove it here. Change-Id: I1ed7e751ce4a3ab150cf4250270b0a544416e9ac
-
- 06 Jul, 2017 3 commits
-
-
Klomi authored
Change-Id: I4811755660bdcbb662f39f719b0cb7ad89b9f12f
-
Magdalena Sowder authored
Created a modal pop-up for videos and images from the tutorial. Added changes to separate file to create a new class that extends Frame. Change-Id: Ie47ce9896aefff2bcebe3cbe64fbe512a1258661
-
Katie Mathison authored
There was an issue where some generic component method blocks did not have the mutator labeling them as such. This was fixed by explicitly setting the is_generic mutator along with the other mutators when these blocks are generated in the drawer. There was another issue where generic clock add blocks expected a time unit dropdown which only exists on the instance version of the clock add blocks. This was fixed by only setting the time unit if the block is not generic, since this attribute is only used in the instance version of these blocks. Change-Id: I9fb4bee9bef9fa76e40a240b587ec0b05ba86693
-
- 05 Jul, 2017 1 commit
-
-
Jeffrey I. Schiller authored
Remove the “Beta” tag from MIT App Inventor. Also remove the “2” as well. Change-Id: Ifed997d86e13b5f59a93e736f5caee7299ca1039
-
- 04 Jul, 2017 2 commits
-
-
Jeffrey I. Schiller authored
If someone attempts to download a packaged project while a new build is running, we throw in IllegalArgumentException because the built apk is no longer present (the first thing a new build does is remove the old apk). This happens often enough that it is one of the top errors being logged by the Google Cloud Console. This change eliminates the IllegalArgumentException and instead just returns a “File Not Found” error (404 error) to the user attempting the download. Change-Id: I6fb92e51477c1ad93059cf57a449396d4fea0d7d
-
Jeffrey I. Schiller authored
Change-Id: I1166ec3b843665338e6fdd8155d1486cce23b7b7
-
- 03 Jul, 2017 2 commits
-
-
Jeffrey I. Schiller authored
Change-Id: Ic3deb5ee2bfe9ac98f3d0f64b6a98b987e2d36d6
-
Jeffrey I. Schiller authored
Update the URL to use tinywebdb.appinventor.mit.edu instead of at appspot.com. This gives us the flexibility to move the service from Google’s App Engine to a service hosted anywhere, including at MIT. Change-Id: I1f68f118e20f25740b7667b1efe93b2a1b925ce0
-
- 30 Jun, 2017 1 commit
-
-
Evan W. Patton authored
The old version of Google Voice used by the Texting component redirects to a newer version, breaking the existing functionality. This change uses a special URL redirection and cookie provided by Google to legacy Google Voice to work around the issue. This will likely break again in the future but will buy time to implement a more robust solution, likely based on a non-Google product. Change-Id: Ie519a34fde18204060bd44278f206c1d4c77034b
-
- 14 Jun, 2017 2 commits
-
-
Jeffrey I. Schiller authored
Change-Id: I110e242808fae3f32a3ae7a4627934accfffb546
-
Jeffrey I. Schiller authored
-
- 12 Jun, 2017 3 commits
-
-
Evan W. Patton authored
Fixes #888 Change-Id: Ib394778a30729c54cfdc787107e542b85cfd3a1a
-
Evan W. Patton authored
Change-Id: I62d20ee830af8f88ce816736d71ab78da90fed9d
-
Evan W. Patton authored
It was reported that deleting an extension that had been instantiated results in an "Oops! something broke" message. The issue is caused by collecting all of the sibling component types in the same package (due to extension bundles) and accidentally double-counting the extension type that triggered the deletion. This would result in an attempt to delete the same component twice resulting in an error because the component no longer existed. This commit fixes the problem by checking the sibling name against the set of to-be-removed classes to ensure that adding a sibling doesn't duplicate the original class for removal. Change-Id: Id3d5e17da4e3a5c4e8423ac32fc427cfdcd8ebdc
-
- 09 Jun, 2017 1 commit
-
-
Evan W. Patton authored
A user reported when loading an old project with a reference to the BLE component resulted in an unexpected error. This was due to the component being present in the Screen1.scm but not in the assets. This commit makes it so that looking up an undefined component will result in an error message being reported to the user indicating that the project in question cannot be loaded. Change-Id: Ida96802fd8152bf94dc2ac1f481c3acb3810a724
-
- 04 Jun, 2017 2 commits
-
-
Jeffrey I. Schiller authored
The TutorialURL will be opened in a sidebar in MIT App Inventor. This permits people to build “template” projects with a tutorial (hosted on their own site) displayed in a sidebar. For now, we only allow tutorial urls from http://appinventor.mit.edu/ or http://appinv.us/. Change-Id: Ia79eeac6bd3809ce32d0475aa3954ad2c996c776
-
Jeffrey I. Schiller authored
When running a set of buildservers behind a load balancer there is a bunching effect that can happen when one buildserver winds up with a large number of simultaneous builds while other buildservers are idle. This happens when a buildserver becomes a little busy and as a result runs slower then the other servers. This increases the likelihood that it will get more work to do while it is still working on existing jobs. Which slows it even further which results in more jobs until it hits its maximum and rejects jobs (while the other buildservers are idle!). This change results in the buildserver returning an unhealthy status to the load balancer (most load balancers can be configured to check a buildservers health periodically) after it reaches 2/3 of its maximum load. It then stays in this “DRAINING” state until the load becomes less then 1/3 at which point the state becomes “UP” again. Change-Id: Id6be52475151a0208000ced17fe1f2d3f15e7b94
-
- 03 Jun, 2017 1 commit
-
-
User authored
Correct a translation error Change-Id: I85ef2c21e7ad56daa9aec8efa4e386aaf9fa55ae
-
- 30 May, 2017 2 commits
-
-
Evan W. Patton authored
This commit fixes the following: 1. Blocks in the mutator workspace did not respond to mouse down events in Firefox versions earlier than 53.0 due to the lack of a focus method on SVG elements. 2. Made the splash screens only appear after leaving the project list (if the user had projects). This prevents a scrolling issue that occurs when the user has more than one screen's height worth of projects and the DeckPanel transitions from the project list to the designer view while the splash screen is being shown. In some cases, users were unable to scroll to or otherwise access the dialog to dismiss it. Change-Id: If368f4c15a55993f95ef17050bb8c0e9493cf40e
-
Pavitra authored
Change-Id: If1b6dcd50078f3b214d03fa8bb13032a88b54c96
-
- 29 May, 2017 1 commit
-
-
Evan W. Patton authored
1. Added more checks for cases where dragging a block from the drawer results in many blocks being created at the same (x, y) coordinates. (see mit-cml/blockly master) 2. Fixed issue where error checking did not occur when deleting a global variable definition block. 3. Fixed issue introduced in extension update that prevented deleting extensions from projects imported before the update. Change-Id: I5fdcc89dfdc9f1392948fb8c864b77e45a2f8e3a
-
- 27 May, 2017 1 commit
-
-
Evan W. Patton authored
This commit addresses two issues with the blockly update: 1. Updates the flyout implementation in Blockly core to store information about the last created block so that if many create operations are fired only the first will be applied. This should prevent a reported issue where many blocks are created at exactly the same location when dragging from the flyout. 2. Change the z-index of ode-DialogBox to be greater than Blockly's drag surface z-index so that dialogs that appear during drag operations will not be occluded by the dialog. Prior to this change, the block would be above the dialog and prevent the user from being able to click any button to dismiss the dialog. Change-Id: I07f19b971860f72ec512dfd9cb39bcb5207f3987
-
- 25 May, 2017 1 commit
-
-
Jeffrey I. Schiller authored
It embeds an obsolete version of the BLE extension. Change-Id: I63f6da2e537dac86ce7581cb11fbbdd74a5f68d4
-
- 24 May, 2017 5 commits
-
-
Evan W. Patton authored
This commit provides a progress bar so that the UI gives feedback to the user when sending large assets (such as extensions) to the Companion. This commit also adds the _extensions RPC to the Companion to enable loading of project-specific extensions from the phone's AppInventor directory rather than all *.jar files present. Change-Id: I787374dcf2d7c295b2a14e38a72c6c06996ce5d1
-
Jeffrey I. Schiller authored
-
Evan W. Patton authored
This commit fixes some logic bugs in the ComponentServiceImpl changes for the IOT release related to the inclusion of multiple extensions per aix and the fact that component.json was renamed to components.json to reflect this. This commit also adds unit tests to evaluate the different code paths through the ComponentServiceImpl to ensure correctness of different upgrade paths. Change-Id: I3d8fc8998c9117297c3c8c99bede6371ef016be6
-
Evan W. Patton authored
Change-Id: I99a0dddc220947ace5067284f5b0da21528c1b1b
-
Evan W. Patton authored
This is a squashed commit containing bugfixes for the Blockly update. The individual commit bodies are below as a summary: 1. After using the Paste All Blocks from Backpack menu item, undoing this operation requires N Undo commands whereas it should only require 1 Undo. This commit wraps the bulk of the pasteBackpack operation in a try-finally to set/unset the Blockly event group so that all of the create block events are grouped together. 2. Prevent CSS updates during paste all from backpack 3. Ghica reported that when the backpack is open it is possible to scroll both the flyout's and workspace's scrollbars and there is no visual indicator which is which. This means that sometimes the user will scroll the workspace when intending to scroll the flyout. This commit makes flyouts hide their parent workspace's scrollbars and show them after the flyout is dismissed. 4. Improve rendering of flyouts with many blocks 5. Hide backpack with ESC key 6. Only fire parameter orientation event after orientation change 7. The implementation of Blockly.Events.filer on Google's master is implemented using a O(n^2) algorithm. When performing operations that affect a large number of blocks, e.g. arrangements or pasting from the Backpack, this performance is unacceptable. This commit provides a new implementation of Blockly.Events.filter that is linear in the number of pending events. 8. Removing mutators for parameters or deleting the procedure block and then attempting to undo the operation would leave the caller blocks in an inconsistent state with missing parameters or not reconnecting the previously attached input blocks. This commit fixes these issues by changing the order of certain operations so that when Blockly reverses the order of operations variables, such as the caller block's PROCNAME, are set correctly. 9. The way that Blockly handles changes to fields breaks how we renamed parameters in the mutator. This commit provides a custom handler for key events that makes the renaming behavior match that before the Blockly update. 10. Cherry-picked code for mutators that fixed the ordering of the mutator workspace's toolbox with respect to the block canvas. 11. Fixed delete area not appearing for the mutator workspace. 12. Fixed ghost scrollbars from different flyouts capturing the mouse over event for blocks in the drawer flyout. 13. Made it so that dragging a block in any direction from a flyout will result in a new block being created. Previously the window was ±70 degrees from the horizontal axis. 14. Improved performance on large projects during load or after moving a stack of blocks. 15. Fixed error checking on blocks created by typeblock and their relatives. 16. Fixed null pointer exception when renaming a component prior to opening the blocks editor. 17. Moved updates to the scrollbar visibility to setScrollbarsVisible and made all changes to scrollbar visibility go through that method, which includes fix 16 above. 18. Made arrangement options adjust to workspace scale and snap-to-grid options. 19. Fixed issue where changing text fields would not result in a Change event and therefore fail to trigger a workspace save. 20. Added fix to ensure the warning handler exists before attempting to do error checks on variables. 21. Patched Blockly code to prevent the connection database from throwing an error when an operation would essentially be an identity operation on the database. Change-Id: I0d713e3c92586c0506bfe24d138c634c29d6a208
-
- 14 May, 2017 2 commits
-
-
Evan W. Patton authored
The buildserver should return an error if Kawa cannot compile the YAIL file. However, on Windows we end up always pointing at the classes directory, which always exists, and therefore we continue compiling an app even though the class files are missing. On Mac/Linux the same project results in a Kawa compilation error. The logic error is introduced by the hard coding of the path "/../src/" in Compiler.java. On Windows the path uses the conventional Windows separator "\\", so the substring of interest is "\\..\\src\\". This commit adjusts the lookup string to use File.separator so that the lookup path will be correct regardless of platform. Change-Id: Id066cad6710e7fe8c6710b40465c87992f547854
-
Evan W. Patton authored
Javac default output format for files is platform-specific. In the ai.apt macro we do not specify the encoding, so we end up with ISO-8859-1 strings on Windows that GWT later attempts to decode as UTF-8 strings. This commit sets the encoding for the javac command to be UTF-8 so that encodings work correctly on platforms (e.g., Windows) where the default encoding is not UTF-8. Change-Id: Iac68786e71983e8605e982a093d3daae09d49c01
-
- 02 May, 2017 5 commits
-
-
Evan W. Patton authored
Extensions loaded into App Inventor have "More Information" URLs based on the server's documentation. Obviously, we won't have documentation for every single extension, nor do we want to update the GAE application every time someone publishes or updates an extension. This commit adds a new helpUrl field to the `@DesignerComponent` annotation that can be used to specify a custom URL for extension documentation. Closes issue #883. Change-Id: I7fdc20bb1d5e9cb1bfa257f1ed194748bd5e35ec
-
Evan W. Patton authored
For the Internet of Things update, we want to be able to have collections of related extensions, for example, targetting different features of the same platform, to be imported as a single unit. This behavior reflects how we group components such as the LEGO EV3 or NXT robots and allows us to treat extensions in the same way. Change-Id: I83e1069421939e57b33689f7ae0a3d5928c6c6cd
-
Evan W. Patton authored
For the Internet of Things update, we want to allow extensions to specify restrictions on designer properties. Specifically, we want IOT extensions with a BluetoothDevice property to be able to restrict the component list to the BluetoothLE extension. This commit extends the behavior of the component property type by allowing an extension author to include a colon (":") followed by the fully-qualified class name of the component type to accept. Change-Id: I6c38890fde99fe947bb1a305412d662694246463
-
Evan W. Patton authored
Change-Id: Ieb6fe17306d262ff92c08e28f227767add7005b6
-
Evan W. Patton authored
Change-Id: I27191377afac5a2d01db9092934e2c4b25e639ce
-
- 29 Apr, 2017 3 commits
-
-
Evan W. Patton authored
The context menu items for arranging blocks and sorting by category did not have expected behavior due to the new Blockly events system. This commit introduces two new events StartArrangeBlocks and EndArrangeBlocks that will manipulate the appropriate flags so the context menu options work correctly. We also group the arrangement events in a single group. This makes the undo/redo menu options behave correctly rather than undoing/redoing individual moves within the larger arrangement action. Change-Id: Icb832eef1f91aec5a12025707e9c39b3257987af
-
Evan W. Patton authored
Because Blockly is linked into the GWT JavaScript, goog.ui.Dialog attempts to show itself on the GWT iframe's document rather than on the top window where the UI is actually displayed. This commit adds a goog.ui.DomHelper so that the Dialog attachs its DOM elements to the correct document. NB: This has the side-effect that the runtime error dialog from the companion is now UI global (it will show even if in the designer). Change-Id: I3f7fb60d8898e37a689cbc3f406ef39832717d99
-
Evan W. Patton authored
When renaming variables, references to those variables are not correctly renamed. This is due to a change in the order in which Blockly manipulates the field's value and calls the validator. Since the update occurs before validation, we don't know the original name and therefore cannot find and update all of the references. This commit provides the flydown with its own implementation of onHtmlInputChanged_ so that it can provide a behavior that is compatible with our renaming mechanism, mainly that it will validate first and only if successful will it update the field's value. Change-Id: I7569d0f0b1b6f57e476df5e32f1b2a12e7d7533c
-