1. 31 Jul, 2018 1 commit
    • Jeffrey I. Schiller's avatar
      Provide for a second buildserver. · 308f1f33
      Jeffrey I. Schiller authored
      Provide for a second buildserver. If provided then the user is presented
      a choice of two different build servers. This feature was introduced to
      support building against two different versions of the Android SDK. As
      of 8/1/2018 MIT is using this feature with the first buildserver
      building Apps with a minSdk of 7 (but no targetSdk defined) to support
      older devices. The second buildserver is configured with a minSdk of 14
      and a targetSdk of 26 (along with the necessary component code
      changes). This is required for new Apps submitted to the Google Play
      Store. Having two buildservers provides us the flexibility to support
      older devices while also ensuring that people can submit MIT App
      Inventor created Apps to the Google Play Store.
      
      Change-Id: Iae58f9ff4d112f8bc5d3203675f37cec7bf76920
      308f1f33
  2. 11 Jul, 2018 3 commits
  3. 07 Jul, 2018 1 commit
  4. 06 Jul, 2018 1 commit
  5. 05 Jul, 2018 1 commit
  6. 03 Jul, 2018 6 commits
  7. 28 Jun, 2018 3 commits
    • Jeffrey Schiller's avatar
      Modified the “while” macro · 57533951
      Jeffrey Schiller authored
      Modified the “while” macro to avoid a bug in the Kawa in-line optimizer.
      
      Change-Id: I4247adab9fbf80e2e3396f67c4aac5f4a21fa752
      57533951
    • Evan W. Patton's avatar
      Fix order of call-Initialize-of-components in REPL · 41e45a6f
      Evan W. Patton authored
      Due to an optimization that reused the component references in blocks
      to determine the names of components, components with event handlers
      would have their init-thunks called before components without
      events. This would result in different initialization paths between
      the REPL and compiled apps. This change makes the ordering of
      init-thunks consistent by always using the order created by walking
      the Form's JSON description.
      
      Fixes #1279
      
      Change-Id: I5ea1070df17a1dd96923cff2f0adfd6889a987b2
      41e45a6f
    • Evan W. Patton's avatar
      Unbind all handlers in typeblock before binding new handler · 4b7763dc
      Evan W. Patton authored
      Change-Id: I1cc72fa09f8e5b51c22b78e774a6c5b5d119f9f7
      4b7763dc
  8. 27 Jun, 2018 1 commit
  9. 20 Jun, 2018 2 commits
    • Jeffrey I. Schiller's avatar
      Collapse All Properties · 66b2a13a
      Jeffrey I. Schiller authored
      This results in compilation building a single large Javascript download
      instead of one for each browser/language combination. In production,
      minification reduces the size of this file to something
      reasonable. However if you build directly from master, this one file
      will be pretty large. However it will work just fine.
      
      This changes significantly speeds up the build process.
      
      Change-Id: I330faf96fd95e538e3c19130c85c3ae8dbb077df
      66b2a13a
    • Evan W. Patton's avatar
      Work around break block issues in Kawa · 70421e9b
      Evan W. Patton authored
      Fixes #1230
      
      Change-Id: I1eb4579f4873d2e60b357acd463dbbd77261c936
      70421e9b
  10. 19 Jun, 2018 2 commits
  11. 18 Jun, 2018 2 commits
  12. 17 Jun, 2018 5 commits
  13. 11 Jun, 2018 2 commits
    • ChitiSims's avatar
      Add Rotation property · c0cd37b2
      ChitiSims authored
      Users could rotate the map but not programmatically. This change adds
      blocks to allow developers to programmatically change the map rotation.
      
      Fixes #1082
      
      Change-Id: I476263bb834cf32f4ab8c74c3f525ab0224362d8
      c0cd37b2
    • Evan W. Patton's avatar
      Close blocks drawer when deleting component (#1249) · 3e76dffe
      Evan W. Patton authored
      If one deleted a component while on the blocks screen, the drawer
      remained open. This commit tracks the last component opened and, if
      the deleted component name matches the last component opened, it will
      close the drawer. We track the last component referenced so that we
      don't hide the drawer in the event a component is deleted when another
      drawer, for example the built-in math blocks, is open.
      
      Change-Id: I4808a069b38986e44892e721b2d35132bfdae943
      3e76dffe
  14. 10 Jun, 2018 1 commit
    • Evan W. Patton's avatar
      Add touch handling for component helper widgets (#1251) · 30355198
      Evan W. Patton authored
      Implementation of the drag and drop support for the designer did not
      handle touch events on the help and remove extension buttons in the
      palette. This commit adds the corresponding implementations to improve
      touch support.
      
      Change-Id: I7a877683da6421c67104f4fb704e7c35fd90f578
      30355198
  15. 30 May, 2018 1 commit
    • Jeffrey I. Schiller's avatar
      Add A Shutdown Hook for the Buildserver · 2db96fcc
      Jeffrey I. Schiller authored
      Add a Shutdown Hook. In a container swarm, the swarm orchestrator may
      choose to shutdown a container (running a buildserver) as part of load
      balancing and other maintenance tasks. It will send a SIGTERM signal to
      the container which will send it to us. This shutdown hook causes us to
      wait until all build tasks are completed before we exit, ensuring that
      people's build jobs are not interrupted We combine this code with a
      configuration in the swarm service to *not* hard kill a container for a
      period of time (say 15 minutes) to give the buildserver a chance to
      finish outstanding jobs.
      
      Change-Id: Ie0fed539162e219af3df96a1402f153fc0473f0e
      2db96fcc
  16. 25 May, 2018 1 commit
    • Jeffrey I. Schiller's avatar
      Update How Build Server progress is reported. · 6ff1bfb9
      Jeffrey I. Schiller authored
      Buildserver progress, as reported in the progress bar during a build,
      used to work by having the client poll the App Inventor server, which
      would in turn poll the buildserver to learn the progress of the build.
      
      However this code would only work properly if there was only one
      buildserver and only one build in progress. In reality we handle dozens
      of builds simultaneously via a number of independent buildservers. So
      the progress being returned to the user was the progress of *some* build
      in the system, most likely not theirs!
      
      The constant polling by the App Inventor server also causes problems
      with the load balancer in front of the buildservers. This is because
      most “jobs” are not real build jobs, but just polls for progress. This
      may result in a non-optimal distribution of jobs between the various
      buildservers.
      
      This code changes things so that the buildserver does a callback to the
      App Inventor server when appropriate milestones are reached in the
      build job. The client still polls to App Inventor server for progress,
      but the App Inventor server no longer polls the buildserver. This should
      result in a better distribution of build jobs on the buildservers and
      also returns to the end user the correct status of their build.
      
      We also removed some obsolete code that attempts to generate the Yail
      within the Buildserver. We *always* generate the yail in the client now
      and it is sent to the buildserver.
      
      Change-Id: Ibaa9a7e3ff6576335d5ab6261a4121f27a1daf1d
      6ff1bfb9
  17. 17 May, 2018 1 commit
    • Jeffrey I. Schiller's avatar
      Update Clock Tests · 408f3ed1
      Jeffrey I. Schiller authored
      The recent update to the Clock component broke three unit tests (the
      tests were actually checking for the incorrect behavior). This change
      updates the tests to check for the correct behavior.
      
      Change-Id: I8fafefeb5a673104c8446c9421b8a0bb98f46553
      408f3ed1
  18. 10 May, 2018 1 commit
  19. 09 May, 2018 4 commits
  20. 12 Apr, 2018 1 commit