1. 27 Jun, 2018 1 commit
  2. 20 Jun, 2018 1 commit
    • 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
  3. 18 Jun, 2018 1 commit
  4. 17 Jun, 2018 4 commits
  5. 11 Jun, 2018 1 commit
    • 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
  6. 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
  7. 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
  8. 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
  9. 09 May, 2018 2 commits
  10. 12 Apr, 2018 1 commit
  11. 28 Mar, 2018 1 commit
  12. 22 Mar, 2018 1 commit
  13. 21 Mar, 2018 1 commit
  14. 19 Mar, 2018 1 commit
  15. 15 Mar, 2018 2 commits
  16. 08 Mar, 2018 2 commits
  17. 05 Mar, 2018 3 commits
    • Jeffrey Schiller's avatar
      Add “Shared Backpack” · c212e344
      Jeffrey Schiller authored
      A shared backpack is enabled at SSO login time[1] by providing a
      backPackId parameter in the SSO Token. Once enabled backpack contents
      are not stored with the user account but instead in a specific location
      defined by the backPackId. Multiple users can use the same shared
      backpack at the same time. Each time the shared backpack is opened a
      fresh copy is loaded from the server.
      
      There is still a race condition if two users attempt to store blocks at
      the same time. One will win and the other’s changes will not be added to
      the backpack. This may be corrected or mitigated in a future release.
      
      [1] Note: SSO Login is not currently implemented in the App Engine
      version of MIT App Inventor. This commit updates the Backpack code to be
      in alignment with the code we use in our Hong Kong deployment which is
      not run in App Engine. We plan to implement SSO login in the App Engine
      version in the near future.
      
      Change-Id: I5957a42999ff14d7263a47993efaf8f3492c016g
      c212e344
    • Jeffrey I. Schiller's avatar
      Update whitelist.py and /remote_api · e3a504dc
      Jeffrey I. Schiller authored
      Update whitelist.py so it works with the latest App Engine SDK. Also
      update permissions on /remote_api to be compatible with the latest App
      Engine SDK. Note: The change appears to remove the requirement for admin
      rights to use the /remote_api facility. However this admin requirement
      is now enforced by the Google supplied code which runs behind
      /remote_api. Performing the additional check in web.xml just causes an
      error about too many authentication attempts.
      
      Also remove excess catch statement in Whitelist.java that has been
      giving us compilation warnings for a very long time. Note:
      Whitelist.java is no longer in use, but can be enabled via a simple edit
      to OdeAuthFilter.java, so we are not removing it yet.
      
      Change-Id: I30cbb0eba3fba3f20d8443a94dae837c827f0b20
      e3a504dc
    • ColinTree's avatar
      96349f38
  18. 21 Feb, 2018 1 commit
  19. 19 Feb, 2018 1 commit
    • Pavitra's avatar
      Fix typo · b037d601
      Pavitra authored
      "alignemt" => "alignment"
      b037d601
  20. 08 Feb, 2018 1 commit
  21. 23 Jan, 2018 1 commit
    • Evan W. Patton's avatar
      Defer loading of screens until after Screen1 loads · 7e4e6e00
      Evan W. Patton authored
      When importing a project that requires an upgrade involving project
      settings, if any screen loaded before Screen1 would fail to
      upgrade. Attempting to build a project in this state would only
      generate YAIL files for the successfully loaded screens. The build
      server would attempt to generate YAIL for the missing screens using
      the AI1 YAIL generator, which no longer exists. The error message
      doesn't give any indication that this is the problem.
      
      This change defers loading of screens other than Screen1 until
      Screen1's form is loaded. At this point the upgrade of the Form and
      the project settings will have occurred, and then we can proceed to
      load the additional screens.
      
      Change-Id: Ibde055171a8939a9e9ae5ed8ea5ce3954fb5ccf1
      7e4e6e00
  22. 19 Jan, 2018 3 commits
    • Jeffrey I. Schiller's avatar
      Merge branch 'ucr' · 0166242c
      Jeffrey I. Schiller authored
      0166242c
    • Evan W. Patton's avatar
      Fix dialog themes in compiled apps · ae675d46
      Evan W. Patton authored
      DatePicker, TimePicker, and Notifier create dialogs that do not have
      the appropriate color. This commit adds behavior to the compiler to
      output styling information for dialogs so that these components
      properly reflect the user's chosen AccentColor.
      
      Change-Id: I770dcdff555b9f40a28c75e435e938e6258ab3c5
      ae675d46
    • Evan W. Patton's avatar
      Fix issues with marker size breaking project load · ec3671af
      Evan W. Patton authored
      Projects using relatively sized markers are unable to load correctly
      because the width/height is set before the MockMap is ready. This
      change introduces a needsUpdate flag that is set when this occurs. The
      size is then updated when addToMap is called once the map has been
      set. This also fixes a minor bug where markers with image assets do
      not end up being the correct size in the designer after toggling
      visibility.
      
      Fixes #1136 and fixes #1137
      
      Change-Id: Ic800b19241b9bcf33cd07db17308b7c61d13b81e
      ec3671af
  23. 18 Jan, 2018 1 commit
  24. 17 Jan, 2018 1 commit
  25. 12 Jan, 2018 1 commit
  26. 11 Jan, 2018 1 commit
    • User's avatar
      Update Form.java · fe79635e
      User authored
      Fixed #1120
      
      Change-Id: Idd679d701cfad71580cbd841a093dd35b558fc5f
      fe79635e
  27. 08 Jan, 2018 4 commits