text:
Crash error in React while bundle

React build can not be complied after updating to ^4.0.0. lib version. Build crushes with 'Attempted import error: 'use' is not exported from 'react' (imported as 'o').'

Which bundler are you using?
Or can you provide a repro link?

Webpack. But also I tried a fresh blank create-reacr-app (via yarn) test with a few simple examples including next-example from the original repo (https://github.com/PavPavv/i18nano-test). It is also failed via building.

authors: PavPavv eolme


text:
docs: update content related to EOSIO

GH Issue
121
Steps to test

Run project locally
Open the website

CheckList

[ ] Follow proper Markdown format
[ ] The content is adequate
[ ] The content is available in both english and spanish
[ ] I Ran a spell check

@JeanVegaD  por favor revisar los conflictos. No me queda claro porque hay 56 archivos modificados para una actualización de contenido. Por favor revisar.

source: gharchive/pull-request

license_type: permissive

license_source: github-api


text:
[Bug] [Install] Failed building wheel for llama-cpp-python

Search before asking

[X] I had searched in the issues and found no similar issues.

Operating system information
MacOS(M1, M2...)
Python version information

=3.11

DB-GPT version
main
Related scenes

[ ] Chat Data
[ ] Chat Excel
[ ] Chat DB
[ ] Chat Knowledge
[ ] Model Management
[ ] Dashboard
[ ] Plugins

Installation Information

[X] Installation From Source

[ ] Docker Installation

[ ] Docker Compose Installation

[ ] Cluster Installation

[ ] AutoDL Image

[ ] Other

Device information
Device: Apple M2 Pro  32 GB
Models information
LLM: vicuna-13b-v1.5, ggml-model-q4_0.gguf
Embedding model: text2vec-large-chinese
What happened
Failed building wheel for llama-cpp-python
What you expected to happen
  ninja: build stopped: subcommand failed.

  *** CMake build failed
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for llama-cpp-python
Failed to build llama-cpp-python
ERROR: Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based projects
How to reproduce
`
❯ ls
CODE_OF_CONDUCT    Makefile           assets             docker             logs               plugins            tests
CONTRIBUTING.md README.md          cd                 docker-compose.yml models             requirements       tools
LICENSE            README.zh.md       dbgpt              docs               package-lock.json  scripts            web
MANIFEST.in        and                dbgpt.egg-info     examples           pilot              setup.py
❯ pip install -e ".[llama_cpp]"
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Obtaining file:///Users/xuji/Project/PythonProject/DB-GPT
Preparing metadata (setup.py) ... done
Requirement already satisfied: aiohttp==3.8.4 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from dbgpt==0.5.1) (3.8.4)
Collecting chardet==5.1.0 (from dbgpt==0.5.1)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/74/8f/8fc49109009e8d2169d94d72e6b1f4cd45c13d147ba7d6170fb41f22b08f/chardet-5.1.0-py3-none-any.whl (199 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.1/199.1 kB 587.2 kB/s eta 0:00:00
Collecting importlib-resources==5.12.0 (from dbgpt==0.5.1)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/38/71/c13ea695a4393639830bf96baea956538ba7a9d06fcce7cef10bfff20f72/importlib_resources-5.12.0-py3-none-any.whl (36 kB)
Requirement already satisfied: python-dotenv==1.0.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from dbgpt==0.5.1) (1.0.0)
Requirement already satisfied: cachetools in /Users/xuji/anaconda3/lib/python3.11/site-packages (from dbgpt==0.5.1) (5.3.2)
Collecting pydantic<2,>=1 (from dbgpt==0.5.1)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/4b/44/439860148466c6a541a2916fc379a5730b16ef3c7d433e30a6041d36d7bb/pydantic-1.10.14-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5/2.5 MB 388.4 kB/s eta 0:00:00
Collecting typeguard (from dbgpt==0.5.1)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/18/01/5fc45558268ced46d86292763477996a3cdd505567cd590a688e8cdc386e/typeguard-4.1.5-py3-none-any.whl (34 kB)
Collecting llama-cpp-python (from dbgpt==0.5.1)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8e/ae/551f28037d9a49693f7b09b0e22912be4e839b1af5f4ae6ab721162a37a4/llama_cpp_python-0.2.57.tar.gz (36.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 36.9/36.9 MB 184.7 kB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: attrs>=17.3.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (23.1.0)
Requirement already satisfied: charset-normalizer<4.0,>=2.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (3.1.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (6.0.4)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (4.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (1.9.2)
Requirement already satisfied: frozenlist>=1.1.1 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (1.3.3)
Requirement already satisfied: aiosignal>=1.1.2 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from aiohttp==3.8.4->dbgpt==0.5.1) (1.3.1)
Requirement already satisfied: typing-extensions>=4.2.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from pydantic<2,>=1->dbgpt==0.5.1) (4.8.0)
Requirement already satisfied: numpy>=1.20.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from llama-cpp-python->dbgpt==0.5.1) (1.24.3)
Collecting diskcache>=5.6.1 (from llama-cpp-python->dbgpt==0.5.1)
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl (45 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.5/45.5 kB 219.9 kB/s eta 0:00:00
Requirement already satisfied: jinja2>=2.11.3 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from llama-cpp-python->dbgpt==0.5.1) (3.1.2)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from jinja2>=2.11.3->llama-cpp-python->dbgpt==0.5.1) (2.1.3)
Requirement already satisfied: idna>=2.0 in /Users/xuji/anaconda3/lib/python3.11/site-packages (from yarl<2.0,>=1.0->aiohttp==3.8.4->dbgpt==0.5.1) (3.4)
Building wheels for collected packages: llama-cpp-python
Building wheel for llama-cpp-python (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for llama-cpp-python (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [66 lines of output]
*** scikit-build-core 0.8.2 using CMake 3.28.3 (wheel)
*** Configuring CMake...
2024-03-20 11:48:14,473 - scikit_build_core - WARNING - libdir/ldlibrary: /Users/xuji/anaconda3/lib/libpython3.11.a is not a real file!
2024-03-20 11:48:14,473 - scikit_build_core - WARNING - Can't find a Python library, got libdir=/Users/xuji/anaconda3/lib, ldlibrary=libpython3.11.a, multiarch=darwin, masd=None
loading initial cache file /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/CMakeInit.txt
-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - 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: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.39.3 (Apple Git-146)")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Accelerate framework found
-- Metal framework found
-- Warning: ccache not found - consider installing it for faster compilation or disable this warning with LLAMA_CCACHE=OFF
-- CMAKE_SYSTEM_PROCESSOR: arm64
-- ARM detected
-- Performing Test COMPILER_SUPPORTS_FP16_FORMAT_I3E
-- Performing Test COMPILER_SUPPORTS_FP16_FORMAT_I3E - Failed
CMake Warning (dev) at vendor/llama.cpp/CMakeLists.txt:1218 (install):
Target llama has RESOURCE files but no RESOURCE DESTINATION.
This warning is for project developers.  Use -Wno-dev to suppress it.
  CMake Warning (dev) at CMakeLists.txt:21 (install):
    Target llama has PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION.
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at CMakeLists.txt:30 (install):
    Target llama has PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION.
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Configuring done (0.7s)
  -- Generating done (0.0s)
  -- Build files have been written to: /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build
  *** Building project with Ninja...
  Change Dir: '/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build'

  Run Build Command(s): /Users/xuji/anaconda3/bin/ninja -v
  [1/25] cd /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/vendor/llama.cpp && xcrun -sdk macosx metal -O3 -c /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.metal -o /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.air && xcrun -sdk macosx metallib /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.air -o /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/default.metallib && rm -f /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.air && rm -f /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-common.h && rm -f /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.metal
  FAILED: bin/default.metallib /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/default.metallib
  cd /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/vendor/llama.cpp && xcrun -sdk macosx metal -O3 -c /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.metal -o /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.air && xcrun -sdk macosx metallib /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.air -o /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/default.metallib && rm -f /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.air && rm -f /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-common.h && rm -f /var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/tmp8r4sq7lr/build/bin/ggml-metal.metal
  xcrun: error: unable to find utility "metal", not a developer tool or in PATH
  [2/25] cd /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp && /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-build-env-5oxmtbv_/normal/lib/python3.11/site-packages/cmake/data/bin/cmake -DMSVC= -DCMAKE_C_COMPILER_VERSION=15.0.0.15000309 -DCMAKE_C_COMPILER_ID=AppleClang -DCMAKE_VS_PLATFORM_NAME= -DCMAKE_C_COMPILER=/Library/Developer/CommandLineTools/usr/bin/cc -P /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/common/../scripts/gen-build-info-cpp.cmake
  -- Found Git: /usr/bin/git (found version "2.39.3 (Apple Git-146)")
  [3/25] /Library/Developer/CommandLineTools/usr/bin/cc -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion -MD -MT vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-alloc.c.o -MF vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-alloc.c.o.d -o vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-alloc.c.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/ggml-alloc.c
  [4/25] /Library/Developer/CommandLineTools/usr/bin/cc -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion -MD -MT vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-backend.c.o -MF vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-backend.c.o.d -o vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-backend.c.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/ggml-backend.c
  [5/25] /Library/Developer/CommandLineTools/usr/bin/c++ -DGGML_USE_METAL -DLLAMA_BUILD -DLLAMA_SHARED -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/. -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/../.. -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/../../common -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -O3 -DNDEBUG -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wno-cast-qual -MD -MT vendor/llama.cpp/examples/llava/CMakeFiles/llava.dir/llava.cpp.o -MF vendor/llama.cpp/examples/llava/CMakeFiles/llava.dir/llava.cpp.o.d -o vendor/llama.cpp/examples/llava/CMakeFiles/llava.dir/llava.cpp.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/llava.cpp
  [6/25] /Library/Developer/CommandLineTools/usr/bin/cc -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion -MD -MT vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-metal.m.o -MF vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-metal.m.o.d -o vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-metal.m.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/ggml-metal.m
  [7/25] /Library/Developer/CommandLineTools/usr/bin/cc -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion -MD -MT vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-quants.c.o -MF vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-quants.c.o.d -o vendor/llama.cpp/CMakeFiles/ggml.dir/ggml-quants.c.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/ggml-quants.c
  [8/25] /Library/Developer/CommandLineTools/usr/bin/c++ -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -DLLAMA_BUILD -DLLAMA_SHARED -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -Dllama_EXPORTS -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wmissing-declarations -Wmissing-noreturn -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi -MD -MT vendor/llama.cpp/CMakeFiles/llama.dir/unicode.cpp.o -MF vendor/llama.cpp/CMakeFiles/llama.dir/unicode.cpp.o.d -o vendor/llama.cpp/CMakeFiles/llama.dir/unicode.cpp.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/unicode.cpp
  [9/25] /Library/Developer/CommandLineTools/usr/bin/c++ -DGGML_USE_METAL -DLLAMA_BUILD -DLLAMA_SHARED -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/. -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/../.. -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/../../common -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -O3 -DNDEBUG -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wno-cast-qual -MD -MT vendor/llama.cpp/examples/llava/CMakeFiles/llava.dir/clip.cpp.o -MF vendor/llama.cpp/examples/llava/CMakeFiles/llava.dir/clip.cpp.o.d -o vendor/llama.cpp/examples/llava/CMakeFiles/llava.dir/clip.cpp.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/examples/llava/clip.cpp
  [10/25] /Library/Developer/CommandLineTools/usr/bin/cc -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion -MD -MT vendor/llama.cpp/CMakeFiles/ggml.dir/ggml.c.o -MF vendor/llama.cpp/CMakeFiles/ggml.dir/ggml.c.o.d -o vendor/llama.cpp/CMakeFiles/ggml.dir/ggml.c.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/ggml.c
  [11/25] /Library/Developer/CommandLineTools/usr/bin/c++ -DACCELERATE_LAPACK_ILP64 -DACCELERATE_NEW_LAPACK -DGGML_SCHED_MAX_COPIES=4 -DGGML_USE_ACCELERATE -DGGML_USE_METAL -DLLAMA_BUILD -DLLAMA_SHARED -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=600 -Dllama_EXPORTS -I/private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/. -F/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks -O3 -DNDEBUG -std=gnu++11 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk -mmacosx-version-min=14.3 -fPIC -Wmissing-declarations -Wmissing-noreturn -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi -MD -MT vendor/llama.cpp/CMakeFiles/llama.dir/llama.cpp.o -MF vendor/llama.cpp/CMakeFiles/llama.dir/llama.cpp.o.d -o vendor/llama.cpp/CMakeFiles/llama.dir/llama.cpp.o -c /private/var/folders/4s/yy57yhc576xfdy54ydh4y89m0000gn/T/pip-install-i9af0hni/llama-cpp-python_8e9103ef918f44cebc95bc60aa935a2b/vendor/llama.cpp/llama.cpp
  ninja: build stopped: subcommand failed.

  *** CMake build failed
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for llama-cpp-python
Failed to build llama-cpp-python
ERROR: Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based projects
❯ pip --version
pip 23.2.1 from /Users/xuji/anaconda3/lib/python3.11/site-packages/pip (python 3.11)
❯ python --version
Python 3.11.4
`
Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Got the same issue

source: gharchive/issue

authors: figodeng xujipm

repo: eosphoros-ai/DB-GPT

license: MIT


text:
Make colored help output more compatible with an applications overall theme

 Issue by epage
Friday Oct 29, 2021 at 19:58 GMT
Originally opened as https://github.com/clap-rs/clap/issues/2963

Please complete the following tasks

[X] I have searched the discussions
[X] I have searched the existing issues

Rust Version
rustc 1.55.0 (c8dfcfe04 2021-09-06)
Clap Version
master
Steps to reproduce the bug with the above code
Run enquirer and compare the program's regular output with its --help (after enabling colored help)
Actual Behaviour
The colors clash with the application's overall theme
Expected Behaviour
The colors are tastefully align with the rest of the theme
Additional Context
In discussing the concerns raised #2845 (see also https://github.com/clap-rs/clap/discussions/2906), we realized that at least one way to describe / categorize the problem with colored help is how well it meshes with the rest of an applications theme.
One of our aims is to provide a low-effort polished ("modern") experience.  A subset of our target users will polish the rest of their app over time, including color support and will run into theme compatibility issues. If we can provide both a polished low-effort experience and increase our theme compatibility, that seems like an overall win for our users.
This could be solved by manual help generation (like today or with #2913) or by providing theming support (#1790) but these increase the friction for a polished experience, making it less likely for them to do so.
If we go with changing the current coloring, it doesn't mean we can't use color it has to be a lot more selective and semantically relevant, like with errors.  Other tools at our disposal are dim, bold, underline, and italics.

 Comment by ctrlcctrlv
Tuesday Nov 16, 2021 at 07:53 GMT

If you want to guarantee better default colors regardless of a user's terminal theme, you do have the TrueColor escape codes at your disposal, as supported in modern terminals like Kitty. You can also figure out if you're in a light or dark colored terminal with the XTerm escape \e]11;?\a, supported in even older terminals.

repo: epage/clapng


text:
It's impossible to work with the chat, if the first message contains tab

EPAM AI DIAL chat version
0.6.15
What happened?
The issue was reproduced on UAT and Prod serv; not reproduced on Staging (the servers use different blob storages)

Create new conversation
Copy-paste to input message field a phrase with tabulation
Send it to the chat
-> error appears

Expected result: the chat should work with tabulation; probably we can change it to space? tbd with developers
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging and prod servers (patch 0.6.17 was applied)

Verified on sales env 0.9.2 version successfully

repo: epam/ai-dial-chat


text:
fix(chat): fix displaying of disabled context menu items (Issue #2509)

Description:
fix displaying of disabled context menu items
Issues:

Issue #2509

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review


text:
Backmerge: #2266 Atom click on Functional Groups/Salts and Solvents doesn't replace them it forms a scattering of atoms

Backmerge of https://github.com/epam/ketcher/pull/2283

This is a backmerge of: https://github.com/epam/ketcher/pull/2283

repo: epam/ketcher


text:
Add Stripe example

Test Plan

Checklist

[ ] Tests updated
[ ] Docs updated

Screenshots

imo this example needs a rework

it gives a bad user experience because of the multi redirect here https://github.com/saurabhp75/epic-stripe/blob/baffb612ced3d53f53d17681baf31e62a2387b34/app/routes/account.tsx#L30

I don't get the value of wrapping the stripe calls into endpoints https://github.com/saurabhp75/epic-stripe/blob/baffb612ced3d53f53d17681baf31e62a2387b34/app/services/stripe/api/create-customer.ts

finally the duplication of data between prisma and stripe for the pricing plans makes thing complicated and is not what strip puts in its examples

I will fix first two items.
As for third item, there are few points to consider :

The app needs to keep some data locally (which will be synced using webhook). This is essential for better UX and avoid network latency. IMHO this is a pretty standard approach when integrating with payments platform.

The data to keep in Prisma depends very much on the type of products being sold like one time purchases, subscriptions or the one with licences or usage base plans. See item below for the use cases this example handles.

This example provides 3 subscription based products with option of monthly or yearly payments. Each subscription variant can be configured with a limit on number of units user can consume.

Do let me know which Stripe example you are looking at for DB schema.

README updated based on the discussion.

repo: epicweb-dev/epic-stack


text:
Deploy "complex" Go web application

We need to deploy a fairly complex Go application to get closer to our lighthouse goal.
Let's pick one from Github and start listing the outcomes and problems.

Searching github using go web application, + language filter Go ... Some results

https://github.com/benbjohnson/wtf -- https://www.gobeyond.dev/wtf-dial/ -- does not seem require services -- 3 different main.go entry files ...
https://github.com/josephspurrier/gowebapp -- see also https://github.com/blue-jay/blueprint -- the blueprint is a framework, not a full app
https://github.com/pluralsight-projects/golang-fifa-world-cup-web-service
https://github.com/lukehoban/webapp-go -- just a tiny bit more than our golang-sample-app
https://github.com/sohamkamani/blog_example__go_web_app
https://github.com/sohamkamani/go-sql-database-example (preceding + database for persistence) - postgres - db setup (tables) outside of app, db connection fixed in code -> needs tweaks for picking up a service instead.
https://github.com/huacnlee/mediom -- forum app - mysql, also node script ?!
https://github.com/aclindsa/moneygo - personal finance app - go and javascript - feels complicated to setup
https://github.com/disintegration/quiet - old - discontinued - db service - postgres, DATABASE_URL env.var for connection

stopped on page 7 - https://github.com/search?l=Go&p=7&q=go+web+application&type=Repositories

Trialed deployment of https://github.com/lukehoban/webapp-go
Final outcome: Mostly :heavy_check_mark: (:boom: app pages are 404)
Documentation:

https://paketo.io/docs/howto/go/
https://paketo.io/docs/howto/configuration/
https://paketo.io/docs/howto/configuration/#procfiles

Issues overcome:

No Procfile. Required.
Bad name for binary in the Procfile.
Missing HTML helper files.

Not overcome yet:

App pages are 404

Procfile
The paketo go buildpack, or paketo in general, expects a file Procfile in the main directory of the sources. This file specifies what command to run to serve web requests, possibly with options and arguments.
It has to contain a line web: name-of-go-binary (options, arguments)...
Initial content was web: webapp-go. I.e. expected binary of same name as the go project/package.
Bad name
The actual name of the go binary was workspace. The bad name prevent the server/app from properly starting.
Look for lines like
Assigning launch processes:
     workspace (default): /layers/paketo-buildpacks_go-build/targets/bin/workspace

in the staging log. These tell us the name of binary.
:exclamation: Note: Ignore the path. Only the name matters. The launcher/entrypoint set up by the back handles the paths.
Missing HTML files
With the correct name in the Procfile the system actually attempted to launch the server.
This failed with a go panic: panic: open edit.html: no such file or directory.
The sources of the app contain 2 .html files. These are apparently required at runtime.
This was fixed by specifying --env BP_KEEP_FILES='*.html' for the epinio push command.
This may be do-able through a project.toml file as well.

Just as a reference it seems that Gitea is in Go, and it looks pretty complex and famous.

Here the documentation about the Gite deployment and how to: https://github.com/epinio/epinio/wiki/Gitea-deployment

https://github.com/epinio/epinio/wiki/Gitea-deployment
For my review and rewriting I treated the wiki page as an how-to (or tutorial)
which will go into our docs repository at some point to be an official example.
Notes and questions ...

uri = "../../buildpacks/make"

This (in the builder.toml) indicates that the custom build pack resides
somewhere in the forked full stack ?  Or beside it ?
Unclear, (relative) directory locations and such were not mentioned before.

Packaging the builder is done with pack:

Link to pack ?

and cannot be configured to use another

I added this part because the text essentially implied that this is the case,
and I wanted it to be explicit.
This note/question is just to confirm that it indeed is not possible to
configure gitea for a port other than 3000.

Check the secrets from the generated configuration

I am missing commands to determine the (name of the) generated configuration.
IOW the name in following command appears out of thin air.

providing all these values in the initial Gitea configuration completes the connection.

Missing information about where to find the gitea configuration, and how to edit it.
A file ?
Environment variables to set on push/update ?
Other ?
I assume that gitea has to be repushed/restarted when editing is done, right ?
(Which action depends on exact nature of the config and how it is edited)

https://github.com/epinio/epinio/wiki/Gitea-deployment
For my review and rewriting I treated the wiki page as an how-to (or tutorial) which will go into our docs repository at some point to be an official example.
Notes and questions ...
uri = "../../buildpacks/make"

This (in the builder.toml) indicates that the custom build pack resides somewhere in the forked full stack ? Or beside it ?
Unclear, (relative) directory locations and such were not mentioned before.

Yes, that's a bit unclear. A buildpack can be referenced from a docker image or locally.
I haven't pushed it, and from a developer perspective it was easier to test it without rebuild and push the image.
If you look at the buildpack samples here some of them are local, while others are external:
[[buildpacks]]
id = "samples/ruby-bundler"
version = "0.0.1"
uri = "../../buildpacks/ruby-bundler"

[[buildpacks]]
uri = "docker://cnbs/sample-package:hello-universe"

Probably it's better to provide in our Epinio org a working sample that a user can clone and test

Packaging the builder is done with pack:

Link to pack ?

Yes, better to add a reference to the Buildpack how-to and setup. Or explain what is pack.

and cannot be configured to use another

I added this part because the text essentially implied that this is the case, and I wanted it to be explicit.
This note/question is just to confirm that it indeed is not possible to configure gitea for a port other than 3000.

It's actually possible and I did it before the custom listening port value was available, but it was a bit "ugly".
Gitea is using a .ini file to configure these things, so I had to do a copy and a sed to replace the HTTP_PORT:
https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini#L91

Check the secrets from the generated configuration

I am missing commands to determine the (name of the) generated configuration. IOW the name in following command appears out of thin air.

Ah, yep. It actually came from the autocompletion, but it's worth to show that it can be found from a show.

providing all these values in the initial Gitea configuration completes the connection.

Missing information about where to find the gitea configuration, and how to edit it. A file ? Environment variables to set on push/update ? Other ?
I assume that gitea has to be repushed/restarted when editing is done, right ? (Which action depends on exact nature of the config and how it is edited)

Yes, also this part was probably unclea. The configuration is an interactive web page that pops out the first time.

@andreas-kupries as a result of the review I will create a sample repo with the forked stack, the buildpack and the builder.
What do you think? :slightly_smiling_face:

It's actually possible and I did it before the custom listening port value was available, but it was a bit "ugly".

While I agree to editing/sed being ugly, I would still prefer that, just to keep chart values out of this example,
as out-of-scope/topic.
Which means that this section of the page has to be tweaked.

Yes, that's a bit unclear. A buildpack can be referenced from a docker image or locally.
I haven't pushed it, and from a developer perspective it was easier to test it without rebuild and push the image.

I realized that your "fork" was simply a checkout you then edited locally.
What was not clear was if the custom (make) build pack stuff was done inside that checkout, or in a sibling directory.
The relative path as seen did not make that clear either (as the base directory it is relative to is not known to me).
This my hope for a line in the page to clarify the relative locations of things.

It's actually possible and I did it before the custom listening port value was available, but it was a bit "ugly".

While I agree to editing/sed being ugly, I would still prefer that, just to keep chart values out of this example, as out-of-scope/topic.
Which means that this section of the page has to be tweaked.

That makes sense! I would do that.

Yes, that's a bit unclear. A buildpack can be referenced from a docker image or locally.
I haven't pushed it, and from a developer perspective it was easier to test it without rebuild and push the image.

I realized that your "fork" was simply a checkout you then edited locally.
What was not clear was if the custom (make) build pack stuff was done inside that checkout, or in a sibling directory. The relative path as seen did not make that clear either (as the base directory it is relative to is not known to me). This my hope for a line in the page to clarify the relative locations of things.

Yes, actually the "fork" is a clone of the Paketo Stack, edited locally and pushed on the Docker registry.
The builder and buildpack are instead in a completely new directory. The relative references are the same because I kept the structure.

authors: andreas-kupries enrichman

repo: epinio/epinio


text:
[UI] Validate behaviour for non-admins

Permission handling is coming in post 1.0 (#104)
Need to ensure when the user does hit this.... the UI handles it correctly (doesn't log user out, shows friendly error, etc)

https://docs.epinio.io/next/references/authorization#add-a-new-usercat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: BasicAuth
metadata:
  labels:
    epinio.io/api-user-credentials: "true"
    epinio.io/role: "user"
  name: my-epinio-user
  namespace: epinio
stringData:
  username: myuser
  password: "$2a$10$6bCi5NMstMK781In7JGiL.B44pgoplUb330FQvm6mVXMppbXBPiXS"
  namespaces: |
    workspace
    workspace2
EOF

To get password - https://bcrypt-generator.com/ (rounds 10)

repo: epinio/ui


text:
[FEATURE REQUEST] Add time synchronization service (NTP) to Epiphany

Is your feature request related to a problem? Please describe.
We need synchronized time on Epiphany instances.
Reasons:

NFS requires time synchronization.
It is highly recommended for NFS to use a time synchronization daemon to keep client/server clocks in sync. Without accurate clocks on all nodes, NFS can introduce unwanted delays.
Source: https://wiki.archlinux.org/index.php/NFS#Installation
NFS does not synchronize time between client and server, and offers no mechanism for the client to determine what time the server thinks it is. What this means is that a client can update a file, and have the timestamp on the file be either some time long in the past, or even in the future, from its point of view.
While this is generally not an issue if clocks are a few seconds or even a few minutes off, it can be confusing and misleading to humans. Of even greater importance is the affect on programs. Programs often do not expect time difference like this, and may end abnormally or behave strangely, as various tasks timeout instantly, or take extraordinarily long while to timeout.
Source: https://www.time-travellers.org/shane/papers/NFS_considered_harmful.html

Kerberos (used to encrypt NFS)
The Kerberos protocol requires the time of the client and server to match: if the system clocks of the client does not match that of the server, authentication will fail. The simplest way to synchronize the system clocks is to use a Network Time Protocol (NTP) server.
Source: https://help.ubuntu.com/community/Kerberos

Describe the solution you'd like
Possibilities:
For cloud based installations it should be set up automatically by Epiphany (where possible).

On AWS, the Amazon Time Sync Service is available through NTP at the 169.254.169.123 IP address for any instance running in a VPC but (at least for AMIs currently used by Epiphany) it needs to be configured. According to AWS docs, the latest versions of Amazon Linux AMIs synchronize with the Amazon Time Sync Service by default. Worth to check whether images we are going to use (issue #1330) have NTP pre-configured.
Source: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

On Azure there is NTP enabled by default on default images (that is what documentation says, but that requires confirmation).
Source: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/time-sync#configuration-options

For on-premise installations, I think we have a few options:

Install and configure NTP clients by Epiphany (configurable addresses of existing/external NTP servers)
Install and configure NTP clients and server(s) by Epiphany (if external NTP server not defined)
Add NTP service as prerequisite to Epiphany docs, to be configured by an administrator before starting installation (outside Epiphany) + add pre-flight check to fail installation when time is not synchronized

Describe alternatives you've considered
None
Additional context
None

DoD checklist

Changelog

[ ] updated
[ ] not needed

COMPONENTS.md

[ ] updated
[ ] not needed

Schema

[ ] updated
[ ] not needed

Backport tasks

[ ] created
[ ] not needed

Documentation

[ ] added
[ ] updated
[ ] not needed

[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade
[ ] backup/restore

[ ] Idempotency tested
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license

@to-bar I updated issue description of this issue. Can you check and comment if that is better now?

@to-bar I updated issue description of this issue. Can you check and comment if that is better now?

Thanks, good job. Updated AWS part after checking that AMIs we currently use do not have NTP pre-configured. However, RHEL based VMs use RHELs default setup - external NTP sources (rhel.pool.ntp.org).

Looks like ticket #1233 is on hold, so we're not sure if this task is mandatory.. if is.. than we need to put more explanations regarding current work:

What was done?
What works?
What not?
What are the issues?

#1233 will be probably closed without resolution after we finish #1455 epic. So question is rather do we need NTP?

Update:

First of all we decided to 86 kerberos, we don't want to look at it again (ever).
NFS could be useful in some cases, but probably "CNS" is the way to go here.
Despite 1. and 2. the idea is still valid. The simplest example is that apt manager in Ubuntu may stop working if time is incorrect (difference is too large). I had this issue couple of times in my local libvirt infrastructure.
I believe, things like etcd and various other databases (clustered software) should have proper time synchronization. :+1:

Not going todo anymore feature requests for Epiphany.

repo: epiphany-platform/epiphany


text:
[FEATURE REQUEST] Add configuration option to Keycloak for PROXY_ADDRESS_FORWARDING env. variable

Is your feature request related to a problem? Please describe.
I would like Keycloak service to be aware of being behind HAPRoxy and inform it to use X-Forwarded-... headers for proper JWT issuer information. At the moment I manually edit keycloak stateful set to include PROXY_ADDRESS_FORWARDING environment variable.
Describe the solution you'd like
I would like Epiphany yml configuration file to have flag in auth-service application config that would translate to PROXY_ADDRESS_FORWARDING true/false value passed as environment variable to the keycloak pod. The default value can be set to false to maintain backward compatibility.
Describe alternatives you've considered
Additional context

DoD checklist

[ ] Changelog updated
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Schema updated / doesn't need to be updated
[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Idempotency tested
[ ] Documentation added / updated / doesn't need to be updated
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license
[ ] Backport tasks created / doesn't need to be backported

OS does not matter during testing process since application works in k8s cluster.
Tested on Ubuntu:

@przemyslavic i think we can merge this, i'm moving it to DoD, move back if you have any doubts

authors: GrzegorzKlankABB plirglo


text:
Design user interface

Pre-requisite to #1

[!NOTE]
Cross post from https://github.com/epiverse-connect/epiverse-search/issues/13

I spent too much time thinking about the design structure, and in order to get myself off my ass I started a mock up. After discussing with @Bisaloo, search + map will be part of one micro-site.
You can view a very simple mock up, with interactivity on Penpot: https://design.penpot.app/#/view/f5fe9278-89db-81e9-8004-f9e8503e465d?page-id=f5fe9278-89db-81e9-8004-f9e8503e465e&section=interactions&index=0&share-id=1ab1fa36-da8e-809d-8004-f9f5c9a272e3
The grey square boxes underneath the "search bar" are placeholders for the WHO and data.org logo's. Here is also a recording, to make sure you see all the functionality I want you to see and provide your thoughts on:
https://github.com/user-attachments/assets/1ae69a89-cd73-427f-bf85-92c9f219ab94
What are your initial thoughts about the structure? I am sharing for early feedback and will also be able to demonstrate for our WHO meeting, if desired.

I love the design. It is clean and has a clear purpose (write what you want and see the results below).
I don't care much about the logos, so I'll remove them now (we can find where to put them after). I guess there will be other flows, right? Could you please explain what the matrix means? (I'm sorry if it has already been explained; it seems familiar to me, but I just can't remember what it is)

Thanks @maguiNdong for the fast feedback 😊
Pardon the lack of context – here's some additions:

The logo's are included because it was previously mentioned this would be co-branded data.org and WHO – if that has changed we can adjust 👍
The matrix is the two-dimensional map of epidemiological tools that we are creating

Regarding the flows, I am not sure what your thoughts are – this mock-up is certainly not complete in interactivity or information presented, it is more an example. The mock-up is made for mobile screen sizes but will also be adjusted for tablet + desktop screen sizes. There my thinking would be to have the search and the map presented horizontally next to each other as there is more space (in mobile they are presented vertically).

authors: Bisaloo chartgerink maguiNdong

repo: epiverse-connect/epiverse-map


text:
fix(django.py): fix ignore request in Django

fixing case where Content-Type does not exists

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

authors: enoodle ranrib

repo: epsagon/epsagon-python


text:
Synchronize timers

Hi, so I'm using the eFlexPwm library, and for now I can't find a way to synchronize two different modules. Is the library capable of doing that? Or only submodules?
So, I have this code, and when I check with an oscilloscope the signals from FlexPWM2 there's almost no deviation (100ns). But when I compare outputs from PWM2 and PWM 4 there's a delay of 3.0 us. Is there any way to synchronize the timers? So they start at the same time?
/*
eFlexPwm Simple Example
This example generates 3 pairs of PWM signals on a Teensy 4.1 board
Each signal pair corresponds to the PWMA output and the PWMB (A's complement)
output of an eFlexPWM submodule.
In this example, sub-modules 0, 2 and 3 of PWM2 are used. On the Teensy 4.1 board,
this corresponds to the following pins:

PWM
SubModule
Pol
Teensy
Native

2
0
A
4
EMC_06

2
0
B
33
EMC_07

2
2
A
6
B0_10

2
2
B
9
B0_11

2
3
A
36
B1_02

2
3
B
37
B1_03

The frequency is fixed by the constant PwmFreq, here at 18 kHz

On sub-module 0, the duty cycle changes by 5 in 5 from 0 to 100% every 100 PWM periods.

The duty cycle of sub-module 2 is equal to that of sub-module 0 divided by 2.

The duty cycle of sub-module 3 is equal to that of sub-module 0 divided by 4.

This example displays a message on the Serial link (USB CDC), and any error messages:
eFlexPwm Simple Example
Submodules successfuly started
*/
#include <Arduino.h>
#include <eFlexPwm.h>
//#include "TeensyTimerTool.h"
//   Definitions
// ----------------------------------------------------------------------------
// avoid systematically prefixing objects with the namespace
using namespace eFlex;
//using namespace TeensyTimerTool;
//   Variables
// ----------------------------------------------------------------------------
/* PWM frequence in hz. */
const uint32_t PwmFreq = 15000;
const uint32_t sinefreq = 50;
// My eFlexPWM submodules (Hardware > PWM2: SM[0], SM[2], SM[3])
SubModule Sm20(4,33);
SubModule Sm22(6,9);
SubModule Sm40(22);
SubModule Sm41(23);
SubModule Sm42(2,3);
// Initialize Timers for PWM2 and PWM4
Timer &Tm2 = Sm20.timer();
Timer &Tm4 = Sm40.timer();
// Duty Cycle in %
uint8_t dutyCyclePercent = 0;
// Code
void setup_FlexPWM2() {
Config myConfig;
myConfig.setReloadLogic(kPWM_ReloadPwmFullCycle);    // Use full cycle reload
myConfig.setPwmFreqHz(PwmFreq);                      // Set PWM Frequency for PWM2.
// Initialize SubModule 0
Sm20.configure(myConfig);
// Initialize SubModule 2
myConfig.setClockSource(kPWM_Submodule0Clock);     //Same clock as SubModule 0
myConfig.setPrescale(kPWM_Prescale_Divide_1);
myConfig.setInitializationControl(kPWM_Initialize_MasterSync);
Sm22.configure (myConfig);
}
void setup_FlexPWM4() {
Config myConfig;
myConfig.setReloadLogic(kPWM_ReloadPwmFullCycle);    // Use full cycle reload
myConfig.setPwmFreqHz(PwmFreq);                      // Set PWM Frequency for PWM2.
// Initialize SubModule 0
Sm40.configure(myConfig);
// Initialize SubModule 1
myConfig.setClockSource(kPWM_Submodule0Clock);     //Same clock as SubModule 0
myConfig.setPrescale(kPWM_Prescale_Divide_1);
myConfig.setInitializationControl(kPWM_Initialize_MasterSync);
Sm41.configure(myConfig);
Sm42.configure(myConfig);
}
void setup(){
setup_FlexPWM2();
setup_FlexPWM4();
Tm2.begin();
Tm4.begin();
}
void loop() {
int dutyCyclePercent_A = 50;
int dutyCyclePercent_B = 50;
Sm20.updateDutyCyclePercent (dutyCyclePercent_A, ChanA);
Sm20.updateDutyCyclePercent (dutyCyclePercent_B, ChanB);
Sm22.updateDutyCyclePercent (dutyCyclePercent_A, ChanA);
Sm22.updateDutyCyclePercent (dutyCyclePercent_B, ChanB);
Sm40.updateDutyCyclePercent (dutyCyclePercent_A);         //Only has one channel
Sm41.updateDutyCyclePercent (dutyCyclePercent_B);         //Only has one channel
Sm42.updateDutyCyclePercent (dutyCyclePercent_A, ChanA);
Sm42.updateDutyCyclePercent (dutyCyclePercent_B, ChanB);;
Tm2.setPwmLdok();
Tm4.setPwmLdok();
}

I don't think the eFlexPwm library exposes this functionality, but you should be able to achieve it by fiddling with the registers directly and using xbar connect in addition to using the eFlexPwm library for everything else.
Here are some interesting links related to your question:
https://forum.pjrc.com/threads/60396-Teensy-4-synchronize-ADC-sampling-with-flexPWM-timing
https://forum.pjrc.com/threads/66665-Teensy-4-1-DMA-transfer-XBAR-does-not-work-as-expected
https://community.nxp.com/t5/i-MX-RT/Synchronize-flexPWM-Modules/td-p/897154
https://www.nxp.com/docs/en/application-note/AN12214.pdf
I was working on a solution to this very problem a while ago and some code snippets I had were:
`// The i.MXRT1062 uses one config register per two XBAR outputs, so a helper
// function to make code more readable.
bool xbarConnect (uint8_t input, uint8_t output) {
if (input >= 88 || output >= 132)
return false;
volatile uint16_t * xbar_select_reg = &XBARA1_SEL0 + (output >> 1); // 1 reg per 2 outputs
if (output & 1)  // high byte or low byte choice.
*xbar_select_reg = (*xbar_select_reg & 0x00FF) | (input << 8);
else
*xbar_select_reg = (*xbar_select_reg & 0xFF00) | input;
return true;
}
void enableXbar() {
// Turn on XBAR1 clock for all but stop mode
CCM_CCGR2 |= CCM_CCGR2_XBAR1(3);
// Connect trigger to synchronize PWM modules
// IN is 1 based, i.e. 1-4, whereas OUT is 0 based, i.e. 0-3
// IN_FLEXPWM2_PWM1 is PWM2.0
// OUT_FLEXPWM3_EXT_SYNC1 is PWM3.1
//xbarConnect (XBARA1_IN_FLEXPWM2_PWM1_OUT_TRIG0, XBARA1_OUT_FLEXPWM3_EXT_SYNC1);
xbarConnect (XBARA1_IN_FLEXPWM2_PWM1_OUT_TRIG1, XBARA1_OUT_FLEXPWM3_EXT_SYNC1);
// Use FlexPWM4/2 (pins 2&3) to send trigger signal to FlexPWM2/2 (pins 6&9) and FlexPWM1/3 (pins 8&7)
//   xbar_connect (XBARA1_IN_FLEXPWM4_PWM3_OUT_TRIG0, XBARA1_OUT_FLEXPWM1_PWM3_EXT_SYNC) ;
//   xbar_connect (XBARA1_IN_FLEXPWM4_PWM3_OUT_TRIG0, XBARA1_OUT_FLEXPWM2_PWM2_EXT_SYNC) ;
// Select alt 3 for EMC_06 (XBAR), rather than original 5 (GPIO)
CORE_PIN4_CONFIG = 3; // shorthand for IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_06 = 3;
// Turn up drive & speed as very short pulse
IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_06 = IOMUXC_PAD_DSE(7) | IOMUXC_PAD_SPEED(3) | IOMUXC_PAD_SRE;
}`
The above code is untested and I got distracted from that particular bit of functionality. I'll come back to it at some point no doubt. Nevertheless you might find some useful bits in there to help you solve your problem. If you do find a solution then please paste it here.

I considered incorporating this code ( https://www.nxp.com/docs/en/application-note/AN5142.pdf  Chapter 3.14), but I'm having some trouble.
This is for my dissertation, so it really has to work. I'll post here when I have something to show.
.)

You might find this post quite interesting. It is doing exactly what you want to do.
Copied from the PJRC forum:

The medium term goal here was to synchronize 2 (or more) flexPWM modules (not submodules) by routing a trigger from one module to the EXT_SYNC input of (multiple) submodules.

I happen to recently having been attempting the same thing, synchronizing different FlexPWM modules. It took me quite some hours figuring this out and I think I can explain what you saw back in 2020 (!)

With this synchronization approach I was first trying to route a flexPWM trigger to a pin so I could look at it. XBARA1 output 6 is XBAR_INOUT40 which is ALT3 of pin EMC_04 which is Teensy 4.0 pin 2. XBARA1 input 40 is the trigger output from the 1st submodule of the 1st flexPWM module. So I needed to do 2 other things for which I have code: Enable the trigger output via the flexPWM's submodule TCTRL register, and select the XBAR_INOUT40 signal to the EMC_04 pin (it is ALT3). I never got a signal on this pin, so something is still not working.

Turns out the trigger outputs are one clock in duration (not the FlexPWM clock either - slowing this down doesn't help, I suspect
its the XBAR clocking that sets this) - you can only really see any pulses on an IO pin if you set max slewrate, full drive strength,
and even then they are runt pulses.
Another gotcha I discovered was the inconsistent numbering of FlexPWM submodules - in most of the documentation each FlexPWM unit has submodules 0..3, whereas the trigger output lines to the XBAR switch are named

FLEXPWM4_PWM1_OUT_TRIG0
FLEXPWM4_PWM2_OUT_TRIG0
FLEXPWM4_PWM3_OUT_TRIG0
FLEXPWM4_PWM4_OUT_TRIG0

so for many hours I was bashing my head against this by assuming FLEXPWM4_PWM2_OUT_TRIG0 was for submodule 2

Of course once I got past this then I would have used a different XBARA1 output to route the trigger to the EXT_SYNC input of a flexPWM submodule whose INIT_SEL would need to be programmed for EXT_SYNC. BTW: I am thinking of using the dead time insertion capability of the flexPWM. Otherwise maybe this could be accomplished with a Quad Timer but I have not looked into that at all (yet).

I've then routed the correct signal to EXT_SYNC on the other units and get them to sync up with only 20ns delay at 600MHz
(this is not dependent on the FlexPWM prescaler). I used the VAL1 trigger (0b000010 in the TCTRL register's
FLEXPWM_SMTCTRL_OUT_TRIG_EN field)

repo: epsilonrt/eFlexPwm


text:
Upload ini-file

Upload ini file to a model and display data on the model view page

duplicate

repo: equinor/pepm-ui


text:
Write Comment Excerpt Toggling

As described in eregs/notice-and-comment#202, implement toggling of the section excerpt.
Default closed:

Click to reveal excerpt:

This looks good and works great!
One thing I was thinking since I started playing around with it is modifying the padding of the content inside that box to account for how the paragraphs themselves have left padding and a scrollbar needs to appear on the right.
I changed
#preamble-write .comment-context {
    padding: 0 30px 0 10px;
}

And liked the look of that but I wasn't sure if the .comment-context class is used anywhere else that could cause trouble.

@donjo: the iffiness of padding inside .comment-context is that top level sections (like say, I. General Information) also adds more left padding.

Very useful

authors: cmc333333 donjo xtine

repo: eregs/regulations-site

license_source: bigquery


text:
cleaning up dictionaries in timeseriesinst and supplyinst

This issue can be closed when this is addressed: https://github.com/ergs/d3ploy/pull/157#issuecomment-445984651

closed with https://github.com/ergs/d3ploy/pull/157


text:
Better feedback of HTML syntax errors

ngTemplate task stops when a syntax error is found in any HTML file.
Even using --verbose in grunt, the syntax errors are not visible.

@marcospont In my testing just now i created a syntax error in an HTML file and got feedback from the grunt task saying there was a Parse Error with a reference to the line. Can you provide an example where syntax errors are being swallowed?

This is still an issue, and there is nothing to provide because we dont know why it gets stuck, refer to this issue:
https://github.com/ericclemmons/grunt-angular-templates/issues/112

I was able to get my grunt task to hang, but unfortunately the issue lies in html-minifier so we don't control it. With --verbose on you should now be able to see which template it was processing when it started hanging. I would also recommend trying https://github.com/htmllint/grunt-htmllint if you're running into this problem as that should hopefully help you catch it ahead of time.

repo: ericclemmons/grunt-angular-templates

license: mit


text:
function for hardening hashes

Imagine a function which takes an hash/hash-object and returns an hash/hash-object. The function does nothing more then increase the iteration count and rehash the old one.
This is useful if you want keep your hashes difficult to crack as computer performance is increasing. (e.g with a cronjob)
What do you thing about it?

You can't increase the iteration count without the password (afaik):
pkbdf2(pwd, salt, i) !== pkbdf2(pkbdf2(pwd, salt, i / 2), salt, i / 2)

Nice idea, but as @madbence said, I don't think this is possible. I'll have to dig into the implementation of pkbdf2.

ahh sorry, you are right!

You need the original password. See here, where PRF is a keyed HMAC:
U1 = PRF(Password, Salt || INT_32_BE(i))
U2 = PRF(Password, U1)
...
Uc = PRF(Password, Uc-1)

Subsequent iterations of PRF use Password as the PRF key and the output of the previous PRF computation as the salt.

It's a neat idea though, @denyskoch . I think it ought to be a consideration for a future algorithm.

authors: brianmhunt denyskoch madbence tjconcept

repo: ericelliott/credential


text:
Watch only in development env.

Run webpack --watch only if NODE_ENV=development

Development is the default one anyway. Why do you need it?

Fair point. =)

authors: ericelliott nkbt

repo: ericelliott/prod-module-boilerplate


text:
Allow any constructor

It might make sense from the user’s perspective and from the parser’s perspective to allow any JS constructor as a type.
I also tried to make the rules simpler and more explicit.

I agree that users shouldn't be forced to redefine all the global constructors.
We should create (or reuse) utility libraries for browser and JS non-primitive global types.

authors: ericelliott tomekwi

repo: ericelliott/rtype


text:
Partial could not be found

Partial not found error when deployed to Digital Ocean, tried changing file name, adding hbs.registerPartials, but neither works.
> node ./bin/tasks/assemble "production"

events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: The partial global/header could not be found
    at Object.invokePartial (/one-table/node_modules/handlebars/dist/cjs/handlebars/runtime.js:332:11)
    at Object.handlebars.VM.invokePartial (/one-table/node_modules/engine-handlebars/index.js:196:26)
    at Object.invokePartialWrapper [as invokePartial] (/one-table/node_modules/handlebars/dist/cjs/handlebars/runtime.js:84:39)
    at Object.eval (eval at createFunctionContext (/one-table/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:262:23), <anonymous>:10:31)
    at main (/one-table/node_modules/handlebars/dist/cjs/handlebars/runtime.js:208:32)
    at ret (/one-table/node_modules/handlebars/dist/cjs/handlebars/runtime.js:212:12)
    at ret (/one-table/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:519:21)
    at Object.render (/one-table/node_modules/engine-handlebars/index.js:94:14)
    at /one-table/node_modules/engine-cache/index.js:251:14
    at Object.engineRender [as render] (/one-table/node_modules/engine-cache/index.js:287:7)

config.js
var express = require('express');
var bodyParser = require('body-parser');
const methodOverride = require('method-override');
var errorHandler = require('errorhandler');
var path = require('path');
var exphbs = require('express-handlebars');
const helpers = require( 'handlebars-helpers')();

module.exports = function() {
  var app = express();

  app.engine('.hbs', exphbs({
    extname: '.hbs',
    helpers: require(path.join(__dirname, 'src', 'templates', 'helpers', 'render')),
    layoutsDir: path.join(__dirname, 'src','templates', 'layouts'),
    partialsDir: path.join(__dirname, 'src','templates', 'partials'),
    defaultLayout: 'default'
  }));

  app.set('port', 8080);
  app.set('views', path.join(__dirname, 'src','templates','pages'));
  app.set('view engine', 'hbs');
  app.use(bodyParser.urlencoded({ extended: true }));
  app.use(bodyParser.json());
  app.use(methodOverride());
  app.use(errorHandler());
  app.use(express.static(path.join(__dirname, './build')));

  return app;
}();

This repo is no longer maintained. New versions of express-handlebars are maintained at https://github.com/express-handlebars/express-handlebars. If you create an issue there we can try to help you.

Thanks - just created the issue in the new version

authors: UziTech namPS

repo: ericf/express-handlebars


text:
[DOC] Add Example Notebook TidyTuesday 2019-07-09

Brief Description

I'd like to write a notebook that provides an example that cleans & wrangles TidyTuesday 2019-07-09 data.

Dataset
The raw data comes from TidyTuesday 2019-07-09: Women's World Cup Results.

Brief Description
I'd like to write a notebook that provides an example that cleans & wrangles TidyTuesday 2019-07-09 data.
Dataset
The raw data comes from TidyTuesday 2019-07-09: Women's World Cup Results.

And I am going to take a stab at it :)

repo: ericmjl/pyjanitor


text:
Provides cost estimation along with result?

This could be a nice user-facing feature.
Lambda cost can be easily estimated by accumulating the lambda runtime, multiplied by 100ms unit cost. Invocation cost can be included but is generally minimal. S3 read/write is free for lambda.

I think that sounds awesome and could be handled entirely client-side -- is there any variance in lambda costs per-AZ?

Lambda cost looks like uniform across AZ. I forgot S3 put/get from host, which varies across AZ. But again, this is a minor cost compared to lambda: $0.000005 per request vs. $0.0075 per 300s of lambda.

authors: ericmjonas ooq

repo: ericmjonas/pywren


text:
APISIGN_NOT_PROVIDED

I'm having this problem when I call limit buy method. I'm using bittrex API through python-bittrex.
buylimit(market, amount, price)
My script supposed to buy the coin saved in a .txt file. It checks every second whether something saved or not if yes, it should buy that coin via Bittrex API. It can get the latest price of the coing via api but limit buy doesn't work. No error etc. It just doesn't work. I gave proper permissions to my API on bittrex. And set up everything(key etc.) correctly. How can I solve this?

its buy_limit not buylimit, hope it works now

Look at this function it is working fine for me and tested.
function calculateSign(url){
var sign=crypto.createHmac('sha512',constants.bittrexCredentials.SECRET);
sign = sign.update(url,'ascii');
sign = sign.digest('hex');
return sign;

}
Full Implementation repo : https://github.com/tarun1475/Nodejs-Bittrex-Client

repo: ericsomdahl/python-bittrex


text:
Error when pressing abort as user without code modification privileges

a SecurityError occurred (error 2151), reason:rtErrNoPriv, An attempt was made to do a privileged operation for which no privilege had been granted.
---
SecurityError (AbstractException) >> _signalWith: @5 line 25
SecurityError (AbstractException) >> signal @2 line 47
UserProfile (Object) >> _error: @13 line 7
UserProfile >> _validateCodeModificationPrivilege @7 line 9
SymbolList >> _validatePrivilege @13 line 17
[] in  ExecBlock1 (SymbolList) >> _validatePrivilege: @4 line 11
SymbolList (Collection) >> do: @5 line 10
SymbolList >> _validatePrivilege: @8 line 9
SymbolList >> replaceElementsFrom: @2 line 9
JadeServer64bit32 (JadeServer) >> refreshSymbolList @5 line 3
JadeServer64bit32 (JadeServer) >> abort @5 line 5
GsNMethod class >> _gsReturnToC @1 line 1

To create a user without code modification privileges do the following (and commit):
	| securityPolicy worldAuthorization newUser |
	worldAuthorization := #read.
	securityPolicy := GsObjectSecurityPolicy new
		ownerAuthorization: #write;
		worldAuthorization: worldAuthorization;
		yourself.
	System commit.
	newUser := AllUsers
		addNewUserWithId: 'MinimalUser'
			password: 'swordfish'
			defaultObjectSecurityPolicy: securityPolicy
			privileges: #(
				  'UserPassword'
				  'SessionAccess'
				  'SessionPriority')
			inGroups: #().
		  securityPolicy owner: newUser.

@dalehenrich Removed refreshSymbolList after abort. Required code modification privilege. Shouldn't be necessary to sync transient & persistent symbol lists in modern versions of gemstone.
In Rowan oscar branch sha 7a356ca

authors: dalehenrich ericwinger

repo: ericwinger/Jade


text:
No known instance method for selector 'verifyAtLocation:'

When using OCMVerifyAll with OCMock 3.5 I'm seeing a compile-time error. The object in question is an OCMProtocolMock, though an OCMClassMock did the same thing.

Unfortunately, I cannot reproduce this. I can use OCMVerifyAll(). What error specifically do you see? How are you integrating OCMock? What kind of target (macOS, iOS, etc.) are you building for?

I'm building an iOS target. It's been a little while since I looked at this but I believe that I attempted to use OCMVerifyAll when creating this PR, specifically in the SDLHapticManagerSpec.m tests, but I received that error.

authors: erikdoe joeljfischer

repo: erikdoe/ocmock


text:
Updated the nan package version.

Using the older 2.0.0 version resulted in the following error when performing an npm install (on Node.js 6.9.1):

../../nan/nan.h: In function ‘bool Nan::SetAccessor(v8::Localv8::Object, v8::Localv8::String, Nan::GetterCallback, Nan::SetterCallback, v8::Localv8::Value, v8::AccessControl, v8::PropertyAttribute)’:
../../nan/nan.h:1933:16: warning: ‘bool v8::Object::SetAccessor(v8::Localv8::Name, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Localv8::Value, v8::AccessControl, v8::PropertyAttribute)’ is deprecated (declared at /home/weblogic/.node-gyp/6.9.1/include/node/v8.h:2750): Use maybe version [-Wdeprecated-declarations]
, attribute);

Thanks.

repo: erikdubbelboer/node-sleep


text:
Add /static/ to gitignore

What's this PR do?
Adds /static/ to gitignore for the server
Where should the reviewer start?
.gitignore
How should this be manually tested?
Any background context you want to provide?
This template was adapted ~stolen~ from Quickleft/Sprint.ly

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@d393e7b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop      #55   +/-   ##
==========================================
  Coverage           ?   96.36%
==========================================
  Files              ?       91
  Lines              ?     1649
  Branches           ?        0
==========================================
  Hits               ?     1589
  Misses             ?       60
  Partials           ?        0

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 d393e7b...54a9633. Read the comment docs.

authors: codecov-io erikiado


text:
Remove unnecessary import alias in BundleSize.md

There is only one single default export in the actions source code, so there is no need to use a multi-import alias.
https://github.com/erikras/redux-form/blob/0b49d4349f008a0458b0fa0a6b5cee10bc3e2b0a/src/actions.js#L440

Codecov Report

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

@@          Coverage Diff           @@
##           master   #3410   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files          68      68
  Lines        1529    1529
======================================
  Hits         1529    1529

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 1965475...caf224e. Read the comment docs.

repo: erikras/redux-form


text:
I added an MIT license

I noticed there was no license to be found so I thought it might be helpful to add the standard MIT License at least.
It will actually show up above the "clone or download" button so there will be no misunderstandings.
Cheers,
Dennis

@dreamsurfer Thanks! Although I think the name should be edited right?

Oh, my bad. You're absolutely right!
I guess, that happens when you quickly copy a license from another project.
I changed the name to "Batchu Venkat Vishal". Does that fit?

Thanks! :+1:

Glad I could help. :)

authors: dreamsurfer erilyth

repo: erilyth/Standard-Datastructures


text:
Fail to obtain address of deployed Contract on the chain in Eris

Hello
I have a chain with 2 full nodes + 2 root nodes.
2 full nodes runs at 2 machines and all is good. I have a code below:
I only use code below to deploy dynamically a contract on the chain, but I cannot obtain the address of deployed contract
const node_host = "localhost";
const default_rpc_port = "1337";

const chain_name ="mychain_name";
const chain_name_directory_path ="../chains";
const json_account_file_name = "accounts.json";

var contractCode = "contract SimpleContract { \n" +
                     "uint storedData;" + "\n" +
                    "function set(uint x) {storedData = x;} " + "\n" +
                    "function get() constant returns (uint retVal) { return storedData;}}";

var output = Solidity.compile(contractCode,1);//1 to activate the optimiser
var compiledSimpleContract = output.contracts.SimpleContract;
var abiSimpleContract = JSON.parse(compiledSimpleContract.interface);
var bytecodeSimpleContract = compiledSimpleContract.bytecode;

var MyNewContractAddress;

//********it doesnot run***************
getContractManager().then(function(contractManager) {
  var contractFactory = contractManager.newContractFactory(abiSimpleContract);
  log("contractFactory from getContractManager = \n " + contractFactory);
   contractFactory.new({data: bytecodeSimpleContract}, function(error, contract) {
     if (error){throw error;}

     MyNewContractAddress = contract;

     log("Using promise------------------------");
   });

});
log("MyNewContractAddress: " + MyNewContractAddress); //output: undefined
//***********************

function getContractManager() {

    return new Promise(function(resolve, reject) {
	var accountData = require(chain_name_directory_path + "/" + chain_name + "/" + json_account_file_name);
        //log("getContractManager");

	//var contractManager = erisContracts.newContractManagerDev(dbUrl, accountData.irt_testchain2_full_000);
	var contractManager = erisContracts.newContractManagerDev(dbUrl, accountData[chain_name + "_full_000"]);
        //log(contractManager);
        //log("------------------------");
        resolve (contractManager);
    });
}

I have obtained contractManager and I can find i'm successful to deploy this contract by accessing to localhost:46657/list_accounts and I see new address appear
But I cannot obtain address of deployed of this contract in the code above.
The MyNewContractAddress variable has always "undefined" value
I replace the function getManager() with another function getManager2
function getContractManager2() {
   var accountData = require(chain_name_directory_path + "/" + chain_name + "/" + json_account_file_name);
   //log("getContractManager2");
   var contractManager = erisContracts.newContractManagerDev(dbUrl, accountData[chain_name + "_full_000"]);
   //log(contractManager);
   //log("------------------------");
   return contractManager;
}

and use
var contractFactory = getContractManager2().newContractFactory(abiSimpleContract);
contractFactory.new({data: bytecodeSimpleContract}, function(error, contract) {
   if (error){throw error;}

     MyNewContractAddress = contract;

   log("Not using promise------------------------");
});
log("MyNewContractAddress: " + MyNewContractAddress);

I also try without function by
var contractManager = erisContracts.newContractManagerDev(dbUrl, accountData[chain_name + "_full_000"]);
var contractFactory = contractManager.newContractFactory(abiSimpleContract);

It doesnot work either
The only difference is that I donot use Promise any more but I receive the same results:

undefined for  MyNewContractAddress variable
Error below in both cases

home/my_name/.eris/apps/node_modules/solc/bin/soljson-latest.js:1
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename

TypeError: Cannot read property 'call_data' of undefined
    at /home/my_name/.eris/apps/node_modules/eris-contracts/lib/pipes/dev_pipe.js:101:36
    at /home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/transactions.js:176:9
    at fixedCallback (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/unsafe.js:120:13)
    at /home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/rpc/http.js:81:13
    at httpRequest.onreadystatechange (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/rpc/http.js:103:17)
    at dispatchEvent (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:572:25)
    at setState (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:14)
    at IncomingMessage.<anonymous> (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:431:13)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:905:12)
    at nextTickCallbackWith2Args (node.js:441:9)
    at process._tickCallback (node.js:355:17)

I suggest you educate yourself more about how to write asynchronous code in JavaScript.  This line is executing before your promise resolves:
log("MyNewContractAddress: " + MyNewContractAddress); //output: undefined

It should be structured more like this:
getContractManager().then(function(contractManager) {
  var contractFactory = contractManager.newContractFactory(abiSimpleContract);
  log("contractFactory from getContractManager = \n " + contractFactory);
   contractFactory.new({data: bytecodeSimpleContract}, function(error, contract) {
     if (error){throw error;}

     MyNewContractAddress = contract;
     log("MyNewContractAddress: " + MyNewContractAddress);

     log("Using promise------------------------");
   });

});

Thanks @NodeGuy  for your answer. I made a mistake when I type above
The function getContractManager use Promise and getContractManager2 is synch function.
Indeed, I've already code below
getContractManager().then(function(contractManager) {
var contractFactory = contractManager.newContractFactory(abiSimpleContract);
contractFactory.new({data: bytecodeSimpleContract}, function(error, contract) {
if (error){throw error;}
 **MyNewContractAddress = contract;**
 //var result = error ? error : contract;
 //log(result);
 log("MyNewContractAddress: " + MyNewContractAddress);**//output: undefined**
 log("Using promise------------------------");

});
});
getContractManager2 is synch function
var contractFactory = getContractManager2().newContractFactory(abiSimpleContract);
contractFactory.new({data: bytecodeSimpleContract}, function(error, contract) {
if (error){throw error;}
 MyNewContractAddress = contract;

log("Not using promise------------------------");
});
log("MyNewContractAddress: " + MyNewContractAddress);//output: undefined

Let's focus on getting it to work without promises for now.
Try the following change to your code:
//getContractManager2 is synch function**
var contractFactory = getContractManager2().newContractFactory(abiSimpleContract);
contractFactory.new({data: bytecodeSimpleContract}, function(error, contract) {
   if (error){throw error;}

     MyNewContractAddress = contract;
     log("MyNewContractAddress: " + MyNewContractAddress);

   log("Not using promise------------------------");
});

Thanks @NodeGuy
This is What I done before I try Promise. However, I have just tried again and I receive error as above
_home/my_name/.eris/apps/node_modules/solc/bin/soljson-latest.js:1
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath"normalize";var ret=nodeFS["readFileSync"](filename
TypeError: Cannot read property 'call_data' of undefined
at /home/my_name/.eris/apps/node_modules/eris-contracts/lib/pipes/dev_pipe.js:101:36
at /home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/transactions.js:176:9
at fixedCallback (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/unsafe.js:120:13)
at /home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/rpc/http.js:81:13
at httpRequest.onreadystatechange (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/lib/rpc/http.js:103:17)
at dispatchEvent (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:572:25)
at setState (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:14)
at IncomingMessage. (/home/my_name/.eris/apps/node_modules/eris-contracts/node_modules/eris-db/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:431:13)
at emitNone (events.js:72:20)
at IncomingMessage.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:905:12)
at nextTickCallbackWith2Args (node.js:441:9)
at process.tickCallback (node.js:355:17)

You're using an old version of eris-contracts.js.  Please upgrade to 0.15.8 and try again.


text:
Search broken by OTP 27 update of docs

replication

go https://www.erlang.org/
click on 'Documentation' link at top, to https://www.erlang.org/docs
click 'Erlang/OTP Documentation' link at top, to https://www.erlang.org/doc/
click in the search box at the top
type 'unicode' and hit enter
result: a broken page from Erlang/OTP 24.1.4, at https://www.erlang.org/doc/search.html?v=27&q=unicode

Thanks for the report! The CSS links had not been updated. Fixed in master, will be published online soon.

authors: garazdawi jrfondren

repo: erlang/erlang-org


text:
Unable to receive offline message with a sticky session

Environment

VerneMQ Version: 1.1.0
OS: Ubuntu 16.04
Erlang/OTP version (if building from source): 20

Expected behavior
When a client connects to broker with clean_session=False and persistent_client_expiration is set to 1 week. After some time period, if client disconnects and expectation is that if there are any messages published now should be sent to the client when it connects back again with clean_session=False.

Please describe the expected behaviour.

Actual behaviour
Unable to receive the messages.

Please include minimal steps to reproduce the issue, if possible.

You need to publish and subscribe with QoS > 0

My bad missed mentioning qos level during subscription. Thank you very much.

authors: ioolkos vedavidhbudimuri

repo: erlio/vernemq


text:
Trying to get this to work within a Docker container.

I've been trying to get this to run within a Docker container and I've been getting some weird issues...
I tried Googling and seeing what pops up, but to no avail.
Any ideas?
FROM debian:stretch

RUN apt-get update && apt-get install --no-install-recommends -y \
    ca-certificates \
    curl \
    mercurial \
    git-core
RUN curl -s https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz | tar -v -C /usr/local -xz

ENV GOPATH /go
ENV GOROOT /usr/local/go
ENV PATH /usr/local/go/bin:/go/bin:/usr/local/bin:$PATH

#! go get slack-term
RUN go get -u github.com/erroneousboat/slack-term
RUN apt-get install make -y
RUN cd $GOPATH/src/github.com/erroneousboat/slack-term && make build && cp bin/slack-term /usr/local/bin/slack-term

#! copy over files
COPY entrypoint.sh /entrypoint.sh
COPY slack-term.json /slack-term.json

#! change up the configuration file
ENTRYPOINT ["/entrypoint.sh"]

CMD ["slack-term", "-config", "/slack-term.json"]

Error:
▶ docker run -it -e TERM=$TERM -v /etc/localtime:/etc/localtime:ro -e TOKEN cdrage/slack-term
Captured a panic(value=runtime error: makeslice: cap out of range) when rendering Bufferer. Exit termui and clean terminal...
Print stack trace:

1: running [Created by termui.Init @ render.go:63]
    debug      stack.go:24     Stack(0x8dff40, 0xc4200a0010, 0x8a7697)
    termui     render.go:107   render.func1()
               panic.go:505    panic(0x805ae0, 0x8decd0)
    termui     helper.go:198   DTrimTxCls(#2, 0x8, 0x8, 0xfffffffffffffffe, #2, 0x8, 0x8)
    termui     block.go:88     Block.drawBorderLabel(0, 0, 0, 0x42, 0x1, 0x1, 0xffffffffffffffff, 0x41, 0, 0, ...)
    termui     block.go:202    (*Block).Buffer(#1, 0, 0, 0, 0, 0)
    termui     list.go:51      (*List).Buffer(#1, 0, 0, 0, 0, 0)
    components channels.go:123 (*Channels).Buffer(0xc420192540, 0, 0, 0, 0, 0)
    termui     grid.go:167     (*Row).Buffer(0xc4200704e0, 0, 0, 0, 0, 0)
    termui     grid.go:178     (*Row).Buffer(0xc4200705a0, 0, 0, 0, 0, 0)
    termui     grid.go:274     Grid.Buffer(0xc4202dc9b0, 0x2, 0x2, 0, 0, 0, 0, 0, 0, 0, ...)
    termui     render.go:124   render(0xc4202dc9c0, 0x1, 0x1)
    termui     render.go:65    Init.func2()

for grins I tried passing privileged mode and a copy of my environment, but yeah same results... honestly I'd be more suspect of the termui library than slack-term itself being the culprit

works fine if you use ubuntu instead of debian:stretch
termui is the cause, it fails to resolve terminal width

@frodeaa @lanefu I tried going through some issues of termui / searching but found nothing :-1:

one reliable way to avoid the panic is to use stty to set columns before starting slack-term.
stty cols 24 && slack-term

but slack-term will panic if the window height/width reaches zero (gizak/termui#116)

running stty in the docker shows that the current settings has rows/columns set to 0, that will cause termui to panic
docker run -it -e TERM=$TERM slack-term stty -a
speed 38400 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc```

There has been a longstanding issue on the moby/docker project around the size of the terminal fluctuating when run with -t or -it and I'm not sure if they've gotten it properly nailed down yet. What does docker --version show?

With the latest version you should be able to run slack-term from docker:
docker run -it -v [config-file]:/config erroneousboat/slack-term

authors: cdrage erroneousboat espoelstra frodeaa lanefu

repo: erroneousboat/slack-term


text:
Implement __THROW__ aux function to simplify throw a SomeError exception.

+ call %0 = clo<__THROW__>("%TypeError.prototype%")
- return comp[~throw~/~empty~]((new OrdinaryObject("Prototype" -> @EXECUTION_STACK[0].Realm.Intrinsics["%TypeError.prototype%"], "ErrorData" -> undefined)))

#245

repo: es-meta/esmeta


text:
Option to change camera icon color

Would like to reopen #144.
I would like to be able to change color of the Camera icon in the toolbar menu.
The change in the code is trivial, specifically, add one line to the menu item in
https://github.com/esafirm/android-image-picker/blob/main/imagepicker/src/main/res/menu/ef_image_picker_menu_main.xml
<item
        android:id="@+id/menu_camera"
        android:icon="@drawable/ef_ic_camera_white"
        android:title="@string/ef_camera"
        app:showAsAction="always"
        app:iconTint="?cameraIconTint" <<<< add this line
        tools:ignore="AlwaysShowAction" />

Then define the color cameraIconTint in your style.xml. That's it.
Alternatively, you can use vector icons with android:tint color defined in style. Like this:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:tint="?android:textColorPrimary" <<<<< ------ this line
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
    <path
        android:fillColor="#FFFFFFFF"
        android:pathData="...." />
</vector>

It's a highly unusual design decision to require custom component just to change color of a UI element. That's usually done with style.xml.
In the #144 you suggest to use custom components, but unfortunately there are no examples on how to do it. Would it be possible to provide some guidance on how to use it beyond what you have in custom_components.md?
I don't see anything related to toolbar styling in interface ImagePickerComponents:
    val imageLoader: ImageLoader
    val imageFileLoader: ImageFileLoader
    val cameraModule: CameraModule

BTW, it would be nice to replace the PNG icon with an SVG icon.

Just checked: it's not possible to subclass ImagePickerActivity and override onOptionsMenuCreated because ImagePickerLauncher.resultLauncher is private.
The only way to change color of a menu icon is to fork the project and edit the code which is a shame.

repo: esafirm/android-image-picker


text:
Document E2E tests

These changes add documentation to the E2E test framework.

Add jsdoc comments to files
Generate DOCS.md with jsdoc2md
Add README.md that explains the framework in detail

Coverage remained the same at 72.292% when pulling 01f5d4bd630c95f950c0cdc854c59f7f39460e05 on drryanjames:docs into 64e1b382792ce9bc6acc0c607e47ea22e60020ba on esaude:master.

There's more to document, but this should lay a good foundation

Looks good!

authors: coveralls drryanjames sacuribraimo

repo: esaude/esaude-emr-poc


text:
Script doesn't work with broadlink 0.7 and above

I use your script in docker container and recently restarted it. As part of startup, it installs python libraries
pip install paho-mqtt broadlink

And as result the recent 0.8 version of broadlink. With this version, your script returns the error (i use rm device)
python mqtt.py
Traceback (most recent call last):
  File "mqtt.py", line 362, in <module>
    devices = get_device(cf)
  File "mqtt.py", line 250, in get_device
    device = broadlink.rm(host=host, mac=mac)
TypeError: __init__() takes exactly 4 arguments (3 given)

When installed 0.6 it started to work again
pip install broadlink==0.6

Please fix compatibility with the new version, or add dependency on the specific version. Thanks.

Fixed

authors: dimitrystd eschava

repo: eschava/broadlink-mqtt


text:
Which Pi?

This is a "Happy Feedback".
What model Pi can you use. My experiance.
Never fed back before but, if it helps others?, I had a few problems but got it working on Pi V1 but not reliably, it would very occasionally record an RF remote but it was no real use. Two Days Playing!!
I had tried on an old Pi2 that was doing DHCP and more, this had real issues with python 3, my bad, also struggled with leaning new stuff, again me!.
What I wanted to feedback>>>>>
Starting with a (new) Pi3 and the latest "raspbian-buster" image, it worked within 5 minutes of starting off. THANKS!
So is there a minimum Pi it should work on?
Wanted to put it on a Pi Zero W, should it be OK?
Maybe put the minimum in the requirements?
As an asside, I am also finding that when i set up a RFrecord it normally works, if I try a second record, I just get lots of zeros(s). If I stop the script and re run, all good for one more record.
For me this is not to big as I have only a few devices but if I can feedback to help, ask.
Thanks

hi currently trying on a Pi2, running Buster and python3. no issues here!


text:
Setup Help

Hi,
I am new to this project but I am very interested in being able to play MP3s off of my ESP8266.  I am actually using the Huzzah from Adafruit: https://www.adafruit.com/product/2821
I have few questions:

I am new to github so it might be I don't know how to navigate it well, but is there a step by step guide somewhere of how to get this project up and running?  If not, I would love to help document the procedure if someone can hand hold me.
Would this setup be allowed to play Mp3 files on demand from a web server?  I see that there are mentions of being able to play from an Icecast server.  I just want a setup that can play different MP3s from my ESP8266 on demand from start to finish (e.g., not midstream)  Would this project work for me and would I have to have an Icecast server involved?
Is there a fritzing diagram or something that shows how to wire up the ESP8266 to implement this project?

I'm also using the adafruit esp8266 , but the breakout version (https://www.adafruit.com/products/2471)  not the feather version as mentioned above. I am struggling to get "sound", my best attempts so far yielded to noise only.
I still have couple of experimentation to run, however I start to run out of idea of why it's not working for me.
The breakout board has pull up/down on gpio 2 and 15 and a level shifter in gpio 3. These are the 3 gpio required for the i2s port.
I am ready to remove these pull up/down on gpio 2 and 15, and I can already bypass the level shifter of gpio 3 by soldering a wire directly on the pad.
Before doing so, I would like to have some feedback on how can these pull up/down impacts the LRC and BCLK lines?

bickyb: All the documentation is in https://github.com/espressif/ESP8266_MP3_DECODER/blob/master/README.md
phlemoine: what codec are you using?

I'm using this add on board :  MAX 98357A  at : https://www.adafruit.com/product/3006

In mp3/user/playerconfig.h, have you tried commenting out the line #define ALLOW_VARY_SAMPLE_BITS ?

Yes. I tried several combination including the mp3 streams and mp3 file, the VARY_SAMPLE_BITS on/off, I also tried remapping to different pins (not sure that iomuxing even allows that tho). I have ordered an ESP8266 module (without the additional components that usually comes with any breakout boards) so that I can verify my theory of the pull up/down on your 2 and 15

update to my investigations. i have used the sample code at https://github.com/SuperHouse/esp-open-rtos/tree/master/examples/i2s_audio and can prove the HW is working fine (playing a pre-flashed wav file in SPIFFS). this helps tremendously with restricting the investigations to SW (or build or flash) issues.

ok, i am not sure what was wrong (and that is frustrating :-) ) but i eventually got this project to work. thanks for taking time to respond.
it works with ALLOW_VARY_SAMPLE_BITS commented out (and  the MAX98357A breakout)
also PWM_HACK, DELTA_SIGMA_HACK commented out (naturally)
and  FAKE_SPI_BUFF enabled since i dont use the flash chip
i am using icecast.omroep.nl and based in the US
i might have (inadvertently) combined options in such a way that created noise and suspected HW issues for too long
hope these notes will help others running into any issues

Okay, glad to hear you have it working now.

authors: Spritetm bickyb phlemoine


text:
Interest in switching to mono mp3s for reduced programming size?

For my application I've been looking at using mono mp3s for size, and because the es8311 codec is mono output only.
Would there be interest in a PR to switch the mp3s to mono, reduce the partition size to reduce programming, and the code to properly handle the mono mp3s? This part isn't too tricky but did require some test and debug and it could help the next person.
I'd like to get the ok that the idea made sense to the maintainers here.

Yes, I also thought about storing mono MP3 files in the beginning to save flash space. I'm not using mono now because I don't know how to configure es8311 and I2S of ESP32S3 to play mono audio correctly, playing directly will cause the playback speed to be double normal. Taking some time to solve this problem should be in our development plan later.

@alic-maker getting them to work is exactly what my pr would be as I’ve added support for mono here after a few hours of debugging. If I can get an admin for the project to “ok” the idea I’ll submit a pr. It’s clean, makes sense and it’s not complex, but don’t want to go through the effort without a green light in case no one is maintaining the repo actively and it could sit there for months or years.

hi, we welcome the feature via PR, the feature of switching mp3 to mono is very useful to use and what you are going to do is meaningful, maintainer @alic-maker will maintain the repo all the time.
Espressif also has a Contributions Guide for anyone interested in contributing to our repositories.

Oh gotcha, didn’t realize alic-maker was an admin. I’ll submit an initial pr today.

@ESP-Mars @alic-maker opened https://github.com/espressif/esp-box/pull/22

The box playback must provide two channels of audio data and only the left channel is valid. The other channel will be ignored. You need to manually patch the single channel to dual channel

Closing as I've resolved mono support in playback.

authors: ESP-Mars alic-maker chmorgan lijunru-hub

repo: espressif/esp-box