Vulkan Driver doesn't work on drivers that lack cubemap array support, such as iOS simulator and 1st-gen iPad Pro

Godot version
4.0 stable
System information
Mac OS Monterey (12.6), Vulkan API 1.2.231, iOS 16.2 Simulator (iPhone 14 Pro), Intel chip CPU
Issue description
When trying to export an empty game to run in the Xcode simulator, it gives an error:
USER ERROR: Condition "!_start_success" is true. Returning: false
USER ERROR: Unable to create DisplayServer, all display drivers failed.
USER ERROR: Failed to create Vulkan window.

Should that be normal? Since on my Desktop running the application it works normally
full log:
2023-03-02 08:15:14.046921-0300 EmptyProject40stableMobile[21879:415340] Metal GPU Frame Capture Enabled
2023-03-02 08:15:14.047283-0300 EmptyProject40stableMobile[21879:415340] Metal API Validation Enabled
*********** main.m
running app main
2023-03-02 08:15:14.164637-0300 EmptyProject40stableMobile[21879:415340] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)")
2023-03-02 08:15:14.164846-0300 EmptyProject40stableMobile[21879:415340] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)")
Path: /Users/gustavomaciel/Library/Developer/CoreSimulator/Devices/91040C82-2B49-40F9-8FB2-E8BEE67EE6B6/data/Containers/Bundle/Application/17A2E2CE-D93E-4B79-9907-8D6B2912F4BB/EmptyProject40stableMobile.app
godot_ios /Users/gustavomaciel/Library/Developer/CoreSimulator/Devices/91040C82-2B49-40F9-8FB2-E8BEE67EE6B6/data/Containers/Bundle/Application/17A2E2CE-D93E-4B79-9907-8D6B2912F4BB/EmptyProject40stableMobile.app/EmptyProject40stableMobile
cwd /Users/gustavomaciel/Library/Developer/CoreSimulator/Devices/91040C82-2B49-40F9-8FB2-E8BEE67EE6B6/data/Containers/Bundle/Application/17A2E2CE-D93E-4B79-9907-8D6B2912F4BB/EmptyProject40stableMobile.app
os created
setup 0
******** setting up keyboard input view
******** adding observer for keyboard show/hide
2023-03-02 08:15:14.336630-0300 EmptyProject40stableMobile[21879:415340] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x6000016581c0> F8BB1C28-BAE8-11D6-9C31-00039315CD46
start animation!
2023-03-02 08:15:14.398352-0300 EmptyProject40stableMobile[21879:415340] USER ERROR: AudioOutputUnitStart failed, code: -50
2023-03-02 08:15:14.398488-0300 EmptyProject40stableMobile[21879:415340]    at: start (drivers/coreaudio/audio_driver_coreaudio.cpp:251)
USER ERROR: AudioOutputUnitStart failed, code: -50
   at: start (drivers/coreaudio/audio_driver_coreaudio.cpp:251)
2023-03-02 08:15:14.403985-0300 EmptyProject40stableMobile[21879:415340] Godot Engine v4.0.stable.official.92bee43ad - https://godotengine.org
Godot Engine v4.0.stable.official.92bee43ad - https://godotengine.org
[mvk-info] MoltenVK version 1.2.0, supporting Vulkan version 1.2.231.
	The following 82 Vulkan extensions are supported:
		VK_KHR_16bit_storage v1
		VK_KHR_8bit_storage v1
		VK_KHR_bind_memory2 v1
		VK_KHR_buffer_device_address v1
		VK_KHR_create_renderpass2 v1
		VK_KHR_dedicated_allocation v3
		VK_KHR_depth_stencil_resolve v1
		VK_KHR_descriptor_update_template v1
		VK_KHR_device_group v4
		VK_KHR_device_group_creation v1
		VK_KHR_driver_properties v1
		VK_KHR_dynamic_rendering v1
		VK_KHR_external_fence v1
		VK_KHR_external_fence_capabilities v1
		VK_KHR_external_memory v1
		VK_KHR_external_memory_capabilities v1
		VK_KHR_external_semaphore v1
		VK_KHR_external_semaphore_capabilities v1
		VK_KHR_fragment_shader_barycentric v1
		VK_KHR_get_memory_requirements2 v1
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_get_surface_capabilities2 v1
		VK_KHR_imageless_framebuffer v1
		VK_KHR_image_format_list v1
		VK_KHR_maintenance1 v2
		VK_KHR_maintenance2 v1
		VK_KHR_maintenance3 v1
		VK_KHR_multiview v1
		VK_KHR_portability_subset v1
		VK_KHR_push_descriptor v2
		VK_KHR_relaxed_block_layout v1
		VK_KHR_sampler_mirror_clamp_to_edge v3
		VK_KHR_sampler_ycbcr_conversion v14
		VK_KHR_separate_depth_stencil_layouts v1
		VK_KHR_shader_draw_parameters v1
		VK_KHR_shader_float_controls v4
		VK_KHR_shader_float16_int8 v1
		VK_KHR_shader_subgroup_extended_types v1
		VK_KHR_spirv_1_4 v1
		VK_KHR_storage_buffer_storage_class v1
		VK_KHR_surface v25
		VK_KHR_swapchain v70
		VK_KHR_swapchain_mutable_format v1
		VK_KHR_timeline_semaphore v2
		VK_KHR_uniform_buffer_standard_layout v1
		VK_KHR_variable_pointers v1
		VK_EXT_buffer_device_address v2
		VK_EXT_debug_marker v4
		VK_EXT_debug_report v10
		VK_EXT_debug_utils v2
		VK_EXT_descriptor_indexing v2
		VK_EXT_fragment_shader_interlock v1
		VK_EXT_host_query_reset v1
		VK_EXT_image_robustness v1
		VK_EXT_inline_uniform_block v1
		VK_EXT_memory_budget v1
		VK_EXT_metal_objects v1
		VK_EXT_metal_surface v1
		VK_EXT_post_depth_coverage v1
		VK_EXT_private_data v1
		VK_EXT_robustness2 v1
		VK_EXT_sample_locations v1
		VK_EXT_scalar_block_layout v1
		VK_EXT_separate_stencil_usage v1
		VK_EXT_shader_stencil_export v1
		VK_EXT_shader_viewport_index_layer v1
		VK_EXT_subgroup_size_control v2
		VK_EXT_swapchain_colorspace v4
		VK_EXT_texel_buffer_alignment v1
		VK_EXT_texture_compression_astc_hdr v1
		VK_EXT_vertex_attribute_divisor v3
		VK_AMD_gpu_shader_half_float v2
		VK_AMD_negative_viewport_height v1
		VK_AMD_shader_image_load_store_lod v1
		VK_AMD_shader_trinary_minmax v1
		VK_IMG_format_pvrtc v1
		VK_INTEL_shader_integer_functions2 v1
		VK_GOOGLE_display_timing v1
		VK_MVK_ios_surface v3
		VK_MVK_moltenvk v36
		VK_NV_fragment_shader_barycentric v1
		VK_NV_glsl_shader v1
[mvk-info] GPU device:
		model: Apple iOS simulator GPU
		type: Integrated
		vendorID: 0x106b
		deviceID: 0x100203ea
		pipelineCacheUUID: 000027D8-1002-03EA-0000-000000000000
	supports the following Metal Versions, GPU's and Feature Sets:
		Metal Shading Language 3.0
		GPU Family Apple 2
		GPU Family Apple 1
		GPU Family Common 1
		iOS GPU Family 2 v5
		iOS GPU Family 2 v4
		iOS GPU Family 2 v3
		iOS GPU Family 2 v2
		iOS GPU Family 2 v1
		iOS GPU Family 1 v5
		iOS GPU Family 1 v4
		iOS GPU Family 1 v3
		iOS GPU Family 1 v2
		iOS GPU Family 1 v1
[mvk-info] Created VkInstance for Vulkan version 1.2.0, as requested by app, with the following 3 Vulkan extensions enabled:
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_surface v25
		VK_MVK_ios_surface v3
2023-03-02 08:15:14.659866-0300 EmptyProject40stableMobile[21879:415340] Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple iOS simulator GPU
Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple iOS simulator GPU
2023-03-02 08:15:14.660182-0300 EmptyProject40stableMobile[21879:415340] USER ERROR: Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
2023-03-02 08:15:14.660330-0300 EmptyProject40stableMobile[21879:415340]    at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:1336)
USER ERROR: Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
   at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:1336)
2023-03-02 08:15:14.660551-0300 EmptyProject40stableMobile[21879:415340] USER ERROR: Condition "err != OK" is true. Returning: ERR_CANT_CREATE
2023-03-02 08:15:14.660689-0300 EmptyProject40stableMobile[21879:415340]    at: _window_create (drivers/vulkan/vulkan_context.cpp:1681)
USER ERROR: Condition "err != OK" is true. Returning: ERR_CANT_CREATE
   at: _window_create (drivers/vulkan/vulkan_context.cpp:1681)
2023-03-02 08:15:14.661281-0300 EmptyProject40stableMobile[21879:415340] USER ERROR: Failed to create Vulkan window.
2023-03-02 08:15:14.661446-0300 EmptyProject40stableMobile[21879:415340]    at: DisplayServerIOS (platform/ios/display_server_ios.mm:84)
USER ERROR: Failed to create Vulkan window.
   at: DisplayServerIOS (platform/ios/display_server_ios.mm:84)
2023-03-02 08:15:14.661595-0300 EmptyProject40stableMobile[21879:415340] USER ERROR: Unable to create DisplayServer, all display drivers failed.
2023-03-02 08:15:14.661731-0300 EmptyProject40stableMobile[21879:415340]    at: setup2 (main/main.cpp:2013)
USER ERROR: Unable to create DisplayServer, all display drivers failed.
   at: setup2 (main/main.cpp:2013)
2023-03-02 08:15:14.665820-0300 EmptyProject40stableMobile[21879:415340] USER ERROR: Condition "!_start_success" is true. Returning: false
2023-03-02 08:15:14.665977-0300 EmptyProject40stableMobile[21879:415340]    at: start (main/main.cpp:2381)
USER ERROR: Condition "!_start_success" is true. Returning: false
   at: start (main/main.cpp:2381)

Steps to reproduce
Just create a Empty project as "Mobile" Render option and try to export
Minimal reproduction project
EmptyProject40stableMobile.zip

I got this same exact error today. I wonder if it is a Godot 4 thing or Xcode or M1

@ra669180 your computer is M1? My computer is a Intel chip

@gumaciel yes, m1 and m1 pro getting the same error. The game loads on the simulator but gets stuck on the Godot Splash page and errors out.

cc @bruvzg
I'm not sure if MoltenVK is compiled for x86, so the Vulkan renderer may not work at all on Intel Macs.

@Calinou How do you get it running? I am on Apple Silicon and getting the same error.

@ra669180 to be able to run on my Intel, i needed to change to Compatibility render option

@gumaciel you got it to run? Did you change the Compatibility render option in Xcode or Godot?

@gumaciel you got it to run? Did you change the Compatibility render option in Xcode or Godot?

This is in the top-right corner of the Godot editor.

I'm getting the exact same error on an Intel Mac and the iPhone 14 Pro simulator.

Same here,
Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
Compiling in M1 pro first gen and IPAD pro first gen 12 inches
Here is the debug log:
2023-05-05 09:50:44.317410-0300 networh[937:346758] Metal GPU Frame Capture Enabled
2023-05-05 09:50:44.318714-0300 networh[937:346758] Metal API Validation Enabled
2023-05-05 09:50:44.676623-0300 networh[937:346758] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)")
2023-05-05 09:50:44.676757-0300 networh[937:346758] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)")
2023-05-05 09:50:44.676863-0300 networh[937:346758] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)")
2023-05-05 09:50:44.805542-0300 networh[937:346758] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)")
2023-05-05 09:50:44.866585-0300 networh[937:346758] USER ERROR: AudioOutputUnitStart failed, code: -50
2023-05-05 09:50:44.866666-0300 networh[937:346758]    at: start (drivers/coreaudio/audio_driver_coreaudio.cpp:251)
USER ERROR: AudioOutputUnitStart failed, code: -50
at: start (drivers/coreaudio/audio_driver_coreaudio.cpp:251)
2023-05-05 09:50:44.882300-0300 networh[937:346758] Godot Engine v4.1.dev1.official.db1302637 - https://godotengine.org
Godot Engine v4.1.dev1.official.db1302637 - https://godotengine.org
[mvk-info] MoltenVK version 1.2.0, supporting Vulkan version 1.2.231.
The following 82 Vulkan extensions are supported:
VK_KHR_16bit_storage v1
VK_KHR_8bit_storage v1
VK_KHR_bind_memory2 v1
VK_KHR_buffer_device_address v1
VK_KHR_create_renderpass2 v1
VK_KHR_dedicated_allocation v3
VK_KHR_depth_stencil_resolve v1
VK_KHR_descriptor_update_template v1
VK_KHR_device_group v4
VK_KHR_device_group_creation v1
VK_KHR_driver_properties v1
VK_KHR_dynamic_rendering v1
VK_KHR_external_fence v1
VK_KHR_external_fence_capabilities v1
VK_KHR_external_memory v1
VK_KHR_external_memory_capabilities v1
VK_KHR_external_semaphore v1
VK_KHR_external_semaphore_capabilities v1
VK_KHR_fragment_shader_barycentric v1
VK_KHR_get_memory_requirements2 v1
VK_KHR_get_physical_device_properties2 v2
VK_KHR_get_surface_capabilities2 v1
VK_KHR_imageless_framebuffer v1
VK_KHR_image_format_list v1
VK_KHR_maintenance1 v2
VK_KHR_maintenance2 v1
VK_KHR_maintenance3 v1
	VK_KHR_multiview v1
	VK_KHR_portability_subset v1
	VK_KHR_push_descriptor v2
	VK_KHR_relaxed_block_layout v1
	VK_KHR_sampler_mirror_clamp_to_edge v3
	VK_KHR_sampler_ycbcr_conversion v14
	VK_KHR_separate_depth_stencil_layouts v1
	VK_KHR_shader_draw_parameters v1
	VK_KHR_shader_float_controls v4
	VK_KHR_shader_float16_int8 v1
	VK_KHR_shader_subgroup_extended_types v1
	VK_KHR_spirv_1_4 v1
	VK_KHR_storage_buffer_storage_class v1
	VK_KHR_surface v25
	VK_KHR_swapchain v70
	VK_KHR_swapchain_mutable_format v1
	VK_KHR_timeline_semaphore v2
	VK_KHR_uniform_buffer_standard_layout v1
	VK_KHR_variable_pointers v1
	VK_EXT_buffer_device_address v2
	VK_EXT_debug_marker v4
	VK_EXT_debug_report v10
	VK_EXT_debug_utils v2
	VK_EXT_descriptor_indexing v2
	VK_EXT_fragment_shader_interlock v1
	VK_EXT_host_query_reset v1
	VK_EXT_image_robustness v1
	VK_EXT_inline_uniform_block v1
	VK_EXT_memory_budget v1
	VK_EXT_metal_objects v1
	VK_EXT_metal_surface v1
	VK_EXT_post_depth_coverage v1
	VK_EXT_private_data v1
	VK_EXT_robustness2 v1
	VK_EXT_sample_locations v1
	VK_EXT_scalar_block_layout v1
	VK_EXT_separate_stencil_usage v1
	VK_EXT_shader_stencil_export v1
	VK_EXT_shader_viewport_index_layer v1
	VK_EXT_subgroup_size_control v2
	VK_EXT_swapchain_colorspace v4
	VK_EXT_texel_buffer_alignment v1
	VK_EXT_texture_compression_astc_hdr v1
	VK_EXT_vertex_attribute_divisor v3
	VK_AMD_gpu_shader_half_float v2
	VK_AMD_negative_viewport_height v1
	VK_AMD_shader_image_load_store_lod v1
	VK_AMD_shader_trinary_minmax v1
	VK_IMG_format_pvrtc v1
	VK_INTEL_shader_integer_functions2 v1
	VK_GOOGLE_display_timing v1
	VK_MVK_ios_surface v3
	VK_MVK_moltenvk v36
	VK_NV_fragment_shader_barycentric v1
	VK_NV_glsl_shader v1

[mvk-info] GPU device:
model: Apple A9X GPU
type: Integrated
vendorID: 0x106b
deviceID: 0x100303eb
pipelineCacheUUID: 000027D8-1003-03EB-0000-000000000000
supports the following Metal Versions, GPU's and Feature Sets:
Metal Shading Language 3.0
GPU Family Apple 3
GPU Family Apple 2
GPU Family Apple 1
GPU Family Common 2
GPU Family Common 1
iOS GPU Family 3 v4
iOS GPU Family 3 v3
iOS GPU Family 3 v2
iOS GPU Family 3 v1
iOS GPU Family 2 v5
iOS GPU Family 2 v4
iOS GPU Family 2 v3
iOS GPU Family 2 v2
iOS GPU Family 2 v1
iOS GPU Family 1 v5
iOS GPU Family 1 v4
iOS GPU Family 1 v3
iOS GPU Family 1 v2
iOS GPU Family 1 v1
[mvk-info] Created VkInstance for Vulkan version 1.2.0, as requested by app, with the following 3 Vulkan extensions enabled:
VK_KHR_get_physical_device_properties2 v2
VK_KHR_surface v25
VK_MVK_ios_surface v3
2023-05-05 09:50:45.067405-0300 networh[937:346758] Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple A9X GPU
Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple A9X GPU
2023-05-05 09:50:45.067509-0300 networh[937:346758] USER ERROR: Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
2023-05-05 09:50:45.067581-0300 networh[937:346758]    at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:1336)
USER ERROR: Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:1336)
2023-05-05 09:50:45.067622-0300 networh[937:346758] USER ERROR: Condition "err != OK" is true. Returning: ERR_CANT_CREATE
2023-05-05 09:50:45.067651-0300 networh[937:346758]    at: _window_create (drivers/vulkan/vulkan_context.cpp:1681)
USER ERROR: Condition "err != OK" is true. Returning: ERR_CANT_CREATE
at: _window_create (drivers/vulkan/vulkan_context.cpp:1681)
2023-05-05 09:50:45.067896-0300 networh[937:346758] USER ERROR: Failed to create Vulkan window.
2023-05-05 09:50:45.067925-0300 networh[937:346758]    at: DisplayServerIOS (platform/ios/display_server_ios.mm:84)
USER ERROR: Failed to create Vulkan window.
at: DisplayServerIOS (platform/ios/display_server_ios.mm:84)
2023-05-05 09:50:45.067979-0300 networh[937:346758] USER ERROR: Unable to create DisplayServer, all display drivers failed.
2023-05-05 09:50:45.068369-0300 networh[937:346758]    at: setup2 (main/main.cpp:2066)
USER ERROR: Unable to create DisplayServer, all display drivers failed.
at: setup2 (main/main.cpp:2066)
2023-05-05 09:50:45.168861-0300 networh[937:346758] USER ERROR: Condition "!_start_success" is true. Returning: false
2023-05-05 09:50:45.168953-0300 networh[937:346758]    at: start (main/main.cpp:2445)
USER ERROR: Condition "!_start_success" is true. Returning: false
at: start (main/main.cpp:2445)

We discussed this on chat a bit. It seems like we can improve the situation somewhat by only failing when cubemap arrays are actually used. This should not be too difficult but it will require a few changes:

Add image_cube_arrays to RD::has_feature()
https://github.com/godotengine/godot/blob/8c729f0f34a92b92a1a8204e1d56b6ad05cfd27b/drivers/vulkan/rendering_device_vulkan.cpp#L9390
Check for image cube array support before allocating them throughout the Renderer. Many places we can automatically fall back to non array versions (i.e. sky can use non array cubemap), other features like ReflectionProbes just won't be available.
Check for image cube array support in the shader compiler and fail to compile shader if they are used. Provide a useful error message to the user in this case.

Additionally, we need to add documentation about this requirement somewhere as it will likely catch devs by surprise when they ship their game

We discussed this on chat a bit. It seems like we can improve the situation somewhat by only failing when cubemap arrays are actually used. This should not be too difficult but it will require a few changes:

Thanks for considering this guys, it would be highly appreciated.

Ran into this today as I was testing out the new 4.2 build, hoping to get support for the mobile renderer on some older iOS devices (iPad Air 2 and older iPhones) with https://github.com/godotengine/godot/issues/70013 marked as fixed with the new replacement for sampler arrays https://github.com/godotengine/godot/pull/77740 . However, even with this improvement it now fails due to the image cube arrays instead.
2023-07-20 08:32:48.805606+0200 vlobs[532:12259] Metal GPU Frame Capture Enabled
2023-07-20 08:32:48.806147+0200 vlobs[532:12259] Metal API Validation Enabled
2023-07-20 08:32:49.318377+0200 vlobs[532:12259] USER ERROR: AudioOutputUnitStart failed, code: -50
2023-07-20 08:32:49.318630+0200 vlobs[532:12259]    at: start (drivers/coreaudio/audio_driver_coreaudio.cpp:251)
2023-07-20 08:32:49.338291+0200 vlobs[532:12259] Godot Engine v4.2.dev1.official.0c2144da9 - https://godotengine.org
2023-07-20 08:32:49.446308+0200 vlobs[532:12259] Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple A8X GPU
2023-07-20 08:32:49.446428+0200 vlobs[532:12259] USER ERROR: Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
2023-07-20 08:32:49.446540+0200 vlobs[532:12259]    at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:1336)
2023-07-20 08:32:49.446611+0200 vlobs[532:12259] USER ERROR: Condition "err != OK" is true. Returning: ERR_CANT_CREATE
2023-07-20 08:32:49.446669+0200 vlobs[532:12259]    at: _window_create (drivers/vulkan/vulkan_context.cpp:1681)
2023-07-20 08:32:49.446911+0200 vlobs[532:12259] USER ERROR: Failed to create Vulkan window.
2023-07-20 08:32:49.446978+0200 vlobs[532:12259]    at: DisplayServerIOS (platform/ios/display_server_ios.mm:88)
2023-07-20 08:32:49.447046+0200 vlobs[532:12259] USER ERROR: Unable to create DisplayServer, all display drivers failed.
2023-07-20 08:32:49.447103+0200 vlobs[532:12259]    at: setup2 (main/main.cpp:2217)
2023-07-20 08:32:49.448286+0200 vlobs[532:12259] USER ERROR: Condition "!_start_success" is true. Returning: false
2023-07-20 08:32:49.448395+0200 vlobs[532:12259]    at: start (main/main.cpp:2600)

I'm not sure when these are used, but if it would be possible to support these devices by avoiding to use cubemaps it would be great. It would make it much easier to distribute games on iOS via the app store as it would not only allow for broader compatibility, but currently you can't really guarantee that people who can buy your game on the app store can actually run it on their devices.

@lostminds Please see my comment above explaining the steps needed to resolve this issue https://github.com/godotengine/godot/issues/74227#issuecomment-1536567159

While waiting for a more substantial fix to this issue, perhaps removing the need for cubemap support to broaden iOS device support as detailed above by @clayjohn . Would it be possible to just add the UIRequiredDeviceCapabilities key iphone-ipad-minimum-performance-a12 to exported iOS projects using Vulkan renderers? As I understand it this will make sure that only devices that we are sure will be able to run the game can buy and download the apps on the app store by requiring an A12 or later GPU (all post 2018 iOS devices). Even if it will also block some A11 GPU devices (iPhone X and iPhone 8) that might (?) be able to run the mobile renderer it will ensure that people with unsupported A9 and A10 devices cannot buy the games in the app store and then just get a black screen when they try to start it.
This could just be added as another capabilities property in the iOS export configuration, along with the existing wifi access and push notifications toggles, for example capabilities/a12_gpu_performance and be enabled by default if the project uses a vulkan renderer.
Previously I believed setting the required iOS version to iOS 16 would have this effect, but I've since learned there are several older iOS devices that can run iOS 16, but cannot run Godot mobile renderer: the rare first gen iPad pro as mentioned, but also the more common 7th gen iPad and iPhone 7 with the A10 GPU.

You can manually add the key for iphone-ipad-minimum-performance-a12 in your info.plist.
But it's a shame that Apple doesn't have a similar key for A11 or A10.
The mobile renderer works fine on my iPhone 8 with A11, with 4.1.1-stable.
According to Apple, the iPhone 7 only supports iOS 15. But it looks like there are still devices left, that you can't filter out by arm64 or iOS 16 as min-target.
7th gen iPad is A10, the iPad Pro is A9X. If I understood correctly, if the cubemap check is implemented, those devices would work with the vulkan mobile renderer? Having the simulator work would be fantastic as well.

Just removing the check in vulkan_context.cpp will let godot run on most mentioned iOS devices (simulator for example), as long as cubemaps are really not used (I think its basically means reflections and some other advanced features).
I do not recommend just removing the check, but maybe adding code to the project to detect the missing cubemaps support and "disable" these features can be possible.

Btw in OgreNext we deal with this issue by converting all cubemap arrays into a 2D array of dual-paraboloid textures.

Here's a pixel shader fullscreen pass that converts a cubemap into a 2D DP map.

Btw in OgreNext we deal with this issue by converting all cubemap arrays into a 2D array of dual-paraboloid textures.

@darksylinc You prefer DP over Octahedral in this case?

Octahedral is also good. I just forgot about it because I'm more familiar with DP.

Octahedral is also good. I just forgot about it because I'm more familiar with DP.

Use OpenGL3 with Godot 4.1.2 / Project settings / Renderer (all x3 to gl_compatibility) Then Export for iOS.
Build for iPad Air A7 (first generation). iOS : 12.5.7 on Macbook M2 Pro. Works perfect !

I tried the above configuration on a M2 and does not work on the simulator.
I keep getting:
USER ERROR: Condition "!texture_allocs_cache.has(p_id)" is true.
   at: texture_free_data (drivers/gles3/storage/utilities.h:106)

Followed by this about once a second, and a blank display:
DrawView: 506 error

I tried the above configuration on a M2 and does not work on the simulator.
I keep getting:
USER ERROR: Condition "!texture_allocs_cache.has(p_id)" is true.
   at: texture_free_data (drivers/gles3/storage/utilities.h:106)

Followed by this about once a second, and a blank display:
DrawView: 506 error

You right. Simulator won't display :
Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple iOS simulator GPU
USER ERROR: Your GPU doesn't support image cube arrays which are required to use the Vulkan-based renderers in Godot.
at: _create_physical_device (drivers/vulkan/vulkan_context.cpp:1336)

I did some testing with v4.2.dev.custom_build.691634969 and compiled debug libs for iOS and the Simulator.
My current project is mostly just control nodes and GPU particles in 2D, using Vulkan Mobile.
After removing the cubemap check in vulkan_context.cpp, I had to also disable the depthClamp feature.
With that, the simulator actually booted up the game, but with lots of errors:
Godot Engine v4.2.dev.custom_build.691634969 - https://godotengine.org
Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple iOS simulator GPU
Vulkan API 1.2.231 - Forward Mobile - Using Vulkan Device #0: Apple - Apple iOS simulator GPU
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
USER ERROR: Error (-8) creating descriptor set layout for set 2
   at: shader_create_from_bytecode (drivers/vulkan/rendering_device_vulkan.cpp:5199)
USER ERROR: Condition "!particles_storage->particles_shader.shader.version_is_valid(version)" is true.
   at: set_code (servers/rendering/renderer_rd/storage_rd/particles_storage.cpp:1651)
USER ERROR: Parameter "shader" is null.
   at: uniform_set_create (drivers/vulkan/rendering_device_vulkan.cpp:5434)
USER ERROR: Error (-8) creating descriptor set layout for set 2
   at: shader_create_from_bytecode (drivers/vulkan/rendering_device_vulkan.cpp:5.199)
USER ERROR: Condition "!particles_storage->particles_shader.shader.version_is_valid(version)" is true.
   at: set_code (servers/rendering/renderer_rd/storage_rd/particles_storage.cpp:1.651)
USER ERROR: Parameter "shader" is null.
   at: uniform_set_create (drivers/vulkan/rendering_device_vulkan.cpp:5.434)
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
USER ERROR: Error (-8) creating descriptor set layout for set 1
   at: shader_create_from_bytecode (drivers/vulkan/rendering_device_vulkan.cpp:5199)
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
USER ERROR: Error (-8) creating descriptor set layout for set 1
   at: shader_create_from_bytecode (drivers/vulkan/rendering_device_vulkan.cpp:5199)
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: Device Apple iOS simulator GPU does not support arrays of textures.
USER ERROR: Error (-8) creating descriptor set layout for set 1

Unsurprisingly the particles do not work, with the shader not correctly setup.

but also the more common 7th gen iPad and iPhone 7 with the A10 GPU

Yes, I am here because I discovered after migrating from Godot 3.5 to Godot 4.1.3 my app no longer works on a bunch of older iPad's and they are this "7th Generation" iPad running iOS 16.  I think people upgrade their iPad's much less frequently than their phones, so it's kind of a "must support" thing. I am here trying to find a solution.

On a related side note, The dropdown menu on the top right where you change from "Mobile" to "Compatibility" didn't update the "Rendering" -> "Rendering Method.mobile" setting in 4.1.3. So when I tested "Compatibility" mode it still failed in iOS/iPad. But then I went into the project settings panel and saw that "Rendering Method.mobile" was still set to mobile. I don't know if that is intended, but it definitely confused me for a bit until I discovered it.

See https://github.com/godotengine/godot/pull/72461.

So A9 will continue to not be supported because of the cube maps thing?

For this error (A9 CPU not supported because cubemaps), getting Godot 4.2.1 to run on iPhone 6S (A9 CPU, ~10 years old) was possible by setting the mobile renderer to gl_compatibility. I don't have other details, I'm just evaluating Godot.

was possible by setting the mobile renderer to gl_compatibility.

That's pretty obvious as this bypasses the entire problem by using OpenGL instead of Vulkan

We discussed this on chat a bit. It seems like we can improve the situation somewhat by only failing when cubemap arrays are actually used. This should not be too difficult but it will require a few changes

Any progress on this, by chance? We are not able to add the iphone-ipad-minimum-performance-a12 requirement since our game shipped without it, and Apple does not let you add requirements in updates :/

I guess the solution for this should be to have support for falling back to OpenGL (Compatibility) when using Forward+/Mobile? https://github.com/godotengine/godot-proposals/issues/8006

I guess the solution for this should be to have support for falling back to OpenGL (Compatibility) when using Forward+/Mobile? https://github.com/godotengine/godot-proposals/issues/8006

This will help, but only if we make sure the fallback executes when the missing requirement is detected (it might be too far along in Vulkan initialization when this is detected right now).


draggable rows

i want to make the rows draggable, but it's not working with draggable or transition-group...
https://jsfiddle.net/h81th3ys/
Is it possible to make the rows draggable within a vue-good-table?
greetings Fabio

Hey, @Fabio1988 this is currently not supported in vue-good-table. It is not on the roadmap in the near future either, but I'll gladly review a PR.
closing.


Enable no-transport mode as startup parameter

This PR adds a --no-transport startup parameter for making the agent start without requiring the --enpoint, --inbound-transport and --outbound-transport to be set.
The idea was shared during an aca-pug meeting and there was no objection. This can greatly simplify deployment for controllers that do no require didcomm messaging.
Currently it just overrides what is required for startup.
@dbluhm @swcurran @ianco

I will have to review this looks like some other parameters got mixed up in my PR


Update dependencies

Coverage remained the same at 90.436% when pulling 0c5365a738ba7830f0ad9ff05322a3911b3e027c on rel_branch into b11fece06222bf83bd1839e407500c2a3e925923 on master.


[Test] build test

/test .*

/test pull-tekton-catalog-build-tests

/test .*

/test .*

/test pull-tekton-catalog-build-tests

The pull-tekton-catalog-build-tests CI is now fixed in https://github.com/tektoncd/plumbing/pull/1350.
/closed

/close


drop phantom message.type

Fixed #219

do we need a MessageDTO now?

Do we need the payload at all? or just use message as a string? @Vektrat

Do we need the payload at all? or just use message as a string? @Vektrat

well this is what i asked xD

Do we need the payload at all? or just use message as a string? @Vektrat

well this is what i asked xD

okay, removed


question about mongodb

Hello I will try to install today your project on my server and i have some doubt after did it some failure local test
I tested on php 7.0, i will use php 5.5 or 5.6
I saw that Mongo is deprecated, now i don't know if I have to install Mongodb or Mongo.
What can you suggest to me? will be a problem if I will install mongodb?
Thanks
Gabriele.

in the end I decided to use mongo

Hi,
for now it has been tested with php mongo extension.  But it should also work with mongodb extension. Documentation will be updated as soon as it will be tested with mongodb extension.


Wrong Result in Depth Map Extraction

I've been trying to extract the depth map from a NeRF, specifically from the dataset downloaded by running the line: 'ns-download-data nerfstudio --capture-name=poster" and training it with the Nerfacto model. After reading different issues, I've tried 2 different methods:
The first one involved adding within render.py
(https://github.com/nerfstudio-project/nerfstudio/blob/c599d0f3a1580d4276f4f064fb9cb926eb3b1a71/nerfstudio/scripts/render.py#L156C1-L198C51)
Starting from line 157, after the 'if is_depth' check, the call to a function that would store the output_image into a numpy array.
I extracted this from the following issue: (https://github.com/nerfstudio-project/nerfstudio/issues/2147)
This method resulted in the following image, which as you can see, does not provide sufficient information to extract the depth data for each pixel.

The second method involved modifying render.py again, but this time on line 145, that is, before 'render_image = []', adding the following:

This second method resulted in new information that does not resemble what I need:

I extracted this from the following issue: (https://github.com/nerfstudio-project/nerfstudio/issues/1388)
I'm not exactly sure what the problem is causing the incorrect extraction of depth map information from my NeRF. I would be grateful for any suggestions to solve this issue.
Thanks.

Does depth look reasonable in the output render of the viewer? also if you render a pointcloud of the scene does that look reasonable? pointcloud rendering uses depth under the hood to deproject points.
It looks like what might be happening is the floor/walls have fuzzy geometry, which can happen in NeRF when there are highly reflective and texture-less surfaces (eg the floor).

Sorry for replying so late. I've been exploring various approaches to achieve a satisfactory outcome. I believe the issue was related to depth accumulation. After removing that parameter, I obtained the following:

It's more accurate but it has a really low definition, maybe This could be due to the artifacts surrounding the NeRF which are restricting my range. Are there any solutions to minimize the interaction of artifacts within the depth map range?


serving mpt-7b-bigdl.yaml crash when install with pip install -e .[bigdl-cpu]

First create an new conda env with python 3.9, and install with
pip install -e .[bigdl-cpu] -f https://developer.intel.com/ipex-whl-stable-cpu -f https://download.pytorch.org/whl/torch_stable.html
Then run:
python inference/serve.py --config_file inference/models/bigdl/mpt-7b-bigdl.yaml --serve_simple
It looks something is messed after installing bigdl-llm:

After I switched to another env, it's OK.
@KepingYan @jiafuzha

I did some test and found fastapi 0.109 and starlette 0.35.1 cause the crash,
I reinstall fastapi 0.104 and starlette 0.27.0 it's OK.

After installing env via pip install .[cpu] -f https://developer.intel.com/ipex-whl-stable-cpu -f https://download.pytorch.org/whl/torch_stable.html, I also encountered this problem. fastapi is installed together with ray[serve], I've verified 0.104<=fastapi<=0.109 all works well. The above problem will be fixed by https://github.com/intel/llm-on-ray/pull/61.


Support Java 11 related runtimes

Signed-off-by: Sheng Chen<EMAIL_ADDRESS>This PR is for the coming Java 11 runtimes:

Make it as a draft for now since the service side is not totally ready...

FYI - we're looking into this: https://github.com/Microsoft/vscode-azureappservice/issues/724
So hopefully you won't have to manually add values here.

@EricJizbaMSFT Wow, that's great! Looking forward to that!

Hey guys, I just removed the draft tag for this PR since the Service side is ready for these new runtimes.
Please let me know if I need to make any changes.
Thanks.


cbqn: 0.pre+date=2022-05-06 -> 0.pre+date=2022-10-04

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

It looks like it is incompatible with ARM64 compilers...

@sternenseemann
On x86_64-darwin, we got an error, https://github.com/NixOS/nixpkgs/pull/194827/checks?check_run_id=8754909160 .
I think we need the following to fix it:
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {

   makeFlags = [
     "CC=${stdenv.cc.targetPrefix}cc"
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ "LD_LIBS=-ldl" "LD_LIBS=-lffi" ];

   preBuild = ''
     # Purity: avoids git downloading bytecode files

Please check https://github.com/dzaima/CBQN/issues/26.


RuntimeError: Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare.

My setup:
Using a Coral M.2 Accelerator A+E key in a device running Ubuntu 16.04
The model file is a MobileNet v2 SSD object detection model compiled for edgetpu, and I have successfully run this model file without issue on other similar devices.
Running:
import tflite_runtime.interpreter as tflite

model = tflite.Interpreter(
    "/src/object_detection/model/model_edgetpu.tflite",
    experimental_delegates=[tflite.load_delegate('libedgetpu.so.1')]
)
model.allocate_tensors()

The model.allocate_tensors() call results in the following RuntimeError:
RuntimeError: Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare.

Given that I've seen this code + model work on other devices, I'm guessing that the issue here is either a hardware connection or perhaps a corrupt/missing installation. Under what conditions should I expect to see this error? Do you know what's likely causing it now?
Thanks!

Hi Scott :)
can you share the outputs of these commands?
dpkg -l | grep libedgetpu
python3 -c 'print(__import__("tflite_runtime").__version__)'

I should be able to check on that soon. Unfortunately it's a remote device that I can only access sporadically, so I'm running off of logs.
On a theoretically identical device that follows the same installation procedures, this is what I get:
➜ dpkg -l | grep libedgetpu
ii  libedgetpu1-std:amd64                      14.0                                            amd64        Support library for Edge TPU
➜ python3 -c 'print(__import__("tflite_runtime").__version__)'
2.1.0.post1

Hi @scottamain
Yes, that is what I expected, the error:
RuntimeError: Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare.

means that the libedgetpu1-std package and the tflite_runtime package were built on different tensorflow commits. Those 2 packages 14.0 and 2.1.0.post1 are definitely compatible.
On the machine that you are having problem on, could try stracing the process when it fails and send me the log?

Thanks @Namburger , thanks for helping out on this! I should be able to get this info tomorrow. The full trace I have from the last time it failed is below:
020-06-29 12:13:39 GMT CRITICAL [Launcher.py:71] Error: Unable to load models. Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare.
Traceback (most recent call last):
  File "Launcher.py", line 68, in __load_models
    return Scene.load_models(config['model_definitions'], models_to_load)
  File "/opt/ObjectDetection/Scene.py", line 181, in load_models
    model_version)
  File "/opt/ObjectDetection/Object_Detection.py", line 44, in init
    self.model.allocate_tensors()
  File "/home/user/Envs/object_detection/lib/python3.5/site-packages/tflite_runtime/interpreter.py", line 242, in allocate_tensors
    return self._interpreter.AllocateTensors()
  File "/home/user/Envs/object_detection/lib/python3.5/site-packages/tflite_runtime/interpreter_wrapper.py", line 110, in AllocateTensors
    return _interpreter_wrapper.InterpreterWrapper_AllocateTensors(self)
RuntimeError: Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare.
Stack (most recent call last):
  File "Launcher.py", line 197, in <module>
    ObjectDetection(config=config).run()
  File "Launcher.py", line 32, in init
    models = self.__load_models(cameras_dict)
  File "Launcher.py", line 71, in __load_models
    logger.critical('Error: Unable to load models. {}'.format(e), exc_info=True, stack_info=True)

Will you need more than that?

Hey Scott,
yeah, that still not enough info to go from, unfortunately. Basically, with strace I'd be able to pinpoint the exact path of the share library you've loaded and get an md5sum of that, just to make sure that the correct library are installed; basically, to verify this: https://github.com/google-coral/edgetpu/issues/159#issuecomment-652060231
I guess one thing to clarify is that with shared libraries (.so) in linux, you can have multiple version installed and it loaded during runtime. That means that even if you have the correct library installed but somehow also have an older version, your program could load the wrong version and cause this type of behavior.

Ah, gotcha. I'll post back when I've got it, thanks!

Actually, I've just managed to get my local device to produce the same error.
To reproduce, I had an active Python thread that had run the following:
import tflite_runtime.interpreter as tflite

model = tflite.Interpreter(
    "/src/object_detection/model/model_edgetpu.tflite",
    experimental_delegates=[tflite.load_delegate('libedgetpu.so.1')]
)
model.allocate_tensors()

With that thread still active, I ran the same thing in a separate thread. The new thread spat out the same RuntimeError: Encountered unresolved custom op: edgetpu-custom-op.Node number 0 (edgetpu-custom-op) failed to prepare. error.
I've sent you the associated strace via e-mail.
This makes me think that the device showing errors may have multiple processes trying to claim the TPU, with this error resulting as a result of a conflict there. Does that makes sense to you?

@BotScutters Ohh, well that totally make sense :)
Yeah, the TPU resources is not threadsafe, you can't have more than one processes accessing the same device resource. The kernel doesn't allow this, and even if it's allowed, there are much inputs data that needs to be loaded on the TPU's RAM so 2 processes uploading this data on it and try to call invoke will surely cause some undefined behavior.
Now on the system that has the original issue, I supposed that one never works even for single thread? I saw the strace that you sent to my email, but I don't see libedgetpu.so being loaded at all. A normal strace with our stack should have a sucessfull call to load the dynamic library like this:
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libedgetpu.so.1.0", O_RDONLY|O_CLOEXEC) = 3

That is the general idea, but I'll send you mode details via our email :)

Good morning, @Namburger,
I just got some data regarding this issue.
The response from the two commands you asked to run:
➜ dpkg -l | grep libedgetpu
ii libedgetpu1-std:amd64 14.0 amd64 Support library for Edge TPU

➜ python3 -c 'print(_import("tflite_runtime").version_)'
2.1.0.post1

And here's an excerpt from the strace log from when it was trying to load libedgetpu.so.1, and I've send you the complete log separately. It looks like it's searching in the wrong directories, and actually in some directories associated with OpenVINO (we've run previous experiments with an Intel Neural Compute Stick on this device), so that seems interesting. What determines the path(s) it checks while trying to load libedgetpu?
open("/opt/intel//computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/external/hddl/lib/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/opt/intel//computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/external/gna/lib/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/opt/intel//computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/external/mkltiny_lnx/lib/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/opt/intel//computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/external/omp/lib/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/opt/intel//computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/lib/ubuntu_16.04/intel64/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("tls/x86_64/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("tls/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("x86_64/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 8
fstat(8, {st_mode=S_IFREG|0644, st_size=130228, ...}) = 0
mmap(NULL, 130228, PROT_READ, MAP_PRIVATE, 8, 0) = 0x7f751b6fd000
close(8)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libedgetpu.so.1", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(8, {st_mode=S_IFREG|0644, st_size=942584, ...}) = 0
mmap(NULL, 953984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0x7f7515bc8000

Thanks again for all of your help on this!

Hi @BotScutters
To my knowledge, loading the share libraries is a linux kernel's mechanism during run time of application depending on it. For instance, if you look in /usr/lib/x86_64-linux-gnu, there will be tons of shared libraries (including our libedgetpu.so, "so" = shared objects). Nearly all of your standard linux programs will be dependent on some share objects, for example, even the ls command needs some shared libraries:
$ ldd /bin/ls
        linux-vdso.so.1 (0x00007ffcc0feb000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x0000799154ea9000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000799154ce8000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x0000799154c74000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x0000799154c6f000)
        /lib64/ld-linux-x86-64.so.2 (0x0000799155113000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000799154c4e000)

Now the problem with linux, is that there is nothing preventing you from installing multiple version of the same .so file, and that is why I'm suspecting that your .so for libedgetpu that your program loads may not match what is required by 2.1.0.post1.
If you set your LD_LIBRARY_PATH, that will tell the kernel to load from those paths first, for instance:
export LD_LIBARRY_PATH=/path/to/shared_objects:LD_LIBRARY_PATH
./run_your_program

will tells the kernel to looks for share libraries first in /path/to/shared_objects before looking in the rest of what was in LD_LIBRARY_PATH before.
From the logs, it looks as if your kernel looks for libedgetpu in these directories first: /opt/intel//computer_vision_sdk_2018.5.455/deployment_tools/inference_engine/* but all failed with return code -1.
The one that succeeded was /usr/lib/x86_64-linux-gnu/libedgetpu.so.1, so could you share with me the outputs of:
md5sum /usr/lib/x86_64-linux-gnu/libedgetpu.so.1

Thanks!

Hi @Namburger
Thanks for getting back to me and I hope you had a nice holiday weekend.
Sure enough, LD_LIBRARY_PATH had changed from the default, thanks for pointing that out.
The md5sum for /usr/lib/x86_64-linux-gnu/libedgetpu.so.1 was 980ef8d9db4585893d2280c1e2ab61cf.

Nice! From the md5sum, it is indeed loading libedgetpu.so version 14 standard, does this fixes your issue now?

Doesn't seem to fix the issue, unfortunately. The device has been taken offline, so I won't be able to investigate this for a bit, but once it's back up I should have improved access to it and will revisit this issue. Thanks Nam!

Had the same issue for a Python script I've been working on, solved it by replacing the tflite.Interpreter(... call from @BotScutters (up there in the issue description) with a call to this function:
def make_interpreter(model_file):
  model_file, *device = model_file.split('@')
  return tflite.Interpreter(
      model_path=model_file,
      experimental_delegates=[
          tflite.load_delegate(EDGETPU_SHARED_LIB,
                               {'device': device[0]} if device else {})
      ])

Also added the following to the script head:
EDGETPU_SHARED_LIB = {
  'Linux': 'libedgetpu.so.1',
  'Darwin': 'libedgetpu.1.dylib',
  'Windows': 'edgetpu.dll'
}[platform.system()]

That solved the issue, at least in my case.

@mrusme oh, that's most likely because EDGETPU_SHARED_LIB didn't mapped to the correct platform


fix: wagmi, viem and @coinbase/onchainkit upgrade

What changed? Why?
Fix Vercel build with latest wagmi, viem and @coinase/onchainkit
Notes to reviewers
How has it been tested?

Closing this one, as the issue was solved.
Thank you @KosmosKey for helping out


Offer a checkbox on the listpage for mass manipulation

including a "select all" checkbox on top and bottom for the whole page.
The first use case would be to delete the selected items.

From https://github.com/philiplb/CRUDlex/issues/84:
Hello, in my company I implemented an ad-hoc "Batch operations" feature, and I'm thinking about backporting it to crudlex
In my case we wanted to delete all selected entries, but that could be extended for example to have a CSV export

What could be a good api for this?
first draft in pseudo-code
$app['crud']->addBatchOperation(new MyCrudlexBatchOperation())
class MyCrudlexBatchOperation extends BatchOperation
   fun support(EntityDefinition definition) => true or false
   fun label => "CSV Export"
   fun handle(EntityDefinition definition, List<Entity> entities) ---> do the csv export


Add local.storage.dir flag

Description
Please include a brief summary of the change that this pull request proposes. Include any relevant motivation and context. List any dependencies required for this change.

Add local.storage.dir flag to change the storage location of the keystore

Fixes Issue #506  .
Type of change
Insert x into the following checkboxes to confirm (eg. [x]):

[ ] Bug fix.
[x] New feature.
[ ] Breaking change (a fix or feature that causes existing functionality to not work as expected).
[ ] Requires documentation update.

Testing
Please describe the tests you used to validate this pull request. Provide any relevant details for test configurations as well as any instructions to reproduce these results.

Verification
Insert x into the following checkboxes to confirm (eg. [x]):

[x] I have self-reviewed my own code and conformed to the style guidelines of this project.
[x] New and existing tests pass locally with my changes.
[ ] I have added tests for my fix or feature.
[ ] I have made appropriate changes to the corresponding documentation.
[x] My code generates no new warnings.
[x] Any dependent changes have been made.

@AionJayT

Let me verify the intent here @centrys-victor , this change is made in such a way that:

Setting the local.storage.dir variable, as we will presumably do in the wallet to change the path
Not setting the local.storage.dir property will keep functionality of the keystore as-is (user.dir)

@qoire Yes. If the local.storage.dir is not set it will fallback to the user.dir


Handle click-events in a toast - by passing event-object to onHidden

I have a use case where a toastr has various buttons (save / cancel) and when clicking them, my vm.something() must be called. I need it because the edit-dialog in a CMS called 2sxc (github.com/2sic/2sxc/) has a backdrop that can be clicked to close the dialog, but I wanted an unblocking "are-you-sure" kind of dialog.
This is very hard to do, because I cannot really pass any JS object into the clicker. My working solution currently is this:
(updated)
        // handle maybe-leave
        vm.maybeLeave = {
            save: function() { vm.save(true); },
            quit: $scope.close,
            handleClick: function(event) {
                var target = event.target || event.srcElement;
                if (target.id === "save" || target.id === "quit") {
                    vm.allowCloseWithoutAsking = true;
                    vm.maybeLeave[target.id]();
                }
            },
            ask: function(e) {
                if (vm.allowCloseWithoutAsking)
                    return;
                var template = "
"  // note: this variable must be inside this method, to ensure that translate is pre-loaded before we call it
                    + $translate.instant("Errors.UnsavedChanges") + "
"
                    + "<button type='button' id='save' class='btn btn-primary' >" +  $translate.instant("General.Buttons.Save") + "</button>  "
                    + "<button type='button' id='quit' class='btn btn-default' >" + $translate.instant("General.Buttons.NotSave") + "</button>"
                    + "
";
                if (vm.dialog && vm.dialog.isOpened)
                    toastr.clear(vm.dialog);
                vm.dialog = toastr.warning(template, {
                    allowHtml: true,
                    timeOut: 3000,
                    onShown: function (toast) {
                        toast.el[0].onclick = vm.maybeLeave.handleClick;
                    }
                });
                e.preventDefault();
            }
        };

        $scope.$on("modal.closing", vm.maybeLeave.ask);

In my opinion most of this is ok, except what I really don't like is the DOM-manipulation style of click-binding I had to use, namely the part...
                    onShown: function (toast) {
                        toast.el[0].onclick = vm.maybeLeave.handleClick;
                    }

...as it doesn't feel angular-style. So it works, but it's not quite what I believe is sound architecture. I see a few ways to do this, but probably the simplest would be to also give the event-object to the onHidden event, because from there the programmer could check what button was pressed. Currently I only get the toast-object which isn't very useful in figuring out what was clicked.

I will open the toasts to use angular code in them so your problem should be easily resolved then. Like the multiple containers thing, when I find a bit of time.

no problem, and thanks.
BTW: I think my current workaround should actually work for many scenarios, handling clicks and then figuring out what to do. So if you want to publish that as a valid workaround that's fine too - would give you more time to actually implement the angular-view-version

+1

Has this change been implemented yet?  I'm also looking for ways to embed ng-click handlers in the HTML sent to the toastr.
Thanks.

Hi @Foxandxss @dgodwin1175 ,
Any updates on weather this thing is achieved and available??

Apparently yes, there is a second parameter with the toast.


Parse component props uncorrectly

I'm using a string like this
'<CodeBlock data={[{ a: [{ b: 1 }] }]} />'

I expect data is [{ a: [{ b: 1 }] }], unfortunately the result is {[{ a: [{ b: 1 }] } which ]} in the end is missing.
In the origin code I found this regexp, and this cause the problem
const ATTR_EXTRACTOR_R = /([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi;

Can you add a failing test?

@probablyup I made a demo in code sandbox, maybe you can get it. https://codesandbox.io/s/inspiring-wildflower-o2b0x?file=/src/App.js

Any solution to this?

@quantizor any movement here?


feat: add writeup on image deep dive w/ deletes

Proposed changes
This walkthrough shows by example how the overlayfs used by Docker "deletes" files, and how those files can be easily recovered if they are not deleted in the same layer they are created in.
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[X] I have written my commit messages in the Conventional Commits format.
[X] I have read the CONTRIBUTING doc
[X] I have added tests (when possible) that prove my fix is effective or that my feature works
[X] I have checked that all unit tests pass after adding my changes
[X] I have updated necessary documentation
[X] I have rebased my branch onto main
[X] I will ensure my PR is targeting the master branch and pulling from my branch from my own fork

Added in two new sections based on feedback in customer session.

Two new commits added fixing issues above.


genre support for movies

I added this locally to make it faster for me to build channels, but figured I might as well put up a PR if you are interested.
I took a look at how you added collection support for movies and tried something similar for genres.

Genres for TV shows are also supported by plex but the UI did not support that extra level of nesting, which is why its explicitly only added for movies. I also had an earlier version that put Genre's as a top element like Playlists, but ended up here.
Long story short, feel free to reject if this is not something you think is needed.

I wish there was somewhere I could write this, but all PRs should go to `dev/0.0.x . So please change the branch.
Regarding the feature. It was not something I wanted to implement because in my opinion, it makes more sense to leave that job to Plex. And for example if you wanted to grab all Action movies in your library, I thought the better way to do it would be to create a smart playlist and then import that play list.
My other concern is that the drop down is already quite full of stuff , specially now that I've added collections. But my real fear is that people will then start requesting drop downs for other things, we would have to draw a line somewhere.
But it  certainly is something that people request, and at least in the case of genres, it makes sense that people would want to be able to make genre-specific channels quickly. I think I'll go around and give it a test and think about it. But first, change the branch.

@vexorian - updated.

I wish there was somewhere I could write this, but all PRs should go to dev/0.0.x

You can use a pull request template to provide that kind of info when someone is creating the PR - https://docs.github.com/en/github/building-a-strong-community/creating-a-pull-request-template-for-your-repository
https://github.com/stevemao/github-issue-templates shows many examples.

Ok I am going to add it. It's interesting to see the genres in action.
Just one thing I've noticed when testing it. When you click the + sign on the library, it will add the moveis that are inside the genres multiple times, because the library adder is also adding everything in each genre. Like collections, something must be in place to prevent this from happening. I can fix this tonight or tomorrow but if you have the time, please give it a try before I merge it.

Regarding the feature. It was not something I wanted to implement because in my opinion, it makes more sense to leave that job to Plex. And for example if you wanted to grab all Action movies in your library, I thought the better way to do it would be to create a smart playlist and then import that play list.

If you're looking to support multiple back-end media servers in the future, consolidating some more filtering functionality into dizqueTV does make sense.  Anything not incorporated would potentially require support/wiki to explain "how to" for multiple back-end media servers.
I like genre, but it comes with its challenges.  One is many movies are listed on TheMovieDB with up to five genres  Does the functionality consider any a match, or just the first one/two?  Star Wars is classified as an Adventure-Action-SciFi.  If the Action tag is applicable, then it could be right alongside Gladiator and 300.  It could get messy having movies as multiple genres.

Just one thing I've noticed when testing it. When you click the + sign on the library, it will add the moveis that are inside the genres multiple times, because the library adder is also adding everything in each genre

thanks, just pushed the fix.

Thank you for the feature.


TaggedCertificationRequest Missing Getters

Hello!
It appears that TaggedCertificationRequest objects (https://github.com/bcgit/bc-java/blob/bc3b92f1f0e78b82e2584c5fb4b226a13e7f8b3b/core/src/main/java/org/bouncycastle/asn1/cmc/TaggedCertificationRequest.java) can be constructed but are missing corresponding getters for the bodyPartID and certificationRequest variables. The consequence of this is that the structure needs to be converted to an ASN1Seqence in order to extract them, defeating the point of the class.
Would it be possible to add these getters please?
Best,
Kyle

Hello, this functionality would be useful for me too.

Oops. Thanks for the report. The missing get() methods have been added. These are now added to the latest beta in https://www.bouncycastle.org/betas (173b09 or later)


FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'

Hello, I was trying to install the GPT Computer Assistant and ran into the following error:
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
Traceback (most recent call last):
File "c:\users\akzis\appdata\local\programs\python\python38-32\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in
main()
File "c:\users\akzis\appdata\local\programs\python\python38-32\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "c:\users\akzis\appdata\local\programs\python\python38-32\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-_i6g05ss\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-_i6g05ss\overlay\Lib\site-packages\setuptools\build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-_i6g05ss\overlay\Lib\site-packages\setuptools\build_meta.py", line 487, in run_setup
super().run_setup(setup_script=setup_script)
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-_i6g05ss\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
exec(code, locals())
File "", line 6, in
FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
I am running windows 10 and using Python 3.12.3

Can you retry with this command
pip3 install gpt-computer-assistant[default]

I tried it and I got the same error.
I included what it shows when installing it as well here:
C:\Users\AKZis>cd gpt-computer-assistant
C:\Users\AKZis\gpt-computer-assistant>pip3 install gpt-computer-assistant[default]
Collecting gpt-computer-assistant[default]
Using cached gpt_computer_assistant-0.6.12.tar.gz (163 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.12 does not provide the extra 'default'
INFO: pip is looking at multiple versions of gpt-computer-assistant[default] to determine which version is compatible with other requirements. This could take a while.
Using cached gpt_computer_assistant-0.6.11.tar.gz (154 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.11 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.10.tar.gz (153 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.10 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.9.tar.gz (152 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.9 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.8.tar.gz (148 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.8 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.7.tar.gz (144 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.7 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.6.tar.gz (139 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.6 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.5.tar.gz (136 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.5 does not provide the extra 'default'
INFO: pip is still looking at multiple versions of gpt-computer-assistant[default] to determine which version is compatible with other requirements. This could take a while.
Using cached gpt_computer_assistant-0.6.4.tar.gz (141 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.4 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.3.tar.gz (139 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.3 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.2.tar.gz (138 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.2 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.1.tar.gz (126 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.1 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.6.0.tar.gz (120 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.6.0 does not provide the extra 'default'
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
Using cached gpt_computer_assistant-0.5.6.tar.gz (113 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.6 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.5.5.tar.gz (112 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.5 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.5.4.tar.gz (110 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.4 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.5.3.tar.gz (108 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.3 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.5.2.tar.gz (105 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.2 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.5.1.tar.gz (106 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.1 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.5.0.tar.gz (103 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.5.0 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.4.0.tar.gz (99 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.4.0 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.3.0.tar.gz (91 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.3.0 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.2.0.tar.gz (11 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.2.0 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.1.2.tar.gz (10 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.1.2 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.1.1.tar.gz (10 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
WARNING: gpt-computer-assistant 0.1.1 does not provide the extra 'default'
Using cached gpt_computer_assistant-0.1.0.tar.gz (10 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
Traceback (most recent call last):
File "c:\users\akzis\appdata\local\programs\python\python38-32\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in
main()
File "c:\users\akzis\appdata\local\programs\python\python38-32\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "c:\users\akzis\appdata\local\programs\python\python38-32\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-pcj_sjw7\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-pcj_sjw7\overlay\Lib\site-packages\setuptools\build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-pcj_sjw7\overlay\Lib\site-packages\setuptools\build_meta.py", line 487, in run_setup
super().run_setup(setup_script=setup_script)
File "C:\Users\AKZis\AppData\Local\Temp\pip-build-env-pcj_sjw7\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
exec(code, locals())
File "", line 6, in
FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

Oh there is an cache,
just do that:
pip3 install gpt-computer-assistant[default]==0.16.7


Send fsName to cdk-addons for CephFS

The name of the CephFS file system created by the ceph-fs charm is not hard-coded. Instead, it is set to the application name that the ceph-fs charm was deployed with, which we cannot determine via Juju because we have no direct relation to ceph-fs. So we have to query ceph to find the correct value to use for fsName.

We need this in support of https://bugs.launchpad.net/cdk-addons/+bug/1862236, which updates the cephfs version in cdk-addons.


[python] Typeguard update for _cast_domainish

Follow up on https://github.com/single-cell-data/TileDB-SOMA/pull/3027#discussion_r1777913953

https://github.com/single-cell-data/TileDB-SOMA/pull/3027#discussion_r1778642019


Amino encode not support some special char(<, >, $).

When Tx memo contain special characters (<, >, $), Amino sign does not working
Step1. Write Tx with memo within special char. ex) "Tx & Send"
Step2. Sign with Secp256k1HdWallet
signature verification failed; please verify account number (1), sequence (7) and chain-id (simd-testing): unauthorized

keplr-wallet already dealt with this problem, but did not contributed to cosmjs.
https://github.com/chainapsis/keplr-wallet/blob/master/packages/common/src/escape/index.ts#L8

Very interesting, thank you for bringing this up. This is indeed not yet implemented.
The Keplr reference is great and helpful.
https://go.dev/play/p/p3RNTpm2LED shows the escaping bahaviour in Go.


Increase warning levels

resolves #428

Adding pedantic, shadow, and conversion warnings to GCC.
Bumping VS warning level up to W4.
Fixing new found warnings - mostly shadowing + conversion

Approved after addressing the existing bug in Environment


Support named arguments instead of config arrays.

Description
Add support for php 8.0's Named Arguments for what previously would be an $config array.
This has the advantage that there could be strict typing, as well as better IDE code hints.
Yes, calling with named arguments, that is a PHP 8+ feature, but not on the function (i.e. guzzle) side.
There it would be just optional parameters in the constructor, and thus it would be both backwards compatible with existing implementations, as well as compatible with PHP 7.
So in detail this would mean to add optional arguments for all the settable options. Those would default to null,  and once it's set to something proper by the caller, it will be merged into the options array. Alternatively the options array could fill variables instead, but that would be a bigger change which would make this change too heavy, and if wanted I'd like to do separately.
Overall I think it makes sense to embrace that new language feature.

Example

Before:
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'http://httpbin.org',
    'timeout'  => 2.0,
]);

After:
$client = new Client(baseUri: 'http://httpbin.org', timeout: 2.0);

With the GuzzleHttp\Client changing like this:
Before:
public function __construct(array $config = []) {
    …

After:
public function __construct(array $config = [], string $baseUri = null, float timeout = null, …) {
    …

Additional context

Screenshot of some code completion:

Should I prepare a PR for that?

Apologies for the delay here. No, I don't like named parameters, and many major codebases, including the Laravel Framework do not consider parameter names to be part of the BC policy, making them largely unusable in practice, outside of application code calling application code.


Potential security vulnerability in passing Intents via BBQ

I've been doing another pass of security review over the code and protocol and have spotted a potential security vulnerability for older Android devices using OpenYOLO. This relies on exploitation of deserialization bugs, such as CVE-2015-3837, where deserialization of Intent extras leads to an injection attack. This particular bug affects Android 5.1.1 and lower, if the fix has not been specifically back-ported by the manufacturer. It seems unlikely that this is the only deserialization bug in Android, so it's worth considering how to mitigate this class of attacks entirely.
How to exploit the current OpenYOLO protocol
During the BBQ phase of the retrieve process, providers respond to requests for credentials by sending a serialized Intent if they have credentials available. At this phase, any app can respond, regardless of status as a "known" credential provider. As such, a malicious app could respond to a BBQ query for a credential and provide an Intent crafted to trigger a deserialization bug, potentially resulting in remote code execution as is the case in CVE-2015-3837.
The good news
According to Roee Hay's talk on Android serialization vulnerabilities at RSAConf 2016, most devices are now patched against CVE-2015-3837. However, as other deserialization bugs are possible, it makes sense to pursue mitigation where it does not disrupt the core functionality of OpenYOLO.
Removing the vulnerability entirely
The protocol was designed to allow returning an Intent, so that the provider could potentially include some pre-loaded information that would help in handling the subsequent Intent invocation to retrieve the credential. This extra information is of little interest to the client; as such, an alternative approach is possible:

Treat the data returned by BBQ as an opaque byte array.
When the decision is made to communicate with the provider to retrieve a credential, have the client craft the Intent itself - this is already possible, as this form of direct invocation is already specified in the protocol.
The data returned via BBQ can be attached to this Intent as a byte array extra, leaving the responsibility of the data format and deserialization entirely in the hands of the provider.

This completely avoids the need to deserialize data in the client, removing this class of exploit.
As far as I'm aware, none of the providers are currently returning extra data in the Intents they return via BBQ, so it should be possible to make the necessary change in the client library right now without breakage. The protocol spec and spi should also be updated to clarify the nature of the data returned via the broadcast stage of credential retrieval.
Can this vulnerability affect providers?
It seems plausible that CVE-2015-3837 and similar deserialization bugs could affect providers too, where a malicious client sends an Intent with extra data intended to execute code within the context of the provider. It's not clear to me if there is anything specific that a provider could to to protect itself from this vulnerability, which would also apply if any of its other exported activities reads received Intent extras. One approach to protect against loading unexpected data could be to override the class loader for received intents, via
Intent.setExtrasClassLoader,
such that only a whitelisted set of classes may be used during deserialization. I haven't verified that this approach works, but it is worth further exploration.

FYI @StanKocken @nerdyverde, I'm working to patch this and release 0.3.0 ASAP based on my suggested approach above.

I should actually make clear that this vulnerability is not currently triggered in the 0.2.1 release - the vulnerability only exists if the client actually reads the intent extra data - the extra data bundle is lazy-loaded by the implementation of Intent, and we do not currently look at the Intent data. However, out of an abundance of caution I want to close off the possibility that this will ever be an issue by changing the protocol as described.

Changing the handling now so that this can't be an issue in the future makes sense to me.

Patch is in.

We should keep this open or open a new issue to track the removal of the client using the deprecated response intent.

Let's open a new issue.


[new-rule] newline-per-chained-call

PR checklist

[x] Addresses an existing issue: #3253
[x] New feature, bugfix, or enhancement

[x] Includes tests

[x] Documentation update

Overview of change:
Verifies that chains containing more than n expressions be broken apart onto new lines.
Is there anything you'd like reviewers to focus on?
Configuration is still up in the air. It would be very easy to allow users to configure a "threshold" for the number of chained calls on a single line:
{
  "rules": {
    "newline-per-chained-call": [true, 2 /* the max chain length permitted on a single line */]
  }
}

Additionally, there's the question of the this keyword. Should it count as a "link" in the chain? Currently, this is ignored. Maybe an ignore-this-keyword config option would be useful?
The description/rationale may not be sufficient or what the original poster had in mind. Happy to change those.

How did we decide about the first method call? Is it allowed on the first line or not?
this.foo() // is valid with the current implementation
    .bar();

Thanks for the feedback! Concerning the first method call, I was thinking of the this keyword in particular and how it's exactly 4 characters (a common indentation length) and how often the keyword is used... Basically, I'm not sure about enforcing this
this
    .foo()
    .bar()

when this
this.foo()
    .bar()

saves a line and looks just as orderly.

I looked at the examples of the ESLint rule again. They seem to allow the first call on the same line. So I guess we can leave the current behavior unchanged.
_.chain({})
  .map(foo)
  .filter(bar);

In addition they also allow property access before the method call. Our current implementation doesn't allow this. I still don't have a strong opinion on this one. Maybe we can just add an option later if users demand it.
obj
  .prop.method()
  .method2()
  .method3().prop;

Adding a configurable threshold can also be done later.

Is there anything I can do to help move this forward?  We would love to be able to implement this into our style guide!

I would too @ChrisHuntCal, but lately school and work have left little room for open source. I have no problem with someone continuing this (or taking a fresh crack at it). I do remember there being a PR for an "indentation" helper for tslint. If that was merged in, could this rule have a fixer?

Cool!  I'll try to get acquainted with the code and see where I get.

Sounds good @ChrisHuntCal. I think the most pressing concern is addressing this case: this.someMethod()["elementAccessExpression"](). The rule should throw at the element access expression but currently ignores them.

@aervin this.someMethod()["elementAccessExpression"]() should not be an error.
Inserting a line break before the element access can cause a lot of confusion, because it looks like an array.
I just meant you shouldn't stop recursing on an ElementAccessExpression when searching for method calls.

@ajafff this may be okay then? I added the following test cases:
this.getFoo()[0].toString(); // errors here

foo().bar(); // errors here

this.foo()["bar"](); // no problems with this

@ajafff package.json fixed. CI error is a timeout issue.

Hey hopefully I can ask a quick question about this.
Is it possible to enforce the indentation on the newline?
e.g. both of these pass
  private isValidStageName(name: string): boolean {
    return Object.values(PipelineStages)
    .includes(name);
  }

  private isValidStageName(name: string): boolean {
    return Object.values(PipelineStages)
      .includes(name);
  }

but I would only like the second to pass.


How to create a relational index?

Neo4j has legacy indexes which allow you to do this, though the gems don't support legacy indexes currently.  Normally it's encouraged to start your queries with nodes instead of indexes, so I'd be curious to know what you're trying to model.
You're also welcome to join us on Gitter or the public Neo4j Slack group

FamilyTree   50000 nodes

That doesn't really help...  Why do you want a relationship index?

the model is like this,i want to find all the nodes which belongs to the "belongs_to" relation

I got a query solution , but it didn't work well. Actually it's acts very slow.

I'd suggest either joining the Neo4j Slack Group or posting a question to StackOverflow to see if you can find a more efficient way to query and/or a better way to model your data.
I'd also suggest trying out the EXPLAIN / PROFILE documented here.  I'd also learn about execution plans.
PROFILE MATCH (g)-[:belongs_to]->(n:Individual)
WHERE ID(g) = 18265
RETURN g, n LIMIT 25

I don't think that this is something that is specific to Neo4j.rb (at least not yet), so I'm going to close this issue.


Update User Guide Documentation

Update User Guide Documentation
Summary
This PR updates the User Guide documentation to reflect the latest changes as drafted and reviewed on our team's Notion page. The update includes both textual revisions and structural adjustments to ensure the guide remains in alignment with the current functionalities and user workflows.
Important Note
Currently, the User Guide contains screenshots hosted on Notion's image service, which may not be accessible to all users due to privacy settings and access restrictions. We need to re-upload these images to our local repo or host on a publicly accessible hosting service in future to ensure all users can view them without issue.
Next Steps
Image Re-Upload: Coordinate with the design team to capture and re-upload the necessary screenshots from the User Guide to a suitable, publicly accessible image hosting platform.
Continuous Review: Keep the User Guide under periodic review to incorporate future updates and feedback from users, maintaining its relevance and usefulness.

Currently, the User Guide contains screenshots hosted on Notion's image service, which may not be accessible to all users due to privacy settings and access restrictions. We need to re-upload these images to our local repo or host on a publicly accessible hosting service in future to ensure all users can view them without issue.

Create new issue


CAMEL-18300: camel-google-storage - Content-Type and other headers sh…

…ould be stored via their specific setter than general metdata that leads to duplicate data in google cloud.

There are multiple bugs introduced with this commit. Variables cd, ce, cc are not used - ct is used instead.


Segmentation fault with cliprdr.so plugin

While tryng to start a remote app session like:
xfreerdp -u $USER -d $DOMAIN --app -a 32 -x m --plugin /usr/local/lib64/freerdp/rail.so --plugin /usr/local/lib64/freerdp/cliprdr.so --data '||$APP' -- $SERVER
I got a segmentation faul.

This might be related to #171, caused by rail + cliprdr. Those plugins don't work together (#334), but certainly shouldn't cause a crash when loaded simultaneously.
Can you post a backtrace please?

xfreerdp also crashes with cliprdp plugin when trying to use remote control


Close sidebar on mobile device when clicking navigation

On mobile device, when sidebar is open and I click the navigation, it’s not visible that navigation is successful. Probably you should close the sidebar on click on mobile devices.

On mobile device, when sidebar is open and I click the navigation, it’s not visible that navigation is successful. Probably you should close the sidebar on click on mobile devices.

ohh yeah noted, thanks

On mobile device, when sidebar is open and I click the navigation, it’s not visible that navigation is successful. Probably you should close the sidebar on click on mobile devices.

or maybe would you like to fix it for me to be a contributor :)?

@raihan71 thanks, you can do it I don't have much time now =)

@raihan71 thanks, you can do it I don't have much time now =)

haha ok fixed


Code license

This code looks very useful, thanks! Scanning this repository quickly, I was not able to find a LICENSE.md file, or any indication of an open source license. Is it intended that the code in this repository is open source? If so, may I ask that you add a license to this repository? Thanks!
NB This is a different issue than #559 because here I'm asking only about the code, not the data.

The license is listed here: https://github.com/openreview/openreview-py/blob/master/setup.py#L10
We can update the README file to make this more clear.

Thanks! Yes, I think it would be helpful to expose the license to the Github interface, e.g., by following the steps here: https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository#including-an-open-source-license-in-your-repository

Nice!!!
I followed the instructions and we have a LICENSE.md file now.
Thanks for the pointer!

Awesome, thanks for the fast response!

From: Melisa Bok @.>
Sent: 29 April 2022 18:56
To: openreview/openreview-py @.>
Cc: Charles Sutton @.>; Author @.>
Subject: Re: [openreview/openreview-py] Code license (Issue #1226)
This email was sent to you by someone outside the University.
You should only click on links or attachments if you are certain that the email is genuine and the content is safe.
Nice!!!
I followed the instructions and we have a LICENSE.md file now.
Thanks for the pointer!
—
Reply to this email directly, view it on GitHubhttps://github.com/openreview/openreview-py/issues/1226#issuecomment-1113578441, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2NXIYKW2LN3I63EG4YTULVHQPENANCNFSM5UWVNX6A.
You are receiving this because you authored the thread.Message ID: @.***>
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheann carthannais a th’ ann an Oilthigh Dhùn Èideann, clàraichte an Alba, àireamh clàraidh SC005336.


Local Instructions

My mistake sorry, I need you to sign the Contributor License Agreement before we can accept your PR.
https://cla.developers.google.com/


High plevel's can go through walls and attr 010

Wasnt able to do this thing till last or previous commit. (would say)
https://i.gyazo.com/429a852f03d3bc36d75c8fc0be7e3f5a.gif

Yes its somehow moved to +1 North. On the other side on South, now im not able to step on tiles that were closes to wall or anything that block you. So it is basicaly for GM's moved N=+1, S=-1


Unclear empty critical section

https://github.com/hyperledger/fabric/blob/516bc8bab548a484e2e62fee24b0f4fed5bf6873/core/ledger/kvledger/kv_ledger.go#L542-L547
I'm not sure why this is not implemented the same way as other methods in the same file. If a special case is indeed needed here, some comments would be appreciated

I think it's just a synchronization for waiting for writers to finish before returning an API call because otherwise we get old data.
If we defer the unlock we can remove the lint hint.
@manish-sethi  @denyeart  wdyt?

Yes, @yacovm - However, I guess @guoger is asking why it looks different from how it is on other similar functions.
In the first version we had the above pattern in all the functions, having super perf-centric thinking in relation to block commit :-). We later changed to the more canonical style, as you see in the other functions. It seems this one got missed. Please feel free to push a PR if you want to fix this - Thanks!

I am new here

@manish-sethi I want to contribute to this issue.


[DEMO] allow specifying external service type

Thinking about @puckpuck's comment in SIG last week about external services: It would be great to be able to specify whether or not and how to expose external services from a custom values.yaml. I think adding a values option like externalServiceType: NodePort|ClusterIP|LoadBalancer would fit most use cases.
Jaeger is already handled separately from the other components. What I need to think through before making a PR (or maybe somebody has a suggestion): how to mark the services that should be exposed? Right now I believe that would include the feature flag service UI, loadgenerator and frontend. Did I miss any?

I was thinking, similar to how we have a servicePort property for each component, we also get a serviceType property.  This should default to ClusterIP and we let the user specify which component gets exposed differently.  In some cases they may just Loadbalaner them all, or mix and match with NodePort because EKS requires a nodeport service for ALB ingress.
I don't think we need to worry about doing ingress routes.  That gets into an area that I feel is best served with docs... but we should still provide the facilities for our services to work with solutions that will overlay ingress routes with the helm chart.


typo: refered -> referred

@nschonni : Thanks for your contribution! The author, @dimazaid, has been notified to review your proposed change.


Bundler no longer preloading Date class after 1.14.4

As of 1.14.5 we started getting an error due to us using the Date class in our gemspec.
Here's a slimmed down instruction set and two files to reproduce:

Gemfile

source 'https://rubygems.org'

gemspec name: 'newgem'

newgem.gemspec

Gem::Specification.new do |s|
  s.name        = 'newgem'
  s.version     = '1.0.0'
  s.date        = Date.today.to_s
  s.summary     = "A gem test"
  s.description = "A gem test"
  s.authors     = ["none"]
end

Steps to reproduce failure:
$ gem uninstall --all --ignore-dependencies --executables --force bundler
$ gem install bundler -v 1.14.5 --no-document
$ bundle exec bundle install

[!] There was an error parsing `Gemfile`:
[!] There was an error while loading `newgem.gemspec`: uninitialized constant Date. Bundler cannot continue.

 #  from /path/to/file/newgem/newgem.gemspec:4
 #  -------------------------------------------
 #    s.version     = '1.0.0'
 >    s.date        = Date.today.to_s
 #    s.summary     = "A gem test"
 #  -------------------------------------------
. Bundler cannot continue.

 #  from /path/to/file/newgem/Gemfile:3
 #  -------------------------------------------
 #
 >  gemspec name: 'newgem'
 #  -------------------------------------------

Now do the same thing with bundler versions 1.12.5 or 1.14.4 and notice the issue does not occur (in other words bundle install will work as designed).
Obviously this is easy to work around with a "require 'date'" line at the top of the gemspec, but the larger issue is that this is broken backwards compatibility and then there's the question of what changed to cause this of course.

Since date is a gem in ruby 2.5, Bundler can no longer require it (it would mean that users couldn't actually get the version of the date gen they asked for in their gemfiles)

ping @cdoughty-r7

If the work around is the one I suggested (require date) then this can be closed.  The issue was only opened because this was unexpected and undocumented behavior.


Error While Building Project with : mvn compile  (Fatal error compiling: error: invalid target release: 1.11)

Error Occurs When java version upgraded from 8 to 11(11.0.8 stable Release).
Full Error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project firebase-fdproject: Fatal error compiling: error: invalid target release: 1.11
POM File :

<java.version>1.8/1.11 <java.version>

Fix:
This error occurred Because, For maven-compiler-plugin, the correct JDK version is 1.8, 1.9, 1.10, 10, 11, 12, 13...
So ,Updated POM file 👍

11

Fixes the Issue.

Fixed


Search engine does not work when app endpoint is broken

If you use the browser and the app endpoint fails, it does not load docs or components.

el error que tiene github actions
como lo resuelvo? deveria cambiar el pnpm-lock.yaml?

I'll close this one as it should be fixed by #1298