[google_maps_flutter] Jitter when rendering from animator

Steps to Reproduce

Created app from template : https://github.com/mmcc007/google_maps_flutter_jitter.
Update the files as follows: https://github.com/mmcc007/google_maps_flutter_jitter/commits/master
Click on the left blue button to animate the route

Expected results: A jitter-free rendering of the animated route
Actual results: The animated route jitters as it is being rendered
Tried it on iOS without a problem. It seems to be specific to Android (or at least the android device I am using).

Logs
flutter run --verbose
[ +153 ms] executing: [/Users/jenkins/Library/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +42 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] bbfbf1770cca2da7c82e887e4e4af910034800b6
[        ] executing: [/Users/jenkins/Library/flutter/] git tag --contains HEAD
[ +212 ms] Exit code 0 from: git tag --contains HEAD
[        ] 1.20.2
[  +10 ms] executing: [/Users/jenkins/Library/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +7 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/Users/jenkins/Library/flutter/] git ls-remote --get-url origin
[   +7 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +61 ms] executing: [/Users/jenkins/Library/flutter/] git rev-parse --abbrev-ref HEAD
[   +7 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[   +8 ms] executing: sw_vers -productName
[  +16 ms] Exit code 0 from: sw_vers -productName
[        ] Mac OS X
[        ] executing: sw_vers -productVersion
[  +14 ms] Exit code 0 from: sw_vers -productVersion
[        ] 10.12.6
[        ] executing: sw_vers -buildVersion
[  +15 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 16G1036
[  +49 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +18 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb devices -l
[   +9 ms] executing: /usr/bin/xcode-select --print-path
[  +10 ms] Exit code 0 from: /usr/bin/xcode-select --print-path
[        ] /Applications/Xcode.app/Contents/Developer
[   +1 ms] executing: /usr/bin/xcodebuild -version
[  +74 ms] Exit code 0 from: /usr/bin/xcodebuild -version
[        ] Xcode 9.2
           Build version 9C40b
[   +2 ms] Xcode not found. Run 'flutter doctor' for more information.
[  +48 ms] List of devices attached
<PHONE_NUMBER>003347       device usb:437522432X product:G8 model:G8 device:G0170 transport_id:2
[   +8 ms] /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell getprop
[  +52 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +5 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +119 ms] Found plugin flutter_plugin_android_lifecycle at
/Users/jenkins/Library/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.8/
[  +10 ms] Found plugin google_maps_flutter at /Users/jenkins/Library/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-0.5.30/
[  +59 ms] Found plugin flutter_plugin_android_lifecycle at
/Users/jenkins/Library/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-1.0.8/
[   +2 ms] Found plugin google_maps_flutter at /Users/jenkins/Library/flutter/.pub-cache/hosted/pub.dartlang.org/google_maps_flutter-0.5.30/
[  +78 ms] Generating
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +32 ms] ro.hardware = s9863a1h10
[        ] ro.build.characteristics = default
[  +55 ms] Starting incremental build...
[   +5 ms] Initializing file store
[  +17 ms] Skipping target: gen_localizations
[   +5 ms] complete
[   +6 ms] Launching lib/main.dart on G8 in debug mode...
[   +8 ms] /Users/jenkins/Library/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
/Users/jenkins/Library/flutter/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root
/Users/jenkins/Library/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter --debugger-module-names
-Ddart.developer.causal_async_stacks=true --output-dill
/var/folders/s4/3t4n2kqx2wqgbfyhh8rs9n_40000gp/T/flutter_tools.TTFHRY/flutter_tool.ZzyI2m/app.dill --packages .packages -Ddart.vm.profile=false
-Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instruct
ions --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill build/cache.dill.track.dill
[  +13 ms] executing: /Users/jenkins/Library/Android/sdk/build-tools/29.0.3/aapt dump xmltree
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
[  +18 ms] Exit code 0 from: /Users/jenkins/Library/Android/sdk/build-tools/29.0.3/aapt dump xmltree
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1c
               A: android:compileSdkVersionCodename(0x01010573)="9" (Raw: "9")
               A: package="app.getotto.otto.otto" (Raw: "app.getotto.otto.otto")
               A: platformBuildVersionCode=(type 0x10)0x1c
               A: platformBuildVersionName=(type 0x10)0x9
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: uses-permission (line=16)
                 A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw: "android.permission.ACCESS_NETWORK_STATE")
               E: uses-feature (line=18)
                 A: android:glEsVersion(0x01010281)=(type 0x11)0x20000
                 A: android:required(0x0101028e)=(type 0x12)0xffffffff
               E: application (line=28)
                 A: android:label(0x01010001)="google_maps_flutter_jitter" (Raw: "google_maps_flutter_jitter")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:name(0x01010003)="io.flutter.app.FlutterApplication" (Raw: "io.flutter.app.FlutterApplication")
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
                 "androidx.core.app.CoreComponentFactory")
                 E: meta-data (line=36)
                   A: android:name(0x01010003)="com.google.android.geo.API_KEY" (Raw: "com.google.android.geo.API_KEY")
                   A: android:value(0x01010024)="AIzaSyBkhH39wAoOkjWfwfb-MYBGSEO470nkKoc" (Raw: "AIzaSyBkhH39wAoOkjWfwfb-MYBGSEO470nkKoc")
                 E: activity (line=40)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.google_maps_flutter_jitter.MainActivity" (Raw:
                   "com.example.google_maps_flutter_jitter.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=54)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=64)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw:
                     "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040015
                   E: intent-filter (line=68)
                     E: action (line=69)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=71)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=78)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
                 E: uses-library (line=82)
                   A: android:name(0x01010003)="org.apache.http.legacy" (Raw: "org.apache.http.legacy")
                   A: android:required(0x0101028e)=(type 0x12)0x0
                 E: activity (line=86)
                   A: android:theme(0x01010000)=@0x01030010
                   A: android:name(0x01010003)="com.google.android.gms.common.api.GoogleApiActivity" (Raw:
                   "com.google.android.gms.common.api.GoogleApiActivity")
                   A: android:exported(0x01010010)=(type 0x12)0x0
                 E: meta-data (line=91)
                   A: android:name(0x01010003)="com.google.android.gms.version" (Raw: "com.google.android.gms.version")
                   A: android:value(0x01010024)=@0x7f060000
[  +11 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell -x logcat -v time -t 1
[  +54 ms] Exit code 0 from: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell -x logcat -v time -t 1
[        ] --------- beginning of main
           08-23 07:52:36.965 I/VSP     (  447): get_CBR_IsliceQP,323, pPIC->encoded_MBnum = 0
[   +1 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell -x logcat -v time -t 1
[  +50 ms] Exit code 0 from: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell -x logcat -v time -t 1
[        ] --------- beginning of main
           08-23 07:52:37.189 I/VSP     (  447): get_CBR_IsliceQP,323, pPIC->encoded_MBnum = 0
[   +8 ms] <- compile package:google_maps_flutter_jitter/main.dart
[  +11 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb version
[   +7 ms] Android Debug Bridge version 1.0.41
           Version 29.0.4-5871666
           Installed as /Users/jenkins/Library/Android/sdk/platform-tools/adb
[   +3 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb start-server
[   +6 ms] Building APK
[  +25 ms] Running Gradle task 'assembleDebug'...
[   +2 ms] gradle.properties already sets `android.enableR8`
[   +4 ms] Using gradle from /Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/android/gradlew.
[   +1 ms] /Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/android/gradlew mode: 33261 rwxr-xr-x.
[  +18 ms] executing: /usr/bin/plutil -convert json -o - /Applications/Android Studio.app/Contents/Info.plist
[  +10 ms] Exit code 0 from: /usr/bin/plutil -convert json -o - /Applications/Android Studio.app/Contents/Info.plist
[        ] {"CFBundleName":"Android
Studio","JVMOptions":{"MainClass":"com.intellij.idea.Main","ClassPath":"$APP_PACKAGE\/Contents\/lib\/bootstrap.jar:$APP_PACKAGE\/Contents\/lib\
/extensions.jar:$APP_PACKAGE\/Contents\/lib\/util.jar:$APP_PACKAGE\/Contents\/lib\/jdom.jar:$APP_PACKAGE\/Contents\/lib\/log4j.jar:$APP_PACKAGE
\/Contents\/lib\/trove4j.jar:$APP_PACKAGE\/Contents\/lib\/jna.jar","JVMVersion":"1.8*,1.8+","Properties":{"idea.home.path":"$APP_PACKAGE\/Conte
nts","idea.executable":"studio","idea.platform.prefix":"AndroidStudio","idea.paths.selector":"AndroidStudio4.0"},"WorkingDirectory":"$APP_PACKA
GE\/Contents\/bin"},"NSDesktopFolderUsageDescription":"An application in Android Studio requests access to the user's Desktop
folder.","LSArchitecturePriority":["x86_64"],"CFBundleVersion":"AI-193.69<IP_ADDRESS>14223","CFBundleDevelopmentRegion":"English","NSCameraUsage
Description":"An application in Android Studio requests access to the device's
camera.","CFBundleDocumentTypes":[{"CFBundleTypeExtensions":["ipr"],"CFBundleTypeName":"Android Studio Project
File","CFBundleTypeIconFile":"studio.icns","CFBundleTypeRole":"Editor"},{"CFBundleTypeExtensions":["*"],"CFBundleTypeOSTypes":["****"],"LSTypeI
sPackage":false,"CFBundleTypeName":"All
documents","CFBundleTypeRole":"Editor"}],"NSSupportsAutomaticGraphicsSwitching":true,"CFBundlePackageType":"APPL","CFBundleIconFile":"studio.ic
ns","NSHighResolutionCapable":true,"CFBundleShortVersionString":"4.0","NSMicrophoneUsageDescription":"An application in Android Studio requests
access to the device's microphone.","CFBundleInfoDictionaryVersion":"6.0","CFBundleExecutable":"studio","NSLocationUsageDescription":"An
application in Android Studio requests access to the user's location
information.","LSRequiresNativeExecution":"YES","CFBundleURLTypes":[{"CFBundleURLName":"Stacktrace","CFBundleURLSchemes":["idea"],"CFBundleType
Role":"Editor"}],"CFBundleIdentifier":"com.google.android.studio","LSApplicationCategoryType":"public.app-category.developer-tools","CFBundleSi
gnature":"????","LSMinimumSystemVersion":"10.8","NSDocumentsFolderUsageDescription":"An application in Android Studio requests access to the
user's Documents folder.","NSDownloadsFolderUsageDescription":"An application in Android Studio requests access to the user's Downloads
folder.","NSNetworkVolumesUsageDescription":"An application in Android Studio requests access to files on a network
volume.","CFBundleGetInfoString":"Android Studio 4.0, build AI-193.69<IP_ADDRESS>14223. Copyright JetBrains s.r.o., (c)
2000-2020","NSRemovableVolumesUsageDescription":"An application in Android Studio requests access to files on a removable volume."}
[  +11 ms] executing: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java -version
[  +87 ms] Exit code 0 from: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java -version
[        ] openjdk version "1.8.0_242-release"
           OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
           OpenJDK 64-Bit Server VM (build 25.242-b3-6222593, mixed mode)
[   +3 ms] executing: [/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/android/]
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/android/gradlew -Pverbose=true -Ptarget-platform=android-arm64
-Ptarget=/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/lib/main.dart -Ptrack-widget-creation=true
-Pfilesystem-scheme=org-dartlang-root assembleDebug
[+3774 ms] > Task :app:compileFlutterBuildDebug
[   +1 ms] [ +170 ms] executing: [/Users/jenkins/Library/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [  +47 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [   +1 ms] bbfbf1770cca2da7c82e887e4e4af910034800b6
[        ] [        ] executing: [/Users/jenkins/Library/flutter/] git tag --contains HEAD
[        ] [ +243 ms] Exit code 0 from: git tag --contains HEAD
[        ] [        ] 1.20.2
[        ] [  +14 ms] executing: [/Users/jenkins/Library/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [  +10 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/stable
[        ] [        ] executing: [/Users/jenkins/Library/flutter/] git ls-remote --get-url origin
[        ] [  +10 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +73 ms] executing: [/Users/jenkins/Library/flutter/] git rev-parse --abbrev-ref HEAD
[        ] [   +9 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] stable
[        ] [  +51 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [   +9 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [ +134 ms] Initializing file store
[        ] [  +19 ms] Skipping target: gen_localizations
[        ] [   +8 ms] kernel_snapshot: Starting due to {}
[   +1 ms] [  +42 ms] /Users/jenkins/Library/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
/Users/jenkins/Library/flutter/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root
/Users/jenkins/Library/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --target=flutter
-Ddart.developer.causal_async_stacks=true -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instruct
ions --enable-asserts --track-widget-creation --no-link-platform --packages
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/.packages --output-dill
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/.dart_tool/flutter_build/03e16e22005ff17921b0e69499626eb9/app.dill --depfile
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/.dart_tool/flutter_build/03e16e22005ff17921b0e69499626eb9/kernel_snapshot.d
package:google_maps_flutter_jitter/main.dart
[+7461 ms] [+8267 ms] kernel_snapshot: Complete
[ +599 ms] [ +583 ms] debug_android_application: Starting due to {}
[ +402 ms] [ +372 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see
#56466.
[        ] [  +14 ms] debug_android_application: Complete
[ +599 ms] [ +586 ms] Persisting file store
[        ] [   +7 ms] Done persisting file store
[        ] [   +6 ms] build succeeded.
[        ] [  +12 ms] "flutter assemble" took 10,090ms.
[        ] [   +4 ms] ensureAnalyticsSent: 0ms
[        ] [   +1 ms] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[  +96 ms] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
[        ] > Task :app:preBuild UP-TO-DATE
[        ] > Task :app:preDebugBuild UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:preBuild UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:preDebugBuild UP-TO-DATE
[ +102 ms] > Task :google_maps_flutter:preBuild UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugAidl NO-SOURCE
[        ] > Task :google_maps_flutter:preDebugBuild UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:packageDebugRenderscript NO-SOURCE
[        ] > Task :google_maps_flutter:packageDebugRenderscript NO-SOURCE
[        ] > Task :app:checkDebugManifest UP-TO-DATE
[        ] > Task :app:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :app:compileDebugRenderscript NO-SOURCE
[        ] > Task :app:cleanMergeDebugAssets
[        ] > Task :google_maps_flutter:compileDebugAidl NO-SOURCE
[        ] > Task :app:compileDebugAidl NO-SOURCE
[        ] > Task :app:mergeDebugShaders UP-TO-DATE
[        ] > Task :app:compileDebugShaders UP-TO-DATE
[        ] > Task :app:generateDebugAssets UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugShaders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugShaders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugAssets UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:packageDebugAssets UP-TO-DATE
[        ] > Task :google_maps_flutter:mergeDebugShaders UP-TO-DATE
[        ] > Task :google_maps_flutter:compileDebugShaders UP-TO-DATE
[        ] > Task :google_maps_flutter:generateDebugAssets UP-TO-DATE
[        ] > Task :google_maps_flutter:packageDebugAssets UP-TO-DATE
[        ] > Task :app:mergeDebugAssets
[ +295 ms] > Task :app:copyFlutterAssetsDebug
[        ] > Task :app:mainApkListPersistenceDebug UP-TO-DATE
[        ] > Task :app:generateDebugResValues UP-TO-DATE
[        ] > Task :app:generateDebugResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugResValues UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugRenderscript NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:packageDebugResources UP-TO-DATE
[        ] > Task :google_maps_flutter:generateDebugResValues UP-TO-DATE
[        ] > Task :google_maps_flutter:compileDebugRenderscript NO-SOURCE
[        ] > Task :google_maps_flutter:generateDebugResources UP-TO-DATE
[        ] > Task :google_maps_flutter:packageDebugResources UP-TO-DATE
[        ] > Task :app:mergeDebugResources UP-TO-DATE
[        ] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:checkDebugManifest UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:processDebugManifest UP-TO-DATE
[        ] > Task :google_maps_flutter:checkDebugManifest UP-TO-DATE
[        ] > Task :google_maps_flutter:processDebugManifest UP-TO-DATE
[  +90 ms] > Task :app:processDebugManifest UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugRFile UP-TO-DATE
[        ] > Task :google_maps_flutter:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :google_maps_flutter:generateDebugRFile UP-TO-DATE
[        ] > Task :app:processDebugResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:javaPreCompileDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:bundleLibCompileDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :google_maps_flutter:javaPreCompileDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :google_maps_flutter:bundleLibCompileDebug UP-TO-DATE
[        ] > Task :app:compileDebugKotlin UP-TO-DATE
[        ] > Task :app:javaPreCompileDebug UP-TO-DATE
[        ] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :app:compileDebugSources UP-TO-DATE
[        ] > Task :app:processDebugJavaRes NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:processDebugJavaRes NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:bundleLibResDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:processDebugJavaRes NO-SOURCE
[        ] > Task :google_maps_flutter:bundleLibResDebug UP-TO-DATE
[  +96 ms] > Task :app:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:createFullJarDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:createFullJarDebug UP-TO-DATE
[        ] > Task :app:checkDebugDuplicateClasses UP-TO-DATE
[        ] > Task :app:desugarDebugFileDependencies UP-TO-DATE
[        ] > Task :app:mergeExtDexDebug UP-TO-DATE
[        ] > Task :app:transformClassesWithDexBuilderForDebug UP-TO-DATE
[        ] > Task :app:mergeDexDebug UP-TO-DATE
[        ] > Task :app:validateSigningDebug UP-TO-DATE
[        ] > Task :app:signingConfigWriterDebug UP-TO-DATE
[        ] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:stripDebugDebugSymbols UP-TO-DATE
[  +96 ms] > Task :flutter_plugin_android_lifecycle:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :google_maps_flutter:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :google_maps_flutter:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :google_maps_flutter:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :app:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :app:stripDebugDebugSymbols UP-TO-DATE
[        ] Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
[+1400 ms] > Task :app:packageDebug
[ +196 ms] > Task :app:assembleDebug
[        ] > Task :flutter_plugin_android_lifecycle:extractDebugAnnotations UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugConsumerProguardFiles UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:bundleDebugAar UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugSources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:assembleDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:extractDebugAnnotations UP-TO-DATE
[        ] > Task :google_maps_flutter:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :google_maps_flutter:mergeDebugConsumerProguardFiles UP-TO-DATE
[        ] > Task :google_maps_flutter:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :google_maps_flutter:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :google_maps_flutter:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[        ] > Task :google_maps_flutter:bundleDebugAar UP-TO-DATE
[        ] > Task :google_maps_flutter:compileDebugSources UP-TO-DATE
[        ] > Task :google_maps_flutter:assembleDebug UP-TO-DATE
[        ] BUILD SUCCESSFUL in 15s
[        ] 87 actionable tasks: 6 executed, 81 up-to-date
[ +378 ms] Running Gradle task 'assembleDebug'... (completed in 15.8s)
[ +276 ms] calculateSha: LocalDirectory: '/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/build/app/outputs/flutter-apk'/app.apk
[  +96 ms] calculateSha: reading file took 95us
[ +586 ms] calculateSha: computing sha took 586us
[   +5 ms] ✓ Built build/app/outputs/flutter-apk/app-debug.apk.
[   +3 ms] executing: /Users/jenkins/Library/Android/sdk/build-tools/29.0.3/aapt dump xmltree
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
[  +14 ms] Exit code 0 from: /Users/jenkins/Library/Android/sdk/build-tools/29.0.3/aapt dump xmltree
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
[   +1 ms] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1c
               A: android:compileSdkVersionCodename(0x01010573)="9" (Raw: "9")
               A: package="app.getotto.otto.otto" (Raw: "app.getotto.otto.otto")
               A: platformBuildVersionCode=(type 0x10)0x1c
               A: platformBuildVersionName=(type 0x10)0x9
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: uses-permission (line=16)
                 A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw: "android.permission.ACCESS_NETWORK_STATE")
               E: uses-feature (line=18)
                 A: android:glEsVersion(0x01010281)=(type 0x11)0x20000
                 A: android:required(0x0101028e)=(type 0x12)0xffffffff
               E: application (line=28)
                 A: android:label(0x01010001)="google_maps_flutter_jitter" (Raw: "google_maps_flutter_jitter")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:name(0x01010003)="io.flutter.app.FlutterApplication" (Raw: "io.flutter.app.FlutterApplication")
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
                 "androidx.core.app.CoreComponentFactory")
                 E: meta-data (line=36)
                   A: android:name(0x01010003)="com.google.android.geo.API_KEY" (Raw: "com.google.android.geo.API_KEY")
                   A: android:value(0x01010024)="AIzaSyBkhH39wAoOkjWfwfb-MYBGSEO470nkKoc" (Raw: "AIzaSyBkhH39wAoOkjWfwfb-MYBGSEO470nkKoc")
                 E: activity (line=40)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.google_maps_flutter_jitter.MainActivity" (Raw:
                   "com.example.google_maps_flutter_jitter.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=54)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=64)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw:
                     "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040015
                   E: intent-filter (line=68)
                     E: action (line=69)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=71)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=78)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
                 E: uses-library (line=82)
                   A: android:name(0x01010003)="org.apache.http.legacy" (Raw: "org.apache.http.legacy")
                   A: android:required(0x0101028e)=(type 0x12)0x0
                 E: activity (line=86)
                   A: android:theme(0x01010000)=@0x01030010
                   A: android:name(0x01010003)="com.google.android.gms.common.api.GoogleApiActivity" (Raw:
                   "com.google.android.gms.common.api.GoogleApiActivity")
                   A: android:exported(0x01010010)=(type 0x12)0x0
                 E: meta-data (line=91)
                   A: android:name(0x01010003)="com.google.android.gms.version" (Raw: "com.google.android.gms.version")
                   A: android:value(0x01010024)=@0x7f060000
[   +2 ms] Stopping app 'app.apk' on G8.
[   +1 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell am force-stop app.getotto.otto.otto
[ +122 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell pm list packages app.getotto.otto.otto
[ +110 ms] package:app.getotto.otto.otto
[   +2 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell cat
/data/local/tmp/sky.app.getotto.otto.otto.sha1
[  +44 ms] e0bdcb4beffd678cbb0ed29d067093201153dc4a
[   +1 ms] Installing APK.
[   +1 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb version
[   +5 ms] Android Debug Bridge version 1.0.41
           Version 29.0.4-5871666
           Installed as /Users/jenkins/Library/Android/sdk/platform-tools/adb
[        ] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb start-server
[   +6 ms] Installing build/app/outputs/flutter-apk/app.apk...
[        ] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 install -t -r
/Users/jenkins/dev/flutter/test/google_maps_flutter_jitter/build/app/outputs/flutter-apk/app.apk
[+7099 ms] Performing Streamed Install
                    Success
[        ] Installing build/app/outputs/flutter-apk/app.apk... (completed in 7.1s)
[   +1 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell echo -n
9445fa08f325f918032846ec740e4193390012fa > /data/local/tmp/sky.app.getotto.otto.otto.sha1
[  +38 ms] G8 startApp
[   +4 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 shell am start -a android.intent.action.RUN -f
0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true --ez verify-entry-points true
app.getotto.otto.otto/com.example.google_maps_flutter_jitter.MainActivity
[ +297 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000
cmp=app.getotto.otto.otto/com.example.google_maps_flutter_jitter.MainActivity (has extras) }
[        ] Waiting for observatory port to be available...
[+2455 ms] Observatory URL on device: http://<IP_ADDRESS>:39056/4-A51EuelbY=/
[   +1 ms] executing: /Users/jenkins/Library/Android/sdk/platform-tools/adb -s<PHONE_NUMBER>003347 forward tcp:0 tcp:39056
[   +7 ms] 61677
[        ] Forwarded host port 61677 to device port 39056 for Observatory
[   +7 ms] Caching compiled dill
[ +239 ms] Connecting to service protocol: http://<IP_ADDRESS>:61677/4-A51EuelbY=/
[ +736 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:61677/4-A51EuelbY=/
[        ] Waiting for G8 to report its views...
[  +12 ms] Waiting for G8 to report its views... (completed in 11ms)
[  +12 ms] DevFS: Creating new filesystem on the device (null)
[  +78 ms] DevFS: Created new filesystem on the device
(file:///data/user/0/app.getotto.otto.otto/code_cache/google_maps_flutter_jitterLSPLGS/google_maps_flutter_jitter/)
[   +2 ms] Updating assets
[  +90 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466.
[   +7 ms] Syncing files to device G8...
[   +1 ms] Scanning asset files
[   +2 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +1 ms] <- recompile package:google_maps_flutter_jitter/main.dart cb80dc73-286d-4290-bef1-2043c2922b76
[        ] <- cb80dc73-286d-4290-bef1-2043c2922b76
[ +268 ms] Updating files
[ +326 ms] DevFS: Sync finished
[        ] Syncing files to device G8... (completed in 601ms)
[        ] Synced 0.9MB.
[        ] <- accept
[   +6 ms] Connected to _flutterView/0x6fa7b7d820.
[   +1 ms] Flutter run key commands.
[   +1 ms] r Hot reload. 🔥🔥🔥
[        ] R Hot restart.
[        ] h Repeat this help message.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] An Observatory debugger and profiler on G8 is available at: http://<IP_ADDRESS>:61677/4-A51EuelbY=/
[+1604 ms] W/PlatformViewsController(25968): Creating a virtual display of size: [720, 1424] may result in
problems(https://github.com/flutter/flutter/issues/2897).It is larger than the device screen size: [720, 1369].
[  +91 ms] I/zzbz    (25968): Making Creator dynamically
[   +2 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0x300, ui64Stamp:804378, sSize:4104192, line = 2106
[  +18 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0x300, ui64Stamp:804384, sSize:4104192, line = 2106
[        ] W/totto.otto.ott(25968): Unsupported class loader
[        ] W/totto.otto.ott(25968): Skipping duplicate class check due to unsupported classloader
[   +2 ms] I/DynamiteModule(25968): Considering local module com.google.android.gms.maps_dynamite:0 and remote module
com.google.android.gms.maps_dynamite:203019000
[        ] I/DynamiteModule(25968): Selected remote version of com.google.android.gms.maps_dynamite, version >= 203019000
[        ] V/DynamiteModule(25968): Dynamite loader version >= 2, using loadModule2NoCrashUtils
[  +52 ms] I/DynamiteLoaderV2Impl(25968): [71] Mapsdynamite
[   +5 ms] W/totto.otto.ott(25968): Unsupported class loader
[ +121 ms] I/Google Maps Android API(25968): Google Play services client version: 12451000
[  +25 ms] I/Google Maps Android API(25968): Google Play services package version: 203019029
[ +238 ms] W/totto.otto.ott(25968): Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection)
[ +557 ms] D/NetworkSecurityConfig(25968): No Network Security Config specified, using platform default
[  +84 ms] W/totto.otto.ott(25968): Accessing hidden method
Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate; (light greylist, linking)
[ +305 ms] E/libc    (25968): Access denied finding property "ro.vendor.hwui.texture_cache_size"
[        ] D/OpenGLRenderer(25968): textureCacheSize 25165824
[        ] W/RenderThread(25968): type=1400 audit(0.0:290925): avc: denied { read } for name="u:object_r:vendor_hwui_prop:s0" dev="tmpfs"
ino=12315 scontext=u:r:untrusted_app:s0:c203,c256,c512,c768 tcontext=u:object_r:vendor_hwui_prop:s0 tclass=file permissive=0
[  +60 ms] E/GoogleMapController(25968): Cannot enable MyLocation layer as location permissions are not granted
[   +1 ms] E/libc    (25968): Access denied finding property "ro.vendor.hwui.texture_cache_size"
[        ] W/RenderThread(25968): type=1400 audit(0.0:290926): avc: denied { read } for name="u:object_r:vendor_hwui_prop:s0" dev="tmpfs"
ino=12315 scontext=u:r:untrusted_app:s0:c203,c256,c512,c768 tcontext=u:object_r:vendor_hwui_prop:s0 tclass=file permissive=0
[        ] D/OpenGLRenderer(25968): textureCacheSize 25165824
[  +33 ms] I/OpenGLRenderer(25968): queryNativeWindowStatus 0x6fa684c010 query=0 dataspace=0
[  +60 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0xb00, ui64Stamp:804416, sSize:4104192, line = 2106
[  +36 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x2, usage:0xb00, ui64Stamp:804447, sSize:4104192, line = 2106
[  +15 ms] I/GraphicsJNI(25968): qemu gles is 1
[  +11 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0xb00, ui64Stamp:804450, sSize:4104192, line = 2106
[  +64 ms] D/        (25968): Gralloc Register  w:720, h:1520, f:0x1, usage:0xb00, ui64Stamp:804478, sSize:4378624, line = 2106
[  +20 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0xb00, ui64Stamp:804483, sSize:4104192, line = 2106
[  +17 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0x300, ui64Stamp:804489, sSize:4104192, line = 2106
[  +53 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x2, usage:0xb00, ui64Stamp:804492, sSize:4104192, line = 2106
[  +73 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x1, usage:0xb00, ui64Stamp:804494, sSize:4104192, line = 2106
[  +48 ms] D/        (25968): Gralloc Register  w:720, h:1424, f:0x2, usage:0xb00, ui64Stamp:804508, sSize:4104192, line = 2106
[+1278 ms] W/DynamiteModule(25968): Local module descriptor class for com.google.android.gms.googlecertificates not found.
[  +16 ms] I/DynamiteModule(25968): Considering local module com.google.android.gms.googlecertificates:0 and remote module
com.google.android.gms.googlecertificates:6
[        ] I/DynamiteModule(25968): Selected remote version of com.google.android.gms.googlecertificates, version >= 6
[  +11 ms] I/DynamiteLoaderV2Impl(25968): [71] Googlecertificates
[   +1 ms] W/totto.otto.ott(25968): Unsupported class loader
[+36178 ms] I/flutter (25968): 0
[ +183 ms] I/flutter (25968): 1
[  +14 ms] I/flutter (25968): 2
[  +29 ms] I/flutter (25968): 3
[  +56 ms] I/flutter (25968): 4
[  +29 ms] I/flutter (25968): 5
[  +54 ms] I/flutter (25968): 6
[   +3 ms] I/flutter (25968): 7
[  +67 ms] I/flutter (25968): 8
[  +20 ms] I/flutter (25968): 9
[  +49 ms] I/flutter (25968): 10
[   +7 ms] I/flutter (25968): 11
[  +55 ms] I/flutter (25968): 12
[   +3 ms] I/flutter (25968): 13
[  +65 ms] I/flutter (25968): 14
[  +61 ms] I/flutter (25968): 15
[  +20 ms] I/flutter (25968): 16
[  +61 ms] I/flutter (25968): 17
[   +6 ms] I/flutter (25968): 18
[  +47 ms] I/flutter (25968): 19
[  +61 ms] I/flutter (25968): 20
[  +66 ms] I/flutter (25968): 21
[  +19 ms] I/flutter (25968): 22
[  +48 ms] I/flutter (25968): 23
[   +4 ms] I/flutter (25968): 24
[  +53 ms] I/flutter (25968): 25
[   +3 ms] I/flutter (25968): 26
[  +65 ms] I/flutter (25968): 27
[  +64 ms] I/flutter (25968): 28
[  +15 ms] I/flutter (25968): 29
[  +48 ms] I/flutter (25968): 30
[   +7 ms] I/flutter (25968): 31
[  +64 ms] I/flutter (25968): 32
[  +58 ms] I/flutter (25968): 33
[  +22 ms] I/flutter (25968): 34
[  +39 ms] I/flutter (25968): 35
[  +60 ms] I/flutter (25968): 36
[  +58 ms] I/flutter (25968): 37
[  +17 ms] I/flutter (25968): 38
[  +44 ms] I/flutter (25968): 39
[  +57 ms] I/flutter (25968): 40
[  +13 ms] I/flutter (25968): 41
[  +59 ms] I/flutter (25968): 42
[        ] I/flutter (25968): 43
[  +48 ms] I/flutter (25968): 44
[   +7 ms] I/flutter (25968): 45
[  +70 ms] I/flutter (25968): 46
[  +15 ms] I/flutter (25968): 47
[  +38 ms] I/flutter (25968): 48
[  +57 ms] I/flutter (25968): 49
[  +19 ms] I/flutter (25968): 50
[  +35 ms] I/flutter (25968): 51
[  +57 ms] I/flutter (25968): 52
[  +27 ms] I/flutter (25968): 53
[  +37 ms] I/flutter (25968): 54
[  +19 ms] I/flutter (25968): 55
[  +35 ms] I/flutter (25968): 56
[  +58 ms] I/flutter (25968): 57
[  +19 ms] I/flutter (25968): 58
[  +48 ms] I/flutter (25968): 59
[   +9 ms] I/flutter (25968): 60
[  +45 ms] I/flutter (25968): 61
[  +12 ms] I/flutter (25968): 62
[  +37 ms] I/flutter (25968): 63
[  +54 ms] I/flutter (25968): 64
[  +52 ms] I/flutter (25968): 65
[   +5 ms] I/flutter (25968): 66
[  +52 ms] I/flutter (25968): 67
[        ] I/flutter (25968): 68
[  +43 ms] I/flutter (25968): 69
[  +13 ms] I/flutter (25968): 70
[  +39 ms] I/flutter (25968): 71
[  +53 ms] I/flutter (25968): 72
[  +46 ms] I/flutter (25968): 73
[   +4 ms] I/flutter (25968): 74
[  +52 ms] I/flutter (25968): 75
[  +11 ms] I/flutter (25968): 76
[  +47 ms] I/flutter (25968): 77
[   +4 ms] I/flutter (25968): 78
[  +46 ms] I/flutter (25968): 79
[  +11 ms] I/flutter (25968): 80
[  +52 ms] I/flutter (25968): 81
[   +5 ms] I/flutter (25968): 82
[  +43 ms] I/flutter (25968): 83
[  +44 ms] I/flutter (25968): 84
[   +5 ms] I/flutter (25968): 85
[  +48 ms] I/flutter (25968): 86
[   +2 ms] I/flutter (25968): 87
[  +47 ms] I/flutter (25968): 88
[  +14 ms] I/flutter (25968): 89
[  +31 ms] I/flutter (25968): 90
[  +53 ms] I/flutter (25968): 91
[  +28 ms] I/flutter (25968): 92
[  +34 ms] I/flutter (25968): 93
[  +47 ms] I/flutter (25968): 94
[   +6 ms] I/flutter (25968): 95
[  +43 ms] I/flutter (25968): 96
[  +13 ms] I/flutter (25968): 97
[  +33 ms] I/flutter (25968): 98
[  +52 ms] I/flutter (25968): 99
[   +2 ms] I/flutter (25968): 100
[  +46 ms] I/flutter (25968): 101
[  +15 ms] I/flutter (25968): 102
[  +34 ms] I/flutter (25968): 103
[  +49 ms] I/flutter (25968): 104
[  +50 ms] I/flutter (25968): 105
[   +3 ms] I/flutter (25968): 106
[  +44 ms] I/flutter (25968): 107
[  +14 ms] I/flutter (25968): 108
[  +40 ms] I/flutter (25968): 109
[  +48 ms] I/flutter (25968): 110
[        ] I/flutter (25968): 111
[  +48 ms] I/flutter (25968): 112
[   +9 ms] I/flutter (25968): 113
[  +41 ms] I/flutter (25968): 114
[  +13 ms] I/flutter (25968): 115
[  +41 ms] I/flutter (25968): 116
[  +24 ms] I/flutter (25968): 117
[  +43 ms] I/flutter (25968): 118
[   +6 ms] I/flutter (25968): 119
[  +46 ms] I/flutter (25968): 120
[  +14 ms] I/flutter (25968): 121
[  +41 ms] I/flutter (25968): 122
[  +12 ms] I/flutter (25968): 123
[  +46 ms] I/flutter (25968): 124
[  +14 ms] I/flutter (25968): 125
[  +38 ms] I/flutter (25968): 126
[  +47 ms] I/flutter (25968): 127
[   +4 ms] I/flutter (25968): 128
[  +55 ms] I/flutter (25968): 129
[  +49 ms] I/flutter (25968): 130
[   +8 ms] I/flutter (25968): 131
[  +50 ms] I/flutter (25968): 132
[   +8 ms] I/flutter (25968): 133
[  +44 ms] I/flutter (25968): 134
[  +14 ms] I/flutter (25968): 135
[  +44 ms] I/flutter (25968): 136
[  +12 ms] I/flutter (25968): 137
[  +37 ms] I/flutter (25968): 138
[  +47 ms] I/flutter (25968): 139
[   +2 ms] I/flutter (25968): 140
[  +50 ms] I/flutter (25968): 141
[   +5 ms] I/flutter (25968): 142
[  +40 ms] I/flutter (25968): 143
[  +44 ms] I/flutter (25968): 144
[   +4 ms] I/flutter (25968): 145
[  +44 ms] I/flutter (25968): 146
[   +9 ms] I/flutter (25968): 147
[  +43 ms] I/flutter (25968): 148
[  +47 ms] I/flutter (25968): 149
[  +52 ms] I/flutter (25968): 150
[   +2 ms] I/flutter (25968): 151
[  +44 ms] I/flutter (25968): 152
[  +15 ms] I/flutter (25968): 153
[  +30 ms] I/flutter (25968): 154
[  +49 ms] I/flutter (25968): 155
[   +9 ms] I/flutter (25968): 156
[  +45 ms] I/flutter (25968): 157
[   +9 ms] I/flutter (25968): 158
[  +39 ms] I/flutter (25968): 159
[  +50 ms] I/flutter (25968): 160
[  +52 ms] I/flutter (25968): 161
[  +11 ms] I/flutter (25968): 162
[  +34 ms] I/flutter (25968): 163
[  +51 ms] I/flutter (25968): 164
[  +25 ms] I/flutter (25968): 165
[  +35 ms] I/flutter (25968): 166
[  +48 ms] I/flutter (25968): 167
[  +49 ms] I/flutter (25968): 168
[   +7 ms] I/flutter (25968): 169
[  +40 ms] I/flutter (25968): 170
[  +17 ms] I/flutter (25968): 171

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.12.6 16G1036, locale en-US)
• Flutter version 1.20.2 at /Users/jenkins/Library/flutter
• Framework revision bbfbf1770c (10 days ago), 2020-08-13 08:33:09 -0700
• Engine revision 9d5b21729f
• Dart version 2.9.1
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/jenkins/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• ANDROID_HOME = /Users/jenkins/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS (Xcode 9.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.2, Build version 9C40b
✗ Flutter requires a minimum Xcode version of 11.0.0.
Download the latest version or update via the Mac App Store.
• CocoaPods version 1.8.4
[✓] Android Studio (version 4.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 48.1.2
• Dart plugin version 193.7361
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[!] IntelliJ IDEA Community Edition (version 2019.3)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• For information about installing plugins, see
https://flutter.dev/intellij-setup/#installing-the-plugins
[✓] VS Code (version 1.48.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.13.2
[✓] Connected device (1 available)
• G8 (mobile) •<PHONE_NUMBER>003347 • android-arm64 • Android 9 (API 28)
! Doctor found issues in 2 categories.

Here's a demo of what it looks like:

Zooming in there are what appears to be inaccuracies in plotting:

The same points plotted on an online map do not show these inaccuracies.

https://maps.co/map/5f40f121cbd5783932584440a07a (while available)

google_maps_flutter: ^0.5.30

flutter doctor -v
[✓] Flutter (Channel dev, 1.22.0-1.0.pre, on Microsoft Windows [Version 10.0.19041.450], locale en-US)
    • Flutter version 1.22.0-1.0.pre at C:\Code\flutter_dev
    • Framework revision ce40de69b7 (4 days ago), 2020-08-20 07:31:50 -0700
    • Engine revision 81027ab0cc
    • Dart version 2.10.0 (build 2.10.0-45.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Code\sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = C:\Code\sdk
    • Java binary at: C:\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[✓] Android Studio (version 4.0)
    • Android Studio at C:\Code\android-studio
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.48.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.13.2

[✓] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5556 • android-x86    • Android 10 (API 29) (emulator)
    • Web Server (web)                   • web-server    • web-javascript • Flutter Tools
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 84.0.4147.135

• No issues found!

Another clue perhaps:
When I drop the accuracy of the interpolated points from 6 to 5 decimal places (to match the accuracy returned by google directions api), and plot on an online map, the interpolated points seem to diverge in the same way as on the mobile app.
This suggests that the mobile map might be ignoring the extra decimal place. So, assuming no other problem with the mobile map rendering,  a simple fix might be to accept points to 6 decimal places.

This issue can be replicated on the latest stable channel with google_maps_flutter: ^2.0.6

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-arm, locale en-IN)
    • Flutter version 2.2.2 at /Users/mahesh/Documents/flutter
    • Framework revision d79295af24 (10 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (3 available)
    • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64  • Android 11 (API 30) (emulator)
    • macOS (desktop)           • macos         • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)              • chrome        • web-javascript • Google Chrome 91.0.4472.114

• No issues found!

Output


Extremely high CPU usage in websocket/mio thread

I'm using ws-rs for the webui of my application and lately I've been getting very high (15%) CPU usage (without me changing the code since when it was using low CPU usage (3%)).
So I investigated with the "Very Sleepy" Profiler, and it showed that the websocket/mio thread uses all that CPU. The lion share (top two entries) are websocket/mio functions:

Here is the CSV export of "Very Sleepy": http://dpaste.com/177BVN7
More info here: https://github.com/housleyjk/ws-rs/issues/178
The thing is, my websocket thread isn't even doing much (officially).
And I haven't changed the code since when it was only using 3% CPU.
I'd appreciate any insight into what is causing this and how to get the CPU usage down again.

Hey there. I do not believe that this is a mio related issue. You also already have an issue open on ws-rs, so I'm going to close this one. If you discover that this is indeed a mio bug, please open a new with a mio only repro.
Thanks!


Custom menus not working after upgrading to v0.84

My custom menus broke after upgrading to Hugo v0.84. They’ve been working fine for years, I didn’t change a thing in my config:
menu:
    header:
        - identifier: "À propos"
          name: "À propos"
          url: /a-propos/
          weight: 1
        - identifier: "Commencez ici"
          name: "Commencez ici"
          url: /commencez-ici/
          weight: 2
        - identifier: "Défileur"
          name: "Défileur"
          url: /defileur/
          weight: 3
        - identifier: "Guide orthotypographique"
          name: "Orthotypo"
          url: /guide-orthotypographique/
          weight: 4
        - identifier: "Mentions légales"
          name: "Mentions légales"
          url: /mentions-legales/
          weight: 5
        - identifier: "RSS"
          name: "RSS"
          url: /index.xml
          weight: 6

Nor did I change a thing in my templates:

	{{ range .Site.Menus.header }}

{{ .Name }}

	{{ end }}

I know that v0.84 changed some things about the merging of params, but I don’t see how it could affect me. I tried to debug using {{ printf "%#v" .Site.Menus.header }}, but it simply returns nil. I’m at a loss of ideas.
What version of Hugo are you using (hugo version)?
hugo v0.84.0+extended darwin/arm64
Does this issue reproduce with the latest release?
Yes.

Content source here: https://github.com/anthonynelzin/metrozendodo.fr
Theme source here: https://github.com/anthonynelzin/metrozendodo

Could you try to rename the config from menu to menus? We changed that long time ago; we did have a way to make it backwards compatible, but that may have broken in my "config rewrite".

Unfortunately, it looks like it doesn’t work.

Confirmed.
With v0.83.1 this worked:
[languages.en]

[[menus.foo]]
name = "foo-a"
url = "/foo-a/"

[[menus.foo]]
name = "foo-b"
url = "/foo-b/"

With v0.84 you must do this instead:
[languages.en]

[[languages.en.menus.foo]]
name = "foo-a"
url = "/foo-a/"

[[languages.en.menus.foo]]
name = "foo-b"
url = "/foo-b/"

Minimal reproducible example:
git clone --single-branch -b hugo-github-issue-8672 https://github.com/jmooring/hugo-testing hugo-github-issue-8672
cd hugo-github-issue-8672
hugo server

If a languages key is present in the site configuration, none of te

This may have been the same problem: https://github.com/gohugoio/hugo/issues/8649


Cache Cluster Calculations

This is a very temporary solution to putting this project online since recomputing the clusters every time someone is trying to receive is request is not possible (from a speed perspective). The current solution I'm using is to compute the clusters once when the server is started, but this results in starting the server taking around 1-2 minutes, which at this point just makes testing more obtrusive.

See #13 for merge.


setDelayToEnable() longer than 120ms on ESP32?

I have an issue with a stepper driver from StepperOnline (DM542T). Im 99% sure that it is related to the "setAutoEnable" and the timing delay set by the "setDelayToEnable".
The spec sheet for the stepper driver says that "Enable time to be at least 200ms" and they also show this in their datasheet:

It seems there is a limitation on the setDelayToEnable which is related to the hardware. In my case i'm using ESP32 and the max delay is 120ms (?). I have tested with this delay and the stepper motor looses steps.
But if i skip the "setAutoEnable" and enable the motor manually then no steps are skipped which leads me to beleive that the step/dir pulses are being sent before the driver has been activated, e.g the time between the enable time and the stp/dir pulses is shorter then specified in the spec sheet.
Is there any way to have a longer time set in the "setDelayToEnable" function?

The current implementation of the delay from enable till motor start is done in the queue handling routine. The implementation will fill the stepper queue with pauses as needed. The max delay is defined of max. number of pause commands fitting in the queue. The delay per command is 65535 ticks a 16MHz, which is approx. 4ms. The stepper queue on esp32 is fixed to 32 entries. Before the first step command 31 commands fit, so max delay is approx. 128ms.
Solutions:

increase hardcoded value for stepper queue size: https://github.com/gin66/FastAccelStepper/blob/e57f7b4fe676d5ea3ee44a0048b92d1770e5c7da/src/fas_arch/common_esp32.h#L29 to e.g. 50. I’m future release I could allow to provide compiler definition via platformio.ini
do not use auto on/off and do it manually
use the callback/external pin feature and the callback implements 200ms delay by returning disabled status until pause is complete and then return enabled status

my recommendation is the third option, while second option may be more transparent on application side

Thank you for the quick response.
I will go for option 2. And if/when option 1 is released then I will switch to that option.


PixivUtil cannot find itself

Sorry for the bother, I am not sure whether or not the error is specific to me, considering there are no other reports of it.
Description
I installed all the required packages from requirements.txt and then used setup.py to install PixivUtil. However upon trying to use the PixivUtil2 command I get the following error:
Traceback (most recent call last):
  File "/usr/bin/PixivUtil2", line 11, in <module>
    load_entry_point('PixivUtil2==2018.11.0', 'console_scripts', 'PixivUtil2')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 487, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2728, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2346, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2352, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ImportError: No module named PixivUtil2

Steps to Reproduce

Install requirements
Install PixivUtil2
Try to call PixivUtil2

Versions
e079973

Not sure for non-windows installation, maybe @awiebe or @rachmadaniHaryono can help you?
worst case, try to run the script directly?

How do you start PixivUtil? I suspect that you start python then try to call it from python interpreter.
This is not intended method to run in, do python2 PixivUtil2.py

I've never tried to install PixivUtil2, I just run it from script,it may be that it's not setup properly for the way you're invoking it.  There is a stack exchange post regarding this issue.
https://stackoverflow.com/questions/19718813/module-not-found-during-load-entry-point-in-python

How do you start PixivUtil? I suspect that you start python then try to call it from python interpreter.
With PixivUtil2 from the shell like it tells you in https://github.com/Nandaka/PixivUtil2/blob/master/setup.py#L43
This is not intended method to run in, do python2 PixivUtil2.py
Yep that one works, thanks!

I've never tried to install PixivUtil2, I just run it from script,it may be that it's not setup properly for the way you're invoking it. There is a stack exchange post regarding this issue.
https://stackoverflow.com/questions/19718813/module-not-found-during-load-entry-point-in-python
I am following the setup.py linked above, but looking at the code of it above, it actually tells you to run it instead of installing, if you try to open run it with python3 https://github.com/Nandaka/PixivUtil2/blob/master/setup.py#L39

Python 3 is not supported btw, that's why it tell you to run using python2

Python 3 is not supported btw, that's why it tell you to run using python2

Ah yes I know, but I meant it tells you to run it with "python2  PixivUtil2.py" instead of installing + PixivUtil2

Python 3 is not supported btw, that's why it tell you to run using python2

Ah yes I know, but I meant it tells you to run it with python2 PixivUtil2.py instead of installing + PixivUtil2

Yes, the windows version builds an executable using py2exe, but under *NIX there is no such procedure, thus once you have requirements in your environment or venv, you're good to go, but you have to run as you would a normal python script.  That is strictly speaking the only install procedure necessary and indeed currently possible on non windows machines is to get the necessary python packages and run without any fancy wrapping of the environment into a bundle.
Depending on your configuration the exact location of your python may vary.  PixivUtil2.py has a shebang line so you should be able to run with just ./PixivUtil2.py  provided /usr/bin/python is your python2 interpreter, otherwise, provide the interpreter explicitly.

In a situation like this, it's standard practice to replace the shebang with #!/usr/bin/python2 if you want to execute the script directly.  This is not an issue with PixivUtil2, as I'm sure the shebang it uses is generally correct.


Do you see a way to add associated types?

For example, it might look something like this:
template <typename T>
struct Deref {
  struct Target {};

  static auto do_invoke(const T&) -> Target&;

  template <typename CRTP>
  struct plugin {
    auto deref() const {
      return aa::invoke<Deref>(*static_cast<const CRTP*>(this));
    }
  };
};

template <typename Ptr>
struct Deref<std::shared_ptr<Ptr>> {
  using Target = std::remove_extent_t<Ptr>;

  static auto do_invoke(const std::shared_ptr<Ptr>& self) -> Target& {
    return *self.get();
  }
};

This is convenient because Self is responsible for the associated type itself.
In this example, the opposite is true
https://github.com/kelbon/AnyAny/blob/c4603b3959c5f8e8b9a104b09bb53025b1ff776f/examples/functional_paradigm.hpp#L22-L30
However, it doesn't work because result_t get return type from Method<aa::interface_t>, but Target is unique for all types.
This can be fixed, but for dyn call via poly_ref/any_ it will require explicit aanotation

For example, it might look something like this:
template <typename T>
struct Deref {
  struct Target {};

  static auto do_invoke(const T&) -> Target&;

May be you can require typename T::Target;
But anyway you need to return same type for all, so Target need to be same for all types, so its useless. (i think rust has same requirements for Dyn traits, apart from the fact that rust has no cast to smaller requirements)

But anyway you need to return same type for all, so Target need to be same for all types, so its useless.

It's not useless. For example, any type that was written in the type_traits style can be rewritten.
In Rust and Swift, they really have more privileges. Dyn constraint really stricter.
Associated types will reverse the implementation. This helps to better perceive where this type comes from.

outsize - template param (we pass result type to get result)
insized - associated param (we pass another type to get result)

Also compare :)
template <typename T>
struct Iterator {
  struct Item {};

  static auto do_invoke(const T&) -> std::optional<Item>;

  template <typename CRTP>
  struct plugin {
    auto next() const {
      return aa::invoke<Iterator>(*static_cast<const CRTP*>(this));
    }
  };
};

template <>
struct Iterator<MyIter> {
  using Item = std::size_t;

  static auto do_invoke(const MyIter& self) -> std::optional<Item> {
    // impl
  }
};

. . .

// i hope it works))
template<typename Item>
struct Constraints {
  template <typename T>
  struct iterator {
    static auto do_invoke(const T&) -> std::optional<Item>;

    template <typename CRTP>
    struct plugin {
      auto next() const {
        return aa::invoke<Iterator>(*static_cast<const CRTP*>(this));
      }
    };
  };
};

template<>
struct Constraints <std::size_t> {
  template<typename T>
  struct iterator {
    static auto do_invoke(const T&) -> std::optional<std::size_t> {
      // impl
    }
  };
};

Although maybe it really doesn't make sense

Can you show how you see interfaces with template parameters?
I can do it somehow like this: godbolt
But I'm sad that I can't use Method<Self>::Type
We need to know the Type
Probably it possible with static_ref, but i'm not C++ programmer to make this code work
template <typename Output>
using Oof = /* template<typename Self> Foo<Self, Output>*/;

template <typename Self, typename Output>
auto foo(aa::static_ref<Self, Oof<Output>>& ref) {
}

Can you show how you see interfaces with template parameters?

template<typename A, typename B>
struct foo {
  template<typename T>
  struct trait {
    static X do_invoke(T& self) { return X{}; }
  };
};

template<typename T>
using trait_foo_int_double = foo<int, double>::template trait;
// or
using h = any_with<foo<int, double>::template trait>;

Oh, no. Here is an example from godbolt, but with this style - https://godbolt.org/z/b8jK4bPK8

Oh no, bro. When I have time, I will definitely try to make it.

Oh no, bro. When I have time, I will definitely try to make it.


Update index.js

leave a commetn
Browser metadata
Path:      /
Browser:   Chrome 100.0.4896.88 on Mac OS 10.15.7
Viewport:  1792 x 1041 @2x
Language:  en-US
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved


Possible strategy for "thinning" AppImages

Here is one possible strategy for "thinning" AppImages so that they contain only the subset of Python and other files that is actually needed. Using this, I could reduce the size of TruFont from approximately 120 MB to just one third, under 40 MB.
mkdir squashfs-root
sudo mount -t tmpfs tmpfs squashfs-root/ -o strictatime,nodiratime
./TruFont-*-x86_64.AppImage --appimage-extract
touch test
./squashfs-root/AppRun
# Kill
find squashfs-root/ -mindepth 3 -not -anewer test -not -path '*/share/icons/*' -not -path '*/share/applications/*' -not -path '*/share/metainfo/*' -delete || true
find squashfs-root/ -type d -empty -delete
./squashfs-root/AppRun
appimagetool ./squashfs-root

The downside is that you need to manually "exercise" all parts of the application, so that the mechanism detects all files that are actually needed.

Doesn't seem safe at all. And requires running an AppImage, which isn't possible during a plugin run. I think that's something to put in the docs as "potential optimization", but then again, this doesn't seem like something you'd want to tell people to use and then use up hours to support afterwards...
The plugin has actually received some safe performance improvements recently. Simple CLI AppImages like appimagelint have a size of 25 MiB, which is very good given we bundle an entire Python interpreter environment plus the software and a few dependencies.


Scrolling a 2-column dataframe - couldn't see the second column

Has this been resolved?

Not sure. Will test later today. Can use a text file with a few dates and one other column, use dates as an index before scrolling the Pandas df. datascroller was in a different place when I logged this so it's probably resolved.

Just tested with a small 2-column data set. We're good here.


Tiny question about your hooks

Hello!
I justed wanted to use your onFormatTypeName hook but I cant find an instruction how to use it.
I want to generate the output via npx and it would be great if I could add to the hook via cli or something.
How do you guys use the hooks?
An example would be awsome!
Thank you very much in advance!

I don't think this is possible via CLI, however I've used the JS version of that exact hook. Taking the typeName as input, you can return a string that would replace this. For example
(typeName) => `_${typeName}`

would prefix an underscore to all typenames

@sinclairnick Thanks!
I wrote a little node js file wich uses the hook the same way as you suggested. And its working great via cli by
    "syncinterfaces:swagger-ts-api": "node importSwagger.node.js"


Base cell text model npe

Issue Type: Bug

Shift+Click on two github issue notebook files, right click, compare selected
Close the diff editor
Open one of the notebook

Cannot read property 'onDidChangeContent' of undefined: TypeError: Cannot read property 'onDidChangeContent' of undefined
    at CodeCellViewModel.resolveTextModel (vscode-file://vscode-app/c:/Users/rebor/code/vscode/out/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js:389:47)

VS Code version: Code - Insiders 1.58.0-insider (57930758db9e2c83f59b9ee1851400bd16192d32, 2021-06-30T05:14:00.370Z)
OS version: Windows_NT x64 10.0.19041
Restricted Mode: No
Remote OS version: Linux x64 4.19.128-microsoft-standard

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 3600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.93GB (5.38GB free)

Process Argv
--enable-proposed-api joyceerhl.vscode-pyolite --enable-proposed-api rebornix.better-jupyter-errors --enable-proposed-api donjayamanne.kusto --crash-reporter-id e73ca734-e67c-473d-8c47-80c5407fc859

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu-20.04

OS
Linux x64 4.19.128-microsoft-standard

CPUs
Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 3600)

Memory (System)
25.01GB (13.80GB free)

VM
0%

The this.textModel can be undefined and resolve model reference will not set textModel
https://github.com/microsoft/vscode/blob/cd08aa00815d3f0086ed4b9d3174c5eba1a72e15/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.ts#L496-L507
It was introduced by https://github.com/microsoft/vscode/commit/5b6f939eb2a43c34129dbab45c269af96e1f0f6b and before the change, textModel will be valid after calling this._textModelRef = await this.model.resolveTextModelRef();.

I followed the steps in the original issue by comparing notebooks A and B. However, I already had notebooks A and B open in their own tabs, and when I closed the diff editor, the editor for notebook A showed up with the NPE.

@rzhao271 thanks, good catch. It's related to adopting the DiffEditorInput. Now NotebookDiffEditorInput inherits from DiffEditorInput and we resolve the editor models for original and modified resource by the NotebookEditorInput, which holds a ref to the underlining text model. In the dispose of NotebookDiffEditorInput, we should not dispose editor models ourselves, instead they should be handled by NotebookEditorInput's lifecycle (which will dispose ref correctly).


Add reasonable defaults to built in fit functions

Going to include changed from #193 in this PR as well

Alright, this should be implemented according to the notes you sent in the other issue. The branch is 'Issue-177' if you want to check it out and give any feedback.


feat: fixed stage dependencies

:tada: This PR is included in version 1.12.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[WIP] Install APT and R packages before copying the repo contents

Split the assemble scripts into two categories. The default one which is as it was: executed after we copy the contents of the repository. A new one that build packs can opt into: executed just before we copy the content of the repository.
This could be useful for things like apt.txt which depends on the content of the repo (so shouldn't go in get_build_scripts()) but to execute the resulting command you don't need access to the contents of the repository. A counter example would be requirements.txt as the resulting pip install -r requirements.txt could need access to the repository.
Related to #707

This is pretty sweet. I built repo2docker https://github.com/binder-examples/r once which takes a long time. Then I cloned that same repo to a local directory and did repo2docker /tmp/local_clone_of_example_r and it builds instantly because all layers are in the docker cache! Now, go edit the README.md in your local copy and rerun repo2docker /tmp/local_clone_of_example_r and witness it still being super fast!
This only works if we assume that install.R does not refer to anything in the repository itself when it gets executed. I think that is a safe assumption to make and we can write it down in our docs as an assumption. I guess that is an advantage of inventing a new format, we control it :)
Need to check if we can do something like this for environment.yml or not. requirements.txt is  for sure out, or at least needs a smarter way of trying to perform this trick and failing gracefully.

WDYT @yuvipanda? before spending more time polishing this I am now pondering what the edge cases could be and when things would break for users.
Then sort out the string quoting business and add a comment to the docs saying that "install.R has no access to the repository contents."

I think this makes total sense for apt.txt.
However, I don't think we should do this for install.R. it is arbitrary R code, and people will put arbitrary things there. We should treat it like postBuild.

And thank you for working on this!

I think because we invented install.R we can also define that it can't contain arbitrary R code that needs access to the repo's content. It addresses a huge pain point users have which makes me want to be more pragmatic than usual :-/
As an alternative we could start versioning it and say something like "if the first line is # v2 then you will get faster rebuilds at the price of no access to the repo's contents". Without a magic comment you'd get the old behaviour and slow rebuilds.

Did a bit of looking at what people do put into install.R by running this query:
https://github.com/search?l=&q=filename%3Ainstall.R+pushed%3A>2018-01-01+language%3AR&type=Code
I didn't do an exact count but by page 7 of the results my impression is that for a large fraction of the install.R files are not in a place repo2docker would find them or they just contain install.library() commands. There are a few that do more complex stuff but those tend to be in repos that have a Dockerfile and don't look like they were made for repo2docker. There is just one repo that I found (Ben Marwick made some commits) that explicitly referenced install.packages('.') but this repo also had a DESCRIPTION file in it which we handle explicitly.
Starting to make me think that this is a change that is worth it because it speeds up things and breaks very few repos.

/cc @cboettig and @karthik who also probably have opinions.

I think because we invented install.R we can also define that it can't contain arbitrary R code that needs access to the repo's content. It addresses a huge pain point users have which makes me want to be more pragmatic than usual :-/

IMO, we invented the name only. The contents should work the same if they were executed on a user's computer without repo2docker - especially with the R extension. Otherwise it's going to lead to lots of confusion. I also do not know if installing R packages runs arbitrary code rather than anything declarative.
IMO, we should split this into two different PRs. The apt.txt one is a no-brainer, while I think install.R requires a lot more careful consideration, and input from the R community.

As an alternative we could start versioning it and say something like "if the first line is # v2 then you will get faster rebuilds at the price of no access to the repo's contents". Without a magic comment you'd get the old behaviour and slow rebuilds.

IMO this is the proposal we should consider.

My personal preference for speeding up R builds is to do something like https://github.com/pangeo-data/pangeo-stacks#customize-images-with-the--onbuild-variants but based on rocker images. This helps the R community self-serve. I've sortof started working on this in https://github.com/berkeley-dsep-infra/datahub/tree/staging/deployments/r/image, and will move it to using something like https://github.com/pangeo-data/pangeo-stacks/blob/master/onbuild/r2d_overlay.py soon.
This can totally happen in parallel to work here, though.

This does seem reasonable, but like @yuvipanda I'm super wary of inventing custom config systems; particularly when the assumptions they operate with are likely to be a bit opaque to the average user.
So I think the most likely failure mode for this will be if the R user is also using something like packrat or renv (as we've discussed elsewhere here), since both of those packages operate on other files in the repo.  Given the shared aims and the popularity of those packages I suspect that would come up here sooner or later too.
@kevinushey has written up some recent material about caching renv installs in Docker that might be useful, e.g. https://github.com/rstudio/renv/issues/78, though it's not obvious to me if that would be applicable in the context of Binder.

I've removed the moving of install.R in the interest of a quick merge.

The contents should work the same if they were executed on a user's computer without repo2docker - especially with the R extension. Otherwise it's going to lead to lots of confusion. I also do not know if installing R packages runs arbitrary code rather than anything declarative.

Not sure I understand this. You can run the install.R on your computer and it will just work. However not all install.R that work on your computer will work with repo2docker. I think that is fine. I am pretty sure install.package('random-package') can execute arbitrary code, however random-package is not going to rely on the contents of the repo we are building. If the outcome of a package install is going to depend on the working directory from which it was executed we might as well just give up making stuff reproducible :).
We do have a problem if there is a install.package('.') in the install.R which is why I'd write in our docs that this isn't supported.
In the past (the whole point of the project even ;) ) we have mostly decided to serve the masses instead of making their life harder to please niche cases. In the trade-off between faster rebuilds for the masses and serving a niche audience, I think we should go for fast rebuilds.

renv

I don't see how this is related. Does renv use a install.R file? I thought it had its own set of files for storing what to install.

r2d overlay and rocker base images

How will this solve the problem that if we run the install.package commands after COPYing the repo contents we will have to re-execute them every time someone fixes a typo in their README?

What happens if a user puts renv::restore() in install.R?

However not all install.R that work on your computer will work with repo2docker. I think that is fine.

IMO, this isn't something we should do. IIRC, this isn't true for any other file we support now. It also would be extremely confusing to a lay user.

How will this solve the problem that if we run the install.package commands ...

I believe the idea was that fewer packages will need to be installed because many will already be available.
Note that while DESCRIPTION-specified dependencies work like that, the default install.packages() is a bit dumb in this respect. It will reinstall the requested package (even if said version is already installed), but even so it will save time since the dependencies of said packages won't be re-installed (e.g. if a user does install.packages("tidyverse"), tidyverse will reinstall but not it's 80+ dependencies in the dependency tree).    Just a note that on that topic, @gaborcsardi & co have some pretty exciting work in https://github.com/r-lib/pak/ which provides a drop-in replacement for base install.packages() that does some things like caching and concurrent builds that can greatly speed up installs.  I think it's not production-ready yet(?) but could provide an alternative strategy for faster installs for binder too.

I think I still see the R changes - at least some stencila related R changes? Happy to merge the apt related bits though!

yay for faster repo2docker! Thanks, @betatim

And because there is never anything new under the sun: some prior art #410 that we should look at and ponder.


Improvements

Adds several improvements.

Converts all images to RGBA
Option to remove transparent pixels
Method to find the optimal colormap

Add examples for generate_optimal_colormap and remove_transparent before merging


Switch to using safe default arguments

When [] or {} or any other mutable type is used as a default argument, this can have unexpected results as discussed here and here for reasons explained here.
Rather than relying on programmer discipline not to abuse these default arguments, it is generally considered best practice to default value the arguments to None and check this within the function body.
This PR fixes all the instances I found, excluding the doc/ subdir, which I assume consists largely of upstream code.

@r-barnes thanks for catching this! I've run into this issue on other projects and also use the default-None approach. I'll merge this in once CI tests pass.

@r-barnes can you resolve the merge conflicts on your end?

@rileyjmurray : Done.

Thanks for doing this!


4 build issue alternative

I should have marked #5 as in progress, my bad.
Changed the way this works a little so version for ES and PLUGIN is deinfed in .env.  This PR then uses those version in build.gradle, Makefile, Dockerfile (when called from Makefile) and docker-compose.yaml (which the prior version was missing)
For whatever reason, the checkstyle plugin started catching more stuff for me which I had to fix.  Those are all the changes to the .java files.
@messiaen LMK if you like this approach and I can resolve the conflicts

also, I am fine if you want to stick with what is on master.  Plugin version in VERSION.txt, ES version in gradle.properties and both redefined in docker-compose.yaml

Going to break this up into 2 different PRs - 1 for the checkstyle changes and 1 for the build stuff


Mod doesn't work server-side

Received unknown remote registry entries from server
FabricRegistrySync
Render thread
Registry entry (neruina:errored) is missing from local registry (minecraft:data_component_type)
FabricRegistrySync
Registry entry (neruina:ticking_entry_id) is missing from local registry (minecraft:data_component_type)
net.fabricmc.fabric.impl.client.registry.sync.FabricRegistryClientInit
Registry remapping failed!
java.util.concurrent.CompletionException: net.fabricmc.fabric.impl.registry.sync.RemapException: Received 2 registry entries that are unknown to this client.
This is usually caused by a mismatched mod set between the client and server. See the client logs for more details.
The following registry entry namespaces may be related:
neruina
at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.lambda$receivePacket$0(RegistrySyncManager.java:145)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at net.minecraft.class_1255.method_18859(class_1255.java:162)
at net.minecraft.class_4093.mixinextras$bridge$method_18859$5(class_4093.java)
at net.minecraft.class_4093.wrapOperation$ddp000$carpet-tis-addition$yeetUpdateSuppressionCrash_implForThreadExecutorTaskExecuting(class_4093.java:570)
at net.minecraft.class_4093.method_18859(class_4093.java:23)
at net.minecraft.class_1255.method_16075(class_1255.java:136)
at net.minecraft.class_1255.method_5383(class_1255.java:121)
at net.minecraft.class_310.method_1523(class_310.java:1275)
at net.minecraft.class_310.method_1514(class_310.java:888)
at net.minecraft.client.main.Main.main(Main.java:265)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Caused by: net.fabricmc.fabric.impl.registry.sync.RemapException: Received 2 registry entries that are unknown to this client.
This is usually caused by a mismatched mod set between the client and server. See the client logs for more details.
The following registry entry namespaces may be related:
neruina
at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.checkRemoteRemap(RegistrySyncManager.java:364)
at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.apply(RegistrySyncManager.java:260)
at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.lambda$receivePacket$0(RegistrySyncManager.java:142)
... 13 more

Annoying, I'll see if I can remove the syncing because these components don't need to be on the client.

Fixed in 2.0.0-beta.5. Thanks for the reports.

I have to thank you!


[WIP] noto-fonts: build from source

Description of changes
This is a work in progress of building noto-fonts from source, the main thing still to-do is adding the rest of the noto fonts from https://github.com/notofonts, but before doing that I wanted to gather some feed back on this.
cc @emilazy @Mathnerd314 as the ones currently maintaining noto-fonts together with me.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Some scattered thoughts:

I got the impression on Matrix recently that people kind of hate from‐source font builds because they tend to be really slow and don’t necessarily produce tangible benefits.

We had an issue recently where updating ICU caused some tests in an emoji font to fail because it was checking for the presence of glyphs in a new version of Unicode. That kind of thing is annoying, though I don’t know if it’ll apply here.

State of Text Rendering 2024 implied that there’s industry work on a new all‐Rust end‐to‐end font toolchain to replace the current tangled mess of Python. Do you know if that’s going to happen soon enough to drastically change the packaging (and perhaps performance) here?

Am I correct in thinking that this approach requires one package per font? So we would have to write a script to parse https://github.com/notofonts/notofonts.github.io/blob/main/fontrepos.json (or whatever the right file is), and generate a package set, like how we have Hackage embedded into Nixpkgs?

1. I got the impression on Matrix recently that people kind of hate from‐source font builds because they tend to be really slow and don’t necessarily produce tangible benefits.

A font can contain web-assembly so i would only but as much trust in a font as i put in any pre compiled binary.

2. We had an issue recently where updating ICU caused some tests in an emoji font to fail because it was checking for the presence of glyphs in a new version of Unicode. That kind of thing is annoying, though I don’t know if it’ll apply here.

Currently this does not have any tests, but probably not because most of these have set number characters which does not really change.

3. [State of Text Rendering 2024](https://behdad.org/text2024/) implied that there’s industry work on a new all‐Rust end‐to‐end font toolchain to replace the current tangled mess of Python. Do you know if that’s going to happen soon enough to drastically change the packaging (and perhaps performance) here?

I sadly do not know the current state of the rust font tool-chain.

Am I correct in thinking that this approach requires one package per font?

Yes

So we would have to write a script to parse<EMAIL_ADDRESS>(or whatever the right file is), and generate a package set, like how we have Hackage embedded into Nixpkgs?

I was intending to create a package that symlinks all the noto packages into one and than check that against https://github.com/notofonts/notofonts.github.io/tree/main/fonts in the check phase to see if anything is missing.

I agree with emilazy that this approach is likely to be slow and have no tangible benefits, but it is still the right approach, kudos for working on it. ;-)

Definitely slower than just downloading font, but better than trusting random binary's from the internet.

Definitely slower than just downloading font, but better than trusting random binary's from the internet.

Well, to get into a long digression, they are from Google, so not "random". I sure wish I didn't have to trust binary drivers to use my phone either, but that's life. For me it is more about transparency in the toolchain. If you can't build it you can't reproduce it or make changes. Whereas, if there is a Nix script, I know pretty much exactly what I have to do: nix-shell -A noto-fonts.

Definitely slower than just downloading font, but better than trusting random binary's from the internet.

Well, to get into a long digression, they are from Google, so not "random". I sure wish I didn't have to trust binary drivers to use my phone either, but that's life. For me it is more about transparency in the toolchain. If you can't build it you can't reproduce it or make changes. Whereas, if there is a Nix script, I know pretty much exactly what I have to do: nix-shell -A noto-fonts.

For me, it pretty much all of those too, and just because I don't trust something it doesn't mean I'm not making use of it.


cache spdx list of licenses

the list you get here is what I mean:
https://github.com/citation-file-format/cff-converter-python/blob/aebaac1b61ce3594fde135d0385aeff1e2a61a96/cff_converter_python/citation.py#L199-L206

The current version of https://github.com/citation-file-format/schema/blob/master/CFF-Core/schema.yaml is bound to SPDX list 3.0, so you may want to consider using the blob permalink https://github.com/spdx/license-list-data/blob/b541ee8a345aa93b70a08765c7bf5e423bb4d558/json/licenses.json?
As opposed to referencing master, it will need work to maintain, but may be wort the trouble to stay aligned with the schema.

Updated the PR (76fa27c99ce5332b4eb6eac5ee1c4de8a4d4edf7)

wontfix the original problem. closing


Add retrieve_pudl snakemake module

Feature Request
We need to add a new snakemake task that download the PUDL database.
Suggested Solution

[ ] Identify which build of the PUDL database to use, and grab url
[ ] Write a new module in workflow_scripts named retrieve_pudl.py that downloads PUDL
[ ] Write a new rule in retrieve.smk named retrieve_pudl that calls retrieve_pudl.py
[ ] Add retrieve_pudl rule to Snakefile

Identify which build of the PUDL database to use, and grab url
I think the stable-builds from either Zenodo or the AWS buckets would work well for our purposes.

https://catalystcoop-pudl.readthedocs.io/en/latest/data_access.html#stable-builds

@jpvelez I've started this here: https://github.com/stephendeyoung/pypsa-usa/commit/5978f5d9b7db3009fd3892b4791b6d284f4680c0
I didn't have time to check the contribution guidelines so didn't create a PR yet.
I wasn't clear on adding retrieve_pudl rule to Snakefile. The other retrieve_*** scripts are not being included in the Snakefile and I can see that retrieve.smk is being included in the Snakefile.

@stephendeyoung This looks great, thanks! Our contribution guide is out of date (#319) ... but you can submit the PR to the develop branch.
RE: how to add retrieve_pudl to snakemake workflow- you have done it correctly. The new rule will be added to the snakemake because retrieve.smk is added in the Snakefile

Yep- should be uncompressed. Thank you.

Awesome, looks good! I will merge the PR, thank you!
We should be ready for #312 now.


Create testchild.py

added a new file called testchild.py in the child branch i created

connecting two branches


feat: Add new roll forking cheatcode interfaces

This change adds new rollFork cheatcode interfaces, which should allow us to offer much more performant behaviors with how users interact across multiple chains, as well as improving QOL from its simpler interface.

These 2 PRs are mainly to get some confirmation that these look like the appropriate interfaces from the solidity side. They made sense to me, but just want to make sure there's nothing we missed.