Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App sandbox not enabled (ITMS-90296): For other binaries to be signed #192

Open
warrenbuckley opened this issue May 1, 2019 · 25 comments
Open
Labels

Comments

@warrenbuckley
Copy link

warrenbuckley commented May 1, 2019

Error

image

ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list: [( "com.warrenbuckley.compact.logviewer.pkg/Payload/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/LogViewer.Server" )] Refer to App Sandbox page at https://developer.apple.com/devcenter/mac/app-sandbox/ for more information on sandboxing your app."

Background

I am currently trying to submit a MacOS app to the app store for submission and have been successful. However I forgot to include my self hosted API/Server binary/executable that is needed to be run in order for my Electron app to work.

I am using electron-osx-sign as part of https://github.com/electron-userland/electron-builder
and have the following configuration setup for this and I have included the binary path in order for it be signed as well.

So these entitlements and configuration listed below minus the binary option in the JSON config has all worked and has been approved by Apple - I just don't have a fully working app 🙈

So by including the binary option it fails this pre-validation by Apple with its Application Loader program.

Electron Builder Config

{
    "appId": "com.warrenbuckley.compact.logviewer",
    "productName": "Compact Log Viewer",
    "directories": {
        "output": "../output"
    },
    "files": [
        "!**/.vscode",
        "!tsconfig.json",
        "!tslint.json"
    ],
    "extraResources": {
        "from": "../LogViewer.Server/bin/dist/",
        "to": "LogViewer.Server/bin/dist/",
        "filter": [
            "**/*"
        ]
    },
    "win": {
        "target": [
            "nsis",
            "appx"
        ],
        "icon": "logo.png"
    },
    "mac": {
        "category": "public.app-category.developer-tools",
        "target": [
            "dmg",
            "mas"
        ],
        "bundleVersion": 20190426,
        "icon": "logo.png",
        "provisioningProfile": "Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile"
    },
    "nsis": {
        "deleteAppDataOnUninstall": true,
        "createDesktopShortcut": true,
        "createStartMenuShortcut": true,
        "shortcutName": "Compact Log Viewer",
        "artifactName": "Compact.Log.Viewer.Setup.${version}.${ext}",
        "uninstallDisplayName": "Compact Log Viewer (${version})"
    },
    "appx": {
        "applicationId": "Compact.Log.Viewer",
        "backgroundColor": "#3544b1",
        "displayName": "Compact Log Viewer",
        "identityName": "64819WarrenBuckley.CompactLogFormatViewer",
        "publisher": "CN=4629CEC3-93A2-4080-86C0-63487B897B1F",
        "publisherDisplayName": "Warren Buckley"
    },
    "dmg": {
        "backgroundColor": "#3544b1"
    },
    "mas": {
        "binaries": [
            "../LogViewer.Server/bin/dist/osx/LogViewer.Server"
        ]
    }
}

Entitlements.mas.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
  </dict>
</plist>

Entitlements.mas.inherit.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
  </dict>
</plist>
@warrenbuckley
Copy link
Author

Debug log output

> logviewer.client@1.0.4 mac /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client
> electron-builder --publish never --mac --config electron-builder.json

Configuring yargs through package.json is deprecated and will be removed in the next major release, please use the JS API
 instead.
Configuring yargs through package.json is deprecated and will be removed in the next major release, please use the JS API
 instead.
  • electron-builder version=20.39.0
  • loaded configuration file=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/electron-builder.json
  • writing effective config file=/Users/warrenbuckley/Projects/LogViewer/output/builder-effective-config.yaml
  • no native production dependencies
  • packaging       platform=darwin arch=x64 electron=4.1.1 appOutDir=/Users/warrenbuckley/Projects/LogViewer/output/mac
  • packaging       platform=mas arch=x64 electron=4.1.1 appOutDir=/Users/warrenbuckley/Projects/LogViewer/output/mas
  • map async                  • map async                 taskCount=2 taskCount=2

  • map async                 taskCount=1  • map async                
 taskCount=1
  • map async                 taskCount=206
  • fix permissions           file=/Users/warrenbuckley/Projects/LogViewer/output/mas/Electron.app/Contents/Frameworks/El
ectron Framework.framework/Versions newPermissions=rwxr-xr-x originalPermissions=rwxr--r-- reason=group or other cannot r
ead
  • fix permissions           file=/Users/warrenbuckley/Projects/LogViewer/output/mas/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A newPermissions=rwxr-xr-x originalPermissions=rwxr--r-- reason=group or other cannot read
  • map async                 taskCount=312
  • fix permissions           file=/Users/warrenbuckley/Projects/LogViewer/output/mac/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions newPermissions=rwxr-xr-x originalPermissions=rwxr--r-- reason=group or other cannot read
  • fix permissions           file=/Users/warrenbuckley/Projects/LogViewer/output/mac/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A newPermissions=rwxr-xr-x originalPermissions=rwxr--r-- reason=group or other cannot read
  • unresolved deps           nodeModuleDir=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/node_modules round=0 unresolved=psl
  • unresolved deps           nodeModuleDir=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/node_modules round=0 unresolved=angular
  • unresolved deps           nodeModuleDir=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/node_modules round=0 unresolved=chartjs-color, moment
  • unresolved deps           nodeModuleDir=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/node_modules round=0 unresolved=psl
  • unresolved deps           nodeModuleDir=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/node_modules round=0 unresolved=angular
  • unresolved deps           nodeModuleDir=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/node_modules round=0 unresolved=chartjs-color, moment
  • path resolved             outputFormat=icns path=/Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/logo.png
  • signing         file=/Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app identityName=Developer ID Application: Warren Buckley (...LU24) identityHash=...B285 provisioningProfile=Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile
  electron-osx-sign electron-osx-sign@0.4.11 +0ms
  • signing         file=/Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app identityName=3rd Party Mac Developer Application: Warren Buckley (...LU24) identityHash=...4BC0 provisioningProfile=Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile
  electron-osx-sign electron-osx-sign@0.4.11 +2ms
  electron-osx-sign `identity` passed in arguments. +1ms
  electron-osx-sign:warn No `entitlements` passed in arguments: 
 * Provide `entitlements` to specify entitlements file for codesign. +1ms
  electron-osx-sign Pre-sign operation enabled for provisioning profile: 
 * Disable by setting `pre-embed-previsioning-profile` to `false`. +0ms
  electron-osx-sign Pre-sign operation enabled for entitlements automation with versions >= `1.1.1`: 
 * Disable by setting `pre-auto-entitlements` to `false`. +0ms
  electron-osx-sign `identity` passed in arguments. +2ms
  electron-osx-sign Pre-sign operation enabled for provisioning profile: 
 * Disable by setting `pre-embed-previsioning-profile` to `false`. +0ms
  electron-osx-sign Pre-sign operation enabled for entitlements automation with versions >= `1.1.1`: 
 * Disable by setting `pre-auto-entitlements` to `false`. +0ms
  electron-osx-sign `provisioning-profile` passed in arguments. +0ms
  electron-osx-sign Executing... security cms -D -i Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile +1ms
  electron-osx-sign `provisioning-profile` passed in arguments. +3ms
  electron-osx-sign Executing... security cms -D -i Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile +0ms
  electron-osx-sign Provisioning profile: 
 > Name: Compact Log Viewer App - Mac Production Profile 
 > Platforms: [ 'mas' ] 
 > Type: distribution 
 > Path: Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile 
 > Message: { AppIDName: 'Compact Log Viewer App',
  ApplicationIdentifierPrefix: [ '...LU24' ],
  CreationDate: 2019-03-13T12:38:57.000Z,
  Platform: [ 'OSX' ],
  IsXcodeManaged: false,
  DeveloperCertificates:
   [ <Buffer ... 04 06 ... > ],
  Entitlements:
   { 'com.apple.application-identifier': '...LU24.com.warrenbuckley.compact.logviewer',
     'keychain-access-groups': [ '...LU24.*' ],
     'com.apple.developer.team-identifier': '...LU24' },
  ExpirationDate: 2020-03-11T18:01:11.000Z,
  Name: 'Compact Log Viewer App - Mac Production Profile',
  TeamIdentifier: [ '...LU24' ],
  TeamName: 'Warren Buckley',
  TimeToLive: 364,
  UUID: 'b40eee06-0539-47e7-a76f-96757f7c8781',
  Version: 1 } +60ms
  electron-osx-sign Looking for existing provisioning profile... +7ms
  electron-osx-sign Embedding provisioning profile... +1ms
  electron-osx-sign Copying file... 
 > Source: Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile 
 > Target: /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/embedded.provisionprofile +0ms
  electron-osx-sign Provisioning profile: 
 > Name: Compact Log Viewer App - Mac Production Profile 
 > Platforms: [ 'mas' ] 
 > Type: distribution 
 > Path: Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile 
 > Message: { AppIDName: 'Compact Log Viewer App',
  ApplicationIdentifierPrefix: [ '...LU24' ],
  CreationDate: 2019-03-13T12:38:57.000Z,
  Platform: [ 'OSX' ],
  IsXcodeManaged: false,
  DeveloperCertificates:
   [ <Buffer ... 55 04 06 ... > ],
  Entitlements:
   { 'com.apple.application-identifier': '...LU24.com.warrenbuckley.compact.logviewer',
     'keychain-access-groups': [ '...LU24.*' ],
     'com.apple.developer.team-identifier': '...LU24' },
  ExpirationDate: 2020-03-11T18:01:11.000Z,
  Name: 'Compact Log Viewer App - Mac Production Profile',
  TeamIdentifier: [ '...LU24' ],
  TeamName: 'Warren Buckley',
  TimeToLive: 364,
  UUID: 'b40eee06-0539-47e7-a76f-96757f7c8781',
  Version: 1 } +2ms
  electron-osx-sign Looking for existing provisioning profile... +1ms
  electron-osx-sign Embedding provisioning profile... +0ms
  electron-osx-sign Copying file... 
 > Source: Compact_Log_Viewer_App__Mac_Production_Profile.provisionprofile 
 > Target: /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/embedded.provisionprofile +0ms
  electron-osx-sign Signing application... 
 > Application: /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app 
 > Platform: darwin 
 > Entitlements: undefined 
 > Child entitlements: undefined 
 > Additional binaries: undefined 
 > Identity: { name: 'Developer ID Application: Warren Buckley (...LU24)',
  hash: '...B285' } +1ms
  electron-osx-sign Walking... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents +0ms
  electron-osx-sign Automating entitlement app group... 
 > Info.plist: /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Info.plist 
 > Entitlements: /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.plist +2ms
  electron-osx-sign `ElectronTeamID` not found in `Info.plist`, use parsed from provisioning profile: ...LU24 +10ms
  electron-osx-sign `Info.plist` updated: 
 > Info.plist: /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Info.plist +13ms
  electron-osx-sign `com.apple.application-identifier` not found in entitlements file, new inserted: ...LU24.com.warrenbuckley.compact.logviewer +1ms
  electron-osx-sign `com.apple.developer.team-identifier` not found in entitlements file, new inserted: ...LU24 +0ms
  electron-osx-sign `com.apple.security.application-groups` not found in entitlements file, new inserted: ...LU24.com.warrenbuckley.compact.logviewer +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app/Contents/MacOS/Compact Log Viewer Helper +7ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app/Contents/MacOS/Compact Log Viewer Helper +1ms
  electron-osx-sign Entitlements file updated: 
 > Entitlements: /var/folders/gt/hl2tlmw91bg_9vdghmp7w4ww0000gn/T/tmp-entitlements-cfb-0.plist +6ms
  electron-osx-sign Signing application... 
 > Application: /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app 
 > Platform: mas 
 > Entitlements: /var/folders/gt/hl2tlmw91bg_9vdghmp7w4ww0000gn/T/tmp-entitlements-cfb-0.plist 
 > Child entitlements: /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist 
 > Additional binaries: [ '../LogViewer.Server/bin/dist/osx/LogViewer.Server' ] 
 > Identity: { name:
   '3rd Party Mac Developer Application: Warren Buckley (...LU24)',
  hash: '...4BC0' } +0ms
  electron-osx-sign Walking... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app/Contents/MacOS/Compact Log Viewer Helper +24ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app/Contents/MacOS/Compact Log Viewer Helper +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app +142ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework +148ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app +125ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Compact Log Viewer Helper.app +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework +266ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib +818ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework +166ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib +339ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/crashpad_handler +365ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/crashpad_handler +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework +249ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Electron Framework.framework +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Library/LoginItems/Compact Log Viewer Login Helper.app/Contents/MacOS/Compact Log Viewer Login Helper +257ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Library/LoginItems/Compact Log Viewer Login Helper.app/Contents/MacOS/Compact Log Viewer Login Helper +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Library/LoginItems/Compact Log Viewer Login Helper.app +150ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Library/LoginItems/Compact Log Viewer Login Helper.app +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/MacOS/Compact Log Viewer +164ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/MacOS/Compact Log Viewer +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Mantle.framework/Versions/A/Mantle +769ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Mantle.framework/Versions/A/Mantle +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Mantle.framework +247ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Mantle.framework +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Globalization.Native.dylib +101ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Globalization.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.IO.Compression.Native.dylib +136ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.IO.Compression.Native.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/A/ReactiveCocoa +18ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/A/ReactiveCocoa +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Native.dylib +129ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Http.Native.dylib +136ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Http.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/ReactiveCocoa.framework +4ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/ReactiveCocoa.framework +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Security.Native.dylib +138ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Security.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Security.Cryptography.Native.Apple.dylib +135ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Security.Cryptography.Native.Apple.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt +29ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Squirrel.framework/Versions/A/Resources/ShipIt +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libclrjit.dylib +113ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libclrjit.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Squirrel.framework/Versions/A/Squirrel +148ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Squirrel.framework/Versions/A/Squirrel +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libcoreclr.dylib +26ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libcoreclr.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostfxr.dylib +223ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostfxr.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostpolicy.dylib +149ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostpolicy.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Squirrel.framework +3ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Frameworks/Squirrel.framework +0ms
  electron-osx-sign Signing... ../LogViewer.Server/bin/dist/osx/LogViewer.Server +147ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /Users/warrenbuckley/Projects/LogViewer/LogViewer.Client/build/entitlements.mas.inherit.plist ../LogViewer.Server/bin/dist/osx/LogViewer.Server +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/MacOS/Compact Log Viewer +128ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/MacOS/Compact Log Viewer +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app +24ms
  electron-osx-sign Executing... codesign --sign ...4BC0 --force --entitlements /var/folders/gt/hl2tlmw91bg_9vdghmp7w4ww0000gn/T/tmp-entitlements-cfb-0.plist /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app +0ms
  electron-osx-sign Verifying... +1s
  electron-osx-sign Verifying application bundle with codesign... +1ms
  electron-osx-sign Executing... codesign --verify --deep --strict --verbose=2 /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Globalization.Native.dylib +192ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Globalization.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.IO.Compression.Native.dylib +997ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.IO.Compression.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Native.dylib +293ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Native.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Http.Native.dylib +250ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Http.Native.dylib +0ms
  electron-osx-sign Verified. +106ms
  electron-osx-sign Displaying entitlements... +0ms
  electron-osx-sign Executing... codesign --display --entitlements :- /Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app +0ms
  electron-osx-sign Entitlements: 
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.application-identifier</key>
    <string>...LU24.com.warrenbuckley.compact.logviewer</string>
    <key>com.apple.developer.team-identifier</key>
    <string>...LU24</string>
    <key>com.apple.security.application-groups</key>
    <array>
      <string>...TLU24.com.warrenbuckley.compact.logviewer</string>
    </array>
  </dict>
</plist> +49ms
  electron-osx-sign Application signed. +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Security.Native.dylib +102ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Net.Security.Native.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Security.Cryptography.Native.Apple.dylib +233ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/System.Security.Cryptography.Native.Apple.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libclrjit.dylib +238ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libclrjit.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libcoreclr.dylib +285ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libcoreclr.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostfxr.dylib +306ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostfxr.dylib +1ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostpolicy.dylib +246ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/libhostpolicy.dylib +0ms
  electron-osx-sign Signing... /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app +248ms
  electron-osx-sign Executing... codesign --sign ...B285 --force /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app +0ms
  electron-osx-sign Verifying... +1s
  electron-osx-sign Verifying application bundle with codesign... +1ms
  electron-osx-sign Executing... codesign --verify --deep --strict --verbose=2 /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app +0ms
  electron-osx-sign Verifying Gatekeeper acceptance for darwin platform... +851ms
  electron-osx-sign Executing... spctl --assess --type execute --verbose --ignore-cache --no-cache /Users/warrenbuckley/Projects/LogViewer/output/mac/Compact Log Viewer.app +0ms
  electron-osx-sign Verified. +1s
  electron-osx-sign Application signed. +0ms
  • building        target=DMG arch=x64 file=/Users/warrenbuckley/Projects/LogViewer/output/Compact Log Viewer-1.0.4.dmg
  • copy files                from=/Users/warrenbuckley/Projects/LogViewer/output/.icon-icns/icon.icns isUseHardLinks=false to=/Volumes/Compact Log Viewer 1.0.4/.VolumeIcon.icns
  • building block map blockMapFile=/Users/warrenbuckley/Projects/LogViewer/output/Compact Log Viewer-1.0.4.dmg.blockmap

@warrenbuckley
Copy link
Author

The additional binary is listed above and from the logs all seems OK as far as I can tell but I still get the error/screenshot posted at the beginning of this thread.

I don't know enough about MacOS entitlements & code signing to know where the problem lies here, are you able to give any pointers please @sethlu

@warrenbuckley
Copy link
Author

Update

I have had to explicitly set the binary in the electron-builder.json config to be a full path like so:

    "mas": {
        "binaries": [
            "/Users/warrenbuckley/Projects/LogViewer/output/mas/Compact Log Viewer.app/Contents/Resources/LogViewer.Server/bin/dist/osx/LogViewer.Server"
        ]
    }

As opposed to a relative path which I had set ../LogViewer.Server/bin/dist/osx/LogViewer.Server however this does not seem to complain to me though.

This is not ideal for me, if I want to move this into some CI pipeline as obviously they will not have the same absolute path as me.

My project structure copies the LogViewer Server over with Electron Builder with this config but I would have thought the relative path I gave of ../LogViewer.Server/bin/dist/osx/LogViewer.Server would have been fine?!

    "extraResources": {
        "from": "../LogViewer.Server/bin/dist/",
        "to": "LogViewer.Server/bin/dist/",
        "filter": [
            "**/*"
        ]
    },

When specifying a path to the additional binaries in codesign what should the path be @sethlu ?

@sethlu sethlu added the question label May 2, 2019
@sethlu
Copy link
Contributor

sethlu commented May 2, 2019

If specifying the full path to the binary works fine, then the additional binaries list should be working.
The paths listed should be relative to the current working directory. In this case, I think it should be relative to where you run the electron-builder script?

@warrenbuckley
Copy link
Author

Thanks @sethlu I will experiment & investigate and report back soon

@Qiplex
Copy link

Qiplex commented Jul 24, 2019

Same issue here.

Screen Shot 2019-07-24 at 18 51 23

$ cat build/entitlements.mas.plist 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
</dict>
</plist>                                              

This used to be working flawlessly earlier. A few months ago, I believe.

@mvbn
Copy link

mvbn commented Aug 31, 2019

Hello, I have the same issue.

I have noted that the Info.plist contained on the package of my previous working version was starting like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">...

But on the latest start like this:

bplist00�����������	
�
������������������� �!""#$%&'()*11-./01]AsarIntegrity...

Edit:
Xcode can open both.
I use electron-builder which it uses electron-osx-sign.

To submit MAS with electron 6, is required 21.2.0: so I can't.
I downgraded node to 10.16.3, electron to 5 and electron-builder to 20.44.4.

@iKBAHT
Copy link

iKBAHT commented Sep 12, 2019

Have the same problem after update to

"electron": "6.0.2",
"electron-builder": "21.2.0",

d300234a-67c2-4f10-b23b-4b63efc47ca7

@sethlu
Copy link
Contributor

sethlu commented Sep 16, 2019

Hi @Qiplex @mvbn @iKBAHT! Can you set the environment variable DEBUG=electron-osx-sign* (with the asterisk) and do the code signing again? The output debug logs will be very helpful for us to help troubleshoot 😺 Please note to redact any sensitive info like signing identities & team id.

@iKBAHT
Copy link

iKBAHT commented Sep 16, 2019

@sethlu, the error happen not in sign stage, but in send to Mac App Store stage. I run code signing with DEBUG=electron-osx-sign* and no have any extra info.

@sethlu
Copy link
Contributor

sethlu commented Sep 16, 2019

@iKBAHT 🤔 if DEBUG=electron-osx-sign* doesn't output any debugging info, that probably means the app bundle isn't signed? Did you configure electron-builder to sign the app after packaging?

We use the output message from the codesigning stage to troubleshoot for issues that show up when submitting to the Mac App Store.

@vaibhavtel
Copy link

vaibhavtel commented Sep 17, 2019

Workaround
Add

<key>com.apple.security.app-sandbox</key>
<true/>

to node_modules/app-builder-lib/templates/entitlements.mac.plist

develar pushed a commit to electron-userland/electron-builder that referenced this issue Sep 23, 2019
@iKBAHT
Copy link

iKBAHT commented Nov 11, 2019

@sethlu sorry for late. Previous time I incorrectly add DEBUG=electron-osx-sign*. This is log from new electron-builder 22.1.0 and mac os 10.15.1

electron-builder  version=22.1.0 os=19.0.0
  • loaded configuration  file=/Users/--secret--/Desktop/www/maat/electron-builder-mac-store.dev.json
  • writing effective config  file=dist/builder-effective-config.yaml
  • installing production dependencies  platform=darwin arch=x64 appDir=/Users/--secret--/Desktop/www/maat/app
  • packaging       platform=mas arch=x64 electron=6.0.2 appOutDir=dist/mas-dev
  • map async       taskCount=2
  • map async       taskCount=1
  • map async       taskCount=228
  • asar using is disabled — it is strongly not recommended  solution=enable asar and use asarUnpack to unpack files that must be externally available
  • map async       taskCount=8
  • path resolved   path=/Users/--secret--/Desktop/www/maat/resources/icon.icns outputFormat=icns
  • map async       taskCount=6
  • signing         file=dist/mas-dev/Brief.app identityName=Mac Developer: --secret-- provisioningProfile=./build/BriefDevelopment.provisionprofile

electron-osx-sign `identity` passed in arguments. +0ms
  electron-osx-sign Pre-sign operation enabled for provisioning profile:
 * Disable by setting `pre-embed-provisioning-profile` to `false`. +1ms
  electron-osx-sign Pre-sign operation enabled for entitlements automation with versions >= `1.1.1`:
 * Disable by setting `pre-auto-entitlements` to `false`. +0ms
  electron-osx-sign `provisioning-profile` passed in arguments. +0ms
  electron-osx-sign Executing... security cms -D -i ./build/BriefDevelopment.provisionprofile +1ms
  • map async       taskCount=1
  electron-osx-sign Provisioning profile:
 > Name: Mac Store Dev profile
 > Platforms: [ 'darwin', 'mas' ]
 > Type: development
 > Path: ./build/BriefDevelopment.provisionprofile
 > Message: {
  DeveloperCertificates: [
    '--secret--'
  ],
  ProvisionedDevices: [
    '--secret--',
    '--secret--'
  ],
  TimeToLive: 365,
  Platform: [ 'OSX' ],
  IsXcodeManaged: false,
  Entitlements: {
    'com.apple.application-identifier': '--secret--.com.gobrief.Brief',
    'keychain-access-groups': [ '--secret--.*' ],
    'com.apple.developer.team-identifier': '--secret--'
  },
  TeamName: 'Brief Communications Inc.',
  UUID: '--secret--',
  Version: 1,
  AppIDName: 'Brief Messenger',
  ApplicationIdentifierPrefix: [ '--secret--' ],
  Name: 'Mac Store Dev profile',
  TeamIdentifier: [ '--secret--' ],
  CreationDate: '2019-09-11T13:44:22Z',
  ExpirationDate: '2020-09-10T13:44:22Z'
} +60ms
  electron-osx-sign Looking for existing provisioning profile... +3ms
  electron-osx-sign Embedding provisioning profile... +32ms
  electron-osx-sign Copying file...
 > Source: ./build/BriefDevelopment.provisionprofile
 > Target: /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/embedded.provisionprofile +0ms
  electron-osx-sign Automating entitlement app group...
 > Info.plist: /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Info.plist
 > Entitlements: ./build/entitlements.mas.plist +3ms
  • map async       taskCount=2
  electron-osx-sign `ElectronTeamID` not found in `Info.plist`, use parsed from provisioning profile: --secret-- +15ms
  • map async       taskCount=1
  electron-osx-sign `Info.plist` updated:
 > Info.plist: /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Info.plist +14ms
  electron-osx-sign `com.apple.application-identifier` found in entitlements file: --secret--.com.gobrief.Brief +0ms
  electron-osx-sign `com.apple.developer.team-identifier` found in entitlements file: --secret-- +0ms
  electron-osx-sign `com.apple.security.application-groups` found in entitlements file: --secret--.com.gobrief.Brief +0ms
  • map async       taskCount=1
  electron-osx-sign Entitlements file updated:
 > Entitlements: /var/folders/d2/s2gd6khn7xx65_836fkv057m0000gn/T/tmp-entitlements-3831-0.plist +15ms
  electron-osx-sign Signing application...
 > Application: /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app
 > Platform: mas
 > Entitlements: /var/folders/d2/s2gd6khn7xx65_836fkv057m0000gn/T/tmp-entitlements-3831-0.plist
 > Child entitlements: /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist
 > Additional binaries: undefined
 > Identity: {
  name: '--secret--',
  hash: '--secret--'
} +0ms
  electron-osx-sign Walking... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents +1ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (GPU).app/Contents/MacOS/Brief Helper (GPU) +22ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (GPU).app/Contents/MacOS/Brief Helper (GPU) +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (GPU).app +107ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (GPU).app +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Plugin).app/Contents/MacOS/Brief Helper (Plugin) +94ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Plugin).app/Contents/MacOS/Brief Helper (Plugin) +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Plugin).app +94ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Plugin).app +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Renderer).app/Contents/MacOS/Brief Helper (Renderer) +95ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Renderer).app/Contents/MacOS/Brief Helper (Renderer) +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Renderer).app +94ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper (Renderer).app +1ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper.app/Contents/MacOS/Brief Helper +99ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper.app/Contents/MacOS/Brief Helper +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper.app +101ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Brief Helper.app +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework +99ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libEGL.dylib +1s
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libEGL.dylib +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib +93ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib +121ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib +1ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libswiftshader_libEGL.dylib +119ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libswiftshader_libEGL.dylib +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libswiftshader_libGLESv2.dylib +91ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libswiftshader_libGLESv2.dylib +1ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework +133ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Frameworks/Electron Framework.framework +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Library/LoginItems/Brief Login Helper.app/Contents/MacOS/Brief Login Helper +1s
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Library/LoginItems/Brief Login Helper.app/Contents/MacOS/Brief Login Helper +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Library/LoginItems/Brief Login Helper.app +89ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/Library/LoginItems/Brief Login Helper.app +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/MacOS/Brief +93ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /Users/--secret--/Desktop/www/maat/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app/Contents/MacOS/Brief +0ms
  electron-osx-sign Signing... /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app +143ms
  electron-osx-sign Executing... codesign --sign --secret-- --force --options runtime --entitlements /var/folders/d2/s2gd6khn7xx65_836fkv057m0000gn/T/tmp-entitlements-3831-0.plist /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app +0ms
  electron-osx-sign Verifying... +142ms
  electron-osx-sign Verifying application bundle with codesign... +0ms
  electron-osx-sign Executing... codesign --verify --deep --strict --verbose=2 /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app +1ms
  electron-osx-sign Verified. +739ms
  electron-osx-sign Displaying entitlements... +0ms
  electron-osx-sign Executing... codesign --display --entitlements :- /Users/--secret--/Desktop/www/maat/dist/mas-dev/Brief.app +0ms
  electron-osx-sign Entitlements:
 bplist00�

_ com.apple.application-identifier_#com.apple.developer.team-identifier_com.apple.security.app-sandbox_%com.apple.security.application-groups_-com.apple.security.files.downloads.read-write_1com.apple.security.files.user-selected.read-write_!com.apple.security.network.client_1com.apple.security.personal-information.calendars_--secret--.com.gobrief.BriefZ--secret--	�				  <b���3g�������� +33ms
  electron-osx-sign Application signed. +0ms

@sethlu
Copy link
Contributor

sethlu commented Nov 17, 2019

@iKBAHT It seems like what you're encountering does look similar to #192 (comment)

I suspect the issue is due to the entitlements file being in some binary plist format that electron-osx-sign doesn't support yet 🤔 Also, I think electron-builder may have a custom fork of electron-osx-sign with slightly different behavior from what's maintained in this repository.

@develar Do you know where the • map async taskCount=1 logs come from?

@nguyen-tam
Copy link

Workaround
Add

<key>com.apple.security.app-sandbox</key>
<true/>

to node_modules/app-builder-lib/templates/entitlements.mac.plist

when I did like this, the built app crashes

@nguyen-tam
Copy link

nguyen-tam commented Nov 26, 2019

For me, the error is gone when I add this to electron builder file, mac section

"entitlementsInherit": "build/entitlements.mas.inherit.plist"

Here is the content of entitlements.mas.inherit.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
  </dict>
</plist>

@abhish3kk
Copy link

abhish3kk commented Jan 8, 2020

My electron app works fine before singing by the script provided here.

However, after signing the app, the app can no longer access the network. Also, if I try to submit the app through Transporter I get this issue

ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list:

Upon checking few comments and troubleshooting for last two days I can confirm that my plists are fine and all of them include

<key>com.apple.security.app-sandbox</key>
<true/>

Also I tried, #192 (comment).

My assumption is, after singing in the app, the pkg is losing its entitlements.

Is there something I might be doing wrong?

build script in package.json

"build": {
    "appId": "xxx.xxx.xxxx",
    "productName": "XXX XXX XXX,
    "win": {
      "target": "nsis"
    },
    "mac": {
      "icon": "resources/icon.icns",
      "target": "mas",
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "identity": null,
      "category": "public.app-category.business",
      "entitlementsInherit": "build/entitlements.mac.inherit.plist",
      "type": "distribution"
    },
    "mas": {
      "entitlements": "build/entitlements.mac.plist",
      "entitlementsInherit": "build/entitlements.mac.inherit.plist",
      "provisioningProfile": "xxxxxxxxxxxxx.provisionprofile"
    },
    "asar": false
  },

entitlements

CHILD_PLIST="build/entitlements.mac.inherit.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
  </dict>
</plist>

PARENT_PLIST="build/entitlements.mac.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.application-groups</key>
    <array>
      <string>xxxxxx.xxx.xxxxxxx.xxxxxxx.xxxxxx</string>
    </array>
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.personal-information.location</key>
    <true/>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
  </dict>
</plist>

LOGINHELPER_PLIST="entitlements.mas.loginhelper.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
  </dict>
</plist>

Packages used:

"electron": "^7.1.7",
 "electron-builder": "^22.2.0",
"electron-packager": "^14.1.1",

@ahmadwaliesipick
Copy link

My electron app works fine before singing by the script provided here.

However, after signing the app, the app can no longer access the network. Also, if I try to submit the app through Transporter I get this issue

ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list:

Upon checking few comments and troubleshooting for last two days I can confirm that my plists are fine and all of them include

<key>com.apple.security.app-sandbox</key>
<true/>

Also I tried, #192 (comment).

My assumption is, after singing in the app, the pkg is losing its entitlements.

Is there something I might be doing wrong?

build script in package.json

"build": {
    "appId": "xxx.xxx.xxxx",
    "productName": "XXX XXX XXX,
    "win": {
      "target": "nsis"
    },
    "mac": {
      "icon": "resources/icon.icns",
      "target": "mas",
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "identity": null,
      "category": "public.app-category.business",
      "entitlementsInherit": "build/entitlements.mac.inherit.plist",
      "type": "distribution"
    },
    "mas": {
      "entitlements": "build/entitlements.mac.plist",
      "entitlementsInherit": "build/entitlements.mac.inherit.plist",
      "provisioningProfile": "xxxxxxxxxxxxx.provisionprofile"
    },
    "asar": false
  },

entitlements

CHILD_PLIST="build/entitlements.mac.inherit.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
  </dict>
</plist>

PARENT_PLIST="build/entitlements.mac.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.application-groups</key>
    <array>
      <string>xxxxxx.xxx.xxxxxxx.xxxxxxx.xxxxxx</string>
    </array>
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.personal-information.location</key>
    <true/>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
  </dict>
</plist>

LOGINHELPER_PLIST="entitlements.mas.loginhelper.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
  </dict>
</plist>

Packages used:

"electron": "^7.1.7",
 "electron-builder": "^22.2.0",
"electron-packager": "^14.1.1",

I have same issue anyone has resolved this issue?

@mahnunchik
Copy link

It seems it is related #223

@chetan1406
Copy link

@sethlu can you please help me on this ?

ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list: [( "Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler" )] Refer to App Sandbox page at https://developer.apple.com/documentation/security/app_sandbox for more information on sandboxing your app."

alexcui03 added a commit to Clipteam/clipcc-desktop that referenced this issue Jun 4, 2021
commit 34f97dbcffbd032d08abc6f351a95c4a28418cf9
Author: Alex Cui <cuizhihui030925@outlook.com>
Date:   Sat Jun 5 00:52:22 2021 +0800

    Modified files

commit b0f9630623bf843762b4ef4b1c75379fef0e0c39
Merge: 433c0e1 a72614d
Author: Alex Cui <cuizhihui030925@outlook.com>
Date:   Sat Jun 5 00:51:46 2021 +0800

    Merge remote-tracking branch 'remotes/llk/develop' into sync-llk

commit 433c0e16586807f5714a32200730fda8d268c72f
Merge: 546cc5f 18d5dfc
Author: Alex Cui <cuizhihui030925@outlook.com>
Date:   Sat Jun 5 00:15:22 2021 +0800

    Merge branch 'master' into sync-llk

commit a72614d00f5b50dbf99a28ef918734b58c3465a0
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 23:40:23 2021 -0700

    3.23.1

commit 0f5cb709a1835aca162a67b4860fa9ace53af70e
Merge: 0bfbe0a 5831e8b
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 23:39:16 2021 -0700

    Merge pull request #197 from LLK/csc-gz

    Fix automated builds

commit 5831e8bfa129f89c0964a7df5b9b6e4a54dd502c
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 21:38:02 2021 -0700

    update handling of context vars on CircleCI

commit 24d704a0012390238f12442fd7377fcfb1eca04b
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 22:21:01 2021 -0700

    update to electron-builder@22.11.5

commit 1c4aa2b7555218f98f9c7efb4d2db54a3773fa0a
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 22:43:07 2021 -0700

    use Node 14 on CircleCI

commit 0bfbe0a263c038f346cb530b3282f4b057542be8
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 11:14:12 2021 -0700

    3.23.0

commit 4f99e91e51083b69ad3c503d5ab1fb10faa12119
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 2 11:13:25 2021 -0700

    bump scratch-gui to scratch-desktop-v3.23.0

commit cf4d0bea138857dec2489e88c920ce58b6cb4a46
Merge: 0a6aad3 fedb21f
Author: DD Liu <liudi08@gmail.com>
Date:   Tue Jun 1 15:12:03 2021 -0400

    Merge pull request #196 from fsih/updateUploadComment

    Update comment to reflect camera upload feature removal

commit fedb21f39179e85af8cda13e0cb44b78717c1d45
Author: DD Liu <liudi@media.mit.edu>
Date:   Tue Jun 1 13:46:19 2021 -0400

    Update comment

commit 0a6aad3e867059e18d88373cf8718d4654a42e8d
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu May 6 11:50:24 2021 -0700

    3.22.0

commit 2a6893d58eb10aa572cd08dbb1159343a39343e5
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu May 6 11:49:46 2021 -0700

    add release instructions to README.md

commit 1c75d4d2fab98906935f4ec02c83984b61af6537
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu May 6 11:46:31 2021 -0700

    bump scratch-gui to scratch-desktop-v3.22.0

commit 8a3bb14b6261f800ddfa7c73fbae9ba4d509c5d9
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Mar 31 15:38:58 2021 -0700

    3.21.0

commit b16c221bcc2cf9f7566a2e69e8ba52f80ca49e50
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Mar 31 15:38:39 2021 -0700

    bump scratch-gui to scratch-desktop-v3.21.0

commit 419ece9efe8fcc9e109f0d59faf5571466fd4112
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Mar 3 18:48:48 2021 -0800

    3.20.1

commit f5ff9d6a40a3b99d2d4d40fa9434a15e12f21bd1
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Mar 3 18:48:40 2021 -0800

    bump scratch-gui for 3.20.1

commit 712a6a22c1be34bcd4d38bda01bf62125aa287ed
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Mar 2 10:34:15 2021 -0800

    3.20.0

commit 0b882673396fa57c1e4071ed3d425cb32a9f6b4e
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Mar 2 10:34:08 2021 -0800

    bump scratch-gui for 3.20.0

commit e566df37154ae1970a4a3de49c75fb6aa1c346f3
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Jan 28 14:46:53 2021 -0800

    3.19.2

commit 35f9001eec1c77a049ebfa219cff27251d329239
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Jan 28 14:13:21 2021 -0800

    build APPX for both 32-bit and 64-bit

    Previous APPX packages were 32-bit by default. At some point this
    switched to 64-bit by default, but I didn't notice because the APPX
    release was blocked at the time. This change enables both, which seems
    ideal the MS Store will choose the right build for a given client.

commit bcc821d3eaf9bccc1f9b8960119e0c081a309c41
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Jan 28 11:18:05 2021 -0800

    3.19.1

commit 603d92685671653f8c5f0f7e4e790d02e468c25a
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Jan 28 11:17:53 2021 -0800

    Use ${productName} in privacy policy window title

commit 9d5dab22a8641cdd30bdd8f058efa299fae35301
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jan 26 14:47:04 2021 -0800

    3.19.0

commit de64af99f37b6363bb6c414d881144432b0e3fad
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jan 26 14:46:53 2021 -0800

    bump scratch-gui for 3.19.0

commit c8c9ae51f4b689f59f27dcc9636ad8a67e4cdbe1
Merge: 0b8ce6c 728d705
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jan 26 14:25:44 2021 -0800

    Merge pull request #166 from cwillisf/fix-telemetry-modal

    Fix telemetry modal

commit 728d705b1ac6768c47c89a8297cf77c838f7f977
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jan 26 14:17:22 2021 -0800

    fix merge & rearrange components to satisfy lint

commit 3d0963fbd7687f976d2f8ff984ef4cd1360a9775
Merge: c110b13 0b8ce6c
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jan 26 12:39:58 2021 -0800

    Merge branch 'develop' into fix-telemetry-modal

commit 0b8ce6cc00413eb4442a3b28ff9b007c59342c41
Merge: d8f289f 7f8d0d7
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jan 26 12:03:58 2021 -0800

    Merge pull request #171 from cwillisf/privacy-policy

    Show privacy policy inside app

commit 7f8d0d7084c0f960a4ad9da814b27cbdebeb57bc
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Dec 15 15:28:39 2020 -0800

    remove now-unused clearDidOptIn

commit bcc9ff5c1e00b447ab4e7987e8e2e7d65482231a
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Dec 15 15:25:03 2020 -0800

    avoid IPC sendSync in render()

commit c110b13affc12cf6cf9443bda943caa25eb1471a
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Dec 9 14:02:08 2020 -0800

    clarify HOC names and move props to match

    Previously the two HOCs in app.jsx were named according to their place
    in the component structure, which didn't provide any information about
    their functionality or meaning. Now they are named according to the
    components they wrap, which should help with future maintenance in that
    it will guide which props belong in each.

commit 6e840825ccddf1f0d29ef441ff3306fee9643d5f
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Dec 2 14:24:58 2020 -0800

    apply feedback from design team

commit d56a3c58101a92625bd21ab155aae855fdeda823
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Dec 2 14:03:57 2020 -0800

    keep telemetry modal state in sync with main process

commit afb29bfdefa4c811a50112f5a3758e663b5122b4
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Nov 18 15:34:01 2020 -0800

    use openTelemetryModal instead of showTelemetryModal

commit 25072c00463cfaf151334506c81e3548b935abf6
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Nov 17 15:02:47 2020 -0800

    pass about menu items to GUI

commit 6c00bb1539f35745ed582d64e44566f8d4ba2d59
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Nov 17 16:13:18 2020 -0800

    add telemetry reset instructions to README.md

commit 19a47ecde87f7cdfe07d86569cd1f919ffef7e3f
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Nov 17 15:55:30 2020 -0800

    split HOC in two: one inside AppStateHOC, one out

    `ScratchDesktopOuterComponent` is now responsible for
    `showTelemetryModal` which only works if it comes from outside the
    `AppStateHOC` since it's used in the `AppStateHOC` constructor. The
    outer component also handles a few static props, like
    `isScratchDesktop`.

    `ScratchDesktopInnerComponent` handles everything else, most notably
    anything that interacts with the state established by `AppStateHOC`.

commit d8f289f35a8c216f37054932b660eb638daf1fb5
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Oct 28 15:54:01 2020 -0700

    3.18.1

commit bf420cb7647d849763a862f34efb75512515120c
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Oct 28 15:47:58 2020 -0700

    fix fetch script for new library schema

commit 9c3cfef44373eb659699f6016abc650718d7d3d0
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Oct 28 14:47:34 2020 -0700

    3.18.0

commit 421a21cca1e9cc13f11677803768eaffe15f63ce
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Oct 28 14:47:25 2020 -0700

    bump scratch-gui for v3.18.0

commit b053b5ce2ebd8b1f79b23b6b5bd272a1d770fbda
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Oct 16 11:34:36 2020 -0700

    3.17.1

commit 24ddb8aa9c8c36fd6caf78d4d17ff96cec9a4c3c
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Oct 16 11:21:45 2020 -0700

    bump scratch-gui for v3.17.1

commit 4f5a14afeb6089aa0b468a0f92471270e74dae89
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Oct 9 16:50:57 2020 -0700

    3.17.0

commit d455547ef1a7626bc0ac8a26371edca361125d0f
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Oct 9 16:50:23 2020 -0700

    update to scratch-gui#scratch-desktop-v3.17.0

    includes svg-renderer on* hotfix

commit 4fe9e5b703b548cc72d590209001fe71ce2c3001
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Oct 7 18:23:50 2020 -0700

    fix lint: long lines

commit 10b2bae67084351a58b6699714cdb3d4255dbc9e
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Oct 7 18:17:54 2020 -0700

    update privacy policy to October 5, 2020 copy

commit 371bd60a7db615962e973813e9b6195a79fee9a5
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:04 2020 -0700

    move ReactDOM.render() into index.js

    This also means we no longer need to disable eslint's
    "no-unused-expressions" rule for each route in index.js

commit 73819d8eb7ed540c1101c5124b3537a092e1fdb3
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:04 2020 -0700

    view built-in privacy policy from telemetry dialog

commit ca7eeb9b7aebd0e992ea613841ed06368fe97956
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:03 2020 -0700

    add privacy policy link to 'about' dialog

commit fb26baeac10683d01c4fdae565090839caf932fb
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:03 2020 -0700

    app.jsx cleanup

commit 3b1dd4e008e822269e49379863fb72582a5bdedc
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:01 2020 -0700

    open external links in system browser

commit 8fc98e1c37096ddf27e441941fba9a55a7ef11ca
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:01 2020 -0700

    add new window for privacy policy

commit 93a94d82533863bd5f85c23e4cdc2fa6a319e6f8
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Oct 6 14:34:01 2020 -0700

    move About window styling into a CSS file

commit 6b1d93fc93fa66147a7e9d00d5ba6befac8c76af
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Sep 30 09:33:31 2020 -0700

    3.16.1

commit 34db5ceaacd415d99fb7c5d0f164335f55995ed9
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Sep 30 09:32:51 2020 -0700

    during webpack, find modules using require.resolve

    This means the module will be found whether linked (as with `npm link`)
    or not.

commit d3fddbe31766c9869b68d0b084b38453c0bdae59
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Sep 29 15:38:27 2020 -0700

    3.16.0

commit a6ed3adc86b20766fe19c6f4498903105c6b1786
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Sep 29 15:38:18 2020 -0700

    update to scratch-gui#scratch-desktop-v3.16.0

commit b05c2c16024b243413214201c65f398e9a41c545
Merge: 0c5993c 0fa4c4b
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Sep 29 13:56:30 2020 -0700

    Merge pull request #150 from cwillisf/load-project-from-cli-attempt-2

    Support loading project file from command line (attempt 2)

commit 0c5993c8416d9bdd436c71b6c7be344ab4ab914f
Merge: ac69356 8091648
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 24 13:04:41 2020 -0700

    Merge pull request #137 from cwillisf/redo-rename

    Revert "Revert "Merge pull request #131 from cwillisf/rename-to-scratch

commit 809164880337ed722d5fb84195def89851b765d8
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 17 12:07:08 2020 -0700

    use 'Scratch 3' for external product name

    also tweak artifact names to get the "3" part from the version number

commit 7c6e8a97ccbdb8e1df146611ae8e176c28c71810
Merge: 8578d60 ac69356
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Sep 16 16:08:27 2020 -0700

    Merge branch 'develop' into redo-rename

commit ac6935660a94aa381431ee462dedd13f9d476a1a
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Sep 16 16:04:23 2020 -0700

    update README.md for scratch-gui build changes

commit 0fa4c4b2ed88e6e3532ecc3914ecb2e1492af8ab
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Sep 15 14:52:08 2020 -0700

    handle initial project load errors

commit a9933242e0daa417fd9ccb2492b33f83f77d5954
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Sep 15 14:32:36 2020 -0700

    use project state system to load initial project

commit 05e8b26a34d1a749b174660c6b9afef3cd5c6de6
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Sep 4 13:26:34 2020 -0700

    WIP: actually load project from command line

    Doing it this way works for the initial load but overrides later actions
    like File -> New.

commit e2f39580dfe2c9c961f9d93511ef9b851623edf6
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 3 17:01:22 2020 -0700

    make command line args available to render process

commit 25243b0542dd6f13c3ae87814f3b988a9206f840
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 3 16:11:01 2020 -0700

    npm i --save-dev minimist

commit cca18b6d672332034f86805244feee4f47e86c32
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 3 16:55:44 2020 -0700

    fix paths for CopyWebpackPlugin

    These files are no longer listed as dependencies of scratch-desktop so
    we need to reach into scratch-gui to get them. We should find a better
    solution but this will work for now.

commit e0fb2d4c5364bb225b33e2a842c20520b5ca6b8a
Merge: 6d503f2 61fa1d5
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 3 15:37:04 2020 -0700

    Merge pull request #148 from cwillisf/no-package-deps

    remove rebuild-deps script, package-deps.json

commit 61fa1d580b7fceb56b49fd0e64c6b0e11115fe55
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Sep 3 13:04:11 2020 -0700

    rebuild package-lock.json now that scratch-gui PR is merged

commit 307027a8730edce6e9f188893b13c86e9d9b9450
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Sep 1 12:01:53 2020 -0700

    remove rebuild-deps script, package-deps.json

    These are unnecessary if scratch-gui lists its build dependencies in
    `dependencies` instead of `devDependencies`.

commit 6d503f2d9568a30fd9d98b4a3ad675eb2d45b148
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Aug 27 10:54:01 2020 -0700

    3.15.0

commit e872ae7d54ce75c2679d0e3447804049f093f8a0
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Aug 27 10:53:25 2020 -0700

    update scratch-* dependencies

commit 48d151cce8ba608dfedc96313dcca707f8372464
Merge: a9cfad8 e9e3f06
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Aug 27 10:41:09 2020 -0700

    Merge pull request #143 from cwillisf/fix-mas-file-overwrite

    fix MAS file overwrite by deleting existing file

commit e9e3f06289bbfb98cf6b88499069ff8b337d755d
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Mon Aug 24 20:20:37 2020 -0700

    save files more safely (temp then move)

commit 75589099f1d632a3771b24fdc4f6201f70f434a1
Author: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Aug 21 13:58:35 2020 -0700

    fix MAS file overwrite by deleting existing file

    From the code comments:
    If the file exists the browser will first download to a temp file then rename to the userChosenPath.
    The MAS sandbox allows accessing userChosenPath but not the temp file, so overwriting fails on MAS.
    Deleting the file first could be considered risky but works around the sandbox problem.
    Security bookmarks might work to fix the problem but they're only supported by async showSaveDialog.
    Since we need to use showSaveDialogSync (see WARNING below) this workaround might be the best option.

commit a9cfad8df8c32a6a9cda4c0afa6716e844f05c11
Merge: 5773d5b 3244272
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Mon Aug 24 13:33:50 2020 -0700

    Merge pull request #138 from cwillisf/webpack-build-gui

    Use scratch-gui source instead of its build output

commit 5773d5b17c4694e50395a445395f0980cc8a9d41
Merge: 1c18c98 c811ade
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Fri Aug 21 07:40:27 2020 -0700

    Merge pull request #134 from cwillisf/allow-dev-tools-in-release-builds

    allow opening dev tools in release builds

commit 324427226e962a0d35ee35794eecf425b43d1647
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Aug 14 13:48:05 2020 -0700

    reduce webpack output on CI

commit 1c18c98282efd5e9c14ddad8a6419a62145d77b0
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Aug 14 13:13:26 2020 -0700

    3.14.0

commit a26ec04491953ac6c3b5108adebd4e0a73b619c5
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Aug 14 12:01:56 2020 -0700

    print a warning if rebuild-deps changes deps

commit ea650178cd1046dc68fb71402134f92b66ac8fc0
Merge: fa53127 d1195c5
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Thu Aug 13 15:12:37 2020 -0700

    Merge pull request #139 from cwillisf/link-dns-override

    make Scratch Link connections work w/o DNS

commit d1195c53323e99ceed49ad17979f1cea7edf9335
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Aug 12 15:54:13 2020 -0700

    make Scratch Link connections work w/o DNS

    This effectively hardcodes `device-manager.scratch.mit.edu` to
    `127.0.0.1` within Scratch Desktop.

    Note that using "host-rules" instead of "host-resolver-rules" doesn't
    work: it results in ERR_CERT_COMMON_NAME_INVALID because the browser
    expects Scratch Link's certificate to list "127.0.0.1" as its host name.
    Using "host-resolver-rules" means that the IP is used for the connection
    only, and not for certificate validation.

    See here for more details:
    https://www.electronjs.org/docs/api/command-line-switches#--host-rulesrules
    https://www.electronjs.org/docs/api/command-line-switches#--host-resolver-rulesrules

commit 0e1c90afeb7c6d1eb4cf0491a447909e46e67f01
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 11 19:14:39 2020 -0700

    write configs to files in dist/ for debugging purposes

commit f6a336af20da7f974795da27122b8a607f9f726e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 11 19:01:58 2020 -0700

    update library paths

commit f3b8251408d348577f177626a1489ca326361011
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 11 16:21:14 2020 -0700

    build scratch-gui from source instead of using its build output

commit 78d75dc3cf24d723732f41c810cb60b7b7dffddf
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 11 16:22:13 2020 -0700

    assume direct control of webpack config

    Instead of overriding rules we don't want by matching the test exactly,
    we now explicitly delete rules we don't want before adding any of our
    custom rules.

commit b50870a992971491844e2058a62bab9985e1ce7f
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 10 18:50:14 2020 -0700

    npm run rebuild-deps

commit 6f7f6bb6747b95ba4a94ba6f728af72ab1eba9fc
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 10 18:46:26 2020 -0700

    add script to merge scratch-gui deps

    This is in preparation for having webpack build scratch-gui source
    instead of consuming its build output. This script merges the
    dependencies listed in package-deps.json with those listed in
    scratch-gui's package.json, using the package-deps.json version in case
    of conflict, then writes the result into the `devDependencies` section
    of scratch-desktop's package.json.

commit fa5312721a3bea94655e08302d8fd123e89a4458
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 4 11:04:28 2020 -0700

    3.13.1

commit c811ade1a29f7fe6d6f6fb2987df69a7328d20b9
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 30 10:38:43 2020 -0700

    allow opening dev tools in release builds

commit 5ce37f75109740535bf183f647db88b099e1a890
Merge: 8f4cab5 0817fdd
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Aug 4 10:55:46 2020 -0700

    Merge pull request #136 from cwillisf/undo-rename

    Revert "Merge pull request #131 from cwillisf/rename-to-scratch"

commit 8578d603114d37718f7d81fb0061bb7ffe67d202
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 4 10:43:27 2020 -0700

    Revert "Revert "Merge pull request #131 from cwillisf/rename-to-scratch""

    This reverts commit 0817fddce1dbae9aefffab17b3bab959bd95890e.

commit 0817fddce1dbae9aefffab17b3bab959bd95890e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Aug 4 10:41:32 2020 -0700

    Revert "Merge pull request #131 from cwillisf/rename-to-scratch"

    This reverts commit 71cc32e5bf6278c0c5e133697de235c3c2a7a97f, reversing
    changes made to 43daa269df721b64df8a1f8d2b54598a092f3631.

commit 8f4cab598e6cc5d54fe1fd9692036d2d7732cc03
Merge: e0dd256 b17f1a6
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Mon Aug 3 13:35:45 2020 -0700

    Merge pull request #130 from LLK/circleci

    Add automated CircleCI builds

commit b17f1a6d8ff0a664fa8cc395ab67e3275b14e186
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 3 13:18:40 2020 -0700

    add comments based on code review feedback

commit f49216f1987d97dcdd1a9e5ee6fc9606475ee9d2
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jul 31 17:47:36 2020 -0700

    work around electron-userland/electron-builder#5016

commit b5b432786a9be1f943fbb96cbd4207cbb4f2d417
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jul 31 15:10:10 2020 -0700

    replace Code-to-Learn certs with Scratch Foundation certs

commit 686ba5bf0ccd23919bfedc3ca9495eeefd66d6bb
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 30 08:40:19 2020 -0700

    3.13.0

commit 7053eed00f64e459fc14fc0b3350ac1c110d4902
Merge: 025ad1b e0dd256
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jul 29 14:30:47 2020 -0700

    Merge branch 'develop' into circleci

commit e0dd256c451425eddba3b7c5729a2b90be6412b8
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jul 29 14:27:02 2020 -0700

    update scratch-gui to #scratch-desktop-v3.13.0

commit 025ad1b7a855a1f660bf3ad5b01405418cf92ea8
Merge: e69d541 71cc32e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jul 28 15:30:12 2020 -0700

    Merge branch 'develop' into circleci

commit 71cc32e5bf6278c0c5e133697de235c3c2a7a97f
Merge: 43daa26 9716753
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Tue Jul 28 15:24:55 2020 -0700

    Merge pull request #131 from cwillisf/rename-to-scratch

    Rename to "Scratch" / "the Scratch app"

commit e69d5414c65cacc3fcee88828a030abae0de40b1
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jul 27 11:54:03 2020 -0700

    prepare CircleCI config for renaming app

commit 97167537eb99ec6e10ec710d65a9f67705ac9466
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jul 27 11:31:40 2020 -0700

    rename 'Scratch Desktop' to 'Scratch' / 'the Scratch app'

commit 84f0701f410bb4f2cfbba369fc819c851d65ebd8
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 23 11:28:59 2020 -0700

    override provisioning profile for mas-dev build

commit b4ce74b00218c826c0cb13fcfd04d3188ba020eb
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jul 13 13:14:15 2020 -0700

    ZIP mas-dev

commit 7c7ddd1e6cd00adb5cfad047dd57072f13af3cfc
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jul 10 15:53:59 2020 -0700

    build mas-dev on CircleCI

commit 8868556cba5db8e0265aa402ea4e8454ba3f4da0
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jul 10 14:45:27 2020 -0700

    win: unset context to fix environment size errors

commit a4d8e3de36412446dd0bbb09bdbf7a9cf7e968cd
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jul 10 14:32:47 2020 -0700

    fix Windows executor settings

commit 472cad21728d14bcf2307d71a40aeb13505ab744
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 29 12:23:22 2020 -0700

    fix support for non-signed CI builds

commit 62e23771dbc896fc940a3fa37ce900372766caf4
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jun 26 09:26:48 2020 -0700

    win: set WIN_CSC_LINK to filename

commit 000bff75ed69f280773aca370883468327dc9456
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jun 26 09:16:45 2020 -0700

    support notarize with password or keychain

commit 61251d111f24dea91e1c085f3b5361bcdb79ba9c
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jun 26 08:22:27 2020 -0700

    tell electron-builder not to publish CI builds

commit 104317bff8828d95eeebae69e10264fc10491626
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jun 25 16:13:39 2020 -0700

    build 'dist' for signed, 'distDev' for unsigned

commit ed23e98d24a8878b2b655d83149a6ebc48eac346
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jun 25 16:01:48 2020 -0700

    import provision profile

commit 623050a19d8f961ca6b1febc4ab794be5d4c3926
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jun 25 15:58:45 2020 -0700

    test early during automated builds

commit 0d3f50e790e1ce28bffb90b562b4532c6afc2cbe
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jun 25 15:30:21 2020 -0700

    import code-signing certificates

commit 98efe7610fb04b7272abee6a0761ed3532f11aa8
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jun 24 15:44:46 2020 -0700

    work around electron-userland/electron-builder#4964

commit 9ca7f05bdb98c585e87eb84e2266ef53819cd46c
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jun 24 15:15:25 2020 -0700

    update CircleCI context name

commit d08841382a7b79b3ea2ccab552af00a1245c0ffd
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Apr 3 19:02:26 2020 -0700

    modularize npm scripts, support non-signed builds, ...

commit 8cf475416c10338a5b4553c7f6e71335c6b461f3
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Apr 3 15:27:25 2020 -0700

    work around missing PATH for git-sh-setup on Windows

commit 39dbd197d6644348e3068dd310554bea42c77a44
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Apr 3 14:38:06 2020 -0700

    cache the NPM cache, not node_modules

    The `npm ci` command removes `node_modules` anyway, so there's no point
    in caching it.

commit 245a3ec0d78c1b487cdcba479f1d762e739c47b4
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Apr 3 14:06:28 2020 -0700

    put scratch-gui install into scratch-desktop postinstall

commit 2cfca4c0ffacfa0d3a39b7fc646db1335085c709
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Mar 31 17:28:02 2020 -0700

    reference scratch-gui by branch, not tag

    Let package-lock.json take care of picking an exact commit.

commit 1c7148607cb8913b5d6d18e5da481c7e65ee68ab
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Mar 31 16:52:36 2020 -0700

    add CircleCI build config for macOS

commit ff53e9822a746aa97fa5be56896f2aaf6ce60a44
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jan 13 19:11:56 2020 -0800

    add CircleCI build config for Windows

commit 43daa269df721b64df8a1f8d2b54598a092f3631
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Jul 24 15:58:14 2020 -0700

    fix scratch-gui dependency versions

commit 546cc5fd152a4fc1e8e3084f1081d178f4161f4d
Merge: f9011a2 9762bac
Author: Alex Cui <cuizhihui030925@outlook.com>
Date:   Sat Jun 27 18:37:25 2020 +0800

    Merge remote-tracking branch 'llk/develop'

commit 9762bac510af91ddc022898174d8182eb24fa495
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 22 10:46:31 2020 -0700

    3.12.0

commit c33abcba8455af0eea6baf7bbcaaadbf078e7a77
Author: DD Liu <liudi08@gmail.com>
Date:   Tue Jun 9 17:04:00 2020 -0400

    Update CONTRIBUTING.md

commit ba223fef2d2c867cfb0f4b994e9125870df0ea98
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jun 4 00:55:21 2020 -0700

    3.11.1

commit bc8ca72434c6f87e0d430b830361c5d11f9deb28
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jun 3 17:23:53 2020 -0700

    3.11.0

commit 05e6b277930f442d9373a24643ad267890d47807
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jun 3 17:22:23 2020 -0700

    bump scratch-gui dependency

commit c36c5c90f4378a4360096fe6d725605bd656fdb1
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jun 3 16:33:49 2020 -0700

    use 32-bit Electron for NSIS installer

    Use 'nsis:ia32' instead of just 'nsis' for the Windows direct-download
    build. This means we explicitly request a 32-bit build rather than
    allowing electron-builder to default; the default is currently to make a
    64-bit build.
    resolves #114

commit 6d9ab116bb40e564fcefbb87f1955a2e0ab15179
Merge: 0404f9a 8f23ef1
Author: Chris Willis-Ford <7019101+cwillisf@users.noreply.github.com>
Date:   Wed Jun 3 16:09:03 2020 -0700

    Merge pull request #120 from cwillisf/electron-8

    Electron 8 & fix App Store submission

commit 8f23ef1f64e49dd26b45dba6c0cc076ad86f9ac2
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri May 22 16:25:59 2020 -0700

    3.10.4

commit 7192ffe878a0fb3165446095e3efdf4ce3a33eea
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri May 22 16:18:58 2020 -0700

    fix MAS build (!!!)

    apparently the `com.apple.security.app-sandbox` entitlement and the
    `hardenedRuntime: true` setting are mututally exclusive with
    `electron-builder`, so the hardened runtime is now only used by non-MAS
    builds ('mac' but not 'mas' or 'mas-dev')

commit 1bc9f570cd1faf1b0a1399d7a478541bafabf512
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri May 22 16:16:56 2020 -0700

    allow non-notarized mac build for testing

    Skipping notarization isn't strictly wrong, but needs a big warning
    since the build probably won't run on Catalina.

commit 73a2d3e015ffce96c5f227c3f735ba4b449656ab
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri May 22 16:16:22 2020 -0700

    allow reusing render process / fix deprecation warning

commit 3cdcb199bd60e13386031b552f5c4b4ca50f0c76
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri May 22 15:19:28 2020 -0700

    add settings for mas-dev build

commit 229c42469d25693728bd43561ad5152a4029165e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed May 20 17:05:00 2020 -0700

    use minilog for logging, like scratch-gui

commit 5abc787f1bd9425cd445bd99038fe0e9343131b9
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed May 13 17:19:05 2020 -0700

    3.10.3

commit 53f7c5f57700a4b225dce11d306cdc8db7b8c891
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed May 13 17:32:30 2020 -0700

    swap MAS and DMG build order

commit 89193bc6af0dc7b175b16d6f2e94c4bdadccaffe
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed May 13 17:14:14 2020 -0700

    add entitlements suggested by Electron

    Hopefully these will help solve the crash that Mac App Store reviewers
    are encountering...

commit 5a1526c1e5c2ae7d37c450a85f47a01cdce5d443
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed May 13 14:12:10 2020 -0700

    update all dependencies, resolve npm audit alerts

    minor code changes required for uuid, eslint-config-scratch, and
    uglifyjs-webpack-plugin

commit cd805d1cd406677c8d67006bb7ab44025ed052a7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon May 11 13:14:56 2020 -0700

    update to electron@^8.2.5

commit 0404f9ac7ea81cb78c8c528cdf1b975c17970398
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Apr 28 15:53:23 2020 -0700

    3.10.2

commit 8a62c4adf1926664ecf3bb9844bf9338a968d5e7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Apr 28 15:33:45 2020 -0700

    use scratch-gui#scratch-desktop@v3.10.2

commit 8245ffb1de92bb6a17fdeb1c2436930ca9af6a1c
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Mar 30 18:18:31 2020 -0700

    3.10.1

commit 7a813c8779043ab83a5407664828928bb9ecd936
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Mar 30 12:12:34 2020 -0700

    bring back entitlements.mas.inherit.plist

    This seems to be necessary to work around an issue:
    https://github.com/electron/electron-osx-sign/issues/192

commit fdd7a8463f0b50fc9195347e985e481ce6729ec6
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Mar 30 18:09:03 2020 -0700

    fix makeFullUrl for file:// on Windows

commit 33a17879b229f2f439c6f2440f5cee13556ee4c7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Mar 26 18:10:11 2020 -0700

    3.10.0

commit dd6f9eb91c77654086640358f131ff0274313edf
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Mar 26 18:10:07 2020 -0700

    update scratch-gui to scratch-desktop-v3.10.0

commit a67499c33ea9a38cb26c54d0ed0739882f4eea9e
Merge: 8222b71 7ee12dc
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Mar 18 11:10:48 2020 -0700

    Merge pull request #111 from cwillisf/fix-macos-camera-and-mic

    macOS: request camera & microphone permissions on demand

commit 7ee12dcdd8cc69b419f9ce181252738eed97578d
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Mar 17 18:59:03 2020 -0700

    don't `return await`

commit 6e1bfc33f3d95da60b57bd95d7e3eb9a5ca8af88
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Mar 17 16:15:46 2020 -0700

    only call systemPreferences.askForMediaAccess if it exists

commit 74968704c8ed8bf81f2c650553f0d8a086c61852
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Mar 12 17:17:56 2020 -0700

    improve user experience around mic/camera permission

    - ask for permission when trying to use a feature, not on startup
    - if permission is denied, explain the consequence and provide a hint
      for fixing it

commit b26c0b6bd3c6d1d87bc13b65e3022854bffb5c21
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Mar 12 14:23:35 2020 -0700

    fix npm run dist:dir

commit af73790306711ddc489a8fdb5be8419eecaa3970
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Mar 9 15:45:07 2020 -0700

    macOS: request camera and microphone access

    Note `audio-input` and `camera` were already in `entitlements.plist`

    Supporting changes:
    - Add `allow-jit` entitlement since documentation says it's needed.
    - Only use sandbox for MAS build, not for non-MAS macOS build.
      NOTE: both still use the hardened runtime, as required on Catalina.
    - Remove `entitlements.inherit.plist` since it matches default settings.
    - Add to `electron-builder.yaml` English descriptions for why the app
      requests access to the microphone and camera. I'm not yet sure if
      there's a way to localize these.
    - Minor tweaks in `electron-builder.yaml`.

commit 8222b715a7d177ae4a2744e0e54cc36d96c38a2b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Mar 17 18:54:56 2020 -0700

    fix lint from TitledHOC changes

commit b72aab359bdd53fab68685d6c93109f81cb05d3c
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Feb 28 12:00:02 2020 -0800

    3.9.0

commit 85ce509434b13c49e9c06d4bf8c86b00178dfe7a
Merge: 9981328 d1c47e8
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Feb 5 12:57:18 2020 -0800

    Merge pull request #98 from cwillisf/dark-dev-dont-hang

    work around startup hang in dev on Win10 dark mode

commit 998132876e5d9350b8b283a9bd6f091395795ca6
Merge: 88b1da1 af029b6
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Feb 5 09:08:45 2020 -0800

    Merge pull request #101 from cwillisf/fix-telemetry-modal

    Fix telemetry modal

commit af029b69376b2fe296af440362c6ada68e043c99
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jan 27 16:01:08 2020 -0800

    fix telemetry modal

commit d1c47e8bd0ee12d5ad88933059a0e1cd9af9fabb
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jan 27 13:42:07 2020 -0800

    work around startup hang in dev on Win10 dark mode

    Also, add a few improvements to the way DevTools extensions get
    installed.

commit 88b1da15339d2930e5fc2f5a11c8a56dd0f1ae8d
Merge: 5f5f24e 5c2303a
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Fri Jan 24 11:19:28 2020 -0800

    Merge pull request #96 from cwillisf/notarize-mac-build

    Notarize macOS build

commit 5f5f24e722bb1152557e9018d7a6aa8839f4934f
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jan 16 18:05:41 2020 -0800

    fix unwanted menu bar on Windows

commit 0b6652cde395b0c64d3268967650a75fcf1f90ef
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jan 16 15:55:04 2020 -0800

    fix save & quit dialogs for Electron 6 API changes

commit 5c2303a9b5c6b87d08f32e83c80a08e2ad9c30d7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jan 14 14:10:22 2020 -0800

    bubble errors out from electron-builder-wrapper

commit ccaca91bea65e0e75fc7c609487d9eb027c8edfc
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jan 16 12:35:37 2020 -0800

    fix code signing step for non-Store macOS build

commit 9c9d7c6979445d38728dc8260cad5b66f8987b4a
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jan 16 11:47:25 2020 -0800

    notarize non-MAS macOS build (required for 10.15)

commit 6a33d411c13fbbb2ac2705dce50188a76d3404bf
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jan 16 08:41:54 2020 -0800

    enable hardened runtime for macOS builds

commit 9b224115a53c2a946a0edc3707c8b4b06e72ff6b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jan 16 08:16:23 2020 -0800

    fix infinite load screen introduced with Electron 6 changes

commit 99040d1771c7bfd9f413de7d0371a8f7e547ac92
Merge: 0752628 6aa3e01
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jan 15 15:38:07 2020 -0800

    Merge pull request #95 from cwillisf/fix-mas-electron-6

    Fix mas electron 6

commit 6aa3e013ec2b13fe6f6b13030f8fa9cae20ec789
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jan 15 15:15:22 2020 -0800

    fix MAS build: add inherited entitlements

commit 434781e89b643e08b0a992f847ca32d6dff1ab33
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jan 15 15:00:10 2020 -0800

    fix MAS build: update to electron-builder@^22

    We switched to Electron 6 for the MAS private API patch, but
    electron-builder 20.x doesn't correctly support building Electron 6 for
    MAS. A fix was introduced in version 22.0.0 of electron-builder.
    See also:  electron-userland/electron-builder/pull/4154

commit 075262823bc96c8762ec7f1513c337f34920012b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jan 15 14:10:02 2020 -0800

    3.8.0

commit c6bdd4345545ec9f47babcf7a903d0e6671f33e1
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jan 15 11:33:31 2020 -0800

    3.8.0-rc.1

commit 1f9001b158e7d54838b97f5ece5db3b4765b8b96
Merge: 0c23c38 4f28d86
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jan 15 11:28:25 2020 -0800

    Merge pull request #94 from cwillisf/electron-6

    upgrade to electron@^6.1.7 with MAS patch

commit 4f28d86e7067f87c91d600d46fe1a75807efb88c
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Dec 16 12:59:40 2019 -0500

    upgrade to electron@^6.1.7 with MAS patch

    This version of Electron includes a patch which:
    - removes the use of some private APIs which were causing Electron apps
    to be rejected by the Mac App Store, but
    - might cause degraded performance on Mac.

commit 0c23c3899ea7cd6d282131069cd9024249026596
Merge: d3b269e aa46450
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jan 15 10:50:43 2020 -0800

    Merge pull request #84 from LLK/dependabot/npm_and_yarn/react-dom-16.2.1

    Bump react-dom from 16.2.0 to 16.2.1

commit d3b269e4b2bb8c2e93c0c055efa9a33a2c3b887c
Merge: 56f8a27 aa3c1ab
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jan 15 10:46:24 2020 -0800

    Merge pull request #93 from LLK/paulkaplan-patch-2

    Support 3.0 library syntax when fetching assets

commit 56f8a2784884e28d3ad2837b30e14983b591a22c
Merge: 96953c4 f11e1c4
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jan 15 10:44:11 2020 -0800

    Merge pull request #83 from LLK/paulkaplan-patch-1

    Use dist path for library JSON files of GUI

commit aa3c1abbc0c246eaced424a5714db456e16c0276
Author: Paul Kaplan <pkaplan@media.mit.edu>
Date:   Tue Jan 14 11:28:27 2020 -0500

    Support 3.0 library syntax when fetching assets

    Fixes https://github.com/LLK/scratch-desktop/issues/92

commit 96953c4acd7aa281ed9cb1bc88de978ed553a710
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Nov 26 13:46:27 2019 -0800

    3.7.0

commit ba6e15a6246797235eb3f3a3437cb576ca21119b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Nov 25 18:33:35 2019 -0800

    3.7.0-rc.1

commit e32fae831f43f2d8ffc6937a8bdf7af0e25c4c0d
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Nov 25 18:32:46 2019 -0800

    let npm update package-lock.json

    ...in the hopes that npm will finally stop trying to change it.

commit 19196c39d483319a0a887ebbe33da9cfd93fab35
Merge: 33993cb 43f7cd5
Author: Benjamin Wheeler <wheeler.benjamin@gmail.com>
Date:   Mon Nov 18 14:49:46 2019 -0500

    Merge pull request #74 from benjiwheeler/manage-title

    DesktopHOC manages project title, rather than wrapping with TitledHOC

commit 33993cb61d3ea91d82e57e6b924b8282a9c6313b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Nov 13 12:04:23 2019 -0800

    add GitHub templates

commit aa46450e740ab14f072cc29d59f2f80fb68be537
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Nov 1 23:03:52 2019 +0000

    Bump react-dom from 16.2.0 to 16.2.1

    Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.2.0 to 16.2.1.
    - [Release notes](https://github.com/facebook/react/releases)
    - [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
    - [Commits](https://github.com/facebook/react/commits/HEAD/packages/react-dom)

    Signed-off-by: dependabot[bot] <support@github.com>

commit f11e1c4279793d639f24782b200a6e92a7442f4c
Author: Paul Kaplan <pkaplan@media.mit.edu>
Date:   Fri Nov 1 11:12:17 2019 -0400

    Use dist path for library JSON files of GUI

    In conjunction with https://github.com/LLK/scratch-gui/pull/5277, since we removed /src from the published gui files

commit 43f7cd5028d48f9c01a43b947b68305cfe5c15d9
Author: Ben Wheeler <wheeler.benjamin@gmail.com>
Date:   Mon Oct 28 21:56:37 2019 -0400

    add canEditTitle and projectTitle props

commit f9e77bc508f9274d146486c799f10ca64894c765
Author: Ben Wheeler <wheeler.benjamin@gmail.com>
Date:   Sat Sep 14 23:13:18 2019 -0400

    ScratchDesktopHOC manages project title, rather than wrapping with TitledHOC

commit de6a271311649275dde9571f72dfe6c6a4cd9b45
Merge: 0bf03a2 c327bc3
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Thu Sep 26 09:55:41 2019 -0700

    Merge pull request #76 from cwillisf/skip-signing-appx

    Skip signing appx

commit 0bf03a21999a0faca99dda52dae404b78bb7b8c5
Merge: 9ec118e 1df51fa
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Mon Sep 16 12:57:57 2019 -0700

    Merge pull request #77 from cwillisf/better-project-save-detection

    Better project save detection

commit 1df51faa95d614745f5a0afb45edc55d338e15ce
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Sep 16 11:23:11 2019 -0700

    detect project save based on content type

    Also, if saving a file is canceled, only try to cancel project save
    telemetry if the save was a project save.

    Also also, don't skip showing the save dialog just because a file
    doesn't have an extension. Instead, just skip trying to determine
    filters for the extension in this case.

commit c327bc3de43001c68b197536300589aef081cb91
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Sep 16 09:24:21 2019 -0700

    Add comments to electron-builder-wrapper.js

commit 9ef9d8fce38fa430d0fd9a3ca03e940419b26645
Author: apple502j <33279053+apple502j@users.noreply.github.com>
Date:   Fri Sep 13 22:29:21 2019 +0900

    Check extension before setting title

commit d077e79a8a300b23e4074c66af7d9af14f554444
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Sep 11 18:46:28 2019 -0700

    skip code signing for AppX builds

commit 9ec118ea483cad0a1e2c811813e3e947e95d5fcb
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Sep 10 12:46:29 2019 -0700

    3.6.0

commit a013abd92591980cc48ea4eba5730b912343dd04
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Sep 5 13:10:17 2019 -0700

    3.6.0-rc.2

commit e80b6a27a5a6a56ebbe10d10e2ddce62afb2d9ef
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Aug 29 12:38:48 2019 -0700

    3.6.0-rc.1

commit d121556de087ba4e06b2437f9702b87d9f281612
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Aug 29 12:18:10 2019 -0700

    update dependencies

commit 5c1e85044d096f589a385bb9a47099d74eabd772
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Aug 28 12:26:10 2019 -0700

    3.5.2

commit 76dc35cf52e7444b24ee197b9ef7b2e8923099dc
Merge: 740872d d960057
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Tue Aug 6 12:43:45 2019 -0700

    Merge pull request #67 from cwillisf/telemetry-platform

    telemetry: add 'platform' and improve 'version'

commit d9600572608ca1fbb1273d5c4e32cc3ef58a73c1
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 5 15:43:22 2019 -0700

    telemetry: add 'platform' and improve 'version'

commit 740872d14aa58111a327be40a8bc6d9ab529dc94
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 5 15:19:48 2019 -0700

    fix lint problems

commit ddd1156deaf9b03061e9893064d822ac89e86367
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 5 15:14:13 2019 -0700

    update dependencies to fix eslint exception

commit 232f2f4310da949d9b8e33d7c5f3d71309d547b3
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Aug 5 14:57:29 2019 -0700

    fix "about" window in dev mode

commit 8b2cdb0086a4ba1d8da471f1d2fb52acb04e3b61
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jul 31 13:25:05 2019 -0700

    3.5.1

commit 6e8c842e4e61c0ac34724a700c2746730a82d9d2
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jul 30 16:43:00 2019 -0700

    fix provisioning profile for new app store submissions

commit 53f20c3d61731a4c014502df0126bf59277ba446
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jul 29 15:22:49 2019 -0700

    add "quick start" instructions for scratch-gui

commit 1b8d9796c92eb1b007b3a7c121a13501383e98b5
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jul 29 12:28:05 2019 -0700

    3.5.0

commit 43e49463658f160343692d9aa1374edce3a263cb
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Sun Jul 28 18:41:43 2019 -0700

    3.5.0-rc.2

commit 53812d79c7201472bd4e42f3cc81d4f73890a89b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Sun Jul 28 18:40:58 2019 -0700

    fix "about" window in packaged context

commit 8dcbbfe5c9a27eef846f6c32c6d261b4bfa86a03
Merge: 7121d09 9746fc1
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Sun Jul 28 17:38:04 2019 -0700

    Merge pull request #66 from cwillisf/about-window

    About window

commit 9746fc1dee1c209fdf9381ae6e13eba1d445d2a1
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Sun Jul 28 17:32:14 2019 -0700

    add content to "about" window

commit 3cba6fea38a3b42300e242ae6dc6a0cb8f8c9d0d
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Sun Jul 28 15:23:38 2019 -0700

    add support for an "about" window

commit 7121d0980fce49cbb5e77d8b949493a6730c505d
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Sat Jul 27 14:55:06 2019 -0700

    3.5.0-rc.1

commit b452eba14264089f955b048c7a86b6b56cec3649
Merge: 1de581d 68bb1f4
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Fri Jul 26 23:47:00 2019 -0700

    Merge pull request #60 from cwillisf/show-loading-screen-sooner

    Show main window ASAP, even if it's just a loading screen

commit 68bb1f4acc7d0f414427d59f5226b7c2a3799d2b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 25 18:46:31 2019 -0700

    apply Scratch 3.0 color and font styles to loading screen

commit 1de581d01d7148f8dc89ea65d17298523692edc0
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 25 10:55:25 2019 -0700

    allow per-machine/per-user choice in Windows installer

commit 79fd12f2964663f9806c55d9e099424940fcc5bc
Merge: 414a1f0 00175f5
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jul 24 11:56:17 2019 -0700

    Merge pull request #64 from cwillisf/fix-telemetry-more

    More telemetry fixes (plus project title editing)

commit 00175f521d9624bf88ab16be8a1d2acfda3ad129
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jul 17 17:16:18 2019 -0700

    set project title from save file name

commit f57320e718af026b2a55e12756c608ed057bc65d
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 11 16:15:01 2019 -0700

    Show splash screen ASAP, load render JS async

commit 5b028a1d3d91f8037de02a776efb913fca3619ce
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jul 17 13:28:22 2019 -0700

    correctly format code metadata in telemetry events

commit 414a1f0cfde418855ed70d47d7dcb94168fbf818
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed Jul 17 16:56:56 2019 -0700

    move index.js to app.jsx and add new index.js shim

    Note that the code inside app.jsx is exactly what used to be in index.js
    so this change causes no functional difference and just represents
    preparation for upcoming changes. It simplifies at least two upcoming
    changes: one wants the app code to be in a different file and the other
    is simplified by JSX syntax.

commit ee55d2b16f9ecc72fbf1610bdfadad42981e2e26
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Jul 11 16:16:12 2019 -0700

    Fix line endings for electron-webpack.json5

commit d34f94b55d7b58e725a0e3ae51f84ab9fa94ef15
Merge: bfb4710 02b06b2
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Jul 10 08:51:43 2019 -0700

    Merge pull request #58 from cwillisf/fix-telemetry-init

    fix telemetry init and enforce queue length limit

commit bfb47102127b65a2d86f9c61ef601d78d96ddac2
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jul 9 16:31:44 2019 -0700

    Update dependencies including Electron 4.2.0 -> 4.2.6

commit 02b06b29a4541795b02922bdbfec95c7d29baef0
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jul 9 13:59:39 2019 -0700

    fix telemetry init and enforce queue length limit

commit f3346944a6d62d7dc15f899c2355d94d54367dc7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jul 9 11:29:17 2019 -0700

    add 'npm run watch-gui', similar to build-gui

commit 723e70104e45fafd512a5b46ac666d03a91c32b9
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jun 25 13:27:45 2019 -0700

    3.4.0

commit cdfdbbfba401067f0af49fd7daf125764c877c9e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 24 14:28:46 2019 -0700

    3.4.0-rc.3

commit 91e16c2ab5340375a7fa22a632214736a50f9c25
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 24 14:26:53 2019 -0700

    fix scripts/fetchMediaLibraryAssets.js missing some sprite assets

    Assets which are referenced by a sprite but not referenced by the sound,
    costume, or backdrop libraries were being missed by previous versions. I
    also removed the default parameter to several methods in order to reduce
    the likelihood of similar mistakes in the future.

commit 7b13482bc660e593c3611d1c6a48a8bd257b1123
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 24 12:41:25 2019 -0700

    improve scripts/build-gui.js error reporting, compatibility

commit 25597be1f8654f2a46f320ef4b07919b1fe44769
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 24 11:45:54 2019 -0700

    3.4.0-rc.2

commit d79811d8423a4b13b5ef443cd896d8fa8d87ce7d
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jun 24 11:35:12 2019 -0700

    make build-gui script work on all platforms

commit 48964e616e5955dafc8af9671af92cba967bd9c6
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Sun Jun 9 22:28:37 2019 -0700

    3.4.0-rc.1

commit a8cbb4859960196d20a8b6d0937f49803ca867cc
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Wed May 22 18:51:23 2019 -0700

    3.3.0

commit 59288c1660cda7a49b1415a7885859ca657a00e8
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu May 16 20:23:47 2019 -0700

    3.3.0-rc.2

commit d37de9555db675faf67fdfb014a66cde57e1016b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu May 16 20:23:30 2019 -0700

    Document scratch-gui STATIC_PATH build parameter

commit e3899019977068cbfa004c2472342136290d8223
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu May 16 12:52:19 2019 -0700

    3.3.0-rc.1

commit b597ce1cd68c27b1699f0a9c1ac9b7c53f3c0dad
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon May 13 17:24:50 2019 -0700

    update dependencies

commit b315581b7daeb984085eb9a049417d410a7d6dc5
Merge: 4bd7204 b5d01b8
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Wed Apr 10 11:34:33 2019 -0700

    Merge pull request #42 from dlech/patch-1

    README: use jsonc code formatting

commit b5d01b875bfd3146d1bd46b7bcfb501e96604b8a
Author: David Lechner <david@lechnology.com>
Date:   Tue Apr 9 15:22:50 2019 -0500

    README: use jsonc code formatting

    jsonc allows comments, so it will make the ugly red highlighting go away when the README is viewed on GitHub.

commit 4bd7204c6350b59fb8cb9bfdc7aba23d1163a618
Author: Andrew Sliwinski <ascii@media.mit.edu>
Date:   Wed Mar 6 12:59:58 2019 -0500

    Update package.json

commit b5d2a87bace994fad6b32b32fb57f379ae5626e5
Author: Andrew Sliwinski <ascii@media.mit.edu>
Date:   Wed Mar 6 12:59:41 2019 -0500

    Update TRADEMARK

commit f44872434fb7e80c3e87b8a4d4d375c96b08d3c6
Author: Andrew Sliwinski <ascii@media.mit.edu>
Date:   Wed Mar 6 12:59:20 2019 -0500

    Update LICENSE

commit 96cd6d5490fbb281dfac0ba81786cda4563fc202
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jan 8 11:32:20 2019 -0800

    1.2.1

commit 94822649f845379ae7e2cb2b1b26076a53d77efa
Merge: 521c32d d93cd7a
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Thu Jan 10 20:27:28 2019 -0800

    Merge pull request #27 from cwillisf/native-save-dialog

    Override browser save dialog with a native save dialog

commit d93cd7ae33935a3e1e6d88f1e13cf3d4011fe736
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jan 8 15:37:37 2019 -0800

    Remember last save location

commit 1113ba0c18182943252c83a80f3a7d32edb9ee0b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jan 8 11:23:55 2019 -0800

    Support more file types in save dialog override

commit c0b8752fdc3167c447115dabd28c737e674e4e9f
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Jan 7 15:17:28 2019 -0800

    Override 'will-download' event to use native save window

commit 521c32dd5df0dc94a5be4fe1b6dd48efdbd9b134
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jan 8 14:02:19 2019 -0800

    npm upgrade

commit 05bc41389f5306c8d3ee090b8db4e8799b11e855
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Jan 8 14:35:50 2019 -0800

    Autodetect electron version for @babel/preset-env

commit 530857a99ba85b4ab69f0eda3cf727abf884d47e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 28 12:17:56 2018 -0800

    Document the NSIS signed installer build process

commit bd76e5464323c48e9803831d8dc8d46654dab4f5
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 28 04:47:06 2018 -0800

    1.2.0

commit eea135e52beade4bbdc17c946c6689f2e63439cb
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 28 00:21:12 2018 -0800

    npm upgrade

commit f9764d8fc6cc0e15dec6428d3455b8436fde9fc6
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 27 15:29:57 2018 -0800

    Further simplify and consolidate webpack config

commit ba91c89d6251e3e0af70368ab444a2b9a10c7e23
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 27 12:18:04 2018 -0800

    Add dev instructions to README.md

commit a7519d167de51c79650ea3cb018c3c5656c60370
Merge: 80ed0db 87d9a5e
Author: Paul Kaplan <pkaplan@media.mit.edu>
Date:   Thu Dec 27 15:01:38 2018 -0500

    Merge pull request #20 from LLK/fix-mac-shortcuts

    Include menu with default keyboard shortcuts to allow mac to work

commit 80ed0db606e37b957043de0eaddd4fd80557190e
Merge: 9560798 9c7acee
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Thu Dec 27 11:20:23 2018 -0800

    Merge pull request #19 from benjiwheeler/external-windows

    attempt to open _blank link targets in OS's default browser, not electron

commit 9560798c8d5b5501a9acd79cf6c3ef840ac9ec4b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 27 11:05:04 2018 -0800

    Specify scratch-desktop branch of scratch-gui

    This should go back to a version number once we merge the GUI's
    scratch-desktop branch into its develop branch.

commit 87d9a5e4488285a2493b66f50342c3fb782d7396
Author: Paul Kaplan <pkaplan@media.mit.edu>
Date:   Thu Dec 27 13:49:26 2018 -0500

    Include menu with default keyboard shortcuts to allow mac to work

commit 9c7aceea70037eb4861d6b96197ded57cbd4e4a4
Author: Ben Wheeler <wheeler.benjamin@gmail.com>
Date:   Fri Dec 21 11:58:18 2018 -0500

    attempt to open _blank link targets in OS's default browser, not electron

commit a866327656d892074ced093d17f66df18cea833e
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 21 12:50:07 2018 -0800

    1.1.1

commit 4c838c01be3fccf3bc327b74da930de9ab9e270b
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 21 12:38:09 2018 -0800

    Revert "Add last-resort hook to stop link navigation"

    This reverts commit c8f6b38df2e125f5cd0b65f4e0340a948bec178c. It caused
    the menus (like File -> Save) not to work.

commit 897a9d26bc53a42b5a3fcce334aeb44937bb46e5
Merge: be95f54 4848d75
Author: Chris Willis-Ford <cwillisf@users.noreply.github.com>
Date:   Fri Dec 21 12:01:27 2018 -0800

    Merge pull request #18 from cwillisf/telemetry

    Implement telemetry client

commit 4848d7548a0c5bc5a42502679d28a437646ead9f
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 21 10:34:06 2018 -0800

    Add version field to telemetry events

commit 22dd1821f4e2cbbfea840d6e206e1a4964f9edce
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 21 02:42:08 2018 -0800

    Supply defaults for telemetry event fields

commit 34d96bf49cac8dad894678e66d5f8c987a6d70b3
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 21 01:44:58 2018 -0800

    Add onProjectTelemetryEvent handler for GUI

commit 77b8a13d6439ce5415b58c8c8da528255d918ff4
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 20 23:48:52 2018 -0800

    Populate telemetry events

commit 6486201bf931e398bf621de3da6068e9917d5c94
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 20 23:24:57 2018 -0800

    Improve appWillClose() reliability

commit 64da5dff27226414f7d13f6f350259f0ed99b5dd
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 20 23:03:20 2018 -0800

    Hook up telemetry opt-in/out modal

commit 30cafbf50874f02947b437f56b4d0dedab7575e9
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 20 22:11:54 2018 -0800

    Enable telemetry persistence

commit f46fd1d7e37febb924bd94b89a1034596e6835d6
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Thu Dec 20 19:30:06 2018 -0800

    npm install -D electron-store

commit 64c2755c707d6811d3592fdf2391df050da44bd7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Tue Dec 4 18:30:16 2018 -0800

    First draft telemetry client

    To do: queue and client ID persistence

commit 66a664b243ab1fa8d2755851ede6e7347259f7b7
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Mon Dec 3 15:43:11 2018 -0800

    npm install -D nets uuid

commit be95f54ffe241ed9c582001f39a9409efa3d489c
Author: Christopher Willis-Ford <cwillisf@media.mit.edu>
Date:   Fri Dec 21 11:27:35 2018 -0800

    Tweak webpack config for consistency, …
@arslankaleem7229
Copy link

Workaround Add

<key>com.apple.security.app-sandbox</key>
<true/>

to node_modules/app-builder-lib/templates/entitlements.mac.plist

Didn't work for me

@chetan1406
Copy link

chetan1406 commented Jul 27, 2022 via email

@arslankaleem7229
Copy link

hello need to do many changes

On Wed, 27 Jul 2022 at 00:45, Arslan Kaleem @.> wrote: Workaround Add com.apple.security.app-sandbox to node_modules/app-builder-lib/templates/entitlements.mac.plist Didn't work for me — Reply to this email directly, view it on GitHub <#192 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSMYKX7KRW4NL4ORBSNGW3VWA2NXANCNFSM4HJWZCSA . You are receiving this because you commented.Message ID: @.>

can you please mention them. ???? I am getting this error for sandbox

App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a boolean value of true in the entitlement property list ......

@pedrumgolriz
Copy link

@chetan1406 @arslankaleem7229
any luck? Still getting this on a ton of the libraries. I also feel like the pkg is losing all entitlements during the osx-flat commands

@10n37
Copy link

10n37 commented Feb 7, 2024

Hi. I'm using electron-builder and running into similliar issue.

In my case the solution is to manually set path to entitlements.plist in electron-builder config
even if they already in the path recommended by electron-builder documentation

const builderConfig: builder.Configuration = {
  // your config...
  mac: {
    entitlements: 'build/entitlements.mac.plist',
    entitlementsInherit: 'build/entitlements.mac.plist',
  }, 
  mas: {
    entitlements: 'build/entitlements.mas.plist',
    entitlementsInherit: 'build/entitlements.mas.inherit.plist',
  },
}

I took the permission configurations for MAS from here:
https://github.com/electron/osx-sign/tree/main/entitlements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

15 participants