Screen capturing region across multiple monitors gets corrupted region

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit f590505daf90dfb4059289a906863b59663e70a6 dirty (popup: minor fixes to xdg geometries).
Date: Thu Feb 29 15:51:50 2024
Tag: v0.36.0-19-gf590505d

flags: (if any)

System Information:
System name: Linux
Node name: rurigk
Release: 6.7.6-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Fri, 23 Feb 2024 16:31:48 +0000

GPU information:
0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c1) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Bug or Regression?
Bug
Description
When i try to screen capture across monitors using "Region" the second monitor is corrupted (only in screencapture)
 Monitors configuration
Monitor DP-2 (ID 0):
<EMAIL_ADDRESS>at 0x0
	description: Samsung Electric Company LS32CG51x H9JW809752
	make: Samsung Electric Company
	model: LS32CG51x
	serial: H9JW809752
	active workspace: 1 (1)
	special workspace: 0 ()
	reserved: 0 42 0 0
	scale: 1.00
	transform: 0
	focused: yes
	dpmsStatus: 1
	vrr: 0
	activelyTearing: false

Monitor HDMI-A-2 (ID 1):
<EMAIL_ADDRESS>at 2560x0
	description: GAN PD1560
	make: GAN
	model: PD1560
	serial:
	active workspace: 10 (10)
	special workspace: 0 ()
	reserved: 0 0 0 0
	scale: 1.00
	transform: 0
	focused: no
	dpmsStatus: 1
	vrr: 0
	activelyTearing: false

How to reproduce
Try to screen capture across monitor using "Region" option in the picker
Crash reports, logs, images, videos
 Logs from /usr/lib/xdg-desktop-portal-hyprland -v
[LOG] Initializing xdph...
[LOG] XDG_CURRENT_DESKTOP set to Hyprland
[LOG] Gathering exported interfaces
[LOG]  | Got interface: wl_shm (ver 1)
[LOG]  | Got interface: wl_drm (ver 2)
[LOG]  | Got interface: zwp_linux_dmabuf_v1 (ver 4)
[LOG]  | Got interface: wl_compositor (ver 6)
[LOG]  | Got interface: wl_subcompositor (ver 1)
[LOG]  | Got interface: wl_data_device_manager (ver 3)
[LOG]  | Got interface: zwlr_export_dmabuf_manager_v1 (ver 1)
[LOG]  | Got interface: zwlr_data_control_manager_v1 (ver 2)
[LOG]  | Got interface: zwp_primary_selection_device_manager_v1 (ver 1)
[LOG]  | Got interface: wp_viewporter (ver 1)
[LOG]  | Got interface: zwlr_gamma_control_manager_v1 (ver 1)
[LOG]  | Got interface: zwlr_output_power_manager_v1 (ver 1)
[LOG]  | Got interface: xdg_wm_base (ver 6)
[LOG]  | Got interface: wl_seat (ver 9)
[LOG]  | Got interface: wp_presentation (ver 1)
[LOG]  | Got interface: ext_idle_notifier_v1 (ver 1)
[LOG]  | Got interface: zwlr_layer_shell_v1 (ver 4)
[LOG]  | Got interface: org_kde_kwin_server_decoration_manager (ver 1)
[LOG]  | Got interface: zxdg_decoration_manager_v1 (ver 1)
[LOG]  | Got interface: zwlr_output_manager_v1 (ver 4)
[LOG]  | Got interface: zwp_keyboard_shortcuts_inhibit_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_pointer_constraints_v1 (ver 1)
[LOG]  | Got interface: zwp_relative_pointer_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_virtual_keyboard_manager_v1 (ver 1)
[LOG]  | Got interface: zwlr_virtual_pointer_manager_v1 (ver 2)
[LOG]  | Got interface: zwlr_foreign_toplevel_manager_v1 (ver 3)
[LOG] [toplevel] (activate) locks: 1
[LOG]  | Got interface: wp_drm_lease_device_v1 (ver 1)
[LOG]  | Got interface: zwp_tablet_manager_v2 (ver 1)
[LOG]  | Got interface: zwp_idle_inhibit_manager_v1 (ver 1)
[LOG]  | Got interface: zxdg_exporter_v1 (ver 1)
[LOG]  | Got interface: zxdg_importer_v1 (ver 1)
[LOG]  | Got interface: zxdg_exporter_v2 (ver 1)
[LOG]  | Got interface: zxdg_importer_v2 (ver 1)
[LOG]  | Got interface: zwp_pointer_gestures_v1 (ver 3)
[LOG]  | Got interface: zwp_text_input_manager_v3 (ver 1)
[LOG]  | Got interface: zwp_input_method_manager_v2 (ver 1)
[LOG]  | Got interface: xdg_activation_v1 (ver 1)
[LOG]  | Got interface: ext_session_lock_manager_v1 (ver 1)
[LOG]  | Got interface: wp_cursor_shape_manager_v1 (ver 1)
[LOG]  | Got interface: wp_tearing_control_manager_v1 (ver 1)
[LOG]  | Got interface: wp_single_pixel_buffer_manager_v1 (ver 1)
[LOG]  | Got interface: xwayland_shell_v1 (ver 1)
[LOG]  | Got interface: hyprland_toplevel_export_manager_v1 (ver 2)
[LOG]  | Got interface: wp_fractional_scale_manager_v1 (ver 1)
[LOG]  | Got interface: zwp_text_input_manager_v1 (ver 1)
[LOG]  | Got interface: hyprland_global_shortcuts_manager_v1 (ver 1)
[LOG] [globalshortcuts] registered
[LOG]  | Got interface: zwlr_screencopy_manager_v1 (ver 3)
[LOG] [pipewire] connected
[LOG] [screencopy] init successful
[LOG]  | Got interface: zxdg_output_manager_v1 (ver 3)
[LOG]  | Got interface: wl_output (ver 4)
[LOG]  | Got interface: wl_output (ver 4)
[LOG] [core] dmabufFeedbackMainDevice
[TRACE] [core] createGBMDevice: render node /dev/dri/renderD128
[TRACE] [core] dmabufFeedbackFormatTable
[TRACE] [core] dmabufFeedbackTrancheTargetDevice
[TRACE] [core] dmabufFeedbackTrancheFormats
[TRACE] [core] dmabufFeedbackTrancheDone
[TRACE] [core] dmabufFeedbackDone
[TRACE] [toplevel] New toplevel at 0x5d88a8c5f7c0
[TRACE] [toplevel] New toplevel at 0x5d88a8c5f920
[TRACE] [toplevel] New toplevel at 0x5d88a8c5fab0
[TRACE] [toplevel] New toplevel at 0x5d88a8c5fc10
[TRACE] [toplevel] New toplevel at 0x5d88a8c5fdc0
[TRACE] [toplevel] New toplevel at 0x5d88a8c5ff20
[TRACE] [toplevel] New toplevel at 0x5d88a8c60080
[TRACE] [toplevel] toplevel at 0x5d88a8d1ddf0 set title to rurigk@rurigk:~
[TRACE] [toplevel] toplevel at 0x5d88a8d1ddf0 set class to Alacritty
[TRACE] [toplevel] toplevel at 0x5d88a8d1d3e0 set title to OBS — Dolphin
[TRACE] [toplevel] toplevel at 0x5d88a8d1d3e0 set class to org.kde.dolphin
[TRACE] [toplevel] toplevel at 0x5d88a8d1cdb0 set title to /usr/lib/xdg-desktop-portal-hyprland -v
[TRACE] [toplevel] toplevel at 0x5d88a8d1cdb0 set class to Alacritty
[TRACE] [toplevel] toplevel at 0x5d88a8d1b9b0 set title to OBS 30.0.2 - Profile: DualMonitorTest - Scenes: Test
[TRACE] [toplevel] toplevel at 0x5d88a8d1b9b0 set class to com.obsproject.Studio
[TRACE] [toplevel] toplevel at 0x5d88a8d19510 set title to rurigk@rurigk:~
[TRACE] [toplevel] toplevel at 0x5d88a8d19510 set class to Alacritty
[TRACE] [toplevel] toplevel at 0x5d88a8c5fc80 set title to Steam
[TRACE] [toplevel] toplevel at 0x5d88a8c5fc80 set class to steam
[TRACE] [toplevel] toplevel at 0x5d88a8c5fce0 set title to Issues · hyprwm/Hyprland — Mozilla Firefox
[TRACE] [toplevel] toplevel at 0x5d88a8c5fce0 set class to firefox
[LOG] Found output name DP-2
[LOG] Found output name HDMI-A-2
[LOG] [toplevel] Activated, bound to 5d88a8c2d830, toplevels: 7
[LOG] [screencopy] Registered for toplevel export
[LOG] [screenshot] init successful
[INFO] hyprpicker not found. We suggest to use hyprpicker for color picking to be less meh.
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [toplevel] toplevel at 0x5d88a8d1ddf0 set title to /usr/lib/xdg-desktop-portal
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [toplevel] toplevel at 0x5d88a8d1ddf0 set title to rurigk@rurigk:~
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [toplevel] toplevel at 0x5d88a8d1ddf0 set title to /usr/lib/xdg-desktop-portal -v
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [toplevel] New toplevel at 0x5d88a8c60220
[TRACE] [toplevel] toplevel at 0x5d88a8c5fea0 set class to com.obsproject.Studio
[TRACE] [toplevel] toplevel at 0x5d88a8c5fea0 set title to Properties for 'Screen Capture (PipeWire)'
[TRACE] [toplevel] toplevel at 0x5d88a8c5fea0 set title to Properties for 'Screen Capture (PipeWire)'
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[LOG] [toplevel] (activate) locks: 2
[LOG] [screencopy] New session:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_99917/obs4
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_99917/obs2
[LOG] [screencopy]  | appid:
[TRACE] [internal] Create Session /org/freedesktop/portal/desktop/session/1_99917/obs2
[TRACE] [internal] Create Request /org/freedesktop/portal/desktop/request/1_99917/obs4
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[LOG] [screencopy] SelectSources:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_99917/obs5
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_99917/obs2
[LOG] [screencopy]  | appid:
[LOG] [screencopy] option cursor_mode to 2
[LOG] [screencopy] option persist_mode to 2
[LOG] [screencopy] unused option multiple
[LOG] [screencopy] unused option types
[LOG] [screencopy] restore data invalid / missing, prompting
[LOG] execAndGet: WAYLAND_DISPLAY=wayland-1 QT_QPA_PLATFORM="wayland" XCURSOR_SIZE=42 HYPRLAND_INSTANCE_SIGNATURE=f590505daf90dfb4059289a906863b59663e70a6_1709248228 XDPH_WINDOW_SHARING_LIST="2831546304[HC>]Alacritty[HT>]/usr/lib/xdg-desktop-portal -v[HE>]2831546656[HC>]org.kde.dolphin[HT>]OBS — Dolphin[HE>]2831547056[HC>]Alacritty[HT>]/usr/lib/xdg-desktop-portal-hyprland -v[HE>]2831547408[HC>]com.obsproject.Studio[HT>]OBS 30.0.2 - Profile: DualMonitorTest - Scenes: Test[HE>]2831547840[HC>]Alacritty[HT>]rurigk@rurigk:~[HE>]2831548192[HC>]steam[HT>]Steam[HE>]2831548544[HC>]firefox[HT>]Issues · hyprwm/Hyprland — Mozilla Firefox[HE>]2831548960[HC>]com.obsproject.Studio[HT>]Properties for 'Screen Capture (PipeWire)'[HE>]" hyprland-share-picker 2>&1
[LOG] [sc] Selection: /region:DP-2@0,0,4480,1440

[LOG] [screencopy] SHAREDATA returned selection 2
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [toplevel] New toplevel at 0x5d88a8dffe40
[TRACE] [toplevel] toplevel at 0x5d88a8dfa0d0 set class to hyprland-share-picker
[TRACE] [toplevel] toplevel at 0x5d88a8dfa0d0 set title to MainPicker
[TRACE] [toplevel] toplevel at 0x5d88a8dfa0d0 set title to MainPicker
[TRACE] [toplevel] toplevel at 0x5d88a8dfa0d0 closed
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[LOG] [screencopy] Start:
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/request/1_99917/obs6
[LOG] [screencopy]  | /org/freedesktop/portal/desktop/session/1_99917/obs2
[LOG] [screencopy]  | appid:
[LOG] [screencopy]  | parent_window:
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone: no stream
[TRACE] [pw] New stream name xdph-streaming-486621
[TRACE] [pw] build_modifierlist: count 8
[LOG] [pw] Building modifiers for dma
[TRACE] [pw] pwStreamStateChange on 0x5d88a8dece70 from unconnected to connecting, node id<PHONE_NUMBER>
[TRACE] [pipewire] removeSessionFrameCallbacks called
[TRACE] [pw] Stream got nodeid<PHONE_NUMBER>
[TRACE] [pw] pwStreamStateChange on 0x5d88a8dece70 from connecting to paused, node id 128
[TRACE] [pipewire] removeSessionFrameCallbacks called
[LOG] [screencopy] Sharing initialized
[TRACE] [sc] queued frame in 16.666666666666668ms
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamParamChanged on 0x5d88a8dece70
[TRACE] [pw] invalid call in pwStreamParamChanged
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamParamChanged on 0x5d88a8dece70
[TRACE] [pipewire] pw requested dmabuf
[TRACE] [pw] don't fixate
[TRACE] [pw] build_modifierlist: count 8
[LOG] [pw] Building modifiers for dma
[TRACE] [pw] Format fixated:
[TRACE] [pw]  | buffer_type DMA (No fixate)
[TRACE] [pw]  | format: 8
[TRACE] [pw]  | modifier: 0
[TRACE] [pw]  | size: 4480x1440
[TRACE] [pw]  | framerate 60
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamParamChanged on 0x5d88a8dece70
[TRACE] [pipewire] pw requested dmabuf
[TRACE] [pw] Format renegotiated:
[TRACE] [pw]  | buffer_type DMA
[TRACE] [pw]  | format: 8
[TRACE] [pw]  | modifier:<PHONE_NUMBER>88174339
[TRACE] [pw]  | size: 4480x1440
[TRACE] [pw]  | framerate 60
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00d68 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00d98 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00dc8 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00df8 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamStateChange on 0x5d88a8dece70 from paused to streaming, node id 128
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] pw format 8 size 4480x1440
[TRACE] [sc] wlr format 875709016 size 4480x1440
[TRACE] [sc] wlr format dma 875713112 size 4480x1440
[TRACE] [sc] wlrOnBufferDone: dequeue, no current buffer
[TRACE] [pw] dequeue on 0x5d88a8dece70
[TRACE] [sc] wlr frame copied
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnFlags for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDamage for 0x5d88a8dfa180
[TRACE] [sc] wlr damage: 0 0 4480 1440
[TRACE] [sc] wlrOnReady for 0x5d88a8dfa180
[TRACE] [sc] frame timestamp sec: 50358 nsec: 735452924 combined:<PHONE_NUMBER>2924ns
[TRACE] [pw] enqueue on 0x5d88a8dece70
[TRACE] [pw] Enqueue data:
[TRACE] [pw]  | seq 0
[TRACE] [pw]  | pts<PHONE_NUMBER>2924
[TRACE] [pw]  | meta transform 0
[TRACE] [pw]  | size 4480x1440
[TRACE] [pw]  | plane 0
[TRACE] [pw]     | fd 31
[TRACE] [pw]     | maxsize 0
[TRACE] [pw]     | size 9
[TRACE] [pw]     | stride 17920
[TRACE] [pw]     | offset 0
[TRACE] [pw]     | flags 0
[TRACE] [pw] --------------------------------- End enqueue
[TRACE] [core] adding timer for 16.666666ms
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamRemoveBuffer with 0x5d88a8e00d68 on 0x5d88a8dece70
[TRACE] [pw] pwStreamRemoveBuffer with 0x5d88a8e00d98 on 0x5d88a8dece70
[TRACE] [pw] pwStreamRemoveBuffer with 0x5d88a8e00dc8 on 0x5d88a8dece70
[TRACE] [pw] pwStreamRemoveBuffer with 0x5d88a8e00df8 on 0x5d88a8dece70
[TRACE] [pw] pwStreamParamChanged on 0x5d88a8dece70
[TRACE] [pipewire] pw requested dmabuf
[TRACE] [pw] don't fixate
[TRACE] [pw] build_modifierlist: count 8
[LOG] [pw] Building modifiers for dma
[TRACE] [pw] Format fixated:
[TRACE] [pw]  | buffer_type DMA (No fixate)
[TRACE] [pw]  | format: 8
[TRACE] [pw]  | modifier:<PHONE_NUMBER>88174339
[TRACE] [pw]  | size: 4480x1440
[TRACE] [pw]  | framerate 60
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamParamChanged on 0x5d88a8dece70
[TRACE] [pipewire] pw requested dmabuf
[TRACE] [pw] Format renegotiated:
[TRACE] [pw]  | buffer_type DMA
[TRACE] [pw]  | format: 8
[TRACE] [pw]  | modifier:<PHONE_NUMBER>86904579
[TRACE] [pw]  | size: 4480x1440
[TRACE] [pw]  | framerate 60
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00d68 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00d98 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00dc8 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [pw] pwStreamAddBuffer with 0x5d88a8e00df8 on 0x5d88a8dece70
[TRACE] [pw] createBuffer: type dma
[TRACE] [pw] buffer datas 1
[TRACE] [core] got timer event
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [core] calling timer 0x5d88a8dee150
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] pw format 8 size 4480x1440
[TRACE] [sc] wlr format 875709016 size 4480x1440
[TRACE] [sc] wlr format dma 875713112 size 4480x1440
[TRACE] [sc] wlrOnBufferDone: dequeue, no current buffer
[TRACE] [pw] dequeue on 0x5d88a8dece70
[TRACE] [sc] wlr frame copied
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnFlags for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDamage for 0x5d88a8dfa180
[TRACE] [sc] wlr damage: 0 0 4480 1440
[TRACE] [sc] wlrOnReady for 0x5d88a8dfa180
[TRACE] [sc] frame timestamp sec: 50358 nsec: 753397941 combined:<PHONE_NUMBER>7941ns
[TRACE] [pw] enqueue on 0x5d88a8dece70
[TRACE] [pw] Enqueue data:
[TRACE] [pw]  | seq 1
[TRACE] [pw]  | pts<PHONE_NUMBER>7941
[TRACE] [pw]  | meta transform 0
[TRACE] [pw]  | size 4480x1440
[TRACE] [pw]  | plane 0
[TRACE] [pw]     | fd 31
[TRACE] [pw]     | maxsize 0
[TRACE] [pw]     | size 9
[TRACE] [pw]     | stride 17920
[TRACE] [pw]     | offset 0
[TRACE] [pw]     | flags 0
[TRACE] [pw] --------------------------------- End enqueue
[TRACE] [core] adding timer for 16.666666ms
[TRACE] [core] got timer event
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [core] calling timer 0x5d88a8e0a500
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] pw format 8 size 4480x1440
[TRACE] [sc] wlr format 875709016 size 4480x1440
[TRACE] [sc] wlr format dma 875713112 size 4480x1440
[TRACE] [sc] wlrOnBufferDone: dequeue, no current buffer
[TRACE] [pw] dequeue on 0x5d88a8dece70
[TRACE] [sc] wlr frame copied
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnFlags for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDamage for 0x5d88a8dfa180
[TRACE] [sc] wlr damage: 0 0 4480 1440
[TRACE] [sc] wlrOnReady for 0x5d88a8dfa180
[TRACE] [sc] frame timestamp sec: 50358 nsec: 771585783 combined:<PHONE_NUMBER>5783ns
[TRACE] [pw] enqueue on 0x5d88a8dece70
[TRACE] [pw] Enqueue data:
[TRACE] [pw]  | seq 2
[TRACE] [pw]  | pts<PHONE_NUMBER>5783
[TRACE] [pw]  | meta transform 0
[TRACE] [pw]  | size 4480x1440
[TRACE] [pw]  | plane 0
[TRACE] [pw]     | fd 35
[TRACE] [pw]     | maxsize 0
[TRACE] [pw]     | size 9
[TRACE] [pw]     | stride 17920
[TRACE] [pw]     | offset 0
[TRACE] [pw]     | flags 0
[TRACE] [pw] --------------------------------- End enqueue
[TRACE] [core] adding timer for 16.666666ms
[TRACE] [core] got timer event
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [core] calling timer 0x5d88a8e0a500
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] pw format 8 size 4480x1440
[TRACE] [sc] wlr format 875709016 size 4480x1440
[TRACE] [sc] wlr format dma 875713112 size 4480x1440
[TRACE] [sc] wlrOnBufferDone: dequeue, no current buffer
[TRACE] [pw] dequeue on 0x5d88a8dece70
[TRACE] [sc] wlr frame copied
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnFlags for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDamage for 0x5d88a8dfa180
[TRACE] [sc] wlr damage: 0 0 4480 1440
[TRACE] [sc] wlrOnReady for 0x5d88a8dfa180
[TRACE] [sc] frame timestamp sec: 50358 nsec: 789778465 combined:<PHONE_NUMBER>8465ns
[TRACE] [pw] enqueue on 0x5d88a8dece70
[TRACE] [pw] Enqueue data:
[TRACE] [pw]  | seq 3
[TRACE] [pw]  | pts<PHONE_NUMBER>8465
[TRACE] [pw]  | meta transform 0
[TRACE] [pw]  | size 4480x1440
[TRACE] [pw]  | plane 0
[TRACE] [pw]     | fd 37
[TRACE] [pw]     | maxsize 0
[TRACE] [pw]     | size 9
[TRACE] [pw]     | stride 17920
[TRACE] [pw]     | offset 0
[TRACE] [pw]     | flags 0
[TRACE] [pw] --------------------------------- End enqueue
[TRACE] [core] adding timer for 16.666666ms
[TRACE] [core] got timer event
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [core] calling timer 0x5d88a8e0a500
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] pw format 8 size 4480x1440
[TRACE] [sc] wlr format 875709016 size 4480x1440
[TRACE] [sc] wlr format dma 875713112 size 4480x1440
[TRACE] [sc] wlrOnBufferDone: dequeue, no current buffer
[TRACE] [pw] dequeue on 0x5d88a8dece70
[TRACE] [sc] wlr frame copied
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnFlags for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDamage for 0x5d88a8dfa180
[TRACE] [sc] wlrOnReady for 0x5d88a8dfa180
[TRACE] [sc] frame timestamp sec: 50358 nsec: 807969584 combined:<PHONE_NUMBER>9584ns
[TRACE] [pw] enqueue on 0x5d88a8dece70
[TRACE] [pw] Enqueue data:
[TRACE] [pw]  | seq 4
[TRACE] [pw]  | pts<PHONE_NUMBER>9584
[TRACE] [pw]  | meta transform 0
[TRACE] [pw]  | size 4480x1440
[TRACE] [pw]  | plane 0
[TRACE] [pw]     | fd 39
[TRACE] [pw]     | maxsize 0
[TRACE] [pw]     | size 9
[TRACE] [pw]     | stride 17920
[TRACE] [pw]     | offset 0
[TRACE] [pw]     | flags 0
[TRACE] [pw] --------------------------------- End enqueue
[TRACE] [core] adding timer for 16.666666ms
[TRACE] [core] got timer event
[TRACE] [screencopy] frame callbacks initialized
[TRACE] [core] calling timer 0x5d88a8e0a500
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnBuffer for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDmabuf for 0x5d88a8dfa180
[TRACE] [sc] wlrOnBufferDone for 0x5d88a8dfa180
[TRACE] [sc] pw format 8 size 4480x1440
[TRACE] [sc] wlr format 875709016 size 4480x1440
[TRACE] [sc] wlr format dma 875713112 size 4480x1440
[TRACE] [sc] wlrOnBufferDone: dequeue, no current buffer
[TRACE] [pw] dequeue on 0x5d88a8dece70
[TRACE] [sc] wlr frame copied
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [core] got poll event
[TRACE] [sc] wlrOnFlags for 0x5d88a8dfa180
[TRACE] [sc] wlrOnDamage for 0x5d88a8dfa180
[TRACE] [sc] wlrOnReady for 0x5d88a8dfa180
[TRACE] [sc] frame timestamp sec: 50358 nsec: 826137829 combined:<PHONE_NUMBER>7829ns
[TRACE] [pw] enqueue on 0x5d88a8dece70
[TRACE] [pw] Enqueue data:
[TRACE] [pw]  | seq 5
[TRACE] [pw]  | pts<PHONE_NUMBER>7829
[TRACE] [pw]  | meta transform 0
[TRACE] [pw]  | size 4480x1440
[TRACE] [pw]  | plane 0
[TRACE] [pw]     | fd 31
[TRACE] [pw]     | maxsize 0
[TRACE] [pw]     | size 9
[TRACE] [pw]     | stride 17920
[TRACE] [pw]     | offset 0
[TRACE] [pw]     | flags 0
[TRACE] [pw] --------------------------------- End enqueue
[TRACE] [core] adding timer for 16.666666ms
[TRACE] [core] got timer event

The last part repeats indefinitely extremely fast

https://github.com/hyprwm/Hyprland/assets/6665402/3f867909-4ee5-4bde-aa36-f91773ccf00e

yeah, the system aint made for that :/


pipenv graph doesn't respect "extras"

Also submitted a possibly related issue here https://github.com/kennethreitz/pipenv/issues/1014
Environment

Linux
pipenv is running on python 3.4.3
Pipenv version = 8.3.1

Expected result
graph should understand when extras are specified in the Pipfile and draw the tree properly. In this example raven[flask] in python 2 depends on Blinker and Flask  because of the flask extra, and depends on contextlib2 because its python < 3.4; so these dependencies should be shown in the graph.
https://github.com/getsentry/raven-python/blob/master/setup.py
Actual result
chris $ pipenv --python 2.7
Virtualenv already exists!
Removing existing virtualenv…
Creating a virtualenv for this project…
Using /my/version/of/python2.7 to create virtualenv…
⠋Running virtualenv with interpreter /my/version/of/python2.7
New python executable in /home/chris/.local/share/virtualenvs/demos-8_UOIBMV/bin/python2.7
Also creating executable in /home/chris/.local/share/virtualenvs/demos-8_UOIBMV/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/chris/.local/share/virtualenvs/demos-8_UOIBMV
Creating a Pipfile for this project…
chris $ pipenv install raven[flask]
Installing raven[flask]…
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒Collecting raven[flask]
  Using cached raven-6.3.0-py2.py3-none-any.whl
Collecting contextlib2; python_version < "3.2" (from raven[flask])
  Using cached contextlib2-0.5.5-py2.py3-none-any.whl
Collecting blinker>=1.1; extra == "flask" (from raven[flask])
Collecting Flask>=0.8; extra == "flask" (from raven[flask])
  Using cached Flask-0.12.2-py2.py3-none-any.whl
Collecting itsdangerous>=0.21 (from Flask>=0.8; extra == "flask"->raven[flask])
Collecting Jinja2>=2.4 (from Flask>=0.8; extra == "flask"->raven[flask])
  Using cached Jinja2-2.9.6-py2.py3-none-any.whl
Collecting Werkzeug>=0.7 (from Flask>=0.8; extra == "flask"->raven[flask])
  Using cached Werkzeug-0.12.2-py2.py3-none-any.whl
Collecting click>=2.0 (from Flask>=0.8; extra == "flask"->raven[flask])
  Using cached click-6.7-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->Flask>=0.8; extra == "flask"->raven[flask])
Installing collected packages: contextlib2, blinker, itsdangerous, MarkupSafe, Jinja2, Werkzeug, click, Flask, raven
Successfully installed Flask-0.12.2 Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.2 blinker-1.4 click-6.7 contextlib2-0.5.5 itsdangerous-0.24 raven-6.3.0

Adding raven[flask] to Pipfile's [packages]…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (812aac)!
chris $ pipenv graph
blinker==1.4
Flask==0.12.2
  - click [required: >=2.0, installed: 6.7]
  - itsdangerous [required: >=0.21, installed: 0.24]
  - Jinja2 [required: >=2.4, installed: 2.9.6]
    - MarkupSafe [required: >=0.23, installed: 1.0]
  - Werkzeug [required: >=0.7, installed: 0.12.2]
raven==6.3.0
  - contextlib2 [required: Any, installed: 0.5.5]

chris $

These commands result in these Pipfiles
[[source]]

name = "pypi"
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]

[packages]

raven = {extras = ["flask"]}

[requires]

python_version = "2.7"

and Pipfile.lock
{
    "_meta": {
        "hash": {
            "sha256": "79f6cd7950e9c9c7dfc51d1b941d4faa0a554593b2af880134c66358f5812aac"
        },
        "host-environment-markers": "REDACTED",
        "pipfile-spec": 6,
        "requires": {
            "python_version": "2.7"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "blinker": {
            "hashes": [
                "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"
            ],
            "version": "==1.4"
        },
        "click": {
            "hashes": [
                "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
                "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
            ],
            "version": "==6.7"
        },
        "flask": {
            "hashes": [
                "sha256:0749df235e3ff61ac108f69ac178c9770caeaccad2509cb762ce1f65570a8856",
                "sha256:49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
            ],
            "version": "==0.12.2"
        },
        "itsdangerous": {
            "hashes": [
                "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
            ],
            "version": "==0.24"
        },
        "jinja2": {
            "hashes": [
                "sha256:2231bace0dfd8d2bf1e5d7e41239c06c9e0ded46e70cc1094a0aa64b0afeb054",
                "sha256:ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff"
            ],
            "version": "==2.9.6"
        },
        "markupsafe": {
            "hashes": [
                "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
            ],
            "version": "==1.0"
        },
        "raven": {
            "hashes": [
                "sha256:cb644fb12ee886a341041dcd533540dfc82619a50bf0b7c587af070054bd2c7f",
                "sha256:f3e465a545dcdb6a387d1fcb199d08f786ba3732d7ce6aa681718b04da6aedf1"
            ],
            "version": "==6.3.0"
        },
        "werkzeug": {
            "hashes": [
                "sha256:e8549c143af3ce6559699a01e26fa4174f4c591dbee0a499f3cd4c3781cdec3d",
                "sha256:903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
            ],
            "version": "==0.12.2"
        }
    },
    "develop": {}
}

FYI, pipenv graph is pretty much a wrapper around pipdeptree, which is a tool that produces a graph from the installed distributions. That tool interacts in no way with the Pipfile/Pipfile.lock.
So unfortunately, its not possible to do with the current tool. Implementing such a feature would require to pretty much rewrite a new graphing tool.
That feature would be a pretty nice and helpful thing to have, of course, but I wanted to point out that it's unfortunately not just a simple tweak to the existing thing, just so you know.

Thanks for the feature request, @macbeth322 , but I'm going to go ahead and close this as out of scope.  You can submit a request to pipdeptree if you want to see this included, and then a follow up issue here if they implement this feature.


Enable hiding attributed resources in resources browser

Summary of changes
Add filter section to resources browser. Allow the user to filter out attributed resources such that only unattributed resources remain. To provide context to the user, do not hide attributed files that are siblings to unattributed ones.
Context and reason for change
Simplify finding unattributed resources to improve focus and efficacy of the user.
How can the changes be tested
Run tests in ...\ResourceBrowser\__tests__\resource-browser-helpers.test.ts or use test files and do it manually.
Additional comments
Loggings for measuring filter speed are removed before merging the code and can be used to assess filter performance with different input files. The filter section is adopted from the one in the attribution view (multi select) as it is planned to add more filters. Additionally, some refactoring was performed to account for having multiple types of filters now (resources and attributions).
Unfiltered resource browser:

Filtered resource browser:

Fix: #1479

Filter should probably not be displayed if there is no file opened.

Surprising that 'index.tsx' is not filtered

Currently, after implementing the locate popup, this PoC is no longer needed.


[SCB-2192] Updates dependencies to up able to build on ARM64

Grpc - from 1.22.0 to 1.35.0
Netty - from 4.1.35 to 4.1.59
Netty-BoringSSL - from 2.0.25 to 2.0.36
Zookeeper - from 3.4.13 to 3.6.2

@martin-g  Thanks for the contribution.
I just checked the CI build, the test failure is not related to your change.

Thank you, @WillemJiang !
I've just tested latest master branch on my ARM64 VM - everything is OK now!


add mobilenet v3

the first commit is the one in #408, was reusing block names and so this requires to be built on top of that branch.

I was also planning to contribute this one :sweat_smile: even further, I had also planned to contribute mobilenetv2. Now I'll at least try to come up with examples using these models

this requires #408 to be merged first, otherwise there will be a namespace collision

also there are some bugs in this implementation currently

@texasmichelle sorry for the confusion, this is much better. will bang on the filter resizing logic next.

see also https://github.com/keras-team/keras-applications/pull/176/files

and https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet_v3.py

and https://github.com/rwightman/pytorch-image-models/blob/master/timm/models/mobilenetv3.py

@texasmichelle filter resizing is working, let me know what you think!

Excellent and thanks for including those links! I'll take a look in the next few days.

@texasmichelle running regression tests, see note above, should be ready to go!


Port rotate button to redux

Includes all the necessary state, tests, and component changes to support redux with the rotate button.
Depends on PR #530

Cleaned up some linting errors and the unused intl.

feel free to merge


Enable upstream tracking

As previously discussed in PR 20 and now mentioned in issue 30, dealing with remote tracking trees currently does not have a good user experience. This pull request addresses this, while also adding a necessary feature to make that experience even smoother: switching directories back to the bare repository. Finally, a few minor fixes.
There are still some rough edges mentioned in some new TODOs and other minor stuff like properly announcing when the jobs ended, but those can be addressed later.

I will look at this soon

@rbmarliere ; thanks for taking a stab at implementing this; I've been sorely wanting this functionality as of late :)
Sorry I'm so late to look at your code, but I had a couple questions/comments still (even though it's been merged already in the meantime, so I cant review). Let me know if I misunderstood something, I didn't study the code in depth.

It feels like there's a disconnect in the code between the telescope and the git-worktree logic; the user is asked whether they want to track a branch, and they declare intent by selecting whether the want to select or create a branch (perhaps select shouldn't create as a fallback?), but this information is not stored in the core worktree logic itself. This causes duplication and risks inconsistency (e.g. create_branch could coincidentally use an existing branch, afaict). It might help to explicitly list all scenario's we want to support (tracking or not, creation vs selection, detach, etc.), and figure out which scenario we're in, in one location, once and for all (create_worktree_job now does this internally, from a bunch of inputs).
Related to my first point; I have the impression that the has_worktree logic does not account for the scenario where a name clash occurs when a newly created local branch (created through --track) already exists. In this case the worktree logic would fail.
https://github.com/polarmutex/git-worktree.nvim/blob/6e1fa150546b9cd2da6985f0b959f3ad4f7637aa/lua/telescope/_extensions/git_worktree.lua#L101 -> why do you need to proactively switch out of all worktrees when you delete one? Am I missing something, or does this make it so you have to explicitly select your previous worktree again when you delete an unrelated one? I'd expect the deletion to either just fail (I think that's fine; the user can easily move to another worktree) or only prompt the user if a clash is actually detected.
On a similar note, I personally don't love the idea of switching to the nil worktree; it causes confusing behaviour (e.g. switch_worktree can now switch to something that's not a worktree) and it creates quite a few special cases throughout the code that look like the following (which would be avoided by prompting for a switch at the right time or just outright failing):if selection == nil then
    return
end

What is this local prefix and why is it necessary? https://github.com/polarmutex/git-worktree.nvim/blob/bac72c240b6bf1662296c31546c6dad89b4b7a3c/lua/git-worktree/worktree.lua#L133 Is this a naming convention you introduced? Doesn't this cause issues when the user selects a remote tracking branch that is already being tracked locallly?
Intuitively, I wouldn't have expected you to need three calls to hash_branch here (only 2). It's strange to me that upstream can be overwritten by branch still (but see point 1.)
You substitute the remotes/ prefix away in has_branch but also use the --track option when creating a worktree. Do you need both?

@rbmarliere ; thanks for taking a stab at implementing this; I've been sorely wanting this functionality as of late :) Sorry I'm so late to look at your code, but I had a couple questions/comments still (even though it's been merged already in the meantime, so I cant review). Let me know if I misunderstood something, I didn't study the code in depth.

Thanks for the review! As a disclaimer I'm not very knowledgeable with Lua and plugins in general and it was indeed mostly a hack with lots of trial and error... But it somewhat worked for me and thus decided to share upstream.

1. It feels like there's a disconnect in the code between the `telescope` and the `git-worktree` logic; the user is asked whether they want to track a branch, and they declare intent by selecting whether the want to [select](https://github.com/polarmutex/git-worktree.nvim/blob/6e1fa150546b9cd2da6985f0b959f3ad4f7637aa/lua/telescope/_extensions/git_worktree.lua#L172) or [create](https://github.com/polarmutex/git-worktree.nvim/blob/6e1fa150546b9cd2da6985f0b959f3ad4f7637aa/lua/telescope/_extensions/git_worktree.lua#L158) a branch (perhaps select shouldn't create as a fallback?), but this information is not stored in the core worktree logic itself. This causes duplication and risks inconsistency (e.g. `create_branch` could coincidentally use an existing branch, afaict). It might help to explicitly list all scenario's we want to support (tracking or not, creation vs selection, detach, etc.), and figure out which scenario we're in, in one location, once and for all (`create_worktree_job` now does this internally, from a bunch of inputs).

The problem I faced was wanting to create a branch named "foo" but that string still yielded results like "remote1/foo" so I needed another action (mapped to ) that would create it anyway. Could be better indeed. But the lines you linked has to do with the branch to create, not track. Tracking comes later.

2. Related to my first point; I have the impression that the `has_worktree` logic does not account for the scenario where a name clash occurs when a newly created local branch (created through `--track`) already exists. In this case the worktree logic would fail.

If I understood correctly, you'd be trying to create a tree in path "tree2" checking out a branch already in use in "tree1", if so then it fails silently due to:
16:39:56 rbmarliere@opensuse /mnt/ext/src/rbmarliere/git-worktree.nvim BARE:main
$ git worktree list
/mnt/ext/src/rbmarliere/git-worktree.nvim        (bare)
/mnt/ext/src/rbmarliere/git-worktree.nvim/devel  edd16a7da828 [devel]
/mnt/ext/src/rbmarliere/git-worktree.nvim/main   bac72c240b6b [main]
16:40:13 rbmarliere@opensuse /mnt/ext/src/rbmarliere/git-worktree.nvim BARE:main
$ git worktree add devel2 devel
Preparing worktree (checking out 'devel')
fatal: 'devel' is already used by worktree at '/mnt/ext/src/rbmarliere/git-worktree.nvim/devel'

3. https://github.com/polarmutex/git-worktree.nvim/blob/6e1fa150546b9cd2da6985f0b959f3ad4f7637aa/lua/telescope/_extensions/git_worktree.lua#L101
    -> why do you need to proactively switch out of all worktrees when you delete one? Am I missing something, or does this make it so you have to explicitly select your previous worktree again when you delete an unrelated one? I'd expect the deletion to either just fail (I think that's fine; the user can easily move to another worktree) or only prompt the user if a clash is actually detected.

The reason behind this is to avoid errors when the user deletes the currently selected tree and avoid nested paths when creating a new tree while being "within" (selected) a tree already. That way the path is always relative to the bare repo basedir.

4. On a similar note, I personally don't love the idea of switching to the `nil` worktree; it causes confusing behaviour (e.g. `switch_worktree` can now switch to something that's not a worktree) and it creates quite a few special cases throughout the code that look like the following (which would be avoided by prompting for a switch at the right time or just outright failing):
   ```lua
   if selection == nil then
       return
   end
   ```

That's a fair point.

5. What is this `local` prefix and why is it necessary? https://github.com/polarmutex/git-worktree.nvim/blob/bac72c240b6bf1662296c31546c6dad89b4b7a3c/lua/git-worktree/worktree.lua#L133
    Is this a naming convention you introduced? Doesn't this cause issues when the user selects a remote tracking branch that is already being tracked locallly? I'd either follow git and reuse the remote's name, or use the user-provided one.

I wasn't happy with this one either. The problem is, when creating and being presented the branches list to choose, you might either create a new one or select a remote branch. If you select a remote branch, this is what would happen:
$ git worktree add rbmarliere/track_upstream -b rbmarliere/track_upstream --track rbmarliere/track_upstream
Preparing worktree (new branch 'rbmarliere/track_upstream')
branch 'rbmarliere/track_upstream' set up to track 'rbmarliere/track_upstream'.
warning: refname 'rbmarliere/track_upstream' is ambiguous.
HEAD is now at 0f6da2603450 feat: Enable user to create detached worktree

But instead, this is what happens:
$ git worktree add rbmarliere/track_upstream -b local/rbmarliere/track_upstream --track rbmarliere/track_upstream

It works for me but I agree it's not optimal. Another option would be to limit the branch list to local/remote and split the functionalities. So, one action for each. But that's not great either. I'm very interested in suggestions here.

6. Intuitively, I wouldn't have expected you to need three calls to `hash_branch` [here](https://github.com/polarmutex/git-worktree.nvim/blob/bac72c240b6bf1662296c31546c6dad89b4b7a3c/lua/git-worktree/worktree.lua#L129-L137) (only 2). It's strange to me that `upstream` can be overwritten by `branch` still (but see point 1.)

Good point. I did it just to get over with and avoid more refactoring... :)

7. You substitute the `remotes/` prefix away in `has_branch` but also use the `--track` option when creating a worktree. Do you need both?

I didn't follow this point. You need to pass a valid ref to in --track.
Please do share your thoughts! We can always improve things. There's a couple of bugs that I've been hitting but still haven't had the time to dig into them.

After some more consideration and testing I submitted a few PRs addressing some points of the discussion:
https://github.com/polarmutex/git-worktree.nvim/pull/36
https://github.com/polarmutex/git-worktree.nvim/pull/37
https://github.com/polarmutex/git-worktree.nvim/pull/38


createComponent wrapping createComponentWithProxy passes through unwanted props

Type: Bug

Packages
Version

fela
6.0.x

Description
Wrapping a component created by createComponentWithProxy with createComponent bleeds all properties into the DOM element, regardless of the passThroughProps declared in createComponent
Steps to reproduce
const BorderlessButton = createComponentWithProxy(() => ({
  border: 'none'
}), 'button');

const ColoredButton = createComponent(({color}) => ({
  color
}), BorderlessButton);

render(
  <ColoredButton color="red" />
);

Expected Behavior
<button class="a b"></button>

Actual Behavior
<button color="red" class="a b"></button>

Alright, these HoCs are driving me mad 😅
I'm experimenting with some major changes that will reduce the complexity and issues with those by simply replacing all HoCs entirely (providing a codemod of course).

When you plan to release that?

Alright, so we decided to not fix this one as it creates issues with other use cases.
We recommend not wrapping both HoCs together at all or using FelaComponent.
We will release improved APIs sometime in November.


Fixed #23814 -- Documented apps refactored out of Django.

formtools page removed from docs/ref/contrib.

localflavor page removed from docs/topics.

Removed dangling mentions and links to the removed apps throughout
the docs.

Created a dedicated page External packages to refer the user to the
relevant third-party projects.

merged in cb506aed2a3ca439a7ed6cff410667f302405c8b, thanks!


Remove timeout from the subcriber

it is currently possible to specify the timeout of the msub process with the -t option
this should be removed, as it can be achieved by other tools, e.g. timeout(1) from the coreutils package
the same philosophy is applied to other items, e.g. there is no option for redirection to a file, as that can be achieved by other standard means

fixed in af8131c


Missing range input areas

All range input areas (except the last) are missing after pasting an input into the spec input area

If you type especially quickly or paste in just part of the input, sometimes areas other than the last are missing also.

@elmisback I've spent some time diagnosing this, but I need to move on to doing something else right this minute (and maybe won't get back to it tonight), but I thought I'd put my diagnosis out there in case that helps you knock it out if you'd like to right now.
This issue seems to be a state bug with this line
The setMySpecRanges that happens just below this is, of course, not instantaneous. So here when we iterate over the variables and add a new SpecRange for multiple new variables, mySpecRanges holds it's non-updated value on each iteration, so only the last addition actually sticks and gets reflected in the setMySpecRanges update.

Extra update, I doubt I'll be able to look at this before the RA meeting tomorrow either, I'm so sorry! But hopefully that ^^ is helpful.

Thanks for isolating this to paste--basically the issue was that initialization isn't handled properly. I added a useEffect that initializes uninitialized ranges whenever new variables are detected.


Change the way we can call the min grunt task.

Two flags have been added, one for keeping the debug log in FORGE (--keep-log), the other
one for passing through testing (--no-test)

 All committers have signed the CLA.


Fix CWE-190

The key is to get commonmarker >= 0.23.4.  Fixes https://github.com/typelevel/typelevel.github.com/security/dependabot/2.

This merge to reboot is going to be a bad time.


don't copy string parameters

With a bunch of refactoring, we can probably avoid the need for copied_strings. The obstacle will be the any_path_iter and any_query_iter implementations which will need the most work, as they have to be re-expressed in terms of a string_view& instead of pointers and offsets.

There are some half-baked ideas in my op branch:
https://github.com/vinniefalco/url/commit/562b9663aa8c3023ce542a906f3ad5288a969425


Fair comparison- train/val/test

Hi
As far as I see from the code, For each pruning ration, you report the test accuracy for the last epoch (#160). right?
How can I change the code to divide the training into train and validation? The goal is to report the test accuracy for the best validation accuracy.

You will need to modify the code to generate train, test, and validation sets (modifying the datasets module) and modify the corresponding test callback to evaluate accordingly.

Also, it records test accuracy for every epoch by default, although it only prints the last epoch on the command line.


[REVIEW] Aryamanz29

GitHub Profile Link
https://github.com/Aryamanz29

Looks good.. Love the banner

maybe make this image small
make "Connect with me" image small
Center align "Connect with me"


Replace obsolete CreateUnixEnvironment in README.md

Use recommended CreateLinuxEnvironment in sample

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks Mattias!


add delete for Readme.md

@cla-bot check

@swifthing Thanks for the suggestion. We will be introducing a more convenient API to do that in the coming versions, so we will close this suggestion.

We have this issue that you can follow here https://github.com/realm/realm-dart/issues/59


Slovene translation

This pull request includes a slovene translation.

Ok, fixed it. Thanks for notifying me!


enable debug logging with proper format

the server main_logger.debug messages arent currently shown (common thing with the library, has to be configured for them to be shown). when i set it up initially, the format for log messages with DEBUG is different from those like INFO, WARNING etc. the latter have additional useful information like the python script and line where it came from, the time, and more.
debug should also be set up to use this format

nvm just single line change, but i dont think debug should be enabled by default cause too much spam


Can't compile

I'm getting this error on compile:
PHP Fatal error:  Uncaught Error: Call to a member function isInitialized() on boolean in /root/zephir/Library/Optimizers/FunctionCall/PregMatchOptimizer.php:51
Stack trace:
#0 /root/zephir/Library/FunctionCall.php(259): Zephir\Optimizers\FunctionCall\PregMatchOptimizer->optimize(Array, Object(Zephir\FunctionCall), Object(Zephir\CompilationContext))
#1 /root/zephir/Library/FunctionCall.php(348): Zephir\FunctionCall->optimize('preg_match', Array, Object(Zephir\FunctionCall), Object(Zephir\CompilationContext))
#2 /root/zephir/Library/FunctionCall.php(683): Zephir\FunctionCall->_callNormal(Array, Object(Zephir\CompilationContext))
#3 /root/zephir/Library/Expression.php(354): Zephir\FunctionCall->compile(Object(Zephir\Expression), Object(Zephir\CompilationContext))
#4 /root/zephir/Library/Optimizers/EvalExpression.php(89): Zephir\Expression->compile(Object(Zephir\CompilationContext))
#5 /root/zephir/Library/Statements/IfStatement.php(36): Zephir\Optimizers\EvalExpression->optimize(Array, Object(Zephir\CompilationContext))
#6 /root in /root/zephir/Library/Optimizers/FunctionCall/PregMatchOptimizer.php on line 51

Below the code:
namespace Fw;

/**
 * Router
 */

class Router
{

    /**
    * Associative array of routes
    * @var array
    */
    protected routes = []{
      get
    };

    /**
     * Parameters from the matched route
     * @var array
     */
    protected params = []{
      get
    };

    /**
     * Match the routes into the routing table, setting the params
     * property if a route is found
     * @param  string url The route URL
     * @return boolean true if a match found, false otherwise
     */
    public function match(url)
    {

        var route = "";
        var params = "";

        for route, params in this->routes  {
            if (preg_match(route, url, matches)) {
                for key, match in matches {
                    if (is_string(key)) {
                      let  params[key] = match;
                    }
                }
                let this->params = params;
                return true;
            }
        }
        return false;
    }

    /**
    * Add a route to the routing table
    * @param string route The Route URL
    * @param array params Parameters (controller, action, etc)
    */
    public function add(route, params = [])
    {
        //echo route."
";
        let route = preg_replace("/\//", "\\/", route);
        //echo route."
";
        let route = preg_replace("/\{([a-z]+)\}/", "(?P<\1>[a-z-]+)", route);
        //echo route."
";
        let route = preg_replace("/\{([a-z]+):([^\}]+)\}/", "(?P<\1>\2)", route);
        let route = "/^" . route . "/i";

        let this->routes[route] = params;

    }

	protected function removeQueryStringVariables(url){
		if(url != ""){
			let parts = explode("&", url, 2);

			if(strpos(parts[0], "=") === false){
				let url = parts[0];
			}else{
				let url = "";
			}
		}
		return url;
	}
	/**
	 * Check if route exists and return the called class and method
	 * @param  string url The class name string
	 * @return
	 */
	public function dispatch(url){
		let url = this->removeQueryStringVariables(url);

		if (this->match(url)){
			let controller = this->params['controller'];
			let controller = this->convertToStudlyCaps(controller);

			if(key_exists('routeNamespace',this->params)){
				let routeNamespace = this->params["routeNamespace"];
				let routeNamespace = this->convertToStudlyCaps(routeNamespace);
				let controller = "App\Controllers\\routeNamespace\\controller";
			}else {
				let controller = "App\Controllers\\controller";
			}

			if (class_exists(controller)){
				let controller_object = new controller();

				let action = this->params["action"];
				let action = this->convertToCamelCase(action);

				if (is_callable([controller_object, action])){
					controller_object->action();
				}	else{
					echo "Method " . action . " in controller " . controller . " not found";
				}
			}
			else {
				echo "Controller class " . controller . " not found";
			}
		} else {
			echo "No route matched";
		}
	}

	/**
	 * Convert class name to Studly Caps format
	 * @param  string string The class name string
	 * @return string
	 */
	protected function convertToStudlyCaps(routeString){
		return str_replace(" ", "", ucwords(str_replace("-", " ", routeString)));
	}
	/**
	 * Convert the method name to Camel Case format
	 * @param  string string The method name
	 * @return string
	 */
	protected function convertToCamelCase(routeString){
		return lcfirst(this->convertToStudlyCaps(routeString));
	}

}

@rodriguescr The matches variable should be declared before usage.
    public function match(url)
    {

        var route = "";
        var params = "";
+      array matches;

        for route, params in this->routes  {
            if (preg_match(route, url, matches)) {
                for key, match in matches {
                    if (is_string(key)) {
                      let  params[key] = match;
                    }
                }
                let this->params = params;
                return true;
            }
        }
        return false;
    }

However, I agree that the error message must be correct and clear. I'll fix the error message in the future releases.

Oh boy, another non-reporting issue which has caught me is having a function variable named the same as a parameter.  PHP or Javascript helps out more for example by telling you that something is not correct with that value but Zephir fails with weird error messages.   Its caught me a few times during refactors and I end up having to comment out a bunch of code to find it.  Now I know to look for so when I see that weird error I know what it means.

@dschissler Could you please create a new issue with code to reproduce? I'll try to sort out. Thank you


S3 storage truncated to 250000MB per object without error

We're facing an issue where object storage on S3 is being truncated to exactly<PHONE_NUMBER>00 bytes (strangely 250,000MB) without error.  oCIS takes the upload without issue, processes it, pushes to S3 and then complains when you try and download it because the metadata doesn't match.  We're storing everything on Wasabi S3 which has a single object limit of 5TB so no issues there.
We're running oCIS 6.6.1 and were hitting the same issue on oCIS 6.2.0 although there we also hit the nats max payload exceeded error mentioned in https://github.com/owncloud/ocis/pull/10377 which we believed was causing the problem.
Error on retrieval attempt is:
2024-12-17T01:57:43.948902080Z 2024-12-17T01:57:43Z ERR unexpected error error="Decomposedfs: error download blob '4c6b7e96-beee-4495-929c-20a93b9127fd': blob has unexpected size.<PHONE_NUMBER>25 bytes expected, got<PHONE_NUMBER>00 bytes" action=download handler=download line=/ocis/vendor/github.com/cs3org/reva/v2/pkg/rhttp/datatx/utils/download/download.go:263 pkg=rhttp request-id=e39b8b312288/mNXHNfpjsK-238118 service=storage-users svc=datatx traceid=ab51ef8b716878b77617c6151ba2d079
Upload for the same appears clean in the logs:
2024-12-16T19:20:00.956073270Z 2024-12-16T19:20:00Z INF user idp:"internal" opaque_id:"268dba74-6565-4481-97c8-4de03c27f989" type:USER_TYPE_PRIMARY authenticated line=/ocis/vendor/github.com/cs3org/reva/v2/internal/grpc/services/authprovider/authprovider.go:145 pkg=rgrpc service=storage-system traceid=e168080f4eb93a03bf17f8578dfcd1bc 2024-12-16T19:20:00.956696520Z 2024-12-16T19:20:00Z INF file download data-server=http://localhost:9216/data line=/ocis/vendor/github.com/cs3org/reva/v2/internal/grpc/services/storageprovider/storageprovider.go:296 pkg=rgrpc ref={"path":"./users/<redacted>/received.json","resource_id":{"opaque_id":"jsoncs3-share-manager-metadata","space_id":"jsoncs3-share-manager-metadata"}} service=storage-system traceid=e168080f4eb93a03bf17f8578dfcd1bc 2024-12-16T19:20:00.957223042Z 2024-12-16T19:20:00Z WRN http end="16/Dec/2024:19:20:00 +0000" host=<IP_ADDRESS> line=/ocis/vendor/github.com/cs3org/reva/v2/internal/http/interceptors/log/log.go:112 method=GET pkg=rhttp proto=HTTP/1.1 service=storage-system size=0 start="16/Dec/2024:19:20:00 +0000" status=404 time_ns=178630 traceid=cc76f6a5d122311e3675d3edbe02018b uri=/data/spaces/jsoncs3-share-manager-metadata%21jsoncs3-share-manager-metadata/users/<redacted>/received.json url=/users/<redacted>/received.json 2024-12-16T19:20:00.968318716Z 2024-12-16T19:20:00Z INF file upload data-server=http://localhost:9158/data/simple/a5c4450e-9dfe-4d7d-ac1a-83bfbe1791c9 fn=./fileName.7z line=/ocis/vendor/github.com/cs3org/reva/v2/internal/grpc/services/storageprovider/storageprovider.go:470 pkg=rgrpc service=storage-users traceid=97bca1a34c6af966a577fb6b357d109b xs="map[md5:100 unset:1000]" 2024-12-16T19:20:00.968457815Z 2024-12-16T19:20:00Z INF file upload data-server=http://localhost:9158/data/tus/a5c4450e-9dfe-4d7d-ac1a-83bfbe1791c9 fn=./fileName.7z line=/ocis/vendor/github.com/cs3org/reva/v2/internal/grpc/services/storageprovider/storageprovider.go:470 pkg=rgrpc service=storage-users traceid=97bca1a34c6af966a577fb6b357d109b xs="map[md5:100 unset:1000]" 2024-12-16T19:20:00.969169589Z 2024-12-16T19:20:00Z INF access-log bytes=0 duration=36.192464 line=/ocis/services/proxy/pkg/middleware/accesslog.go:34 method=POST<EMAIL_ADDRESS>proto=HTTP/1.1 remote-addr=<IP_ADDRESS> request-id=e39b8b312288/mNXHNfpjsK-140447 service=proxy status=201 traceid=97bca1a34c6af966a577fb6b357d109b 2024-12-16T19:20:01.072372965Z 2024-12-16T19:20:01Z INF skipping auth check for: /data/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJyZXZhIiwiZXhwIjoxNzM0NDYzMjAwLCJpYXQiOjE3MzQzNzY4MDAsInRhcmdldCI6Imh0dHA6Ly9sb2NhbGhvc3Q6OTE1OC9kYXRhL3R1cy9hNWM0NDUwZS05ZGZlLTRkN2QtYWMxYS04M2JmYmUxNzkxYzkifQ.r03a60qp5_BC7Af4TkB_DZdRGLZnst0gI6qD-qZQZaY line=/ocis/vendor/github.com/cs3org/reva/v2/internal/http/interceptors/auth/auth.go:195 pkg=rhttp service=frontend traceid=41d6ad1d2b93b973d88321a9a5cc5db1 2024-12-16T19:20:01.072401034Z 2024-12-16T19:20:01Z WRN core access token not set line=/ocis/vendor/github.com/cs3org/reva/v2/internal/http/interceptors/auth/auth.go:248 pkg=rhttp service=frontend traceid=41d6ad1d2b93b973d88321a9a5cc5db1

Based on https://docs.wasabi.com/docs/how-does-wasabi-handle-multipart-uploads , the base implementation should follow https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html
In particular, there is a hard limit of 10000 parts per multipart upload. The default part size is 16MB. Assuming you have configured the part size to 25MB, that would give us 2<IP_ADDRESS> bytes which is what you got.
As far as I know, it's impossible to modify the maximum number of parts (10000), so the only option to upload bigger files is to increase the part size. Also note that the maximum part size allowed is 5GB (5 * 1024 * 1024 * 1024)

I will add the parts * part_size to the admin docs

Thanks @mmattel and @jvillafanez - increasing the part size did the trick and allowed us to get the file through successfully.
Remaining concern: why doesn't oCIS fail or at least log an error when the total upload size exceeds known limits?

From our side, it's true that we aren't checking any limitation ourselves (at least for now), so we basically send the whole file with the part size to the underlying library (minio-go). It's the library the one that cuts the file into pieces and does the hard work, but it also fails to forward the error in that specific scenario.
In the end, the library doesn't return an error for the upload, so oCIS assumes the upload went through without any issue.

@walt-jones I have updated the admin docs to describe the parts number situation including calculation examples.
A dev relevant summary is described in issue #10780

Great to have https://doc.owncloud.com/ocis/next/deployment/storage/s3.html#prevent-failing-uploads updated with details on the limits.
Regarding https://github.com/owncloud/ocis/issues/10780, it would be incredibly helpful to have oCIS throw an error if it knows from current settings that the file push to S3 won't succeed, even if minio-go isn't passing along errors from its side.  For example, if we know there's a hard limit of 10,000 parts and STORAGE_USERS_S3NG_PUT_OBJECT_PART_SIZE=1000000 then we know with absolute certainty that all files larger than around 9GB will be truncated and fail on retrieval. The impact of this issue increases with the size of the file (can take many hours to upload and check whether it's succeeding) and there's nothing in any logs that tell you anything went wrong aside from the "blob has unexpected size" when you try and access the file later.


Support for user assigned identity for App Service MSI

Per https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity, the Azure App Service token URL, as accessed by MSI_ENDPOINT supports an optional parameter named clientid to select which User-Assigned Identity to use.
The current call to that endpoint does not pass through the clientid parameter for App Service MSI, only for VM IMDS endpoint calls. See: https://github.com/Azure/azure-sdk-for-net/blob/psSdkJson6/src/SdkCommon/AppAuthentication/Azure.Services.AppAuthentication/TokenProviders/MsiAccessTokenProvider.cs#L56
This means that effectively, Microsoft.Azure.Services.AppAuthentication 1.2.0-preview cannot be used to retrieve tokens for user-assigned MSI on Azure App Service / Azure Functions.
I think this is a relatively simple change to add the clientid parameter to the app service MSI call
Would you be open to a PR (with tests, of course) to add this feature?

FYI this support is added in 1.2.0-preview2.

@shahabhijeet , can you please close this? Thanks!

Closing as this is done in 1.2.0-preview2


stm32 source code

Great job!  I didn't find the STM32 source code program. I just want to ask if this part will be open source in the future?

Hi, the STM32 source code is actually under our another repo, we'll migrate and integrate it here.

Hi, Thanks for the update! We're excited about migrating and integrating the STM32 source code into this repo. Looking forward to the open-source collaboration.

Hi, the STM32 source code is actually under our another repo, we'll migrate and integrate it here.

Hey @HViktorTsoi Can you please give a tentative date by which the STM32 code will be available? As I'm exploring this repo and trying to replicate on my own.


Refactor where op

Currently blocked by the following build errors:
In file included from /home/amt/AMDMIGraphX/build/src/targets/gpu/ops/migraphx_gpu_where_hpp.cpp:4: In file included from /home/amt/AMDMIGraphX/src/include/migraphx/register_op.hpp:5: In file included from /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:16: /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:199:12: error: no matching function for call to 'to_value_impl'     return detail::to_value_impl(rank<11>{}, x);            ^~~~~~~~~~~~~~~~~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:427:22: note: in instantiation of function template specialization 'migraphx::to_value<migraphx::gpu::hip_where>' requested here     return migraphx::to_value(x);                      ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:969:24: note: in instantiation of function template specialization 'migraphx::detail::to_value_op<migraphx::gpu::hip_where>' requested here         return detail::to_value_op(private_detail_te_self);                        ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:1132:20: note: in instantiation of function template specialization 'migraphx::operation::private_detail_te_default_to_value<const migraphx::gpu::hip_where &>' requested here             return private_detail_te_default_to_value(char(0), private_detail_te_value);                    ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:1013:9: note: in instantiation of member function 'migraphx::operation::private_detail_te_handle_type<migraphx::gpu::hip_where>::to_value' requested here         private_detail_te_handle_type(         ^ /usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136:23: note: in instantiation of function template specialization 'migraphx::operation::private_detail_te_handle_type<migraphx::gpu::hip_where>::private_detail_te_handle_type<migraphx::gpu::hip_where>' requested here         { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }                              ^ /usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475:8: note: (skipping 7 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)         { __a.construct(__p, std::forward<_Args>(__args)...); }               ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:484:20: note: in instantiation of function template specialization 'std::make_shared<migraphx::operation::private_detail_te_handle_type<migraphx::gpu::hip_where>, migraphx::gpu::hip_where>' requested here               std::make_shared<private_detail_te_handle_type<                    ^ /home/amt/AMDMIGraphX/src/include/migraphx/register_op.hpp:21:17: note: in instantiation of function template specialization 'migraphx::operation::operation<migraphx::gpu::hip_where>' requested here     register_op(T{});                 ^ /home/amt/AMDMIGraphX/src/include/migraphx/register_op.hpp:29:9: note: in instantiation of function template specialization 'migraphx::register_op<migraphx::gpu::hip_where>' requested here         register_op<T>();         ^ /home/amt/AMDMIGraphX/src/include/migraphx/auto_register.hpp:13:22: note: in instantiation of function template specialization 'migraphx::register_op_action::apply<migraphx::gpu::hip_where>' requested here     Action::template apply<T>();                      ^ /home/amt/AMDMIGraphX/src/include/migraphx/auto_register.hpp:33:55: note: in instantiation of function template specialization 'migraphx::auto_register_action<migraphx::register_op_action, migraphx::gpu::hip_where>' requested here const int auto_register<Action, T>::static_register = auto_register_action<Action, T>(); // NOLINT                                                       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:91:14: note: candidate function not viable: no known conversion from 'const migraphx::gpu::hip_where' to 'const std::string' (aka 'const basic_string<char>') for 2nd argument inline value to_value_impl(rank<8>, const std::string& x) { return x; }              ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:35:7: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires34 = 34] value to_value_impl(rank<0>, const T&)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:41:7: note: candidate template ignored: could not match 'pair<type-parameter-0-0, type-parameter-0-1>' against 'const migraphx::gpu::hip_where' value to_value_impl(rank<1>, const std::pair<T, U>& x)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:48:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no member named 'begin' in 'migraphx::gpu::hip_where' auto to_value_impl(rank<2>, const T& x) -> decltype(x.begin(), x.end(), value{})      ^                                                ~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:60:7: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires59 = 59] value to_value_impl(rank<3>, const T& x)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:68:7: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires67 = 67] value to_value_impl(rank<4>, const T& x)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:74:7: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires73 = 73] value to_value_impl(rank<5>, const T& x)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:80:7: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires79 = 79] value to_value_impl(rank<6>, const T& x)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:86:7: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires85 = 85] value to_value_impl(rank<7>, const T& x)       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:94:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no matching function for call to 'migraphx_to_value' auto to_value_impl(rank<9>, const T& x) -> decltype(migraphx_to_value(x))      ^                                              ~~~~~~~~~~~~~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:100:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no member named 'to_value' in 'migraphx::gpu::hip_where' auto to_value_impl(rank<10>, const T& x) -> decltype(x.to_value())      ^                                                 ~~~~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:106:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: call to deleted function 'migraphx_to_value' auto to_value_impl(rank<11>, const T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:205:5: error: no matching function for call to 'from_value_impl'     detail::from_value_impl(rank<9>{}, v, x);     ^~~~~~~~~~~~~~~~~~~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:435:22: note: in instantiation of function template specialization 'migraphx::from_value<migraphx::gpu::hip_where>' requested here     return migraphx::from_value(v, x);                      ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:984:17: note: in instantiation of function template specialization 'migraphx::detail::from_value_op<migraphx::gpu::hip_where>' requested here         detail::from_value_op(private_detail_te_self, v);                 ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:1138:13: note: in instantiation of function template specialization 'migraphx::operation::private_detail_te_default_from_value<migraphx::gpu::hip_where &>' requested here             private_detail_te_default_from_value(char(0), private_detail_te_value, v);             ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:1013:9: note: in instantiation of member function 'migraphx::operation::private_detail_te_handle_type<migraphx::gpu::hip_where>::from_value' requested here         private_detail_te_handle_type(         ^ /usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136:23: note: in instantiation of function template specialization 'migraphx::operation::private_detail_te_handle_type<migraphx::gpu::hip_where>::private_detail_te_handle_type<migraphx::gpu::hip_where>' requested here         { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }                              ^ /usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475:8: note: (skipping 7 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)         { __a.construct(__p, std::forward<_Args>(__args)...); }               ^ /home/amt/AMDMIGraphX/src/include/migraphx/operation.hpp:484:20: note: in instantiation of function template specialization 'std::make_shared<migraphx::operation::private_detail_te_handle_type<migraphx::gpu::hip_where>, migraphx::gpu::hip_where>' requested here               std::make_shared<private_detail_te_handle_type<                    ^ /home/amt/AMDMIGraphX/src/include/migraphx/register_op.hpp:21:17: note: in instantiation of function template specialization 'migraphx::operation::operation<migraphx::gpu::hip_where>' requested here     register_op(T{});                 ^ /home/amt/AMDMIGraphX/src/include/migraphx/register_op.hpp:29:9: note: in instantiation of function template specialization 'migraphx::register_op<migraphx::gpu::hip_where>' requested here         register_op<T>();         ^ /home/amt/AMDMIGraphX/src/include/migraphx/auto_register.hpp:13:22: note: in instantiation of function template specialization 'migraphx::register_op_action::apply<migraphx::gpu::hip_where>' requested here     Action::template apply<T>();                      ^ /home/amt/AMDMIGraphX/src/include/migraphx/auto_register.hpp:33:55: note: in instantiation of function template specialization 'migraphx::auto_register_action<migraphx::register_op_action, migraphx::gpu::hip_where>' requested here const int auto_register<Action, T>::static_register = auto_register_action<Action, T>(); // NOLINT                                                       ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:180:13: note: candidate function not viable: no known conversion from 'migraphx::gpu::hip_where' to 'std::string &' (aka 'basic_string<char> &') for 3rd argument inline void from_value_impl(rank<7>, const value& v, std::string& x) { x = v.to<std::string>(); }             ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:115:6: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires114 = 114] void from_value_impl(rank<0>, const value& v, T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:125:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no member named 'insert' in 'migraphx::gpu::hip_where' auto from_value_impl(rank<1>, const value& v, T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:134:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where, PrivateRequires133 = 133]: no type named 'value_type' in 'migraphx::gpu::hip_where' auto from_value_impl(rank<2>, const value& v, T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:151:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no member named 'insert' in 'migraphx::gpu::hip_where' auto from_value_impl(rank<3>, const value& v, T& x) -> decltype(x.insert(*x.begin()), void())      ^                                                            ~~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:159:6: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires158 = 158] void from_value_impl(rank<4>, const value& v, T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:169:6: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires168 = 168] void from_value_impl(rank<5>, const value& v, T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:175:6: note: candidate template ignored: requirement '(migraphx::and_<false>{})' was not satisfied [with T = migraphx::gpu::hip_where, PrivateRequires174 = 174] void from_value_impl(rank<6>, const value& v, T& x)      ^ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:183:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no member named 'from_value' in 'migraphx::gpu::hip_where' auto from_value_impl(rank<8>, const value& v, T& x) -> decltype(x.from_value(v), void())      ^                                                            ~~~~~~~~~~ /home/amt/AMDMIGraphX/src/include/migraphx/serialize.hpp:189:6: note: candidate template ignored: substitution failure [with T = migraphx::gpu::hip_where]: no matching function for call to 'migraphx_from_value' auto from_value_impl(rank<9>, const value& v, T& x) -> decltype(migraphx_from_value(v, x), void())      ^                                                          ~~~~~~~~~~~~~~~~~~~ 2 errors generated when compiling for gfx900. src/targets/gpu/CMakeFiles/migraphx_gpu.dir/build.make:1503: recipe for target 'src/targets/gpu/CMakeFiles/migraphx_gpu.dir/ops/migraphx_gpu_where_hpp.cpp.o' failed make[2]: *** [src/targets/gpu/CMakeFiles/migraphx_gpu.dir/ops/migraphx_gpu_where_hpp.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:13319: recipe for target 'src/targets/gpu/CMakeFiles/migraphx_gpu.dir/all' failed make[1]: *** [src/targets/gpu/CMakeFiles/migraphx_gpu.dir/all] Error 2 Makefile:165: recipe for target 'all' failed make: *** [all] Error 2

@turneram For the code coverage, it is related to:
       else if(s1.broadcasted() != s2.broadcasted())
        {
            return s1.broadcasted() ? s2.with_lens(s1.lens()) : s1.with_lens(s1.lens());

Check warning on line 42 in src/include/migraphx/op/where.hpp
Codecov / codecov/patch

src/include/migraphx/op/where.hpp#L42

Added line #L42 was not covered by tests

        }

So, I think you can add a corresponding unit test in the op_shape_test.cpp file.


Training medium/large complexity models on 4xA100 80GB GPUs

Hi,
I'm currently retraining MusicGen with 200k audio files. I have access to 4xA100 80GB GPUs, which is enough to train a 420.37M param model (small config) out of the box with this command -
dora run -d solver=musicgen/musicgen_base_32khz
My GPU memory usage currently looks like this -

If I increase the complexity of the model any more than this, i.e., try using medium/large models, the GPUs run out of memory and I get a CUDA out-of-memory crash.
I've tried using fsdp.use=true autocast=false params, but that results in the model size becoming 105.09M params instead of 420.37M.
I'm going to be getting access to 16xA100 80GB GPUs soon and would like to train models with more than 400M parameters.
Is there anything I can do to fit more complex models in the existing hardware?

Curious how will it go? What is aprox training time estimation on small/medium model with 200k files on 16xA100s?

@Zlikster currently taking 2 weeks to get to epoch 256 on a small 437M param with 200k files with 4xA100 80Gb

Pretty expensive to go faster with 16xA100 80GB. Aprox 50$/h is the price for 16xA100. Let me know how did it went :)

Hi there, have you tried to train a medium/large models yet? I wonder how many A100 cards did you use to train a large model.


[Numpy] Implement atleast_1d, atleast_2d, atleast_3d

Description
Implement atleast_1d, atleast_2d, atleast_3d
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] atleast_1d, tests
[x] atleast_2d, tests
[x] atleast_3d, tests

#17099 merged, closing this one.


On test failure (any of compile/deploy/test) reset infra to known-good state before continuing with next test

This should help mitigate when one test fails and puts the live infrastructure into an unknown state impacting subsequent test cases.

Pulumi doesn't have rollbacks, so we'd have to do this ourselves.


Switching tabs with CMD+Shift+[ CMD+Shift+]

This is funny, I had a conversation about switching tabs via arrows vs [] with many people, the split is right there in the middle.
I'd definitely love to see CMD+Shift+[ and CMD+Shift+] working in Hyperterm.

Done. Good idea. Having all of the shortcuts work out of the box is a big priority. Nothing worse than fighting a new tool :D


JSII3000 (unexported type) error for a type that comes from a submodule of a JSII peer dependency

:bug: Bug Report
Affected Languages

[x] TypeScript or Javascript
[ ] Python
[ ] Java
[ ] .NET (C#, F#, ...)
[ ] Go

General Information

JSII Version: 1.40.0 (build 9713b9d), typescript 3.9.10
Platform: OS X

What is the problem?

With our 0.7 release of CDKTF we switched the provider generation for the AWS provider to use JSII submodules. This change brought up an issue in a custom constructs that makes use of those pre-built provider bindings:
Exported APIs cannot use un-exported type<EMAIL_ADDRESS>(originally reported here: https://github.com/hashicorp/cdktf-provider-aws/issues/465)
When exporting the namespace like this in the pre-built AWS provider:
export { EKS } from './EKS';

instead of
export * from './EKS';

JSII can compile the custom construct.
However that also causes JSII to not treat those namespaces as submodules anymore (related comment) – hence I think it does not solve the underlying problem but rather rolls back the change.
So I dug a bit deeper and added a bit of logging to the _allTypeReferencesAreValid validator function.
Apparently (and as visible in the error message) the typeRef causing the JSII3000 error is { fqn<EMAIL_ADDRESS>}.
I also logged all assembly.types known to JSII: (full output)
{
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...},
<EMAIL_ADDRESS>{...}
}

And it appears that there is no namespace @pahud/cdktf-aws-eks.EKS and JSII somehow must be incorrectly inferring @pahud/cdktf-aws-eks.EKS.EksCluster for the EKS.EksCluster referenced here. It should probably be @cdktf/provider-aws.EKS.EksCluster or similar.
Could you point me to the logic that determines / resolves that name? My current suspicion is that it lacks support for submodules, but I'm only guessing here.
Reproduction example
https://github.com/ansgarm/jsii-namespace-peer-deps

Instead of
export * from './EKS';

Have you tried
export * as EKS from './EKS';

I think what you're trying to do is reasonable and should work. I reckon it fell in an edge case of the submodule traversal logic, somehow... I need to attempt reproduction to understand where things go south...

Would you be able to make a small repro repository for me to use? That'd help me get to this faster...

Hi @RomainMuller!
Sure! Here you go: https://github.com/ansgarm/jsii-namespace-peer-deps

Have you tried
export * as EKS from './EKS';

Just tried it. Works, but is a bit less ideal due to the following reasons:

JSII requires snake case for it. So only export * as eks from './EKS'; would work (this is something we could live with of course)
As we are using namespaces in our submodules (see reproduction example also), usage would look like this:

import { eks } from '@cdktf/provider-aws';
const cluster = new eks.eks.EksCluster(…);

FYI @RomainMuller: We tried a slightly different approach to namespaces today, and it looks like this might solve our immediate issue. Gonna get back to you with more details once I confirmed.

FYI @RomainMuller: We tried a slightly different approach to namespaces today, and it looks like this might solve our immediate issue. Gonna get back to you with more details once I confirmed.

This PR solved our issue around namespaces https://github.com/hashicorp/terraform-cdk/pull/1248

Hey @skorfmann,
I would like to confirm if this is still an issue in JSII or if it was confirmed to be resolved via the namespace change in tcdk?


Add Grow Functionality

GrowTo allows objects to change size over time.  When the object arrives
at the target size it will perform a callback.

Should have waited a day or so before merging it in because your commit is using tabs instead of 3 spaces for code intention.

My apologies.  I tend to use tabs over spaces and must have missed that. I will definitely give you some time to check them if you'd like before merging them.  I've become use to merging immediately since I've been working in echoey silence around here.  I would certainly welcome some company...

:-)


9006 added the attachments to bulk import docs

docs for the PR: mattermost/mattermost-server#9124
ticket: mattermost/mattermost-server#9006

Thank you! Sorry about that, not sure why rebasing didn't work as I don't think anything has been merged to that branch yet.

@amyblais  No.. My bad..  I messed up the PR by changing the base :-)
All good now.. Thanks..

@pradeepmurugesan Would you like to do the changes for use the Attachments Import feature in the sampledata to allow to generate attachments randomly? Basically I would expect something like ./mattermost sampledata --attachments ./attachments-directory and then (like in the avatars random selection) select one file, and generate the attachment in the sampledata bulk output.
Sampledata, under the hood, it simply generates a temporary bulk file, and import it into the system.
If you don't like the idea, I can implement it, is not a huge deal, but I think you did a very good job with the Attachments import and I think you could do it pretty well in the sampledata too. :)

@pradeepmurugesan Another thing that you can do related to this PR is to add the attachments to the ImportDirectPost too. Actually now we can import attachments in posts in channels, replies in channels, and replies in direct posts, but we can't import attachments in direct posts.

@jespino Hi.. sure.. I can do it. Is there any time constraints on this ? Coz I am in my work week. Can give it a shot this weekend..
Is it ok ? Kindly clarify

@pradeepmurugesan sure, no rush. Whenever you can will work for us. I'll create a help wanted ticket for this and directly "assign" it to you (tomorrow) :)


OTL "helps" the text-processing application

OpenType Layout helps a text-processing application determine which variant to substitute when composing text.

"helps" is a strange word to use here. Better to spell out the responsibilities of the shaper and the capabilities of the font file, and explain what actually happens: OpenType Layout tables inform the shaping engine which glyph variant should be substituted in each situation.

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

ID: 5b15ab9e-86c5-f6e0-0145-f9de77c60141
Version Independent ID: 0ebe3dec-cc24-b6a4-01b8-73bfdb79a71a
Content: Advanced typographic tables - OpenType Layout - Typography
Content Source: typographydocs/opentype/spec/ttochap1.md
Product: typography
GitHub Login: @PeterCon
Microsoft Alias: PeterCon

Changed for next version in the cited sentence and also in the following paragraph.


⚠ Turnos 24x7 has degraded performance

In f307cfc, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 2474 ms

Resolved: Turnos 24x7 performance has improved in 4d3a0ee.


(re-4124) Package and ship VM artifacts

This adds a task and methods to extract the created VM artifact
from vSphere as an OVA, then ship that OVA to 2 places:
First back into vSphere as a VM suitable for testing.
Second to a directory on the int-resources share.
The shipping tasks need to be run from a machine with
ovftool installed, and if shipping to int-resources, with
the NFS export mounted. Obviously these are intended to be
used on the internal Puppet Labs network.
In addition, there is a minor update required to the Jenkins
build job. The task that exports the VM from vmware needs to know
the name of the pooler VM used. This is accomplished in my test job
by having Beaker write out a properties file containing the name.

:+1: I don't see anything that stands out to me. I love that we're duplicated the ex command like, 8 times.

Actually I wound up not needing it, so I removed it :) So we're back to 7.

Oh!! Ha, nice :) I didn't even notice you removed it!


Total duration of segments after filtering bad segments is less than result in paper

Hi,
I ran step 4 and 5 using the file /data/ja/202103.csv you provided. I got more than 10M files with a total duration of over 10,000 hours for all segments. But after filtering bad segments with min_confidence_score=-0.3, the total of number of good segments is only about 480,000 with a total duration of 351 hours. So, the yield is roughly 3.5% and the total duration is much less than what you mentioned in the paper (1,300 hours). Do you know the possible reasons?

I got a total of over 100,000 videos. So, is there any reason to use only the top 15k videos?
There is no special reason. Our experiments using 15k videos were pilot studies.


iOS 10 deployment target required?

Hey @adamwaite! Firstly, thank you for the great library 🙏
I  have a question regarding the deployment target: it was recently raised to 10.0 — was this required to facilitate some new functionality or would you still be able to support 9.1?
Thank you!

To be honest I just bumped it because I thought < iOS10 is pretty ancient these days. Feel free to open a PR.

Thanks @adamwaite. Please see #108.


prepare to open source

motivation: cleanup naming and collatoral in preperation to open sourcing the library
changes:

rename "bootstrap" to "lifecycle"
contributors list

Late LGTM :)