flet build aab Google Play black screen

I made an apk file using the new command flet build apk and everything works fine. but if you make an aab file flet build aab for the play market, it shows a black screen when launched

Could you please provide more information, like Flet app code, flet build aab -vv command output.
Also, how did you sign aab to upload it to Google Play?

signed with a key. added a story to the folder with flet-build-template-main to the build.gradle file to initialize the key. Before this I did this using serious_python and everything worked fine. the version created using the title of a serious_python is now publicly available on the Google Play.
The version created using flet build aab is also loaded into Google Play and passes all checks, but upon startup there is a black screen. This doesn’t happen with the flet build apk command and everything works fine.
`PS C:\Users\Aporia\VScode\Svitlo_Sumy> flet build aab --no-android-splash --build-number 29 --build-version 0.3.1 --template-dir C:/Flet/flet-build-template-main -vv
Flutter bootstrap directory: C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg
Creating Flutter bootstrap project...OK
Customizing app icons and splash images...Copying C:\Users\Aporia\VScode\Svitlo_Sumy\assets\icon.png to C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\images
OK
Generating app icons...Resolving dependencies in C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg... (3.5s)
Got dependencies in C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg.
Building package executable... (5.5s)
Built flutter_launcher_icons:flutter_launcher_icons.
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.13.1)
════════════════════════════════════════════
• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
• Overwriting default iOS launcher icon with new icon
Creating Icons for Web...
Creating Icons for Windows...
  Find me at https://www.linkedin.com/in/hansonjon/       ║
║                                                                            ║
╚════════════════════════════════════════════════════════════════════════════╝
✅ Native splash complete.
Now go finish building something awesome! 💪 You rock! 🤘🤩
Like the package? Please give it a 👍 here: https://pub.dev/packages/flutter_native_splash
OK
Packaging Python app...Building package executable... (3.0s)
Built serious_python:main.
Running package command
Creating asset directory: C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\app
Copying Python app from C:\Users\Aporia\VScode\Svitlo_Sumy to C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Installing dependencies [flet-embed, requests, firebase_admin] with pip command to C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa_pypackages_
Extracting Python distributive from C:\Users\Aporia\AppData\Local\Temp\cpython-3.11.6+20231002-x86_64-pc-windows-msvc-shared-install_only.tar.gz to C:\Users\Aporia\AppData\Local\Temp\hostpython3.11_ba1496f0
Compiling Python sources at C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Delete unnecessary files with extensions: [.py, .c, .h, .typed, .exe, .so, .a, .pdb, .pyd, .dll]
Delete unnecessary files and directories: [pycache, bin]
Creating app archive at C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\app/app.zip from C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Deleting temp directory C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Deleting Python directory C:\Users\Aporia\AppData\Local\Temp\hostpython3.11_ba1496f0
OK
Building .aab bundle for Android...['C:\Flet\flutter\bin\flutter.BAT', 'build', 'appbundle', '--build-number', '29', '--build-name', '0.3.1']
Resolving dependencies...
fl_chart 0.65.0 (0.66.0 available)
flutter_lints 2.0.3 (3.0.1 available)
flutter_native_splash 2.3.7 (2.3.9 available)
js 0.6.7 (0.7.0 available)
lints 2.1.1 (3.0.0 available)
matcher 0.12.16 (0.12.16+1 available)
material_color_utilities 0.5.0 (0.8.0 available)
meta 1.10.0 (1.11.0 available)
package_info_plus 4.2.0 (5.0.1 available)
path 1.8.3 (1.9.0 available)
petitparser 5.4.0 (6.0.2 available)
test_api 0.6.1 (0.7.0 available)
toml 0.14.0 (0.15.0 available)
uuid 4.2.2 (4.3.1 available)
web 0.3.0 (0.4.0 available)
web_socket_channel 2.4.0 (2.4.3 available)
xml 6.3.0 (6.5.0 available)
Got dependencies!
17 packages have newer versions incompatible with dependency constraints.
Try flutter pub outdated for more information.
Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 283452 to 912 bytes (99.7% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 1261080 bytes (23.3% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
C:\Users\Aporia\AppData\Local\Android\sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\build\app\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libpythonbundle.so': The file was not recognized as a valid object file
C:\Users\Aporia\AppData\Local\Android\sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\build\app\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libpythonbundle.so': The file was not recognized as a valid object file
C:\Users\Aporia\AppData\Local\Android\sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\build\app\intermediates\merged_native_libs\release\out\lib\x86_64\libpythonbundle.so': The file was not recognized as a valid object file
Running Gradle task 'bundleRelease'...                            730,8s
√ Built build\app\outputs\bundle\release\app-release.aab (74.9MB).
OK
Copying build to build\aab directory...OK
Deleting Flutter bootstrap directory C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg
Success!
PS C:\Users\Aporia\VScode\Svitlo_Sumy> `

Could you please provide more information, like Flet app code, flet build aab -vv command output.
Also, how did you sign aab to upload it to Google Play?

signed with a key. added a story to the folder with flet-build-template-main to the build.gradle file to initialize the key. Before this I did this using serious_python and everything worked fine. the version created using the title of a serious_python is now publicly available on the Google Play.
The version created using flet build aab is also loaded into Google Play and passes all checks, but upon startup there is a black screen. This doesn’t happen with the flet build apk command and everything works fine.
Flutter bootstrap directory: C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg
Creating Flutter bootstrap project...OK
Customizing app icons and splash images...Copying C:\Users\Aporia\VScode\Svitlo_Sumy\assets\icon.png to C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\images
OK
Generating app icons...Resolving dependencies in C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg... (3.5s)
Got dependencies in C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg.
Building package executable... (5.5s)
Built flutter_launcher_icons:flutter_launcher_icons.
  ════════════════════════════════════════════
     FLUTTER LAUNCHER ICONS (v0.13.1)
  ════════════════════════════════════════════

• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
• Overwriting default iOS launcher icon with new icon
Creating Icons for Web...
Creating Icons for Windows...
  Find me at https://www.linkedin.com/in/hansonjon/       ║
║                                                                            ║
╚════════════════════════════════════════════════════════════════════════════╝

✅ Native splash complete.
Now go finish building something awesome! 💪 You rock! 🤘🤩
Like the package? Please give it a 👍 here: https://pub.dev/packages/flutter_native_splash

OK
Packaging Python app...Building package executable... (3.0s)
Built serious_python:main.
Running package command
Creating asset directory: C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\app
Copying Python app from C:\Users\Aporia\VScode\Svitlo_Sumy to C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Installing dependencies [flet-embed, requests, firebase_admin] with pip command to C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa\__pypackages__
Extracting Python distributive from C:\Users\Aporia\AppData\Local\Temp\cpython-3.11.6+20231002-x86_64-pc-windows-msvc-shared-install_only.tar.gz to C:\Users\Aporia\AppData\Local\Temp\hostpython3.11_ba1496f0
Compiling Python sources at C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Delete unnecessary files with extensions: [.py, .c, .h, .typed, .exe, .so, .a, .pdb, .pyd, .dll]
Delete unnecessary files and directories: [__pycache__, bin]
Creating app archive at C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\app/app.zip from C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Deleting temp directory C:\Users\Aporia\AppData\Local\Temp\serious_python_tempb603c1aa
Deleting Python directory C:\Users\Aporia\AppData\Local\Temp\hostpython3.11_ba1496f0
OK
Building .aab bundle for Android...['C:\\Flet\\flutter\\bin\\flutter.BAT', 'build', 'appbundle', '--build-number', '29', '--build-name', '0.3.1']
Resolving dependencies...
  fl_chart 0.65.0 (0.66.0 available)
  flutter_lints 2.0.3 (3.0.1 available)
  flutter_native_splash 2.3.7 (2.3.9 available)
  js 0.6.7 (0.7.0 available)
  lints 2.1.1 (3.0.0 available)
  matcher 0.12.16 (0.12.16+1 available)
  material_color_utilities 0.5.0 (0.8.0 available)
  meta 1.10.0 (1.11.0 available)
  package_info_plus 4.2.0 (5.0.1 available)
  path 1.8.3 (1.9.0 available)
  petitparser 5.4.0 (6.0.2 available)
  test_api 0.6.1 (0.7.0 available)
  toml 0.14.0 (0.15.0 available)
  uuid 4.2.2 (4.3.1 available)
  web 0.3.0 (0.4.0 available)
  web_socket_channel 2.4.0 (2.4.3 available)
  xml 6.3.0 (6.5.0 available)
Got dependencies!
17 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 283452 to 912 bytes (99.7% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 1261080 bytes (23.3% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
C:\Users\Aporia\AppData\Local\Android\sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\build\app\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libpythonbundle.so': The file was not recognized as a valid object file

C:\Users\Aporia\AppData\Local\Android\sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\build\app\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libpythonbundle.so': The file was not recognized as a valid object file

C:\Users\Aporia\AppData\Local\Android\sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg\build\app\intermediates\merged_native_libs\release\out\lib\x86_64\libpythonbundle.so': The file was not recognized as a valid object file

Running Gradle task 'bundleRelease'...                            730,8s
√ Built build\app\outputs\bundle\release\app-release.aab (74.9MB).
OK
Copying build to build\aab directory...OK
Deleting Flutter bootstrap directory C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_XaVEVhlRmg
Success!
PS C:\Users\Aporia\VScode\Svitlo_Sumy>

With what device are you testing the app on Google Play, what version of Android?

With what device are you testing the app on Google Play, what version of Android?

I checked on each of these devices. During development I conduct tests on Pixel 4a 5g

Try building app with the latest Flet 0.19.0. It has error reporting now if the app could not be started.

now the error occurs:
PS C:\Users\Aporia\VScode\Svitlo_Sumy> flet build apk --no-android-splash --build-number 30 --build-version 0.3.2 --template-dir C:/Flet/flet-build-template-main -vv
Flutter bootstrap directory: C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_gwKYsVsXwW
Creating Flutter bootstrap project...OK
Customizing app icons and splash images...Copying C:\Users\Aporia\VScode\Svitlo_Sumy\assets\icon.png to C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_gwKYsVsXwW\images
OK
Generating app icons...Resolving dependencies in C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_gwKYsVsXwW... (4.6s)
Got dependencies in C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_gwKYsVsXwW.
Building package executable... (12.3s)
Built flutter_launcher_icons:flutter_launcher_icons.
  ════════════════════════════════════════════
     FLUTTER LAUNCHER ICONS (v0.13.1)
  ════════════════════════════════════════════

• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
• Overwriting default iOS launcher icon with new icon
Creating Icons for Web...
Creating Icons for Windows...
  Find me at https://www.linkedin.com/in/hansonjon/       ║
║                                                                            ║
╚════════════════════════════════════════════════════════════════════════════╝

✅ Native splash complete.
Now go finish building something awesome! 💪 You rock! 🤘🤩
Like the package? Please give it a 👍 here: https://pub.dev/packages/flutter_native_splash

OK
Packaging Python app...Building package executable... (3.8s)
Built serious_python:main.
Running package command
Creating asset directory: C:\Users\Aporia\AppData\Local\Temp\flet_flutter_build_gwKYsVsXwW\app
Copying Python app from C:\Users\Aporia\VScode\Svitlo_Sumy to C:\Users\Aporia\AppData\Local\Temp\serious_python_temp20e5bbe8
Configured mobile platform with sitecustomize.py at C:\Users\Aporia\AppData\Local\Temp\serious_python_sitecustomize7c0c55d5\sitecustomize.py
Installing dependencies [flet-embed, requests, firebase_admin] with pip command to C:\Users\Aporia\AppData\Local\Temp\serious_python_temp20e5bbe8\__pypackages__
Extracting Python distributive from C:\Users\Aporia\AppData\Local\Temp\cpython-3.11.6+20231002-x86_64-pc-windows-msvc-shared-install_only.tar.gz to C:\Users\Aporia\AppData\Local\Temp\hostpython3.11_de96c52f
VERBOSE: C:\Users\Aporia\AppData\Local\Temp\hostpython3.11_de96c52f\python\python.exe -m pip install --isolated --upgrade --target C:\Users\Aporia\AppData\Local\Temp\serious_python_temp20e5bbe8\__pypackages__ flet-embed requests firebase_admin
VERBOSE: Collecting flet-embed
VERBOSE: Obtaining dependency information for flet-embed from https://files.pythonhosted.org/packages/ad/d1/a6b49f4fae4611d8b083da1f95afd78e38ffb3898290ffc8dcec73324bf6/flet_embed-0.19.0-py3-none-any.whl.metadata
VERBOSE: Using cached flet_embed-0.19.0-py3-none-any.whl.metadata (1.1 kB)
VERBOSE: Collecting requests
VERBOSE: Obtaining dependency information for requests from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
VERBOSE: Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
VERBOSE: Collecting firebase_admin
VERBOSE: Obtaining dependency information for firebase_admin from https://files.pythonhosted.org/packages/70/9f/3a0dd37f2f55b66ec5f2a6d0c50512ca78e14499824492ee39c2921f8d02/firebase_admin-6.3.0-py3-none-any.whl.metadata
VERBOSE: Using cached firebase_admin-6.3.0-py3-none-any.whl.metadata (1.4 kB)
VERBOSE: Collecting flet-runtime==0.19.0 (from flet-embed)
VERBOSE: Obtaining dependency information for flet-runtime==0.19.0 from https://files.pythonhosted.org/packages/dd/19/d0954189bf43dfdf5f9d059f5eb73d3374a13d5d4626a14f24fe35b55b43/flet_runtime-0.19.0-py3-none-any.whl.metadata
VERBOSE: Using cached flet_runtime-0.19.0-py3-none-any.whl.metadata (1.2 kB)
VERBOSE: Collecting flet-core==0.19.0 (from flet-runtime==0.19.0->flet-embed)
VERBOSE: Obtaining dependency information for flet-core==0.19.0 from https://files.pythonhosted.org/packages/cc/cc/520c8a7650b57c615a8be1679c5199a7f57ba59639d76cc7ea0a76bda19f/flet_core-0.19.0-py3-none-any.whl.metadata
VERBOSE: Using cached flet_core-0.19.0-py3-none-any.whl.metadata (1.1 kB)
VERBOSE: Collecting httpx<0.25.0,>=0.24.1 (from flet-runtime==0.19.0->flet-embed)
VERBOSE: Obtaining dependency information for httpx<0.25.0,>=0.24.1 from https://files.pythonhosted.org/packages/ec/91/e41f64f03d2a13aee7e8c819d82ee3aa7cdc484d18c0ae859742597d5aa0/httpx-0.24.1-py3-none-any.whl.metadata
VERBOSE: Using cached httpx-0.24.1-py3-none-any.whl.metadata (7.4 kB)
VERBOSE: Collecting oauthlib<4.0.0,>=3.2.2 (from flet-runtime==0.19.0->flet-embed)
VERBOSE: Using cached oauthlib-3.2.2-py3-none-any.whl (151 kB)
VERBOSE: Collecting repath<0.10.0,>=0.9.0 (from flet-core==0.19.0->flet-runtime==0.19.0->flet-embed)
VERBOSE: Using cached repath-0.9.0-py3-none-any.whl (4.7 kB)
VERBOSE: Collecting charset-normalizer<4,>=2 (from requests)
VERBOSE: Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl.metadata
VERBOSE: Using cached charset_normalizer-3.3.2-py3-none-any.whl.metadata (33 kB)
VERBOSE: Collecting idna<4,>=2.5 (from requests)
VERBOSE: Obtaining dependency information for idna<4,>=2.5 from https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl.metadata
VERBOSE: Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
VERBOSE: Collecting urllib3<3,>=1.21.1 (from requests)
VERBOSE: Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/96/94/c31f58c7a7f470d5665935262ebd7455c7e4c7782eb525658d3dbf4b9403/urllib3-2.1.0-py3-none-any.whl.metadata
VERBOSE: Using cached urllib3-2.1.0-py3-none-any.whl.metadata (6.4 kB)
VERBOSE: Collecting certifi>=2017.4.17 (from requests)
VERBOSE: Obtaining dependency information for certifi>=2017.4.17 from https://files.pythonhosted.org/packages/64/62/428ef076be88fa93716b576e4a01f919d25968913e817077a386fcbe4f42/certifi-2023.11.17-py3-none-any.whl.metadata
VERBOSE: Using cached certifi-2023.11.17-py3-none-any.whl.metadata (2.2 kB)
VERBOSE: Collecting cachecontrol>=0.12.6 (from firebase_admin)
VERBOSE: Obtaining dependency information for cachecontrol>=0.12.6 from https://files.pythonhosted.org/packages/1d/e3/a22348e6226dcd585d5a4b5f0175b3a16dabfd3912cbeb02f321d00e56c7/cachecontrol-0.13.1-py3-none-any.whl.metadata
VERBOSE: Using cached cachecontrol-0.13.1-py3-none-any.whl.metadata (3.0 kB)
VERBOSE: Collecting google-api-python-client>=1.7.8 (from firebase_admin)
VERBOSE: Obtaining dependency information for google-api-python-client>=1.7.8 from https://files.pythonhosted.org/packages/f1/76/8129340d82e782570c901e12cd870ce7a001782bf190407c0821d4aec275/google_api_python_client-2.114.0-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_api_python_client-2.114.0-py2.py3-none-any.whl.metadata (6.6 kB)
VERBOSE: Collecting google-cloud-storage>=1.37.1 (from firebase_admin)
VERBOSE: Obtaining dependency information for google-cloud-storage>=1.37.1 from https://files.pythonhosted.org/packages/3d/48/574463fbf30c7021341ab0620e56103a8c49ad864bdd177935306c057986/google_cloud_storage-2.14.0-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_cloud_storage-2.14.0-py2.py3-none-any.whl.metadata (6.1 kB)
VERBOSE: Collecting pyjwt[crypto]>=2.5.0 (from firebase_admin)
VERBOSE: Obtaining dependency information for pyjwt[crypto]>=2.5.0 from https://files.pythonhosted.org/packages/2b/4f/e04a8067c7c96c364cef7ef73906504e2f40d690811c021e1a1901473a19/PyJWT-2.8.0-py3-none-any.whl.metadata
VERBOSE: Using cached PyJWT-2.8.0-py3-none-any.whl.metadata (4.2 kB)
VERBOSE: Collecting google-api-core[grpc]<3.0.0dev,>=1.22.1 (from firebase_admin)
VERBOSE: Obtaining dependency information for google-api-core[grpc]<3.0.0dev,>=1.22.1 from https://files.pythonhosted.org/packages/d6/c9/0462f037b62796fbda4801be62d0ae3147eaeb99e2939661580c98abe3eb/google_api_core-2.15.0-py3-none-any.whl.metadata
VERBOSE: Using cached google_api_core-2.15.0-py3-none-any.whl.metadata (2.7 kB)
VERBOSE: Collecting google-cloud-firestore>=2.9.1 (from firebase_admin)
VERBOSE: Obtaining dependency information for google-cloud-firestore>=2.9.1 from https://files.pythonhosted.org/packages/0f/79/9189b4ab58f57a6464f71f0c53c6def88f90b780c790ab30a21cfe2d5311/google_cloud_firestore-2.14.0-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_cloud_firestore-2.14.0-py2.py3-none-any.whl.metadata (5.6 kB)
VERBOSE: Collecting msgpack>=0.5.2 (from cachecontrol>=0.12.6->firebase_admin)
VERBOSE: Using cached msgpack-1.0.7.tar.gz (166 kB)
VERBOSE: Installing build dependencies: started
VERBOSE: Installing build dependencies: finished with status 'done'
VERBOSE: Getting requirements to build wheel: started
VERBOSE: Getting requirements to build wheel: finished with status 'done'
VERBOSE: Installing backend dependencies: started
VERBOSE: Installing backend dependencies: finished with status 'done'
VERBOSE: Preparing metadata (pyproject.toml): started
VERBOSE: Preparing metadata (pyproject.toml): finished with status 'done'
VERBOSE: Collecting googleapis-common-protos<2.0.dev0,>=1.56.2 (from google-api-core[grpc]<3.0.0dev,>=1.22.1->firebase_admin)
VERBOSE: Obtaining dependency information for googleapis-common-protos<2.0.dev0,>=1.56.2 from https://files.pythonhosted.org/packages/f0/43/c9d8f75ddf08e2a0a27db243c13a700c3cc7ec615b545b697cf6f715ad92/googleapis_common_protos-1.62.0-py2.py3-none-any.whl.metadata
VERBOSE: Using cached googleapis_common_protos-1.62.0-py2.py3-none-any.whl.metadata (1.5 kB)
VERBOSE: Collecting protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5 (from google-api-core[grpc]<3.0.0dev,>=1.22.1->firebase_admin)
VERBOSE: Obtaining dependency information for protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5 from https://files.pythonhosted.org/packages/ff/52/5d23df1fe3b368133ec3e2436fb3dd4ccedf44c8d5ac7f4a88087c75180b/protobuf-4.25.2-py3-none-any.whl.metadata
VERBOSE: Using cached protobuf-4.25.2-py3-none-any.whl.metadata (541 bytes)
VERBOSE: Collecting google-auth<3.0.dev0,>=2.14.1 (from google-api-core[grpc]<3.0.0dev,>=1.22.1->firebase_admin)
VERBOSE: Obtaining dependency information for google-auth<3.0.dev0,>=2.14.1 from https://files.pythonhosted.org/packages/aa/42/c3873f5a4369d28eb0006bfc80837f28b18bd4e04526f55cc9c8eac7a803/google_auth-2.26.2-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_auth-2.26.2-py2.py3-none-any.whl.metadata (4.7 kB)
VERBOSE: Collecting grpcio<2.0dev,>=1.33.2 (from google-api-core[grpc]<3.0.0dev,>=1.22.1->firebase_admin)
VERBOSE: Using cached grpcio-1.60.0.tar.gz (24.8 MB)
VERBOSE: Installing build dependencies: started
VERBOSE: Installing build dependencies: finished with status 'done'
VERBOSE: Getting requirements to build wheel: started
VERBOSE: Getting requirements to build wheel: finished with status 'done'
VERBOSE: Preparing metadata (pyproject.toml): started
VERBOSE: Preparing metadata (pyproject.toml): finished with status 'done'
VERBOSE: Collecting grpcio-status<2.0.dev0,>=1.33.2 (from google-api-core[grpc]<3.0.0dev,>=1.22.1->firebase_admin)
VERBOSE: Obtaining dependency information for grpcio-status<2.0.dev0,>=1.33.2 from https://files.pythonhosted.org/packages/d9/bd/f46d6511088f314cfedc880721fd32d387b8513b22da01cf4771d7439a2b/grpcio_status-1.60.0-py3-none-any.whl.metadata
VERBOSE: Using cached grpcio_status-1.60.0-py3-none-any.whl.metadata (1.3 kB)
VERBOSE: Collecting httplib2<1.dev0,>=0.15.0 (from google-api-python-client>=1.7.8->firebase_admin)
VERBOSE: Using cached httplib2-0.22.0-py3-none-any.whl (96 kB)
VERBOSE: Collecting google-auth-httplib2>=0.1.0 (from google-api-python-client>=1.7.8->firebase_admin)
VERBOSE: Obtaining dependency information for google-auth-httplib2>=0.1.0 from https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_auth_httplib2-0.2.0-py2.py3-none-any.whl.metadata (2.2 kB)
VERBOSE: Collecting uritemplate<5,>=3.0.1 (from google-api-python-client>=1.7.8->firebase_admin)
VERBOSE: Using cached uritemplate-4.1.1-py2.py3-none-any.whl (10 kB)
VERBOSE: Collecting google-cloud-core<3.0.0dev,>=1.4.1 (from google-cloud-firestore>=2.9.1->firebase_admin)
VERBOSE: Obtaining dependency information for google-cloud-core<3.0.0dev,>=1.4.1 from https://files.pythonhosted.org/packages/5e/0f/2e2061e3fbcb9d535d5da3f58cc8de4947df1786fe6a1355960feb05a681/google_cloud_core-2.4.1-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_cloud_core-2.4.1-py2.py3-none-any.whl.metadata (2.7 kB)
VERBOSE: Collecting proto-plus<2.0.0dev,>=1.22.0 (from google-cloud-firestore>=2.9.1->firebase_admin)
VERBOSE: Obtaining dependency information for proto-plus<2.0.0dev,>=1.22.0 from https://files.pythonhosted.org/packages/ad/41/7361075f3a31dcd05a6a38cfd807a6eecbfb6dbfe420d922cd400fc03ac1/proto_plus-1.23.0-py3-none-any.whl.metadata
VERBOSE: Using cached proto_plus-1.23.0-py3-none-any.whl.metadata (2.2 kB)
VERBOSE: Collecting google-resumable-media>=2.6.0 (from google-cloud-storage>=1.37.1->firebase_admin)
VERBOSE: Obtaining dependency information for google-resumable-media>=2.6.0 from https://files.pythonhosted.org/packages/b2/c6/1202ef64a9336d846f713107dac1c7a0b016cb3840ca3d5615c7005a23d1/google_resumable_media-2.7.0-py2.py3-none-any.whl.metadata
VERBOSE: Using cached google_resumable_media-2.7.0-py2.py3-none-any.whl.metadata (2.2 kB)
VERBOSE: Collecting google-crc32c<2.0dev,>=1.0 (from google-cloud-storage>=1.37.1->firebase_admin)
VERBOSE: Using cached google-crc32c-1.5.0.tar.gz (12 kB)
VERBOSE: Installing build dependencies: started
VERBOSE: Installing build dependencies: finished with status 'done'
VERBOSE: Getting requirements to build wheel: started
VERBOSE: Getting requirements to build wheel: finished with status 'done'
VERBOSE: Preparing metadata (pyproject.toml): started
VERBOSE: Preparing metadata (pyproject.toml): finished with status 'done'
VERBOSE: Collecting cryptography>=3.4.0 (from pyjwt[crypto]>=2.5.0->firebase_admin)
VERBOSE: Using cached cryptography-41.0.7.tar.gz (630 kB)
VERBOSE: Installing build dependencies: started
VERBOSE: Installing build dependencies: finished with status 'error'

Packaging Update: https://flet.dev/blog/flet-packaging-update


Escaping lost from pre-escaped query

JSON.stringify escapes all special characters in string-values:
const query = UPDATE test SET jsonStr ='{"newline":"new\\nline"} WHERE id = 1;
The db result is an unescaped newline when the query is executed by pool.query while it is escaped when the same query is executed in mysql-cli
MySql log also shows that one backslash is missing when executed by a pool.query:
UPDATE test SET jsonStr = '{"newline":"new\nline"}' WHERE id = 1;   ← pool.query
UPDATE test SET jsonStr = '{"newline":"new\\nline"}' WHERE id = 1; ← mysql-cli

Hi @terje-rosenlund sorry you are having trouble. Can you provide both the DDL of the table you are trying to insert that in to as well as specific JavaScript to reproduce the issue? Above that you included is not actual JavaScript and to make it so, I may accidentally introduce differences that may affect the ability to reproduce exactly what is happening here.

Attached testEscape.js (DDL included, db password removed)
testEscape.zip

Sorry for my impatience but this problem blocks my progress
It would be nice if you could tell me if this is a bug or me not using it correctly

Hi @terje-rosenlund apologies, as I didn't see your original response. I just took a look and the issue is that you need to you add extra backslashes for JavaScript itself.
You see, in your mysql CLI example you wrote
UPDATE test SET jsonStr ='{"newline":"new\\nline\\ttab"}' WHERE id = 1

Which will send that to the server. But then you wrote the same thing in a JavaScript file. JavaScript itself will interpret backslashes in strings, so to actually match the number of backslashes you typed into the MySQL CLI in JavaScript, you would need to escape them (double them up). This is a property of the JavaScript language and not related to this library.
const query = `UPDATE testEscape SET jsonStr ='{"newline":"new\\\\nline\\\\ttab"}' WHERE id = 1;`; // ← Double slash: \\n

Thank you for your answer which led me to a working solution
I will however add a comment for others coming here:
It is not a good idè to use javascript to do the escaping for mysql
Even though I got it to work for the most part I got problems with json strings containing single and double quotation marks
The solution was to use one of the recommended methods with placeholders and data or the connection.escape method which handles all special characters and is much safer in regards to injection attacks


VK_KHR_acceleration_structure commands (non-host)

This doesn't include any integration work, it's only the serialisation.

In particular we want to ensure we can recreate ASs easily with the geometry info we're going to be storing. This may mean doing things like switching updates into pure builds, and suppressing/omitting compactions.

I'll look at this now.


Report OVN network state in /1.0/networks/NAME/state

Currently trying to fetch the network state for an OVN network returns:
stgraber@dakara:~$ lxc query s-dcmtl-cluster:/1.0/networks/default/state?project=core
Error: Network interface "default" not found

Compare to what we get for a traditional bridge:
stgraber@dakara:~$ lxc query /1.0/networks/lxdbr0/state
{
	"addresses": [
		{
			"address": "<IP_ADDRESS>",
			"family": "inet",
			"netmask": "24",
			"scope": "global"
		},
		{
			"address": "2602:fc62:b:250::1",
			"family": "inet6",
			"netmask": "64",
			"scope": "global"
		},
		{
			"address": "fe80::216:3eff:fe36:1f28",
			"family": "inet6",
			"netmask": "64",
			"scope": "link"
		}
	],
	"bond": null,
	"bridge": {
		"forward_delay": 1500,
		"id": "8000.00163e361f28",
		"stp": false,
		"upper_devices": [
			"tapf59a5d19",
			"tapfb01853f",
			"veth2cd1b8fd",
			"veth5ef8d6a3",
			"veth6063b243"
		],
		"vlan_default": 1,
		"vlan_filtering": true
	},
	"counters": {
		"bytes_received":<PHONE_NUMBER>3,
		"bytes_sent":<PHONE_NUMBER>37,
		"packets_received": 28723462,
		"packets_sent": 43057416
	},
	"hwaddr": "00:16:3e:36:1f:28",
	"mtu": 1500,
	"state": "up",
	"type": "broadcast",
	"vlan": null
}

OVN networks are a bit special but we should still be able to:

Compute the addresses section from the known virtual router addresses
Maybe fill in the counters? (@tomponline is there such a thing on an OVN router?)
Fill in the hwaddr, mtu, state and type
Add a new ovn section which should then expose what server is currently handling the router traffic for the network (@tomponline do you have details on how to fetch that?)

@tomponline anything else worth adding?

@stgraber I've assigned this to myself for now as I'll need to spend some time researching to answer those questions.

@tomponline unassigned you so this shows up as available for someone to tackle, at which point we'll provide mentoring/guidance as usual.

Hello, I am a student at UT Austin taking Virtualization - Could me and @BlakeRomero I try tackling this issue?

@tomponline unassigned you so this shows up as available for someone to tackle, at which point we'll provide mentoring/guidance as usual.

Sounds good.

Hello, I'm having a bit of trouble starting on this - where would most of the relevant code be located? Also, what steps do I need to perform before I can replicate the issue?

For basic setup of OVN, the standalone LXD OVN setup section at https://linuxcontainers.org/lxd/docs/master/networks#network-ovn should help you get such a network online.
Once you do, you should be able to reproduce the issue with the lxc query command I used above.
As for what will need to be done here, I suspect we'll want to:

Change networkStateGet in networks.go to instead:

Attempt to load the network using network.LoadByName (see networkStateGet for an example)
If not found, use the current logic (resources.GetNetworkState) so we don't break querying non-LXD interfaces
If found, then call n.State() which will be a new function you'll introduce to lxc/network/
That State function will by default just call resources.GetNetworkState (should be done through driver_common.go)
Then the driver_ovn implementation of it is what will need to actually hit OVN and pull in some relevant network details.

That last step is where this chunk of the initial issue comes into play:
    Compute the addresses section from the known virtual router addresses
    Maybe fill in the counters? (@tomponline is there such a thing on an OVN router?)
    Fill in the hwaddr, mtu, state and type
    Add a new ovn section which should then expose what server is currently handling the router traffic for the network (@tomponline do you have details on how to fetch that?)

So you'd start by grabbing the OVN network information to fill in the addresses, possibly counters, hwaddr, MTU, state and type part of the struct. Then you'd extend api.NetworkState a bit (shared/api/network.go) to add a OVN member (NetworkStateOVN) which will include additional OVN-specific informations. For now I'd just start by tracking what server is acting as the gateway for that network.
I don't have exact details for how to fetch and fill the OVN specific part, hopefully @tomponline can give you some pointers for that, though you have quite a bit of reshuffling to do before you can really get to that part and you can always start by hardcoding some values to make sure you have the rest of the logic correct.

@stgraber @andrewli6504 let me know when you get onto the OVN specific parts if I've not had chance before that to back to you on these as I don't have any answers right now so would need to spend some time digging into it.

Have you had time to look more into the OVN parts yet @tomponline ?

So you'd start by grabbing the OVN network information to fill in the addresses, possibly counters, hwaddr, MTU, state and type part of the struct. Then you'd extend api.NetworkState a bit (shared/api/network.go) to add a OVN member (NetworkStateOVN) which will include additional OVN-specific informations. For now I'd just start by tracking what server is acting as the gateway for that network.

hwaddr: "mac" field from lr-lrp-ext (Logical_Router_Port)
mtu: maybe "mtu" field from ipv6_ra_configs  on lr-lrp-int
state: up
type: broadcast
ovn

chassis: map lr-lrp-ext in Logical_Router_Port table of SB database to name field in Chassis table

@tomponline I haven't found a way to figure out the chassis from NB alone so looks like we need to poke SB which I don't think we've done before? Can you think of a way around that?
@andrewli6504 as mentioned before, you should already be able to put a lot of things into place even before hitting any of that OVN stuff, have you done all of that already? If so, the above should get you some information on how to fill hwaddr, mtu, state and type while we wait for @tomponline to look into the chassis bit.

I've spent a few hours this morning on this and so far the only way I've figured out how to detect the active gateway chassis is as follows:
Assuming you have an OVN central server (called ovndb) and 3 OVN host servers (called: ovn1, ovn2, and ovn3) in an OVN setup (their chassis IDs can be got via ovs-vsctl get open_vswitch . external_ids:system-id on each server).
ovn1: OVS: d7ddbc15-52b4-466e-b6da-c1762b3dcef2
ovn2: OVS: 038fcc8a-8293-4a96-bebf-cc8a454706c0
ovn3: OVS: cd58feaa-4510-405c-b2fd-f3ab99d326c2

On the ovndb server we can see these in the logical northbound database along with their northbound DB _uuid and priorities as follows:
ovn-nbctl list ha_chassis
_uuid               : 69935c8d-87c3-4af4-bddc-4614f7411bce
chassis_name        : "cd58feaa-4510-405c-b2fd-f3ab99d326c2"
external_ids        : {}
priority            : 6437

_uuid               : ab770942-e6d6-4b6e-a8bf-4b915b550cea
chassis_name        : "038fcc8a-8293-4a96-bebf-cc8a454706c0"
external_ids        : {}
priority            : 8742

_uuid               : 3a37625f-fb76-4122-b87b-be0641d78aec
chassis_name        : "d7ddbc15-52b4-466e-b6da-c1762b3dcef2"
external_ids        : {}
priority            : 11503

Additionally, as we can have multiple OVN networks each with their own chassis, we need to ensure we are only looking at the chassis for our network. To do this, get find the chassis group for the network:
ovn-nbctl list ha_chassis_group
_uuid               : 299462ef-4fe3-40cc-b6b4-72e36d6f3b5b
external_ids        : {}
ha_chassis          : [3a37625f-fb76-4122-b87b-be0641d78aec, 69935c8d-87c3-4af4-bddc-4614f7411bce, ab770942-e6d6-4b6e-a8bf-4b915b550cea]
name                : lxd-net4

This is a mapping of network name to ovn northbound chassis _uuid values from the previous table.
So now we have the following mappings for lxd-net4 chassis:
ovn1: OVS: d7ddbc15-52b4-466e-b6da-c1762b3dcef2 -> OVN-NB: 3a37625f-fb76-4122-b87b-be0641d78aec
ovn2: OVS: 038fcc8a-8293-4a96-bebf-cc8a454706c0 -> OVN-NB: ab770942-e6d6-4b6e-a8bf-4b915b550cea
ovn3: OVS: cd58feaa-4510-405c-b2fd-f3ab99d326c2 -> OVN-NB: 69935c8d-87c3-4af4-bddc-4614f7411bce

Next we need to look at the ovn southbound database to see the active chassis for the gateway.
For this I've found that the port_binding table (https://manpages.ubuntu.com/manpages/focal/man5/ovn-sb.5.html#port_binding table) contains a type field and that for the active gateway's external logical router port has it set to chassisredirect, along with the ha_chassis_group and chassis values set indicating the chassis group and chassis.
This seems to change, even if I forcefully kill one of the OVN members rather than cleanly shutting it down.
But, just to make things even more complicated, the OVN southbound database doesn't use the same _uuid values for the chassis IDs as the northbound database, so we would have to go through another level of indirection using the southbound ha_chassis table (https://manpages.ubuntu.com/manpages/focal/man5/ovn-sb.5.html#ha_chassis table).
ovn-sbctl list ha_chassis
_uuid               : fb7038aa-f114-45df-886c-2f3c4a42da24
chassis             : 578d33be-bb2d-449e-b4d2-02ba2df926b5
external_ids        : {chassis-name="cd58feaa-4510-405c-b2fd-f3ab99d326c2"}
priority            : 6437

_uuid               : bf63e7d2-d88a-4312-900c-5d31b016686f
chassis             : b71e94b7-125f-4575-b644-3b80eb95b8b0
external_ids        : {chassis-name="d7ddbc15-52b4-466e-b6da-c1762b3dcef2"}
priority            : 11503

_uuid               : ff7623a2-c37e-4912-9a70-00cec5cbe00d
chassis             : e9fd1be4-2265-4e89-8efb-e1a2c50ee5f3
external_ids        : {chassis-name="038fcc8a-8293-4a96-bebf-cc8a454706c0"}
priority            : 8742

So we then have the following mappings:
ovn1: OVS: d7ddbc15-52b4-466e-b6da-c1762b3dcef2 -> OVN-NB: 3a37625f-fb76-4122-b87b-be0641d78aec -> OVN-SB:  bf63e7d2-d88a-4312-900c-5d31b016686f
ovn2: OVS: 038fcc8a-8293-4a96-bebf-cc8a454706c0 -> OVN-NB: ab770942-e6d6-4b6e-a8bf-4b915b550cea -> OVN-SB: ff7623a2-c37e-4912-9a70-00cec5cbe00d
ovn3: OVS: cd58feaa-4510-405c-b2fd-f3ab99d326c2 -> OVN-NB: 69935c8d-87c3-4af4-bddc-4614f7411bce -> OVN-SB: fb7038aa-f114-45df-886c-2f3c4a42da24

Although we may be table to take a shortcut, as the original OVS chassis name is stored in the external_ids in the OVN-SB external_ids fields.

In order to do this LXD will need to access the OVN southbound database, which as @stgraber rightly says we've not needed to do before. However OVN does require that each OVN server has the southbound connection details stored in the OVS database on each server, and as a LXD OVN network must exist on each cluster member, we should be able to get access to the OVS connection string by using the ovs-vsctl get open_vswitch . external_ids:ovn-remote return value. We would need to explore what this value can contain in cluster setups too, to support the variety of OVN setups that can occur.

Have emailed @fnordahl about this too.

@tomponline what was I missing in my approach to find the chassis?

chassis: map lr-lrp-ext in Logical_Router_Port table of SB database to name field in Chassis table

This was using only the SB database to trace the logical router port for a network to its chassis and then getting the name of the system from the SB chassis table.

Sorry I missed that bit of your post (was flitting about between several topics at the same time and must've not clocked you were proposing a solution, thought you were just asking how to achieve it).
I'm not quite following your proposal though, do you have a step by step? Also from what I could see there is a difference between cleanly shutting down a server (where the chassis entries are removed) and uncleanly shutting down a server (where the chassis entries are left).

I don't have an OVN system to poke at right now (on my phone) but from what I remember I was just looking at two tables in the SB database.
In Logical_Router_Port, you locate by name the entry for your network's external router port (netX-lr-lrp-ext). Then from that entry you get the chassis id field and then line that up with the matching entry in the Chassis table, finally you get the name of the server from that Chassis entry.

So the steps seem to be:

Get SB connection string with ovs-vsctl get open_vswitch . external_ids:ovn-remote
From the SB database, pull Port_Binding, in there, locate cr-lxd-net<ID>-lr-lrp-ext
Pull the Chassis table from the SB database, find the record matching the chassis field in the Port_Binding table and extract the hostname field from that Chassis record

You can load the specific port using ovn-sbctl find port_binding logical_port=cr-lxd-net<ID>-lr-lrp-ext

@stgraber yep that seems to work great, even with forcefully killing a server. :)

@andrewli6504 @BlakeRomero hello, just wanted to check if you still intend to work on this or if we should unassign it so someone else can take a crack at it?

@markylaing going to give you that one as getting some familiarity with OVN would be nice :)


Dosen't work on Mint Cinamon 19 dlib issue

I have installed all correctly, but when i try to run "sudo howdy add", terminal give to me an error:
zenek@zenek:~$ sudo howdy add
Traceback (most recent call last):
  File "/lib/security/howdy/compare.py", line 18, in <module>
    import dlib
ModuleNotFoundError: No module named 'dlib'
Unknown error: 1
[sudo] password for zenek:
No module named 'dlib'

Can't import the dlib module, check the output of
pip3 show dlib

I already have tryed to install the dlib and dosent work ... can someone help me ?

What's the output of pip3 show dlib?

Nothing, just return zenek$zenek.
Thanks for reply!
Il mar 12 mar 2019, 14:09 boltgolt<EMAIL_ADDRESS>ha scritto:

What's the output of pip3 show dlib?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/boltgolt/howdy/issues/168#issuecomment-471993335, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AiHGFkplTmh0BEWzAe_VLvroGd1qdfdYks5vV6cVgaJpZM4bqeAJ
.

Could run pip3 install dlib and try sudo howdy add after that?

zenek@zenek:~$ pip3 install dlib
Collecting dlib
Using cached
https://files.pythonhosted.org/packages/05/57/e8a8caa3c89a27f80bc78da39c423e2553f482a3705adc619176a3a24b36/dlib-19.17.0.tar.gz
Installing collected packages: dlib
Running setup.py install for dlib ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools,
tokenize;file='/tmp/pip-install-6gh5_61l/dlib/setup.py';f=getattr(tokenize,
'open', open)(file);code=f.read().replace('\r\n',
'\n');f.close();exec(compile(code, file, 'exec'))" install --record
/tmp/pip-record-tjggz1so/install-record.txt
--single-version-externally-managed --compile:
running install
running build
running build_py
package init file 'dlib/init.py' not found (or not a regular file)
running build_ext
Building extension for Python 3.6.7 (default, Oct 22 2018, 11:32:17)
Invoking CMake setup: 'cmake
/tmp/pip-install-6gh5_61l/dlib/tools/python
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-6gh5_61l/dlib/build/lib.linux-x86_64-3.6
-DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_BUILD_TYPE=Release'
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python3 (found version "3.6.7")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- pybind11 v2.2.2
-- Using CMake version: 3.10.2
-- Compiling dlib version: 19.17.0
-- SSE4 instructions can be executed by the host processor.
-- AVX instructions can be executed by the host processor.
-- Enabling AVX instructions
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for XOpenDisplay in
/usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in
/usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so -
found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Looking for png_create_read_struct
-- Looking for png_create_read_struct - found
-- Looking for jpeg_read_header
-- Looking for jpeg_read_header - found
-- Searching for BLAS and LAPACK
-- Searching for BLAS and LAPACK
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'cblas'
--   No package 'cblas' found
-- Checking for module 'lapack'
--   Found lapack, version 0.2.20+ds
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void*
-- Check size of void* - done
-- Found OpenBLAS library
-- Looking for sgetrf_single
-- Looking for sgetrf_single - found
-- Using OpenBLAS's built in LAPACK
-- Looking for cblas_ddot
-- Looking for cblas_ddot - found
-- Looking for sgesv
-- Looking for sgesv - not found
-- Looking for sgesv_
-- Looking for sgesv_ - not found
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR
CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (Required is at
least version "7.5")
-- DID NOT FIND CUDA
-- Disabling CUDA support for dlib.  DLIB WILL NOT USE CUDA
-- C++11 activated.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/boltgolt/howdy/issues/168#issuecomment-472481602, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AiHGFsLIaoylcaKJritwuewk3SuDg-O6ks5vWR3mgaJpZM4bqeAJ
.

Don't forget the sudo at the start: sudo pip3 install dlib

Finally fix it !
Il mer 13 mar 2019, 16:48 boltgolt<EMAIL_ADDRESS>ha scritto:

Could run pip3 install dlib and try sudo howdy add after that?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/boltgolt/howdy/issues/168#issuecomment-472481602, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AiHGFsLIaoylcaKJritwuewk3SuDg-O6ks5vWR3mgaJpZM4bqeAJ
.

I was missing g++ to install dlib. So...
sudo apt-get install build-essential
sudo pip3 install dlib
sudo howdy add -U my_user

VIDEOIO ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
Please look straight into the camera
Traceback (most recent call last):
File "/usr/local/bin/howdy", line 89, in
import cli.add
File "/lib/security/howdy/cli/add.py", line 147, in
gsframe = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.1.0) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook
os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_lib_security_howdy_cli.py.0.crash'
Original exception was:
Traceback (most recent call last):
File "/usr/local/bin/howdy", line 89, in
import cli.add
File "/lib/security/howdy/cli/add.py", line 147, in
gsframe = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.1.0) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

I was missing g++ to install dlib. So...
sudo apt-get install build-essential
sudo pip3 install dlib
sudo howdy add -U my_user

Worked for me running Linux Mint 19 w/ Logitech Brio

Thank @faliure that helps me !

Helllo
Thank you for this app
I succeeded to install after following all the recommendation as I got the same errors.
I am newbie in Linux envir :)
I run the add for face and  the cam is working and adding face.
The problem that when logging the cam is on and seems flashing my face but there is no longin, I need to add my password to log to my session.
Please advise
thanks

Hi, @agridev
Try to add multiple capture of your face with howdy add
Be careful with backlight when camera is recognizing you (lot's of failure for me when a window is behind me)
Does it works when you run sudo on command line ?

Hi, @agridev
Try to add multiple capture of your face with howdy add
Be careful with backlight when camera is recognizing you (lot's of failure for me when a window is behind me)
Does it works when you run sudo on command line ?

Hi @pwozniak89
Thank you for the reply.
Yes I added a lot of faces by the sudo command to add.
I do not understand what do you mean by "Does it works when you run sudo on command line ?" does this mean when adding faces?
Yes it works to add faces, it works to detect faces when authorization to add software or any other authentification request needed, but only thing not working is logging to sessions.
bests
P.S I am not so expert in command line and linux I am back to linux since year and would like to forget windows (the only thing that makes me installing windows is formatting issues for word documents when exchanged with thirdparties)

I was missing g++ to install dlib. So...
sudo apt-get install build-essential
sudo pip3 install dlib
sudo howdy add -U my_user

Worked for me running Linux Mint 19 w/ Logitech Brio

Worked for me too (Linux Mint 19.3 w/ HP Zbook, dlib-19.20.0).
(btw) great work!


Make yii\test\InitDbFixture work with non-SQL DBMS

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
n/a

Fixed issues
fixes #16091

Merged. Thanks!


bump to v2.5.1

bump to v2.5.1

let's wait for https://github.com/activemerchant/offsite_payments/pull/239 to pass first


test: remove TestRunWhenEnterprise

Remove TestRunWhenEnterprise since all it's doing is checking wether the version information retrieved via client.Root() is an enterprise version when RunWhenEnterprise() check passes which uses the same methods underneath to check whether the used version of Kong Gateway is indeed enterprise 🤯
Fixes #212

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: pmalek:x: mlavaccaYou have signed the CLA already but the status is still pending? Let us recheck it.


Pin sidebar with a button

Hey, I just made a Pull Request!
Pin sidebar with a button. Keep the previous state in localStorage.

Dark mode:

Light mode:

:heavy_check_mark: Checklist

[X] All tests are passing yarn test
[X] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[X] Prettier run on changed files
[X] Tests added for new functionality
[ ] Regression tests added for bug fixes

Fixes https://github.com/spotify/backstage/issues/907

This works exactly as I imagined it, great work @adaszyn

@Rugvip wanna take another look?


1.11.x does not listen on port

Gitea version (or commit ref): 1.10.1, 1.11.3, 1.11.4
Git version: 2.7.4 (server)
Operating system: Ubuntu 16.04.6 LTS
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Just as with issue #10644, gitea will not listen on a port to accept connections. This was after an upgrade from 10.0.1. Waiting did not help. Rebooting did not help either.
I started gitea manually (gitea web), and there are no errors or warnings shown. There's also nothing in particular in the log. It starts up fine, it just won't be listening to any connections. netstat does not show gitea either. Trying a git pull through SSH also fails.
Restoring the previous version works right away, and it does show up in netstat.
I haven't found anything about settings having changed. Has there been a change in networking in Go, Macaron or Gitea you know about that could cause this kind of problem? Maybe settings that do work with 1.10.1 no longer work with 1.11.x? Could it be Linux version related? It's a really bad time to try a Linux upgrade on a remote virtual machine.
I'll try to test it in isolation tomorrow (separate process, different port, different versions). Anything else to try?

You're probably under SELinux. If you've used port labeling to allow Gitea to open a restricted port when you installed the first instance, you'll need to use it again every time you change the executable, since port labeling works by the executable signature and not by its path or permissions. That's also why restoring the previous versions would make it work again.

Nope, not port labeling, but thanks for the suggestion. I'm using Ubuntu and I've already performed 13 successful updates since version 1.3.3 (over 2 years ago) up to 1.10.1 (last december) without a hitch. 1.11.3 is the first version ever to give issues. That's why I wonder what could have changed in the last few months that could cause this behaviour.

We need to see some logs.

Strange. When I looked at the log in the server itself I couldn't find anything in particular. Now I have it open on my own machine, and now I see what's the problem: the location of the certificate.
It's trying to load it from custom/, but it's located in the root map. In app.ini it's a relative path: ssl/name.crt. The change was then the base map used to look up for the certificate. A link should solve this, but it's now too late to start messing up with the server. I'll try again tomorrow. Any other base map changes I should be aware of?

Sorry, this is a breaking change for SSL cert paths as of 1.11 described in the Changelog here:
https://blog.gitea.io/2020/02/gitea-1.11.0-is-released/#1-11-0
"Make CertFile and KeyFile relative to CustomPath (#9868) (#9874)"
Theres no other changes like that (this was just the SSL path not behaving as it should have before). Would probably just recommend using full paths always to 100% avoid any ambiguity.


Guard against a sudden drop of certificates in the keystore

jdk8u181-b13 was released lacking a lot of commonly used CA certificates, notably the ones used by Amazon AWS (Starfield CA, e.g kinesis.eu-west-1.amazonaws.com) and Google (Globalsign CA, e.g oauth2.googleapis.com and accounts.google.com).
The certificates are back in the nightly builds, but tests should be added that guard against this happening again in the future.
Ref: #694 #676 #688

Some background to this: OpenJDK 8 doesn't come with any certs and so at the time of the u181 release we backported the OpenJDK 10 cacerts (which didn't cover Amazon et al).  Now that OpenJDK 11 is out we backport its cacerts which do include the Amazon et al ones.
That said we could guard against certs dropping (e.g. when we backport from 12+)

Obsolete with https://github.com/AdoptOpenJDK/openjdk-build/pull/2033.


Shutdown appmaster when not needed

When we have an app(appmaster) running and it doesn't manage any containers we should gracefully shut it down after a configured timeout period. Currently if user undeploy all streams appmaster and app is left running and user needs to use CLI to kill it.

Plan is now to try to do this within appmaster so that if there has been no activity for defined time, appmaster closes itself gracefully.

oops!


Quota (missing status service) causing emails to be rejected with "Recipient address rejected: Server configuration problem;"

Context
Recently after an update, external email coming into my domain started failing with "Recipient address rejected: Server configuration problem;"
Just before this log error, postfix also logged:
ESC[36mmail              |ESC[0m Apr 29 14:16:25 mail postfix/smtpd[1701]: warning: problem talking to server localhost:65265: Cannot assign requested address
ESC[36mmail              |ESC[0m Apr 29 14:16:26 mail postfix/smtpd[1701]: warning: connect to localhost:65265: Cannot assign requested address
ESC[36mmail              |ESC[0m Apr 29 14:16:26 mail postfix/smtpd[1701]: warning: problem talking to server localhost:65265: Cannot assign requested address
ESC[36mmail              |ESC[0m Apr 29 14:16:26 mail postfix/smtpd[1701]: NOQUEUE: reject: RCPT from a24-22.smtp-out.us-west-2.amazonses.com[<IP_ADDRESS>]: 451 4.3.5 <xxxxxx>: Recipient address rejected: Server configuration problem<EMAIL_ADDRESS>to=<xxxxxx> proto=ESMTP helo=<a24-22.smtp-out.us-west-2.amazonses.com>

Cannot receive email from external sources
Expected Behavior
I should be able to receive emails from external sources
Actual Behavior
My mail server rejects the email instead.
Possible Fix
I dug through the configs, and believe this is all related to the recent addition to support quotas.  The /etc/postix/main.cf includes this line:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_policy_service unix:private/policyd-spf, reject_unauth_pipelining, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_recipient_domain, check_policy_service inet:localhost:65265, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net

The check_policy_service inet:localhost:65265 is failing as there is nothing running on this port.   Digging through the change on git, I can see the quota-service should be running on this port, but in my setup, there is no file including the quota in the plugins, and no service running.
So I think the if statement below in start_mailserver.sh needs to factor in no quotas, and not assume the service is running?
 if [ "$SMTP_ONLY" = 1 ]; then
      sed -i "s/check_policy_service inet:localhost:65265//g" /etc/postfix/main.cf
    else
      sed -i "s/reject_unknown_recipient_domain, reject_rbl_client zen.spamhaus.org/reject_unknown_recipient_domain, check_policy_service inet:localhost:65265, reject_rbl_client zen.spamhaus.org/g" /etc/postfix/main.cf
    fi

Steps to Reproduce

I am not really sure, for me it seem docker pull was the actual trigger.

Your Environment
My env has the following file:
root@mail:/# ls -l /etc/dovecot/conf.d/90-quota.conf.disab
-rw-r--r-- 1 root root 1316 Apr 29 07:15 /etc/dovecot/conf.d/90-quota.conf.disab

e.g. there is no output for these commands from inside the mail container.
root@mail:/# grep -r quota /etc/dovecot/ | grep plugin
root@mail:/#
root@mail:/# find . -name dovecot-quotas.cf
root@mail:/#

I have my users stored in openldap, and have SASL auth in use as well.
If it helps, sending email from my local domain to another user on my local domain somehow delivers without issue, and I can imap in to receive the email, so ldap, etc. seems to be working fine (and was prior to the update).

I have my users stored in openldap, and have SASL auth in use as well.
That's a use case I've not covered.
The bug is related to:
https://github.com/tomav/docker-mailserver/blob/master/target/start-mailserver.sh#L665

Copying this line at https://github.com/tomav/docker-mailserver/blob/master/target/start-mailserver.sh#L639 should solve the bug.
I'll submit a PR for fixing this.
Thank you!

Tests are running, if they pass @erik-wramner  could you merge? Thanks

@youtous sure but I think there is a bug. At least in the git diff it looks as if there is an if-statement that should be closed earlier. Please check.


Unable to reset executionOrder of cells

VS Code Version:OSS
OS Version:Mac

Steps to Reproduce:
1.Steps can be found here
https://github.com/microsoft/vscode/pull/116957
@rebornix @jrieken /cc

Does this issue occur when all extensions are disabled?: N/A

Solution - create new object instead of using .with

Let's keep this open. I still wanna look into a fix, I just don't know how and metadata might change with future changes that we have in mind

@jrieken please see my comments here https://github.com/microsoft/vscode/pull/116957#discussion_r579550975

Maybe I'm just missing something in the linked PR, but I don't see repro steps there.
@jrieken what's a good way to verify this?

This cannot be verified because the code that I fixed doesn't exist anymore. We significantly refactored how execution works and it isn't represented as metadata anymore. Moving this off the milestone


build: load some resources from CDNs, instead of bundling

Please provide an option to load some resources from CDNs, instead of bundling everything.
example: font-awesome, or some JS files in vendor.js
In the demo, vendor.js is 447kb. Using CDNs would ease the load on app server.
http://coreui.io/demo/Vue_Demo/#/dashboard
Thanks

+1 for this


Nothing happens when double-clicking Electron app

I have an app I'm working on:
https://github.com/Overload119/smilelapse
I run packager with the following command
electron-packager . Smilelapse --overwrite
It outputs the .app file but whenever I double-click the .app file nothing happens.
The app doesn't start.
Curiously, if I enter the app's package contents, and find the raw bin file, the app runs normally.

Thanks for filing an issue! In order to help you with your problem, we're going to need more information about it. In particular:

Console output when you run electron-packager with the environment variable DEBUG=electron-packager.

FWIW, I tried it on Linux x64 and aside from there not being an app.dock to hide, a file dialog opened for me.

Thanks for the quick response.
  electron-packager Electron Packager 8.2.0 +0ms
  electron-packager Node v5.7.0 +3ms
  electron-packager Host Operating system: darwin (x64) +2ms
  electron-packager Packager Options: {"_":[".","Smilelapse"],"all":false,"deref-symlinks":true,"download":{"strictSSL":true},"overwrite":true,"prune":true,"dir":".","name":"Smilelapse","protocols":[]} +0ms
  electron-packager Target Platforms: darwin +0ms
  electron-packager Target Architectures: x64 +0ms
  electron-packager Inferring app-version from version in /Users/amirsharif/faceonion/package.json +13ms
  electron-packager Inferring target Electron version from electron in /Users/amirsharif/faceonion/package.json +5ms
  electron-packager Application name: Smilelapse +1ms
  electron-packager Target Electron version: 1.4.5 +0ms
  electron-packager Ignored path regular expressions: +0ms [ '/node_modules/electron($|/)',
  '/node_modules/electron-prebuilt($|/)',
  '/node_modules/electron-packager($|/)',
  '/\\.git($|/)',
  '/node_modules/\\.bin($|/)',
  '\\.o(bj)?$' ]
  electron-packager Downloading Electron with options {"strictSSL":true,"platform":"darwin","arch":"x64","version":"1.4.5"} +14ms
Packaging app for platform darwin x64 using electron v1.4.5
  electron-packager Creating /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64-template +411ms
  electron-packager Extracting /Users/amirsharif/.electron/electron-v1.4.5-darwin-x64.zip to /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64-template +1ms
  electron-packager Initializing app in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64 from /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64-template template +2s
  electron-packager Ignored paths based on the out param: +4ms [ '/Users/amirsharif/faceonion/Smilelapse-darwin-ia32',
  '/Users/amirsharif/faceonion/Smilelapse-darwin-x64',
  '/Users/amirsharif/faceonion/Smilelapse-darwin-armv7l',
  '/Users/amirsharif/faceonion/Smilelapse-linux-ia32',
  '/Users/amirsharif/faceonion/Smilelapse-linux-x64',
  '/Users/amirsharif/faceonion/Smilelapse-linux-armv7l',
  '/Users/amirsharif/faceonion/Smilelapse-mas-ia32',
  '/Users/amirsharif/faceonion/Smilelapse-mas-x64',
  '/Users/amirsharif/faceonion/Smilelapse-mas-armv7l',
  '/Users/amirsharif/faceonion/Smilelapse-win32-ia32',
  '/Users/amirsharif/faceonion/Smilelapse-win32-x64',
  '/Users/amirsharif/faceonion/Smilelapse-win32-armv7l' ]
  electron-packager Running npm prune --production +7s
  electron-packager Renaming Electron to Smilelapse in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/MacOS +7s
  electron-packager Renaming Electron Helper to Smilelapse Helper in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS +2ms
  electron-packager Renaming Electron Helper.app to Smilelapse Helper.app in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/Frameworks +1ms
  electron-packager Renaming Electron Helper EH to Smilelapse Helper EH in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper EH.app/Contents/MacOS +0ms
  electron-packager Renaming Electron Helper EH.app to Smilelapse Helper EH.app in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Renaming Electron Helper NP to Smilelapse Helper NP in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/Frameworks/Electron Helper NP.app/Contents/MacOS +1ms
  electron-packager Renaming Electron Helper NP.app to Smilelapse Helper NP.app in /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64/Electron.app/Contents/Frameworks +0ms
  electron-packager Moving /var/folders/2z/5_kcl_dx0qv1ky6b8g_j9x2r0000gn/T/electron-packager/darwin-x64/Smilelapse-darwin-x64 to /Users/amirsharif/faceonion/Smilelapse-darwin-x64 +1ms
Wrote new app to /Users/amirsharif/faceonion/Smilelapse-darwin-x64

Interestingly, I found that I get an error (although it has since gone away).
I managed to get it to popup once on load, but the error seems to be with this line:
tray = new Tray('./media/wink 20x20Template.png');
It said something along the lines of failure to convert.

I think someone with a Mac is needed to debug this one, since I can't reproduce this behavior on Linux.

You'll get a reasonable output if you try and run the app in terminal, e.g.:
path/to/packaged.app/Contents/MacOS/App_name

In my case it's related to #241 which is, unfortunately, unanswered (I need to pass -js-flags='--harmony_async_await').

No one's come forward to reproduce and debug this problem (I can't, I don't own a Mac), so I'm going to close it. I will be happy to reopen it if someone in the community wants to look into it.


Exclude for intersecting types

Search Terms
Exclude for intersection types.
Suggestion
Currently we have Exclude<T, U> and others - great job! I can finally clean up my code and work more efficiently. ;) That said, Exclude only works on union types.
type T02 = Exclude<string | number | (() => void), Function>;  // string | number

This does not work for intersection types:
type T02 = Exclude<string & number & (() => void), Function>;  // string & number

I think some expected consistency would be nice,  In the code I was working on (factory types) I was returning the private class type AND an additional type that adds factory methods.  I do not want other classes to inherit this, so I need the original PRIVATE type (as in the type itself is not officially exported in the namespace [simply to not pollute the namespaces]).  Currently the workaround is to store the original type in a property and reference that later (see example).
Use Cases
For use with factory patterns.  I want to:

Create namespaces with exposed factory types.
Not pollute the namespaces with the private class types.
Allow 3rd-parties to "inherit" from these factory types - which requires decomposing the factory intersection types into only the class type.
Inheriting from the private class type should provide the same original constructor signature.

The workaround currently is to store the original private (hidden) type in an exposed property of the factory type.
Examples
Example also here: https://stackoverflow.com/questions/50170849/how-can-i-decompose-intersecting-types-in-typescript
File1.ts - My system file.
namespace A {
   class $PrivateTypeA { }
   export var TypeA: typeof $PrivateTypeA & { create(a:string):any } = <any>$PrivateTypeA;
}

File2.ts - Some other developer using my file.
namespace B {
   class $PrivateTypeB extends <Exclude<typeof A.TypeA, Func(a:any)=>any>><any>A.TypeA { } // (YES, I know this won't work, but it gives you the idea)
   export var TypeB: typeof $PrivateTypeB & { create(a:number):any } = <any>$PrivateTypeB;
}

The workaround:
File1.ts - My system file.
namespace A {
   class $PrivateTypeA { }
   export var TypeA: typeof $PrivateTypeA & { create(a:string):any; __originalType: typeof $PrivateTypeA} = <any>$PrivateTypeA;
}

File2.ts - Some other developer using my file.
namespace B {
   class $PrivateTypeB extends A.TypeA.__originalType { } // (works, but I hate to force others to do this)
   export var TypeB: typeof $PrivateTypeB & { create(a:number):any } = <any>$PrivateTypeB;
}

Checklist
My suggestion meets these guidelines:
[x] This wouldn't be a breaking change in existing TypeScript / JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. new expression-level syntax)

These all go back to set theory. Each type represents a set of values of that type at runtime. A union type, represents the union of two sets of values at runtime. Exclude represents the the difference operator on two sets. so remove values from set A, from  all values of A ∪ B, which is the values of B. An intersection type represents the intersection the two sets of values at runtime, in other words, the same value exists in both sets. Exclude here makes no sense, since the compiler is not going to decompose the value, and remove some of its attributes that makes it belong to one set or another.
For your use case, i would recommend exposing the two types, the tagged version and the untagged one, and let your users chose which one to pass in. you could also write a function that strips away your tag, e.g.:
declare function untag<T>(a: T & { tag: any}) :T;

@mhegazy  Does this really work?

declare function untag<T>(a: T & { tag: any}) :T;

The compiler always seems to infer that T is exactly the type of the a parameter, so the return value is also the same.  Unless you're saying that callers should have to explicitly specify T?

In my case I can simple extend from a function:
function Base<T>(f: IFactory & { $type: T}) :T { return <any>f; }
Class $B extends Base(A) { }
export B: typeof $B & IFactory & { $type: typeof B$; } = <any>$B;


Amalgamated header is often out of date in master

We should really do one of the following:

remove the amalgamated header from master and generate it on release; inform users how to run make amalgamate if they want it
automatically update the amalgamated header on check-in
disallow check-ins that don't update it

I think I prefer the first one, but I don't know if that makes life hard for some users?

The upshot of going the release artifact route is, you won't be able to link against master. Unless we are able to generate release artifacts on every checkin with just the amalgamated headers? That would be sort of nice ...

@jkeiser Sure, we could have artefacts tied to each commit.
The thing is, I do not know how to solve this problem reliably and cheaply. The "reliably" is important here and precludes relying on free CI.

The create-release github action looks like it would solve the problem for master.

@jkeiser It might, yes.


Foundation6 reInit with jQuery selector does not work for abide plugin

How can we reproduce this bug?

Append a new required input to a form
Call reInit with a jQuery selector parameter, as documented here:
http://foundation.zurb.com/sites/docs/javascript.html#adding-content-to-plugins
Submit the form

What did you expect to happen?
The new required input should be invalid if it's empty
What happened instead?
The input is not validated
Test case:
The following jsfiddle works only when you uncomment the second reInit call.
https://jsfiddle.net/carlosms/mLrcozak/2/

Hi,
i think because you wan't to reInit the form you have to pass  the form to the reinit function because the plugin is on the form element
Foundation.reInit($("[data-abide]"));
https://jsfiddle.net/mLrcozak/3/

You are right. It makes sense now that I see an example, but it wasn't obvious by reading the docs only.
Thank you!

This seems to still be an issue in foundation.

@eXist73  I had the similar issue and fixed it by calling
Foundation.reInit('abide');
after I add new elements


Escoria 3 is not compatible with Godot's current master

My recents tries to fix #41 and https://github.com/flossmanualsfr/escoria/issues/14 have been stopped by errors during execution.
Many old functions are still called from some scripts:

AudioStreamPlayer.set_volume() instead of AudioStreamPlayer.set_volume_db() : https://github.com/godotengine/escoria/blob/master/device/globals/bg_music.gd#L30
This one is very strange, since set_volume actually never existed, but no crash happened until now.

InputEvent : if event.type == InputEvent.MOUSE_BUTTON && event.pressed: : https://github.com/godotengine/escoria/blob/master/device/globals/background_area.gd#L8 fails with error "type attribute does not exist"

And probably many more.

I still use flossmanual's Escoria in Daiza for testing this.

Sorry if this warrants a new issue, but is the work in progress the reason for getting errors?
error is Errors in file res://game/fallbacks.esc

Invalid action talk in fallbacks.

@mjtorn That is an expected error if neither the .esc file for the item you're interacting with, nor the fallbacks.esc file has a "talk" action defined. By default, the fallbacks file only contains fallbacks for "pick_up" and "use":
:use
debug "use fallback!"
say player "I can't use that."

:pick_up
debug "pick_up fallback!"
say player "I can't take this up."

I'll get back to this asap, hopefully like tomorrow, but I was
testing the example tutorial and was surprised to see errors.
I spent quite a bit of time on Unity and its Adventure Creator
asset (and some others) so I shouldn't expect to have to have
everything figured out on the first day I see Godot and Escoria ;)
There are some commits in master to improve compatibility
with Godot 3. How stable should it be or am I better off with
the 2.1 branch for now? What's the relationship between
that and the rewrite branch?
Asking because Unity on Linux, and some assets that are not
Adventure Creator, have been causing me headache and I'd really
like a more open and text-based approach :)
Thanks!
On Mon, Feb 05, 2018 at 04:12:25PM +0000, Eivind wrote:

@mjtorn That is an expected error if neither the .esc file for the item you're interacting with, nor the fallbacks.esc file has a "talk" action defined. By default, the fallbacks file only contains fallbacks for "pick_up" and "use":
:use
debug "use fallback!"
say player "I can't use that."
:pick_up
debug "pick_up fallback!"
say player "I can't take this up."

There was a big effort put into the framework to make it compatible with Godot 3.0 during the beta, but there have been some breaking API changes since, so I'm not sure how compatible it is at the moment. @StraToN would know the status, but I believe he's busy with GodotCon at the moment, so might take some time to get back to you.
It would be great to be able to offer something on par with AGS, Adventure Creator and Visionaire eventually, but the framework isn't quite there yet. I think we should be able to implement several new features and a better demo project in the coming months though. I agree that it's odd that by default, there are only fallback dialogue for two verbs, while the demo has six verbs (I think). Ideally, all should be covered, so as to not cause unnecessary friction for developers exploring the project. The main reason it is so is probably that the framework hasn't been used much by people other than its contributors, so feedback "from the outside" is certainly welcome.
For this error specifically, you can fix it by adding the lines
talk:
say player "I have nothing to say to that"

or something similar to the fallbacks.esc file, and similarly with the other verbs.

These are not the best of news, that Escoria is not on par. However, one thing
that I found annoying with Adventure Creator is the dialogue system, and to
replace it there's Dialogue System, which isn't great either. Escoria's system
for dialogue looks like what I want, just focus on writing and express the
dialogue tree that way.
I'm trying to figure out what a killer feature in Adventure Creator has been
for me but all I can think of is how annoying it sometimes is to integrate it.
Do you have anything in mind that would be big in AC but on the Escoria
roadmap?
One thing I'd want is a Full Throttle style verb coin, is that doable?
(I don't think AC does this out of the box in any way but I'm sure I saw an
example on the forums)
I'll also figure out GUIs and menus ASAP. They're not super complex by nature
but a good looking menu is sometimes hard to do in AC.
But yeah, as for the specific problem, I'll look into it ASAP when I'm not
at home, thanks! :)

Yeah, you're right, and I think we can get that sorted out soon, so that it's at least possible to run games from the editor again. Then at least it won't be a blocker for game development.
Full Throttle style verb coins are already possible. I think it's documented in the Daïza tutorial how you can do that, but there's no example implementation there. Amnesia Adventure has a couple of example implementations, but the project itself is very rough; especially when it comes to project structure (and I'm to blame for much of that).
As for future features, a couple of things that come to mind, since I've made proof-of-concept implementations in Godot 2.1:

costumes: multiple AnimationPlayers on a player on an item to be able to switch between them in esc scripts. Eg. Guybrush Threepwood's dress in LeChuck's revenge, but there might be use cases for items as well.
multiple playable characters: this will be easier to implement in a good way after the suggested rewrite of Escoria (#44).

Some other things that have been discussed:

gamepad support
"exits": special kinds of items that trigger a customisable action when a player or an item enters/exits its collision shape. Can be used to trigger a scene switch, but also play an animation or trigger other game logic.

If there are other features you'd like to see added, you're very welcome to open an issue.

I actually didn't get any code investigation done today, but I did read up
more on the documentation and found some Youtube videos.  Now I need time to play ;)
The verb coin stuff actually seems documented, I just need to get my focus
together on this.
Multiple characters is trendy for sure, but not relevant to me now. Changing
costumes on player(s) isn't that important either.
Gamepads are for sure important. I, or the missus and I, have a Steam Machine
hooked to the TV and a pad is the most convenient way. Godot also allegedly
supports PS4 builds, with additional licensing hassle, so maybe someone
may want to use Escoria to get a game out for the PS4 as well.
On the subject of exits, maybe it's not trivial, but wouldn't it be possible
to do that already, not just that easily?
Thanks for your answers and I could open issues for the ... well ... issues.

Yeah, you're right, and I think we can get that sorted out soon, so that it's at least possible to run games from the editor again.

After checking, this is already possible. I just pulled ab253d994b904f09916cfeaf4f0b355be30d3d78 from upstream, and it's working with the official Godot 3.0 downloads. I tested by running the demo scene with some interactions.
Gamepad support is something that should be significantly easier to support once the proposed architectural changes have been implemented. The way I see that working, is that you'd need a gamepad controllable cursor (that should also be customizable, like the action menu), that should behave pretty much like a mouse cursor, with mouse-hints, know that the current item under the cursor is the one to be interacted with, trigger walk on button press, etc. It should also be possible to use this cursor in place of the desktop mouse cursor for mouse controls if a developer wants to enable that.
Be sure to open issues for the features that are most important to you, as that will increase the chance of them becoming implemented soon.

Thanks a lot @fleskesvor for answering while I was away: you are right I was indeed very busy during the FOSDEM and GodotCon so I didn't even have the time to read my mails.
You almost said everything actually. The current state of Escoria is that current master branch is mostly compatible with Godot 3, but there are probably some problems and bug that we didn't see and/or others that we just cannot fix easily yet.
This is why, we are currently in reflection about trying to remake Escoria from scratch (#44) so that we can provide more than a collection of template scene and scripts, but also specific tools for Godot to ease the work for the specific adventure/point'n'click genre (eventually including some specific ideas for RPG, visual novels and such). However this will be a huge work and we don't expect it to be ready soon.
One of our objectives is to ditch the included demo scene and replace it by a very small game introduction. I am in contact with some artists who showed interest in such an idea, so this should happen in some time - either before Escoria's remake, or most probably during/after.

Speaking of RPGs, and I'll be brief, so as to not derail the issue too much: One thing I think might be useful for creating simple adventure RPGs, à la RPG Maker games, is to be able to use a tilemap for the terrain. Design wise, you'd probably have to use one tilemap for the terrain, which is the node you'd put the terrain script on, and one or more other tilemaps for non-walkable areas. Though, maybe one would be enough for simple locations, since you could just put collision on tiles you don't want the player to walk on. It's not something I've put a lot of thought into yet though.

@fleskesvor Added to #44

Closed by #42. Further discussion about general improvements should take place in #44 or as concrete suggestions in dedicated issues.


Task/remove local skopeo dependency

At the moment this does not work, but I am not sure why.
Tag related commands from log excerpt gh-issue-662-docker-tags-not-working.log:
INFO  | skopeo copy docker://kind-registry.kind:5000/npjhnsyo/workspace-280637196:3cd3a01e4f8924ae17e4273543b5d6739ce3dc32 docker://kind-registry.kind:5000/npjhnsyo/workspace-280637196:latest

INFO  | skopeo copy docker://kind-registry.kind:5000/npjhnsyo/workspace-280637196:3cd3a01e4f8924ae17e4273543b5d6739ce3dc32 docker://kind-registry.kind:5000/npjhnsyo/workspace-280637196:cool

And then the local test command:
ods-package-image_test.go:143: docker [inspect --format={{.RepoTags}} localhost:5000/npjhnsyo/workspace-280637196:3cd3a01e4f8924ae17e4273543b5d6739ce3dc32]: exit status 1

exit status 1 means that the image is not found.
Now when I comment out the checkTags invocation, run the test and then locally issue the command it does find the image and associated manifest:
$docker inspect --format={{.RepoTags}} localhost:5000/lmxlhpwy/workspace-2456216427:3507037f00154c62410142e770df87fbed35db20
[localhost:5000/lmxlhpwy/workspace-2456216427:3507037f00154c62410142e770df87fbed35db20 localhost:5000/lmxlhpwy/workspace-2456216427:cool localhost:5000/lmxlhpwy/workspace-2456216427:latest]

Closes opendevstack/ods-pipeline-image#4
Tasks:

[ ] Updated design documents in docs/design directory or not applicable
[ ] Updated user-facing documentation in docs directory or not applicable
[ ] Ran tests (e.g. make test) or not applicable
[ ] Updated changelog or not applicable
[ ]

Transferring as a consequence of https://github.com/opendevstack/ods-pipeline/pull/722.


Renaming datastore Batch.mutation to changes.

This is towards the switch to v1beta3 where the Mutation
container no longer holds a list of insert/update/upsert/etc.
mutations (as Entity pb's) but instead holds a single one.
The list is moved onto the CommitRequest message definition.
Plan to follow up with methods to abstract away getting the
list of inserts, upserts, deletes, etc. as well as a method
for adding a new mutation of a given type to the changes
accumulator.

@tseaver I opted to do less in this PR just so we could discuss. For example, I'm not sure if changes is the right name and I'm also not sure why the property needs to be public.

For example, I'm not sure if changes is the right name

Does the protobuf in vibeta3 have a changes field?  If so that seems like the right name.   Is it then a sequence of oneof mappings?

I'm also not sure why the @property needs to be public.

Might we have made the mutation property public in order to silence linty noise about access to private members in tests?

There is no changes field, the structure changes as described above. The whole point though was that accumulated changes in the batch should not be too closely tied to the underlying representation. That's why I though changes was a nice name.
But, I was very much wanting to discuss, so this is good.

RE: "lint-y noises". I don't think so. We may have inherited it? We even access self._cluster._client in the bigtable stuff and pylint does not whine.

the Mutation container no longer holds a list of insert/update/upsert/etc. mutations (as Entity pb's)  but instead holds a single one.

A single what?

Sorry I meant a single mutation. In v1beta2 we have
CommitRequest -> Mutation -> repeated fields containing Entity
whereas in v1beta3 we have
CommitRequest -> repeated field containing Mutations -> single Entity with one of the desired fields

Essentially, the Mutation used to hold the lists of mutated entities but now the CommitRequest holds a list of Mutations and a mutation just holds a single Entity (or Key) that changed.

Maybe mutations would be a better name, since it is a list of them.

The reason I ditched mutations is because that is tied to the underlying implementation, though I'm happy to add it back if you think it's preferred to changes

@tseaver Or we could just name it commit request or something like that? Since the Batch is just tracking changes to be committed.

Given that we don't have backward-/forward compatibility cocerns:  if the objects which make up the to-be-named list attribute are all of type Mutation, then mutattions is as good a name as any, and better than most.

@tseaver OK I updated the name. PTAL.

LGTM


<EMAIL_ADDRESS>Download failed

❯ scoop install freac
Installing 'freac' (1.1.2) [64bit]
Servererror: (404) Not found.
URL https://github.com/enzo1982/freac/releases/download/v1.1.2/freac-1.1.2a-windows-x64.zip is not valid
New URL is with 1.1.2b in filename :(

Working on this.


Add temporary protected fetch solution by leveraging web server's HTTP Basic Auth

As discussed here: https://github.com/bundler/gemstash/issues/24#issuecomment-195382240
/cc @smellsblue

@pcarranza @smellsblue How do you think about the new doc section?

Looks good to me! Thanks for the work!


lib not working for the all Other modules in the GP8xxx Range

can you add support for the other Moduls like in the original DFRobot_GP8xxx and with smbus2 instead of gpio

Hi I created a new project: https://pypi.org/project/GP8XXX-IIC/
Would be great if you could test some more devices.


d3 objects disappearing on zoom/move

I've added a number of d3 shapes (circles and rectagles) as an overlay to a rather large image (the original file was ~2GB) and when zooming or moving around some of them flicker and/or disappear. Is this a known issue?

I've observed it on some browsers; I think Firefox does this more than Chrome, for instance. At any rate, I think it has to do with the scale of the coordinate system you're using. Did you stick with the default OSD coordinate system where the width of your image is 1? You might try bumping that up to 1000 or something and see if that affects the issue (of course remember to update the coordinates for your d3 shapes).

I'm marking this as a bug, although I think it's more of a browser limitation... I'm not sure what we can do beyond recommending changing the coordinates for your project. I'd love to hear ideas though!

Yeah, I should have thought to try this it in a different browser.  Chrome works perfecftly, so it's probably a Safari issue.  I was using default OSD coordinates, nothing fancy:
        var overlay = viewer.svgOverlay();

        for (var i = 0; i < points.length; i++) {
            var d3Circle = d3.select(overlay.node()).append("circle")
                .style('fill', 'rgba(255,0,0,0.25)')
                .attr("id", "svg-circle-" + i)
                .attr("cx", (points[i][0] /width))
                .attr("cy", (points[i][1] / height))
                .attr("r", 0.005)
                .attr("class", "svg-circle")
        }

        for (var i = 0; i < lines.length; i++) {
            var d3Line = d3.select(overlay.node()).append("line")
                .style('stroke', 'rgba(0,255,0,0.25)')
                .attr("id", "svg-line-" + i)
                .attr("x1", lines[i][0] / width)
                .attr("y1", lines[i][1] / height)
                .attr("x2", lines[i][2] / width)
                .attr("y2", lines[i][3] / height)
                .attr("stroke-width", 0.001)
                .attr("class", "svg-line")

        }

Where width and height are the width/height of the full image in pixels and the point/line values are also in pixels.  So that should scale everything between 0 and 1.
I even set up a toggle to show/hide the "svg-line" and "svg-circle" classes and this still wouldn't make them show up, so I'm thinking maybe the zIndex of the image tiles are somehow getting in front of the svgs?

The first thing to try is scaling up your coordinate system. When you open your image, give it a width of 1000 or something, and then scale your overlays as appropriate. My theory is that it has to do with rounding in the transform math.
That said, if you do find something related to z-index, I'd love to know about it!

I've experienced the same issue. Actually, it can be observed on the site: https://openseadragon.github.io/examples/ui-overlays/ (try zooming in and then drag the image; the blue frame will wobble).
The problem is that browsers (at least chrome) don't handle sub-pixel offsets (top, left, etc). However, they do handle sub-pixel "transform:translate" well. I've tested the hypothesis by setting translate instead of top/left offsets here, and it fixed the issue.
If somebody with good expertise with OSD code could implement this change (taking into account possible rotations), that would be amazing.

I hope it's okay to comment on this many years later. I had this same issue, and there aren't many reports about it.
All browsers have a hard limit on rendering svgs very far zoomed-in. Chrome/Firefox that limit is around 1e-6 for things like stroke-width. On Safari, there is a hard limit for stroke-width at 0.001, below which the path just disappears.
I made a demo at https://codepen.io/robbykraft/pen/LYMJKmE and filed a report with Apple, it would be nice if they could match the 1e-6 limit.
So, it's not a bug in Safari, it's just Safari's limit. And the work around is as you mention @iangilman to enlarge the viewBox so you are not working with such small numbers. I'm bet you're correct about the rounding/transform math too.

@robbykraft Thank you for adding this additional detail! Always welcome ❤


Why n_comps must be > 2?

Hi,
I was wondering why n_comps had to be greater than 2?
Thank you,
Layla

I'm not sure what you're asking about here. Could you provide a little more context?

Hi Isaac,
When I try to set n_comps equal to 2 (trying to do a diffmap in 2
components), I get an error message saying that it must be greater than 2.
I was wondering why?
On Sun, Jul 7, 2019 at 4:25 AM Isaac Virshup<EMAIL_ADDRESS>wrote:

I'm not sure what you're asking about here. Could you provide a little
more context?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/theislab/scanpy/issues/675?email_source=notifications&email_token=AKIOHVNZFKCE63C4KLO45KTP6GSAPA5CNFSM4HSIFHXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZLG7PQ#issuecomment-508981182,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKIOHVL7254C36JSP374JOTP6GSAPANCNFSM4HSIFHXA
.

--
Harvard-MIT MD-PhD Student
G1, Biophysics
Lander Lab

I'm not sure. @flying-sheep, why do we insist that more than two components of a diffusion map are computed? I believe these are the relevant lines:
https://github.com/theislab/scanpy/blob/1ac97e83705322989fb0df8528fc0de31f323202/scanpy/tools/_diffmap.py#L41-L43
https://github.com/theislab/scanpy/blob/1ac97e83705322989fb0df8528fc0de31f323202/scanpy/plotting/_tools/scatterplots.py#L463
Something about the first eigenvalue?

Yes, it's related to the first eigenvalue: "2 corresponds to 1 for diff maps" in that case. But, there is no restriction by computing the default 10 or 15 components anyway...