Got bootloop 3 times and get back to recovery (thyme)

Base rom: xiaomi.eu_THYME_OS<IP_ADDRESS>.TGACNXM_13
Port rom: xiaomi.eu_FUXI_OS<IP_ADDRESS>.UMCCNXM_14
Build environment: WSL
Hello i'm using your tool to make port for my device but i having a problem that when i flash ported rom to my device, my mi10s got stuck on xiaomi logo and bootloop like 3 times and then it went to recovery
Can you guys check it out?? thank you very much
-Build Log:
khai@Khai-Laptop:~$ cd hyperos_port/
khai@Khai-Laptop:~/hyperos_port$ sudo ./port.sh "/mnt/c/crb_339/xiaomi.eu_THYME_OS<IP_ADDRESS>.TGACNXM_13.zip" "/mnt/c/crb_339/xiaomi.eu_FUXI_OS<IP_ADDRESS>.UMCCNXM_14.zip"
[sudo] password for khai:
[0905-01:38:09] BASEROM: /mnt/c/crb_339/xiaomi.eu_THYME_OS<IP_ADDRESS>.TGACNXM_13.zip
[0905-01:38:09] PORTROM: /mnt/c/crb_339/xiaomi.eu_FUXI_OS<IP_ADDRESS>.UMCCNXM_14.zip
[0905-01:38:09] Validating BASEROM..
[0905-01:38:09] Found super.img.* files
[0905-01:38:09] Validating PORTROM..
[0905-01:38:09] Found super.img.* files
[0905-01:38:09] ROM validation passed.
[0905-01:38:09] Cleaning up..
[0905-01:38:12] Files cleaned up.
[0905-01:38:12] Extracting files from BASETROM [super.img]
[0905-01:40:36] Merging super.img.* into super.img
[0905-01:40:55] [super.img] extracted.
[0905-01:40:55] Extracting files from PORTROM [super.img]
[0905-01:43:52] Merging super.img.* into super.img
[0905-01:44:10] [super.img] extracted.
[0905-01:44:10] Unpacking BASEROM [super.img]
[0905-01:44:36] [ext] Extracing system.img
[0905-01:44:40] [ext] system.img extracted.
[0905-01:44:40] [ext] Extracing system_ext.img
[0905-01:44:43] [ext] system_ext.img extracted.
[0905-01:44:43] [ext] Extracing product.img
[0905-01:45:05] [ext] product.img extracted.
[0905-01:45:06] [ext] Extracing mi_ext.img
[0905-01:45:06] [ext] mi_ext.img extracted.
[0905-01:45:06] [ext] Extracing vendor.img
[0905-01:45:15] [ext] vendor.img extracted.
[0905-01:45:15] [ext] Extracing odm.img
[0905-01:45:15] [ext] odm.img extracted.
[0905-01:45:15] Starting extract portrom partition from img
[0905-01:45:15] Extracting [mi_ext] from PORTROM super.img
[0905-01:45:15] lpunpack.py PORTROM super.img mi_ext_a
Extracting partition [mi_ext_a] .... [ok]
[0905-01:45:15] [erofs] Extracing mi_ext.img
[0905-01:45:15] [erofs] mi_ext.img extracted.
[0905-01:45:15] Skip extracting [odm] from PORTROM
[0905-01:45:15] Extracting [product] from PORTROM super.img
[0905-01:45:15] lpunpack.py PORTROM super.img product_a
Extracting partition [product_a] .... [ok]
[0905-01:45:26] [erofs] Extracing product.img
[0905-01:45:34] [erofs] product.img extracted.
[0905-01:45:35] Extracting [system] from PORTROM super.img
[0905-01:45:35] lpunpack.py PORTROM super.img system_a
Extracting partition [system_a] .... [ok]
[0905-01:45:37] [erofs] Extracing system.img
[0905-01:45:39] [erofs] system.img extracted.
[0905-01:45:39] Extracting [system_ext] from PORTROM super.img
[0905-01:45:39] lpunpack.py PORTROM super.img system_ext_a
Extracting partition [system_ext_a] .... [ok]
[0905-01:45:41] [erofs] Extracing system_ext.img
[0905-01:45:42] [erofs] system_ext.img extracted.
[0905-01:45:42] Skip extracting [vendor] from PORTROM
[0905-01:45:42] Fetching ROM build prop.
[0905-01:45:42] Android Version: BASEROM:[Android 13], PORTROM [Android 14]
[0905-01:45:42] SDK Verson: BASEROM: [SDK 30], PORTROM: [SDK 34]
[0905-01:45:42] ROM Version: BASEROM: [V8<IP_ADDRESS>.TGACNXM], PORTROM: [OS<IP_ADDRESS>.UGACNXM]
[0905-01:45:42] Device Code: BASEROM: [thyme], PORTROM: [fuxi]
[0905-01:45:42] Replacing [AospFrameworkResOverlay.apk]
[0905-01:45:42] Replacing [MiuiFrameworkResOverlay.apk]
[0905-01:45:42] Replacing [DevicesAndroidOverlay.apk]
[0905-01:45:42] Replacing [DevicesOverlay.apk]
[0905-01:45:42] Replacing [SettingsRroDeviceHideStatusBarOverlay.apk]
[0905-01:45:42] Replacing [MiuiBiometricResOverlay.apk]
[0905-01:45:42] Copying device_features
[0905-01:45:42] Replacing stock MiSound
[0905-01:45:43] MiuiBiometric is missing, copying from base...
[0905-01:45:43] Fixing AOD issue: DevicesAndroidOverlay.apk ...
[0905-01:45:44] Change defaultPeakRefreshRate: AospFrameworkResOverlay.apk ...
[0905-01:45:45] ro.vndk.version found in build/portrom/images/vendor/default.prop: 30
[0905-01:45:45] The file already contains the version 30. Skipping modification.
[0905-01:45:45] StrongToast UI fix
[0905-01:45:45] Modifying MiuiSystemUI.apk
[0905-01:45:52] Target classes Found
[0905-01:45:58] Fix MiuiSystemUI.apk completed
[0905-01:45:58] APK file detected, initiating ZipAlign process...
[0905-01:45:58] APK ZipAlign process completed.
[0905-01:45:58] Copying APK to target build/portrom/images/system_ext/priv-app/MiuiSystemUI/MiuiSystemUI.apk
[0905-01:45:58] Modifying miui-services.jar
[0905-01:45:59] Target classes Found
[0905-01:46:03] Fix miui-services.jar completed
[0905-01:46:03] Copying file to target build/portrom/images/system_ext/framework/miui-services.jar
[0905-01:46:03] Searching and Replacing HotwordEnrollmentXGoogleHEXAGON_WIDEBAND.apk..
[0905-01:46:03] Modifying build.prop
./port.sh: line 671: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
[0905-01:46:03] modifying build/portrom/images/system_ext/etc/build.prop
[0905-01:46:03] modifying build/portrom/images/system/system/build.prop
[0905-01:46:03] modifying build/portrom/images/system/system/system_dlkm/etc/build.prop
[0905-01:46:03] modifying build/portrom/images/vendor/build.prop
[0905-01:46:03] modifying build/portrom/images/product/etc/build.prop
[0905-01:46:03] modifying build/portrom/images/odm/etc/build.prop
[0905-01:46:03] modifying build/portrom/images/mi_ext/etc/build.prop
[0905-01:46:03] Screen density: 440
[0905-01:46:03] ro.fs.lcd_density not found, create a new value 440
[0905-01:46:03] Fix Millet
[0905-01:46:03] millet_netlink propery found, changing value to 29
[0905-01:46:03] Modifying PowerKeeper.apk
[0905-01:46:06] Target classes Found
[0905-01:46:10] Fix PowerKeeper.apk completed
[0905-01:46:10] APK file detected, initiating ZipAlign process...
[0905-01:46:10] APK ZipAlign process completed.
[0905-01:46:10] Copying APK to target build/portrom/images/system/system/app/PowerKeeper/PowerKeeper.apk
[0905-01:46:10] Modifying MiSettings.apk
[0905-01:46:13] Target classes Found
[0905-01:46:18] Fix MiSettings.apk completed
[0905-01:46:18] APK file detected, initiating ZipAlign process...
[0905-01:46:18] APK ZipAlign process completed.
[0905-01:46:18] Copying APK to target build/portrom/images/product/priv-app/MiSettings/MiSettings.apk
tmp/framework-ext-res/resources/package_1/res/values/bools.xml:  false
tmp/framework-ext-res/resources/package_1/res/values/public.xml:
[0905-01:46:23] Enable Celluar Sharing feature
[0905-01:46:25] Integrating perfect icons
mv: cannot stat '/home/khai/hyperos_port/icons/icons': No such file or directory
./port.sh: line 875: cd: /home/khai/hyperos_port/icons/themes/Hyper/: No such file or directory
zip error: Nothing to do! (try: zip -qr /home/khai/hyperos_port/build/portrom/images/product/media/theme/default/dynamicicons.zip . -i layer_animating_icons)
./port.sh: line 877: cd: /home/khai/hyperos_port/icons/themes/common/: No such file or directory
zip error: Nothing to do! (try: zip -qr /home/khai/hyperos_port/build/portrom/images/product/media/theme/default/dynamicicons.zip . -i layer_animating_icons)
mv: cannot stat '/home/khai/hyperos_port/build/portrom/images/product/media/theme/default/dynamicicons.zip': No such file or directory
[0905-01:48:49] Replacing a compatible MiuiCamera.apk verson 4.5.003000.2
[0905-01:48:49] Repacling bootanimation.zip
[0905-01:48:49] devices/thyme/overlay not found
find: 'devices/thyme/': No such file or directory
[0905-01:48:49] Disable avb verification.
[0905-01:48:49] Disabling AVB verfication....
[0905-01:48:49] AVB verification disabled successfully
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[0905-01:48:49] Super image size:<PHONE_NUMBER>
[0905-01:48:49] Packing super.img
[0905-01:48:49] Packing [mi_ext.img]:[EXT] with size [4325960]
FSPATCH by [affggh]
LICENES [Apache 2.0]
VERSION [1.0]
FsPatcher: Load origin 36 entries
Add [mi_ext['0', '0', '0755']]
FsPatcher: Add 1 entries
Done!
ContextPatcher: Load origin 37 entries
ADD [/lost+found ['u:object_r:system_file:s0']]
ContextPatcher: Add 1 entries
Done!
loaded 35 fs_config entries
Creating filesystem with parameters:
Size: 4325376
Block size: 4096
Blocks per group: 32768
Inodes per group: 272
Inode size: 256
Journal blocks: 0
Label: mi_ext
Blocks: 1056
Block groups: 1
Reserved block group size: 7
Created filesystem with 44/272 inodes and 65/1056 blocks
[0905-01:48:49] Packing [mi_ext.img] with [EXT], size: [4325960] success
[0905-01:48:49] Packing [odm.img]:[EXT] with size [35539163]
FSPATCH by [affggh]
LICENES [Apache 2.0]
VERSION [1.0]
FsPatcher: Load origin 26 entries
FsPatcher: Add 0 entries
Done!
ContextPatcher: Load origin 25 entries
ADD [/lost+found ['u:object_r:vendor_configs_file:s0']]
ADD [/odm/ ['u:object_r:vendor_configs_file:s0']]
ContextPatcher: Add 2 entries
Done!
loaded 24 fs_config entries
Creating filesystem with parameters:
Size: 35536896
Block size: 4096
Blocks per group: 32768
Inodes per group: 2176
Inode size: 256
Journal blocks: 0
Label: odm
Blocks: 8676
Block groups: 1
Reserved block group size: 7
Created filesystem with 32/2176 inodes and 481/8676 blocks
[0905-01:48:49] Packing [odm.img] with [EXT], size: [35539163] success
[0905-01:48:49] Packing [product.img]:[EXT] with size [4808638086]
FSPATCH by [affggh]
LICENES [Apache 2.0]
VERSION [1.0]
FsPatcher: Load origin 1369 entries
Add [product['0', '0', '0755']]
Add [product/etc/displayconfig/display_id_4630946545580055169.xml['0', '0', '0644']]
Add [product/etc/device_features/thyme.xml['0', '0', '0644']]
Add [product/app/MiLinkCirculateMIUI15['0', '0', '0755']]
Add [product/app/MiuiBiometric['0', '0', '0755']]
Add [product/app/MiLinkCirculateMIUI15/MiLinkCirculateMIUI15.apk['0', '0', '0644']]
Add [product/app/MiuiBiometric/MiuiBiometric.apk['0', '0', '0644']]
Add [product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON.apk['0', '0', '0644']]
FsPatcher: Add 8 entries
Done!
ContextPatcher: Load origin 1370 entries
ADD [/lost+found ['u:object_r:system_file:s0']]
ADD [/product/etc/displayconfig/display_id_4630946545580055169.xml ['u:object_r:system_file:s0']]
ADD [/product/etc/device_features/thyme.xml ['u:object_r:system_file:s0']]
ADD [/product/app/MiLinkCirculateMIUI15 ['u:object_r:system_file:s0']]
ADD [/product/app/MiuiBiometric ['u:object_r:system_file:s0']]
ADD [/product/app/MiLinkCirculateMIUI15/MiLinkCirculateMIUI15.apk ['u:object_r:system_file:s0']]
ADD [/product/app/MiuiBiometric/MiuiBiometric.apk ['u:object_r:system_file:s0']]
ADD [/product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON.apk ['u:object_r:system_file:s0']]
ContextPatcher: Add 8 entries
Done!
loaded 1369 fs_config entries
Creating filesystem with parameters:
Size:<PHONE_NUMBER>
Block size: 4096
Blocks per group: 32768
Inodes per group: 8160
Inode size: 256
Journal blocks: 0
Label: product
Blocks: 1173983
Block groups: 36
Reserved block group size: 287
Created filesystem with 1378/293760 inodes and 1169872/1173983 blocks
[0905-01:49:03] Packing [product.img] with [EXT], size: [4808638086] success
[0905-01:49:03] Packing [system.img]:[EXT] with size [1162182689]
FSPATCH by [affggh]
LICENES [Apache 2.0]
VERSION [1.0]
FsPatcher: Load origin 3015 entries
Add [system['0', '0', '0755']]
Add [system/system/etc/permissions/com.nxp.nfc.nq.xml['0', '0', '0644']]
Add [system/system/etc/permissions/com.xiaomi.nfc.xml['0', '0', '0644']]
Add [system/system/app/NQNfcNci['0', '0', '0755']]
Add [system/system/app/NQNfcNci/oat['0', '0', '0755']]
Add [system/system/app/NQNfcNci/NQNfcNci.apk['0', '0', '0644']]
Add [system/system/app/NQNfcNci/oat/arm64['0', '0', '0755']]
Add [system/system/app/NQNfcNci/oat/arm64/NQNfcNci.odex['0', '0', '0644']]
Add [system/system/app/NQNfcNci/oat/arm64/NQNfcNci.vdex['0', '0', '0644']]
Add [system/system/framework/oat['0', '0', '0755']]
Add [system/system/framework/com.xiaomi.nfc.jar['0', '0', '0644']]
Add [system/system/framework/com.nxp.nfc.nq.jar['0', '0', '0644']]
Add [system/system/framework/oat/arm64['0', '0', '0755']]
Add [system/system/framework/oat/arm['0', '0', '0755']]
Add [system/system/framework/oat/arm64/com.xiaomi.nfc.odex['0', '0', '0644']]
Add [system/system/framework/oat/arm64/com.nxp.nfc.nq.odex['0', '0', '0644']]
Add [system/system/framework/oat/arm64/com.xiaomi.nfc.vdex['0', '0', '0644']]
Add [system/system/framework/oat/arm64/com.nxp.nfc.nq.vdex['0', '0', '0644']]
Add [system/system/framework/oat/arm/com.xiaomi.nfc.odex['0', '0', '0644']]
Add [system/system/framework/oat/arm/com.nxp.nfc.nq.odex['0', '0', '0644']]
Add [system/system/framework/oat/arm/com.xiaomi.nfc.vdex['0', '0', '0644']]
Add [system/system/framework/oat/arm/com.nxp.nfc.nq.vdex['0', '0', '0644']]
FsPatcher: Add 22 entries
Done!
ContextPatcher: Load origin 3016 entries
ADD [/lost+found ['u:object_r:system_file:s0']]
ADD [/system/system/etc/permissions/com.nxp.nfc.nq.xml ['u:object_r:cppreopts_exec:s0']]
ADD [/system/system/etc/permissions/com.xiaomi.nfc.xml ['u:object_r:cppreopts_exec:s0']]
ADD [/system/system/app/NQNfcNci ['u:object_r:system_file:s0']]
ADD [/system/system/app/NQNfcNci/oat ['u:object_r:system_file:s0']]
ADD [/system/system/app/NQNfcNci/NQNfcNci.apk ['u:object_r:system_file:s0']]
ADD [/system/system/app/NQNfcNci/oat/arm64 ['u:object_r:system_file:s0']]
ADD [/system/system/app/NQNfcNci/oat/arm64/NQNfcNci.odex ['u:object_r:system_file:s0']]
ADD [/system/system/app/NQNfcNci/oat/arm64/NQNfcNci.vdex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat ['u:object_r:system_file:s0']]
ADD [/system/system/framework/com.xiaomi.nfc.jar ['u:object_r:system_file:s0']]
ADD [/system/system/framework/com.nxp.nfc.nq.jar ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm64 ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm64/com.xiaomi.nfc.odex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm64/com.nxp.nfc.nq.odex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm64/com.xiaomi.nfc.vdex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm64/com.nxp.nfc.nq.vdex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm/com.xiaomi.nfc.odex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm/com.nxp.nfc.nq.odex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm/com.xiaomi.nfc.vdex ['u:object_r:system_file:s0']]
ADD [/system/system/framework/oat/arm/com.nxp.nfc.nq.vdex ['u:object_r:system_file:s0']]
ContextPatcher: Add 22 entries
Done!
loaded 3035 fs_config entries
Creating filesystem with parameters:
Size:<PHONE_NUMBER>
Block size: 4096
Blocks per group: 32768
Inodes per group: 7888
Inode size: 256
Journal blocks: 0
Label: system
Blocks: 283736
Block groups: 9
Reserved block group size: 71
Created filesystem with 3044/70992 inodes and 269327/283736 blocks
[0905-01:49:09] Packing [system.img] with [EXT], size: [1162182689] success
[0905-01:49:09] Packing [system_ext.img]:[EXT] with size [960586724]
FSPATCH by [affggh]
LICENES [Apache 2.0]
VERSION [1.0]
FsPatcher: Load origin 2134 entries
Add [system_ext['0', '0', '0755']]
Add [system_ext/framework/oat['0', '0', '0755']]
Add [system_ext/framework/oat/arm64['0', '0', '0755']]
Add [system_ext/framework/oat/arm['0', '0', '0755']]
Add [system_ext/framework/oat/arm64/com.xiaomi.nfc.odex['0', '0', '0644']]
Add [system_ext/framework/oat/arm64/com.nxp.nfc.nq.odex['0', '0', '0644']]
Add [system_ext/framework/oat/arm64/com.xiaomi.nfc.vdex['0', '0', '0644']]
Add [system_ext/framework/oat/arm64/com.st.android.nfc_extensions.odex['0', '0', '0644']]
Add [system_ext/framework/oat/arm64/com.nxp.nfc.nq.vdex['0', '0', '0644']]
Add [system_ext/framework/oat/arm64/com.st.android.nfc_extensions.vdex['0', '0', '0644']]
Add [system_ext/framework/oat/arm/com.xiaomi.nfc.odex['0', '0', '0644']]
Add [system_ext/framework/oat/arm/com.nxp.nfc.nq.odex['0', '0', '0644']]
Add [system_ext/framework/oat/arm/com.xiaomi.nfc.vdex['0', '0', '0644']]
Add [system_ext/framework/oat/arm/com.st.android.nfc_extensions.odex['0', '0', '0644']]
Add [system_ext/framework/oat/arm/com.nxp.nfc.nq.vdex['0', '0', '0644']]
Add [system_ext/framework/oat/arm/com.st.android.nfc_extensions.vdex['0', '0', '0644']]
FsPatcher: Add 16 entries
Done!
ContextPatcher: Load origin 2135 entries
ADD [/lost+found ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64 ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64/com.xiaomi.nfc.odex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64/com.nxp.nfc.nq.odex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64/com.xiaomi.nfc.vdex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64/com.st.android.nfc_extensions.odex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64/com.nxp.nfc.nq.vdex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm64/com.st.android.nfc_extensions.vdex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm/com.xiaomi.nfc.odex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm/com.nxp.nfc.nq.odex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm/com.xiaomi.nfc.vdex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm/com.st.android.nfc_extensions.odex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm/com.nxp.nfc.nq.vdex ['u:object_r:system_file:s0']]
ADD [/system_ext/framework/oat/arm/com.st.android.nfc_extensions.vdex ['u:object_r:system_file:s0']]
ContextPatcher: Add 16 entries
Done!
loaded 2146 fs_config entries
Creating filesystem with parameters:
Size: 960585728
Block size: 4096
Blocks per group: 32768
Inodes per group: 7344
Inode size: 256
Journal blocks: 0
Label: system_ext
Blocks: 234518
Block groups: 8
Reserved block group size: 63
Created filesystem with 2155/58752 inodes and 219036/234518 blocks
[0905-01:49:13] Packing [system_ext.img] with [EXT], size: [960586724] success
[0905-01:49:13] Packing [vendor.img]:[EXT] with size [1864864624]
FSPATCH by [affggh]
LICENES [Apache 2.0]
VERSION [1.0]
FsPatcher: Load origin 3880 entries
Add [vendor/lib64/libsn100u_fw.so['0', '0', '0644']]
FsPatcher: Add 1 entries
Done!
ContextPatcher: Load origin 3880 entries
ADD [/lost+found ['u:object_r:vendor_file:s0']]
ADD [/vendor/ ['u:object_r:vendor_file:s0']]
ADD [/vendor/lib64/libsn100u_fw.so ['u:object_r:vendor_file:s0']]
ContextPatcher: Add 3 entries
Done!
loaded 3880 fs_config entries
Creating filesystem with parameters:
Size:<PHONE_NUMBER>
Block size: 4096
Blocks per group: 32768
Inodes per group: 8144
Inode size: 256
Journal blocks: 0
Label: vendor
Blocks: 455289
Block groups: 14
Reserved block group size: 111
Created filesystem with 3888/114016 inodes and 444396/455289 blocks
[0905-01:49:20] Packing [vendor.img] with [EXT], size: [1864864624] success
[0905-01:49:20] Packing super.img for V-AB device
[0905-01:49:20] Super sub-partition [mi_ext] size: [4325376]
[0905-01:49:20] Super sub-partition [odm] size: [35536896]
[0905-01:49:20] Super sub-partition [product] size: [4808634368]
[0905-01:49:20] Super sub-partition [system] size: [1162182656]
[0905-01:49:20] Super sub-partition [system_ext] size: [960585728]
[0905-01:49:20] Super sub-partition [vendor] size: [1864863744]
lpmake I 09-05 01:49:20 12675 12675 builder.cpp:1093] [liblp]Partition mi_ext_a will resize from 0 bytes to 4325376 bytes
lpmake I 09-05 01:49:20 12675 12675 builder.cpp:1093] [liblp]Partition odm_a will resize from 0 bytes to 35536896 bytes
lpmake I 09-05 01:49:20 12675 12675 builder.cpp:1093] [liblp]Partition product_a will resize from 0 bytes to<PHONE_NUMBER> bytes
lpmake I 09-05 01:49:20 12675 12675 builder.cpp:1093] [liblp]Partition system_a will resize from 0 bytes to<PHONE_NUMBER> bytes
lpmake I 09-05 01:49:20 12675 12675 builder.cpp:1093] [liblp]Partition system_ext_a will resize from 0 bytes to 960585728 bytes
lpmake I 09-05 01:49:20 12675 12675 builder.cpp:1093] [liblp]Partition vendor_a will resize from 0 bytes to<PHONE_NUMBER> bytes
Invalid sparse file format at header magic
Invalid sparse file format at header magic
Invalid sparse file format at header magic
Invalid sparse file format at header magic
Invalid sparse file format at header magic
Invalid sparse file format at header magic
[0905-01:49:56] Pakcing super.img done.
[0905-01:49:56] Comprising super.img
build/portrom/images/super.img : 49.08%   (  8.50 GiB =>   4.17 GiB, build/portrom/images/super.zst)
[0905-01:50:25] Generating flashing script
find: 'devices/thyme/': No such file or directory
find: 'devices/thyme/': No such file or directory
find: 'devices/thyme/': No such file or directory
mv: missing destination file operand after 'out/xiaomi.eu_OS<IP_ADDRESS>.TGACNXM_OS<IP_ADDRESS>.UGACNXM/boot_official.img'
Try 'mv --help' for more information.
adding: META-INF/ (stored 0%)
adding: META-INF/zstd (deflated 55%)
adding: META-INF/com/ (stored 0%)
adding: META-INF/com/google/ (stored 0%)
adding: META-INF/com/google/android/ (stored 0%)
adding: META-INF/com/google/android/update-binary (deflated 75%)
adding: bin/ (stored 0%)
adding: bin/windows/ (stored 0%)
adding: bin/windows/fastboot.exe (deflated 54%)
adding: bin/windows/mke2fs.conf (deflated 67%)
adding: bin/windows/awk.exe (deflated 41%)
adding: bin/windows/AdbWinUsbApi.dll (deflated 45%)
adding: bin/windows/libwinpthread-1.dll (deflated 65%)
adding: bin/windows/sqlite3.exe (deflated 51%)
adding: bin/windows/source.properties (stored 0%)
adding: bin/windows/adb.exe (deflated 52%)
adding: bin/windows/zstd.exe (deflated 60%)
adding: bin/windows/curl.exe (deflated 54%)
adding: bin/windows/NOTICE.txt (deflated 77%)
adding: bin/windows/make_f2fs.exe (deflated 53%)
adding: bin/windows/dmtracedump.exe (deflated 58%)
adding: bin/windows/etc1tool.exe (deflated 49%)
adding: bin/windows/cut.exe (deflated 41%)
adding: bin/windows/AdbWinApi.dll (deflated 47%)
adding: bin/windows/make_f2fs_casefold.exe (deflated 53%)
adding: bin/windows/mke2fs.exe (deflated 49%)
adding: bin/windows/hprof-conv.exe (deflated 41%)
adding: firmware-update/ (stored 0%)
adding: firmware-update/abl.img (deflated 20%)
adding: firmware-update/vbmeta.img (deflated 78%)
adding: firmware-update/cmnlib64.img (deflated 52%)
adding: firmware-update/hyp.img (deflated 67%)
adding: firmware-update/vbmeta_system.img (deflated 64%)
adding: firmware-update/cust.img (deflated 99%)
adding: firmware-update/dsp.img (deflated 84%)
adding: firmware-update/uefisecapp.img (deflated 58%)
adding: firmware-update/devcfg.img (deflated 67%)
adding: firmware-update/xbl_config.img (deflated 75%)
adding: firmware-update/featenabler.img (deflated 67%)
adding: firmware-update/qupfw.img (deflated 69%)
adding: firmware-update/modem.img (deflated 56%)
adding: firmware-update/vendor_boot.img (deflated 100%)
adding: firmware-update/tz.img (deflated 65%)
adding: firmware-update/imagefv.img (deflated 95%)
adding: firmware-update/bluetooth.img (deflated 47%)
adding: firmware-update/cmnlib.img (deflated 41%)
adding: firmware-update/aop.img (deflated 53%)
adding: firmware-update/dtbo.img (deflated 95%)
adding: firmware-update/xbl.img (deflated 19%)
adding: firmware-update/keymaster.img (deflated 58%)
adding: mac_linux_flash_script.sh (deflated 71%)
adding: super.zst (deflated 0%)
adding: windows_flash_script.bat (deflated 70%)
[0905-01:52:27] Porting completed
[0905-01:52:27] Output:
[0905-01:52:27] /home/khai/hyperos_port/out/xiaomi.eu_OS<IP_ADDRESS>.TGACNXM_OS<IP_ADDRESS>.UGACNXM_91e53fae0d_14_fuxi_09050152_EXT.zip

Flash log:

Preserve user data during flashing

Wiping data without wiping /data/media

Please select - 1 is selected by default, and enter to execute:2
Validating device...please boot your device into bootloader and make sure your device code is umi
Mismatching image and device.
Do you want to continue anyway? (y/n): y
< waiting for any device >
fastboot: error: cannot load 'C:\crb_339\xiaomi.eu_OS<IP_ADDRESS>.TGACNXM_OS<IP_ADDRESS>.UGACNXM\boot_official.img': No such file or directory
fastboot: error: cannot load 'C:\crb_339\xiaomi.eu_OS<IP_ADDRESS>.TGACNXM_OS<IP_ADDRESS>.UGACNXM\boot_official.img': No such file or directory
Sending 'dtbo_a' (32768 KB)                        OKAY [  0.850s]
Writing 'dtbo_a'                                   OKAY [  0.077s]
Finished. Total time: 0.945s
Sending 'dtbo_b' (32768 KB)                        OKAY [  0.848s]
Writing 'dtbo_b'                                   OKAY [  0.079s]
Finished. Total time: 0.944s
Sending 'xbl_config_b' (100 KB)                    OKAY [  0.007s]
Writing 'xbl_config_b'                             OKAY [  0.002s]
Finished. Total time: 0.033s
Sending 'xbl_config_a' (100 KB)                    OKAY [  0.011s]
Writing 'xbl_config_a'                             OKAY [  0.002s]
Finished. Total time: 0.032s
Sending 'xbl_b' (3492 KB)                          OKAY [  0.098s]
Writing 'xbl_b'                                    OKAY [  0.019s]
Finished. Total time: 0.148s
Sending 'xbl_a' (3492 KB)                          OKAY [  0.099s]
Writing 'xbl_a'                                    OKAY [  0.023s]
Finished. Total time: 0.144s
Sending 'vendor_boot_b' (98304 KB)                 OKAY [  2.554s]
Writing 'vendor_boot_b'                            OKAY [  0.249s]
Finished. Total time: 2.829s
Sending 'vendor_boot_a' (98304 KB)                 OKAY [  2.481s]
Writing 'vendor_boot_a'                            OKAY [  0.219s]
Finished. Total time: 2.720s
Sending 'vbmeta_system_b' (4 KB)                   OKAY [  0.010s]
Writing 'vbmeta_system_b'                          OKAY [  0.001s]
Finished. Total time: 0.031s
Sending 'vbmeta_system_a' (4 KB)                   OKAY [  0.011s]
Writing 'vbmeta_system_a'                          OKAY [  0.001s]
Finished. Total time: 0.041s
Sending 'vbmeta_b' (8 KB)                          OKAY [  0.004s]
Writing 'vbmeta_b'                                 OKAY [  0.001s]
Finished. Total time: 0.030s
Sending 'vbmeta_a' (8 KB)                          OKAY [  0.010s]
Writing 'vbmeta_a'                                 OKAY [  0.001s]
Finished. Total time: 0.041s
Sending 'uefisecapp_b' (124 KB)                    OKAY [  0.011s]
Writing 'uefisecapp_b'                             OKAY [  0.001s]
Finished. Total time: 0.031s
Sending 'uefisecapp_a' (124 KB)                    OKAY [  0.010s]
Writing 'uefisecapp_a'                             OKAY [  0.003s]
Finished. Total time: 0.032s
Sending 'tz_b' (3116 KB)                           OKAY [  0.090s]
Writing 'tz_b'                                     OKAY [  0.010s]
Finished. Total time: 0.121s
Sending 'tz_a' (3116 KB)                           OKAY [  0.091s]
Writing 'tz_a'                                     OKAY [  0.010s]
Finished. Total time: 0.121s
Sending 'qupfw_b' (56 KB)                          OKAY [  0.005s]
Writing 'qupfw_b'                                  OKAY [  0.001s]
Finished. Total time: 0.023s
Sending 'qupfw_a' (56 KB)                          OKAY [  0.003s]
Writing 'qupfw_a'                                  OKAY [  0.013s]
Finished. Total time: 0.033s
Sending 'modem_b' (300796 KB)                      OKAY [  7.733s]
Writing 'modem_b'                                  OKAY [  1.257s]
Finished. Total time: 9.410s
Sending 'modem_a' (300796 KB)                      OKAY [  7.698s]
Writing 'modem_a'                                  OKAY [  1.006s]
Finished. Total time: 8.997s
Sending 'keymaster_b' (276 KB)                     OKAY [  0.013s]
Writing 'keymaster_b'                              OKAY [  0.002s]
Finished. Total time: 0.039s
Sending 'keymaster_a' (276 KB)                     OKAY [  0.012s]
Writing 'keymaster_a'                              OKAY [  0.002s]
Finished. Total time: 0.033s
Sending 'imagefv_b' (2048 KB)                      OKAY [  0.060s]
Writing 'imagefv_b'                                OKAY [  0.011s]
Finished. Total time: 0.089s
Sending 'imagefv_a' (2048 KB)                      OKAY [  0.063s]
Writing 'imagefv_a'                                OKAY [  0.009s]
Finished. Total time: 0.090s
Sending 'hyp_b' (436 KB)                           OKAY [  0.013s]
Writing 'hyp_b'                                    OKAY [  0.002s]
Finished. Total time: 0.033s
Sending 'hyp_a' (436 KB)                           OKAY [  0.022s]
Writing 'hyp_a'                                    OKAY [  0.002s]
Finished. Total time: 0.041s
Sending 'featenabler_b' (88 KB)                    OKAY [  0.011s]
Writing 'featenabler_b'                            OKAY [  0.003s]
Finished. Total time: 0.033s
Sending 'featenabler_a' (88 KB)                    OKAY [  0.010s]
Writing 'featenabler_a'                            OKAY [  0.002s]
Finished. Total time: 0.031s
Sending 'dsp_b' (65536 KB)                         OKAY [  1.684s]
Writing 'dsp_b'                                    OKAY [  0.168s]
Finished. Total time: 1.870s
Sending 'dsp_a' (65536 KB)                         OKAY [  1.688s]
Writing 'dsp_a'                                    OKAY [  0.140s]
Finished. Total time: 1.845s
Sending 'devcfg_b' (56 KB)                         OKAY [  0.012s]
Writing 'devcfg_b'                                 OKAY [  0.012s]
Finished. Total time: 0.041s
Sending 'devcfg_a' (56 KB)                         OKAY [  0.012s]
Writing 'devcfg_a'                                 OKAY [  0.005s]
Finished. Total time: 0.034s
Sending 'cmnlib64_b' (504 KB)                      OKAY [  0.017s]
Writing 'cmnlib64_b'                               OKAY [  0.002s]
Finished. Total time: 0.039s
Sending 'cmnlib64_a' (504 KB)                      OKAY [  0.019s]
Writing 'cmnlib64_a'                               OKAY [  0.003s]
Finished. Total time: 0.041s
Sending 'cmnlib_b' (388 KB)                        OKAY [  0.020s]
Writing 'cmnlib_b'                                 OKAY [  0.002s]
Finished. Total time: 0.040s
Sending 'cmnlib_a' (388 KB)                        OKAY [  0.019s]
Writing 'cmnlib_a'                                 OKAY [  0.003s]
Finished. Total time: 0.041s
Sending 'bluetooth_b' (412 KB)                     OKAY [  0.021s]
Writing 'bluetooth_b'                              OKAY [  0.003s]
Finished. Total time: 0.042s
Sending 'bluetooth_a' (412 KB)                     OKAY [  0.018s]
Writing 'bluetooth_a'                              OKAY [  0.003s]
Finished. Total time: 0.041s
Sending 'aop_b' (200 KB)                           OKAY [  0.009s]
Writing 'aop_b'                                    OKAY [  0.001s]
Finished. Total time: 0.028s
Sending 'aop_a' (200 KB)                           OKAY [  0.013s]
Writing 'aop_a'                                    OKAY [  0.001s]
Finished. Total time: 0.041s
Sending 'abl_b' (204 KB)                           OKAY [  0.009s]
Writing 'abl_b'                                    OKAY [  0.002s]
Finished. Total time: 0.041s
Sending 'abl_a' (204 KB)                           OKAY [  0.011s]
Writing 'abl_a'                                    OKAY [  0.002s]
Finished. Total time: 0.042s
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.002s
< waiting for any device >
Sending sparse 'super' 1/11 (769604 KB)            OKAY [ 20.305s]
Writing 'super'                                    OKAY [  0.001s]
Sending sparse 'super' 2/11 (767861 KB)            OKAY [ 21.064s]
Writing 'super'                                    OKAY [  0.001s]
Sending sparse 'super' 3/11 (774044 KB)            OKAY [ 21.290s]
Writing 'super'                                    OKAY [  0.000s]
Sending sparse 'super' 4/11 (768869 KB)            OKAY [ 20.874s]
Writing 'super'                                    OKAY [  0.000s]
Sending sparse 'super' 5/11 (783292 KB)            OKAY [ 21.143s]
Writing 'super'                                    OKAY [  0.000s]
Sending sparse 'super' 6/11 (767593 KB)            OKAY [ 20.878s]
Writing 'super'                                    OKAY [  0.000s]
Sending sparse 'super' 7/11 (779434 KB)            OKAY [ 21.077s]
Writing 'super'                                    OKAY [  0.001s]
Sending sparse 'super' 8/11 (777545 KB)            OKAY [ 21.458s]
Writing 'super'                                    OKAY [  0.001s]
Sending sparse 'super' 9/11 (782892 KB)            OKAY [ 21.970s]
Writing 'super'                                    OKAY [  0.001s]
Sending sparse 'super' 10/11 (776661 KB)           OKAY [ 21.983s]
Writing 'super'                                    OKAY [  0.000s]
Sending sparse 'super' 11/11 (417494 KB)           OKAY [ 11.884s]
Writing 'super'                                    OKAY [  0.001s]
Finished. Total time: 231.361s
Wiping data without wiping /data/media/, please wait patiently
******** Did you mean to fastboot format this f2fs partition?
Erasing 'userdata'                                 OKAY [  0.036s]
Finished. Total time: 20.013s
******** Did you mean to fastboot format this ext4 partition?
Erasing 'metadata'                                 OKAY [  0.004s]
Finished. Total time: 0.012s
Starting the process to set the active slot to 'a.' This may take some time. Please refrain from manually restarting or unplugging the data cable, as doing so could result in the device becoming unresponsive.
Setting current slot to 'a'                        OKAY [  0.008s]
Finished. Total time: 0.012s
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.002s
Flash completed. If the phone does not restart for an extended period, please manually restart. Press any key to exit.
Press any key to continue . . .

Could you let me know which base ROM your phone is currently using?
According to the log, the boot.img failed to be packed into the zip file.
You can modify the code on line 1310 to:
bootimg=$(find out/${os_type}_${device_code}_${port_rom_version} build/baserom/ -name "boot.img" | head -n 1).

on my phone right now using xiaomi.eu rom <IP_ADDRESS>.TGACNXM (android 13)
i will try it with ur modify

Yeah after i modify the file, build and install again, my device still hang on xiaomi logo and bootloop 3 times and went back to recovery
i notice this when install to my devices, is it normal? Because my device is Xiaomi 10S (thyme) not umi

Build log.txt
install log.txt

Here is the .bat file after build port rom
windows_flash_script.txt


IP cameras still not working

Hi,
Just tried this with my HVR analog cams 1 to 3 work as expected but IP cams give me bad request, any ideas ?

Hi
Sorry, you need to be more specific.
What type/model of NVR do you have?
What hikvision node you're using?
Have you tried to update the NVR firmware?
Thanks.

dvr is 8 channel hybrid
Model: iDS-7208HUHI-K1/4S(B)
Firmware: V4.26.010
raw alarm node works and shows for example
dynChannelID: "12"
dateTime: "2021-04-06T10:42:4300:00"
activePostCount: "2"
eventType: "linedetection"
eventState: "active"
eventDescription: "linedetection alarm"
but picture node for ip camera(12) gives bad request message on node status, analog cameras do work as expected

Hi,
hybrid NVR have been always problematic.
Please, you should add "banana" after the NVR IP in the config window.
This will activate the debug log in node-red. You should restart node-red and retry to get an image, then send me the log in some way (screenshot or text file).
For example, if your NVR's IP is <IP_ADDRESS>, you should write <IP_ADDRESS>banana in the config window.

"Hikvision-config: clientGenericRequest.fetch error Error response: Bad Request"

Hmm.. the url is different but i’ve no documentation about the url of your nvr

it is spamming the log with 2 messages -
BANANA PROCESSING
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467

<IP_ADDRESS>
80
HTTP
ac:cb:51:e7:ed:ca
0
2021-04-06T17:56:0500:00
0
videoloss
inactive
videoloss alarm

<IP_ADDRESS>
80
HTTP
ac:cb:51:e7:ed:ca
0
2021-04-06T17:48:2800:00
0
videoloss
inactive
videoloss alarm

6 Apr 17:48:29 - [error] BANANA SBANANATO XML -> JSON {"EventNotificationAlert":{"$":{"version":"1.0","xmlns":"http://www.hikvision.com/ver20/XMLSchema"},"ipAddress":"<IP_ADDRESS>","portNo":"80","protocol":"HTTP","macAddress":"ac:cb:51:e7:ed:ca","channelID":"0","dateTime":"2021-04-06T17:48:2800:00","activePostCount":"0","eventType":"videoloss","eventState":"inactive","eventDescription":"videoloss alarm"}}
6 Apr 17:48:39 - [info] SPLITTATO RESULT COUNT: ####### 2 ###################### FINE SPLITTATO RESULT
6 Apr 17:48:39 - [info] SPLITTATO RESULT EMPTY: #######  ###################### FINE SPLITTATO RESULT
6 Apr 17:48:39 - [error] BANANA PROCESSING
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467

<IP_ADDRESS>
80
HTTP
ac:cb:51:e7:ed:ca
0
2021-04-06T17:48:3800:00
0
videoloss
inactive
videoloss alarm

6 Apr 17:48:39 - [error] BANANA SBANANATO XML -> JSON {"EventNotificationAlert":{"$":{"version":"1.0","xmlns":"http://www.hikvision.com/ver20/XMLSchema"},"ipAddress":"<IP_ADDRESS>","portNo":"80","protocol":"HTTP","macAddress":"ac:cb:51:e7:ed:ca","channelID":"0","dateTime":"2021-04-06T17:48:3800:00","activePostCount":"0","eventType":"videoloss","eventState":"inactive","eventDescription":"videoloss alarm"}}

What version of node have you installed?
Please issue a node -v on a command prompt

v14.6.0

The node version should be ok.
You should leave the log running and request for an image. Then stop the log.
I need to see the exact response from the nvr when you ask for an image.

6 Apr 18:04:20 - [info] Hikvision-config: before Pipelining...
6 Apr 18:04:29 - [info] SPLITTATO RESULT COUNT: ####### 2 ###################### FINE SPLITTATO RESULT
6 Apr 18:04:29 - [info] SPLITTATO RESULT EMPTY: #######  ###################### FINE SPLITTATO RESULT
6 Apr 18:04:29 - [error] BANANA PROCESSING
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467
6 Apr 18:04:29 - [info] Hikvision-config: DecodingBody Info only: Invalid Json
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467
6 Apr 18:04:38 - [info] SPLITTATO RESULT COUNT: ####### 2 ###################### FINE SPLITTATO RESULT
6 Apr 18:04:38 - [error] BANANA PROCESSING
<IP_ADDRESS>
80
HTTP
ac:cb:51:e7:ed:ca
0
2021-04-06T18:04:2800:00
0
videoloss
inactive
videoloss alarm

6 Apr 18:04:38 - [error] BANANA SBANANATO XML -> JSON {"EventNotificationAlert":{"$":{"version":"1.0","xmlns":"http://www.hikvision.com/ver20/XMLSchema"},"ipAddress":"<IP_ADDRESS>","portNo":"80","protocol":"HTTP","macAddress":"ac:cb:51:e7:ed:ca","channelID":"0","dateTime":"2021-04-06T18:04:2800:00","activePostCount":"0","eventType":"videoloss","eventState":"inactive","eventDescription":"videoloss alarm"}}
6 Apr 18:04:38 - [error] BANANA PROCESSING
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467

<IP_ADDRESS>
80
HTTP
ac:cb:51:e7:ed:ca
0
2021-04-06T18:04:3700:00
0
videoloss
inactive
videoloss alarm

6 Apr 18:04:38 - [error] BANANA SBANANATO XML -> JSON {"EventNotificationAlert":{"$":{"version":"1.0","xmlns":"http://www.hikvision.com/ver20/XMLSchema"},"ipAddress":"<IP_ADDRESS>","portNo":"80","protocol":"HTTP","macAddress":"ac:cb:51:e7:ed:ca","channelID":"0","dateTime":"2021-04-06T18:04:3700:00","activePostCount":"0","eventType":"videoloss","eventState":"inactive","eventDescription":"videoloss alarm"}}
6 Apr 18:04:42 - [error] Hikvision-config: clientGenericRequest.fetch error Error response: Bad Request
6 Apr 18:04:47 - [info] SPLITTATO RESULT COUNT: ####### 2 ###################### FINE SPLITTATO RESULT
6 Apr 18:04:47 - [info] SPLITTATO RESULT EMPTY: #######  ###################### FINE SPLITTATO RESULT
6 Apr 18:04:47 - [error] BANANA PROCESSING
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467

FYI
/ISAPI/ContentMgmt/StreamingProxy/channels/1201/picture = ip camera 12
/ISAPI/Streaming/channels/101/picture = analog camera 1
perhaps you can add an option in the node to select method ?

Hmmm interesting...
But does it work? Have you tried to get the image from a web browser, passing the /ISAPI/ContentMgmt/StreamingProxy/channels/1201/picture string?

V. 1.0.34 will be out today with the fix.
Thank you for you help in finding the string.
If it doesn't work, please reopen this issue.
Cheers.

I see the yellow status only for frist trigger, but no picture is returned, after that another trigger doesn't produce any debug output or status message, also no picture.
8 Apr 00:19:07 - [info] BANANA IT DOES NOT WORK GETTING IMAGE WITH WITH
8 Apr 00:19:07 - [info] BANANA TRYING GETTING IMAGE WITH
8 Apr 00:19:10 - [info] SPLITTATO RESULT COUNT: ####### 2 ###################### FINE SPLITTATO RESULT
8 Apr 00:19:10 - [error] BANANA PROCESSING
<IP_ADDRESS>

Hi
Have you tried to get the image from a web browser, passing the /ISAPI/ContentMgmt/StreamingProxy/channels/1201/picture string?

Also, please unzip this zip into yout .node-red/node_modules/node-red-contrib-hikvision-ultimate/nodes folder and restart node red. Then try again.
hikvisionUltimatePicture.js.zip

Hello scm
can you give me a feedback about this issue?

/ISAPI/ContentMgmt/StreamingProxy/channels/1201/picture
I already use this path with standard http request node and it works OK.
tried your new code - ip cameras still not working. yellow node status message is not displaying anymore.
10 Apr 09:43:37 - [info] Hikvision-config: DecodingBody Info only: Invalid Json
Content-Type: application/xml; charset="UTF-8"
Content-Length: 467
10 Apr 09:47:03 - [error] Hikvision-config: clientGenericRequest.fetch error Error response: Service Unavailable

Hmmm. So the querystring you proposed is invalid.
Do you have other to test?

no the string is correct I am already using it in node red

I don't see your node status messages so I don't think that that code is working

Hmm... maybe a syntax error....
Let me check.

Have you installed the latest version?

<EMAIL_ADDRESS>I have this in http request nodes at the moment to capture images.....

I copied the zip file yes

You're using basic authentication.
Have you tried to set the basic authentication in the config window ?

The latest version is 1.0.37.
Please install it.

after deploy first time I click inject node I see yellow status on picture node but no output. Second click no status and no output

dont think authentication is an issue as analog channels work with either option

Are you on v. 1.0.37?

yes

rather than trying all paths perhaps you could have a drop down in picture node to select it ?

Yes, but trying paths is more simple for end user.
Can you please unzip this and try again?
knxUltimate-config.js.zip

think this is wrong file ?

Hi
this is the correct one, put it here .node-red/node_modules/node-red-contrib-hikvision-ultimate/nodes
knxUltimate-config.js.zip
It should work.

Anyway, the error you received (service unavaiable) means that at the moment, the webserver of the camera is unable to fulfill the request. If you've many things connected to the camera, you may run out of connection limit.

I have copied but that file didn't exist before ?
restarted node red but still only see yellow warning on first click and nothing after that.
It doesn't look like the code works after the first path fails, never see the red warning etc...
Have to go now but if you find anything post it and I will try it later

Yes it was existing.
Maybe you're copying it to the wrong place?

You should see all these files it the directory:

knxUltimate-config.js was not in the directory and it is not in your screen shot above, hence I thought you sent the wrong file ?

Holy crap!!
Sorry!
THIS is the right file!! SORRY!!!!
Hikvision-config.js.zip

as above -
restarted node red but still only see yellow warning on first click and nothing after that.
It doesn't look like the code works after the first path fails, as I never see the red warning etc...
Have to go now but if you find anything post it and I will try it later

Ok, see you later.
As soon as you return, please try this file. The first URL is ISAPI/ContentMgmt/StreamingProxy/channels/....
hikvisionUltimatePicture.js.zip

PS: please remove BANANA from the IP, otherwise it will never work.

Hi SMC
wellcome back.

Please unzip these files and retry. Now it should be OK
Archivio.zip

For analog camera I got yellow warning followed by the picture, so it did use 2nd url OK.
As a test I set analog to an unused channel, which did then show the red warning on node status.
with IP cam I do not get a picture or any status message, there is no output from picture node on either output.

Use two different nodes, one for each type of cam.
After finding the right url, it is be retained by the node, so when you switch to a cam using the other url, it doesn’t work anymore.
Or restart nodered to reset the retained url.

yes, I have 2 nodes setup, also deleted and re-added them but do not get anything from ip cameras

I just noticed that ALL the picture nodes status  is showing “picture received” every time I get an alarm on my dvr, the output is just undefined.

I just noticed that ALL the picture nodes status is showing “picture received” every time I get an alarm on my dvr, the output is just undefined.

Does this happens prior to these new changes in the nodes?

not sure didn't notice

OK,
anyway. I need time to do a good job. The goal is to store the valid URL on a file, to avoid to loop through URLs at every node-red restart.
To make it ever worse, i cannot try this at home because i don't own an hybrid NVR, so i proceed walking on the blind fog.
In the meantime, unzip these files.
Every time you enter the config window, it tries to loop through URLs to find the right one. Open the config window, select your channel and wait until you see a picture.
Archivio.zip

I'll give it a shot on Monday, as soon as i arrive at office, but the last zip should at least work.
If not, you can rollback by installing an old version.
The latest "stable" one is
npm install<EMAIL_ADDRESS>

PS: where you bought your nvr? Maybe i can try to buy one for testimg pourposes.

its a - iDS-7208HUHI-K1/4S(B)

Does it wirk with the latest zip?

looking good so far

still getting undefined payloads on all picture nodes when dvr gets an alarm, but ip cams now work

not sure why picture nodes are triggered by dvr, looks like your heart beat is listening to wrong messages ?
I know it may not be so easy with the node as it works now, but it would be really good if it could display channel sent as a payload ;-)

Do you need a property in the msg output telling you from wich channel is coming the picture? I’ve correctly understood?

Hi smc,
for the channel ID in the payload, you can use the node.topic property.
V. 1.0.40 should have been fixed the issue with URL and with the false node status/payload indication.
You need to enter the config window of the picture node and clich "regresh image" to get the image.
Let me know.
Thanks.

installed latest files but I cannot get any pictures now just the following error -
TypeError: Cannot read property 'toString' of undefined
at /home/pi/.node-red/node_modules/node-red-contrib-hikvision-ultimate/nodes/hikvisionUltimatePicture.js:89:64
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:137:13)
at /usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/auth/index.js:75:13
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at /usr/local/lib/node_modules/node-red/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/index.js:335:12)

Have you installed the version 1.0.40 ?

yes

Hi,
i tested several times and i cannot reproduce the issue.
At the line you mentioned, it never occurs that these error is raised. This is a very simple string manipulation. I suspect that the hikvisionUltimatePicture.html file is old and it has not been updated.
I attached you some files coming from 1.0.40 to unzip in the usual folder.
Please try that.
Archivio.zip
If unsuccessfull, i need to view your nodes. Please paste here your node's code by exporting the JSON via "Export" menu in node-red.
Thanks

Hi,
please upgrade to 1.0.41.
If the URL's array index exceeded the array lenght, an issue similar to "toString" can happen.
Let me know.

latest fix seems to be working now, will have a play with other nodes now ;-)


Override wrappers

I thought that sentence "Specifying this property will override the wrappers for the type for this field." in the description of wrapper property of fieldConfig will do as says when specifying this in my field:
wrapper: ['bootstrapHasError']

Meaning I want a field without bootstrapLabel, but I want to get error classes on the container. However, this wraps the default type wrappers into another bootstrapHasError, not overriding them but adding additional one.
If I specify null it overrides it in the way I get no wrappers at all. I just want to remove one of the default wrappers. Thus, the documentation isn't detailed enough.
How can I do that?

Good question. I believe the docs are unclear. If the type you have specified has wrappers assigned to it, then the only way to get rid of them is to use null which will remove all wrappers (as you have pointed out). There is not currently a way in angular-formly to completely override wrappers. So you'll have to create another type that has the wrappers you want. You can use formlyConfig.getType to copy properties from an existing type to a new, similar type that you create.
I'm thinking that as a breaking change for the next version, I'll make it so that if wrapper are specified on the field, then the type's wrappers will not apply. That seems to me to make the most sense. (while I'm at it, I'll change the name from wrapper to wrappers because most of the time it is specified as an array anyway.

Would love feedback from anyone on this breaking change for the next version:

Any problem changing the term wrapper to wrappers as it's specified as an array most of the time?
Any problem removing the default wrapper behavior? Basically, if you specify the name 'default' then it will wrap all types. This is a little bit too magical I think. And I believe it's undocumented.
Any problem changing behavior so that if you specify a wrappers array on a field then rather than joining with the wrappers from the type, it entirely overrides them?
I've recently thought that <formly-transclude></formly-transclude> is quite long. Any suggestions on whether it should be something else/shorter?
Anything else anyone would like to see change in wrappers?

No problem with any of those. Just 4) is only cosmetic and I think it's not really neccessary to rename that, formly- prefix is used in formly everywhere as convention and transclude is just what it is and everyone knows what it does.

Should wrappers be a map then and we could overwrite the key with a new value or a null to remove it. Then you could test if it's an array you keep the old behavior if it's a map you implement the new behavior. The keys of the map could be label and error for example

Good comments @redhead. I'll keep the formly-transclude then
@pdemilly, I love the idea of it being an object with keys. The problem with that is how to define order. Once you do that you get into an issue with priority... We've talked about this on #368. What we could do though is give a wrapper an ID and you could optionally specify a wrapper as an object with a name and an id. Something like:
wrappers: ['foo', {name: 'bar', id: 'barWrapper'}]

Though I still think that this is less simple than just overriding the type's properties altogether. Thoughts?

What about just making it a function then, giving it wrapper array parameter and let the user do whatever he wants with the list - pushing new, remove unwanted, replace, reverse...
Dne 29.6.2015 17:24 napsal uživatel "Kent C. Dodds" notifications@github.com:Good comments @redhead. I'll keep the formly-transclude then
@pdemilly, I love the idea of it being an object with keys. The problem with that is how to define order. Once you do that you get into an issue with priority... We've talked about this on #368. What we could do though is give a wrapper an ID and you could optionally specify a wrapper as an object with a name and an id. Something like:
wrappers: ['foo', {name: 'bar', id: 'barWrapper'}]
Though I still think that this is less simple than just overriding the type's properties altogether. Thoughts?
—Reply to this email directly or view it on GitHub.

Oh, I like that a lot. And that could be non-breaking as well... Problem is that it's not quite as obvious, so I think I'll still have a breaking change to make it override wrappers when specified, but I think optionally giving it a function opens a lot of flexibility.

Agreed, it's not obvious, but good documentation is the core of every project anyway :)

Any problem removing the default wrapper behavior? Basically, if you specify the name 'default' then it will wrap all types. This is a little bit too magical I think. And I believe it's undocumented.

I would like that feature to stay.  I find it very useful especially when every field defines its own special things it is an easy way to extend types defined in a third party templates library.

I would like this feature implemented.
Override should be the most intended behavior.
Using an object instead of an array could be cool so we could set it like this:
wrappers: {
    'override': false, /* a special key could be used to allow not to override */
    'bootstrapLabel': 10, /* using an int would set the priority of each key map */
    'bootstrapError': false || 0,
    // 'bootstrapXPTO': 0 /* any non declared wrappers would be set to false, unless override was set to true */
    'dynamic': {
        priority: 15,
        template: '

' /* this could even allow a dynamic wrapper on the fly... */
    }
}

This would pretty much give all needed functionality on this subject.

Definitely not going to get into priority. I would hate to see the day where I see: priority: Infinity and priority: Infinity + 1 :-(
We need this to be simpler, not more complex.

Also, it isn't really transparent having numbers and booleans just next to wrapper name. I think that having a function that enables you to do what ever you want with an array of wrapper names is better approach.

Throwing my hat in: I also like the function approach.  I'd just note that, especially if you're keeping the string and array options, you'll now have three options.  I think that's mega-cool, but also a little magical and you'd at least want to make sure that sort of expectation is semi-consistent across the library.  Are there other places that accept functions that don't currently boil down to arrays (like functions that return objects or anything)?  I can't think of any but I don't know the whole library.  In general, I think that's a great open, backwards-compatible, extensible general purpose approach to these sorts of override-heavy APIs:
String: 'string' --> ['string']
Array: ['arr', 'ay']
Function: function (existingArray) { /* do stuff */ return newArray; }

Ah, I'm not going crazy, good to see confirmation that it doesn't override at the moment, I've spent the last few hours trying to override by specifying this property on a field.
I really like the function option that would allow complete freedom to manipulate the wrapper stack in any way we like. I would love to see that extension.
One thing to consider, is that you can also specify wrappers on a form, and it would make sense to have consistent behaviour (override or not) when specifying wrappers on forms and fields. So I think that adding wrappers makes sense as the default action (just updated the documentation to say so).
You could add an additional option to both field and form called "wrapperBehaviour" with possible values "override" and "concat" (concat being the default). It's nice and stops it being a breaking change as well.
I'll go with a custom type for now to get around my problem. Thanks, we love formly! :)


Browser Extension

We should continue to support the CC Search browser extension, as many folks find it quite useful.

[x] Reach out to (Mayank @makkoncept)
[x] Design the new extension page (@panchovm): mockups
[x] https://github.com/WordPress/openverse-frontend/issues/87
[x] Clone the archived browser extension repo

[x] #39
[x] WordPress/openverse-browser-extension#1
[ ] WordPress/openverse-browser-extension#2

The mockup update is detailed on this ticket.

We also need to reach out to the original extension author @makkoncept regarding the original extension in the browser extension stores, and how we can potentially take over the publishing.


margin-fix-main

Hi @esolar07 looks like this pull request got a little messed up. Here's the documentation on how to create a pull request.
The simple version is that you fork this project, create a new branch off of master, make your changes, commit them, then make a pull request from that forked branch back into master.

@ondrae Sorry, some went wrong. I followed those steps, but it stated the I did not have access to the repo. I will try again. Thanks!!!

Be sure to fork it into your own account first.

@ondrae Will do.


States

Develop a States model to be used as a way to manage the various state attributes/statuses a Dooder will need.
References:
https://www.askpython.com/python-modules/state-machines-python#:~:text=A state machine is a,logic circuits and computer programs
https://auth0.com/blog/state-pattern-in-python/

Completed


ItemData instance creation from XML

This will require extensive modifications to the CLI (or even just replacing it completely - see #36), but I essentially want the XML to be "inflated" similarly to a layout file, where the entire package name of each class is provided in the tag. Sub-tags, like "contributor" or "link" would be unaffected (or even replaced with an ambiguous name, like "item"), and would simply be passed to the constructor of each "main" item (or I could just continue passing an instance of the parser like I am now). This would allow users to add their own functionality to the about screen instead of only being able to override layout files.

Rather than creating an ambiguous "item" tag inside a class tag, it might be more productive to make another subclass - ListInfoData<T> - which accepts two layout resources (InfoData accepts one for the item itself, the second is for the nested RV that will exist inside of the item). As such, it will also contain two binding methods - bind(Context, ViewHolder) inherited from InfoData and bindItem(Context, ViewHolder, T) to bind the nested RecyclerViews items, which will be called from the item class (T in relation to the method call, ex: in ContributorsItemData, T would be an instance of ContributorItemData).
 Depending on how things go I may also make a subclass for the nested items, making the list info subclass ListInfoData<T extends ListItemData> or something.


ci: trusted publishing

Fixes #39
We'll need trusted publishing added on pypi and the secret deleted as well

I've added this action as a Trusted Publisher


Flaky tests on develop again

https://gitlab.com/couchers/couchers/-/pipelines/349886838
https://gitlab.com/couchers/couchers/-/pipelines/351220413

So I think essentially we are seeing performance issues rather than mistakes in our tests.
There is a lot of discussion here and also see this interesting PR from this project. Basically:

JSDom is slow
many of the recommended react-testing-library queries are slow

particularly getByRole but there is a lot of benefit to using this

large dom trees are slower to test on
lots of tests in a single file might be worse?

getByRole can be improved by setting visible: false to not test visible roles, but that makes for worse testing. Not using { name } and instead testing the content separately might see some improvements.
@darrenvong thoughts?

Some pretty good findings there! Based on what I mentioned in our meeting, I think splitting the test files up first to avoid a large test suite seems like the easiest thing to try first. It'd allow us to do away with less describe nesting as well which Mr Dodds seems to recommend, so we could potentially improve reliability and test readability at the same time if this alone works?
Then I'd probably go with these until things stabilise (roughly ordered):

More unit tests lower down the component tree to break up the DOM tree
Check for text content separately from the getByRole
Set visible: false
(Probably last resort) Look into bundling the test suite and run it in headless Chrome as suggested here?

Hopefully doing these wouldn't reduce the confidence the tests are supposed to give us too much.

Is it just me or did it un-flake itself?

Yeah it seems to be fine for me lately too

OK, closing


Add termguicolors support for lightline

I guess this is pretty much the same as #101, but it works for me. And, like #101, this basically a copy-paste of #93.

This PR worked great for me, I'd love to see this merged.

Alright, I'll go ahead and merge, sorry for the long delay

Thanks @edkolev!


is it really needed to cut your internet connection and why?

^^ title.

This has to be done to make sure VAC has not been loaded before you run bypass.

aight, thanks for info.


Feature request: Johoe's Bitcoin Mempool Statistics

I found the https://jochen-hoenicke.de/queue/#0,24h the most useful graph for mempool of all and I think it would be awesome to have it on Raspiblitz.
Repository: https://github.com/jhoenicke/mempool

I like Jochens work a lot ... and I am totally open to add this if someone make a contribution - so I am adding the hackathon lable here. For more information how to contribute a feature to the RaspiBlitz see: https://www.youtube.com/watch?v=ZVtZepV3OfM

I like Jochens work a lot ... and I am totally open to add this if someone make a contribution - so I am adding the hackathon lable here. For more information how to contribute a feature to the RaspiBlitz see: https://www.youtube.com/watch?v=ZVtZepV3OfM


ENH:  Add annotation from arrays

I've been creating annotations programmatically and wanted to plot them without saving them to a file first. The change simply allows providing the output of the file read operation directly, most of the changed lines are just due to indentation.

Very nice. I have a few thoughts on this, having almost implemented it several times before. I'll try to play around with it and give comments soon.

LGTM
+1 for MRG when CIs are happy

thx @christianbrodbeck

OK or maybe not :)

I don't mind opening a new PR if you have suggestions :)


[Questions] Can Wasabi run without Cassandra ?

Hello,
Not sure if anyone tried this or not. I am interested in trying to see if this can be used as a FeaturFlag and A / B testing tool - with MYSQL ( Maria DB ). Is there any option to not use Cassandra as we do not have analytics requirement ?

original code used mysql and redis so yes its possible, but will need to
reinstate that in a different branch if needed.
-mita
On Mon, Aug 19, 2019 at 9:32 AM Kishore Kota<EMAIL_ADDRESS>wrote:

Hello,
Not sure if anyone tried this or not. I am interested in trying to see if
this can be used as a FeaturFlag and A / B testing tool - with MYSQL (
Maria DB ). Is there any option to not use Cassandra as we do not have
analytics requirement ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/intuit/wasabi/issues/375?email_source=notifications&email_token=AAFWI3JUBSFIOIQY4YRCAO3QFLDJTA5CNFSM4INDRW62YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HGBAFPA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFWI3NFSTXZX52QMOYUGTLQFLDJTANCNFSM4INDRW6Q
.

Thank you.


Some tidying up of the global namespace.

Add a TsStatus class that replaces stop_ssl_handshake, ts_is_draining, shutdown_event_system.

Other than removing Data and having those members as direct static members, seems reasonable. I would like @duke8253 to take a look.

On the subject of more verbosity, we may want this to be TSSystemState, as TsStatus could easily be confused with a normal return code (e.g. TSHttpStatus, TSRemapStatus).

Seems fine to me.

[approve ci debian]


Implement test for deserializators

implement tests for decode_x functions

Codecov Report

Merging #118 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #118   +/-   ##
=======================================
  Coverage   95.56%   95.56%
=======================================
  Files          18       18
  Lines        1870     1870
=======================================
  Hits         1787     1787
  Misses         83       83

Impacted Files
Coverage Δ

src/types/data_serialization_types.rs
28.57% <ø> (ø)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6a8129e...9b4ddce. Read the comment docs.

Coverage remained the same at 94.946% when pulling 9b4ddce079bb2e08a85527237ee29f6f802fc891 on add-tests-for-decoders into 6a8129e689572fea742eae43197e286ddb3b68de on master.

Coverage remained the same at 94.946% when pulling 9b4ddce079bb2e08a85527237ee29f6f802fc891 on add-tests-for-decoders into 6a8129e689572fea742eae43197e286ddb3b68de on master.

Coverage remained the same at 94.946% when pulling 9b4ddce079bb2e08a85527237ee29f6f802fc891 on add-tests-for-decoders into 6a8129e689572fea742eae43197e286ddb3b68de on master.

Coverage remained the same at 94.946% when pulling 9b4ddce079bb2e08a85527237ee29f6f802fc891 on add-tests-for-decoders into 6a8129e689572fea742eae43197e286ddb3b68de on master.

This is strange the coverage percentage hasn't gone up at all
On Tue, Mar 7, 2017 at 2:52 PM Alex Pikalov<EMAIL_ADDRESS>wrote:

Merged #118 https://github.com/AlexPikalov/cdrs/pull/118.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AlexPikalov/cdrs/pull/118#event-990211639, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AM2UncUwVDTYf4Dn0OJEW4K-h8ZSI6s0ks5rjbWPgaJpZM4MV7pS
.


Change web service endpoint

Currently it's brie:20050/v50/zm4 , but it shoudl be brie:20050/zm4/v50 and it shoudl be proxied to devdata.gramene.org/v50/zm4

[ ] change warelab/gramene-swagger impl
[ ] change endpoint in this repo
[ ] add apache config

We will change port to 30050 to avoid downtime.


Read the full documentation: man hub, or visit this project on GitHub.
install with Homebrew (macOS, Linux)
or see other installation options
brew install hub
hub version
git version 2.25.0
hub version 2.14.2 # ← it works!
indicate that you prefer HTTPS to SSH git clone URLs
git config --global hub.protocol https
Staying productive on the command-line
hub makes it easy to clone or create repositories, browse project pages, list known issues, ensure your local branches stay up to date, and share logs or code snippets via Gist.
clone your own project
hub clone dotfiles
→ git clone git://github.com/YOUR_USER/dotfiles.git
clone another project
hub clone github/hub
→ git clone git://github.com/github/hub.git
fast-forward all local branches to match the latest state on the remote
cd myproject
hub sync
list latest open issues in the current repository
hub issue --limit 10
open the current project's issues page
hub browse -- issues
→ open https://github.com/github/hub/issues
open another project's wiki
hub browse rbenv/ruby-build wiki
→ open https://github.com/rbenv/ruby-build/wiki
share log output via Gist
hub gist create --copy build.log
→ (the URL of the new private gist copied to clipboard)
Starting a new project has never been easier:
create a repo to host a new project on GitHub
git init
git add .
git commit -m "And so, it begins."
hub create
→ (creates a new GitHub repository with the name of the current directory)
git push -u origin HEAD
Lowering the barrier to contributing to open-source
Whether you are beginner or an experienced contributor to open-source, hub makes it easier to fork repositories, check the CI status of a branch, and even submit pull requests from the same environment where you write & commit your code.
hub clone octocat/Spoon-Knife
cd Spoon-Knife
create a topic branch
git checkout -b feature
make some changes...
git commit -am "done with feature"
It's time to fork the repo!
hub fork --remote-name origin
→ (forking repo on GitHub...)
→ git remote add origin git@github.com:YOUR_USER/Spoon-Knife.git
push the changes to your new remote
git push origin feature
check the CI status for this branch
hub ci-status --verbose
open a pull request for the branch you've just pushed
hub pull-request
→ (opens a text editor for your pull request message)
Automating tasks for fun and profit
Scripting is much easier now that you can list or create issues, pull requests, and GitHub Releases in the format of your choice.
List issues assigned to you that are labeled "urgent"
hub issue --assignee YOUR_USER --labels urgent
List the URLs of at most 20 pull requests based on the "develop" branch:
hub pr list --limit 20 --base develop --format='%t [%H] | %U%n'
Create a GitHub Release from master using release notes from a file
hub release create --copy -F release-notes.txt v2.3.0
→ (the URL of the new release copied to clipboard)
Drop down to the API level
Even if hub doesn't support the exact feature you need, you can use hub api to manually make requests against any GitHub API—even GraphQL—and have hub handle authentication, JSON encoding/decoding, and pagination for you.
use contents of a file to post a comment on issue #123 of the current repo
hub api repos/{owner}/{repo}/issues/123/comments --field<EMAIL_ADDRESS>find a pull request that introduced a specific commit SHA into a repo
REPO="github/hub"
SHA="b0db79db"
hub api graphql --flat -f q="repo:$REPO type:pr $SHA" -f query='
query($q: String!) {
search(query: $q, type: ISSUE, first: 3) {
nodes {
... on PullRequest {
url
}
}
}
}
' | awk '/.url/ { print $2 }'
See hub-api-utils for more examples.
Designed for open-source maintainers
Maintaining a project is easier when you can easily fetch from other forks, check out pull requests, close issues, and even cherry-pick commits by URL.
fetch from multiple trusted forks, even if they don't yet exist as remotes
hub fetch mislav,cehoffman
→ git remote add mislav git://github.com/mislav/hub.git
→ git remote add cehoffman git://github.com/cehoffman/hub.git
→ git fetch --multiple mislav cehoffman
check out a pull request for review
hub pr checkout 134
→ (creates a new branch with the contents of the pull request)
make new commits, then update the pull request
git push
close an issue
hub issue update 134 --state closed
directly apply all commits from a pull request to the current branch
hub am -3 https://github.com/github/hub/pull/134
cherry-pick a GitHub URL
hub cherry-pick https://github.com/xoebus/hub/commit/177eeb8
open the GitHub compare view between two releases
hub compare v0.9..v1.0
put the compare URL for a topic branch to your clipboard
hub compare --url feature | pbcopy
Using GitHub for work
Save time at work by opening pull requests for code reviews and pushing to multiple remotes at once. Even GitHub Enterprise is supported.
have hub recognize your GitHub Enterprise hostname
git config --global --add hub.host my.example.org
transfer an issue to another repo
hub issue transfer 123 NEWREPO
open a pull request with title & body from a file
git push origin feature
hub pull-request --copy -F prepared-message.md
→ (the URL of the new pull request copied to clipboard)
push to multiple remotes
hub push production,staging

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[x] I have added the 'writer impact' label
[x] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

https://github.com/github/hub/issues,https://github.com/rbenv/ruby-build/wiki,git@github.com,release-notes.txt,build.log,https://github.com/github/hub/pull/134,hub.host,prepared-message.md,release-notes.txt,https://github.com/xoebus/hub/commit/177eeb8,https://github.com/github/hub/pull/134

`Sephiroth
A Python3 script to build cloud block lists for servers.
Last Commit Release Contributors License Docker Downloads Maintainability Code style: black
Requirements
Python 3.8
Setup
Python
It is recommended to install sephiroth into a virtual environment. From a brand new Ubuntu 18.04 machine, the setup flow should look something like this:
sudo apt-get install python3 python3-pip && python -m pip install pipenv
mkdir sephiroth && cd sephiroth
pipenv install sephiroth
You can also get the always-latest updates by cloning directly from the repository.
git clone https://github.com/0xdade/sephiroth.git
cd sephiroth
pipenv install .
Docker
Alternatively, we provide a Dockerfile with build and run instructions, or you can fetch the latest version from dockerhub:
docker pull 0xdade/sephiroth
docker run --rm -v $(pwd):/app/output sephiroth -s nginx -t gcp
Usage
Sephiroth provides a built in help menu through the use of Python's argparse library. It tells you which commands are required, as well as other options.
sephiroth on  master [!] on 🐳 v19.03.12 via sephiroth via 🐍 3.8.3
➜ sephiroth --help
usage: Sephiroth [-h] -s {nginx,apache,iptables,ip6tables} -t {aws,azure,gcp,asn,file,oci,tor} [-a ASN] [-f FILENAME] [-r REDIR_TARGET] [-p] [--no-ipv6] [--compacted] [-V]
Sephiroth is made to help block clouds.
optional arguments:
-h, --help            show this help message and exit
-s {nginx,apache,iptables,ip6tables}, --server {nginx,apache,iptables,ip6tables}
Type of server to build blocklist for
-t {aws,azure,gcp,asn,file,oci,tor,do}, --target {aws,azure,gcp,asn,file,oci,tor,do}
Targets to block
-a ASN, --asn ASN     ASN to block in AS#### format
-f FILENAME, --file FILENAME
Files to block addresses from
-r REDIR_TARGET, --redir REDIR_TARGET
Place to redirect requests to. (apache)
-p, --proxy           Using PROXY Protocol? (nginx)
--no-ipv6             Exclude ipv6 addresses from the block list where applicable
--compacted           Compact neighboring cidr ranges. This produces smaller file sizes but loses detail about each range.
-V, --version         show program's version number and exit
For more information, assistance, or to submit a pull request, please visit https://github.com/0xdade/sephiroth.
Example
sephiroth on  master [!?] on 🐳 v19.03.8 via sephiroth took 7s
➜ sephiroth -s nginx -t asn -a AS15169 -a AS31337 -t aws
(asn) Fetching IP ranges from api.hackertarget.com for 2 ASNs
(aws) Fetching IP ranges from Amazon
Your nginx blocklist for asn, aws can be found at output/2020-06-07_002847_nginx_asn_aws.conf
Please add this line to /etc/nginx/nginx.conf before the Virtual Host Configs.
    include /mnt/c/Users/dade/Desktop/sephiroth/output/2020-06-07_002847_nginx_asn_aws.conf;

Then you can use the $block_ip variable in your site config like so:
    if ($block_ip) {
            return 302 https://example.com;
    }

Supported Servers
nginx - Makes use of nginx's ngx_http_geo_module which comes with the nginx package in Ubuntu 18.04. Optionally supports the use of proxy_protocol, in the event that you are using a PROXY-enabled redirector.
apache - Generates a mod_rewrite rule set to do conditional redirects based on cloud ip ranges. Does not (to my knowledge) support proxy_protocol usage. Requires -r REDIR_TARGET for the RewriteRule
iptables - Generates a set of iptables DROP rules to block access from listed IPv4 ranges.
ip6tables - Generates a set of ip6tables DROP rules to block access from listed IPv6 ranges.
Supported Providers
While Sephiroth began as a cloud blocking script, it became apparent that there were plenty of other sources of ip addresses that might be useful, and so we expanded. This is the list of currently supported providers.
aws - Amazon Web Services. Obtained via the documented download process.
azure - Azure Cloud. Fetched via a two part process. Fetch the html of the download page and then parse the html to get the failoverLink anchor tag. That JSON is then downloaded.
gcp - Google Cloud Platform. Fetches the cloud.json as documented via the docs.
oci - Oracle Cloud Infrastructure. Fetched via the documented download process
asn - Lookup IP ranges by ASN. Uses Hackertarget API to make fetching results painless. Limited to 100 ASN lookups per day per source IP.
file - Read line-separated list of addresses from one or more files. Lines that begin with # are ignored and lines that contain a # after the address save the comment into the output.
tor - Fetch the bulk list of Tor exit nodes from the torproject.org website and add them to the list.
do - Digital Ocean. Fetched from google.csv as documented on the Platform page.


Remove password from command line.

Password in command line was a bad choice. Remove it altogether. Let it be taken secretly using getpass only.

Resolved by https://github.com/csurfer/gitsuggest/commit/445208cf0ee23f55e34ec04e5438ec362b883eea


RFC: cache locally couple of last starter configurations on the frontend side

Overview
List 5-6 most recent successful configuration generations under the configuration form. Data that is being send as a response to /starter.zip request is in binary format, on the frontend side we do wrap it using the Blob API, this allows us to keep raw data in storages like localStorage or sessionStorage.
Visual representation of such solution might be a simple list with the file name +  human readable timestamp of generation. Hovering over each entry would list selected options used to generate configuration. Upon user clicking the entry row or some icon user would be able download .zip file without need of additional request.
Motivation
As a developer I want to have a quick access to last configurations in order not to fill the form again if the setting that I use the most doesn't change.
Pitfalls
As the project emerges some options might change and potentially make the cached version of some configuration variation not usable.

So this would be local-only? This brings into scope cookies and disclaimers once again ;)

We would only store a raw binary data + payload that was send to the backend, there are no personal information like IP address etc. Nothing that can be used to target users.

@adamw if you do not see the use for such a feature right now, we can close this RFC :)

Closing due to RFC not getting a community interest.


Add DNS name resolver. Add unit tests.

Description
Add new name resolver based on DNS. It needs to implement custom deployment in Kubernetes.
Issue reference
dapr/dapr#2865
Checklist

[x] Code compiles correctly
[x] Created/updated tests
[x] Documentation update not needed. Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@abogdanov37 are you making progress with this PR?

@abogdanov37 are you making progress with this PR?

Yes. After discussion in PR https://github.com/dapr/docs/pull/1310 I think that we can close this PR and for DNS mode I can use Kubernetes mode. What do think about it?

Hi folks! @artursouza thank you for approve. Who can merge PR?

Hi folks! @artursouza thank you for approve. Who can merge PR?

@artursouza @yaron2

Hi folks! What can I do to force the merging of this PR?

@abogdanov37 We only force merge in some rare cases. We wait for build to pass before merging. We had a change in where logger package is imported from, so I fixed that in your PR. Let's see.

@artursouza  Thank you very much.

@abogdanov37 Is the issue referred in this PR the correct one?

@abogdanov37 Is the issue referred in this PR the correct one?

Yes


flocker-deploy should provide error handling

flocker-deploy can fail due to communication problems when talking to the nodes. Right now it's not clear what happened, which node had the issue, etc.. We should provide nice friendly error reporting to help users figure out what's going on.

We are moving our development planning to JIRA. This issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-370. You are welcome to file additional issues in GitHub if that's easier for you.


fix: fast catchup (beta)

ℹ Overview

fixes bug in fast catchup vs sync detection

✅ Acceptance:

[ ] Pre-commit checks pass

does this intentionally duplicate this pr? LGTM regardless

does this intentionally duplicate

Yea we have two channels beta and main. Main doesn't do anything right now but it will produce a v1 when #40 merges. beta already is active so when we merge this, it "should" produce a new beta artifact


Wrong IOExceptionhandling when combining HystrixFeign and RibbonClient

NetflixOSS » feign » feign-pull-requests #239 SUCCESS
This pull request looks good

If you're up to polishing this, let's proceed. else let me know and I can make an impl based on your work.
If you want to proceed, it would be easiest to make a branch off master, since git will be easier that way.
Thanks!

It would be nice if you make an impl based on the pull request.

polished in https://github.com/OpenFeign/feign/pull/441


Set basic authentication for member hub page

What:

Set basic authentication for member hub page

Why:
Relates to: https://app.asana.com/0/1168997577035609/1194726062822489/f
How:

Make a request to discourse /current to get the user data
Create a custom hook (could be temporary) to get the user data

Media:
https://www.loom.com/share/405666e0a9db47428c2873de2d8ffd60

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


Add more user info on authentication API

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
830

Relevant Lines:
830

💛  - Coveralls


FZ editor: splitter thickness should be 1px when space around zones is zero

Repro steps:
select the columns template
set space around zone to 16
deselect show space around zones
edit the template
Result:
the splitter size is 16px

Expected:
the splitter thickness should be 1px

Fixed in v.0.17 https://github.com/microsoft/PowerToys/releases


Test for strict coercion of Array

I think that strict mode for coercion of Array attribute should raise the coercion error exception, but it doesn't. I've added tests for strict mode for two attribute types (integer and array) to make sure that they work correctly. See that the test for integer attribute passes but for array fails.
Unfortunately I can't figure out what is problem but it seems to me that the issue is in this line: https://github.com/solnic/virtus/blob/master/lib/virtus/attribute/strict.rb#L14
In the code we have here changed self after evaluating super. It is because Collection attribute (it's a virtus' attribute type for Array) actually calls coercion of a superclass (Attribute) in this case but not current class'.
Could you approve that it's really a bug and help to fix this if it's true? Thanks!

Already fixed here: https://github.com/solnic/virtus/issues/280
I was using old version. Sorry for the disturb.


Try np.concatenate() for unregistered backends.

As discussed in https://github.com/plures/gumath/issues/22, unregistered backends work if np.concatenate() is tried.  This is a an example that deliberately does not touch the code path for registered backends but works for xnd.array:
diff --git a/dask/array/core.py b/dask/array/core.py
index f04ff0c..dd968a6 100644
--- a/dask/array/core.py
+++ b/dask/array/core.py
@@ -3505,6 +3505,13 @@ def concatenate3(arrays):
         x = unpack_singleton(arrays)
         return _concatenate2(arrays, axes=list(range(x.ndim)))

+    if hasattr(advanced, '__array_function__'):
+        try:
+            x = unpack_singleton(arrays)
+            return _concatenate2(arrays, axes=list(range(x.ndim)))
+        except TypeError:
+            pass # np.concatenate not implemented.
+
     ndim = ndimlist(arrays)
     if not ndim:
         return arrays

cc @mrocklin @pentschev I believe this is the right way forward, since it was the point of __array_function__. 😄

This function is a little bit hacky (my apologies).  Ideally arrays use the logic at the bottom of this function, which allocates an array and then assigns into it.  The _concatenate2 solution is slower and involves a new copy for every dimension.
The proposed solution is sub-ideal because it slows down the common numpy case.  Probably short term we want to do something like ...
if the arrays are all numpy arrays:
    do the assignment solution
else:
    try the concatenate2 solution

In the future presumably other fully featured implementations like cupy could also make use of the assignment solution at the bottom, if we used something like np.empty_like(..., shape=) (cc @pentschev)

I agree with what @mrocklin is saying, we should try to avoid slowing the current implementation down. Seems like his suggestion wouldn't be too difficult to get working, so if we have a PR that covers his concerns, that's +1 from me.

This conversation appears to have gone stale.  Closing.

Ah yes, it appears to be superseded by #4669.

Re-open? I revitalised #4669

Since I opened this, I'm fine with moving the conversation to #4669.


Typo on line 70 resulting in ignored forbid flag

https://github.com/sbyrnes321/trianglesolver/blob/master/trianglesolver.py#L70
elif ssa == 'forbid':
should be
elif ssa_flag == 'forbid':

Fixed by 62f8696f0c2b5648a8e56e236c9b7da80f2d0c26 . New version 1.1 incorporates this change. Thank you!


Creating APIs for Review Comments and Star rating for logged in user

Issue Report
Title
Creating APIs for Review Comments and Star rating for logged in user
Description
The goal is to develop backend APIs for managing review comments and star ratings for products or services by logged-in users. This should allow users to submit, view, and manage their reviews and ratings. The system should also restrict unauthenticated users from accessing these features, ensuring only logged-in users can post or update reviews. The following features are expected:
Add Review API: Enables users to post a review with a comment and star rating.
Fetch Reviews API: Retrieves all reviews for a particular item, including user details.
Edit/Delete Review API: Allows users to modify or delete their own reviews.
Steps to Reproduce the Issue
To assist us in understanding and resolving the issue, please outline the steps you took that led to the problem:
To assist in replicating the requirements and verifying them:
Action 1: Attempt to add a review without logging in.
Action 2: Log in, then submit a review with a comment and star rating.
Action 3: View the list of reviews for a particular product, including user details.
Action 4: Try editing or deleting the review as the logged-in user.
Action 5: Attempt to edit or delete reviews as an unauthenticated user or as a different logged-in user.
Feel free to be as detailed as necessary so we can replicate the issue accurately.
Expected Behavior
Unauthenticated users should receive an error when attempting to add, edit, or delete reviews.
Logged-in users should be able to add reviews with a comment and a star rating.
All reviews for a specific item should be displayed, including user information.
Only the review owner should be able to edit or delete their review.
Actual Behavior
Describe any deviations from the expected behavior, such as:
Unauthenticated users accessing restricted actions.
Errors in retrieving or displaying review data.
Inability to edit or delete reviews as the review owner.
Screenshots (if applicable)

@thakuratul2 @saurabhbakolia Could you please assign this issue to me


Replace wired-element with @mui/base

https://mui.com/base/getting-started/overview/#advantages-of-base-ui


[stable/jenkins] Make node executor mode configurable

Signed-off-by: Ragin-LundF<EMAIL_ADDRESS>Is this a new chart
No
What this PR does / why we need it:
With the possibility to set the Jenkins to the EXCLUSIVE mode it is possible to assign e.g. a seed job to the master and delegate all other jobs to slave containers.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign wmcdona89

/ok-to-test

/ok-to-test

/retest

/retest

/retest

ci tests are failing as they're unable to install plugins. appears to be related to JENKINS-62230

/retest

the ci tests issue appears to have been resolved by INFRA-2613

/lgtm

@Ragin-LundF thanks again for the PR


Blake support

In addition to support of blake this pr also include a minor change to secp256k1 from_bytes method: in case of only x coordinate given in bytes, we choose randomly between the two possible y coordinates (instead of using a fixed one)


<number> not carried over from setUp to test

The value of <number> (corresponding to block.number in Solidity) set in setUp() via vm.roll(...) is not carried over to the test.  E.g., test_roll_setup fails:
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.6.2 <0.9.0;

import "forge-std/Test.sol";
import "forge-std/Vm.sol";

import "../test/examples/MyErc20.sol";

contract RollTest is Test {
    function setUp() external {
        vm.roll(123);
    }

    // function testFail_run1() external {
    function test_roll_setup() external {
        assert(block.number == 123);

    }
}

with the following path condition:
#And #Not ( { NUMBER_CELL:Int #Equals 123 } ) )

In the test configuration, <number> has symbolic value:
  <number>
    NUMBER_CELL:Int
  </number>

while in the terminal node of setUp the <number> value is set to the one provided in vm.roll:
  <number>
    123
  </number>

Right now we only save the <accounts> cell. Are there any other cells that it would also make sense to keep, e.g. in <block>? Does foundry have any sort of guarantee about what the block number would be for an example like this? I guess it would make sense for it not to be reset to 0, but could it possibly be higher than 123 when test_roll_setup() is executed?


tradeEthForExactTokensWithData for last tokens

I'm working on an application that leverages uniswap exchanges. Our ERC20 tokens have 0 decimals. I'm running into an issue when purchasing the last token in the exchange.
When calling tradeEthForExactTokensWithData to purchase the last tokens in an exchange, an error is thrown here https://github.com/Uniswap/uniswap-sdk/blob/1fcc0a59cd960e4ed0465c7714557688c01b31fe/src/computation/trade.ts#L38-L52
Uncaught Error: Passed bigNumber 'Infinity' is not a valid uint256.

This is because denominator becomes 0 and inputAmount is then divided by 0.
https://github.com/Uniswap/uniswap-sdk/blob/1fcc0a59cd960e4ed0465c7714557688c01b31fe/src/computation/trade.ts#L46-L47
Is it possible to support this use case or should the exchange always have remaining tokens in it?
Is seems the js logic mirrors the vyper logic here, although im not sure how vyper handles division by zero.

V1 SDK will no longer be updated
https://github.com/Uniswap/uniswap-v1-sdk


add camera floating action button like signal and select chat to send to

No content

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @Intellijence in #android-bugs.

This should actually be fairly easy to do...

Create the Floating Action Button

The hardest part for this would be figuring out where to put it. Should it be behind a toggle? Should the current Floating Action button be more like a menu that when tapped will show 2 options? new chat or camera?

When the camera is tapped, open the camera
When a picture is taken, it should pop the camera, and the result path to the picture should be returned
Pass that File to the ConversationView picked attachments, as well as the isCreator flag


@AllArgsConstructor(onConstructor_ = @lazy) IDEA will report an error

Short description
@AllArgsConstructor(onConstructor_ = @Lazy) IDEA will report an error (IDEA with Chinese Language plugin)
IDEA does not have this problem without Chinese Language plugin
Version information

IDEA Version: IDEA 2020.1.3
JDK Version: java version "1.8.0_231"
OS Type & Version: Windows 10 version:1909
Lombok Plugin Version: 0.30-2020.1
Lombok Dependency Version: 1.18.6

Steps to reproduce
1st. Install IDEA plugin named : Chinese (Simplified) Language Pack EAP
2nd. Create a new class in the compiler, then add @AllArgsConstructor(onConstructor_ = @Lazy) annotation above the class to reproduce the problem

同样碰到了这样的问题。
版本：

IDEA Version: IDEA 2020.1.4
JDK Version: java version 1.8.0_261
OS Type & Version: mac 10.15.5
Lombok Plugin Version: 0.30-2020.1
Lombok Dependency Version: 1.16.20

用法：
@RequiredArgsConstructor(onConstructor_ = @Autowired)
禁用 idea 的 中文插件（EAP版本）后，此问题解决。

Short description
Also occurs with Korean Language Pack EAP.

https://github.com/mplushnikov/lombok-intellij-plugin/blob/releasebuild_0.34-2020.1/src/main/java/de/plushnikov/intellij/plugin/handler/OnXAnnotationHandler.java#L16
private static final Pattern CANNOT_RESOLVE_METHOD_UNDERSCORES_MESSAGE = Pattern.compile("Cannot resolve method '(onMethod|onConstructor|onParam)_+'");

According to the code, I understand that the plugin makes the IDE just ignore the error message if some conditions are met. But since Language Pack is applied, the error message comes in a different format, so it cannot match the regex.
Version information

IDEA Version: 2020.3.1 (Ultimate Edition) Build #IU-203.6682.168
JDK Version: Azul 1.8.0_282
OS Type & Version: Windows 10 Pro x64 20H2 19042.746
Lombok Plugin Version: Bundled 203.6682.168
Lombok Dependency Version: 1.18.16

Short description
Also occurs with Korean Language Pack EAP.

https://github.com/mplushnikov/lombok-intellij-plugin/blob/releasebuild_0.34-2020.1/src/main/java/de/plushnikov/intellij/plugin/handler/OnXAnnotationHandler.java#L16
private static final Pattern CANNOT_RESOLVE_METHOD_UNDERSCORES_MESSAGE = Pattern.compile("Cannot resolve method '(onMethod|onConstructor|onParam)_+'");

According to the code, I understand that the plugin makes the IDE just ignore the error message if some conditions are met. But since Language Pack is applied, the error message comes in a different format, so it cannot match the regex.
Version information

IDEA Version: 2020.3.1 (Ultimate Edition) Build #IU-203.6682.168
JDK Version: Azul 1.8.0_282
OS Type & Version: Windows 10 Pro x64 20H2 19042.746
Lombok Plugin Version: Bundled 203.6682.168
Lombok Dependency Version: 1.18.16

https://youtrack.jetbrains.com/issue/IDEA-260828


Need error message when pcidp/config.json is invlid

I accidentally erased the opening '{' in my config file while editing for a given platform.  A simple 'cat' of the file (which I must have done 30 times and I easily overlooked the missing bracket.
Multus logging didn't have any error messages about invalid file, looked fine.  A simple log message about the config.json being invalid may save somebody else the frustration of 6 hours looking for a dumb mistake :-)

Hi @PatrickKutch,
Thanks for logging the this issue. Any invalid config issues in pcidp/config.json are caught and reported by sriov device plugin.
This error can be seen in it's log as shown below if logging is enabled:
$ ./build/sriovdp -logtostderr

I0410 10:01:50.416344   28198 main.go:44] resource manager reading configs
E0410 10:01:50.416400   28198 main.go:46] error getting resources from file error unmarshalling raw bytes invalid character ':' after top-level value

If you are running the device plugin as daemonset using the example sriovdp-daemonset.yaml ìmages`  then you can view this  log from kubectl as shown below:
$ kubectl -n kube-system logs -f kube-sriov-device-plugin-amd64-q47bl

These logs cannot be propagated in Multus because this isn't a CNI plugin.

Closing as stale


Add support for duration types in the python operator

As usual, I'm ignoring the homebrew dependency error from MacOS CI and merging anyways:
dyld[7613]: Library not loaded: '/usr/local/opt/simdjson/lib/libsimdjson.16.dylib'
  Referenced from: '/Users/runner/work/tenzir/tenzir/_install/lib/libtenzir.2821.0.dylib'
  Reason: tried: '/usr/local/opt/simdjson/lib/libsimdjson.16.dylib' (no such file), '/usr/local/lib/libsimdjson.16.dylib' (no such file), '/usr/lib/libsimdjson.16.dylib' (no such file), '/usr/local/Cellar/simdjson/3.4.0/lib/libsimdjson.16.dylib' (no such file), '/usr/local/lib/libsimdjson.16.dylib' (no such file), '/usr/lib/libsimdjson.16.dylib' (no such file)Library not loaded: '/usr/local/opt/llvm/lib/clang/16/lib/darwin/libclang_rt.asan_osx_dynamic.dylib'


Server hardware configuration requirement

What config is required for launching the Taiko node?
I saw that Optimism has this recommended:
Recommended Hardware
16GB+ RAM
500GB+ disk (HDD works for now, SSD is better)
10mb/s+ download

Thank you for this issue. We'll keep it open and wait until all ZKP integration is done. Then we'll have a better idea of what hardware is required to run a read-only node, a proposer, and/or a prover.

I see the details added to README.md
https://github.com/taikoxyz/simple-taiko-node/blob/main/README.md#whats-the-system-requirements