Waiting for corrective contributions.

Don't waste your time with this, it doesn't work on the current OBS studio, the developers have abandoned this plugin sadly it seems, and have not continued to support it as OBS studio has continued to be updated.

I express my displeasure. Did I state anywhere that I have confirmed that it works with OBS 31.0.0?
If it does not work, have you guys provided information to fix it? For example, logs, screenshots, detailed version information of the OS, OBS and other plugins.
You just say “it doesn't work” and order me to investigate everything?
I am ready to welcome your problem solving PR.

That is a silly response tbh, Windows 11 and OBS 31 are the current versions, if you can't be assed to check when a new windows version releases and/or new OBS version releases weather or not your plugin has become broken, then you should just delete the plugin because people are going to update their software to maintain support, and if you don't plan to follow that update path and ensure compatibility, then you shouldn't be offering it in the first place. BUT heres your log, since its gonna serve you so well:
23:14:48.678: [Safe Mode] Unclean shutdown detected!
23:14:50.283: [Safe Mode] User elected to launch normally.
23:14:50.284: CPU Name: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz
23:14:50.284: CPU Speed: 3504MHz
23:14:50.284: Physical Cores: 8, Logical Cores: 16
23:14:50.284: Physical Memory: 32592MB Total, 21498MB Free
23:14:50.284: Windows Version: 10.0 Build 26100 (release: 24H2; revision: 2605; 64-bit)
23:14:50.284: Running as administrator: false
23:14:50.284: Windows 10/11 Gaming Features:
23:14:50.284: 	Game DVR: On
23:14:50.284: 	Game Mode: On
23:14:50.284: Sec. Software Status:
23:14:50.285: 	Microsoft Defender Antivirus: disabled (AV)
23:14:50.285: 	Avast Antivirus: enabled (AV)
23:14:50.286: 	Avast Antivirus: enabled (FW)
23:14:50.286: 	Windows Firewall: disabled (FW)
23:14:50.286: Current Date/Time: 2024-12-26, 23:14:50
23:14:50.286: Browser Hardware Acceleration: true
23:14:50.286: Hide OBS windows from screen capture: false
23:14:50.286: Qt Version: 6.6.3 (runtime), 6.6.3 (compiled)
23:14:50.286: Portable mode: false
23:14:50.376: OBS 31.0.0 (64-bit, windows)
23:14:50.376: ---------------------------------
23:14:50.384: ---------------------------------
23:14:50.384: audio settings reset:
23:14:50.384: 	samples per sec: 48000
23:14:50.384: 	speakers:        2
23:14:50.384: 	max buffering:   960 milliseconds
23:14:50.384: 	buffering type:  dynamically increasing
23:14:50.386: ---------------------------------
23:14:50.386: Initializing D3D11...
23:14:50.386: Available Video Adapters:
23:14:50.387: 	Adapter 0: NVIDIA GeForce RTX 3090
23:14:50.387: 	  Dedicated VRAM:<PHONE_NUMBER>6 (23.8 GiB)
23:14:50.387: 	  Shared VRAM:<PHONE_NUMBER>2 (15.9 GiB)
23:14:50.387: 	  PCI ID:         10de:2204
23:14:50.387: 	  HAGS Status:    Enabled (Default: No, Driver status: Supported)
23:14:50.387: 	  Driver Version: <IP_ADDRESS>36
23:14:50.388: 	  output 0:
23:14:50.388: 	    name=SAMSUNG
23:14:50.388: 	    pos={0, 0}
23:14:50.388: 	    size={3840, 2160}
23:14:50.388: 	    attached=true
23:14:50.388: 	    refresh=60
23:14:50.388: 	    bits_per_color=8
23:14:50.388: 	    space=RGB_FULL_G22_NONE_P709
23:14:50.388: 	    primaries=[r=(0.640625, 0.330078), g=(0.300781, 0.600586), b=(0.150391, 0.060547), wp=(0.280273, 0.290039)]
23:14:50.388: 	    relative_gamut_area=[709=1.000494, P3=0.737535, 2020=0.529132]
23:14:50.388: 	    sdr_white_nits=80
23:14:50.388: 	    nit_range=[min=0.010000, max=1499.000000, max_full_frame=799.000000]
23:14:50.388: 	    dpi=96 (100%)
23:14:50.388: 	    id=\?\DISPLAY#SAM0FEF#5&2a31e52&0&UID4352#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:14:50.388: 	    alt_id=\.\DISPLAY1
23:14:50.388: 	  output 1:
23:14:50.388: 	    name=DELL P2414H
23:14:50.388: 	    pos={3840, 235}
23:14:50.388: 	    size={1080, 1920}
23:14:50.388: 	    attached=true
23:14:50.388: 	    refresh=60
23:14:50.388: 	    bits_per_color=8
23:14:50.388: 	    space=RGB_FULL_G22_NONE_P709
23:14:50.388: 	    primaries=[r=(0.650391, 0.337891), g=(0.320312, 0.613281), b=(0.154297, 0.060547), wp=(0.313477, 0.329102)]
23:14:50.388: 	    relative_gamut_area=[709=1.018138, P3=0.750542, 2020=0.538463]
23:14:50.388: 	    sdr_white_nits=80
23:14:50.388: 	    nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
23:14:50.388: 	    dpi=96 (100%)
23:14:50.388: 	    id=\?\DISPLAY#DELA09A#5&2a31e52&0&UID4353#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:14:50.388: 	    alt_id=\.\DISPLAY2
23:14:50.389: Loading up D3D11 on adapter NVIDIA GeForce RTX 3090 (0)
23:14:50.526: D3D11 loaded successfully, feature level used: b000
23:14:50.526: DXGI increase maximum frame latency success
23:14:50.526: Hardware-Accelerated GPU Scheduling enabled on adapter!
23:14:50.526: D3D11 GPU priority setup failed (not admin?)
23:14:50.603: ---------------------------------
23:14:50.603: video settings reset:
23:14:50.603: 	base resolution:   3840x2160
23:14:50.603: 	output resolution: 1920x1080
23:14:50.603: 	downscale filter:  Bicubic
23:14:50.603: 	fps:               60/1
23:14:50.603: 	format:            NV12
23:14:50.603: 	YUV mode:          Rec. 709/Partial
23:14:50.603: NV12 texture support enabled
23:14:50.603: P010 texture support not available
23:14:50.604: Audio monitoring device:
23:14:50.604: 	name: Default
23:14:50.604: 	id: default
23:14:50.605: ---------------------------------
23:14:50.607: No AJA devices found, skipping loading AJA UI plugin
23:14:50.607: Failed to initialize module 'aja-output-ui.dll'
23:14:50.608: No AJA devices found, skipping loading AJA plugin
23:14:50.608: Failed to initialize module 'aja.dll'
23:14:50.608: Skipping module '../../obs-plugins/64bit/chrome_elf.dll', not an OBS plugin
23:14:50.611: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
23:14:50.612: Failed to load 'en-US' text for module: 'decklink-captions.dll'
23:14:50.612: Failed to load 'en-US' text for module: 'decklink-output-ui.dll'
23:14:50.615: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
23:14:50.615: Failed to initialize module 'decklink.dll'
23:14:50.615: Skipping module '../../obs-plugins/64bit/DirectML.dll', not an OBS plugin
23:14:50.638: [AMF] Unable to load 'amfrt64.dll', error code 126.
23:14:50.640: [AMF] AMF Test failed due to one or more errors.
23:14:50.640: Failed to initialize module 'enc-amf.dll'
23:14:50.647: Skipping module '../../obs-plugins/64bit/libcef.dll', not an OBS plugin
23:14:50.647: Skipping module '../../obs-plugins/64bit/libEGL.dll', not an OBS plugin
23:14:50.647: Skipping module '../../obs-plugins/64bit/libGLESv2.dll', not an OBS plugin
23:14:51.649: [NVIDIA Audio Effects:] NVIDIA denoiser disabled, redistributable not found or could not be loaded.
23:14:51.649: Failed to get NVVideoEffects.dll version info size
23:14:51.651: [NVIDIA VIDEO FX]: FX disabled, redistributable not found or could not be loaded.
23:14:51.667: [obs-browser]: Version 2.24.4
23:14:51.667: [obs-browser]: CEF Version 127.0.6533.100 (runtime), 127.3.4+ge9e2e14+chromium-127.0.6533.100 (compiled)
23:14:51.823: [obs-nvenc] NVENC version: 12.2 (compiled) / 12.2 (driver), CUDA driver version: 12.70, AV1 supported: false
23:14:51.872: [OBS Virtual BG plugin] obs_module_load. version=v1.2.0
23:14:51.875: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.5.4 | RPC Version: 1)
23:14:51.875: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.6.3 | Qt version (run-time): 6.6.3
23:14:51.875: [obs-websocket] [obs_module_load] Linked ASIO Version: 103100
23:14:51.876: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
23:14:51.882: [obs-websocket] [obs_module_load] Module loaded.
23:14:51.883: Skipping module '../../obs-plugins/64bit/onnxruntime.dll', not an OBS plugin
23:14:51.883: Skipping module '../../obs-plugins/64bit/onnxruntime_providers_cuda.dll', not an OBS plugin
23:14:51.883: Skipping module '../../obs-plugins/64bit/onnxruntime_providers_shared.dll', not an OBS plugin
23:14:51.887: [vlc-video]: Couldn't find VLC installation, VLC video source disabled
23:14:51.895: ---------------------------------
23:14:51.895:   Loaded Modules:
23:14:51.895:     win-wasapi.dll
23:14:51.895:     win-dshow.dll
23:14:51.895:     win-capture.dll
23:14:51.895:     vlc-video.dll
23:14:51.895:     text-freetype2.dll
23:14:51.895:     rtmp-services.dll
23:14:51.895:     obs-x264.dll
23:14:51.895:     obs-websocket.dll
23:14:51.895:     obs-webrtc.dll
23:14:51.895:     obs-vst.dll
23:14:51.895:     obs-virtualbg.dll
23:14:51.895:     obs-transitions.dll
23:14:51.895:     obs-text.dll
23:14:51.895:     obs-qsv11.dll
23:14:51.895:     obs-outputs.dll
23:14:51.895:     obs-nvenc.dll
23:14:51.895:     obs-filters.dll
23:14:51.895:     obs-ffmpeg.dll
23:14:51.895:     obs-browser.dll
23:14:51.895:     nv-filters.dll
23:14:51.895:     logi_obs_plugin_x64.dll
23:14:51.895:     image-source.dll
23:14:51.895:     frontend-tools.dll
23:14:51.895:     decklink-output-ui.dll
23:14:51.895:     decklink-captions.dll
23:14:51.895:     coreaudio-encoder.dll
23:14:51.895: ---------------------------------
23:14:51.896: ---------------------------------
23:14:51.896: Available Encoders:
23:14:51.896:   Video Encoders:
23:14:51.896: 	- ffmpeg_svt_av1 (SVT-AV1)
23:14:51.896: 	- ffmpeg_aom_av1 (AOM AV1)
23:14:51.896: 	- obs_nvenc_h264_tex (NVIDIA NVENC H.264)
23:14:51.896: 	- obs_nvenc_hevc_tex (NVIDIA NVENC HEVC)
23:14:51.896: 	- obs_x264 (x264)
23:14:51.896:   Audio Encoders:
23:14:51.896: 	- ffmpeg_aac (FFmpeg AAC)
23:14:51.896: 	- ffmpeg_opus (FFmpeg Opus)
23:14:51.896: 	- ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
23:14:51.896: 	- ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
23:14:51.896: 	- ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
23:14:51.896: 	- ffmpeg_alac (FFmpeg ALAC (24-bit))
23:14:51.896: 	- ffmpeg_flac (FFmpeg FLAC (16-bit))
23:14:51.896: ==== Startup complete ===============================================
23:14:51.898: Switched to Preview/Program mode
23:14:51.898: ------------------------------------------------
23:14:51.922: All scene data cleared
23:14:51.922: ------------------------------------------------
23:14:51.925: [win-wasapi: 'Desktop Audio'] update settings:
23:14:51.925: 	device id: default
23:14:51.925: 	use device timing: 1
23:14:51.925: [Loaded global audio device]: 'Desktop Audio'
23:14:51.925: [win-wasapi: 'Mic/Aux'] update settings:
23:14:51.925: 	device id: default
23:14:51.925: 	use device timing: 0
23:14:51.925: [Loaded global audio device]: 'Mic/Aux'
23:14:51.926: [duplicator-monitor-capture: 'Display Capture'] update settings:
23:14:51.926: 	display: SAMSUNG (3840x2160)
23:14:51.926: 	cursor: true
23:14:51.926: 	method: DXGI
23:14:51.926: 	id: \?\DISPLAY#SAM0FEF#5&2a31e52&0&UID4352#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:14:51.926: 	alt_id: \.\DISPLAY1
23:14:51.926: 	setting_id: \?\DISPLAY#SAM0FEF#5&2a31e52&0&UID4352#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
23:14:51.926: 	force SDR: false
23:14:51.927: Switched to scene 'Scene 2'
23:14:51.927: User switched Program to scene 'Scene 2'
23:14:51.928: ------------------------------------------------
23:14:51.928: Loaded scenes:
23:14:51.928: - scene 'Scene 2':
23:14:51.928:     - source: 'Display Capture' (monitor_capture)
23:14:51.928:     - source: 'Video Capture Device' (dshow_input)
23:14:51.928: ------------------------------------------------
23:14:52.100: YT: InitYTUserUrl() User is not signed
23:14:52.100: YT: InitYTUserUrl() User is not signed
23:14:54.396: ---------------------------------
23:14:54.396: [DShow Device: 'Video Capture Device'] settings updated:
23:14:54.396: 	video device: UVC Camera
23:14:54.396: 	video path: \?\usb#vid_23c5&pid_1478&mi_00#8&28fa1bda&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
23:14:54.396: 	resolution: 1920x1080
23:14:54.396: 	flip: 0
23:14:54.396: 	fps: 30.00 (interval: 333333)
23:14:54.396: 	format: MJPEG
23:14:54.396: 	buffering: disabled
23:14:54.396: 	hardware decode: disabled
23:14:54.399: WASAPI: Device 'Microphone (Logitech G933 Gaming Headset)' [48000 Hz] initialized (source: Mic/Aux)
23:14:54.418: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Mic/Aux)
23:14:54.418:
23:14:54.539: WASAPI: Device 'Speakers (Realtek USB Audio)' [48000 Hz] initialized (source: Desktop Audio)
23:14:54.556: 	using video device audio: no
23:14:54.556: 	audio device: Microphone (Logitech G933 Gaming Headset)
23:14:54.556: 	sample rate: 44100
23:14:54.556: 	channels: 2
23:14:54.556: 	audio type: Capture
23:28:43.391: User Removed source 'Video Capture Device' (dshow_input) from scene 'Scene 2'
23:29:09.881: ==== Shutting down ==================================================
23:29:09.887: WASAPI: Device 'Speakers (Realtek USB Audio)' Terminated
23:29:09.889: WASAPI: Device 'Microphone (Logitech G933 Gaming Headset)' Terminated
23:29:10.188: All scene data cleared
23:29:10.188: ------------------------------------------------
23:29:10.421: [obs-websocket] [obs_module_unload] Shutting down...
23:29:10.421: Tried to call obs_frontend_remove_event_callback with no callbacks!
23:29:10.421: [obs-websocket] [obs_module_unload] Finished shutting down.
23:29:10.468: Tried to call obs_frontend_remove_event_callback with no callbacks!
23:29:10.468: Tried to call obs_frontend_remove_save_callback with no callbacks!
23:29:10.468: [Scripting] Total detached callbacks: 0
23:29:10.468: Freeing OBS context data
23:29:10.502: == Profiler Results =============================
23:29:10.502: run_program_init: 4157.59 ms
23:29:10.502:  ┣OBSApp::AppInit: 570.09 ms
23:29:10.502:  ┃ ┗OBSApp::InitLocale: 1.165 ms
23:29:10.502:  ┗OBSApp::OBSInit: 1867.99 ms
23:29:10.502:    ┣obs_startup: 3.109 ms
23:29:10.502:    ┗OBSBasic::OBSInit: 1774.3 ms
23:29:10.502:      ┣OBSBasic::InitBasicConfig: 6.883 ms
23:29:10.502:      ┣OBSBasic::ResetAudio: 0.157 ms
23:29:10.502:      ┣OBSBasic::ResetVideo: 220.422 ms
23:29:10.502:      ┃ ┗obs_init_graphics: 218.765 ms
23:29:10.502:      ┃   ┗shader compilation: 72.249 ms
23:29:10.502:      ┣OBSBasic::InitOBSCallbacks: 0.005 ms
23:29:10.502:      ┣OBSBasic::InitHotkeys: 0.02 ms
23:29:10.502:      ┣obs_load_all_modules2: 1290.41 ms
23:29:10.502:      ┃ ┣obs_init_module(aja-output-ui.dll): 0.145 ms
23:29:10.502:      ┃ ┣obs_init_module(aja.dll): 0.091 ms
23:29:10.502:      ┃ ┣obs_init_module(coreaudio-encoder.dll): 1.934 ms
23:29:10.502:      ┃ ┣obs_init_module(decklink-captions.dll): 0 ms
23:29:10.502:      ┃ ┣obs_init_module(decklink-output-ui.dll): 0 ms
23:29:10.502:      ┃ ┣obs_init_module(decklink.dll): 1.345 ms
23:29:10.502:      ┃ ┣obs_init_module(enc-amf.dll): 24.731 ms
23:29:10.502:      ┃ ┣obs_init_module(frontend-tools.dll): 3.542 ms
23:29:10.502:      ┃ ┣obs_init_module(image-source.dll): 0.004 ms
23:29:10.502:      ┃ ┣obs_init_module(logi_obs_plugin_x64.dll): 999.363 ms
23:29:10.502:      ┃ ┣obs_init_module(nv-filters.dll): 2.269 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-browser.dll): 0.77 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-ffmpeg.dll): 0.729 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-filters.dll): 0.028 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-nvenc.dll): 151.047 ms
23:29:10.502:      ┃ ┃ ┗nvenc_check: 151.042 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-outputs.dll): 0.005 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-qsv11.dll): 42.335 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-text.dll): 0.225 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-transitions.dll): 0.004 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-virtualbg.dll): 0.024 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-vst.dll): 0.003 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-webrtc.dll): 0.005 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-websocket.dll): 6.142 ms
23:29:10.502:      ┃ ┣obs_init_module(obs-x264.dll): 0.001 ms
23:29:10.502:      ┃ ┣obs_init_module(rtmp-services.dll): 1.495 ms
23:29:10.502:      ┃ ┣obs_init_module(text-freetype2.dll): 0.108 ms
23:29:10.502:      ┃ ┣obs_init_module(vlc-video.dll): 0.034 ms
23:29:10.502:      ┃ ┣obs_init_module(win-capture.dll): 2.095 ms
23:29:10.502:      ┃ ┣obs_init_module(win-dshow.dll): 1.818 ms
23:29:10.502:      ┃ ┣obs_init_module(win-wasapi.dll): 0.289 ms
23:29:10.502:      ┃ ┗reset_win32_symbol_paths: 0.239 ms
23:29:10.502:      ┣OBSBasic::InitService: 1.736 ms
23:29:10.502:      ┣OBSBasic::ResetOutputs: 0.303 ms
23:29:10.502:      ┣OBSBasic::CreateHotkeys: 0.029 ms
23:29:10.502:      ┣OBSBasic::InitPrimitives: 0.08 ms
23:29:10.502:      ┗OBSBasic::Load: 32.166 ms
23:29:10.502: obs_hotkey_thread(25 ms): min=0.004 ms, median=0.015 ms, max=2219.01 ms, 99th percentile=0.144 ms, 99.997% below 25 ms
23:29:10.502: audio_thread(Audio): min=0.006 ms, median=0.036 ms, max=0.971 ms, 99th percentile=0.14 ms
23:29:10.502: obs_graphics_thread(16.6667 ms): min=0.071 ms, median=0.728 ms, max=2227.7 ms, 99th percentile=1.254 ms, 99.9981% below 16.667 ms
23:29:10.502:  ┣tick_sources: min=0.001 ms, median=0.177 ms, max=2223.72 ms, 99th percentile=0.415 ms
23:29:10.502:  ┣output_frame: min=0.061 ms, median=0.219 ms, max=9.908 ms, 99th percentile=0.603 ms
23:29:10.502:  ┃ ┗gs_context(video->graphics): min=0.061 ms, median=0.218 ms, max=9.907 ms, 99th percentile=0.603 ms
23:29:10.502:  ┃   ┣render_video: min=0.002 ms, median=0.036 ms, max=9.637 ms, 99th percentile=0.47 ms
23:29:10.502:  ┃   ┃ ┗render_main_texture: min=0.001 ms, median=0.035 ms, max=9.636 ms, 99th percentile=0.47 ms
23:29:10.502:  ┃   ┗gs_flush: min=0.032 ms, median=0.123 ms, max=2.371 ms, 99th percentile=0.225 ms
23:29:10.502:  ┗render_displays: min=0 ms, median=0.299 ms, max=4.666 ms, 99th percentile=0.48 ms
23:29:10.502: =================================================
23:29:10.502: == Profiler Time Between Calls ==================
23:29:10.502: obs_hotkey_thread(25 ms): min=24.39 ms, median=25.484 ms, max=2243.48 ms, 50.921% within ±2% of 25 ms (0.00891319% lower, 49.0701% higher)
23:29:10.502: obs_graphics_thread(16.6667 ms): min=1.398 ms, median=16.667 ms, max=2227.71 ms, 99.8931% within ±2% of 16.667 ms (0.0544186% lower, 0.0524751% higher)
23:29:10.502: =================================================
23:29:10.715: Number of memory leaks: 0

23:14:48.678: [Safe Mode] Unclean shutdown detected!

you should try normal boot.

this is just the log, i did start it normally. that is just the notification that it recommended safe mode, which i denied.

23:14:50.283: [Safe Mode] User elected to launch normally. <-----------------

a better solution anyway, is to capture the screen from Zoom or another program that DOES have a working virtual background. you dont need to fix this broken plugin, i fixed it with a better program.


Coda daemon crased

When I try to run the CODA daemon, it crashed you can check the crash report /home/jiten/.coda-config/coda_crash_report_2020-09-17_04-48-05.988265.tar.gz

@jiten123321 Can you add the crash report to this issue?

Probably fixed by #6036, attach the crash report to reopen the issue.


[FEATURE]: allow creating enums in non-default schemas

Describe what you want
Currently, enums can be only created in the default schema

Gm, this PR seems to be linked to the issue I've created some time ago.
https://github.com/drizzle-team/drizzle-orm/issues/669
The issue can be closed once this is merged. 🙏

Closing as duplicate of #669


fix(test): actually test kong version output

closing in favor of https://github.com/Kong/kong-build-tools/pull/631


[#1665] Failed test after rerun would impact next test case result using the same data provider

Fixes #1665  .

Hello @krmahadevan and @juherr, could you please review it again? I have fixed all the comments.
Thanks.


Improve reference to examples

The main documentation page refers to examples in general in a somewhat vague manner.

Affects 0.1.9.


Godot Incorrect Trimesh Collision Shape Warning

Godot version
4.1.2
System information
Godot v4.1.2.stable - macOS 14.0.0 - Vulkan (Forward+) - integrated Apple M1 - Apple M1 (8 Threads)
Issue description
When creating a trimesh collision shape from a MeshInstance3D, a warning is given explaining that the scale should be uniform for it to work properly. I have tested this and the collision shape works properly and it will not work if I make all dimensions equal. This warning is incorrect and can be misleading although it may be correct in other situations.
Steps to reproduce

Create a MeshInstance3D
Add a StaticBody3D as the parent to the MeshInstance3D
Add a trimesh as a sibling to the MeshInstance3D
View the incorrect warning

Minimal reproduction project
N/A

Do you mean this warning:

A non-uniformly scaled CollisionShape3D node will probably not function as expected.
Please make its scale uniform (i.e. the same on all axes), and change the size of its shape resource instead.

How have you confirmed that there's no problems with this? Have you tried every situation?
The warning, assuming it's the one above, doesn't say it will not ever work, but warns that it isn't guaranteed to work, this is, as far as I know, correct, so the warning isn't incorrect

Currently, my scale is 20x1x20 as shown in the photo below where the trimesh collision shape is properly covering the mesh.

When I change the scale to 20x20x20, it stretches and no longer collides correctly.

Is the scale of the original model also 20x1x20?

Yes, should I change the scale to something else when I designed it in Blender?

You shouldn't make the models you're going to use have to be scaled when you use them
Back to the original question:
How did you confirm that nothing is broken when scaled non uniformly?

When running my scene, the collision has no problems with my player so it has been working despite non uniform scale.

That's not really enough to claim that the warning is incorrect though, right?

I agree, the warning is fully incorrect, but I believe that it should be able to be dismissed because my scene is properly working. Could you clarify, is the warning saying to make the CollisionShape3D uniformly scaled but the MeshInstance3D potentially uniformly scaled if needed?

I don't know I asked above what warning it was, but if it is the warning I asked you to confirm them it says that it's the collision shape

Sorry, I forgot to confirm, the warning is the one you mentioned above:

A non-uniformly scaled CollisionShape3D node will probably not function as expected.
Please make its scale uniform (i.e. the same on all axes), and change the size of its shape resource instead.

Then yes, it says "CollisionShape3D" right there :)

I agree, the warning is partially incorrect

How can it be partially incorrect? It doesn't say "it never works"

I think before showing the warning, maybe it could be checked to see if the MeshInstance and CollisionShape have the same scale because in that case, it should work as expected. I do not think the message was incorrect but when it showed up was incorrect.

No that's not how it works, it isn't about the mesh, it's about how scaled shapes might not work right with the physics, it doesn't have anything to do with the model
It isn't saying "it might not match your mesh" it says "the physics engine might not work right for scaled shapes"

Sorry for the misunderstanding, should I close this issue?

No problems, indeed as this warning is relevant

See the documentation for more details


feat: auto select active label on new snippet

Implements #1153

Codecov Report

Merging #1321 (4e28043) into master (d24b2a6) will decrease coverage by 1.11%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master    #1321      +/-   ##
==========================================
- Coverage   44.40%   43.28%   -1.12%
==========================================
  Files          57       58       +1
  Lines         750      804      +54
  Branches       48       54       +6
==========================================
+ Hits          333      348      +15
- Misses        409      448      +39
  Partials        8        8

Impacted Files
Coverage Δ

...pp/modals/snippet-modal/snippet-modal.component.ts
39.21% <66.66%> (+6.60%)
:arrow_up:

src/app/state/snippet/snippet.state.ts
20.40% <100.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


IPv6 cluster debug; Run Kernel2Wireguard2Kernel testcase only

This is just a debug PR to test with IPv6

I think to test IPv6 with these fixes - https://github.com/networkservicemesh/deployments-k8s/issues/5775 - you need to manually change the integration-tests version in go.mod file (latest is github.com/networkservicemesh/integration-tests v0.0.0-20220524090003-444aae15e1ec). integration-k8s-kind is not updated at this time due to test instability


argument set() must by type of string - cannot agree

set should accept at least NULL | int | string
UPDATE x SET a = NULL ...
UPDATE x SET a = 100
UPDATE x SET a = 'aaa'

I'll merge but to be fair, due to the nature of PHP - all of those items you show, null, int, and string get typecast during that method, I believe.


[BugFix] ALTER MATERIALIZED VIEW statement will change

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #11632
Problem Summary(Required) ：

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

we don't need set next schedule time, if start time less than current time when creating mv, task will run once immediately.

[FE PR Coverage Check]
:heart_eyes: pass : 8 / 10 (80.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/alter/Alter.java
2
3
66.67%
[295]

:large_blue_circle:
com/starrocks/scheduler/TaskBuilder.java
6
7
85.71%
[87]

[FE PR Coverage Check]
:heart_eyes: pass : 27 / 29 (93.10%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/alter/Alter.java
2
3
66.67%
[295]

:large_blue_circle:
com/starrocks/scheduler/TaskBuilder.java
9
10
90.00%
[87]

:large_blue_circle:
com/starrocks/common/util/TimeUtils.java
16
16
100.00%
[]

starrocks_be_unittest succeeded.

starrocks_be_unittest succeeded.

redirect to new pr：https://github.com/StarRocks/starrocks/pull/12590


Inconsistencies in our css

CSS-stats shows that we have quite a few inconsistencies in our won.css: e.g. almost identical colors, too many font-sizes (should be 6 max), an interesting array of z-indices, relatively high specificity, almost identical media queries, and a few spacing-reset.
We should work through these to improve the quality of our SCSS-codebase and improve maintainability.

We are working on that


Implemented different cursors for different tools.

As of right now, there are no defaults set when first starting the application. The cursors changing does not always work on my machine, this behaviour will not be ideal for some users, this is why by default there will be no cursor changes (one has to add the desired cursors in the configuration directory).

closes #4


Annotate fields for inclusion/exclusion in toString and EqualsHashCode

Migrated from Google Code (issue 50)

Working on it: https://github.com/rzwitserloot/lombok/wiki/FEATURE-IDEA:-Annotation-based-Include-Exclude-for-ToString,-EqualsAHC,-etc


How can i use it with SystemJS

What should i add to SystemJS.Config.js file?

In Angular 5 there is no need in SystemJS


Crash Bug: Clean install of node (latest) and phonegap fails

install fails due to wrong subtree initialization on /use/local/lib/node_modules/phonegap/node_modules/cordova
specifically cordova_lib is not installed in the subtree and causes module.js to throw an error in index.js
 /usr/local/lib/node_modules/phonegap on git:master o [15:48:16]
 $ phonegap

 module.js:340
     throw err;
           ^
 Error: Cannot find module '../../node_modules/cordova/node_modules/cordova-lib'
     at Function.Module._resolveFilename (module.js:338:15)
     at Function.Module._load (module.js:280:25)
     at Module.require (module.js:364:17)
     at require (module.js:380:17)
     at Object.<anonymous> (/usr/local/lib/node_modules/phonegap/lib/cordova/index.js:16:26)
     at Module._compile (module.js:456:26)
     at Object.Module._extensions..js (module.js:474:10)
     at Module.load (module.js:356:32)
     at Function.Module._load (module.js:312:12)
     at Module.require (module.js:364:17)

temporary fix:
do npm install cordova-lib inside cordova/ to add cordova-lib under node_modules

I have the same issue o windows8 and I did the temporary fix... that did nothing.

same problem here with windows 10. the fix did nothing too.

Did this on ubuntu 15.04, I see cordova-lib under node_modules, yet I still get the same error. Hence the fix doesn't seem to work.

I'm having trouble reproducing this issue on Windows 7, 8, 8.1. I've yet to try Windows 10 or Ubuntu.
What version of node.js and npm are you guys using?
node --version
npm --version

Thanks!

I was using node 4.0.0 with the default npm belonging to that version, I don't recall the exact version number.
Now I'm using node v0.12.7 with npm v2.11.3 and the problem disappeared.
This solved the problem for me on both Ubuntu and on OS/X. The node 4.0.0 installation was a fresh one installed via NVM, yet I got this problem, so I have the impression that this problem might be connected to the nodejs or npm version. As I said: on 0.12.7 it works all fine.

Hey,
same issue when using phonegap command
module.js:338
    throw err;
    ^

Error: Cannot find module '..\..\node_modules\cordova\node_modules\cordova-lib'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (C:\Users\Flo\AppData\Roaming\npm\node_modules\phonegap\lib\cordova\index.js:16:26)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

node --version
v4.1.0
npm --version
2.14.3
unbuild and updated cordova and phonegap npm packages
did not help

installed<EMAIL_ADDRESS>- now it works again -> bug in new package

same here
npm 3.3.4
node v0.10.40

installing 5.1.1 does not even work, in my case probably has to do with new npm version or because of a clean install (global one does not have but I did not re-install that one with the new npm)

I'm just working through recreating this bug.
My test scenario is:
rm -rf ~/.npm
npm install -g phonegap
phonegap
phonegap create my-app

The following environments work:
<EMAIL_ADDRESS><EMAIL_ADDRESS>---
<EMAIL_ADDRESS><EMAIL_ADDRESS># matching pharindoko npm version
---
<EMAIL_ADDRESS># official release on nodejs.org
<EMAIL_ADDRESS># npm version shipping with latest node

The following produces an npm ERR! code 1 message:
<EMAIL_ADDRESS><EMAIL_ADDRESS>
The error is solved by running a cache clean:
npm cache clean
npm install -g phonegap

At this point, I am able to reproduce the error mentioned above:
$ phonegap
module.js:338
    throw err;
    ^

Error: Cannot find module '../../node_modules/cordova/node_modules/cordova-lib'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/phonegap/lib/cordova/index.js:16:26)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

$ node --version
v4.1.0

$ npm --version
3.3.3

The error is that the PhoneGap CLI cannot find the cordova-lib module. In past version of node, the node_modules hierarchy was a straight-forward tree. However, to reduce the excessive directory depth causing pathing issues (especially on Windows), npm has became a little smarter by flatting the node_modules whenever possible. You can read more about npm flattening under the 'Flat, flat, flat!' release notes.

I've published<EMAIL_ADDRESS>which should add support for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>It also has backwards compatibility for previous version of node and npm.
Thanks for giving me a heads up about this issue! If you continue to have problems, please let me know.

The issue still remain

@VanVan thanks for the heads up.
What is your node.js and npm versions?
What is your operating system?
The above error message looks odd: '....\node_modules\cordova-lib'. Did you copy & paste it or handwrite it. That path should be generated by node, but it is invalid. It should be: '..\..\node_modules\cordova-lib'

@mwbrooks You can find my version below :
(Windows7 x64)
{ toonyou: '1.0.0',
  npm: '2.14.3',
  ares: '1.10.1-DEV',
  http_parser: '2.5.0',
  modules: '46',
  node: '4.1.0',
  openssl: '1.0.2d',
  uv: '1.7.4',
  v8: '<IP_ADDRESS>',
  zlib: '1.2.8' }

NB: I edited the cordova path on my last post.

Did a clean install and does not work
Mac 10.10.5
{ npm: '3.3.3',
  ares: '1.9.0-DEV',
  http_parser: '1.0',
  modules: '11',
  node: '0.10.40',
  openssl: '1.0.1p',
  uv: '0.10.36',
  v8: '<IP_ADDRESS>',
  zlib: '1.2.8' }

somehow my global install does work...

having the same issues
▶ phonegap
module.js:338
    throw err;
          ^
Error: Cannot find module '../../node_modules/cordova-lib'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/phonegap/lib/cordova/index.js:23:26)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

node version 0.12.6
npm version 2.14.4
mac osx 10.10.2

I do have the same problem:
module.js:340
throw err;
^
Error: Cannot find module '../../node_modules/cordova-lib'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/usr/local/lib/node_modules/phonegap/lib/cordova/index.js:23:26)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
node -v
v4.0.0
npm --version
2.14.2
:(

Same here
Mac OS X 10.10.5

❯ node -v
v2.5.0

❯ npm -v
2.13.2

i solve it a while ago
i installed nvm and then installed a new version of node
<EMAIL_ADDRESS><EMAIL_ADDRESS>and reinstalled phonegap

@jaryroxas probably the older npm version fixes it
@mwbrooks why not list cordova-lib as a dependency and just require it? (quick thought)

i installed nvm and then installed a new version of node
<EMAIL_ADDRESS><EMAIL_ADDRESS>But i still have the same issue:
$ phonegap create myApp
module.js:338
throw err;
^
Error: Cannot find module '../../node_modules/cordova-lib'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object. (/home/coco/.nvm/versions/node/v0.12.7/lib/node_modules/phonegap/lib/cordova/index.js:23:26)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)

Same issue for me with newly installed versions of Node on Windows 8:
<EMAIL_ADDRESS><EMAIL_ADDRESS>I regressed to Phonegap v5.1.1 to get it working:
npm remove -g phonegap
npm install -g<EMAIL_ADDRESS>

To resolve the issue, yes, we can use to phonegap 5.1.1 or use node 0.12.7
The main problem is that Phonegap 5.3.2 doesn't work with node 4.x
Waiting for a Phonegap fix from @mwbrooks :)

I fix it installing cordova instead.

For for the info everyone. A few members on my team have also had the issue, which has helped since I've had trouble recreating it on my own system.
Currently, it appears to be caused by nvm and more recent version of npm (>=2.x.x).
@AdriVanHoudt adding cordova-lib as a dependency would partially solve the problem. However, the PhoneGap CLI uses the  Cordova CLI to delegate all commands, so including the LIB would double the package size. However, a while ago we added an export to Cordova CLI to expose the LIB, so I can now update our code to use it instead of the path look up. Unfortunately, we also use a private function to list platforms, so I'll need to find a way to continue to support that.
I'm working on a patch that can help. Sorry for the trouble.

Hi all,
I've publish an update that should help<EMAIL_ADDRESS>npm install -g phonegap

Please install the latest update and let me know how it goes! The issue appears to be related to some recent updates to npm (>= 2.x.x) and nvm. Package dependencies are not longer as predictable, so the PhoneGap CLI cannot easily infer the cordova-lib location. This is okay, since the PhoneGap CLI was breaking the rules :) I believe my latest update should help align everything more cleanly.
If the problem persists, then please try clearing your npm cache and reinstalling:
npm cache clean
npm install -g phonegap

If the problem persists, please post the following information to help me better recreate the issue:

node.js version: node -v
npm version: npm -v
Are you using nvm?

@mwbrooks Thank you for the quick fix, it works with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

@VanVan :beers: Thanks for the patience and staying involved in the testing!

I was having the issue with cordova-lib just a moment ago and this has fixed it for me with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

@joseph-roque You need to check with phonegap --version that you use version 5.3.4 or do a npm install -h phonegap

Awesome. It's working :+1:

did a rm -rf node_modules then a npm clean cache and then a npm i and now I get
/bin/sh: /Users/adri/Projects/.../Project/node_modules/phonegap/node_modules/.bin/cordova: No such file or directory

@AdriVanHoudt Hmm... now you have me concerned that others are having the same error as you.
Can you try to install it globally rather than locally?
npm install -g phonegap

You still running npm 3.3.3 and node 0.10.x?

yes I am and fear that will break my global install and then I can't continue work :/
I updated to new npm version (should not change anything), and to v5.3.5
Same problem :(

Hi @AdriVanHoudt,
I think I'll need a more specific example of how you are installing and using the PhoneGap CLI, if it is not a global installation. Your steps above don't translate to a full use-case because I don't understand what node_modules directory you removed and how you are running the PhoneGap CLI locally.
If you note your current global PhoneGap CLI version, then you can always globally downgrade if there is an issue. You may need to use npm clean cache if there are issues.
I'll try to look deeper into the way that phonegap/.bin/cordova is used to see if I can find an issue.

I run
phonegap create -d App --copy-from ./build --id 'org.org1.sample' --name 'App' && cd App && phonegap platform add android && phonegap build --debug && phonegap run -d android --device locally as an npm script
And all my comments are about local use

Hey @AdriVanHoudt,
Awesome, thanks for the details. I've been able to recreate your issue and I'm looking into it now.
To recreate the issue, I did:
$ mkdir sample-app
$ cd sample-app/
$ npm init .
$ npm install phonegap --save

Add the following to package.json:
"scripts": {
  "android": "phonegap create -d App --id 'org.org1.sample' --name 'App' && cd App && phonegap platform add android && phonegap build --debug && phonegap run -d android --device"

$ npm run android
...
/bin/sh: /Users/mwbrooks/Development/sandbox/sample-app/node_modules/phonegap/node_modules/.bin/cordova: No such file or directory
...

@AdriVanHoudt,
Please try updating your local install to use<EMAIL_ADDRESS>and let me know how it goes!
Cheers,
Michael

that works! @mwbrooks thanks for the efforts!

Awesome @AdriVanHoudt!

Hello @mwbrooks , I have the same issue when I'm trying to build android. I fix it changing the path:
instead of export ANDROID_HOME="/home/coco/android-sdk-linux/tools
I put export ANDROID_HOME="/home/coco/android-sdk-linux/
And with this new path I can build the app without erros.
But, now I cannot run the android sdk or avd, because the path is wrong.
My question is, may i put 2 path? How can i do it?
Thanks Bye

Hi @cocodelacueva,
You can use both paths to help fix your issue. Here is what my setup looks like on OS X (use your ANDROID_HOME on Linux):
# Android
export ANDROID_HOME=/Applications/android-sdk-macosx/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

plz prefer me ..which version want used in window 10..
npm and phonegap nd node.js

tell me version
node@?
npm@?
nd
PhoneGap@?..
currently used =>
<EMAIL_ADDRESS>x64.msi
<EMAIL_ADDRESS>and
when i am installing the PhoneGap Globally Than its occured Error 1 And not installed Propery bcs When we check the Command >>"phonegap create  help " its shows
error like this ----
$ phonegap
module.js:338
throw err;
^
Error: Cannot find module '../../node_modules/cordova/node_modules/cordova-lib'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:286:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object. (/usr/local/lib/node_modules/phonegap/lib/cordova/index.js:16:26)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)

Had the same problem, last version is working now with phonegap (OSX 10.11.3, phonegap 5.4.1, npm 3.3.12) but any direct cordova command still throws err; (Cannot find module 'cordova-common'). Confusing...
Thanks for your efforts.

Hello,
I'm having the same error
npm -v
1.3.10

and
node -v
v0.10.25

The error I'm receiving:
module.js:340
    throw err;
          ^
Error: Cannot find module 'bplist-parser'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js:20:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

Thanks

There is a good solution by erenthegreat here:
https://forum.ionicframework.com/t/error-cannot-find-module-bplist-parser/38551/4.
Quote:
fixed it by installing missing components manually.
sudo npm install -g bplist-parser
sudo npm install -g minimatch
sudo npm install -g inherits
sudo npm install -g path-is-absolute
sudo npm install -g inflight
sudo npm install -g once

i also had the same issue. installed missing components one by one manually.

@devartstudio solution -  install missing components manually-  worked for me


Don't modify original condition for s3 generate_presigned_post

Fixes https://github.com/boto/boto3/issues/1103

Codecov Report

Merging #2061 into develop will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop    #2061      +/-   ##
===========================================
- Coverage    93.08%   93.05%   -0.03%
===========================================
  Files           60       60
  Lines        10991    10993       +2
===========================================
- Hits         10231    10230       -1
- Misses         760      763       +3

Impacted Files
Coverage Δ

botocore/signers.py
98.13% <100.00%> (+0.01%)
:arrow_up:

botocore/credentials.py
98.53% <0.00%> (-0.34%)
:arrow_down:

Continue to review full report at Codecov.

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


Documentation about element  exists but isn't linked with explaining article

Request type

[ ] Correction or update

Details

@metamored what page would you like linked with what other page? The exact URLs would be helpful. Thanks!


Fix docker repo

In ubuntu 16.04 command not detect the distro and when you go to update give 404 error.

/assign @heckj


SQL Templates drop-down lists don't work for SQLite

System information:

Operating system (distribution) and version Win10
DBeaver version 21.1.2

Connection specification:

Database name and version SQLite

Steps to reproduce, if exist:

In SQL editor press Ctrl + Alt + Space
Select any template with variable table or column name.

Expected: Drop-down list of available tables or columns appear
Actual: No suggestions. Have to delete table and type manually or with basic autocomplete.

Verified


Android: Support EncryptedSharedPreferences

Criteria:

add support for EncryptedSharedPreferences
Capacitor 5 still supports API Level 22, but EncryptedSharedPreferences need API Level 23, so we need to support the old implementation on unsupported devices
think about auto migration from old storage to EncryptedSharedPreferences on supported devices

I went through the code and the requirements and my estimation is 16 hours.
I think there would be know extra step for the migration other than the new plugin install.


How to fix 'Could not install typings files for JavaScript language features' ?

VSCode Version: 1.13.1
OS Version: Windows 10

Please look at:
https://stackoverflow.com/questions/44717071/visual-studio-code-could-not-install-typings-files-for-javascript

Sorry, but this is not the right place for questions. Please post questions over at StackOverflow: http://stackoverflow.com/questions/tagged/vscode
Thanks for understanding.


CursorModeCaptured doesn't clamp the cursor, but lets it go off forever

My expectation of ebiten.SetCursorMode(ebiten.CursorModeCaptured) was that the cursor would be "clamped" to the window. So for example, if I set the window size to 1280x720, then the minimum position of the cursor would be 0,0 and the maximum position of the cursor would be 1280,720.
However what I observe is that I can just keep moving the mouse to move the cursor position indefinitely, below 0,0 and and (in the example) beyond 1280,720.
This is when running the game in a window, on Windows, if that matters. Interestingly, when running full-screen, the CursorModeHidden does "clamp" the cursor correctly, while CursorModeCaptured again allows to move the mouse cursor indefinitely.
My intention was to hide the cursor and implement my own using a custom image, and have the cursor clamped to the screen so that the player cannot accidentally click outside the window. With CursorModeCaptured however that's not possible, as described above, and with CursorModeHidden as documented the cursor is allowed to be moved outside of the window.
If the above is the intended behaviour, please regard this issue as a feature request to provide a "clamped" cursor mode. :)

Clamping the cursor position is not intended from the first. I'm not sure whether this is possible on GLFW, but let me check.
CC @zacharyburkett


Daedalus 0.10.1 develop merge

This PR CHANGES.
Merges hotfix changes into develop
Todo:

[ ] Todo
[ ] Todo
[ ] Todo

Screenshots:

Screenshot

Review Checklist:
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (npm run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (npm run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (npm run package / CI builds)
[ ] There are no flow errors or warnings (npm run flow:test)
[ ] There are no lint errors or warnings (npm run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running npm run manage:translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (npm run storybook)
[ ] In case of npm dependency changes both package-lock.json and yarn.lock files are updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

Per @nikolaglumac This should not be merged until after the hotfix is officially released.

Closing this one unmerged as I will open a new one PR (with fresh release/0.10.1 branch) instead...

This is the new PR: https://github.com/input-output-hk/daedalus/pull/974


Relational DB interface, 5th edition

Relational Database Interface
Here are main principles of Relational DB interface:

All SQL hard code is in the files described below in Files section.
No hard-coded SQL should be added to any other file in rippled, except related
to tests for specific SQL implementations.
Pure interface class RelationalDBInterface can have several
implementations for different relational database types.
For future use, if the node database is absent, then shard databases will
be used.

Configuration
Section [relational_db] of the configuration file contains parameter
backend. The value of this parameter is the name of relational database
implementation used for node or shard databases. At the present, the only valid
value of this parameter is sqlite.
Files
The following source files are related to Relational DB interface:

ripple/app/rdb/RelationalDBInterface.h - definition of main pure class of
the interface, RelationalDBInterface;
ripple/app/rdb/impl/RelationalDBInterface.cpp - implementation of static
method init() of the class RelationalDBInterface;
ripple/app/rdb/backend/RelationalDBInterface_sqlite.cpp - implementation
of RelationalDBInterface-derived class for the case of sqlite databases;
ripple/app/rdb/backend/RelationalDBInterface_postgres.cpp - implementation
of RelationalDBInterface-derived class for the case of postgres databases;
ripple/app/rdb/RelationalDBInterface_global.h - definitions of global
methods for all sqlite databases except of node and shard;
ripple/app/rdb/impl/RelationalDBInterface_global.cpp - implementations of
global methods for all sqlite databases except of node and shard;
ripple/app/rdb/RelationalDBInterface_nodes.h - definitions of global
methods for sqlite node databases;
ripple/app/rdb/impl/RelationalDBInterface_nodes.cpp - implementations of
global methods for sqlite node databases;
ripple/app/rdb/RelationalDBInterface_shards.h - definitions of global
methods for sqlite shard databases;
ripple/app/rdb/impl/RelationalDBInterface_shards.cpp - implementations of
global methods for sqlite shard databases;
ripple/app/rdb/RelationalDBInterface_postgres.h - definitions of internal
methods for postgres databases;
ripple/app/rdb/impl/RelationalDBInterface_postgres.cpp - implementations of
internal methods for postgres databases;

Classes
The main class of the interface is class RelationalDBInterface. It is defined
in the file RelationalDBInterface.h. This class has static method init()
which allow to create proper RelationalDBInterface-derived class specified
in the config. All other methods are pure virtual. These methods do not use
database as a parameter. It assumed that implementation of class derived from
RelationalDBInterface holds all database pointers inside and uses appropriate
databases (nodes or shards) to get return values required by each method.
At the present, there is are implementations of the derived class -
class RelationalDBInterfaceSqlite for sqlite database (it is located in the
file RelationalDBInterface_sqlite.cpp) and
class RelationalDBInterfacePostgres for postgres database (it is located in
the file RelationalDBInterface_postgres.cpp)
Methods
There are 3 types of methods for SQL interface:

Global methods for work with all databases except of node. In particular,
methods related to shards datavases only. These methods are sqlite-specific.
They use soci::session as database pointer parameter. Defined and
implemented in files RelationalDBInterface_global.* and
RelationalDBInterface_shard.*.

Global methods for work with node databases, and also with shard databases.
These methods are internal for RelationalDBInterfaceSqlite implementation of
class RelationalDBInterface. They use soci::session as database pointer
parameter. Defined and implemented in files RelationalDBInterface_nodes.*.

Virtual methods of RelationalDBInterface class. Calling such a method
resulted in calling corresponding method from RelationalDBInterface-derived
class. For derived class RelationalDBInterfaceSqlite such a method try to
retrieve information from node database, and if this database not exists - then
from shard databases. For both node and shard databases, calls to global
methods of type 2) performed.

Methods lists
Type 1 methods
Files RelationalDBInterface_global.*
Wallet DB methods:
makeWalletDB
makeTestWalletDB
getManifests
saveManifests
addValidatorManifest
getNodeIdentity
getPeerReservationTable
insertPeerReservation
deletePeerReservation
createFeatureVotes
readAmendments
voteAmendment

State DB methods:
initStateDB
getCanDelete
setCanDelete
getSavedState
setSavedState
setLastRotated

DatabaseBody DB methods:
openDatabaseBodyDb
databaseBodyDoPut
databaseBodyFinish

Vacuum DB method:
doVacuumDB

PeerFinder DB methods:
initPeerFinderDB
updatePeerFinderDB
readPeerFinderDB
savePeerFinderDB

Files RelationalDBInterface_shards.*
Shards DB methods:
makeShardCompleteLedgerDBs
makeShardIncompleteLedgerDBs
updateLedgerDBs

Shard acquire DB methods:
makeAcquireDB
insertAcquireDBIndex
selectAcquireDBLedgerSeqs
selectAcquireDBLedgerSeqsHash
updateAcquireDB

Shard archive DB methods:
makeArchiveDB
readArchiveDB
insertArchiveDB
deleteFromArchiveDB
dropArchiveDB

Type 2 methods
Files RelationalDBInterface_nodes.*
makeLedgerDBs
getMinLedgerSeq
getMaxLedgerSeq
deleteByLedgerSeq
deleteBeforeLedgerSeq
getRows
getRowsMinMax
saveValidatedLedger
getLedgerInfoByIndex
getOldestLedgerInfo
getNewestLedgerInfo
getLimitedOldestLedgerInfo
getLimitedNewestLedgerInfo
getLedgerInfoByHash
getHashByIndex
getHashesByIndex
getHashesByIndex
getTxHistory
getOldestAccountTxs
getNewestAccountTxs
getOldestAccountTxsB
getNewestAccountTxsB
oldestAccountTxPage
newestAccountTxPage
getTransaction
DbHasSpace

Type 3 methods
Files RelationalDBInterface., backend/
init
sweep
getMinLedgerSeq
getTransactionsMinLedgerSeq
getAccountTransactionsMinLedgerSeq
getMaxLedgerSeq
getCompleteLedgers
getValidatedLedgerAge
deleteTransactionByLedgerSeq
deleteBeforeLedgerSeq
deleteTransactionsBeforeLedgerSeq
deleteAccountTransactionsBeforeLedgerSeq
getTransactionCount
getAccountTransactionCount
getLedgerCountMinMax
saveValidatedLedger
writeLedgerTx
getLedgerInfoByIndex
getNewestLedgerInfo
getLimitedOldestLedgerInfo
getLimitedNewestLedgerInfo
getLedgerInfoByHash
getHashByIndex
getHashesByIndex
getHashesByIndex
getTxHashes
getTxHistory
getOldestAccountTxs
getNewestAccountTxs
getOldestAccountTxsB
getNewestAccountTxsB
oldestAccountTxPage
newestAccountTxPage
oldestAccountTxPageB
newestAccountTxPageB
getAccountTx
locateTransaction
getTransaction
ledgerDbHasSpace
transactionDbHasSpace
getKBUsedAll
getKBUsedLedger
getKBUsedTransaction

Just wanted to chime in and say I agree with a lot of the things that @seelabs is saying. Let's eliminate all output params, and just use std::optional, std:variant and structs. In most cases, the compiler will use copy elision and return value optimization to make returning just as efficient as passing in an out param. And even when the compiler doesn't do this, it usually doesn't really matter all that much, and I prefer code readability/maintainability over the small performance gain. Unless there is a really good reason, let's actually return the result of the function.
I also agree that any pair or tuple where the elements are the same type should be a struct instead of pair/tuple; it's hard to determine what each element represents and too easy to accidentally swap the values.

I am wondering if there is a better name than SQLInterface. The implementation doesn't actually have to use SQL, so maybe a more generic name would be better.

I've been keeping a fraction of an eye on this pull request.  At this point I think that @seelabs and @cjcobb23 are doing a really thorough job with the code review.  I'm inclined to withdraw from the code review unless there are specific skills of mine that you are interested in, @cdy20.  Let me know if that's okay.

I've been keeping a fraction of an eye on this pull request. At this point I think that @seelabs and @cjcobb23 are doing a really thorough job with the code review. I'm inclined to withdraw from the code review unless there are specific skills of mine that you are interested in, @cdy20. Let me know if that's okay.

Ok, thanks.

I am wondering if there is a better name than SQLInterface. The implementation doesn't actually have to use SQL, so maybe a more generic name would be better.

I think that the interface is mostly belongs to SQL since you in another comment above recommend to use SQL-related section of config file for backend parameter for this interface.

I am wondering if there is a better name than SQLInterface. The implementation doesn't actually have to use SQL, so maybe a more generic name would be better.

I think that the interface is mostly belongs to SQL since you in another comment above recommend to use SQL-related section of config file for backend parameter for this interface.

I would prefer using Relational Database instead of SQL, for the interface name and the config section. Something like RelationalDatabaseInterface or RelationalDBInterface. This interface is not specific to SQL, so I don't like using SQL in the name.

I would prefer using Relational Database instead of SQL, for the interface name and the config section. Something like RelationalDatabaseInterface or RelationalDBInterface. This interface is not specific to SQL, so I don't like using SQL in the name.

Done.

:+1: Thanks for all the hard work on this!

Codecov Report

Merging #3590 (4ebb1da) into develop (0b4e34b) will not change coverage.
The diff coverage is n/a.

@@       Coverage Diff       @@
##   develop   #3590   +/-   ##
===============================
===============================

Continue to review full report at Codecov.

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

Depends on #3696

I have to review and test the changes to the postgres code. At first glance, the code seems fine. But this shouldn't be merged until I can review and test the most recent changes. I will get this done ASAP.

Rebasing over b11 is done, but moving postgres code to separate file is still in process and will be continued.

I have to review and test the changes to the postgres code. At first glance, the code seems fine. But this shouldn't be merged until I can review and test the most recent changes. I will get this done ASAP.

Rebasing over b11 is done, but moving postgres code to separate file is still in process and will be continued.

I have to review and test the changes to the postgres code. At first glance, the code seems fine. But this shouldn't be merged until I can review and test the most recent changes. I will get this done ASAP.

Rebasing over b11 is done, but moving postgres code to separate file is still in process and will be continued.

Ok, let me know when moving the postgres code is done and then I will review.

I have to review and test the changes to the postgres code. At first glance, the code seems fine. But this shouldn't be merged until I can review and test the most recent changes. I will get this done ASAP.

Rebasing over b11 is done, but moving postgres code to separate file is still in process and will be continued.

Ok, let me know when moving the postgres code is done and then I will review.

Ok, let me know when moving the postgres code is done and then I will review.

I have done some stuff. Created RelationalDBInterfacePostgres class and moved some postgres methods under it. Other postgres methods moved to the file RelationalDBInterface_postgres. But I am not sure, are the following integration steps necessary now. For example, I can move pgPool_ from Application to RelationalDBInterfacePostgres and add some new methods to RDB Interface such as getCompleteLedgers(), getValidatedLedgerAge() and so on.

Ok, let me know when moving the postgres code is done and then I will review.

Code is ready for review.

Code is ready for review.

Do you still have access to the "pre-squashed" commit history? (Maybe via git reflog.) If so, could you rebuild it so that the original single commit that we previously approved is unchanged, and the more recent changes (i.e. postgres) are in one or more [FOLD] commits?
This PR adds nearly 9000 lines of code, and asking reviewers to basically start over scratch is a very big ask.

Do you still have access to the "pre-squashed" commit history? (Maybe via git reflog.) If so, could you rebuild it so that the original single commit that we previously approved is unchanged, and the more recent changes (i.e. postgres) are in one or more [FOLD] commits?
This PR adds nearly 9000 lines of code, and asking reviewers to basically start over scratch is a very big ask.

It's just rebase on b11 (as Carl presents it). But rebase of single commit is single commit.

Do you still have access to the "pre-squashed" commit history? (Maybe via git reflog.) If so, could you rebuild it so that the original single commit that we previously approved is unchanged, and the more recent changes (i.e. postgres) are in one or more [FOLD] commits?
This PR adds nearly 9000 lines of code, and asking reviewers to basically start over scratch is a very big ask.

It's just rebase on b11 (as Carl presents it). But rebase of single commit is single commit.

I think what @ximinez wants is for the Postgres related changes to be in their own commit, so that way those changes can be reviewed independently of the rest of the code in this PR. Most of the other code has already been reviewed, so we only need to review the Postgres related changes. It's hard to review the Postgres related changes though when everything is squashed together in one commit. I agree with Ed here, and would like to see the Postgres related changes in one or more commits by themselves, if you still have those commits.

I think what @ximinez wants is for the Postgres related changes to be in their own commit, so that way those changes can be reviewed independently of the rest of the code in this PR. Most of the other code has already been reviewed, so we only need to review the Postgres related changes. It's hard to review the Postgres related changes though when everything is squashed together in one commit. I agree with Ed here, and would like to see the Postgres related changes in one or more commits by themselves, if you still have those commits.

I found early version of PR just after rebase on b11: https://github.com/cdy20/rippled/commit/269ec3635b46423dc7ef0d30308f8494dd40421c . But rebase itself touches some postgres code so it need to be reviewed too. I don't have any pre-rebase version of PR.

I think we need to clean up this interface a bit. There are a lot of functions in RelationalDBInterface that are not implemented in one of the two derived classes. Some are only implemented in the SQLite implementation, and some are only implemented in the Postgres implementation. Since these functions are not common functions, I don't think they should be in the interface. Functions that are only implemented in one derived class and not the other should exist only in the derived class that actually implements them.

As for now, we have one pure class RelationalDBInterface and 2 derived from it for SQLite and Postgres. Derived classes have hidden implementations in cpp files. Application has link to pure class. I don't understand how can we remove some methods from pure interface and remain it in derived. What should the Application links in that case?

I think we need to clean up this interface a bit. There are a lot of functions in RelationalDBInterface that are not implemented in one of the two derived classes. Some are only implemented in the SQLite implementation, and some are only implemented in the Postgres implementation. Since these functions are not common functions, I don't think they should be in the interface. Functions that are only implemented in one derived class and not the other should exist only in the derived class that actually implements them.

As for now, we have one pure class RelationalDBInterface and 2 derived from it for SQLite and Postgres. Derived classes have hidden implementations in cpp files. Application has link to pure class. I don't understand how can we remove some methods from pure interface and remain it in derived. What should the Application links in that case?

I think in code paths where we are calling a method that is only implemented in one of the derived classes, we should just cast to that derived class. Similar to the way we cast here, though this is for the nodestore: https://github.com/ripple/rippled/blob/8defb4cd286765da87ef863b5606400aab6cf69f/src/ripple/app/ledger/Ledger.cpp#L1723
There is a method, fetchBatch that is only implemented for DatabaseNodeImp, and not the other classes that derive from Database. Therefore, fetchBatch is not part of the Database interface, and we just cast to DatabaseNodeImp when we want to use that method. I am suggesting we do the same thing in this PR for the methods that are not implemented by both of the derived classes.

I think in code paths where we are calling a method that is only implemented in one of the derived classes, we should just cast to that derived class. Similar to the way we cast here, though this is for the nodestore:
https://github.com/ripple/rippled/blob/8defb4cd286765da87ef863b5606400aab6cf69f/src/ripple/app/ledger/Ledger.cpp#L1723

Problem with this staff is that derived classes are hidden. There are no *.h files form them, only *.cpp.

I think in code paths where we are calling a method that is only implemented in one of the derived classes, we should just cast to that derived class. Similar to the way we cast here, though this is for the nodestore:
https://github.com/ripple/rippled/blob/8defb4cd286765da87ef863b5606400aab6cf69f/src/ripple/app/ledger/Ledger.cpp#L1723

Problem with this staff is that derived classes are hidden. There are no *.h files form them, only *.cpp.

Can we create some *.h files for the derived classes?

Can we create some *.h files for the derived classes?

I have an idea. We can make cascades of 3 classes: A -> B1 -> C1 and A -> B2 -> C2 where A is base class for all backends, B1 and B2 are base classes for particular backends and C1 and C2 are implementations for particular backends. Classes A, B1 and B2 are located in h files while C1 and C2 are located in cpp files. Does it work for you?

Can we create some *.h files for the derived classes?

I have an idea. We can make cascades of 3 classes: A -> B1 -> C1 and A -> B2 -> C2 where A is base class for all backends, B1 and B2 are base classes for particular backends and C1 and C2 are implementations for particular backends. Classes A, B1 and B2 are located in h files while C1 and C2 are located in cpp files. Does it work for you?

Yeah that works for me.

Yeah that works for me.

May be reviewed again.

The latest changes look good. I am going to test the changes with reporting mode really quick and then approve.

Reporting Mode is working fine. I'll approve now. Thanks for all of your hardwork on this.


Added Sky Tripping

Added Sky Tripping to the list, thanks!

Just double-checking, since you added yourself in the "Promoted by" column. Are you planning to promote your own app?

That was a mistake, thanks for catching that.


Incorporated DB setup updates

@nab-77 @coltoneshaw - My latest commit to this docs PR attempts to simplify the RHEL install docs page and align it with our new approach (parallel to Ubuntu and tarball).
Under the covers, I've turned the common steps into reusable components we can share between RHEL and tarball (since a signed package for RHEL isn't yet available), which reduces/eliminates content duplication risk.
@coltoneshaw - This latest commit also takes your updates via https://github.com/mattermost/docs/pull/6576 into account. Please review this PR to ensure that I've included all of your updates specific to RHEL installs. Right now, I believe this RHEL page is very v8 specific and may need additional updates to capture relevant v7 details. Please let me know.
@nab-77 - This latest commit includes updates to the database install page to account for @coltoneshaw's corrections specific to RHEL. I agree with your feedback that this page was too instruction-heavy and needed to be brought in line with our other simplified install pages. All feedback is welcome.
To review the changes in context using the generated preview, please visit:

Prepare your Mattermost database
Install Mattermost on RHEL
Install Mattermost Server using the tarball -- review only to ensure that reusable components display as intended.

@nab-77 @coltoneshaw - This docs PR is ready for your review.


Repository reported as containing HTML but the majority of files are Scheme

Hi,
Repository:  https://github.com/NewForester/fpl-scheme.
Summary reports that is contains HTML.  In IMHO this is a misrepresentation.
The Language Bar reports 67.0% of files are HTML, 32.8% are Scheme and 2% are CSS.  This, IMHO, is plain wrong.
The breakdown, according to the UI, is:

46 Scheme files
20 HTML files
20 Markdown files
1 CSS file
1 txt file

These tallies, IMHO, are correct.
According to my pre-Brexit but post-Imperial arithmetic, that means 52.27% of files are Scheme and even if Markdown files count as HTML, Scheme is still the democratic majority.  IMHO the repository should report itself as containing Scheme.
What have I done wrong ?

The percentages are calculated according to file sizes, not the number of files.

Linguist calculates usage stats based on filesize, not their head count.
If you click the language bar, you'll see see the language breakdown for your codebase: each of those HTML files is skewing the repository's classification.
Thankfully, there's a documented workaround. Simply add the following to a .gitattributes file in the root of your repository with the following lines:
/html linguist-documentation
/LICENCE.html linguist-documentation

This instructs Linguist to exclude them from language stats... there's more info on the link I gave you.

... ffs Lars, JUST as I was finishing... :(

Sorry, nice guys finish last.

Well I'm the angry, tactless prick of the group, so I should've finished first. 🥇

@Alhadis If you want to race him, you could use saved replies :zap:

I prefer to compete with a 150+ wpm typing speed.
Then again, it probably didn't help that my posture was so bad, my chin has handling more keystrokes than my hands were.

Thankyou @Alhadis for the .gitattributes suggestion.  Most grateful.
I tried it on the repository in question.   Nothing happen so I left it 24 hours to see if the files concerned would be re-scanned or whatever. Seems not.
Perhaps, I thought, the scanning only occurs when changes are pushed to GitHub and only files that have been changed are scanned.
I pushed the repository into one I keep for messing around with github (https://github.com/NewForester/quick-trial).  The stats showed this clone contained mostly HTML.
I then removed the HTML files and pushed a new commit.  The effect was immediate:  the repository was reported as containing Scheme.  Overwhelmingly so.  It seems Markdown does not count for anything.
I then reverted the commit and pushed again.  Sadly the effect was to revert the language statistics too.  The work around does not seem to do what I inferred you implied it would.
What else do I not yet know ?

Ah damn, I always forget to mention the caching issue.
GitHub caches usage statistics until the files are updated again: it doesn't update them whenever a .gitattributes rule is updated with a linguist-* property (although it probably should...).
Easiest fix: just push a meaningless change to an existing HTML file, and that'll force a reindexing of your repository. =)

Thanks.  I guessed there was a caching issue but it seems that it not the whole story.
I tried as you suggested by altering one of the HTML files in the subdirectory the .gitattributes file says linguist is to ignore (that is linguist with a g not a q ?).  No joy when I pushed it.
I tried altering the HTML file that is not in a subdirectory and is not to be ignored.  No joy either.
I had earlier changed .gitattributes to request the directory containing the only CSS file be ignored.  I tried changing the CSS file and pushing the commit.  Still no joy.
Here is a copy paste of:
work:quick-trial$ cat .gitattributes
/html   linguist-documentation
/styles linguist-documentation

I think everything (even the file name) is spelt the way it should be.
GitHub and Linguist are not my code so it is mine to wonder and, perhaps, yours to know. If it were my code I would be begining to wonder if it had not regressed.

Ugh, sorry, it's my fault. It should've been this:
html/*   linguist-documentation
styles/* linguist-documentation

Not sure why /html wasn't working. From the gitattributes(8) manpage:

The rules how the pattern matches paths are the same as in .gitignore files; see
gitignore(5). Unlike .gitignore, negative patterns are forbidden.

Guess GitHub (or Linguist) isn't using Git to parse these patterns...

Ah, that did the trick and without any shenanigans to flush the GitHub cache.
This is not your fault but a documentation error.  One down from user error in my experience.  At least my problem is resolved and my tail is not between my legs so I call that a win.  This is not the first time someone has claimed 'just like in git' and it isn't.  I wonder if they know what a git is.
The documentation in this area is poor.  That is ... so scant that anyone reading it will find it difficult not to read between the commits what they want to.
The GitHub help has only the brief page: About repository languages.  It makes no mention of how the statistics are calculated, merely implying that the only reason you are reading the page is because they are wrong and it passes the buck to the linguist readme file.
GitHub help does not even tell you how to find the languages statistics.  I guess it is intuitive that a systematic search of the UI will yield nothing but that a pause of a second after moving the mouse at random will eventually produce the tool-tip that reads "Click for language details".
The linguist read me is not incorrect but it does not refer to lines of code but "bytes of code"  which, I kid you not, puzzled me because I thought git and GitHub were source code repositories and not about the compiled stuff.
I took it from the context that this analysis was about deciding not to count binary blobs and stuff.  That is about deciding which files not to count so, by Occams razor, I took it that the statistics were counts of files that it decided to count.  Now that I know it isn't see that the documentation does not imply this.
This proves the documentation error point.  Documentation is not useless because no one reads it.  It is useless because no one who knows will read it (including the git who wrote it) and anyone who does not will not be able to make sense of it.
Anyway, enjoy your evening or whatever it is in your timezone.
P.S.  I'm a 140 words an hour man.
P.P.S  What is the etiquette now ?  Should I close this issue before somegit marks it as invalid ?

Congratulations, this marks the longest post-resolution response to a "wrong language" response this repository has ever received. Give yourself a pat on the back.
No need to close it yourself, I'm reaching for the button now. =)


Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric

Hi there, I've been experiencing this issue even though I change my data types to numeric when I view the dataset again it still shows  and doesn't change to numeric.

i don't think so, but could you try saving as CSV and uploading that way?

I've tried that and encountered the same problem

I do for one column that contains 0 only

can you remove that column if it's only 0s?

Still nothing

okay would you mind sending me the data file and your code so i can debug on my end<EMAIL_ADDRESS>

Let me try again from the top till the point of building the initial model


Producer Plugin should generate signatures on blocks with new all time high timestamp & blocknum

See https://github.com/EOSIO/eos/commit/59a3a887c4af3dc4a006d917ac1922a31c5f0c15 and https://github.com/EOSIO/eos/commit/1894ea2eebc101702c42e4b327bf44f760109409


Fabulous 0.41.1 LiveUpdate is not working

By creating a new project from scratch and following the LiveUpdate instructions I have uncommented
do runner.EnableLiveUpdate()

and got the following error:
The field, constructor or member 'EnableLiveUpdate' is not defined.

Thanks for the report!
Indeed, the docs are missing one step.
You need to add open Fabulous.XamarinForms.LiveUpdate at the top of the file to reference the extension method EnableLiveUpdate.

Perfect! That works

created a pull request #547


SwiftUI charts not updating correctly when embedded in TabView

There appears to be a known issue with SwiftUI Charts not updating properly when used within a TabView, particularly in iOS 17.4.
The issue occurs when multiple Chart views are generated inside a ForEach loop within a TabView. Some charts may display incorrect data that doesn't match the corresponding tab.
Tapping or dragging on the chart can sometimes trigger it to update and display the correct data
Workaround is to use the .id() modifier directly on the Chart object.
Chart {
    // Chart content
}
.id(date)

Reference: https://www.perplexity.ai/search/multiple-swiftui-charts-in-a-t-v4Y3ck2eRdiwn_Lh.w0VIw

Using the .id(date) modifier on the Chart's has resolved the specific problem I was having with 3 weather charts I was working on.

Ran into this problem again and in order to "solve" it I needed to embed the Chart with the .id attached to inside a Stack. This doesn't make sense, it likely not a good solution but it does cause the problem to disappear so... 🤷♂


add nvidia Docker setup

Description
Whisper heavily benefits from NVIDIA CUDA.
In my opinion, this project should support a setup in which GPU's are being used.
I added the following:

Dockerfile.gpu: a separate Dockerfile for people who want to use CUDA.
README.md: added the section Using NVIDIA CUDA with docker-compose
docker-compose.yml: prepared the file for people who want to use CUDA

This effectively results in GPU support for the project.
This is just a suggestion on how I would implement CUDA support for the project!
Feel free to request changes to my PR! I'm also able to test everything in regard to CUDA.
Suggestion:
The CUDA image is based on Ubuntu.
In case you like my suggested changes, it could make sense to move Dockerfile to something closer to Ubuntu -> both Dockerfiles would be more similar.
Checklist:

[ ] My code has been linted to follow the code style of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

Thanks! This is awesome. Have you tested it?

Thanks! This is awesome. Have you tested it?

I did test it!
I can confirm, that tasks are being successfully offloaded to the GPU with this setup.
Loading the model into the VRAM takes a few seconds. Once the model is loaded - the performance is amazing!
Only thing to consider:
The GPU being used needs to have enough VRAM for the model being used: https://github.com/openai/whisper#available-models-and-languages
-> it could make sense to limit the tasks being put onto the GPU by checking VRAM:
# check if NVIDIA CUDA is being used
if torch.cuda.is_available():

  # depending on the vRAM size, we can use a different model
  vram_model_map = {
    "large": 10,
    "medium": 5,
    "small": 2,
    "base": 1,
    }

    # find the best fitting model for the available GPU memory
    for model_name, vram_size in vram_model_map.items():
      if torch.cuda.get_device_properties(0).total_memory >= vram_size * 1e9:
        print(f"model {model_name} is the biggest one available on this GPU.")

When the model is being loaded, the device parameter can be used to force the usage of CPU.
Maybe I should add a the warning, that users should make sure enough VRAM is available to the README?
What do you think?

This is where we expose the available options so the user can choose model:
https://github.com/schibsted/WAAS/blob/de4f6256136c8cfa8553f7ab2251d581a14d1e10/src/main.py#L99
Maybe run the script and only expose available models? Or like you say run on CPU if GPU is not an option for the selected model.

https://github.com/schibsted/WAAS/blob/de4f6256136c8cfa8553f7ab2251d581a14d1e10/src/main.py#L99

In my opinion, whisper.available_models() is not that effective:
It lists all models whisper currently supports without checking compatibility with the hardware it's running on.
For reference:
https://github.com/openai/whisper/blob/7858aa9c08d98f75575035ecd6481f462d66ca27/whisper/__init__.py#L69
Also:
It would make sense to only expect the GPU to be exposed to the worker -> decision needs to be made there.
But:
That's a separate issue that has nothing to do with supporting GPU's 🤔
With CPU transcribing the same issue exists on systems with low amount of RAM.
Do you think I should change something about my PR? Are there any changes from my side required?
I have some experiences with CUDA & different deployments; if you need my help solving a problem in that regard, just mention me!
In my opinion, we have two separate tasks to solve:

add support for GPU's / documentation -> this PR
add checks, that make sure only options compatible to the hardware are getting executed -> affects GPU & CPU transcribing

What do you think?

Sure. Merging this. Can you look into limit the models in a separate PR?

I'm getting this error:
waas-worker-1  | /usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py:88: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:109.)
waas-worker-1  |   return torch._C._cuda_getDeviceCount() > 0

After some research this is a problem with whisper not pulling in a torch with cuda support by default. Proof:
root@ca5eaaf77749:/usr/local/lib/python3.10/dist-packages/torch# cat version.py
__version__ = '1.13.1+rocm5.2'
debug = False
cuda = None
git_version = '49444c3e546bf240bed24a101e747422d1f8a0ee'
hip = '5.2.21151-afdc89f8'

Yes. I can run nvidia-smi inside the docker without problems. Strange.

@olekenneth My system also has CUDA installed outside of Docker.
For reference: https://developer.nvidia.com/cuda-downloads?target_os=Linux
IIRC, the CUDA stuff depends on a Kernel module: you need to have installed CUDA outside of Docker as well!
The CUDA docker image is way way smaller compared to the CUDA dependencies in itself -> it still depends on those Kernel modules!
I'm not 100% sure about this, since my experiences with CUDA through Docker are a bit limited. For me, it just worked 😅

I'm getting this error:
waas-worker-1  | /usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py:88: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:109.)
waas-worker-1  |   return torch._C._cuda_getDeviceCount() > 0

After some research this is a problem with whisper not pulling in a torch with cuda support by default. Proof:
root@ca5eaaf77749:/usr/local/lib/python3.10/dist-packages/torch# cat version.py
__version__ = '1.13.1+rocm5.2'
debug = False
cuda = None
git_version = '49444c3e546bf240bed24a101e747422d1f8a0ee'
hip = '5.2.21151-afdc89f8'

I found the solution to your problem:
you need to make sure, that the image tag used in the Dockerfile matches the CUDA version you have installed on your system.
We should add this to the README!

@olekenneth that also means, that using the "latest" image could make sense.


Volume

Why:
Closes #1045
What's being changed:
Check off the following:

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

You've made a mistake and modified index-of-alphabet in this MR, this one should only refer to volume

You've made a mistake and modified index-of-alphabet in this MR, this one should only refer to volume

Actually it is showing here because other pr is not merged which contains this file.

What should I change? I am confused right now...

@SpirosArk Don't worry, everything will be ok when your other MR will be merged 👌
For the next time just think about creating a new branch from master for each programs you add, the new code you add from a MR that is not merged yet should not be in an other MR that solves an other issue

What should I change? I am confused right now...

No need to do anything now, just make sure that you include only one code in one branch e.g. in this volume branch includes changes related to volume code instead of having other files which is the alphabet.c file.

Ok, I understand. Each file commit in different branch. Thank you!

Ok, I understand. Each file commit in different branch. Thank you!

Not necessarily each file in a different branch, but we should create solutions for different programmes in different branches
So, we can put the solution file and updated README.md file in one branch and then create a PR
In this way, PR(s) are easy to review

When I update the Readme it asks me to create new branch. It does not accept to commit the change to an already existing branch. Let's say we have created earlier volume.c, when I will change the volume Readme it will prompt me to commit either on master or on another branch. This is where I mess up

When I update the Readme it asks me to create new branch. It does not accept to commit the change to an already existing branch. Let's say we have created earlier volume.c, when I will change the volume Readme it will prompt me to commit either on master or on another branch. This is where I mess up

okay, you are adding files directly to github (I thought you are committing from local)
In this case, you can create different files to different branches 👍🏻

Note Please create a new branch from master, so that PR(s) will not contain files from different PR(s)

These days I am on vacation so I commit through cell phone written scripts. When I am at my local machine I do it as I should. With puling -commiting- pushing


MRG, ENH: Allow channel names > 15 char

MATLAB half of https://github.com/mne-tools/mne-python/pull/8574. It probably makes the most sense to review and merge these two concurrently, since they have changes that are designed to be equivalent.
Ready for review/merge @agramfort

What acquisition system generates files with channel names > 15 chars?

I think that in brain vision recorder it would be possible to specify long channel names; at least the file format allows for it. EDF allows for channel names up to 16 characters.

is there an example fif file available with extended-length channel names?

For me it does not work:
>> filename = 'test_long_raw.fif';
>> fiff_define_constants;
>> info = fiff_read_meas_info(filename);

Invalid field name: 'MEG2 with a ver'.
Error in setfield (line 35)
    s.(deblank(strField)) = varargin{end};
Error in fiff_read_extended_ch_info (line 29)
            setfield(rename_struct, ch.ch_name, data);
Error in fiff_read_meas_info (line 160)
[chs, rename_struct] = fiff_read_extended_ch_info(chs, meas_info, fid);

the problem appears to be that there are spaces in the channel name.

Makes sense, though I'm not sure why it works for me locally and on CIs. Maybe a MATLAB version thing?
In any case, would you recommend using container.Map?
https://www.mathworks.com/matlabcentral/answers/113258-is-there-any-concept-like-dictionary-or-hash-talbes-in-matlab-like-in-python
My MATLAB is pretty rusty... I could brute force it probably with strcmp and two lists if necessary. Basically I need a way to map abbreviated (15 char) names to full names.

In any case, would you recommend using container.Map?

I've never used it, but it's standard Matlab after R2008b so no reason for not using it.
I would probably go for the solution with the Nx2 cell-array of strings, but I can see why a Python mind would prefer a dictionary :)

Nx2 cell array implemented, @robertoostenveld this works for me in MATLAB and Octave:
>> filename = 'test/data/test_long_raw.fif';
>> info = fiff_read_meas_info(filename);
>> info.ch_names

ans =

  1x3 cell array

    {'MEG1'}    {'MEG2 with a very long name'}    {'STI 014'}

Feel free to give it a shot!

yep,  it now also works fine on the FieldTrip side
filename = 'test/data/test_long_raw.fif';
info = fiff_read_meas_info(filename);
hdr = ft_read_header(filename);

want_names = {'MEG1', 'MEG2 with a very long name', 'STI 014'};
assert(isequal(hdr.label(:), want_names(:)));

MNE-Python PR is merged so I'll get this in, too -- thanks for testing and reviewing so quickly!

Reported in Brainstorm distribution: https://github.com/brainstorm-tools/brainstorm3/commit/cf76e9feeb605f1a0d4838afe24d7383d8d9c618
Thanks


fine tuning procedure.

Hi,
For fine tuning I often remove the top lawyer, add a small model on top of my model, freeze the base model , train the top model and then unfreeze the base model and retrain the whole thing.
In that way, large gradients of an untrained model wont mess up the pre trained model. Is that what is done here ? How the fine tuning procedure works ? I cannot see any additional layer or freezing /un freezing ... It seems that the whole thing is trained from scratch ?

Hello @Ngheissari,
In this case we start from pretrained general purpose CLIP checkpoint. All the weights from it are reused. If you check the evaluation results table here you'll see that non-tuned CLIP gives ~57% accuracy for zero-shot classification which is much better then random.
This can be considered a benefit of fine-tuning CLIP model. The pretraining and fine-tuning objectives are the same: to align image and text embeddings produced by image and text encoders respectively. The difference is: CLIP is pretrained on large multi=domain dataset and the fine-tuning is done on small remote sensing images dataset. Then we can formulate the classification task as image-text matching task for zero-shot classification (see details in the readme evaluation section and evaluation script. In this way we don't have to add extra classification layer on top of the encoder.
Experimenting with partially frozen model might be interesting as well. But this probably might have some benefit (if any with larger CLIP model. (by analogy with results reported here). This will be on our "further research" list.
Comparing zero-shot classification accuracy to one obtained when using image encoder from CLIP as feature extractor and a backbone for fine-tuning would be another future TODO.
Let us know if this answers your questions and add any extra questions or comments you have


Add snapping to fill transform when it generates a constant line

I modified test cases as well.

Current coverage is 36.51% (diff: 100%)

Merging #230 into develop will increase coverage by <.01%

@@            develop       #230   diff @@
==========================================
  Files           260        260
  Lines         14169      14173     +4
  Methods           0          0
  Messages          0          0
  Branches       2379       2379
==========================================
+ Hits           5173       5175     +2
- Misses         8274       8276     +2
  Partials        722        722

Powered by Codecov. Last update f4a176a...37eb8c9

To test this feature:

Use an expression to generate a constant line. Example: FILL(#-5h#, #-0h#, #1h#, #0m#, #100#).
The graph's timestamps should be at a uniform boundary based on the interval provided and then the offset is applied. If the above expression is run, the timestamps will be rounded to the exact hour.
If the interval is greater than the different between start and end point, there should be only 1 data point in the graph.


outube toxic comment segment using Classification #567 resolved

Description
The threat of abuse and harassment online prevent many people from expressing themselves and make them give up on seeking different opinions. In the meantime, platforms struggle to effectively facilitate conversations, leading many communities to limit or completely shut down user comments.
#576 resolved

@sanjay-kv pls sir check it #576 resolved


Task - New source from citation and New source from bibtex

Add a link on the top of the screen to the sources search, encouraging user to check if the reference exists on the database first (workaround for redundancy checker not being perfect)

new source from citation also needs a link to source hub


Minor improvements.

Coverage decreased (-0.2%) to 98.767% when pulling 9f512e2f80aa41fdf88c0987f38035ad6cb23cf6 on improvements_backport into 50d9f5e109cea4e0ab978b9bb6bf3d6d0f3e1f82 on release-candidate.


adding iteration count and rotating flag to the bench config

added iteration count based on the latency of each size,
added beta = 0
added rotating flag

Can we have some manual or help message about usage (regarding new parameters)?

@nakajee There is no change in the running command parameters. Is that what you are asking? I can add a comment to explain the output.

OK. I thought some new options were added to specify new config parameters....


HTTP/2 support

Hello,
Since HTTP/2 is out and all major browsers are supporting it or they will soon, are you considering to support it with BMP ?
Or can you provide me suggestion on where to look for ?
Thanks

HTTP/2 is one of the compelling reasons for the shift to LittleProxy. Once LittleProxy supports HTTP/2, BMP will be able to support it with (hopefully) little modification. So, long story short, BMP will support HTTP/2, but not yet. We are waiting on LittleProxy, LittleProxy is waiting on Netty, and Netty is probably already working on it (the Netty 4.1 beta already supports the latest SPDY spec).

Thank you for the information.
Hope this will come soon. :)

I'd like to keep this issue open, to track our HTTP/2 implementation status. It might not be "soon", depending on your definition of soon, but it will be as soon as possible :) Its priority will only increase as HTTP/2 usage grows.

Any ETA on this?

No ETA at this time. It's a large undertaking. Now that MITM has been released, this is the "next big thing", but it's still a few months away.

Hi.
Could you recommend what tools/libraries/etc could be used to implement browsermob like functionality, but with http2 support?
By functionality i mean to be able to run proxy server ( embedded=nice ) and intercept http1.1-http2 requests.
Is there any analogue? :/
Thanks.


Follow android conventions and apply improvements

Could you please provide more info-links to doc for 65ee10a039cc6bca7ad3509eeeda14185616f6d8?

There is an official style for xmls that can be enforced with the IDE (in editor, code style, xml, set from android) that aligns the xml according to the Google recommendations: http://blog.jetbrains.com/idea/2013/10/rearrange-attributes-in-android-xml-files-with-intellij-idea-13/

Merged, thanks!


General improvements

Shorten the key_prefix
Let's say we want to count 200K users or tokens, it implies the double of the counters (past and current minute) multiply that by 18 (key_prefix length), maybe we can use something like nrm.

(4e5 * 18)/1024^2 6MB vs 1MB (4e5 * 3)/1024^2

Uncouple ngx from measure function
It can be useful outside of nginx, we can change the function signature to also receive the current_time in seconds.
Generate docs
http://stevedonovan.github.io/ldoc/

Improvement 2 is not possible due ngx.null and redis-resty https://github.com/openresty/lua-resty-redis/issues/65


Delay event doesn't work on the first character on HTML5

Having text like
"[delay,100]Hello world"
Crashes the game, causing an out of bounds error. However doing
" [delay,100]Hello world"
Works because there is a space before the delay.

HTML5 is no longer supported