Commits on Sep 21, 2016
  1. Bugfix to extension loading

    Fix to permit extension loading again.
    Change-Id: I6edb0391d1f4abb9815eda198af8ed16b7b5da7c
    committed Sep 21, 2016
Commits on Sep 19, 2016
  1. Fix erroneous reference to getProcedureDef

    When changing the called procedure name in a procedure block that
    returns a value, the parameter sockets disappear and the block becomes
    unusable. This is caused by the fact that the code looks to call
    getProcedureDef but it is undefined, even on procedure blocks. The
    issue was that it is supposed to be copied from the no return version
    of the procedure call block, but the reference was wrong and so the
    value was undefined. This commit fixes the erroneous reference in
    order that the behavior is correct. This also has the side effect of
    fixing the (unreported?) bug that the "Highlight Proceduce" context
    menu action was not working due to the same issue.
    Fixes #844
    Change-Id: I7041c3ab05a89c1a710128a7d91a543bb601940a
    ewpatton committed Sep 19, 2016
Commits on Sep 14, 2016
  1. Update Companion Version to 2.39

    Change-Id: I040f50fbe9fadf0fbd3b26e7312fa98b43f3d374
    committed Sep 14, 2016
  2. Merge branch 'ucr'

    committed Sep 14, 2016
Commits on Sep 6, 2016
  1. Clean

    Change-Id: I375eddc7d09e1042ad372e2c581552c1401954d6
    thequixotic committed with ewpatton Sep 2, 2016
Commits on Aug 29, 2016
  1. Mitigate Race Condition

    Mitigate a Race Condition where blockly reads the component database
    before the project has finished initializing the component
    database. This race only tends to manifest in projects with several (or
    many) screens each of which have a significant number of blocks.
    Change-Id: I073c4fb30a522d59e6ba060b39183798ce9ac10e
    committed Aug 29, 2016
Commits on Aug 27, 2016
  1. Fix Android Servlet

    Android Servlet let’s you download your packaged apps to your own
    Change-Id: I1b074fc65591642e8e8e9fe468609cd6a7d5af2b
    committed Aug 25, 2016
  2. Remove Obsolete Code

    Remove code that was used to communicate with the AI Classic Blocks
    editor. It is no longer in use.
    Change-Id: I5a1dc1e3a4081723a74c4370265158f29cd4ae34
    committed Aug 24, 2016
  3. Add VR paper writeup

    Change-Id: I1d50c87acab77adc301b551ee32570d81a7a90f7
    halatmit committed with Aug 26, 2016
Commits on Aug 23, 2016
  1. Update ActivityStarter to use TextUtils.isEmpty(String)

    ActivityStarter uses String.isEmpty(), which was introduced in Java
    1.6. However, older versions of Android are only binary compatible
    with Java 1.5, such as the version used in the emulator. This causes
    the ActivityStarter to throw an exception when starting an activity.
    This commit fixes the issue by replacing the call to String.isEmpty()
    with android.text.TextUtils.isEmpty(String), which is available since
    Android API version 1. This is consistent with other checks in
    components, such as Canvas and Web.
    Closes #827
    Change-Id: I5c26bab97421a86b3d62888af447d999af38450a
    ewpatton committed with Jul 28, 2016
Commits on Aug 21, 2016
  1. Do not erase UserSettings when App Inventor Closed

    There is a race condition where if App Inventor is closed (browser
    window closed) while the system is still initializing, the user’s global
    settings will be over-written by an empty settings object because the
    global settings have not finished loading. We detect that with this code
    and avoid over-writing the settings.
    Change-Id: Icfcf8204b860984bf36e2a7d525ebf5814a2ffd8
    committed Aug 21, 2016
  2. Improve Project List Loading time

    Generate the user’s project list by doing one bulk API call to to the
    datastore to fetch project meta data.
    Change-Id: Ie3a93126b22e2292bc4b270d4d54c5c382880cf9
    committed Aug 19, 2016
Commits on Aug 16, 2016
  1. Arrange to save Screen Shots of Blocks

    Arrange to make a screenshot of the blocks whenever a blocks editor is
    Change-Id: I4f88aa8c479e6b111bdc477a0fb3821cc815be15
    committed Aug 12, 2016
Commits on Aug 8, 2016
  1. Add a No-Op function

    Add a No-Op function. Along with a session idle timeout and session
    renew time, we can ensure that closed browsers (which will stop
    performing no-op operations) will be logged out.
    Change-Id: Ibdd1a55b172fc2aad2c8bed012ae86508d1d025b
    committed Aug 8, 2016
Commits on Jul 30, 2016
  1. Fix more XSS issues

    Fix some XSS issues on the server side.
    Change-Id: I5f0b2a1da87666ef56b4d83c1414d66d8f1d3eb6
    committed Jul 30, 2016
Commits on Jul 29, 2016
  1. Sanitize the HTML placed in a Label

    Now that we support HTML markup in Labels, we need to make sure it is
    safe to display in the user’s browser.
    Change-Id: I17cd06a4ade1e7a58ffeb9ba256ac83a166afd0d
    committed Jul 29, 2016
  2. Pass the values of locale,repo and galleryId

    “repo” is used by the template code to indicate a user supplied template
    repository (so you can build your own webpage and link to App Inventor
    with something like<myrepo>. Similarly the galleryId
    value is used to point to an App in the Gallery which should be opened
    upon login. The locale value determines which language App Inventor
    should start in.
    This commit fixes how we handle these values as we move from the client
    application to the LoginServlet and back to the client application so
    that they are preserved.
    Note: A person’s very first login does not preserve these values because
    the code that displays the terms of service fails to preserve them. This
    is an old bug that we do not fix here (but can at a later date).
    Change-Id: I53768cfaadd12175e3c1fe821e58024d984afcfa
    committed Jul 29, 2016
Commits on Jul 27, 2016
  1. Fix loading of Projects with multiple Extensions

    Change-Id: I142c4808c2bca82983cfa669b8864b49ce1ec670
    thequixotic committed with Jul 27, 2016
  2. Fix Blockly Verification with Other Languages

    Change-Id: Ic5f7f2c42d47b960bc106c46fd7d70e3e37b3f69
    thequixotic committed with Jul 27, 2016
Commits on Jul 26, 2016
  1. Update

    Change-Id: I371ab03f71bbabae60d9c9d01cab7b975737f875
    GodUseVPN committed with Jul 26, 2016
  2. Update Companion to Version 2.38

    Change-Id: Ie3374ef51d4f16a2916242f691649f0c6bc4f57a
    committed Jul 26, 2016
  3. Merge branch 'ucr'

    committed Jul 26, 2016
Commits on Jul 24, 2016
  1. Change division by 0 to show generate an error.

    We trigger an “ErrorOccurred” event when we attempt to divide by
    zero. This can be handled by the App Inventor programmers. If it isn’t
    handled, a Notification is generated to the end-user. If the numerator
    is non-zero, +-INTEGER_MAX (2147483647) is returned. If the numerator is
    0, then a 0 is returned.
    Change-Id: Ib323c692528fd331c33fcd64de5caa24c2ff9126
    halatmit committed with Jul 24, 2016
Commits on Jul 20, 2016
  1. Disable Activity Starter on null activities

    Activities must now have an action specified
    Change-Id: Icafa0edbc3bec4afdb4f4ba12cf68d15f2a6a8a8
    chenglonkhin committed with Jul 20, 2016
  2. Merge branch 'master' into ucr

    committed Jul 20, 2016
  3. Create our Own Cookie

    Instead of using App Engine sessions, create our own cookie
    instead. This cookie contains all of the session state itself, encrypted
    and mac’d so that the end-user cannot tamper with it.
    The cookie itself is constructed using Google’s Protobufs code and
    encrypted with the Keyczar library
    Change-Id: Icde67c34bd3828a488876f6a1c0800fb86d7e7b2
    committed Jun 8, 2016
Commits on Jul 17, 2016
  1. ListView returns proper selection Index

    The returned value of the selection index in a ListView is now
    independent of any filter that is applied. So it is always based on the
    position in the list that is given ListView to select from.
    Change-Id: I50bcf8d7ed21dbd06dcbca81fec2a9d631f0b7da
    E-Hon committed with Jul 17, 2016
Commits on Jul 15, 2016
  1. Support upgrading of extension components

    You can now load a new version of an extension, provided it has the same
    package name, over a previous version. Any incompatible block changes
    between the old and new version will result in the blocks being marked
    “bad”. The MIT App Inventor programmer then has to do some cleanup, but
    this is way better then having to delete the old component, which
    removes all associated blocks.
    Change-Id: I05ad39e16dcb8ea298091fa01338d5cf6c16c23e
    thequixotic committed with Jul 15, 2016
Commits on Jul 14, 2016
  1. Cleanup Gallery on Failed Upload

    Make sure meta data is cleaned up when we attempt to publish an App to
    the Gallery but fail because it contains an extension (or for whatever
    reason the upload fails).
    Change-Id: I3052ea6b5b4195ddac4469f19966df7ba98934af
    committed Jul 14, 2016
  2. Migrate FusionTables to v2

    Change-Id: Ie66104df626dc0d1c4329c2a87ad7316695872d8
    committed Jun 30, 2016
Commits on Jul 13, 2016
  1. Gallery Moderation: Update Message Sent to User

    Refers the user of an app that has been reported to the Terms and
    conditions when deactivating it. Also now it is required to add a
    description when reporting an app (Makes moderation easier).
    Change-Id: I59ecfe1bf38c33cf4ab1dcf3c3f17b5ead750fe8
    toropeza committed with Jul 13, 2016
Commits on Jul 11, 2016
  1. Added Scrollable Arrangements

    Add Scrollable versions of Horizontal and Vertical Arrangements
    Author: Kseniia Shumelchyk <>
    Author: Jeffrey I. Schiller <>
    Change-Id: Iddb20dca7835de8dad548dbb8043a600b60f9ded
    shumelchyk committed with Jul 11, 2016
Commits on Jul 10, 2016
  1. Add numbers to the designer alignment dropdowns

    Add numbers to the property values shown in the designer dropdowns for
    aligment, as requested in issue #182
    Change-Id: Ia57d2911e2389436b37fe9a8ecb53a007ebca691
    halatmit committed with Jul 10, 2016
  2. Add Comments to Block Save Images

    Fixed the issue where text in comment blocks disappears when the user
    downloads blocks as images
    Change-Id: I00339e03fda72d3b563631b536e6391ee05332b5
    chenglonkhin committed with Jul 7, 2016
Commits on Jul 1, 2016
  1. Fixed the slash issue for Windows users

    Change-Id: Ie010e3eb2ca7267407681c360d15b750e348f1fd
    chenglonkhin committed with Jul 1, 2016