Stuck in Waiting for  xxx to report its views

[✓] Flutter (Channel master, 1.22.5, on Mac OS X 10.15.5 19F101 darwin-x64, locale zh-Hans-CN)
• Flutter version 1.22.5 at /Users/fuxiaoquan/flutter
• Framework revision<PHONE_NUMBER> (4 weeks ago), 2020-12-10 11:54:40 -0800
• Engine revision ae90085a84
• Dart version 2.10.4
• Pub download mirror https://pub.dartlang.org
• Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/fuxiaoquan/Library/Android/sdk
• Platform android-30, build-tools 29.0.3
• ANDROID_HOME = /Users/fuxiaoquan/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.3, Build version 12C33
• CocoaPods version 1.10.0
[!] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] Connected device (2 available)
• Android SDK built for x86 (mobile) • emulator-5554                            • android-x86 • Android 10 (API 29) (emulator)
• 测试iPhone7 (mobile)                 • 16c2efb1f5cd2e3da6878abbbfa2e619c51857ca • ios         • iOS 14.1
! Doctor found issues in 1 category.

Running Xcode build...
Xcode build done.                                           76.3s
Installing and launching...
Waiting for 测试iPhone7 to report its views...

Running Xcode build...
Xcode build done.                                           76.3s
Installing and launching...
Waiting for 测试iPhone7 to report its views...

@lvpeng0412
Please provide pubspec.yaml and a minimal complete reproducible code sample.
Is your mac M1 ?

@lvpeng0412
Please provide pubspec.yaml and a minimal complete reproducible code sample.
Is your mac M1 ?

MacBook Pro (Retina, 15-inch, Mid 2015)
I update flutter from 1.22.0 to 1.22.5 occurred this problem

MacBook Pro (Retina, 15-inch, Mid 2015)
I update flutter from 1.22.0 to 1.22.5 occurred this problem

@lvpeng0412
As requested earlier, provide pubspec.yaml and minimal complete reproducible code sample to better address your issue.
Thanks.

@lvpeng0412
As requested earlier, provide pubspec.yaml and minimal complete reproducible code sample to better address your issue.
Thanks.

name: zdd_wallet_flutter
description: A new Flutter application.
The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
The following defines the version and build number for your application.
A version number is three numbers separated by dots, like 1.2.43
followed by an optional build number separated by a +.
Both the version and the builder number may be overridden in flutter
build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode.
Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
Read more about iOS versioning at
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.6+76
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
The following adds the Cupertino Icons font to your application.
Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
动画
flare_flutter: ^2.0.6
消息传递
event_bus: ^1.1.1
路由
fluro: ^1.7.3
provider: ^4.3.2+2
网络库
dio: ^3.0.10
字符串格式化
sprintf: ^4.1.0
手机信息
package_info: ^0.4.3+2
https://github.com/Sky24n/flustars
flustars: ^0.3.3
偏好保存
shared_preferences: ^0.5.10
sp_util: ^1.0.1
toast
oktoast: ^2.3.2
flutter_lifecycle_state: ^1.0.0
uuid: ^2.0.2
ntp: ^1.0.4
path_provider: ^1.6.14
图片库(带缓存)
cached_network_image: ^2.3.2
数据库orm
moor: ^3.1.0
moor_ffi: ^0.8.0
sqlite3_flutter_libs: ^0.2.0
json注解
json_annotation: ^3.0.1
高精度货币结算
decimal: ^0.3.0
框架
fish_redux: ^0.3.4
无限滚动
flutter_swiper: ^1.1.6
transformer_page_view: 0.1.6
国际化
flutter_i18n: ^0.20.1
刷新与分页
pull_to_refresh: ^1.6.2
交错网格
flutter_staggered_grid_view: ^0.3.2
二维码
qr_flutter: ^3.2.0
二维码扫描
barcode_scan: any
图片选择
image_picker: ^0.6.0+3
#保存文件或图片到本地: https://pub.dev/packages/gallery_saver
image_gallery_saver: any
#权限管理
permission_handler: any
短信sdk
#mobsms: ^1.1.0
mobsms:
git:
url: https://github.com/lvpeng0412/SMSSDK-for-Flutter
富文本: https://pub.dev/packages/flutter_html
flutter_html: ^1.0.2
图片查看器: https://pub.dev/packages/photo_view
photo_view: ^0.10.2
图片查看器: https://github.com/fluttercandies/extended_image/blob/master/README-ZH.md
extended_image: ^1.5.0
网络状态：https://pub.dev/packages/connectivity
connectivity: ^0.4.9+5
设置界面
flutter_settings_screens: ^0.2.1
启动url
url_launcher: 5.1.0
WebView: https://pub.dev/packages/flutter_webview_plugin
flutter_webview_plugin: ^0.3.11
MobPush: https://pub.dev/packages/mobpush_plugin
mobpush_plugin: ^1.1.6
#tags
flutter_tags: ^0.4.9
#虚线边框
dotted_border: ^1.0.6
#lottie 动画
lottie: ^0.7.0+1
extended_nested_scroll_view: ^2.0.0
#友盟sdk
umeng_sdk:
path: ./umeng_sdk/
下载器：https://pub.dev/packages/flutter_downloader
flutter_downloader:
path: ./flutter_downloader/
轮播控件：https://pub.dev/packages/carousel_slider
carousel_slider: ^2.3.1
分享：https://pub.dev/packages/share
share: ^0.6.5+4
mob share sdk：https://pub.dev/packages/sharesdk_plugin
sharesdk_plugin: ^1.2.8
switch: https://pub.dev/packages/flutter_switch
flutter_switch: ^0.1.4
打电话：https://pub.dev/packages/flutter_phone_direct_caller
flutter_phone_direct_caller:
git:
url: https://github.com/yanisalfian/flutter-phone-direct-caller.git
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.10.2
数据库
moor_generator: ^3.3.1
json
json_serializable: ^3.4.1
For information on the generic Dart part of this file, see the
following page: https://dart.dev/tools/pub/pubspec
The following section is specific to Flutter.
flutter:
uses-material-design: true
assets:
- assets/anim_img/
- assets/anim/
- assets/img/
- assets/str/
fonts:
- family: YouSheBiaoTiHei
fonts:
- asset: assets/font/YouSheBiaoTiHei.ttf
- family: DroidSans
fonts:
- asset: assets/font/DroidSans.ttf
#flutter_intl:
enabled: true

name: zdd_wallet_flutter
description: A new Flutter application.
The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
The following defines the version and build number for your application.
A version number is three numbers separated by dots, like 1.2.43
followed by an optional build number separated by a +.
Both the version and the builder number may be overridden in flutter
build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode.
Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
Read more about iOS versioning at
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.6+76
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
The following adds the Cupertino Icons font to your application.
Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
动画
flare_flutter: ^2.0.6
消息传递
event_bus: ^1.1.1
路由
fluro: ^1.7.3
provider: ^4.3.2+2
网络库
dio: ^3.0.10
字符串格式化
sprintf: ^4.1.0
手机信息
package_info: ^0.4.3+2
https://github.com/Sky24n/flustars
flustars: ^0.3.3
偏好保存
shared_preferences: ^0.5.10
sp_util: ^1.0.1
toast
oktoast: ^2.3.2
flutter_lifecycle_state: ^1.0.0
uuid: ^2.0.2
ntp: ^1.0.4
path_provider: ^1.6.14
图片库(带缓存)
cached_network_image: ^2.3.2
数据库orm
moor: ^3.1.0
moor_ffi: ^0.8.0
sqlite3_flutter_libs: ^0.2.0
json注解
json_annotation: ^3.0.1
高精度货币结算
decimal: ^0.3.0
框架
fish_redux: ^0.3.4
无限滚动
flutter_swiper: ^1.1.6
transformer_page_view: 0.1.6
国际化
flutter_i18n: ^0.20.1
刷新与分页
pull_to_refresh: ^1.6.2
交错网格
flutter_staggered_grid_view: ^0.3.2
二维码
qr_flutter: ^3.2.0
二维码扫描
barcode_scan: any
图片选择
image_picker: ^0.6.0+3
#保存文件或图片到本地: https://pub.dev/packages/gallery_saver
image_gallery_saver: any
#权限管理
permission_handler: any
短信sdk
#mobsms: ^1.1.0
mobsms:
git:
url: https://github.com/lvpeng0412/SMSSDK-for-Flutter
富文本: https://pub.dev/packages/flutter_html
flutter_html: ^1.0.2
图片查看器: https://pub.dev/packages/photo_view
photo_view: ^0.10.2
图片查看器: https://github.com/fluttercandies/extended_image/blob/master/README-ZH.md
extended_image: ^1.5.0
网络状态：https://pub.dev/packages/connectivity
connectivity: ^0.4.9+5
设置界面
flutter_settings_screens: ^0.2.1
启动url
url_launcher: 5.1.0
WebView: https://pub.dev/packages/flutter_webview_plugin
flutter_webview_plugin: ^0.3.11
MobPush: https://pub.dev/packages/mobpush_plugin
mobpush_plugin: ^1.1.6
#tags
flutter_tags: ^0.4.9
#虚线边框
dotted_border: ^1.0.6
#lottie 动画
lottie: ^0.7.0+1
extended_nested_scroll_view: ^2.0.0
#友盟sdk
umeng_sdk:
path: ./umeng_sdk/
下载器：https://pub.dev/packages/flutter_downloader
flutter_downloader:
path: ./flutter_downloader/
轮播控件：https://pub.dev/packages/carousel_slider
carousel_slider: ^2.3.1
分享：https://pub.dev/packages/share
share: ^0.6.5+4
mob share sdk：https://pub.dev/packages/sharesdk_plugin
sharesdk_plugin: ^1.2.8
switch: https://pub.dev/packages/flutter_switch
flutter_switch: ^0.1.4
打电话：https://pub.dev/packages/flutter_phone_direct_caller
flutter_phone_direct_caller:
git:
url: https://github.com/yanisalfian/flutter-phone-direct-caller.git
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.10.2
数据库
moor_generator: ^3.3.1
json
json_serializable: ^3.4.1
For information on the generic Dart part of this file, see the
following page: https://dart.dev/tools/pub/pubspec
The following section is specific to Flutter.
flutter:
uses-material-design: true
assets:
- assets/anim_img/
- assets/anim/
- assets/img/
- assets/str/
fonts:
- family: YouSheBiaoTiHei
fonts:
- asset: assets/font/YouSheBiaoTiHei.ttf
- family: DroidSans
fonts:
- asset: assets/font/DroidSans.ttf
#flutter_intl:
enabled: true

`name: zdd_wallet_flutter
description: A new Flutter application.
The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
The following defines the version and build number for your application.
A version number is three numbers separated by dots, like 1.2.43
followed by an optional build number separated by a +.
Both the version and the builder number may be overridden in flutter
build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode.
Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
Read more about iOS versioning at
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.6+76
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
The following adds the Cupertino Icons font to your application.
Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
动画
flare_flutter: ^2.0.6
消息传递
event_bus: ^1.1.1
路由
fluro: ^1.7.3
provider: ^4.3.2+2
网络库
dio: ^3.0.10
字符串格式化
sprintf: ^4.1.0
手机信息
package_info: ^0.4.3+2
https://github.com/Sky24n/flustars
flustars: ^0.3.3
偏好保存
shared_preferences: ^0.5.10
sp_util: ^1.0.1
toast
oktoast: ^2.3.2
flutter_lifecycle_state: ^1.0.0
uuid: ^2.0.2
ntp: ^1.0.4
path_provider: ^1.6.14
图片库(带缓存)
cached_network_image: ^2.3.2
数据库orm
moor: ^3.1.0
moor_ffi: ^0.8.0
sqlite3_flutter_libs: ^0.2.0
json注解
json_annotation: ^3.0.1
高精度货币结算
decimal: ^0.3.0
框架
fish_redux: ^0.3.4
无限滚动
flutter_swiper: ^1.1.6
transformer_page_view: 0.1.6
国际化
flutter_i18n: ^0.20.1
刷新与分页
pull_to_refresh: ^1.6.2
交错网格
flutter_staggered_grid_view: ^0.3.2
二维码
qr_flutter: ^3.2.0
二维码扫描
barcode_scan: any
图片选择
image_picker: ^0.6.0+3
#保存文件或图片到本地: https://pub.dev/packages/gallery_saver
image_gallery_saver: any
#权限管理
permission_handler: any
短信sdk
#mobsms: ^1.1.0
mobsms:
git:
url: https://github.com/lvpeng0412/SMSSDK-for-Flutter
富文本: https://pub.dev/packages/flutter_html
flutter_html: ^1.0.2
图片查看器: https://pub.dev/packages/photo_view
photo_view: ^0.10.2
图片查看器: https://github.com/fluttercandies/extended_image/blob/master/README-ZH.md
extended_image: ^1.5.0
网络状态：https://pub.dev/packages/connectivity
connectivity: ^0.4.9+5
设置界面
flutter_settings_screens: ^0.2.1
启动url
url_launcher: 5.1.0
WebView: https://pub.dev/packages/flutter_webview_plugin
flutter_webview_plugin: ^0.3.11
MobPush: https://pub.dev/packages/mobpush_plugin
mobpush_plugin: ^1.1.6
#tags
flutter_tags: ^0.4.9
#虚线边框
dotted_border: ^1.0.6
#lottie 动画
lottie: ^0.7.0+1
extended_nested_scroll_view: ^2.0.0
#友盟sdk
umeng_sdk:
path: ./umeng_sdk/
下载器：https://pub.dev/packages/flutter_downloader
flutter_downloader:
path: ./flutter_downloader/
轮播控件：https://pub.dev/packages/carousel_slider
carousel_slider: ^2.3.1
分享：https://pub.dev/packages/share
share: ^0.6.5+4
mob share sdk：https://pub.dev/packages/sharesdk_plugin
sharesdk_plugin: ^1.2.8
switch: https://pub.dev/packages/flutter_switch
flutter_switch: ^0.1.4
打电话：https://pub.dev/packages/flutter_phone_direct_caller
flutter_phone_direct_caller:
git:
url: https://github.com/yanisalfian/flutter-phone-direct-caller.git
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.10.2
数据库
moor_generator: ^3.3.1
json
json_serializable: ^3.4.1
For information on the generic Dart part of this file, see the
following page: https://dart.dev/tools/pub/pubspec
The following section is specific to Flutter.
flutter:
uses-material-design: true
assets:
- assets/anim_img/
- assets/anim/
- assets/img/
- assets/str/
fonts:
- family: YouSheBiaoTiHei
fonts:
- asset: assets/font/YouSheBiaoTiHei.ttf
- family: DroidSans
fonts:
- asset: assets/font/DroidSans.ttf
#flutter_intl:
enabled: true
`

`name: zdd_wallet_flutter
description: A new Flutter application.
The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
The following defines the version and build number for your application.
A version number is three numbers separated by dots, like 1.2.43
followed by an optional build number separated by a +.
Both the version and the builder number may be overridden in flutter
build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode.
Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
Read more about iOS versioning at
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.6+76
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
The following adds the Cupertino Icons font to your application.
Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
动画
flare_flutter: ^2.0.6
消息传递
event_bus: ^1.1.1
路由
fluro: ^1.7.3
provider: ^4.3.2+2
网络库
dio: ^3.0.10
字符串格式化
sprintf: ^4.1.0
手机信息
package_info: ^0.4.3+2
https://github.com/Sky24n/flustars
flustars: ^0.3.3
偏好保存
shared_preferences: ^0.5.10
sp_util: ^1.0.1
toast
oktoast: ^2.3.2
flutter_lifecycle_state: ^1.0.0
uuid: ^2.0.2
ntp: ^1.0.4
path_provider: ^1.6.14
图片库(带缓存)
cached_network_image: ^2.3.2
数据库orm
moor: ^3.1.0
moor_ffi: ^0.8.0
sqlite3_flutter_libs: ^0.2.0
json注解
json_annotation: ^3.0.1
高精度货币结算
decimal: ^0.3.0
框架
fish_redux: ^0.3.4
无限滚动
flutter_swiper: ^1.1.6
transformer_page_view: 0.1.6
国际化
flutter_i18n: ^0.20.1
刷新与分页
pull_to_refresh: ^1.6.2
交错网格
flutter_staggered_grid_view: ^0.3.2
二维码
qr_flutter: ^3.2.0
二维码扫描
barcode_scan: any
图片选择
image_picker: ^0.6.0+3
#保存文件或图片到本地: https://pub.dev/packages/gallery_saver
image_gallery_saver: any
#权限管理
permission_handler: any
短信sdk
#mobsms: ^1.1.0
mobsms:
git:
url: https://github.com/lvpeng0412/SMSSDK-for-Flutter
富文本: https://pub.dev/packages/flutter_html
flutter_html: ^1.0.2
图片查看器: https://pub.dev/packages/photo_view
photo_view: ^0.10.2
图片查看器: https://github.com/fluttercandies/extended_image/blob/master/README-ZH.md
extended_image: ^1.5.0
网络状态：https://pub.dev/packages/connectivity
connectivity: ^0.4.9+5
设置界面
flutter_settings_screens: ^0.2.1
启动url
url_launcher: 5.1.0
WebView: https://pub.dev/packages/flutter_webview_plugin
flutter_webview_plugin: ^0.3.11
MobPush: https://pub.dev/packages/mobpush_plugin
mobpush_plugin: ^1.1.6
#tags
flutter_tags: ^0.4.9
#虚线边框
dotted_border: ^1.0.6
#lottie 动画
lottie: ^0.7.0+1
extended_nested_scroll_view: ^2.0.0
#友盟sdk
umeng_sdk:
path: ./umeng_sdk/
下载器：https://pub.dev/packages/flutter_downloader
flutter_downloader:
path: ./flutter_downloader/
轮播控件：https://pub.dev/packages/carousel_slider
carousel_slider: ^2.3.1
分享：https://pub.dev/packages/share
share: ^0.6.5+4
mob share sdk：https://pub.dev/packages/sharesdk_plugin
sharesdk_plugin: ^1.2.8
switch: https://pub.dev/packages/flutter_switch
flutter_switch: ^0.1.4
打电话：https://pub.dev/packages/flutter_phone_direct_caller
flutter_phone_direct_caller:
git:
url: https://github.com/yanisalfian/flutter-phone-direct-caller.git
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.10.2
数据库
moor_generator: ^3.3.1
json
json_serializable: ^3.4.1
For information on the generic Dart part of this file, see the
following page: https://dart.dev/tools/pub/pubspec
The following section is specific to Flutter.
flutter:
uses-material-design: true
assets:
- assets/anim_img/
- assets/anim/
- assets/img/
- assets/str/
fonts:
- family: YouSheBiaoTiHei
fonts:
- asset: assets/font/YouSheBiaoTiHei.ttf
- family: DroidSans
fonts:
- asset: assets/font/DroidSans.ttf
#flutter_intl:
enabled: true
`

pubspec.yaml.zip

pubspec.yaml.zip

I create a new flutter project use the pubspec.yaml,run ok. I tried several other projects without any problems, but this is the case with this project

I create a new flutter project use the pubspec.yaml,run ok. I tried several other projects without any problems, but this is the case with this project

@darshankawar

@darshankawar

@lvpeng0412
Try to run flutter clean or flutter pub cache repair and then try again.
If issue persists, provide flutter run --verbose log.

@lvpeng0412
Try to run flutter clean or flutter pub cache repair and then try again.
If issue persists, provide flutter run --verbose log.

Thank you. I solved the problem in the way you said

Thank you. I solved the problem in the way you said


canonicalize font selection

I think there's low hanging fruit for enhancing the design by using better fonts in certain areas and being more intentional with the typography styles we want to express.

This is in the realm of designer responsibility.
At the moment, the new UI library has fonts that will resolve this issue. But in terms of numbers it's still TBD if we can use font with font-variant-numeric: tabular-nums; or we just use a monospaced font for numbers.

This is in the realm of designer responsibility.

I'll leave all frontend related comments there going forward! I checked out the typography section in the Figma, and it looks great.


RoomCodevsAuthToken

Please create new branches off of and against qa

Included in https://github.com/100mslive/100ms-docs/pull/2005


'TFLiteConverter' object has no attribute 'experimental_new_quantizer' - TF 2.2.0-rc2

System information

Have I written custom code: See below.
OS Platform and Distribution (e.g.,
Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or
binary): source
TensorFlow version (use command below): 2.2.0-rc2
Python version: 3.6.9
Bazel version (if compiling from source): 2.0.0
GCC/Compiler version : XCode 11.4
CUDA/cuDNN version: - GPU model and memory: 10.2, GTX1080ti

Describe the current behavior
Using the current code:
    converter = tf.compat.v1.lite.TFLiteConverter.from_keras_model_file(dP.model_name)      converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]     converter.representative_dataset = representative_dataset_gen     converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]     converter.inference_input_type = tf.uint8     converter.inference_output_type = tf.uint8     tflite_quant_model = converter.convert()
I get the following error and crash using TF 2.2.0-rc2:
    tflite_quant_model = converter.convert()   File "/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/lite.py", line 1094, in convert     result, inference_input_type, inference_output_type)   File "/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/lite.py", line 267, in _calibrate_quantize_model     inference_output_type, allow_float, self.experimental_new_quantizer)   File "/usr/local/lib/python3.6/dist-packages/tensorflow/lite/python/lite.py", line 944, in __getattribute__     return object.__getattribute__(self, name) AttributeError: 'TFLiteConverter' object has no attribute 'experimental_new_quantizer'
Describe the expected behavior
NOTE: This error is specific to TF 2.2.0-rc2. All works well with TF 2.2.0-rc1.

The issue seems to be related to the commit. In particular, the line 267:
 inference_output_type, allow_float, self.experimental_new_quantizer)
has not been updated to the new private API. Should it be?:
 inference_output_type, allow_float, self._experimental_new_quantizer)

Good catch. The cherry picked cl was not include all the changes. Let me fix it now.

Created a fix here: https://github.com/tensorflow/tensorflow/pull/38139

Tested with fix, and all is working now. Since the fix has been merged, I close this bug.


Update Documentation for upcoming features

As required for Issue #44

Pull Request Test Coverage Report for Build 131

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.241%

Totals

Change from base Build 130:
0.0%

Covered Lines:
1692

Relevant Lines:
1896

💛  - Coveralls


Block modifications all switched off

Hi, sorry for what is probably an obvious question, but for some reason this has happened to me lots of times and every time it happens I manage to fix it and then forget how I fixed it every previous time.
I must keep accidentally changing a setting or something that prevents all spells from modifying blocks, they all cast fine and affect entities fine but if I do (for example) a bomb spell no blocks get removed or anything.
I'm sure it's just a setting or something, but what setting is it?
(I don't know how I keep messing this up 😢 Love the plugin btw!)

I think I'd diagnose the issue as the destructibles list being set to blank, but I can't find anywhere where I've set the destructibles list to blank.
Any ideas where that setting could have been made?

Not sure what was causing this necessarily but if anyone else is having this problem I just made a new file for it and set the destructibles list to what it should be (aka what I wanted it to be): the system is pretty great and easy to use. Thanks!


handle no deleted_at col

Pull Request Template for FastCRUD
🚨 PR fails in some tests related to soft delete & I can't figure out why 🤔
Can someone help me fix it?
Description
closes #148
Changes
I've conditionally checked if the deleted_at col exist or not.
Tests
None. I don't know much about pytest
Checklist

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[x] I have added necessary documentation (if appropriate).
[ ] I have added tests that cover my changes (if applicable).
[ ] All new and existing tests passed.

Additional Notes

Instead of checking it in code, Why don't we allow setting those cols to None so we can be sure that this cols doesn't exist instead of dynamically checking.
Also I noticed, In delete func above we use hasattr(db_row, self.is_deleted_column) for checking and after that we use self.is_deleted_column in self.model_col_names, why?

This is my first time contribution to your repo so I might now know the structure and all the conditions.

Here we got:
FAILED tests/sqlalchemy/crud/test_delete.py::test_delete_soft_delete - assert None is not None
 +  where None = <tests.sqlalchemy.conftest.ModelTest object at 0x7fec745cf410>.deleted_at
FAILED tests/sqlalchemy/crud/test_delete.py::test_soft_delete_with_custom_columns - AssertionError: Record should have a deletion timestamp
assert None is not None
 +  where None = getattr(<tests.sqlalchemy.conftest.ModelTest object at 0x7fec74246010>, 'deleted_at')
FAILED tests/sqlmodel/crud/test_delete.py::test_delete_soft_delete - AssertionError: assert None is not None
 +  where None = ModelTest(name='Charlie', category_id=1, is_deleted=True, deleted_at=None, id=1, tier_id=1).deleted_at
FAILED tests/sqlmodel/crud/test_delete.py::test_soft_delete_with_custom_columns - AssertionError: Record should have a deletion timestamp
assert None is not None
 +  where None = getattr(ModelTest(name='Charlie', category_id=1, is_deleted=True, deleted_at=None, id=1, tier_id=1), 'deleted_at')

(Twice because of sqlalchemy and sqlmodel)
So let's check them one at a time:
test_delete_soft_delete
FAILED tests/sqlalchemy/crud/test_delete.py::test_delete_soft_delete - assert None is not None
 +  where None = <tests.sqlalchemy.conftest.ModelTest object at 0x7fec745cf410>.deleted_at

If we actually go to the test, we can see:
@pytest.mark.asyncio
async def test_delete_soft_delete(async_session, test_data, test_model):
    for item in test_data:
        async_session.add(test_model(**item))
    await async_session.commit()

    crud = FastCRUD(test_model)
    some_existing_id = test_data[0]["id"]
    await crud.delete(db=async_session, id=some_existing_id)

    soft_deleted_record = await async_session.execute(
        select(test_model).where(test_model.id == some_existing_id)
    )
    soft_deleted = soft_deleted_record.scalar_one()
    assert soft_deleted.is_deleted is True

    # here it's checking whether there is a deleted_at column that was also changed
    assert soft_deleted.deleted_at is not None

test_soft_delete_with_custom_columns
FAILED tests/sqlalchemy/crud/test_delete.py::test_soft_delete_with_custom_columns - AssertionError: Record should have a deletion timestamp
assert None is not None
 +  where None = getattr(<tests.sqlalchemy.conftest.ModelTest object at 0x7fec74246010>, 'deleted_at')

The test:
@pytest.mark.asyncio
async def test_soft_delete_with_custom_columns(async_session, test_data, test_model):
    crud = FastCRUD(
        test_model, is_deleted_column="is_deleted", deleted_at_column="deleted_at"
    )
    some_existing_id = test_data[0]["id"]

    for item in test_data:
        async_session.add(test_model(**item))
    await async_session.commit()

    await crud.delete(db=async_session, id=some_existing_id, allow_multiple=False)

    deleted_record = await async_session.execute(
        select(test_model)
        .where(test_model.id == some_existing_id)
        .where(getattr(test_model, "is_deleted") == True)  # noqa
    )
    deleted_record = deleted_record.scalar_one_or_none()

    assert deleted_record is not None, "Record should exist after soft delete"
    assert (
        getattr(deleted_record, "is_deleted") == True  # noqa
    ), "Record should be marked as soft deleted"

    # Here's the part that's failing, checking that there's a deletion timestamp
    assert (
        getattr(deleted_record, "deleted_at") is not None
    ), "Record should have a deletion timestamp"

So basically removing the deleted_at column makes the tests fail because the tests are checking whether there is a deleted_at column that's being updated at some point

Btw this is related to #88, so you may want to fix this one as well (being necessary to have either is_deleted or deleted_at). Plus, this change is pretty big, so new tests and docs updates are necessary

Thanks for your review. I will let you know once I finish it!

Fixed by #152


Unable to collect necessary data for vCenter hosts

Environment

Python version:  3.6.8
NetBox version: 2.7.6
vCenter version: 6.7.0
vCenter NetBox Sync version:  develop - commit f539db3

Steps to Reproduce

python run.py -v

Expected Behavior
I'm expecting my vCenter hosts to sync, but there is an error.

Observed Behavior
2020-02-26 12:11:51,332 [DEBUG] Received HTTP Status 200.
2020-02-26 12:11:51,332 [DEBUG] NetBox GET request OK; returned 200 status.
2020-02-26 12:11:51,333 [INFO] Comparison completed. 0 clusters orphaned NetBox objects did not match.
2020-02-26 12:11:51,333 [DEBUG] The following objects did not match: []
2020-02-26 12:11:51,334 [INFO] Initiated sync of vCenter host objects to NetBox.
2020-02-26 12:11:51,334 [INFO] Collecting vCenter host objects.
2020-02-26 12:11:51,350 [INFO] Collecting info about vCenter hosts 'esxihost1.example.local' object.
2020-02-26 12:11:51,535 [DEBUG] Collecting info to create NetBox manufacturers object.
2020-02-26 12:11:51,536 [DEBUG] Collecting info to create NetBox device_types object.
2020-02-26 12:11:51,536 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 12:11:51,623 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99375''object. Skipping.
2020-02-26 12:11:51,630 [INFO] Collecting info about vCenter hosts 'esxihost2.example.local' object.
2020-02-26 12:11:51,819 [DEBUG] Manufacturers object 'HP' already exists. Skipping.
2020-02-26 12:11:51,819 [DEBUG] Device Type object 'ProLiant DL360 Gen9' already exists. Skipping.
2020-02-26 12:11:51,820 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 12:11:51,901 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99273''object. Skipping.
2020-02-26 12:11:51,907 [INFO] Collecting info about vCenter hosts 'esxihost3.example.local' object.
2020-02-26 12:11:52,075 [DEBUG] Manufacturers object 'HP' already exists. Skipping.
2020-02-26 12:11:52,075 [DEBUG] Device Type object 'ProLiant DL360 Gen9' already exists. Skipping.
2020-02-26 12:11:52,076 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 12:11:52,159 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99578''object. Skipping.
2020-02-26 12:11:52,166 [INFO] Collecting info about vCenter hosts 'esxihost4.example.local' object.
2020-02-26 12:11:52,331 [DEBUG] Manufacturers object 'HP' already exists. Skipping.
2020-02-26 12:11:52,331 [DEBUG] Device Type object 'ProLiant DL360 Gen9' already exists. Skipping.
2020-02-26 12:11:52,332 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 12:11:52,416 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99574''object. Skipping.
2020-02-26 12:11:52,420 [DEBUG] Collected 5 vCenter host objects.

Hello @acaronmd! Are your ESXi Hosts defined inside a cluster within vCenter? The logs confirming whether vCenter clusters were found and synced would be a few lines before what was pasted. If not, that may be the issue. If so, then I may need to activate additional debug details to tell us exactly what failed in the VMware SDK.

I've gone ahead and deleted my VMs, clusters and cluster groups, and tags. I've tried to sync again and I get the same error. I can send you more debugging data if you need it.

Yes please. If you don't mind sending the full debug logs I'll see if something stands out. If you're concerned about sensitive data feel free to send the logs to my email directly: One Time Private Note

No problem. Logs have been sent.

@acaronmd Thanks for the logs. You have a very interesting case and I really appreciate getting to see the details. I'm going to share the generic portions of the logs, with additional sanitization, so that the I can be certain my thought process makes sense.
During dependency checks the vCenter tag is searched for as it's a global dependency to all other objects. During your check an existing vCenter tag is detected. If I am reading the logs correctly, it is receiving the wrong vCenter tag back, identified by slug vcenter_1.
2020-02-26 16:28:19,626 [DEBUG] Sending GET to 'https://netbox.example.com/api/extras/tags/?name=vcenter' with data 'None'.
2020-02-26 16:28:19,664 [DEBUG] Received HTTP Status 200.
2020-02-26 16:28:19,664 [DEBUG] NetBox GET request OK; returned 200 status.
2020-02-26 16:28:19,665 [DEBUG] NetBox tags object 'vcenter' already exists. Comparing values.
2020-02-26 16:28:19,665 [DEBUG] vc_data[name] and nb_data[name] values match.
2020-02-26 16:28:19,665 [DEBUG] Mismatch: vc_data[slug] value is 'vcenter' while nb_data[slug] value is 'vcenter_1'.
2020-02-26 16:28:19,666 [DEBUG] vc_data[slug] and nb_data[slug] values do not match.
2020-02-26 16:28:19,666 [INFO] NetBox tags object 'vcenter' do not match current values.
2020-02-26 16:28:19,666 [DEBUG] Sending PATCH to 'https://netbox.example.com/api/extras/tags/23/' with data '{'name': 'vcenter', 'slug': 'vcenter', 'comments': 'Objects synced from vCenter host vcenter. Be careful not to modify the name or slug.'}'.
2020-02-26 16:28:19,711 [DEBUG] Received HTTP Status 400.
2020-02-26 16:28:19,711 [WARNING] NetBox failed to modify tags object with status 400. The data sent may not be acceptable.
2020-02-26 16:28:19,712 [DEBUG] NetBox 400 status reason: {"slug":["tag with this Slug already exists."]}
2020-02-26 16:28:19,712 [DEBUG] Unaccepted request data: {'name': 'vcenter', 'slug': 'vcenter', 'comments': 'Objects synced from vCenter host vcenter. Be careful not to modify the name or slug.'}
2020-02-26 16:28:19,713 [INFO] Finished verifying prerequisites.

This result causes a snowball effect of problems. A key example is when the object orphaning occurs as shown below.
2020-02-26 16:28:20,031 [DEBUG] Sending GET to 'https://netbox.example.com/api/virtualization/clusters/?tag=vcenter' with data 'None'.
2020-02-26 16:28:20,144 [DEBUG] Received HTTP Status 200.
2020-02-26 16:28:20,144 [DEBUG] NetBox GET request OK; returned 200 status.
2020-02-26 16:28:20,145 [INFO] Comparison completed. 2 clusters orphaned NetBox objects did not match.
2020-02-26 16:28:20,145 [DEBUG] The following objects did not match: [{'id': 5, 'name': 'kangaroo.example.net', 'type': {'id': 3, 'url': 'https://netbox.example.com/api/virtualization/cluster-types/3/', 'name': 'VMware ESXi', 'slug': 'vmware-esxi'}, 'group': {'id': 3, 'url': 'https://netbox.example.com/api/virtualization/cluster-groups/3/', 'name': 'Amsterdam Datacenter', 'slug': 'amsterdam-datacenter'}, 'tenant': None, 'site': {'id': 7, 'url': 'https://netbox.example.com/api/dcim/sites/7/', 'name': 'Main Office', 'slug': 'mo'}, 'comments': '', 'tags': ['Synced', 'Orphaned', 'vCenter', 'vcenter'], 'custom_fields': {}, 'created': '2020-01-10', 'last_updated': '2020-02-26T22:43:58.819693Z', 'device_count': None, 'virtualmachine_count': 1}, {'id': 6, 'name': 'horse.example.net', 'type': {'id': 3, 'url': 'https://netbox.example.com/api/virtualization/cluster-types/3/', 'name': 'VMware ESXi', 'slug': 'vmware-esxi'}, 'group': {'id': 3, 'url': 'https://netbox.example.com/api/virtualization/cluster-groups/3/', 'name': 'Amsterdam Datacenter', 'slug': 'amsterdam-datacenter'}, 'tenant': None, 'site': {'id': 7, 'url': 'https://netbox.example.com/api/dcim/sites/7/', 'name': 'Main Office', 'slug': 'mo'}, 'comments': '', 'tags': ['Synced', 'Orphaned', 'vCenter', 'vcenter'], 'custom_fields': {}, 'created': '2020-01-10', 'last_updated': '2020-02-26T22:46:14.450849Z', 'device_count': None, 'virtualmachine_count': 26}]
2020-02-26 16:28:20,146 [INFO] Processing orphaned NetBox clusters 'kangaroo.example.net' object.
2020-02-26 16:28:20,147 [INFO] The clusters 'kangaroo.example.net' object has exceeded the 0 day max for orphaned objects. Sending it for deletion.
2020-02-26 16:28:20,147 [DEBUG] Sending DELETE to 'https://netbox.example.com/api/virtualization/clusters/5/' with data 'None'.
2020-02-26 16:28:20,232 [DEBUG] Received HTTP Status 409.
2020-02-26 16:28:20,233 [WARNING] Received 409 status when attemping to delete NetBox object (ID: 5). If you have more than 1 vCenter host configured this may be deleted on the final pass. Otherwise check the object dependencies.
2020-02-26 16:28:20,233 [DEBUG] NetBox 409 status body: {'detail': 'Unable to delete object. The following dependent objects were found: California-NY (virtualization.virtualmachine)'}

To sort this out I'm going to need to need to make a few changes. Let me begin by updating the logic for the dependencies check of tags. Note, this does not solve your original problem, which I'll speak to in the next post, but this has to be sorted before we can move on.

Just wanted to note that the two vCenter (vcenter) and vcenter (vcenter_1) tags are created by the script, and recreated when I delete them.

Would you mind sharing the output of the following URLs? I'd like to understand that better. Feel free to pass it to my e-mail. Thank you!
General:
https://yourdomain.com/api/extras/tags
vCenter Tag:
https://yourdomain.com/extras/tags/vcenter/changelog/
Other vCenter Tag:
https://yourdomain.com/extras/tags/vcenter_1/changelog/

Email sent.

Thank you! That gets me what I need. Let me fix the tagging and then sort out the original vCenter SDK issue. I checked the logs and this looks similar to #63 as the logs show the same behavior.
2020-02-26 16:28:20,015 [INFO] Collecting vCenter cluster objects.
2020-02-26 16:28:20,029 [DEBUG] Collected 1 vCenter cluster object.
2020-02-26 16:28:20,030 [INFO] Starting sync of 0 vCenter clusters objects to NetBox clusters objects.
2020-02-26 16:28:20,030 [INFO] Finished sync of 0 vCenter clusters objects to NetBox clusters objects.
2020-02-26 16:28:20,030 [INFO] Comparing existing NetBox clusters objects to current vCenter objects for pruning eligibility.
2020-02-26 16:28:20,031 [DEBUG] Sending GET to 'https://netbox.example.com/api/virtualization/clusters/?tag=vcenter' with data 'None'.

Can you confirm whether your vCenter is setup in an an organization structure similar to: vCenter > Cluster Group > Cluster > ESXi Hosts > Virtual Machines? Are there any ESXi hosts which reside outside of a cluster?
It would seem these hosts, which have obfuscated names that you can match in log timestamps or host IDs, are failing during object lookup. In #63 it was because they weren't assigned to a vCenter Cluster. I may need to write logic to handle this condition and provide more helpful errors.
2020-02-26 16:28:20,510 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 16:28:20,589 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99375''object. Skipping.
2020-02-26 16:28:20,594 [INFO] Collecting info about vCenter hosts 'couch.example.net' object.
2020-02-26 16:28:20,769 [DEBUG] Manufacturers object 'HP' already exists. Skipping.
2020-02-26 16:28:20,770 [DEBUG] Device Type object 'ProLiant DL360 Gen9' already exists. Skipping.
2020-02-26 16:28:20,770 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 16:28:20,849 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99273''object. Skipping.
2020-02-26 16:28:20,855 [INFO] Collecting info about vCenter hosts 'kangaroo.example.net' object.
2020-02-26 16:28:21,015 [DEBUG] Manufacturers object 'HP' already exists. Skipping.
2020-02-26 16:28:21,015 [DEBUG] Device Type object 'ProLiant DL360 Gen9' already exists. Skipping.
2020-02-26 16:28:21,016 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 16:28:21,095 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99578''object. Skipping.
2020-02-26 16:28:21,102 [INFO] Collecting info about vCenter hosts 'cheesecake.example.net' object.
2020-02-26 16:28:21,259 [DEBUG] Manufacturers object 'HP' already exists. Skipping.
2020-02-26 16:28:21,260 [DEBUG] Device Type object 'ProLiant DL360 Gen9' already exists. Skipping.
2020-02-26 16:28:21,260 [DEBUG] Collecting info to create NetBox devices object.
2020-02-26 16:28:21,338 [WARNING] Unable to collect necessary data for vCenter hosts ''vim.HostSystem:host-99574''object. Skipping.
2020-02-26 16:28:21,343 [DEBUG] Collected 5 vCenter host objects.

We do not have any clusters created in our vCenter. We have 4 hosts setup like this:
vCenter > Datacenter > (4) ESXi Hosts > Virtual Machines

OK this makes a lot of sense. I've committed a few changes to allow for more helpful logging of vCenter issues, sort out the tags, and handle ESXi Hosts without parent clusters.
Would you mind giving 16fe2eab90efdf3b5d924a3c63c58a51e0b5938c a shot and letting me know how it does?

Results look similar if not the same. I've sent you new logs.

Well we've made progress! The tags look cleaned up and the errors are more helpful for sure.
2020-02-27 13:40:31,891 [WARNING] Unable to collect necessary data for vCenter hosts 'vim.HostSystem:host-99578'object. Received error: module 'settings' has no attribute 'ASSET_TAGS'

In the latest release of NetBox disabling the collection of asset tags was added as an optional setting. It appears that may be missing from your settings.py. Here is a snippet of the latest settings.example.py.
# Optional Settings
# Attempt to collect asset tags from vCenter hosts
ASSET_TAGS = True
# Perform reverse DNS lookup on all eligible IP addresses and populate DNS name field in NetBox
POPULATE_DNS_NAME = True
# Use custom DNS servers defined below for reverse DNS lookups
CUSTOM_DNS_SERVERS = False
# List of DNS servers to query for PTR records
DNS_SERVERS = ["<IP_ADDRESS>", "<IP_ADDRESS>"]
# Create a custom field for virtual machines to track the current host they reside on
TRACK_VM_HOST = False
# Specify custom NetBox Device / vCenter Host role. Must match the name of an existing NetBox Device Role.
DEVICE_ROLE = "Server"

Would you mind adding the optional settings and trying again? I'll raise a new enhancement request to check settings and fail during prerequisite stages if they are missing.

Done! Sending new logs.

Just for the heck of it, I've just tried running the script with ASSET_TAGS set to False, but I get the same result. It errors out when creating the host, as it can't find the cluster with matching name to put it in.

Thanks for sending the latest logs. Sorry for having to go through so many revisions.  I realize yet another reason why the script is getting tripped up now. It's honestly amazing the amount of use cases that would never cross your mind that may exist in the wild.
Outstanding issues

Your vCenter FQDN is vcenter.yourdomain.com the tag shortner strips this to vcenter and that's what is causing the duplicate tags. I'll get that patched shortly.
The host objects are not generating an attribute error like I originally thought, vCenter is instead responding the call by returning the object name itself as its own parent.. that doesn't make a great deal of sense, but I'll fix that.
You've got an asset tag 'asset_tag': '                                ' that should be getting matched by the banned asset tag check, but somehow got passed to the object. I even manually confirmed it is a bad tag as shown below.

Standby for an upcoming commit.
>>> def is_banned_asset_tag(text):
...     """
...     Determines whether the text is a banned asset tag through various tests.
...
...     :param text: Text to be checked against banned asset tags
...     :type text: str
...     :return: `True` if a banned asset tag else `False`
...     :rtype: bool
...     """
...     # Is asset tag in banned list?
...     text = text.lower()
...     banned_tags = [
...         "Default string", "NA", "N/A", "None", "Null", "Unknown", " ", ""
...         ]
...     banned_tags = [t.lower() for t in banned_tags]
...     if text in banned_tags:
...         result = True
...     # Does it exceed the max allowed length for NetBox asset tags?
...     elif len(text) > 50:
...         result = True
...     # Does asset tag contain all spaces?
...     elif text.replace(" ", "") == "":
...         result = True
...     # Apparently a "good" asset tag :)
...     else:
...         result = False
...     return result
...
>>> at = '                                '
>>> is_banned_asset_tag(at)
True
>>>

@acaronmd I submitted patches for all of the issues. Would you mind giving 00006d3caca379378782046d29d7a79a7d7b15c0 a spin? Thanks again. You've been extremely patient and easy to work with.

Thanks! I appreciate the work you're putting in to get this working. I find your script just as valuable as much as you do I'm sure.
I've sent new logs. More progress! Tags look good, hosts are being created now, but the VMs are not. You'll see in the logs. Also, I see the hosts are being assigned to the vCenter site, which prevents them from being racked in my actual sites. Not sure if the idea was to let it do an initial sync and then move it to the appropriate site. Thought it was worth mentioning tho.

Thanks! I forgot about the VM to Cluster relationship.  This is a bit more challenging. Give me a few to sort it out.
Regarding the sites, the script places the vCenter site as a placeholder and you should then be allowed to overwrite it without fear of it being reverted. This is handled by a case in the compare_dicts function.
        elif dict1[key] != dict2[key]:
            log.debug(
                "Mismatch: %s value is '%s' while %s value is '%s'.",
                dict1_path, dict1[key], dict2_path, dict2[key]
                )
            # Allow the modification of device sites by ignoring the value
            if "site" in path and key == "name":
                log.debug("Site mismatch is allowed. Moving on.")
            else:
                result = False

Alright I think I've got a reasonable way to sort this out. Unfortunately, I don't have a lab to mimic this in at this very moment. I'm requesting the resources so I don't have to rely on asking you to test, but would you mind running 1cb65ec and giving me your feedback? Thanks!

@synackray I just tested, and now the VMs are failing to be created due to the cluster field missing. I've sent logs.
If there's the ability to sync tags from the host, could the script handle placing the hosts in the appropriate site/rack group/rack, if each host had all the necessary tags to do so?

I don't know how I forgot that Virtual Machines require a cluster. That sort of defeats the entire model in this situation. NetBox is supposed to be a source of truth and if the ESXi hosts are not part of a cluster than there isn't a cluster to assign.
What are your thoughts on this? Would you be amenable if I defined a generic "Standalone ESXi Host" cluster?

I would be okay with a generic cluster like you mentioned, or even perhaps to have a cluster for each standalone host based on its name.

OK. The latter option is more challenging as the ESXi hosts are not clusters and will not appear when searching vCenter to determine clusters that should be orphaned. I'll think through that some and offer the generic cluster as an interim.

Assigning all standalone ESXi hosts to a single "Standalone ESXi Host" cluster for a single vCenter instance would work, but would break over multiple vCenter instances, unless a "Standalone ESXi Host" cluster is created for each vCenter instance.

In what way would it break? I'm struggling with the fact that it would be inaccurate, in the sense that the ESXi hosts and VMs are not part of a cluster, but I do not see a technical limitation.

I was able to get resources allocated to replicate this. With commit 29b1a8b I am seeing hosts and VMs be properly assigned to the "Standalone ESXi Host" group. I'm running it through multi-vcenter instance tests and then full regression testing just to be certain.

I misunderstood the relationship between clusters and sites for "Standalone ESXi Hosts", as I was expecting the cluster to be assigned to a cluster group.

That's what I like to hear! I'll continue to do some testing and start moving this towards develop and eventually master. Thank you again for all your support.


Compiling with MPI, issues declaring certain datatypes in user defined functions

Description
This issue might span more than one repository. In context, I'm MPI'ing a model where part of the model is a HMM. Thank you in advance for your time. Apologies for not breaking this down into separate issues, as I'm not sure where to put these.
Issues in user-defined functions
In general, there are issues in variable manipulation and declaration inside user-defined functions.
Specifically, I'm not able to declare the following in user-defined functions:
simplex, ordered
Next, to get the Stan model to compile with map_rect, and reduce_sum, I'm writing code that combines parameters into a single vector, and attempting to combine multiple datas, that consist of multiple matrices and responses into vector[]s and unpacking them in the user defined function. There are no issues with combining parameters into a vector and unpacking them in the user defined function.
However, when I'm combining real input data into a vector[] in order to pass into the user defined function, I'm not able to index in order to unpack the data and reformat so they work with the model code I've re-implemented in the user-defined function.
The issue is, in code:
data {
...
  vector[K] X[N];
  real q[N];
...
}
transformed data {
...
\\ to combine X, and q, in order to compile with map_rect/reduce_sum
real reals_xq[4, 25 * (K + 1)];

  int beg = 1;
  int end = 25;
  for (k in 1:K) {
    reals_xq[1, beg:end] = X[1:25, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[1, ((K * 25) + 1):(25 * K)] = q[1:25];

  beg = 1;
  end = 25;
  for (k in 1:K) {
    reals_xq[2, beg:end] = X[26:50, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[2, ((K * 25) + 1):(25 * K)] = q[26:50];

  beg = 1;
  end = 25;
  for (k in 1:K) {
    reals_xq[3, beg:end] = X[51:75, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[3, ((K * 25) + 1):(25 * K)] = q[51:75];

  beg = 1;
  end = 25;
  for (k in 1:K) {
    reals_xq[4, beg:end] = X[76:100, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[4, ((K * 25) + 1):(25 * K)] = q[76:100];
}

and the functions block, where I attempt to implement lr:
  vector lr(vector params_input, vector th_mp, real[] y, int[] x) {
    // many parameter initializations
    vector[N] lp;

    // unpack model data
    int y_mod[N] = x;
    real x_mod[4, (25 * K)];
    real q_mod[4, 25];

    // here's the issue:
    real blah = y[1][1];  \\ won't compile

    return [log_sum_exp(lp)]';
  }
}

The compilation error I get from, I believe the Stan2 compiler, is:
Too many indexes, expression dimensions=1, indexes found=2
Is there a work around for this?
Additional information
Here's the code I've tried to get to compile, excluding the model block, since it's not my work and it's irrelevant. It throws when I try to index y in the user-defined function. I'm looking for a workaround. I need to break y back apart into a response and design matrix.
functions {
  vector lr(vector params_input, vector th_mp, real[] y, int[] x) {
    int N = 2;
    int S = 2;
    int K = 7;  // fix k
    int H = 7;  // fix H

    // model params
    matrix[S*(S-1), K] beta;
    vector[1] alpha0;
    vector[H] alphai;
    vector[S] mu;
    vector[K] alpha;
    vector[1] sigma_q;
    vector[1] sigma_alpha;
    vector[N] lp;

    // unpack model data
    int y_mod[N] = x;
    real x_mod[4, (25 * K)];
    real q_mod[4, 25];
    real blah = y[1][1];
    //    q_mod[1,] = y[1][((K * 25) + 1):(25 * K)];

    // unpack model parameters
    beta = to_matrix(params_input[1:(S * (S-1) * K)], S*(S-1), K);
    alpha0 = params_input[((S * (S-1) * K) + 1):((S * (S-1) * K) + 2)];
    alphai = params_input[((S * (S-1) * K) + 3):((S * (S-1) * K) + 3 + H)];
    mu = params_input[((S * (S-1) * K) + 3 + H + 1):((S * (S-1) * K) + 3 + H + 1 + S)];
    alpha = params_input[((S * (S-1) * K) + 3 + H + S + 1):((S * (S-1) * K) + 2 + H + S + 1 + K)];
    sigma_q = params_input[((S * (S-1) * K) + 3 + H + S + 1 + K + 1):((S * (S-1) * K) + 2 + H + S + 1 + K + 2)];
    sigma_alpha = params_input[((S * (S-1) * K) + 3 + H + S + 1 + K + 3):((S * (S-1) * K) + 2 + H + S + 1 + K + 4)];

    return [log_sum_exp(lp)]';
  }
}
data{
  int<lower = 1> N;
  int<lower = 1> S;
  int<lower = 1> H;
  int<lower = 0> K;
  int<lower=0, upper=1> y[N];
  vector[K] X[N];
  real q[N];
  int<lower = 1> id[N];
  int<lower = 0> first[N];
}

transformed data {
  int ints_ys[4, 25] = { y[1:25], y[26:50], y[51:75], y[76:100]};
  vector[0] th_mp[4];
  real reals_xq[4, 25 * (K + 1)];

  int beg = 1;
  int end = 25;
  for (k in 1:K) {
    reals_xq[1, beg:end] = X[1:25, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[1, ((K * 25) + 1):(25 * K)] = q[1:25];

  beg = 1;
  end = 25;
  for (k in 1:K) {
    reals_xq[2, beg:end] = X[26:50, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[2, ((K * 25) + 1):(25 * K)] = q[26:50];

  beg = 1;
  end = 25;
  for (k in 1:K) {
    reals_xq[3, beg:end] = X[51:75, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[3, ((K * 25) + 1):(25 * K)] = q[51:75];

  beg = 1;
  end = 25;
  for (k in 1:K) {
    reals_xq[4, beg:end] = X[76:100, k];
    beg = end + 1;
    end = end + 25;
  }
  reals_xq[4, ((K * 25) + 1):(25 * K)] = q[76:100];

}

parameters {
  matrix[S*(S-1), K] beta;
  vector[1] alpha0;
  vector[H] alphai;
  ordered[S] mu;
  vector[K] alpha;
  vector[1] sigma_q;
  vector[1] sigma_alpha;
}

transformed parameters {
  /*
   params_input:
   store all parameters into a vector to work with map_rect/lr in this order:
   - beta, S * (S-1) * K  elements
   - alpha0, 1 element
   - alphai, H elements
   - mu, S elements
   - alpha, K elements
   - sigma_q, 1 element
   - sigma_alpha, 1 element
   */
  vector[S * (S-1) + K + 1 + H + S + K + 1 + 1] params_input;

  matrix[S, S] theta0[N];
  matrix[S, S] log_theta[N];
  matrix[S, S] tpm[N];

  params_input[1:(S * (S-1) * K)] = to_vector(beta);
  params_input[((S * (S-1) * K) + 1):((S * (S-1) * K) + 2)] = alpha0;
  params_input[((S * (S-1) * K) + 3):((S * (S-1) * K) + 3 + H)] = alphai;
  params_input[((S * (S-1) * K) + 3 + H + 1):((S * (S-1) * K) + 3 + H + 1 + S)] = mu;
  params_input[((S * (S-1) * K) + 3 + H + S + 1):((S * (S-1) * K) + 2 + H + S + 1 + K)] = alpha;
  params_input[((S * (S-1) * K) + 3 + H + S + 1 + K + 1):((S * (S-1) * K) + 2 + H + S + 1 + K + 2)] = sigma_q;
  params_input[((S * (S-1) * K) + 3 + H + S + 1 + K + 3):((S * (S-1) * K) + 2 + H + S + 1 + K + 4)] = sigma_alpha;

}

model {
  target += sum(map_rect(lr, params_input, th_mp, reals_xq, ints_ys));
}

I also want to show that I've done something simpler. Here's an HMM that compiles, runs faster, and recovers parameters fine according to my colleague. The different between this, however, is that I have multiple input datas I need to combine to get to work with MPI.
functions {
  vector lr(vector params_input, vector th_mp, real[] y, int[] x) {
    int N = 2;
    int T = size(y);
    matrix[N, N] theta;
    vector[N] mu;
    vector[N] log_theta_tr[N];
    vector[N] lp;
    vector[N] lp_p1;
    matrix[N, N] ta;
    vector[N] statdist;
    mu = params_input[1:N];
    theta[,1] = params_input[N+1:N+2];
    theta[,2] = params_input[N+3:N+4];

    for(j in 1:N){
      for(i in 1:N){
	ta[i,j]= theta[i,j];
      }
    }
    statdist = to_vector((to_row_vector(rep_vector(1.0, N))/
			  (diag_matrix(rep_vector(1.0, N)) - ta + rep_matrix(1, N, N)))) ;

    for (n_from in 1:N)
      for (n in 1:N)
	log_theta_tr[n, n_from] = log(theta[n_from, n]);
    // forward algorithm implementation
    for(n in 1:N) // first observation
      lp[n] = log(statdist[n]) + normal_lpdf(y[1] | mu[n], 1);
    for (t in 2:T) { // looping over observations
      for (n in 1:N) // looping over states
	lp_p1[n] = log_sum_exp(log_theta_tr[n] + lp) +
	  normal_lpdf(y[t] | mu[n], 1);
      lp = lp_p1;
    }
  return [log_sum_exp(lp)]';
  }
}
data {
  int<lower=0> N; // number of states
  int<lower=1> nobs; // length of data set
  int<lower=1> T;
  real y[T]; // observations
}
transformed data {
  // 4 shards
  real ys[4, 25] = { y[1:25], y[26:50], y[51:75], y[76:100]};
  vector[0] th_mp[4];
  int xs[4,1];
  xs[1,1] = 1;
  xs[2,1] = 1;
  xs[3,1] = 1;
  xs[4,1] = 1;
}
parameters {
  simplex[N] theta[N]; // N x N tpm
  ordered[N] mu; // state-dependent parameters
}
transformed parameters{
  vector[N + N + N] params_input;
  matrix[N, N] ta; //
  simplex[N] statdist; // stationary distribution

  params_input[1:N] = mu;
  params_input[N+1:N+2] = theta[1];
  params_input[N+3:N+4] = theta[2];

  for(j in 1:N){
    for(i in 1:N){
      ta[i,j]= theta[i,j];
    }
  }
  statdist = to_vector((to_row_vector(rep_vector(1.0, N))/
			(diag_matrix(rep_vector(1.0, N)) - ta + rep_matrix(1, N, N)))) ;
}
model {
  mu ~ student_t(3, 0, 1);
  target += sum(map_rect(lr, params_input, th_mp, ys, xs));

}
generated quantities {
  int z_star[T];
  real best_logp[T, N];
  int back_ptr[T, N];
  real log_p_z_star;
  matrix[N, N] ta_gen;
  simplex[N] statdist_gen; // stationary distribution
  vector[T] log_lik;
  real psi_seq;
  for(j in 1:N){
    for(i in 1:N){
      ta_gen[i,j]= theta[i,j];
    }
  }

  statdist_gen = to_vector((to_row_vector(rep_vector(1.0, N))/
			    (diag_matrix(rep_vector(1.0, N)) - ta + rep_matrix(1, N, N)))) ;

  for(n in 1:N) {
    //    best_logp[1, n] = log(statdist_gen[n]) + normal_lpdf(y[1] | mu[n], 2);
    best_logp[1, n] = normal_lpdf(y[1] | mu[n], 2);
  }
  for (t in 2:T) {
    for (k in 1:N) {
      best_logp[t, k] = negative_infinity();
      for (j in 1:N) {
  	real logp;
  	logp = best_logp[t - 1, j] + log(theta[j, k]) + normal_lpdf(y[t] | mu[k], 2);
  	if (logp > best_logp[t, k]) {
  	  back_ptr[t, k] = j;
  	  best_logp[t, k] = logp;
  	}
      }
    }
  }

  log_p_z_star = max(best_logp[T]);
  for (n in 1:N) {
    if (best_logp[T, n] == log_p_z_star)
      z_star[T] = n;
  }
  for (t in 1:(T - 1))
    z_star[T - t] = back_ptr[T - t + 1, z_star[T - t + 1]];
  // implement log_likelihood
  for (t in 1:T) {
    psi_seq = mu[z_star[t]];
    log_lik[t] = normal_rng(psi_seq, 1);
  }
}

Thank you.
Andre

Sorry for getting to this so late.
Given that y in the user defined function is a real[] its correct that this
real blah = y[1][1];  \\ won't compile

does not compile.
Were you maybe meaning to define it as an arary of vector or a 2D real array: real[,]?

Sorry for getting to this so late.
Given that y in the user defined function is a real[] its correct that this
real blah = y[1][1];  \\ won't compile

does not compile.
Were you maybe meaning to define it as an arary of vector or a 2D real array: real[,]?


Mention the extract() method in the README.md

The README.md file included in the generated project goes through all the features you must implement in the loadContent.js file, but it omits to specify that you must implement the extract() method.
This method is critical because it's used to retrieve the list of external items you want to import from the data source.

Good catch! It's a typo. In the readme, we mention that in the loadContent.ts you should implement the loadContent function but that should be extract. loadContent is good as-is. We'll update it asap. Thanks!


Implement token for the Join online event button on the ticket page

Add the token for video online join button on menu
Show a pop-up message for not logged in users or users without a ticket.

Pop up box:

This is a ticketed only event. To access Wikimania Katowice, you must use the ticket link in your confirmation email.
Lost the email? [Resend the email](link to resend order page/area)
Created an account for Wikimania Katowice before? [Log back in here](login page)

The pop up does not work yet. Please help to fix this.
There is a small change request from users for the pop up as well:

This is a ticketed event. Please check your email for your unique ticketed link to join.
Lost your ticket? [Resend the email][LINK] to receive it here .
Haven’t got a ticket yet? [Register here](LINK TO Tickets Page].

UPDATE: Users are still getting confused.
Please help to change it as follows:

This is a ticketed event. If you ordered a ticket as a guest user, you don't have an account but can still join events using the secret ticket link in your ticket confirmation email. Please check your email for the unique link to join online sessions.
Can't find your ticket? Resend the email to receive it.
Want to order a ticket? [Get a ticket here](LINK TO Tickets Page).
Want to create a Wikimania Katowice account? [Sign up here](Link to Sign up page).
Already have a Wikimania Katowice account? [Login here](Link to login page).


Font and Language issue

Before when using version <IP_ADDRESS> all items were in english but in every subsequent update I have a strange font that isn't even a real language it seems.
Also when using version 1.0.20 the Print screen function on my pc doesn't work.
I've attached images, sorry about the poor quality of the image.
I've opened them both simultaneously and also tried deleting the previous version before running the new one and that didn't fix the issue either.

Solved by basically blindly navigating the settings until the fonts settings wee fond.for some reason it was solved by changing the non english font instead of the english font.

I meet this issue too when I use version 1.0.23，I handle it via change file "Smithbox_Interface.json" in AppData/Local/Smithbox.
Just rewrite the line  "SelectedThemeName": "Dark", to  "SelectedThemeName": "Light", ..


Describe new client code generation Swagger features

Copy from #8460 by @dougbu - we like to open doc issues from the doc page so they show up in the Feedback section of the doc.
General
https://docs.microsoft.com/en-ca/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.1 covers the current state of client code generation in ASP.NET Core web sites. However, we're working to give customers simple ways to annotate their project files for automated code generation during every build (as source API descriptions change) and that should also be documented.
Note tooling for the new experience isn't going to happen immediately. The initial documentation should focus on manual edits to .csproj files.
Issues with Existing Topics
Does not cover work described in aspnet/AspNetCore#4896 and its sub-issues.
CC
@glennc

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f34eea37-51a4-6227-f5ed-6501624ad045
Version Independent ID: 2994cf60-0cb7-afa2-20b8-7e2b1117f964
Content: ASP.NET Core Web API help pages with Swagger / Open API
Content Source: aspnetcore/tutorials/web-api-help-pages-using-swagger.md
Product: aspnet-core
GitHub Login: @RSuter
Microsoft Alias: scaddie

You can now get an example of this working e2e using NSwag, but it isn't going to be completely RTM for 2.2. I think the best we can do here is start working on this doc first thing after the 2.2 ships as we will RTM it while we work on 3.0.

I'd love to see more docs around NSWAG for dotnetcore CI scenarios (msbuild preferably, but CLI would be ok).
Additionally, the problem details support such as what happens out of the box if anything, how should I set it up, how does OpenAPI and ApiExplorer learn from that, does NSWAG support this model, do I use the Extensions dictionary or inherit and add properties?
IMO these two experiences, along with docker work being done really empower micro-service design.

7c22abea99ad gets us closer but need partner releases using the latest features to complete this work.

Is there a way to get this issue to show up in the feedback section of this page?
I was already in the process of writing an issue that this feature should be described in way more detail when I remembered this issue here. It would be good if readers of that page didn't get the idea that that's all that can be said about the feature.

@cremor the issue can be tied to at most one page. I created and closed #15165 - which shows up on the closed issues tab of that page. Feel free to edit that closed issue.

updates on this one? thorough and detailed documentation on OpenApiReference would be very much appreciated 👍

Also looking for some updated docs on this - is OpenApiReference the recommended way for automated generation within csproj, or should I be looking elsewhere?

Thank you for contacting us. Due to a lack of activity on this discussion issue we're closing it in an effort to keep our backlog manageable. If you believe there is a concern which hasn't been addressed, please file a new issue.


Drag on sliders fires a click event

When you drag a slider with a tag "" slick fires a click to finish the drag.
How can i prevent that?
example:
https://jsfiddle.net/nexuszgt/pgoap3bf/4/
thanks.

You can achieve the desired effect by using beforeChangeand  afterChangemethods and assign an onClick on the anchors.
Based on your sample code this should be working and will not force links to open on dragging. You can also use ES6 classes instead and bind to this instead of a variable.
https://jsfiddle.net/eckrawhy/

@costagolub your "hack" works but i think slick-lib should be fix that because it's a behavior we don't expect

has this been fixed?

has this been fixed?

Its not fixed on my 0.23.1 version

I had the same problem, which I solved for my case with the following code.
$('.my-slider').on('swipe', function(event) {
  $(this).addClass('on-drag');
});

$('.my-slider').on('afterChange', function(event) {
  $(this).removeClass('on-drag');
});

$('.my-link-slide').click(function(e) {
  if ( $('.my-slider').hasClass('on-drag')) {
    e.preventDefault();
  }
});

A simple way to bypass click triggering when swipping has already been writted by VeronQ...
But the internal bubbling and native events manager of the lib tiggers the click after the mouseup/touchend.
So the way is to delay a bit the class removing.
                // Adds a class when swipping...
                $('.slick-slider').off('swipe').on('swipe', function(event, slick, direction){
                    $('.slick-slider').addClass('swipping');
                });

                // Remove tha class after swipe was done, AND delayed of ~100 ms
                $('.slick-slider').off('afterChange').on('afterChange', function(event, slick, currentSlide, nextSlide){
                    setTimeout( function(){ $('.slick-slider').removeClass('swipping'); } , 110 );
                });

                // Your event on the item when the user clicks on.
                $('.slick-slider .gp-item .item').off().on('click', function(e){
                    e.preventDefault();
                    if( $('.slick-slider').hasClass('swipping') )return;

                    // Your onclick code here...
                });

There is another approach. We could use onClickCapture, onMouseUpCapture, onMouseDownCapture events to prevent click propogation during swiping:
See details here:
https://github.com/akiran/react-slick/issues/604

I'd just like to add something that helped me (not a solution, sorry). There's a setting to disable dragging (draggable: false), but I didn't want to do that because I want mobile users to be able to drag. What I didn't understand is that draggable is only for the mouse. Setting draggable to false still allows touchscreen users to swipe the slider, and this click-after-dragging issue doesn't happen with touchscreens. For desktop users I don't care if they cannot drag the slider with the mouse since I have arrows, so just setting draggable:false prevents this click issue for desktop users, and mobile users can still swipe the carousel without any issues.

Here's my solution that makes use of clientX and clientY attributes of the click and mousedown events and react component state to solve this issue.
Basically it's comparing the mouse position at mouse down and click and if either X or Y is different, then it will preventDefault() (default browser behavior being to go to the link)
class Carousel extends React.Component {
  constructor (props) {
    super(props)
    this.state = {
      clientXonMouseDown: null,
      clientYonMouseDown: null
    }
    this.settings = {
      dots: true,
      arrows: false,
      swipeToSlide: true,
      infinite: false,
    ...
    }
  }

  handleOnMouseDown (e) {
    this.setState({
      clientXonMouseDown: e.clientX,
      clientYonMouseDown: e.clientY
    })
    e.preventDefault() // stops weird link dragging effect
  }

  handleOnClick (e) {
    e.stopPropagation()
    if (this.state.clientXonMouseDown !== e.clientX ||
        this.state.clientYonMouseDown !== e.clientY) {
      // prevent link click if the element was dragged
      e.preventDefault()
    }
  }

  render () {
    const { items } = this.props
    return (
      <Slider
        {...this.settings} >
        {items.map((item, index) => (
           this.handleOnMouseDown(e)}
            onClick={e => this.handleOnClick(e)}
            >
           Link innerText

        ))}
      </Slider>)
  }
}

export default Carousel

I've tried this solution. It works fine for the dragging part. I can drag the items. But when I clicked, there's nothing happened. So I check on what happen in the handleOnClick(), I found that the value of those states are undefined as it didnt mutated immediately after setState in handleOnMouseDown(). Thus it kept on preventDefault. Any idea how to mutate the state immediately or I missed something?

any update on this?

I thought I'd give my two cents and share how I fixed this issue using a React Functional component with Hooks. The key here is to capture the click event using onClickCapture for the slider children (https://javascript.info/bubbling-and-capturing)
import React, { useState, useCallback } from 'react'
import Slick from 'react-slick'

export const Slider = ({children, ...props}) => {
  const [dragging, setDragging] = useState(false)

    const handleBeforeChange = useCallback(() => {
        console.log('handleBeforeChange')
        setDragging(true)
    }, [setDragging])

    const handleAfterChange = useCallback(() => {
        console.log('handleAfterChange')
        setDragging(false)
    }, [setDragging])

    const handleOnItemClick = useCallback(
        e => {
            console.log('handleOnItemClick')
            if (dragging) e.stopPropagation()
        },
        [dragging]
    )

   return (
      <Slick {...props}>
         {React.Children.map(children, child => (

{child}

         ))}
      </Slick>
  )
}

@fnhipster Thanks for sharing! Unfortunately, that did not work for me. When do you call handleAfterChange  and handleBeforeChange ? Or these are not necessary?

@MantasMikal my mistake, I missed the handleAfterChange and handleAfterChange props.  I hope that works for you.

@fnhipster that worked for me!  Excellent way of solving the issue.  Only issue is missing bracket on {handleBeforeChange   <--- missing bracket here
Thanks!

You can just add
.slick-slide img {     pointer-events: none; }
to your css :)

You can just add
.slick-slide img { pointer-events: none; }
to your css :)

That might work only if you don't have any clickable event in your slider. I.e., any link or button would also not be clickable.

I feel like this is a pretty common problem. Any fix on this? My code is not working after trying the above mentioned
import React, { useState, useCallback } from 'react';
import styled from '@emotion/styled';
import Slider from 'react-slick';
import { NoStyleLink } from '../../resusableStyles/Links/LinkStyles';

const Property = styled(NoStyleLink)`
  width: 20rem;
  height: 20rem;
  & img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
`;

export const PropertyGallery = ({ properties }) => {
  const [dragging, setDragging] = useState(false);

  const handleBeforeChange = useCallback(() => {
    console.log('handleBeforeChange');
    setDragging(true);
  }, [setDragging]);

  const handleAfterChange = useCallback(() => {
    console.log('handleAfterChange');
    setDragging(false);
  }, [setDragging]);

  const handleOnItemClick = useCallback(
    (e) => {
      console.log('handleOnItemClick');
      if (dragging) e.stopPropagation();
    },
    [dragging],
  );
  const settings = {
    dots: true,
    infinite: true,
    speed: 1000,
    autoplaySpeed: 5000,
    fadeIn: false,
    autoplay: true,
    pauseOnHover: true,
    slidesToShow: 4,
    slidesToScroll: 1,
    rows: 1,

    responsive: [
      {
        breakpoint: 1000,
        settings: {
          slidesToShow: 3,
          slidesToScroll: 1,
          infinite: true,

          rows: 1,
        },
      },
      {
        breakpoint: 600,
        settings: {
          slidesToShow: 2,
          slidesToScroll: 1,
        },
      },
      {
        breakpoint: 400,
        settings: {
          slidesToShow: 1,
          slidesToScroll: 1,
        },
      },
    ],
  };

  console.log('properties are');
  return (
    <Slider
      beforeChange={handleBeforeChange}
      afterChange={handleAfterChange}
      {...settings}
    >
      {properties.slice(0, 5).map((property, i) => (
        <Property onClickCapture={handleOnItemClick} key={i}>

        </Property>
      ))}
    </Slider>
  );
};

I like @fnhipster's approach but found that occasionally beforeChange would fire when first mounted but without afterChange also firing.  This seems to be related to the issue where initialSlide is not honored sometimes in infinite mode.  Probably a deeper timing issue, but at any rate, it meant that sometimes no clicks would register until a swipe event occurred.
I'm getting around that by using the swipe event directly, which as far as I've seen always fires before the child's click event.
import React, { useCallback, useState } from 'react'
import PropTypes from 'prop-types'
import Slick from 'react-slick'

export default ({ children, ...rest }) => {
  const [swiped, setSwiped] = useState(false)

  const handleSwiped = useCallback(() => {
    setSwiped(true)
  }, [setSwiped])

  const handleOnItemClick = useCallback(
    (e) => {
      if (swiped) {
        e.stopPropagation()
        e.preventDefault()
        setSwiped(false)
      }
    },
    [swiped],
  )

  return (
    <Slick
      onSwipe={handleSwiped}
      {...rest}
    >
      {React.Children.map(children, child => (

{child}

      ))}
    </Slick>
  )
}

HTH

@fnhipster Thanks for your solution! I'm a bit sad that there is no built-in way to prevent clicks on the slider content when the user dragged it (should be possible, shouldn't it?), so I built my own drag detection:
import React, { PropsWithChildren, Ref, useState } from "react";
import Slider, { Settings as SliderProps } from "react-slick";

export type DefaultSliderProps = SliderProps;

/**
 * Threshold from which mouse movement with pressed mouse button
 * is considered a drag instead of a click.
 */
const MoveDragThreshold = 10;

function useDragDetection(): {
  handleMouseDown: () => void;
  handleMouseUp: () => void;
  handleMouseMove: (e: React.MouseEvent<unknown, MouseEvent>) => void;
  dragging: boolean;
} {
  const [mouseDown, setMouseDown] = useState(false);
  const [mouseMove, setMouseMove] = useState(0);

  function handleMouseDown(): void {
    setMouseMove(0);
    setMouseDown(true);
  }

  function handleMouseUp(): void {
    setMouseDown(false);
  }

  function handleMouseMove(e: React.MouseEvent<unknown, MouseEvent>): void {
    if (mouseDown) {
      setMouseMove(mouseMove + Math.abs(e.movementX) + Math.abs(e.movementY));
    }
  }

  return {
    handleMouseDown,
    handleMouseUp,
    handleMouseMove,
    dragging: mouseMove > MoveDragThreshold,
  };
}

export function DefaultSlider(
  props: PropsWithChildren<DefaultSliderProps>
): React.ReactElement {
  const { children, ...sliderProps } = props;

  const {
    handleMouseDown,
    handleMouseUp,
    handleMouseMove,
    dragging,
  } = useDragDetection();

  function handleChildClick(
    e: React.MouseEvent<HTMLDivElement, MouseEvent>
  ): void {
    if (dragging) {
      e.preventDefault();
    }
  }

  return (
    <Slider {...sliderProps}>
      {React.Children.map(children, (child) => (

          {child}

      ))}
    </Slider>
  );
}

The solution from @fnhipster was already quite good, but I didn't like that it still triggered the click when the user only dragged a bit without changing the to another slide. So I introduced the MoveDragThreshold to distinguish between a click and a drag. It might be useful even outside the sliders. Hope this helps some fellow devs! :)

clientYonMouseDown

Here's my solution that makes use of clientX and clientY attributes of the click and mousedown events and react component state to solve this issue.
Basically it's comparing the mouse position at mouse down and click and if either X or Y is different, then it will preventDefault() (default browser behavior being to go to the link)
class Carousel extends React.Component {
  constructor (props) {
    super(props)
    this.state = {
      clientXonMouseDown: null,
      clientYonMouseDown: null
    }
    this.settings = {
      dots: true,
      arrows: false,
      swipeToSlide: true,
      infinite: false,
    ...
    }
  }

  handleOnMouseDown (e) {
    this.setState({
      clientXonMouseDown: e.clientX,
      clientYonMouseDown: e.clientY
    })
    e.preventDefault() // stops weird link dragging effect
  }

  handleOnClick (e) {
    e.stopPropagation()
    if (this.state.clientXonMouseDown !== e.clientX ||
        this.state.clientYonMouseDown !== e.clientY) {
      // prevent link click if the element was dragged
      e.preventDefault()
    }
  }

  render () {
    const { items } = this.props
    return (
      <Slider
        {...this.settings} >
        {items.map((item, index) => (
           this.handleOnMouseDown(e)}
            onClick={e => this.handleOnClick(e)}
            >
           Link innerText

        ))}
      </Slider>)
  }
}

export default Carousel

Thanks, it works like a charm

I like @fnhipster's approach but found that occasionally beforeChange would fire when first mounted but without afterChange also firing. This seems to be related to the issue where initialSlide is not honored sometimes in infinite mode. Probably a deeper timing issue, but at any rate, it meant that sometimes no clicks would register until a swipe event occurred.
I'm getting around that by using the swipe event directly, which as far as I've seen always fires before the child's click event.
import React, { useCallback, useState } from 'react'
import PropTypes from 'prop-types'
import Slick from 'react-slick'

export default ({ children, ...rest }) => {
  const [swiped, setSwiped] = useState(false)

  const handleSwiped = useCallback(() => {
    setSwiped(true)
  }, [setSwiped])

  const handleOnItemClick = useCallback(
    (e) => {
      if (swiped) {
        e.stopPropagation()
        e.preventDefault()
        setSwiped(false)
      }
    },
    [swiped],
  )

  return (
    <Slick
      onSwipe={handleSwiped}
      {...rest}
    >
      {React.Children.map(children, child => (

{child}

      ))}
    </Slick>
  )
}

HTH

@
dkadrios how do I pass a value to handleOnItemClick?

I'd just like to add something that helped me (not a solution, sorry). There's a setting to disable dragging (draggable: false), but I didn't want to do that because I want mobile users to be able to drag. What I didn't understand is that draggable is only for the mouse. Setting draggable: false still allows touchscreen users to swipe the slider, and this click-after-dragging issue doesn't happen with touchscreens. For desktop users I don't care if they cannot drag the slider with the mouse since I have arrows, so just setting draggable: false prevents this click issue for desktop users, and mobile users can still swipe the carousel without any issues.

Well, this approach fits 100 % my needs, so I guess it really IS a solution. Thanks a lot!

Here's my solution that makes use of clientX and clientY attributes of the click and mousedown events and react component state to solve this issue.
Basically it's comparing the mouse position at mouse down and click and if either X or Y is different, then it will preventDefault() (default browser behavior being to go to the link)
class Carousel extends React.Component {
  constructor (props) {
    super(props)
    this.state = {
      clientXonMouseDown: null,
      clientYonMouseDown: null
    }
    this.settings = {
      dots: true,
      arrows: false,
      swipeToSlide: true,
      infinite: false,
    ...
    }
  }

  handleOnMouseDown (e) {
    this.setState({
      clientXonMouseDown: e.clientX,
      clientYonMouseDown: e.clientY
    })
    e.preventDefault() // stops weird link dragging effect
  }

  handleOnClick (e) {
    e.stopPropagation()
    if (this.state.clientXonMouseDown !== e.clientX ||
        this.state.clientYonMouseDown !== e.clientY) {
      // prevent link click if the element was dragged
      e.preventDefault()
    }
  }

  render () {
    const { items } = this.props
    return (
      <Slider
        {...this.settings} >
        {items.map((item, index) => (
           this.handleOnMouseDown(e)}
            onClick={e => this.handleOnClick(e)}
            >
           Link innerText

        ))}
      </Slider>)
  }
}

export default Carousel

thanks you its worked

href={v.url ? v.url : "#"}                       target={this.checkJunp(v)}                       onClick={() => {                         return false                       }}
it works well for me

Is this the same issue as #604 ?
If so, I just posed my solution there, which is a TS drop-in replacement for the Slider, if anyone is interested: https://github.com/akiran/react-slick/issues/604#issuecomment-1364202362

href={v.url ? v.url : "#"} target={this.checkJunp(v)} onClick={() => { return false }} it works well for me

what to if i want to trigger a function instead?

$('body').on('swipe', '.slick-slider', function(event, slick, direction){
event.stopPropagation();
});

This works like a charm:
import React, { useState } from "react";
import Slider from "react-slick";

const MyCarousel = ({ items }) => {
  const [isDragging, setIsDragging] = useState(false);

  const handleBeforeChange = () => {
    setIsDragging(true); // User is dragging
  };

  const handleAfterChange = () => {
    setIsDragging(false); // Dragging has stopped
  };

  const handleClick = (item) => {
    if (isDragging) return; // Prevent click if dragging
    console.log("Clicked item:", item);
  };

  const settings = {
    dots: true,
    infinite: true,
    speed: 500,
    slidesToShow: 3,
    slidesToScroll: 1,
    beforeChange: handleBeforeChange, // React-Slick hooks
    afterChange: handleAfterChange,
  };

  return (
    <Slider {...settings}>
      {items.map((item, index) => (

 handleClick(item)}>

{item}

      ))}
    </Slider>
  );
};

export default MyCarousel;

Credits to chatgpt for the answer and to me for taking the time to ask to chatgpt😅


Fix entrypoint bug since vscode 1.64 (issue #24)

#24

I also had that problem with MacOS as a host system. This fix helps.

I opened an issue at https://github.com/microsoft/vscode-remote-release/issues/6337
Feel free to 👍 it so it gets some attention 😉 Thanks again for the fix.

For anyone ending up here, it should be fixed in the upcoming remote containers extension release.
See https://github.com/microsoft/vscode-remote-release/issues/6337#issuecomment-1048215351


ResponseType code id_token

Describe the bug
when using the response type 'code id_token' the method 'tryLogin' breaks, it tries to use the tryLoginImplicitFlow,
this is due to the check verifing if the value is 'code' and only 'code' when in fact it can be for example 'code id_token'.
line with the problem: link
for now, i`m using the the 'specific' method 'tryLoginCodeFlow'
Stackblitz example
there is not much to show as the code is self explanatory
To Reproduce
configure a responseType of 'code id_token' and try to call the method 'tryLogin', it will cause to try and use the implicit flow.
Expected behavior
the if should check if the responseType contains 'code', not just code.
Desktop (please complete the following information):
internal issue.
Additional context
none

I'm afraid you're running into #844: hybrid flow is not supported by the library (and the lib fails to give an appropriate warning to you, see linked issue).

I see, the thing is the 'id_token' is needed so when the logout is triggered, so there is no need to confirm anything with the user, this is done normaly using the id_token_hint, on the logout redirect.
the library already has a built in "replace" for id_token_hint on the logout method, using the postlogouturl. can you give a direction on how to accomplish this using only code? i`m already using your samples as a base

Alas no I'm sorry no idea, you'll need to tweak and try things for your scenario to see what works best. Good luck!

@albertoVieiraNeto I'm running into similar problem, did you change the library or adjust the flow to code?

I've left a more extensive comment in another issue, but in the end Hybrid Flow will likely not be supported by this library. I will leave this issue open for a moment though, because I feel like a better runtime error for this situation would be a great improvement to help people realize this is the case.

Opened #1169 to add the runtime error. Otherwise I think this issue can be closed, since Hybrid Flow won't be supported otherwise. Hope that makes sense!


Docs: Add a short explanation of conventional commits in the contributing.md file

I saw in the commit history that you're following the conventional commits, which may not be familiar to new contributors.
I would like to add a short explanation with practical examples in the contributing.md file to help new contributors write a better subject line in their commits before contributing.
I can work on this issue.

@choubari proceed, please

working on it

working on it

Okay, any update?

Opened PR #106


refactor: some small refactoring

lgtm, ty!
please provide a smol summary for these type of prs, I also don't mind having 1 pr per change, like is_zero and rm unnecessary type hints

Understood will do this for next prs


Doesn't work in IE

Error in IE:
"The object does not support the "startsWith" property or method."
How can I fix this without changing your code?

Which IE version?

i am happy to change startWidth to indexOf, but depend on which version of IE. it may not work as well as modern browsers.

IE 11
startWidth not support in all IE versions
maybe polyfill will help?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith#Polyfill

i have updated the code to use indexOf instead of startsWith
https://github.com/bluebill1049/react-simple-img/releases/tag/2.1.7
would you mind to star the repo to support this package?  :) (if not no hard feeling too) thanks

Oh thanks. Now it works in IE! Of course I put a star. I really liked this package, it is easy to use :).
Thanks for the quick fix.

thank you heaps @Argeare5 for the star and report the issue 🙏


[IOTDB-4037] reduce thread count for new standalone server

Clean up useless code and parameters for new standalone server
Reduce the thread number for new standalone server

Coverage decreased (-0.0004%) to 42.517% when pulling 9453e43743b52ff873226e9c981ebf460cc8149e on clean_thread into 8f12321e75c1778ad1a9c4a9f9b7527893f3cf58 on master.


Command is incorrect in the engineer system checks doc

In eng_sys_checks.md, the command tox run -e latestdependency -c ../../../tox/tox.ini --root . should be tox run -e latestdependency -c ../../../eng/tox/tox.ini --root .. Please check and fix.

Thanks for pointing that out @wuweiran. Fixed in https://github.com/Azure/azure-sdk-for-python/pull/33006


Add maturity criteria

One of the things that is missing from the current CFP template and process is the notion of maturity criteria. Put simply, when should a feature be considered good enough for alpha, beta, stable status. This issue is intended to gather feedback on this aspect and how we can facilitate thought and discussion around feature maturity as part of the CFP process.
The CFP process doesn't necessarily need to encompass this - we could just publish guidelines on individual repositories and deal with feature maturity as part of the code review process. However if there is a CFP for a particular change, it would be useful to encourage designers and reviewers to consider maturity targets during the design process.

We had a little bit of discussion about this during today's sig-scalability discussion (notes here). One of the driving ideas is "what are 2-3 things you would want the feature to have in order to support it in a production environment?". A few brief considerations for maturity are listed below before reaching "stable":

Observability to make sure things work
Fail-safes so when things don't work, they fail gracefully
Demonstrated real-world usage in production

The CFP process doesn't necessarily need to encompass this - we could just publish guidelines on individual repositories and deal with feature maturity as part of the code review process. However if there is a CFP for a particular change, it would be useful to encourage designers and reviewers to consider maturity targets during the design process.

I think it's alright to not know all criteria during initial CFP development for beta or stable status.
But having this even as a placeholder in the template would encourage authors / reviewers to come back to CFP later on and fill in gaps that were discovered during the development process. This would allow us to review again at a later stage once we know more about a particular feature.
It's also a good idea to decouple it from regular code PR that marks the feature as stable, to fully reconsider what are limitations / gaps that need to be resolved.
Example from K8s
A similar example for CiliumEndpointSlices from Cilium: https://github.com/cilium/cilium/issues/31904 where we created "graduation" criteria later on.


[BUG]

when running pub global activate fvm this came out
Precompiling executables... (1.9s)
Failed to precompile fvm:main:
../../../../.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart:23:7: Error: Struct 'Utf8' is empty. Empty structs are undefined behavior.
class Utf8 extends Struct {
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf16.dart:16:7: Error: Struct 'Utf16' is empty. Empty structs are undefined behavior.
class Utf16 extends Struct {
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1111:7: Error: Struct 'ENUMLOGFONTEX' is empty. Empty structs are undefined behavior.
class ENUMLOGFONTEX extends Struct {
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2835:7: Error: Struct 'BLUETOOTH_PIN_INFO' is empty. Empty structs are undefined behavior.
class BLUETOOTH_PIN_INFO extends Struct {
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2960:7: Error: Struct 'EXCEPINFO' is empty. Empty structs are undefined behavior.
class EXCEPINFO extends Struct {}
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2966:7: Error: Struct 'PROPERTYKEY' is empty. Empty structs are undefined behavior.
class PROPERTYKEY extends Struct {}
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2973:7: Error: Struct 'PROPVARIANT' is empty. Empty structs are undefined behavior.
class PROPVARIANT extends Struct {}
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2978:7: Error: Struct 'SAFEARRAY' is empty. Empty structs are undefined behavior.
class SAFEARRAY extends Struct {}
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2985:7: Error: Struct 'CLSID' is empty. Empty structs are undefined behavior.
class CLSID extends Struct {}
      ^
../../../../.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2992:7: Error: Struct 'STATSTG' is empty. Empty structs are undefined behavior.
class STATSTG extends Struct {}
      ^

when running pub cache repair this came out
Reactivating fvm 1.3.7...
Precompiling executables...
Failed to precompile fvm:main:
Error: Could not resolve the package 'fvm' in 'package:fvm/fvm.dart'.
../../../../.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:3:8: Error: Not found: 'package:fvm/fvm.dart'
import 'package:fvm/fvm.dart';
       ^
../../../../.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:6:9: Error: Method not found: 'fvmRunner'.
  await fvmRunner(arguments);
        ^^^^^^^^^
Failed to reactivate fvm 1.3.7: Failed to precompile fvm:main:
Error: Could not resolve the package 'fvm' in 'package:fvm/fvm.dart'.
../../../../.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:3:8: Error: Not found: 'package:fvm/fvm.dart'
import 'package:fvm/fvm.dart';
       ^
../../../../.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:6:9: Error: Method not found: 'fvmRunner'.
  await fvmRunner(arguments);
        ^^^^^^^^^
Failed to reactivate 1 package:
- fvm

this bug:
/Users/tomasradvansky/Development/flutter/.pub-cache/bin/fvm: line 7: pub: command not found
has been resolved by adding this lines to .zshrc:
export PATH="$PATH":"$HOME/Development/flutter/bin"
export PATH="$PATH":"$HOME/Development/flutter/.pub-cache/bin"
export PATH="$PATH":"$HOME/Development/flutter/bin/cache/dart-sdk/bin"

Did the cache stuff @leoafarias ,did not help.
Tried also deactivate it, activate again etc...
Failed to precompile fvm:main:
Error: Could not resolve the package 'fvm' in 'package:fvm/fvm.dart'.
.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:3:8: Error: Not found: 'package:fvm/fvm.dart'
import 'package:fvm/fvm.dart';
       ^
.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:6:9: Error: Method not found: 'fvmRunner'.
  await fvmRunner(arguments);
        ^^^^^^^^^
Failed to reactivate fvm 1.3.7: Failed to precompile fvm:main:
Error: Could not resolve the package 'fvm' in 'package:fvm/fvm.dart'.
.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:3:8: Error: Not found: 'package:fvm/fvm.dart'
import 'package:fvm/fvm.dart';
       ^
.pub-cache/hosted/pub.dartlang.org/fvm-1.3.7/bin/main.dart:6:9: Error: Method not found: 'fvmRunner'.
  await fvmRunner(arguments);
        ^^^^^^^^^
Binstubs exist for non-activated packages:
  From fvm: fvm
Failed to reactivate 1 package:
- fvm

OR
Failed to precompile fvm:main:
.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart:23:7: Error: Struct 'Utf8' is empty. Empty structs are undefined behavior.
class Utf8 extends Struct {
      ^
.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf16.dart:16:7: Error: Struct 'Utf16' is empty. Empty structs are undefined behavior.
class Utf16 extends Struct {
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1111:7: Error: Struct 'ENUMLOGFONTEX' is empty. Empty structs are undefined behavior.
class ENUMLOGFONTEX extends Struct {
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2835:7: Error: Struct 'BLUETOOTH_PIN_INFO' is empty. Empty structs are undefined behavior.
class BLUETOOTH_PIN_INFO extends Struct {
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2960:7: Error: Struct 'EXCEPINFO' is empty. Empty structs are undefined behavior.
class EXCEPINFO extends Struct {}
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2966:7: Error: Struct 'PROPERTYKEY' is empty. Empty structs are undefined behavior.
class PROPERTYKEY extends Struct {}
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2973:7: Error: Struct 'PROPVARIANT' is empty. Empty structs are undefined behavior.
class PROPVARIANT extends Struct {}
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2978:7: Error: Struct 'SAFEARRAY' is empty. Empty structs are undefined behavior.
class SAFEARRAY extends Struct {}
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2985:7: Error: Struct 'CLSID' is empty. Empty structs are undefined behavior.
class CLSID extends Struct {}
      ^
.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:2992:7: Error: Struct 'STATSTG' is empty. Empty structs are undefined behavior.
class STATSTG extends Struct {}

As someone else here:
https://github.com/leoafarias/fvm/issues/242
I am running OSX, M1 chip and flutter 2

Issue resolved, had to remove DART path coming from flutter installation and use part from BREW and then reinstall

for me the issue was resolved by reinstalling Flutter SDK and therefore flushing everything pub related aswell and then just reinstalling FVM. Went pretty smooth