1. 12 Aug, 2017 1 commit
  2. 11 Aug, 2017 1 commit
  3. 21 Jul, 2017 1 commit
    • Evan W. Patton's avatar
      Add failure condition when extensions collide on package name · 5e072d92
      Evan W. Patton authored
      Taifun reported that importing many extensions of the same package
      name into a single project made them unable to load. This change
      detects this scenario and returns an error to the user preventing them
      from loading the conflicting extension. There is also a test to ensure
      that if one has two extensions in the same package and then loads a
      bundle containing the individually FQCN extensions the old extensions
      will be removed and placed with the bundled version.
      
      Change-Id: If35663d650d3a24f6c5aaeceaf490a24ac008522
      5e072d92
  4. 18 Jul, 2017 1 commit
    • Jeffrey I. Schiller's avatar
      Fix Tutorial Panel height on Firefox · 618e6500
      Jeffrey I. Schiller authored
      Firefox requires that the <div> that includes the Tutorial Panel has its
      height set to 100%, otherwise it displays it with a height of 150px (per
      the CSS standard).
      
      Change-Id: Id7afd34f4aa058dd5f7b4982d6409941d472d907
      618e6500
  5. 08 Jul, 2017 2 commits
    • Jeffrey I. Schiller's avatar
      Remove References to AI1 from No Projects Dialog · a41b262b
      Jeffrey I. Schiller authored
      Remove references to AI1 from the No Projects Dialog in non-English
      language translations.
      
      Change-Id: Ic518901c445cb65fbf6d0ac6b2abcd1276e23264
      a41b262b
    • Jeffrey I. Schiller's avatar
      Remove obsolete Splash Screen Message · 20462d16
      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
      20462d16
  6. 06 Jul, 2017 3 commits
    • Klomi's avatar
      Update zh-CN and zh-TW localization files · 5d63ca64
      Klomi authored
      Change-Id: I4811755660bdcbb662f39f719b0cb7ad89b9f12f
      5d63ca64
    • Magdalena Sowder's avatar
      Added video and image enlargement · 03b4f234
      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
      03b4f234
    • Katie Mathison's avatar
      Fixed broken generic component method blocks · d6cbce49
      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
      d6cbce49
  7. 05 Jul, 2017 1 commit
    • Jeffrey I. Schiller's avatar
      Remove the “Beta” Tag · c829f1bf
      Jeffrey I. Schiller authored
      Remove the “Beta” tag from MIT App Inventor. Also remove the “2” as
      well.
      
      Change-Id: Ifed997d86e13b5f59a93e736f5caee7299ca1039
      c829f1bf
  8. 04 Jul, 2017 2 commits
    • Jeffrey I. Schiller's avatar
      Eliminate IllegalArgumentExceptions · b4800e4e
      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
      b4800e4e
    • Jeffrey I. Schiller's avatar
      Update Companion Version to 2.43 · ead08b21
      Jeffrey I. Schiller authored
      Change-Id: I1166ec3b843665338e6fdd8155d1486cce23b7b7
      ead08b21
  9. 03 Jul, 2017 2 commits
    • Jeffrey I. Schiller's avatar
      Dutch Translation · 8a60b2ef
      Jeffrey I. Schiller authored
      Change-Id: Ic3deb5ee2bfe9ac98f3d0f64b6a98b987e2d36d6
      8a60b2ef
    • Jeffrey I. Schiller's avatar
      Change URL for TinyWebDB · d01b1568
      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
      d01b1568
  10. 30 Jun, 2017 1 commit
    • Evan W. Patton's avatar
      Fix redirection in Google Voice utilities · 1de86a4b
      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
      1de86a4b
  11. 14 Jun, 2017 2 commits
  12. 12 Jun, 2017 3 commits
    • Evan W. Patton's avatar
      Make extension strings internationalized · b19bcc03
      Evan W. Patton authored
      Fixes #888
      
      Change-Id: Ib394778a30729c54cfdc787107e542b85cfd3a1a
      b19bcc03
    • Evan W. Patton's avatar
      Fix bug with selection clearing triggered when dev tools open · 0909eb27
      Evan W. Patton authored
      Change-Id: I62d20ee830af8f88ce816736d71ab78da90fed9d
      0909eb27
    • Evan W. Patton's avatar
      Fix issue with deleting an instantiated extension · 57286750
      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
      57286750
  13. 09 Jun, 2017 1 commit
    • Evan W. Patton's avatar
      Make error message when loading projects with missing components · e7fefb22
      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
      e7fefb22
  14. 04 Jun, 2017 2 commits
    • Jeffrey I. Schiller's avatar
      Add a TutorialURL property · 6e7fc03a
      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
      6e7fc03a
    • Jeffrey I. Schiller's avatar
      Add “DRAINING” State to Buildserver · 6497ac17
      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
      6497ac17
  15. 03 Jun, 2017 1 commit
    • User's avatar
      Update _messages.js · 631b5bdc
      User authored
      Correct a translation error
      
      Change-Id: I85ef2c21e7ad56daa9aec8efa4e386aaf9fa55ae
      631b5bdc
  16. 30 May, 2017 2 commits
    • Evan W. Patton's avatar
      Fix splash screen and mutators in Blockly release · 30e307e3
      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
      30e307e3
    • Pavitra's avatar
      Fixed Markdown errors · cc00c110
      Pavitra authored
      Change-Id: If1b6dcd50078f3b214d03fa8bb13032a88b54c96
      cc00c110
  17. 29 May, 2017 1 commit
    • Evan W. Patton's avatar
      Mitigate issues reported for Blockly update · 58532a7d
      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
      58532a7d
  18. 27 May, 2017 1 commit
    • Evan W. Patton's avatar
      Fix block dragging issues from the drawer · a2f75595
      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
      a2f75595
  19. 25 May, 2017 1 commit
  20. 24 May, 2017 5 commits
    • Evan W. Patton's avatar
      Add progress bar and _extensions in ReplMgr · e867430b
      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
      e867430b
    • Jeffrey I. Schiller's avatar
      Merge branch 'master' into ucr · 935e045a
      Jeffrey I. Schiller authored
      935e045a
    • Evan W. Patton's avatar
      Fix logic bugs in ComponentServiceImpl and add tests · 02c42769
      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
      02c42769
    • Evan W. Patton's avatar
      Remove vestigal GWT 2.7 libraries · e852dd75
      Evan W. Patton authored
      Change-Id: I99a0dddc220947ace5067284f5b0da21528c1b1b
      e852dd75
    • Evan W. Patton's avatar
      Miscellaneous bugfixes for the Blockly update · f970ac35
      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
      f970ac35
  21. 14 May, 2017 2 commits
    • Evan W. Patton's avatar
      Fix buildserver paths on Windows · f1510156
      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
      f1510156
    • Evan W. Patton's avatar
      Fix ComponentTranslation encoding on non-UTF-8-by-default platforms · 3385ac09
      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
      3385ac09
  22. 02 May, 2017 4 commits
    • Evan W. Patton's avatar
      Add custom help URLs for extensions · 910fb80b
      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
      910fb80b
    • Evan W. Patton's avatar
      Add support for multiple extensions per AIX · 6c36d5aa
      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
      6c36d5aa
    • Evan W. Patton's avatar
      Allow component properties to specify accepted type · dea242fe
      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
      dea242fe
    • Evan W. Patton's avatar
      Update Guava to 20 to be compatible with GWT 2.8 · c57f6917
      Evan W. Patton authored
      Change-Id: Ieb6fe17306d262ff92c08e28f227767add7005b6
      c57f6917