igpu

from llama_cpp import Llama
llm = Llama(
model_path="C:\Users\ArabTech\Desktop\4\phi-3.5-mini-instruct-q4_k_m.gguf",
n_gpu_layers=-1,
verbose=True,
)
output = llm(
"Q: Who is Napoleon Bonaparte A: ",
max_tokens=1024,
stop=["\n"] # Add a stop sequence to end generation at a newline
)
print(output)
n_gpu_layers=-1
n_gpu_layers=32
not work on igpu intel
how ofload model on igpu intel?

@ayttop maybe someone else knows better but for integrated graphics compiling for the Vulkan bakend may be your only option, though it may not be faster than a CPU installation.

Hi @abetlen!
I am experimenting with llama.cpp and llama-cpp-python on my Windows laptop with Intel iGPU.
I'm getting a build issue that I can't sort out yet.
I can get llama.cpp built for Intel iGPU and working with it, but when I try llama-cpp-python, (I think) it recompiles my llama.cpp for CPU by default, and if I try to make it compile for the GPU, I get a CMake error.
For context:

I got all my dependencies sorted out for CPU following: https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md
I got all my dependencies sorted out for GPU following: https://github.com/ggerganov/llama.cpp/blob/master/docs/backend/SYCL.md#windows
I tried to compile my GPU enabled llama-cpp-python with the windows version of https://github.com/abetlen/llama-cpp-python?tab=readme-ov-file#supported-backends (SYCL) => I updated it to match the content of https://github.com/ggerganov/llama.cpp/blob/master/examples/sycl/win-build-sycl.bat

When I do:
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
set CMAKE_ARGS="-DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON"
pip install -e . --verbose

I get the following error, when the test for SYCL is executed:
 Using pip 24.3.1 from C:\Users\dnoliver\AppData\Local\miniconda3\envs\poc\Lib\site-packages\pip (python 3.11)
Obtaining file:///C:/Users/dnoliver/GitHub/dnoliver/llama-cpp-python
  Running command pip subprocess to install build dependencies
  Using pip 24.3.1 from C:\Users\dnoliver\AppData\Local\miniconda3\envs\poc\Lib\site-packages\pip (python 3.11)
  Collecting scikit-build-core>=0.9.2 (from scikit-build-core[pyproject]>=0.9.2)
    Obtaining dependency information for scikit-build-core>=0.9.2 from https://files.pythonhosted.org/packages/88/fe/90476c4f6a1b2f922efa00d26e876dd40c7279e28ec18f08f0851ad21ba6/scikit_build_core-0.10.7-py3-none-any.whl.metadata
    Using cached scikit_build_core-0.10.7-py3-none-any.whl.metadata (21 kB)
  Collecting packaging>=21.3 (from scikit-build-core>=0.9.2->scikit-build-core[pyproject]>=0.9.2)
    Obtaining dependency information for packaging>=21.3 from https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl.metadata
    Using cached packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
  Collecting pathspec>=0.10.1 (from scikit-build-core>=0.9.2->scikit-build-core[pyproject]>=0.9.2)
    Obtaining dependency information for pathspec>=0.10.1 from https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl.metadata
    Using cached pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)
  Using cached scikit_build_core-0.10.7-py3-none-any.whl (165 kB)
  Using cached packaging-24.2-py3-none-any.whl (65 kB)
  Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)
  Installing collected packages: pathspec, packaging, scikit-build-core
  Successfully installed packaging-24.2 pathspec-0.12.1 scikit-build-core-0.10.7
  Installing build dependencies ... done
  Running command Checking if build backend supports build_editable
  Checking if build backend supports build_editable ... done
  Running command Getting requirements to build editable
  Getting requirements to build editable ... done
  Running command Preparing editable metadata (pyproject.toml)
  *** scikit-build-core 0.10.7 using CMake 3.31.0 (metadata_editable)
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: typing-extensions>=4.5.0 in c:\users\dnoliver\appdata\local\miniconda3\envs\poc\lib\site-packages (from llama_cpp_python==0.3.1) (4.12.2)
Requirement already satisfied: numpy>=1.20.0 in c:\users\dnoliver\appdata\local\miniconda3\envs\poc\lib\site-packages (from llama_cpp_python==0.3.1) (2.1.3)
Requirement already satisfied: diskcache>=5.6.1 in c:\users\dnoliver\appdata\local\miniconda3\envs\poc\lib\site-packages (from llama_cpp_python==0.3.1) (5.6.3)
Requirement already satisfied: jinja2>=2.11.3 in c:\users\dnoliver\appdata\local\miniconda3\envs\poc\lib\site-packages (from llama_cpp_python==0.3.1) (3.1.4)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\dnoliver\appdata\local\miniconda3\envs\poc\lib\site-packages (from jinja2>=2.11.3->llama_cpp_python==0.3.1) (3.0.2)
Building wheels for collected packages: llama_cpp_python
  Running command Building editable for llama_cpp_python (pyproject.toml)
  *** scikit-build-core 0.10.7 using CMake 3.31.0 (editable)
  *** Configuring CMake...
  2024-11-18 14:30:52,414 - scikit_build_core - WARNING - Can't find a Python library, got libdir=None, ldlibrary=None, multiarch=None, masd=None
  loading initial cache file C:\Users\dnoliver\AppData\Local\Temp\tmpe4am77ao\build\CMakeInit.txt
  -- Building for: Visual Studio 17 2022
  -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.
  -- The C compiler identification is MSVC 19.42.34433.0
  -- The CXX compiler identification is MSVC 19.42.34433.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.47.0.windows.2")
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - not found
  -- Found Threads: TRUE
  -- Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF
  -- CMAKE_SYSTEM_PROCESSOR: AMD64
  -- CMAKE_GENERATOR_PLATFORM: x64
  -- Found OpenMP_C: -openmp (found version "2.0")
  -- Found OpenMP_CXX: -openmp (found version "2.0")
  -- Found OpenMP: TRUE (found version "2.0")
  -- OpenMP found
  -- Using llamafile
  -- x86 detected
  -- Performing Test HAS_AVX_1
  -- Performing Test HAS_AVX_1 - Success
  -- Performing Test HAS_AVX2_1
  -- Performing Test HAS_AVX2_1 - Success
  -- Performing Test HAS_FMA_1
  -- Performing Test HAS_FMA_1 - Success
  -- Performing Test HAS_AVX512_1
  -- Performing Test HAS_AVX512_1 - Failed
  -- Performing Test HAS_AVX512_2
  -- Performing Test HAS_AVX512_2 - Failed
  -- Including CPU backend
  -- Including CPU backend
  -- Using AMX
  -- Including AMX backend
  -- Performing Test SUPPORTS_SYCL
  -- Performing Test SUPPORTS_SYCL - Failed
  -- Using oneAPI Release SYCL compiler (icpx).
  -- SYCL found
  -- DNNL found:1
  CMake Error at vendor/llama.cpp/ggml/src/ggml-sycl/CMakeLists.txt:65 (find_package):
    Found package configuration file:

      C:/Program Files (x86)/Intel/oneAPI/compiler/latest/lib/cmake/IntelSYCL/IntelSYCLConfig.cmake

    but it set IntelSYCL_FOUND to FALSE so package "IntelSYCL" is considered to
    be NOT FOUND.  Reason given by package:

    Unsupported compiler family MSVC and compiler C:/Program Files/Microsoft
    Visual
    Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe!!

  -- Configuring incomplete, errors occurred!

  *** CMake configuration failed
  error: subprocess-exited-with-error

  × Building editable for llama_cpp_python (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: 'C:\Users\dnoliver\AppData\Local\miniconda3\envs\poc\python.exe' 'C:\Users\dnoliver\AppData\Local\miniconda3\envs\poc\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py' build_editable 'C:\Users\dnoliver\AppData\Local\Temp\tmp6xaj06kh'
  cwd: C:\Users\dnoliver\GitHub\dnoliver\llama-cpp-python
  Building editable for llama_cpp_python (pyproject.toml) ... error
  ERROR: Failed building editable for llama_cpp_python
Failed to build llama_cpp_python
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (llama_cpp_python)

I have run what I think is the equivalent command in llama.cpp, and I am getting all CMake tests passing (same terminal, so I guess same env vars and stuff). For command cmake -B build -G "Ninja" -DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx  -DCMAKE_BUILD_TYPE=Release -DGGML_SYCL_F16=ON I get this succesful output:
-- The C compiler identification is MSVC 19.42.34433.0
-- The CXX compiler identification is IntelLLVM 2025.0.0 with MSVC-like command-line
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Intel/oneAPI/compiler/latest/bin/icx.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.47.0.windows.2")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF
-- CMAKE_SYSTEM_PROCESSOR: AMD64
-- CMAKE_GENERATOR_PLATFORM:
-- Found OpenMP_C: -openmp (found version "2.0")
-- Found OpenMP_CXX: -Qiopenmp (found version "5.1")
-- Found OpenMP: TRUE (found version "2.0")
-- OpenMP found
-- Using llamafile
-- x86 detected
-- Performing Test HAS_AVX_1
-- Performing Test HAS_AVX_1 - Success
-- Performing Test HAS_AVX2_1
-- Performing Test HAS_AVX2_1 - Success
-- Performing Test HAS_FMA_1
-- Performing Test HAS_FMA_1 - Success
-- Performing Test HAS_AVX512_1
-- Performing Test HAS_AVX512_1 - Failed
-- Performing Test HAS_AVX512_2
-- Performing Test HAS_AVX512_2 - Failed
-- Including CPU backend
CMake Warning at ggml/src/ggml-amx/CMakeLists.txt:106 (message):
  AMX requires x86 and gcc version > 11.0.  Turning off GGML_AMX.

-- Performing Test SUPPORTS_SYCL
-- Performing Test SUPPORTS_SYCL - Success
-- Using oneAPI Release SYCL compiler (icpx).
-- SYCL found
-- DNNL found:1
-- Found IntelSYCL: C:/Program Files (x86)/Intel/oneAPI/compiler/latest/include (found version "202001")
-- MKL_VERSION: 2025.0.0
-- MKL_ROOT: C:/Program Files (x86)/Intel/oneAPI/mkl/latest
-- MKL_ARCH: intel64
-- MKL_SYCL_LINK: None, set to ` dynamic` by default
-- MKL_LINK: None, set to ` dynamic` by default
-- MKL_SYCL_INTERFACE_FULL: None, set to ` intel_ilp64` by default
-- MKL_INTERFACE_FULL: None, set to ` intel_ilp64` by default
-- MKL_SYCL_THREADING: None, set to ` tbb_thread` by default
-- MKL_THREADING: None, set to ` intel_thread` by default
-- MKL_MPI: None, set to ` intelmpi` by default
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_scalapack_ilp64_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_scalapack_ilp64.2.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_cdft_core_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_cdft_core.2.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_intel_ilp64_dll.lib
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_intel_thread_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_intel_thread.2.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_core_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_core.2.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_blacs_ilp64_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_blacs_ilp64.2.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_blas_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_blas.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_lapack_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_lapack.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_dft_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_dft.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_sparse_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_sparse.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_data_fitting_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_data_fitting.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_rng_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_rng.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_stats_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_stats.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_sycl_vm_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_sycl_vm.5.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/mkl_tbb_thread_dll.lib
-- Found DLL: C:/Program Files (x86)/Intel/oneAPI/mkl/latest/bin/mkl_tbb_thread.2.dll
-- Found C:/Program Files (x86)/Intel/oneAPI/compiler/latest/lib/libiomp5md.lib
-- Including SYCL backend
-- Configuring done (37.1s)
-- Generating done (1.0s)
-- Build files have been written to: C:/Users/dnoliver/GitHub/dnoliver/llama-cpp-python/vendor/llama.cpp/build

Can you help me sort out this build problem please?

Found the problem. It is caused by LLAVA_BUILD=ON. Disabling it makes it work.
To summarize:
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 --force
set CMAKE_ARGS="-DLLAVA_BUILD=OFF -DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON"
pip install -e . --verbose

gets you a version that works with the iGPU.
Then with this code, you get the model using the iGPU to produce a completion:
from llama_cpp import Llama

llm = Llama(
      model_path="C:/Users/dnoliver/Downloads/Phi-3.5-mini-instruct.Q4_0.gguf", #
      n_gpu_layers=-1, # Uncomment to use GPU acceleration
      seed=1337, # Uncomment to set a specific seed
      n_ctx=2048, # Uncomment to increase the context window
)
output = llm(
      "<|system|>You are a helpful digital assistant.<|end|><|user|>Name the planets in the solar system.<|end|><|assistant|>", # Prompt
      max_tokens=256, # Generate up to 32 tokens, set to None to generate up to the end of the context window
      echo=True # Echo the prompt back in the output
) # Generate a completion, can also call create_completion
print(output)

And this is the output of that snippet,
llama_model_loader: loaded meta data with 36 key-value pairs and 197 tensors from C:/Users/dnoliver/Downloads/Phi-3.5-mini-instruct.Q4_0.gguf (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = phi3
llama_model_loader: - kv   1:                               general.type str              = model
llama_model_loader: - kv   2:                               general.name str              = Phi 3.5 Mini Instruct
llama_model_loader: - kv   3:                           general.finetune str              = instruct
llama_model_loader: - kv   4:                           general.basename str              = Phi-3.5
llama_model_loader: - kv   5:                         general.size_label str              = mini
llama_model_loader: - kv   6:                            general.license str              = mit
llama_model_loader: - kv   7:                       general.license.link str              = https://huggingface.co/microsoft/Phi-...
llama_model_loader: - kv   8:                               general.tags arr[str,3]       = ["nlp", "code", "text-generation"]
llama_model_loader: - kv   9:                          general.languages arr[str,1]       = ["multilingual"]
llama_model_loader: - kv  10:                        phi3.context_length u32              = 131072
llama_model_loader: - kv  11:  phi3.rope.scaling.original_context_length u32              = 4096
llama_model_loader: - kv  12:                      phi3.embedding_length u32              = 3072
llama_model_loader: - kv  13:                   phi3.feed_forward_length u32              = 8192
llama_model_loader: - kv  14:                           phi3.block_count u32              = 32
llama_model_loader: - kv  15:                  phi3.attention.head_count u32              = 32
llama_model_loader: - kv  16:               phi3.attention.head_count_kv u32              = 32
llama_model_loader: - kv  17:      phi3.attention.layer_norm_rms_epsilon f32              = 0.000010
llama_model_loader: - kv  18:                  phi3.rope.dimension_count u32              = 96
llama_model_loader: - kv  19:                        phi3.rope.freq_base f32              = 10000.000000
llama_model_loader: - kv  20:                          general.file_type u32              = 2
llama_model_loader: - kv  21:              phi3.attention.sliding_window u32              = 262144
llama_model_loader: - kv  22:              phi3.rope.scaling.attn_factor f32              = 1.190238
llama_model_loader: - kv  23:                       tokenizer.ggml.model str              = llama
llama_model_loader: - kv  24:                         tokenizer.ggml.pre str              = default
llama_model_loader: - kv  25:                      tokenizer.ggml.tokens arr[str,32064]   = ["<unk>", "<s>", "</s>", "<0x00>", "<...
llama_model_loader: - kv  26:                      tokenizer.ggml.scores arr[f32,32064]   = [-1000.000000, -1000.000000, -1000.00...
llama_model_loader: - kv  27:                  tokenizer.ggml.token_type arr[i32,32064]   = [3, 3, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, ...
llama_model_loader: - kv  28:                tokenizer.ggml.bos_token_id u32              = 1
llama_model_loader: - kv  29:                tokenizer.ggml.eos_token_id u32              = 32000
llama_model_loader: - kv  30:            tokenizer.ggml.unknown_token_id u32              = 0
llama_model_loader: - kv  31:            tokenizer.ggml.padding_token_id u32              = 32000
llama_model_loader: - kv  32:               tokenizer.ggml.add_bos_token bool             = false
llama_model_loader: - kv  33:               tokenizer.ggml.add_eos_token bool             = false
llama_model_loader: - kv  34:                    tokenizer.chat_template str              = {% for message in messages %}{% if me...
llama_model_loader: - kv  35:               general.quantization_version u32              = 2
llama_model_loader: - type  f32:   67 tensors
llama_model_loader: - type q4_0:  129 tensors
llama_model_loader: - type q6_K:    1 tensors
llm_load_vocab: control token:      0 '<unk>' is not marked as EOG
llm_load_vocab: control token:      1 '<s>' is not marked as EOG
llm_load_vocab: control token:  32010 '<|user|>' is not marked as EOG
llm_load_vocab: control token:  32006 '<|system|>' is not marked as EOG
llm_load_vocab: control token:  32008 '<|placeholder5|>' is not marked as EOG
llm_load_vocab: control token:  32009 '<|placeholder6|>' is not marked as EOG
llm_load_vocab: control token:  32003 '<|placeholder2|>' is not marked as EOG
llm_load_vocab: control token:  32005 '<|placeholder4|>' is not marked as EOG
llm_load_vocab: control token:  32004 '<|placeholder3|>' is not marked as EOG
llm_load_vocab: control token:  32002 '<|placeholder1|>' is not marked as EOG
llm_load_vocab: control token:  32001 '<|assistant|>' is not marked as EOG
llm_load_vocab: special tokens cache size = 14
llm_load_vocab: token to piece cache size = 0.1685 MB
llm_load_print_meta: format           = GGUF V3 (latest)
llm_load_print_meta: arch             = phi3
llm_load_print_meta: vocab type       = SPM
llm_load_print_meta: n_vocab          = 32064
llm_load_print_meta: n_merges         = 0
llm_load_print_meta: vocab_only       = 0
llm_load_print_meta: n_ctx_train      = 131072
llm_load_print_meta: n_embd           = 3072
llm_load_print_meta: n_layer          = 32
llm_load_print_meta: n_head           = 32
llm_load_print_meta: n_head_kv        = 32
llm_load_print_meta: n_rot            = 96
llm_load_print_meta: n_swa            = 262144
llm_load_print_meta: n_embd_head_k    = 96
llm_load_print_meta: n_embd_head_v    = 96
llm_load_print_meta: n_gqa            = 1
llm_load_print_meta: n_embd_k_gqa     = 3072
llm_load_print_meta: n_embd_v_gqa     = 3072
llm_load_print_meta: f_norm_eps       = 0.0e+00
llm_load_print_meta: f_norm_rms_eps   = 1.0e-05
llm_load_print_meta: f_clamp_kqv      = 0.0e+00
llm_load_print_meta: f_max_alibi_bias = 0.0e+00
llm_load_print_meta: f_logit_scale    = 0.0e+00
llm_load_print_meta: n_ff             = 8192
llm_load_print_meta: n_expert         = 0
llm_load_print_meta: n_expert_used    = 0
llm_load_print_meta: causal attn      = 1
llm_load_print_meta: pooling type     = 0
llm_load_print_meta: rope type        = 2
llm_load_print_meta: rope scaling     = linear
llm_load_print_meta: freq_base_train  = 10000.0
llm_load_print_meta: freq_scale_train = 1
llm_load_print_meta: n_ctx_orig_yarn  = 4096
llm_load_print_meta: rope_finetuned   = unknown
llm_load_print_meta: ssm_d_conv       = 0
llm_load_print_meta: ssm_d_inner      = 0
llm_load_print_meta: ssm_d_state      = 0
llm_load_print_meta: ssm_dt_rank      = 0
llm_load_print_meta: ssm_dt_b_c_rms   = 0
llm_load_print_meta: model type       = 3B
llm_load_print_meta: model ftype      = Q4_0
llm_load_print_meta: model params     = 3.82 B
llm_load_print_meta: model size       = 2.03 GiB (4.55 BPW)
llm_load_print_meta: general.name     = Phi 3.5 Mini Instruct
llm_load_print_meta: BOS token        = 1 '<s>'
llm_load_print_meta: EOS token        = 32000 '<|endoftext|>'
llm_load_print_meta: EOT token        = 32007 '<|end|>'
llm_load_print_meta: UNK token        = 0 '<unk>'
llm_load_print_meta: PAD token        = 32000 '<|endoftext|>'
llm_load_print_meta: LF token         = 13 '<0x0A>'
llm_load_print_meta: EOG token        = 32000 '<|endoftext|>'
llm_load_print_meta: EOG token        = 32007 '<|end|>'
llm_load_print_meta: max token length = 48
llm_load_tensors:   CPU_Mapped model buffer size =  2074.66 MiB
....................................................................................
llama_new_context_with_model: n_seq_max     = 1
llama_new_context_with_model: n_ctx         = 2048
llama_new_context_with_model: n_ctx_per_seq = 2048
llama_new_context_with_model: n_batch       = 512
llama_new_context_with_model: n_ubatch      = 512
llama_new_context_with_model: flash_attn    = 0
llama_new_context_with_model: freq_base     = 10000.0
llama_new_context_with_model: freq_scale    = 1
llama_new_context_with_model: n_ctx_per_seq (2048) < n_ctx_train (131072) -- the full capacity of the model will not be utilized
llama_kv_cache_init:        CPU KV buffer size =   768.00 MiB
llama_new_context_with_model: KV self size  =  768.00 MiB, K (f16):  384.00 MiB, V (f16):  384.00 MiB
llama_new_context_with_model:        CPU  output buffer size =     0.12 MiB
llama_new_context_with_model:        CPU compute buffer size =   168.01 MiB
llama_new_context_with_model: graph nodes  = 1286
llama_new_context_with_model: graph splits = 1
AVX = 1 | AVX_VNNI = 0 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | AVX512_BF16 = 0 | AMX_INT8 = 0 | FMA = 1 | NEON = 0 | SVE = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | RISCV_VECT = 0 | WASM_SIMD = 0 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | MATMUL_INT8 = 0 | LLAMAFILE = 1 |
Model metadata: {'general.name': 'Phi 3.5 Mini Instruct', 'general.architecture': 'phi3', 'general.type': 'model', 'general.basename': 'Phi-3.5', 'general.finetune': 'instruct', 'general.size_label': 'mini', 'general.license': 'mit', 'general.license.link': 'https://huggingface.co/microsoft/Phi-3.5-mini-instruct/resolve/main/LICENSE', 'phi3.attention.head_count_kv': '32', 'phi3.context_length': '131072', 'phi3.rope.scaling.original_context_length': '4096', 'phi3.embedding_length': '3072', 'tokenizer.ggml.model': 'llama', 'phi3.feed_forward_length': '8192', 'phi3.block_count': '32', 'phi3.attention.head_count': '32', 'phi3.attention.layer_norm_rms_epsilon': '0.000010', 'phi3.rope.dimension_count': '96', 'tokenizer.chat_template': "{% for message in messages %}{% if message['role'] == 'system' and message['content'] %}{{'<|system|>\n' + message['content'] + '<|end|>\n'}}{% elif message['role'] == 'user' %}{{'<|user|>\n' + message['content'] + '<|end|>\n'}}{% elif message['role'] == 'assistant' %}{{'<|assistant|>\n' + message['content'] + '<|end|>\n'}}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '<|assistant|>\n' }}{% else %}{{ eos_token }}{% endif %}", 'phi3.rope.freq_base': '10000.000000', 'tokenizer.ggml.eos_token_id': '32000', 'general.file_type': '2', 'tokenizer.ggml.add_eos_token': 'false', 'phi3.attention.sliding_window': '262144', 'phi3.rope.scaling.attn_factor': '1.190238', 'tokenizer.ggml.pre': 'default', 'general.quantization_version': '2', 'tokenizer.ggml.bos_token_id': '1', 'tokenizer.ggml.unknown_token_id': '0', 'tokenizer.ggml.padding_token_id': '32000', 'tokenizer.ggml.add_bos_token': 'false'}
Available chat formats from metadata: chat_template.default
Using gguf chat template: {% for message in messages %}{% if message['role'] == 'system' and message['content'] %}{{'<|system|>
' + message['content'] + '<|end|>
'}}{% elif message['role'] == 'user' %}{{'<|user|>
' + message['content'] + '<|end|>
'}}{% elif message['role'] == 'assistant' %}{{'<|assistant|>
' + message['content'] + '<|end|>
'}}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '<|assistant|>
' }}{% else %}{{ eos_token }}{% endif %}
Using chat eos_token: <|endoftext|>
Using chat bos_token: <s>
llama_perf_context_print:        load time =    4044.24 ms
llama_perf_context_print: prompt eval time =       0.00 ms /    21 tokens (    0.00 ms per token,      inf tokens per second)
llama_perf_context_print:        eval time =       0.00 ms /   211 runs   (    0.00 ms per token,      inf tokens per second)
llama_perf_context_print:       total time =   60743.25 ms /   232 tokens
{'id': 'cmpl-9fb1ec80-f028-42e5-9633-6a1d030a757a', 'object': 'text_completion', 'created':<PHONE_NUMBER>, 'model': 'C:/Users/dnoliver/Downloads/Phi-3.5-mini-instruct.Q4_0.gguf', 'choices': [{'text': '<|system|>You are a helpful digital assistant.<|end|><|user|>Name the planets in the solar system.<|end|><|assistant|> Here are the eight planets in our solar system, listed in order from the sun:\n\n1. Mercury\n2. Venus\n3. Earth\n4. Mars\n5. Jupiter\n6. Saturn\n7. Uranus\n8. Neptune\n\nIn addition, Pluto used to be considered the ninth planet, but it was reclassified as a "dwarf planet" by the International Astronomical Union in 2 extraterrestrial bodies that orbit the sun:\n\n9. Eris (and its moon Dactyl)\n10. Haumea\n11. Makemake\n12. Ceres\n\nThese are located in a region beyond Neptune called the Kuiper Belt, where many other dwarf planets and small objects can be found. Some astronomers also consider the hypothetical Planet Nine, which is proposed to exist beyond Neptune, but it has yet to be conclusively observed.', 'index': 0, 'logprobs': None, 'finish_reason': 'stop'}], 'usage': {'prompt_tokens': 21, 'completion_tokens': 211, 'total_tokens': 232}}

The response is quite interesting :), but the perf information is coming as inf:
llama_perf_context_print:        load time =    4044.24 ms
llama_perf_context_print: prompt eval time =       0.00 ms /    21 tokens (    0.00 ms per token,      inf tokens per second)
llama_perf_context_print:        eval time =       0.00 ms /   211 runs   (    0.00 ms per token,      inf tokens per second)
llama_perf_context_print:       total time =   60743.25 ms /   232 tokens

Hi @dnoliver ,
I tried to compile with DLLAVA_BUILD=OFF, but somehow the build ended up without SYCL support.
After some more trial and error I managed to get a working wheel including SYCL support with following commands in the Intel oneAPI command prompt:
set CMAKE_GENERATOR=Ninja
set CMAKE_ARGS=-DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DCMAKE_BUILD_TYPE=Release
"C:\Python311\python.exe" -m build --wheel

Yep that works @mschuettlerTN, thanks!
Compiled it with your env vars, and I can see the GPU being used, by log and GPU activity.

Still reports inf tokens thought (marked in red)
The build also works for development environment setup with pip install -e .
I think there are 3 issues here:

If you disable Llava, you don't get a GPU build
if you don't set Ninja as the generator, Llava doesn't build
The Python binding doesn't report llama_perf_context_print correctly.

will get those reported as issues after confirming them

Reported 3 issues for GPU support: #1851 #1852 #1853


issue with integrating with node server

There seems to be an issue with using this with the http module. I was trying this with the example given in the README and it worked, the whole of the file was uploaded to the s3 bucket. But when I tried to create a server that would accept a file name as its parameter and then upload that file into s3, it doesn't work. It gets stuck somewhere (see screenshot below) and the whole of the file doesn't get uploaded into s3.

Here's the code that I currently have:
var s3 = require('s3');

var client = s3.createClient({
  maxAsyncS3: 14,
  s3RetryCount: 3,
  s3RetryDelay: 1000,
  s3Options: {
    accessKeyId: "xyz",
    secretAccessKey: "abc",
    region: "us-west-2"
  }
});

var http = require('http');
var qs = require('querystring');

var server = http.createServer(function (request, response) {

  var headers = {};
  headers["Access-Control-Allow-Origin"] = "*";
  headers["Access-Control-Allow-Methods"] = "POST, GET, PUT, DELETE, OPTIONS";
  headers["Access-Control-Allow-Credentials"] = false;
  headers["Access-Control-Max-Age"] = '86400'; // 24 hours
  headers["Access-Control-Allow-Headers"] = "X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept";
  headers["Content-Type"] = "text/plain";
  response.writeHead(200, headers);

  var body = '';
  request.on('data', function (data) {
      body += data;
  });
  request.on('end', function () {
    var data = qs.parse(body);
    console.log('now uploading ' + data.filename);
    var params = {
      localFile: "uploads/my-uploads/" + data.filename,

      s3Params: {
        Bucket: "my-uploads",
        Key: "uploads/my-uploads/" + data.filename,
      },
    };

    var uploader = client.uploadFile(params);
    uploader.on('error', function(err) {
      console.error("unable to upload:", err.stack);
      response.end('aww..');
    });

    uploader.on('progress', function() {
      console.log("progress", uploader.progressMd5Amount,
                uploader.progressAmount, uploader.progressTotal);
    });

    uploader.on('end', function() {
      console.log("done uploading");
      response.end('awesome');
    });

  });

});

server.listen(8124);

Any ideas?

@anchetaWern I am very interested in your solution for the above, but I have very limited experience in Node.js. Is there any chance you can post the updated file that works?
I am trying to wrap my head around how to upload to S3 via AJAX with something like the above as the endpoint.


Use go-swagger to automatically generate testing clients

https://github.com/cloudfoundry-incubator/cf-swagger @ayj

@xiaolanz is this 0.2 blocking? If yes please add an ETA otherwise move it to the next release

Issue moved to istio/istio #1487 via ZenHub

Issue moved to istio/istio #1488 via ZenHub


[LLVMGPU] Send skinny matmuls to the gpu reduction pipeline

This applies to matmul with the M or N dimension of 2-4. Even though the subgroup reduction codegen is suboptimal, we saw that this is much faster on the 2xNxK matmul from SDXL than the MatmulSIMT fallback pipeline.
Corresponding SDXL PR: https://github.com/openxla/iree/pull/16818

I don't understand why the vulkan and cpu tests are failing, nothing outside of the llvmgpu pipeline should be affected. Are we having some build/CI issues @ScottTodd?

Yeah, the XFAIL sets are out of date. See https://github.com/openxla/iree/pull/16896 and https://github.com/openxla/iree/pull/16900. Fine to ignore (won't block merging)


PLAT-103742: Support accessibility for IncrementSlider components

Support accessibility for IncrementSlider components
Enact-DCO-1.0-Signed-off-by: Baekwoo Jung<EMAIL_ADDRESS>

LGTM.
@Baekwoo-s Please take care of the xliff file for Auto

@seunghoh
Yes, I will create a ticket.


Split config into files and rename the folder to config

As per title, this aligns us closer with other Knative projects in that we use the canonical config folder and split the YAML files into logical components to make changing and reading them somewhat easier.

What do the prefixes (100, 200, 300-) of the yaml files mean?

They loosely enforce an ordering, especially for the release files.

I don't have a strong preference about this. @jmprusi do you see any problem in splitting the yamls?
Also, @markusthoemmes I don't know if we'll need to change something in the serving repo to pick the new yamls. Not sure how that's done now.

Serving only consumes the releases generated from this repo (including nightly releases), so by me adjusting release.sh we should be fine wrt. others consuming this as their interface doesn't change.

/lgtm


Update BASS libraries and add BASSLoud

Prerequisite for https://github.com/ppy/osu/pull/27793
Would be wise to wait for https://github.com/peppy/ManagedBass/pull/1 to get merged before reviewing this
This PR updates the BASS libraries to their latest version and also adds BASSLoud. In my testing using this, there does not seem to be any breaking changes or incompatibility.
Current Version: 2.4.16
New Version: 2.4.17
Relevant docs:

https://www.un4seen.com/doc/#bass/bass.html (scroll down to history and look at 2.4.17 to find what's new)
https://www.un4seen.com/doc/#bass/upgrade.html (look at upgrading from 2.4.16 for breaking changes)

The only issue I've found with this is that osu! might not open on arm windows due to bassloud not being found, as there's no arm version for bassloud. As usual, you'll have to make a new version of ppy.Framework.NativeLibs upon merging

Marking this  PR as a draft for now since I plan on rebasing it on top of https://github.com/ppy/osu-framework/pull/6352
Will likely force push the previous diffs away.

I've rebased the branch on top of master and cleaned up history a bit.
Here's a full changelog:

Since master now has the latest bass libs, updating them here is no longer needed. I'll change the title and description to match this. It should probably make reviewing this PR a lot easier as now we're only adding new libs
I've also taken to noting that osu-framework logs the version of bass and its addons on startup. I've added BASSloud to this
As frenzibyte pointed out to me a while back, this PR doesn't actually add the libraries for mobile platforms. This is now fixed

For anyone that has this branch cloned locally, I'd recommend fetching and resetting to the remote branch head. Or delete and check out this branch again. I've confirmed with most that I know that have this branch cloned and made sure they do not have any local changes.


Single client object

Pull together all the client split work by using a global variable to pass around the clients.
Partially-fixes: #213

Can we close this, push the last commit to #222, and close #214 and #215, then rename #222 to something like "Introduce Clients Package"? This is getting really confusing with all these PRs that share commits.

Working in #222


Minor tweak to make the library easier to use

I've been trying to find a way to make the library easier to test, and to actually test all the cases we handle.
After a few failures, I think a mix of the approaches I used will work. In the meantime, those are no-brainer.

Codecov Report

Merging #9 (b4ef8c7) into v1.x.x (119b376) will increase coverage by 1.44%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           v1.x.x       #9      +/-   ##
==========================================
+ Coverage   55.41%   56.86%   +1.44%
==========================================
  Files           2        2
  Lines         157      153       -4
==========================================
  Hits           87       87
+ Misses         70       66       -4

Flag
Coverage Δ

unittests
56.86% <100.00%> (+1.44%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

source/agora/config/Config.d
56.00% <100.00%> (+1.45%)
:arrow_up:

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 119b376...b4ef8c7. Read the comment docs.


[ENH] lagging transformer

Can it be that we don´t have a simple lagging transform?
It seems to be the case (although the WindowSummarizer can be "abused" for this).
We should have a Lag transformer that can take an integer or timedelta in construction, and all it does is to lag the series by the given lag value, using pandas.shift.
Should be pretty straightforward with the transformer extension template - I would recommend implementing it only for X_inner_mtype = "pd.DataFrame", and relying on automatic vectorization for panel and hierarchical data.
One word of caution is that pandas.shift is inconsistent between integer and timedelta use, so it should be made consistent and one or the other behaviour should be steered by something like a keep_index parameter (I would give it the default False).

Can I work on this issue? I want to know more about this how to proceed.

great, thanks, of course!
Here is our detail guide on implementing new estimators, in this case it would be a transformer.
https://www.sktime.org/en/stable/developer_guide/add_estimators.html

@cgoxo, are you still working on this?

Sorry Sir, I got busy related to my college activities. Now I am free and can work on this problem.

FYI @cgoxo, I've started here now: https://github.com/alan-turing-institute/sktime/pull/2783
(in case you were still working on it)

Really sorry sir. I got busy on my end sem exams.

no worries, no harm done!


Support for other protocols (namely on-demand/jaggrab)

I'd like to do this bundled together as closely as possible without letting implementations overlap too much and without modifying the client. This may require a major network rewrite.

You could treat the main application as a proxy server similar to a SOCKS proxy which just forwards data to the other servers. That might make application design much easier.


Update JGrasp URL

Download the latest version of JGrasp. The 2.04_03 is no longer
available and breaks the playbook
Closes #112

This will need to be backported to Sylvia. I will start that process once this is merged into master.


leapp subcommand help doesn't show possible options as expected

Actual behavior:
    root@ivasilev-answerfileparamcustom leapp]# leapp preupgrade --whitelist-experimental RemoveOldPAMModulesCheck --whitelist-experimental RemoveOldPAMModulesScanner --load-answerfile answersaved.here
    usage: leapp [-h] [--version] [--verbose] [--debug]  ...

    Optional arguments:
      -h, --help  show this help message and exit
      --version   show program's version number and exit
      --verbose   Enable verbose logging
      --debug     Enable debug mode

    Main commands:

        upgrade   Upgrades the current system to the next available major version.
        list-runs
                  List previous Leapp upgrade executions
        preupgrade
                  Generate preupgrade report
    error: unrecognized arguments: --load-answerfile answersaved.here

Expected behavior:
usage: leapp preupgrade [--save-answerfile] [--whitelist-experimental]

@fernflower : To close this automatically, the string is Closes: #NUMBER


users.ts response types are inaccurate

The response types in users.ts indicate that all data attributes will be available in the response, e.g.:
const response = await getUser(....);
console.log(response.email);

This is not currently the case. The data attributes are instead available in response.data (itself typed as any) and response.body.data (also any).

Different than #21 although the titles sound similar, they're different.


The diamond's vertices do not line up exactly on the grid.

Excalidraw is the best. It's a great tool and I use it all the time. However, the diamond's vertices do not line up exactly on the grid. This is so inconvenient... Can this be fixed? It

You're right, we should fix.
(black=reference, red=diamond)

@dwelle
Pretty good :) Thank you.


Add pre-defined Audio Context and Destination options to AudioEngine.

Added the ability for the audio engine to take an existing Audio Context and a specific Audio Destination node.  Discussed on forum https://forum.babylonjs.com/t/custom-audio-context/21080.

A tiny change and we are good (plus fixing the checks)

Should be all updated with checks complete.

Thanks it rocks!


CPU integration of G4HepEM using the tracking manager

This PR shows how to use G4HepEM through the TrackingManager instead of the G4 process. However, it can be used only to run on CPU, and will not work with AdePT since one TrackingManager will replace the other.
In order to be able to run G4HepEM with tracking manager on full CPU and CPU + AdePT modes we would need:

Two separate physics constructors, one registering the G4HepEM tracking manager for full CPU mode, and one registering the G4HepEM process and the AdePT tracking manager

However there seems to be a discrepancy in the results from the G4HepEM tracking manager and G4 process

To implement a hybrid AdePT/G4HepEM tracking manager, removing the need to register the G4HepEM process

The current AdePT tracking manager would remain in case the user wants to use something other than G4HepEM on CPU

I see, that's good to know. I have done a run of 32 ttbar events in CMS, the average difference in total edep is around 3%, though the highest was 7%. The speedup from using the tracking manager was 1.09.
Are these numbers what we expect?

I see, that's good to know. I have done a run of 32 ttbar events in CMS, the average difference in total edep is around 3%, though the highest was 7%. The speedup from using the tracking manager was 1.09. Are these numbers what we expect?

In principle we don't expect a difference in energy deposit... Are 32 ttbar events enough to get stable numbers for validation? 10% speedup from the tracking manager sounds in line with expectations.


Fix zero width space in links

Due to a bug in the terminal-link package sindresorhus/terminal-link#18 after every link a zero width space (specifically \u200B) was appended and will result in a 404 link.
This fix defines a fallback function as a workaround

Thanks for fixing this!


Throw an Exception if any non-Bridge.NET dll is detected in References of a Bridge.NET application?

Probably, a developer's Bridge.NET project should not be compiled if any non-Bridge.NET dll is detected, because there is no guarantee that it works.
Just as a reminder for everybody. Bridge.NET defines its own core level and it is not supposed to be working with an arbitrary .NET dll.

Related to #419


Remove deprecated function call in k8s ingress provider

remove deprecated function call.

What does this PR do?
Remove the usage of deprecated SharedInformerFactory in kubernetes client.

Motivation
removes deprecation warning.

Additional Notes
The Ingress provider should also use NewSharedInformerFactoryWithOptions(), due to the fact that NewFilteredSharedInformerFactory() is deprecated and may get removed in future releases.

I see that the crd client is also using this function call. Should this be also refactored?

Hello @Wagum,
Thanks for this!
You are correct, we should also investigate using informers.WithTweakListOptions to use labelselectors instead of filtering later on.
We should also look at updating the CRD provider to use NewSharedInformerFactoryWithOptions too. Ideally this would be in this PR for consistency.

Hey  @dtomcej ,
im going to add the call on NewSharedInformerFactoryWithOptions to the k8s CRD provider as well.
Im concerned about adding informers.WithTweakListOptions to the InformerFactory, because the ListOption from TweakListOptionsFunc will apply to all objects, that informerFactory provides.
(i could not identify Ingress objects inside of the TweakListOptionsFunc).
This implies, that the user needs to add the ingressLabelSelector to the corresponding secrets, endpoints and services inside the k8s cluster as well.
An other option would be adding a factory for ingresses including TweakListOption, and one dedicated factory for secret, endpoints and services. This dedicated factory should not use the TweakListOption. I think you did something similar in the CRD provider for Kubernetes.
Im going to think about this again and propose a possible solution to you asap.
Please let me know, what you think about this after investigating with your team :)


Only first JSON level of additional data parsed on iOS

Expected Behaviour
additionalData is:
{
  attr_1: "1",
  attr_2: "value_2",
  coldstart: false,
  content_available: "true",
  foreground: true,
  google.message_id: "0:1494235805190722%c505ff5ff9fd7ecd",
  more: {
    nested_attr_a: 3,
    nested_attr_b: "value_b"
  }
}

Actual Behaviour
additionalData is:
{
  attr_1: "1",
  attr_2: "value_2",
  coldstart: false,
  content_available: "true",
  foreground: true,
  google.message_id: "0:1494235805190722%c505ff5ff9fd7ecd",
  more: "{\"nested_attr_a\":3,\"nested_attr_b\":\"value_b\"}"
}

Reproduce Scenario (including but not limited to)
POST push message to GCM (https://gcm-http.googleapis.com/gcm/send)
POST payload:
{
  "to": "/topics/4109191475",
  "priority": "high",
  "content_available": true,
  "data": {
	"attr_1": 1,
	"attr_2": "value_2",
    "more": {
     "nested_attr_a": 3,
     "nested_attr_b": "value_b"
    }
  }
}

Steps to Reproduce
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
iOS 10.3.1
iPhone 5s + 6
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Nexus 5
Cordova CLI version and cordova platform version
cordova --version: 6.5.0
cordova platform version android: 6.2.2
cordova platform version ios: 4.4.0

Plugin version
1.10.3

Sample Push Data Payload
{
    "uniqueId":<PHONE_NUMBER>,
	"attr_1": 1,
	"attr_2": "value_2",
    "more": {
     "nested_attr_a": 3,
     "nested_attr_b": "value_b"
    }
  }

Sample Code that illustrates the problem
Logs taken while reproducing problem

@maximilianloy can you give me the full push payload? Also, how do you send the push info as I can't reproduce?

@macdonst I updated the issue. Thank you for your help!

If a n additional property is not a js primitive, it should not be stringified, basically.

@maximilianloy ah, you are using GCM on iOS then? My test was with APNS on iOS.

Related to #1710?

@fredgalvao sorry, but I do not understand. Is there any other way to send nested objects?

@maximilianloy I was just making a note, because that other issue (#1710) is most probably the same root issue as this one: unproper parsing/stringifying of a nested object from the payload. If one is fixed, the other will probably be fixed by consequence.

This is my current workaround, (recursively) iterating through the data and checking if it needs to be parsed:
function parseIfJson(str) {
  try {
    return JSON.parse(str);
  } catch (e) {
    return str;
  }
}

function iterateParse(obj) {
  for (var property in obj) {
    if (obj.hasOwnProperty(property)) {
      obj[property] = parseIfJson(obj[property]);
      if (typeof obj[property] == 'object') {
        iterate(obj[property]);
      }
    }
  }
  return obj;
}
var push = PushNotification.init({...});
push.on('notification', function(data) {
  var reparsedJson = iterateParse(data);
  console.log('Push data', reparsedJson.additionalData);
  push.finish();
});

@maximilianloy yeah, this seems to be a bug with the way GCM on iOS delivers the info to the plugin. When I send via APNS on iOS with a payload of:
{"aps":{"alert":"Testing.. (2)","badge":1,"sound":"default", "data": {
	"attr_1": 1,
	"attr_2": "value_2",
    "more": {
     "nested_attr_a": 3,
     "nested_attr_b": "value_b"
    }
  }
}}

then the additionalData object is correctly setup.

Could that be the root cause for this issue https://github.com/phonegap/phonegap-plugin-push/issues/1577#issuecomment-300920397 as well?

@bardu Considering the following payload json as the one the OP reports there, I'd say it could indeed:
{
  "data": {
    "title": "",
    "message": "",
    "image": "",
    "extra": {//nestedObject
      "url": ""
    }
  },
  "to": "device-id",
  "notification": {
    "title": "",
    "body": ""
  }
};

@fredgalvao That's what I'm thinking too!

This is still the case using FCM and version 2.0.0


fix(requirements): correct version specifiers for dependencies

Corrected the version specifiers for torchvision and torchaudio in the requirements.txt file to use '==' instead of '='. This ensures proper version matching and avoids potential installation issues.

The wheel package is missing.


documentation of adding CKEditor plugin

What are the relevant tickets?
part of #39
What's this PR do?
I wrote up documentation of implementing a CKEditor plugin to add YouTube embeds from scratch. We don't actually want to use such a plugin ourselves (we'd want to just use CKEditor's media embed plugin) but it is helpful as an example of how to build a plugin in general.
How should this be manually tested?
Read it and make sure it all makes sense.
If you wanted to be really adventurous you could try to follow along!

Codecov Report

Merging #87 (f243471) into master (2a00e22) will increase coverage by 5.52%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #87      +/-   ##
==========================================
+ Coverage   84.36%   89.89%   +5.52%
==========================================
  Files          59       18      -41
  Lines        1305      188    -1117
  Branches      150       25     -125
==========================================
- Hits         1101      169     -932
+ Misses        187       19     -168
+ Partials       17        0      -17

Impacted Files
Coverage Δ

websites/constants.py

users/factories.py

main/utils.py

news/urls.py

users/models.py

websites/admin.py

main/views.py

main/permissions.py

websites/serializers.py

websites/views.py

... and 31 more

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 2a00e22...f243471. Read the comment docs.

Amazing !
Should we put this in its own repo ? It could serve as a cookie cutter for us and at the same time it's a great open source contribution imo.

I just noticed this is a doc file in markdown. Initially thought it was a cookie cutter plugin heavily documented,  which would be even more helpful

I could look into re-writing this as a cookiecutter. I'm not sure how helpful that will be though, since as far as I can tell (I'm not super familiar with how cookiecutter works) it doesn't have built-in facility for adding code to an existing project. It seems it can be done, but requires a decent bit of fiddling. Still, perhaps the cookiecutter could put the code in the top-level or something and then the developer would be responsible for adding on their own? I'm wondering if @noisecapella you have thoughts on whether cookiecutter is helpful for something like this.

@gsidebo updated the example branch showing the full implementation of this plugin, and added a link to the doc file.


DCOS-5673: Upgrade package confirmation

Velocity, please run my tests again.

I think this looks good, but let's get some tests in as soon as we have actual fixture data to work from


Time- Mair H

React Tic Tac Toe
Congratulations!  Please reflect on the assignment with these questions.
Reflection

Prompt
Response

How are events / event handlers and useState connected?
'useState' gives the initial state alongside a function to change the state- so when incorporating an event handler, we call for the function to change the state aka as handling the event. "

What are two ways to do "dynamic styling" with React? When should they be used?
In the JSX one can write a ternary operator and when one or another of those expressions are true, the css styling should change accordingly- This is an area that I am still not very familiar with.

Much like Rails works with the HTTP request->response cycle, React works with the browser's input->output cycle. Describe React's cycle from receiving user input to outputting different page content.
Using 'useState' we know the initial state of our program and when we write an event handler function we can change the state using change function.  That event handler is then passed down to the child component (not invoked). So when a square- child component- is clicked on or changed that event handler is invoked (depending on where it resides) and the state of the program will be updated accordingly.

CS Fundamentals Questions

Question
Answer

What do you think is the BigO complexity of the method you use to compute a winner?
The time complexity is O(n) since we are iterating through every square once to check its value. The space complexity is constant thus O(1) since we are returning the value of the squares every time.

Consider what happens when React processes a state change from setState -- it must re-render all of the components that now have different content because of that change.What kind of data structure are the components in, and what sort of algorithms would be appropriate for React's code to "traverse" those components?Speculate wildly about what the Big-O time complexity of that code might be.
I believe the components are set in a hash table since this is more efficient, so every-time we make a change to the state- the virtual DOM will change only the parts of the components that have been changed, leaving the rest as it was before and rendering the hash-table/data to the screen; although I could also see it being O(n) where the every piece of data is iterated through and only those that need to be changed will change and the date is rendered however I believe the time complexity of this can get long with bigger data so I suspect that the creators of React and the 'useState' implementation have made setState function take advantage of a data structure that doesn't need to go through the entire component every single time for a small change.

React Tic Tac Toe

Major Learning Goals/Code Review

Criteria
yes/no, and optionally any details/lines of code to reference

Demonstrates proper JavaScript coding style.
A few little mixups with the ;

Correctly passes props to child components.
✔

Correctly passes callback functions to child components and calls them to respond to user events.)
✔

Maintains the status of the game in state.
✔

Practices git with at least 6 small commits and meaningful commit messages
✔

Uses existing stylesheets to render components
✔

Functional Requirements

Functional Requirement
yes/no

The Square component renders properly and executes the callback on a click event.
✔

The Board component renders a collection of squares
✔

The App component renders a board and uses state to maintain the status of the game.
✔

Utilizes callbacks to UI events to update state
✔

Overall Feedback

Overall Feedback
Criteria
yes/no

Green (Meets/Exceeds Standards)
5+ in Code Review && 3+ in Functional Requirements
✔

Yellow (Approaches Standards)
4+ in Code Review && 2+ in Functional Requirements, or the instructor judges that this project needs special attention

Red (Not at Standard)
0-3 in Code Review or 0,1 in Functional Reqs, or assignment is breaking/doesn’t run with less than 5 minutes of debugging, or the instructor judges that this project needs special attention

Code Style Bonus Awards

Was the code particularly impressive in code style for any of these reasons (or more...?)

Quality
Yes?

Perfect Indentation
✅

Elegant/Clever

Descriptive/Readable

Concise

Logical/Organized


Preprod to prod sync failing due to gcloud issue

See https://github.com/sigstore/root-signing/actions/runs/5413400384
Reproduced running gcloud --quiet storage cp -r gs://sigstore-preprod-tuf-root/ . locally. It appears the issue is that . is being treated as a wildcard. The gcloud team is aware of this issue and is issuing a hotfix. In the short term, I will set the version of gcloud in the GHA, then we'll just revert that once gcloud issues a hotfix.

Working for now. https://github.com/sigstore/root-signing/actions/runs/5415606112/jobs/9844154554
Will leave open to make sure we revert the fix.


Remove dummy tests

Since we have already tests for flink we do not need dummy tests anymore.

/packit test --labels smoke


Microsoft.Network/virtualNetworkGateways

Describe the noise
Resource type (i.e. Microsoft.Storage/storageAccounts)
Microsoft.Network/virtualNetworkGateways
apiVersion (i.e. 2019-04-01)
2019-09-01
Client (PowerShell, Azure CLI, or API)
PowerShell
Relevant ARM Template code (we only need the resource object for the above resourceType and apiVersion, but if it's easier you can include the entire template
Expected response (i.e. "I expected no noise since the template has not been modified since the resources were deployed)
No change
Current (noisy) response (either include a screenshot of the what-if output, or copy/paste the text)
 ~ Microsoft.Network/virtualNetworkGateways/test-t-wan-vpn-gw2 [2019-09-01]
    - properties.bgpSettings.bgpPeeringAddress: "<Ip address>"
    - properties.bgpSettings.bgpPeeringAddresses: [
        0:

          defaultBgpIpAddresses: [
            0: "<ip address>"
          ]
          ipconfigurationId: "<resource id of ip configuration>"
          tunnelIpAddresses: [
            0: "<Ip Address>"
          ]

      ]
    - properties.enablePrivateIpAddress:        false
    - properties.packetCaptureDiagnosticState:  "None"
[
      ~ 0:

        - id:   "<ip configuration resource id>"
        - type: "Microsoft.Network/virtualNetworkGateways/ipConfigurations"

      ]

Additional context
Add any other context about the problem here.

[w46].

This fix should be fully deployed. Let us know if you are still setting this issue.


Merge CB-2.93 to master

See detailed description in the commit message.

Closing this, new merge PR is https://github.com/hortonworks/cloudbreak/pull/13612


Sync: security review

Syncing code should be reviewed for any potential

[ ] Eclipse or attention stealing attacks.
[ ] DOS attacks on memory. All data collected per peer or globally should be bounded.
[ ] DOS attacks on the CPU. There should not be potentially slow request, and in case there are, there should be a throttling mechanism.

We might want to use bounded channels where we currently use unbounded. There are currently two sets of channels used:

A channel from network-libp2p to sync. The protocol_sender used here https://github.com/paritytech/substrate/blob/a6ca090c3e2e44b24f34319648f66b64575369e0/core/network/src/service.rs#L540

A channel from sync/protocol to the import-queue, used when import-blocks or import-justification is called on the ImportQueue trait.

Then the import-queue actually uses the same protocol channel as libp2p to communicate import results back to sync.
@tomaka would it be acceptable to block the networking runtime when protocol is slow to handle a message sent to it? This would happen if we were to use a bounded channel, which would block on send until the message is received by sync/protocol.
Then I would suggest we introduce a dedicated import-queue -> sync channel to communicate import results back, and make that unbounded. That way the "input" in the system is bounded, but not the "output" from the importing. Otherwise the import-queue and sync could end-up deadlocking when both are waiting for the other to receive a message...

I would also like to point out potential timing based attacks Loophole: Timing Attacks on Shared Event Loops in Chrome.
For example currently, when a block import fails, we immediatly go into "error" mode at https://github.com/paritytech/substrate/blob/a6ca090c3e2e44b24f34319648f66b64575369e0/core/consensus/common/src/import_queue.rs#L501
This is an example of a potential timing loophole, since  a batch of blocks containing an error will "finish" more quickly than if we were to actually import all of them. A potential solution is to make import_a_batch_of_blocks always return after a constant time, regardless of whether there was an "early exit".

I would also like to point out potential timing based attacks Loophole: Timing Attacks on Shared Event Loops in Chrome.
For example currently, when a block import fails, we immediatly go into "error" mode at https://github.com/paritytech/substrate/blob/a6ca090c3e2e44b24f34319648f66b64575369e0/core/consensus/common/src/import_queue.rs#L501
This is an example of a potential timing loophole, since  a batch of blocks containing an error will "finish" more quickly than if we were to actually import all of them. A potential solution is to make import_a_batch_of_blocks always return after a constant time, regardless of whether there was an "early exit".

@gterzian The block is public anyway, why would you want to attack to reveal the content of a block? These constant timing stuff is mostly used to prevent leakage of information. If we always take constant time to check a block, we are probably open an attack vector.
Regarding networking stuff, networking should support back-pressure and thus using a bounded channel should be no problem.

Since we ask only one single node at a time, if that node takes a long time to respond on purpose, we might not get the block data in time.
We should modify the code to start asking other nodes over time if the response doesn't come.


Browser client can't find dev-main.js

Hi, @luchiniatwork  — thank you for writing Hodur, as it's what made me brave enough to even try Datomic Cloud! (I loved gushing about it at Clojure/conj last year! https://www.youtube.com/watch?v=5mbp3SEha38&t=19s :).
it's been about a year I've used Hodur Visualizer, and I'm eager to jump into a new project.  But when I tried to run the visualizer for an older project I did in January, the browser comes up blank, unable to find the dev-main.js.
I'm now getting some warnings during the execution, and I'm wondering if it has to do with this issue: #6, about how figwheel can't find the bootstrap cljs file if it's put in a "dev like path."
I even made a symbolic link from "main.js" to "dev-main.js" inside of the "target/public" directory, but now I'm getting this error:
core.cljc:208 Uncaught ReferenceError: initialized is not defined
    at hodur_visualizer_schema$core$apply_diagram_BANG_ (core.cljc:208)
    at viz.cljc:12
hodur_visualizer_schema$core$apply_diagram_BANG_ @ core.cljc:208
(anonymous) @ viz.cljc:12
console.js:203  [goog.net.WebSocket] Opening the WebSocket on ws://localhost:9500/figwheel-connect?fwprocess=c0cd53&fwbuild=dev&fwsid=61ac7501-fa5f-4d32-91cd-4d6f95fd8959&fwsname=Elmo
console.js:203  [goog.net.WebSocket] WebSocket opened on ws://localhost:9500/figwheel-connect?fwprocess=c0cd53&fwbuild=dev&fwsid=61ac7501-fa5f-4d32-91cd-4d6f95fd8959&fwsname=Elmo
console.js:203  [Figwheel REPL] Session ID: 61ac7501-fa5f-4d32-91cd-4d6f95fd8959

Do you have any tips on getting the classpaths/paths set up correctly?  Here's my current alias map in deps.edn.

{:dev  {:viz  {:extra-paths ["config/dev" "target"]
                    :resource-paths ["target/public" "resources"]
                    :extra-deps  {
                                  ;com.bhauman/figwheel-main                     {:mvn/version "0.2.12"}
                                  gnl/ghostwheel                                {:mvn/version "0.3.9"}
                                  hodur/engine                                  {:mvn/version "0.1.6"}
                                  hodur/visualizer-schema                       {:mvn/version "0.1.1"}
                                  hodur/datomic-schema                          {:mvn/version "0.1.0"}}}

And here's the output:
make vizbooks
clojure -A:dev -m hodur-visualizer-schema.main books/viz
WARNING: When invoking clojure.main, use -M
[Figwheel:WARNING] Attempting to dynamically add "target" to classpath!
[Figwheel:WARNING] Target directory "target" is not on the classpath
[Figwheel:WARNING] Please fix this by adding "target" to your classpath
 I.E.
 For Clojure CLI Tools in your deps.edn file:
    ensure "target" is in your :paths key

 For Leiningen in your project.clj:
   add it to the :resource-paths key

[Figwheel] Compiling build dev to "target/public/cljs-out/main.js"
[Figwheel] Successfully compiled build dev to "target/public/cljs-out/main.js" in 0.895 seconds.
[Figwheel] Watching paths: ("src") to compile build - dev
[Figwheel] Starting Server at http://localhost:9500
[Figwheel] Starting REPL
Prompt will show when REPL connects to evaluation environment (i.e. a REPL hosting webpage)

Here's the initial error I got from the browser at it searched for the "wrong" bootstrap CLJS file:

Okay, I've started a new repo from scratch, and repeated the instructions in the README.
I now get the following error in the browser console — it can't find the initialized variable, which I think is being called from here...
Holy smokes, I'm at a loss — any ideas?  Thank you!
https://github.com/hodur-org/hodur-visualizer-schema/blob/b62dc400fee35942c5968e10800fc6afdc130319/src/hodur_visualizer_schema/core.cljc
Installing CLJS DevTools 0.9.10 and enabling features :formatters :hints :async
util.js:236 CLJS DevTools: some custom formatters were not rendered.
https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-some-custom-formatters-were-not-rendered
devtools$util$check_custom_formatters_active_BANG_ @ util.js:236
core.js:287 Uncaught ReferenceError: initialized is not defined
    at hodur_visualizer_schema$core$apply_diagram_BANG_ (core.js:287)
    at core.js:7
console.js:218  [goog.net.WebSocket] Opening the WebSocket on ws://localhost:9500/figwheel-connect?fwprocess=138be3&fwbuild=dev&fwsid=d2e80a9f-4e98-4566-ab08-329d4ed66eea
console.js:218  [goog.net.WebSocket] WebSocket opened on ws://localhost:9500/figwheel-connect?fwprocess=138be3&fwbuild=dev&fwsid=d2e80a9f-4e98-4566-ab08-329d4ed66eea
console.js:218  [Figwheel REPL] Session ID: d2e80a9f-4e98-4566-ab08-329d4ed66eea

Here's a repo with the failing test case — https://github.com/realgenekim/hodur-new
To reproduce, just type make clean viztest.

I finally had the chance of having a look at this.
Here's what I found: https://github.com/realgenekim/hodur-new/pull/1
The key was in the params sent to your fig/start.
An alternative way to fire up the visualizer without having to go through figwheel directly is something I've been copying and pasting between my projects:
(ns visualizer.focus
  (:require [hodur-engine.core :as hodur]
            [hodur-visualizer-schema.core :as visualizer]
            [cljs-http.client :as http]
            [cljs.core.async :refer [<! go]]))

(go
  (let [{:keys [status body]} (<! (http/get "focus_schema.edn"))]
    (if (= 200 status)
      (-> body
          hodur/init-schema
          visualizer/schema
          visualizer/apply-diagram!)
      (throw (ex-info "Can't find schema file" {})))))

Requirements:

Have the schema (focus_schema.edn in this case) at resources/public
Initialize it using visualizers launcher with: $ clojure -m hodur-visualizer-schema.main visualizer.focus

It's a tiny more involving as an example because it uses async and an http library but it lets me edit the schema file in isolation without having to edit the launcher code.

I can't make schema visualizer-schema to work also
[hodur/engine "0.1.8"]
[hodur/visualizer-schema "0.1.1"]
in my case
1 I build lein project
2 add go script in resources
3 make my index.html like below
   <!DOCTYPE html>

    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Welcome to cjhike2</title>

{% style "/assets/bulma/css/bulma.min.css" %}
{% style "/assets/material-icons/css/material-icons.min.css" %}
{% style "/css/screen.css" %}

{% script "/scripts/go.js" %}
{% script "/scripts/my_diagram.js" %} << script from your lib
{% script "/cljs-out/dev-main.js" %} << my main with `visualizer/apply-diagram!`

4 main.cljs as below
(def meta-db (engine/init-schema
               '[Person
                 [^String first-name
                  ^String last-name
                  ^Gender gender]

                 ^:enum
                 Gender
                 [MALE FEMALE IRRELEVANT]]))

(defn show []
  (-> meta-db
    visualizer/schema
    visualizer/apply-diagram!))

(show)

so, when I open browser window I don't have any console issues and logs, but nothing shows.
when I call (show) from cljs console again I get #object[Error Error: Invalid div id; div already has a Diagram associated with it.] and actually the canvas appeared, but it is empty.
Is it possible that I need specific version of GoJS? I have GoJS v2.1.38

@evilsneer  Using the recommendations from here, this procedure worked for me. Hopefully it gets you moving:
Create a directory structures
mkdir hodur-viz
cd hodur-viz

mkdir -p resources/public/scripts
mkdir -p src/visualizer

# tested on GoJS 2.1
curl https://gojs.net/latest/release/go.js -o resources/public/scripts/go.js

Create a default schema
Save to resources/public/focus_schema.edn
[Person
  [^String first-name
   ^String last-name
   ^Gender gender]

   ^:enum
   Gender
     [MALE FEMALE IRRELEVANT]]

Create deps
Save to deps.edn
{:paths ["src" "resources" "target"]
 :deps {cljs-http/cljs-http {:mvn/version "0.1.46"}
        hodur/visualizer-schema {:mvn/version "0.1.1"}}}

Create main app file
Save to src/visualizer/focus.cljc
(ns visualizer.focus
  (:require [hodur-engine.core :as hodur]
            [hodur-visualizer-schema.core :as visualizer]
            [cljs-http.client :as http]
            [cljs.core.async :refer [<! go]]))

(go
  (let [{:keys [status body]} (<! (http/get "focus_schema.edn"))]
    (if (= 200 status)
      (-> body
          hodur/init-schema
          visualizer/schema
          visualizer/apply-diagram!)
      (throw (ex-info "Can't find schema file" {})))))

Create Makefile
Save to Makefile
viztest:
	clojure -m hodur-visualizer-schema.main visualizer.focus

clean:
	rm -rf target

Launch the visualiser
make

After a few seconds, the visualiser should launch.
After editing resources/public/focus_schema.edn you'll need to refresh the browser to reflect the changes.
$ make
clojure -m hodur-visualizer-schema.main visualizer.focus
WARNING: When invoking clojure.main, use -M
[Figwheel:WARNING] Making target directory "target" and re-adding it to the classpath (this only needs to be done when the target directory doesn't exist)
[Figwheel] Compiling build dev to "target/public/cljs-out/main.js"
[Figwheel] Successfully compiled build dev to "target/public/cljs-out/main.js" in 10.318 seconds.
[Figwheel] Watching paths: ("src") to compile build - dev
[Figwheel] Starting Server at http://localhost:9500
[Figwheel] Starting REPL
Prompt will show when REPL connects to evaluation environment (i.e. a REPL hosting webpage)
Figwheel Main Controls:
          (figwheel.main/stop-builds id ...)  ;; stops Figwheel autobuilder for ids
          (figwheel.main/start-builds id ...) ;; starts autobuilder focused on ids
          (figwheel.main/reset)               ;; stops, cleans, reloads config, and starts autobuilder
          (figwheel.main/build-once id ...)   ;; builds source one time
          (figwheel.main/clean id ...)        ;; deletes compiled cljs target files
          (figwheel.main/status)              ;; displays current state of system
Figwheel REPL Controls:
          (figwheel.repl/conns)               ;; displays the current connections
          (figwheel.repl/focus session-name)  ;; choose which session name to focus on
In the cljs.user ns, controls can be called without ns ie. (conns) instead of (figwheel.repl/conns)
    Docs: (doc function-name-here)
    Exit: :cljs/quit
 Results: Stored in vars *1, *2, *3, *e holds last exception object
2021-05-05 14:22:26.038:INFO::main: Logging initialized @15801ms
Opening URL http://localhost:9500
ClojureScript 1.10.439
cljs.user=>


Add initial support for Lutron RadioRA 2 using pylutron

Description:
This PR adds support for Lutron RadioRA 2. I've been running with it for quite a few months now and things seem pretty solid. I'm sure there are issues, so bug reports are welcome.
This is a re-spin of #3832 rebased on dev recently and removing the XMC-1 support. I'll push that separately. I've also integrated all the comments made on the previous PRs.
Example entry for configuration.yaml:
lutron:
  lutron_host: <ip>
  lutron_user: lutron
  lutron_password: integration

Checklist:
If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable ([example][ex-requir]).
[x] New dependencies are only imported inside functions that use them ([example][ex-import]).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

:+1: for me!

Can you change the async part? I'll merge it after that.

Re groups... The Lutron software effectively forces you into creating rooms (especially if you then use their Android app), and adding devices there so they naturally lend themselves to groups. Also, it's very nice for auto-discovery where I don't need any configuration on the HASS end to get the latest RRA2 layout once I've updated the Main Repeater. The topology is all in once place and not dependent on HASS. Hope that makes sense.

Ok, I think this now addresses all the concerns... Hopefully :)

Hooray.  Thanks @thecynic !

This PR will still need documentation to be added.

Traveling now. Will get to it next week.
On Jan 28, 2017 5:41 PM, "Paulus Schoutsen"<EMAIL_ADDRESS>wrote:
This PR will still need documentation to be added.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/5337#issuecomment-275887821,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABcEMX7oozsqd1gGJJ1OlxevD82qtF25ks5rW-42gaJpZM4LjyKN
.

Something is missing for the documentation:
https://home-assistant.io/components/lutron/

Stump added: https://github.com/home-assistant/home-assistant.github.io/commit/57c2c4fdc4e48178208a957bfda3e67d2c98441a

USer given configuration should be check by voluptuous.

Pushed https://github.com/home-assistant/home-assistant.github.io/pull/1932  for review.


Adding New Front End Web Application for Food Website using bootstrap

@TusharKesarwani please assign me this issue under swoc tag!

Go ahead @ARCHITABHATTAD

@TusharKesarwani, I have already submitted my PR and the project is also merged into your repo...but I wish to make a few more changes in my project....I that possible?

@TusharKesarwani, I have already submitted my PR and the project is also merged into your repo...but I wish to make a few more changes in my project....I that possible?

Yes you can


ARROW-5765: [C++] Fix TestDictionary.Validate in release mode, add docker-compose job for testing C++ release build

This was exposed by ARROW-5145 https://github.com/apache/arrow/commit/f77c3427ca801597b572fb197b92b0133269049b
I also added a docker-compose job for testing the release build nightly at least in Crossbow on https://github.com/ursa-labs/crossbow

@ursabot crossbow test docker-cpp-release

@ursabot crossbow test docker-cpp-release

@ursabot crossbow test docker-cpp-release

@kszucs @fsaintjacques it seems like ursabot is crashing or something. any ideas?

I verified that the docker-compose job passes locally

@pitrou we can use ASSERT_DEATH to write unit tests that hit ARROW_CHECK_OK or DCHECK paths. We should perhaps start being more diligent about writing such tests to check assertions are enforced

+1


Total cost of electricity production chart should be added to chart selection list

The chart overview_costs_of_electricity_production, which is for example linked to the slide Cost & Efficiencies > Fuel prices, does not show up in the chart list, even though its yml file is linked to the Cost group. From the output_elements costs.yml:

under_construction: false
unit:
percentage:
group: Cost
sub_group:
show_point_label:
growth_chart:
key: overview_costs_of_electricity_production
max_axis_value:
min_axis_value:
hidden: false
requires_merit_order: false
dependent_on:
output_element_type_name: block

@antw would you happen to know how this is possible?


Feature/incremental updates

Maybe we can somehow speed up the testing process, its currently taking more time since we download docker & docker-compose.


new deviation RequireRoutedSubinterface0

Pull Request Functional Test Report for #1811 / caabf0a336f1819f3719560aec2fea8365150742
Virtual Devices

Device
Test
Test Documentation
Job

Arista cEOS

TE-13.1: gRIBI route ADD during Failover

Cisco 8000E

TE-13.1: gRIBI route ADD during Failover

Cisco XRd

TE-13.1: gRIBI route ADD during Failover

Juniper cPTX

TE-13.1: gRIBI route ADD during Failover

Nokia SR Linux

TE-13.1: gRIBI route ADD during Failover

Openconfig Lemming

TE-13.1: gRIBI route ADD during Failover

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1341

Relevant Lines:
2814

💛  - Coveralls


[Containerapp] Fix #29172: az containerapp secret set: Remove limit for secret name

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Containerapp

Please add test for this change to verify if it could meet your expectations.

Hi juju
The command has been covered by test_container_acr_env_var


How to align pagination controls to the left bottom corner of the table?

Currently the page navigation control appears on the bottom right corner by default. This makes it harder esp for tables with many columns as user has to scroll all the way to right to use the pagination. Is there any way to align this on the left bottom of the table instead of the right bottom by default?

does anyone know how to align this on left side?

@DewangS
components={{
        Pagination: props => (
                <TablePagination {...props} style={{display: "flex",
                  justifyContent: "flex-start"}}/>
        )
    }}

Sorry @Domino987  but when I added this under  declaration, I got weird output. Where exactly should this go? I've imported TablePagination from the material-table/core

No it's has to be be pagination from Material ui

@Domino987  So, I have below in my JSX component. As you can see I've imported the TablePagination from Material-ui and added the styling code snippet which you've provided under the  declaration. Still can't see the pagination aligned to left.
import { Box, Grid, TablePagination } from "@material-ui/core";

<MaterialTable
      components={{
        Pagination: props => (
                <TablePagination {...props} style={{display: "flex",
                  justifyContent: "flex-start"}}/>
        )
    }}
      localization={{
        pagination: {
            labelDisplayedRows: '{from}-{to} of {count}',
        }
    }}
        title={title}
        icons={tableIcons}
        columns={columns}
        data={reportData}
        options={{
          grouping: true,
          search: true,
          showTitle: true,
          isLoading: true,

          //exportDelimiter: '        ',
          headerStyle: {
            backgroundColor: "#01579b",
            color: "#FFF",
          },

        }}
      />

Can you throw this in a sandbox?

@Domino987  here it is Sandbox link
For some odd reason it works in Sandbox but not in my code. Not sure what's wrong. :-(

You are mix and matching versions of mui, material table and lab that are not compatible. Using material table v2 uses super old code, which needs to use old Mui versions as well. And lab and icons need to be below 5 as well, if you use them Mui V4 in other places. I recommend upgrading the versions to use either but mui VT with material table core 0.2.X or the latest mui V4 with the core 4.x.

Thanks. Just updated package.json on the forked sandbox with below latest packages ..still no luck
"@material-ui/core": "^4.12.4",
"@material-table/core": "^4.3.43",
"@material-ui/icons": "4.11.3",
"@mui/icons-material": "5.6.2",
"@mui/lab": "5.0.0-alpha.81",
"@mui/material": "5.7.0",

You are still using both Mui and Material ui. Those clash, use only one

even withe below packages it doesn't align left ...
"dependencies": {
"@material-ui/core": "^4.12.4",
"@material-table/core": "^4.3.43",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-scripts": "3.4.4"
},

It seems like it differs between mui v4 and v5.
This works for mui v4:
components={{
        Pagination: props => (
                <TablePagination {...props}
                style={{display: "flex",
                  justifyContent: "flex-start"}}
                 classes={{}}/>
        )
    }}

https://codesandbox.io/s/material-table-starter-template-forked-u2e3i7?file=/src/index.js

@Domino987  Perfect...  Thanks tons. This worked.


spec: clarify that iteration variables are "evaluated" in each iteration in for-range loops

http://play.golang.org/p/CqCtJDGoB2
Both gc and gccgo invoke f() in each iteration; that is the "iteration variable" is evaluated each time. This can be concluded from the spec since values are assigned to iteration variables like in an assignment, but perhaps it should be mentioned explicitly or have an example.

The spec does say: "Function calls on the left are evaluated once per iteration." The phrasing could definitely be clearer, but I think that it is at least well-specified and explicit.

Very explicit indeed - I completely missed that phrase. Thanks for pointing it out.


Document why Basis axis vectors are exposed transposed

Godot version:

3.1 beta 9
OS/device including version:

Windows 10
Issue description:

print spatial.transform.basis is wrong

I tested some case and this happen when spartial angle between 0 and 180 degree. it is ok at angle 180 degree or 0 degree

Steps to reproduce:
Minimal reproduction project:

test transform.zip

Basis is not transposed when converted to String. (or the other way around maybe?)
This results in different output. Not sure if this is an issue/bug.

It's not a bug a priori, Basis exposes its axis vectors transposed indeed. This should be better documented.

Wait, so with this into account, is -z forward, x right and y up? If not, that's yet another piece of info coders have to know to get them.

Wait, so with this into account, is -z forward, x right and y up? If

According to Vector3.FORWARD, Vector3.RIGHT and Vector3.UP, yes :smiley:

@Calinou those are constants, I mean taking any basis, rotated randomly, are x, y and z vectors still going to represent the same axes we see in the editor?

Just to clear any confusion:
Transform.basis basically is a 3x3 matrix used for rotation (and scale). Multiplying Basis * Vector3 rotates the Vector3, So multiplying the forward axis vector with a Transform.basis results in a vector pointing "forward" for that transformation.
If we look at how Matrix * Vector multiplication works:
[a  b  c]   [ j ]   [j*a + k*b + l*c]
[d  e  f] * [ k ] = [j*d + k*e + l*f]
[g  h  i]   [ l ]   [j*g + k*h + l*i]

we can see that if the Vector is Vector3(0, 0, -1) This basically results in:
[ -c ]
[ -f ]
[ -i ]

which is equal to -Basis.z exactly because vectors are exposed transposed.

I confuse why transform.basis is different from transform.basis.x, transform.basis.y, transform.basis.z.
I think that transform.basis.x is a part of  transform.basis.

You're right that Basis.X (and Y, Z) represent a part of Basis. As i mentioned above, Basis is a 3x3 Matrix.
Basis.X basically gives you one column of the matrix:
        [a  b  c]
Basis = [d  e  f], Basis.X = [a, d, g]
        [g  h  i]

However print(Basis) prints the Basis row by row.
I've tried to make this clear in this image:

thanks, @PapaFl . I understood that. It is not a bug.

I still think it needs better documentation though.

Should we leave the Basis print handler as-is? I haven't followed the issue closely.

I found an inconsistency between GDScript and C#. In C#, the basis is not transposed at all, so accessing the x, y and z vectors gets the rows, rather than the columns.
I am working on a raytracer, and I was supplying the basis to the shader incorrectly (the commented code here is wrong). GLSL matrix multiplication works with rows as opposed to the engine working with columns, so GDScript doing the conversion would have avoided the resulting bugs for me.

By the way, I wonder what are the advantages of using columns over rows in the engine?

For whoever got notified for that message, I am dumb. GLSL works with columns in the matrix as well, but accessing the individual elements is done by supplying the column then the row first, and I got confused (I do my coordinates in x, y usually). There is no inconsistency between GDScript and C#.

Just for a bit of clarification and revival of this issue.
In Godot 4 the way both Transform3D and Basis are converted to String (and by extension printed out) has changed:
var my_basis = Basis(Vector3(1, 2, 3), Vector3(4, 5, 6), Vector3(7, 8, 9))
print(my_basis)  # [X: (1, 2, 3), Y: (4, 5, 6), Z: (7, 8, 9)]

var transform = Transform3D(my_basis, Vector3.ZERO)
print(transform) # [X: (1, 2, 3), Y: (4, 5, 6), Z: (7, 8, 9), O: (0, 0, 0)]

This should mean that the original issue no longer exists. What could be documented now?


Distinguish between the Release and Debug libraries

What I found that

msbuild` INSTALL.vcxproj /p:Configuration=DEBUG

and

msbuild INSTALL.vcxproj /p:Configuration=RELEASE

produces binaries having same name.
As an example building aws-cpp-sdk-cognito-idp in debug and release produces lib/dll with same name. This would leads to accidental overwriting / replacing of previously installed version.

We'll add an optional Windows-only suffix (empty by default to maintain current behavior) for debug libraries.

Yesterday I added an option to the CMake setup that, on Windows only, lets you specify a suffix to be appended to the library name on Debug builds ('D' being the obvious choice).  Would this be a satisfactory solution for you?

yes, id do it on linux too though.
Sent from my iPhone

On Dec 8, 2016, at 8:50 AM, Bret Ambrose<EMAIL_ADDRESS>wrote:
Yesterday I added an option to the CMake setup that, on Windows only, lets you specify a suffix to be appended to the library name on Debug builds ('D' being the obvious choice). Would this be a satisfactory solution for you?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Do people expect that on Linux though?  My (admittedly cursory) research suggested that debug libraries just get installed to a different spot and name mangling isn't common.  Allowing it on all platforms is easy, I just worry about little oversights slipping through (for example, the CopyDlls macro breaks once you change the target's output name; easily fixed but it makes me paranoid that other scripts and rarely-used pathways might be making name assumptions).

run apt-get install on a debug symbols package and see what it does.
Sent from my iPhone

On Dec 8, 2016, at 9:10 AM, Bret Ambrose<EMAIL_ADDRESS>wrote:
Do people expect that on Linux though? My (admittedly cursory) research suggested that debug libraries just get installed to a different spot and name mangling isn't common. Allowing it on all platforms is easy, I just worry about little oversights slipping through (for example, the CopyDlls macro breaks once you change the target's output name; easily fixed but it makes me paranoid that other scripts and rarely-used pathways might be making name assumptions).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

A debug symbols package contains only debug symbols that got stripped from the binaries. It doesn't contain binaries with different names.
If the build produces a libaws-cpp-sdk-cognito-idpD.so or a libaws-cpp-sdk-cognito-idpR.so, then linking with -laws-cpp-sdk-cognito-idp will not work. All the build systems would have to be configured with the ability to flip the -l switches between debug and release.

@bretambrose:

Yesterday I added an option to the CMake setup that, on Windows only, lets you specify a suffix to be appended to the library name on Debug builds ('D' being the obvious choice). Would this be a satisfactory solution for you?

which flag is that produces lib suffixed With 'D'?  Is 'D' is default for DEBUG?


Unstable training

Hi, first of all thanks for the clear and concise code.
While attempting the reproduce the results, I've noticed an unstable training behavior for time window length 0.2 seconds (50 samples), the loss goes to Nan after approximately 50 epochs. I had to run multiple execution to reach a successful training. this behavior was seen only in tw of 0.2 seconds.
btw, I'm using google colab to run experiments with TF 2.5.0, Python version 3.7. and NVIDIA Tesla T4 as GPU.

I received another similar report saying the training is unstable and goes to NaN at around 50 epochs. He has set gradient clipping at 5. He was also using google platform running the code. After he switched to a new environment, the code works.
I have tested the code recently in a Ubuntu environment,
My library versions:
Keras 2.3.1
Tensor flow 1.14.0
Hope it helps.

Thanks for the clarification, I'll try with an earlier TF version.


[HELM] Remove all mention of Pachyderm IDE + Deployment instructions

Helm install not ready - Will be re-instated with relevant changes once the deployment is possible
AB#69

Well - Now that Notebooks beta is part of Pachyderm 2 GA, we will need to update the deployment instructions rather than remove them -  Closing this - See https://github.com/pachyderm/pachyderm/issues/6882


PD: Support labware without an 'A1' well

Overview
As a shortcut, we only allow custom labware in PD that has an "A1" well. Because most labware does!

We block uploading labware if it doesn't have an "A1" well
This is to allow Tip Positioning to get the well depth (for min/max and defaults) from "A1". But instead, we could fall back to the "next" well.

Questions

What labware lacks an A1? Are there so many usability issues with those labware that this feature isn't useful by itself?
If there's no "A1", how do we decide what well to use for Tip Positioning?

It may be worth looking into Labware Library for this, as it needs to figure out unique well depths for a given labware (especially tuberacks with different well depths)


Question Fetch

This works perfectly with XMLHttpRequest but not with Fetch.
Why?
Best regards
ZanderCodes

It should work with fetch as well. Have you set the mode flag, to any other value than "cors"? Can you provide an example that fails unexpectedly?

I use vuejs as SPA. I load this in the vue SPA in beforeMount. Debugger also normaly. Make request with fetch and this error:

Cross-origin request blocked: The same source rule prohibits reading the external resource on https://www.example.com (Reason: CORS attack failed)

I replace the orginal request Domain.

I have import the module xhook and
xhook.before((req) => {   req.url = 'https://cors-anywhere.herokuapp.com/' + req.url })
in the beforeMount methode and now replace all urls.

You should only use CORS Anywhere for cross-origin requests, not for same-origin requests.
The "CORS attach failed" response is not from CORS Anywhere, nor from the browser. Therefore I'll close this issue.
If you're claiming that XHR works but fetch fails, then you need to show the code that constructs the XHR request and the code that calls fetch. Without this, there is not much to go on.


[SPARK-44398][CONNECT] Scala foreachBatch API

This implements Scala foreachBatch(). The implementation basic and needs some more enhancements. The server side will be shared by Python implementation as well.
One notable hack in this PR is that it runs user's foreachBatch() with regular(legacy) DataFrame, rather than setting up remote Spark connect session and connect DataFrame.
Why are the changes needed?
Adds foreachBatch() support in Scala Spark Connect.
Does this PR introduce any user-facing change?
Yes. Adds foreachBatch() API
How was this patch tested?

A simple unit test.

cc: @bogao007

@zhenlineo could you review this? I am going to get the test working right.
We want to merge this ASAP as we are getting multiple streams of work done by 3.5 branch cut.

Merged to master, thanks!


Spam Vs Ham Mail Classification [With Streamlit GUI]

Pull Request for DL-Simplified 💡
Issue Title : Spam Vs Ham Mail Classification [With Streamlit GUI] #329

Info about the related issue (Aim of the project) : ML project with a Streamlit GUI that will predict whether the Mail received from some source is a Spam Mail or not
Name: Dipayan Majumder
GitHub ID: dipayan22
Email ID<EMAIL_ADDRESS>Idenitfy yourself: (Mention in which program you are contributing in. Eg. For a JWOC 2022 participant it's, JWOC Participant) SWOC 24

Closes: #issue number that will be closed through this PR
Describe the add-ons or changes you've made 📃
Give a clear description of what have you added or modifications made
Type of change ☑
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested? ⚙
Describe how it has been tested
Describe how have you verified the changes made
Checklist: ☑

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added things that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Hi @dipayan22 the project is working fine. Need to upgrade the README file by adding the EDA results under the Visualization tag, use <heading> tags for the topics, create a table consisting all the accuracy scores of the models, find a brief conclusion of the project.

Yes i have used Streamlit GUI . In every notebook file at the last i made a Streamlit GUI for this project.

Do I have to make a separate .py file for making the Streamlit GUI in the Model folder?

Do I have to make a separate .py file for making the Streamlit GUI in the Model folder?

That will be better.

File updated .

I think you missed to add the EDA results (images) under the EDA tag.
Accuracy scores of the models will be showcased after the EDA results.
@dipayan22

@abhisheks008 You can check now . REABME.md file is updated.

I couldn't find the Streamlit file in the model folder with .py extension.
Can you update that?


CAN YOU PLEASE UPDATE THIS

Can you please update this repo for any version of libmysql-dev beyond 5.7 (preferably 8)? I have to downgrade every day when I try to run since I am running it on an ubuntu 20.0.4 version of AWS. PLEASE FIX THIS. It is super annoying and way behind the times.

By the way, if anyone finds this issue when trying to fix it, the solution is to add typealias my_bool = CBool to the top (below the imports and above the class declaration in MySQLStmt.swift. I am leaving this open in the hopes that they might still find it and fix it (since they don't seem to want to accept pull requests since its dead)

By the way, if anyone finds this issue when trying to fix it, the solution is to add typealias my_bool = CBool to the top (below the imports and above the class declaration in MySQLStmt.swift. I am leaving this open in the hopes that they might still find it and fix it (since they don't seem to want to accept pull requests since its dead)


Added Tibble Gymnasium, a high school in Täby, Sweden

Will create a new pull request which also includes students emails, not just faculty,.


Use Woodpecker theme colors on Safari Tab Bar / Header Bar

Add theme-color  tag and dynamically change the theme-color when
switching into / out of dark mode.
I used the same colors as in the Navbar component, but I don't think it's possible to access the Windi CSS color definitions, so I had to hard core the hex values.
The theme-color  tag needs to be present in the HTML, otherwise querySelector returns null.

ci failed related: https://ci.woodpecker-ci.org/woodpecker-ci/woodpecker/build/1536/28