CPU/Memory Issue from Code Helper (Renderer)

VSCode Version: 1.44.2 (but has been an issue for awhile)
OS Version: macOS Catalina

Steps to Reproduce:

Open VSCode and start working on an Angular application with a .Net Core C# backend
Wait and over time an hour-ish everything slows down to the point where I can't work due to the amount of CPU and memory consumed by Code Helper

Closing VSCode and reopening seems to provide a bit of reprieve, but the fan will start up eventually and everything will grind to a halt where I can't type anymore without waiting.

Does this issue occur when all extensions are disabled?: Yes/No
Yes

Can you gather some performance information as described here: https://github.com/microsoft/vscode/wiki/Performance-Issues#visual-studio-code-is-consuming-a-lot-of-cpu

Hi @alexr00, this is the output from running code --status.  The project I'm working on is an Angular application and it gets to the point where I type and then have to wait for the code to appear.
Version:          Code 1.45.1 (5763d909d5f12fe19f215cbfdd29a91c0fa9208a, 2020-05-14T08:33:47.663Z)
OS Version:       Darwin x64 19.4.0
CPUs:             Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)
Memory (System):  16.00GB (2.79GB free)
Load (avg):       3, 3, 3
VM:               0%
Screen Reader:    no
Process Argv:
GPU Status:       2d_canvas:                     enabled
                  flash_3d:                      enabled
                  flash_stage3d:                 enabled
                  flash_stage3d_baseline:        enabled
                  gpu_compositing:               enabled
                  metal:                         disabled_off
                  multiple_raster_threads:       enabled_on
                  oop_rasterization:             disabled_off
                  protected_video_decode:        unavailable_off
                  rasterization:                 enabled
                  skia_renderer:                 disabled_off_ok
                  video_decode:                  enabled
                  viz_display_compositor:        enabled_on
                  viz_hit_test_surface_layer:    disabled_off_ok
                  webgl:                         enabled
                  webgl2:                        enabled

CPU %	Mem MB	   PID	Process
    3	    98	  2354	code main
    1	    66	  2355	   gpu-process
    0	    16	  2357	   utility
  112	   836	  2358	   window (business-hours.component.html — prime-angular-frontend)
    5	   180	  2366	     extensionHost
    0	    98	  2369	       electron_node tsserver.js
    0	   492	  2370	       electron_node tsserver.js
    0	    66	  2386	         electron_node typingsInstaller.js typesMap.js
    0	   541	  2371	       electron_node tsserver.js
    0	    66	  2373	       /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/html-language-features/server/dist/htmlServerMain --node-ipc --clientProcessId=2366
    0	    33	  2405	       /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/jsonServerMain --node-ipc --clientProcessId=2366
    0	    33	  2548	       electron_node server.js
    0	    33	  2367	     watcherService
    0	    33	  2592	     searchService
    1	   115	  2368	   shared-process
    0	     0	  2733	     /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=

Workspace Stats:
|  Window (business-hours.component.html — prime-angular-frontend)
|    Folder (prime-angular-frontend): 1475 files
|      File types: ts(425) html(292) js(152) scss(130) svg(33) css(31)
|                  json(15) DS_Store(10) conf(5) txt(4)
|      Conf files: package.json(3) tsconfig.json(2) tslint.json(1)
|                  launch.json(1) settings.json(1)
|      Launch Configs: chrome

Also, when saving we constantly get this popping up and it takes forever for it to finish, and it doesn't seem to matter what the size of the file is that's being formatted:
This file is an interface with 10 lines in it:


Redis statestore TTL is not atomically set

Expected Behavior
When you set a key with a TTL it is applied atomically so that the key is never written without a TTL.  I'm assuming this is the intended behaviour.
Actual Behavior
The Redis implementation of the statestore does not set the TTL to the key "atomically" therefore it is possible for a key to be set without a TTL during a partial failure.
Steps to Reproduce the Problem
Invoke a failure before this line  and check the key is written without a TTL.
Release Note
RELEASE NOTE: FIX Bug in Redis statestore where TTL was not atomically applied

This requires discussion - only if we are ok with dropping Redis < 6.0 support can we implement this.
https://redis.io/docs/latest/commands/set/
The SET command has a KEEPTTL feature in Redis 6 onward.
However, given that we technically offer Redis 5 support.. this is tricky. The Redis transaction feature is not a real atomic transaction with rollback by the way, so even using a transaction pipeline it is possible that a key gets saved while the TTL is never set!
Only definitive solution I see is to drop Redis 5 support, but this would be a breaking change we have to announce at least a release or two out.
For the time being I would consider this working as intended @jjcollinge.


[BUG] KoP and pulsar-2.8.0 compatibility

Describe the bug
A clear and concise description of what the bug is.
I use pulsar-2.8.0 and kop's current master branch to test, kafka consumers cannot consume data, kop does not throw any exceptions, and the Fetch request will never be completed until timeout, then will be cancelled; after @BewareMyPower prompt, I tested kop-<IP_ADDRESS> and pulsar-2.8.0 also have this problem, which is a compatibility problem introduced by kop.
We should remind users about compatibility issues in this area, or we should branch out a patch for the latest kop-<IP_ADDRESS> to solve this compatibility issue.

You can push a fix to branch-2.8. But since latest Pulsar 2.8.x version is 2.8.1 now, we might not release any KoP 2.8.0.x. So it's better to add docs to mark the affected minor versions.

You can push a fix to branch-2.8. But since latest Pulsar 2.8.x version is 2.8.1 now, we might not release any KoP 2.8.0.x in future. So it's better to add docs to mark the affected minor versions.

I agree to add docs to mark the affected minor versions.


Unpin dependencies in TOML file.

It's a bit hard to track why we have these dependencies pinned. We're avoiding testing with latest versions due to them which will make future upgrades more difficult. It's probably better to deal with any incompatible versions and document them thoroughly so we know what is all required.
Closes #313, #299, #305

@sondrelg @JonasKs my plan is to release 1.12.0 dropping py3.7 support, adding py3.12 and django 5.0
Then this change and upgrade to 1.13.0
Then Django 4.0 and 4.1, and upgrade to 1.14.0


[Paddle] Update Paddle image

Description
Fix Paddle build failure in Github check.
Fixes # (issue)
Type of change

[ ] Documentation change (change only to the documentation, either a fix or a new content)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Infra/Build change
[ ] Code refractor

Changes
Please list the changes introduced in this PR:

Update Paddle image

Checklist:

[ ] I have read and followed the contributing guidelines
[ ] The functionality is complete
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@timmoon10 Hi, this PR fixes Paddle build failure on Github pipeline, would you please take a look?


Vaadin 14 Flow npm support

Hi do you have Any Plans for vaadin npm integration in your plugin?
as mentioned here in 2.1:
https://vaadin.com/tutorials/migrate-from-bower-to-npm-for-vaadin-14+
Thanks

Is this a dupe of https://github.com/devsoap/gradle-vaadin-flow/issues/240 ?

@christoph-frick Yes, I'll close this as a duplicate.
@aze-kool NPM support is coming in version 1.3 of the plugin. (it is currently in the works)
I'll close this as a duplicate.


limit user concurrent connections and public topics

Hello, is there any way to limit the number of concurrent connections for a user?
And the frequency of publishing topics?

Dup of issue https://github.com/emqtt/emqttd/issues/913


testing: show more benchmark data

There are a variety of analyses that would increase confidence in benchmark data. Package testing should not do them, but it probably should make them possible, by having a mode to emit more data about the benchmark run than just the one number it does today.
@aclements

Perhaps we can emit json (#2981)?

Too late for Go 1.5.


Compile error when building civetweb samples for posix_native

Describe the bug
Using Zephyr 2.5.0 the build of civetweb http_server sample fails for the board posix_native. From the build logs it looks like an issue with conflicting types (useconds_t, pthread_t, pthread_mutexattr_t, pthread_condattr_t, ...)
To Reproduce
west build -b native_posix samples/net/civetweb/http_server
Expected behavior
The build should succeed.
Impact
For testing purposes it would be very convenient to run the webserver on x86. An alternative approach would be to use QEMU. But this doesn't work to to limited SRAM of qemu_cortex_m3.
Logs and console output
root@fce79450bfae:/opt/zephyrproject/zephyr# west build -b native_posix samples/net/civetweb/http_server
-- west build: generating a build system
Including boilerplate (Zephyr base): /opt/zephyrproject/zephyr/cmake/app/boilerplate.cmake
-- Application: /opt/zephyrproject/zephyr/samples/net/civetweb/http_server
-- Zephyr version: 2.5.0 (/opt/zephyrproject/zephyr)
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter
-- Found west (found suitable version "0.10.1", minimum required is "0.7.1")
-- Board: native_posix
-- Cache files will be written to: /root/.cache/zephyr
-- Found dtc: /usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
-- Found toolchain: host (gcc/ld)
-- Found BOARD.dts: /opt/zephyrproject/zephyr/boards/posix/native_posix/native_posix.dts
-- Generated zephyr.dts: /opt/zephyrproject/zephyr/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /opt/zephyrproject/zephyr/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /opt/zephyrproject/zephyr/build/zephyr/include/generated/device_extern.h

warning: MINIMAL_LIBC_MALLOC_ARENA_SIZE (defined at lib/libc/Kconfig:102) was assigned the value
'16384' but got the value ''. Check these unsatisfied dependencies: MINIMAL_LIBC_MALLOC (=n),
MINIMAL_LIBC (=n). See
http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE.html
and/or look up MINIMAL_LIBC_MALLOC_ARENA_SIZE in the menuconfig/guiconfig interface. The Application
Development Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of
the manual might be helpful too.

warning: POSIX_API (defined at lib/posix/Kconfig:12) was assigned the value 'y' but got the value
'n'. Check these unsatisfied dependencies: (!ARCH_POSIX) (=n). See
http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_POSIX_API.html and/or look up
POSIX_API in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.

Parsing /opt/zephyrproject/zephyr/Kconfig
Loaded configuration '/opt/zephyrproject/zephyr/boards/posix/native_posix/native_posix_defconfig'
Merged configuration '/opt/zephyrproject/zephyr/samples/net/civetweb/http_server/prj.conf'
Configuration saved to '/opt/zephyrproject/zephyr/build/zephyr/.config'
Kconfig header saved to '/opt/zephyrproject/zephyr/build/zephyr/include/generated/autoconf.h'
^Croot@fce79450bfae:/opt/zephyrproject/zephyr# west build -b native_posix samples/net/civetweb/my_http_server
-- west build: generating a build system
Including boilerplate (Zephyr base): /opt/zephyrproject/zephyr/cmake/app/boilerplate.cmake
-- Application: /opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server
-- Zephyr version: 2.5.0 (/opt/zephyrproject/zephyr)
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.5") found components: Interpreter
-- Found west (found suitable version "0.10.1", minimum required is "0.7.1")
-- Board: native_posix
-- Cache files will be written to: /root/.cache/zephyr
-- Found dtc: /usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")
-- Found toolchain: host (gcc/ld)
-- Found BOARD.dts: /opt/zephyrproject/zephyr/boards/posix/native_posix/native_posix.dts
-- Generated zephyr.dts: /opt/zephyrproject/zephyr/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /opt/zephyrproject/zephyr/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /opt/zephyrproject/zephyr/build/zephyr/include/generated/device_extern.h
Parsing /opt/zephyrproject/zephyr/Kconfig
Loaded configuration '/opt/zephyrproject/zephyr/build/zephyr/.config'
No change to configuration in '/opt/zephyrproject/zephyr/build/zephyr/.config'
No change to Kconfig header in '/opt/zephyrproject/zephyr/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/gcc
-- Target architecture - x86_64
-- Enabling tests in the build - ON
-- Thread Stack Size - 102400
-- Enabling server executable - ON
-- Serve no static files - OFF
-- Disable CGI support - OFF
-- Disable caching support - OFF
-- C++ wrappers - OFF
-- IP Version 6 - OFF
-- Websockets support - OFF
-- Server statistics support - OFF
-- Memory Debugging - OFF
-- ASAN in debug mode - ON
-- Force x32 / x64 architecture - OFF
-- Lua CGI support - OFF
-- Executable installation - ON
-- Build if there are warnings - ON
-- Duktape CGI support - OFF
-- SSL support - ON
-- Compile for OpenSSL 1.1 API - OFF
-- Dynamically load SSL libraries - ON
-- Configuring C Compiler
-- Performing Test HAVE_C_FLAG_STD_C11
-- Performing Test HAVE_C_FLAG_STD_C11 - Success
-- Performing Test HAVE_C_FLAG_FSANITIZE_UNDEFINED
-- Performing Test HAVE_C_FLAG_FSANITIZE_UNDEFINED - Success
-- Performing Test HAVE_C_FLAG_FSANITIZE_ADDRESS
-- Performing Test HAVE_C_FLAG_FSANITIZE_ADDRESS - Success
-- Performing Test HAVE_C_FLAG_STATIC_ASAN
-- Performing Test HAVE_C_FLAG_STATIC_ASAN - Failed
-- Performing Test HAVE_C_FLAG_COVERAGE
-- Performing Test HAVE_C_FLAG_COVERAGE - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/zephyrproject/zephyr/build
-- west build: building application
[1/132] Preparing syscall dependency handling

[9/132] Building C object CMakeFiles/app.dir/src/main.c.obj
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c: In function ‘main_pthread’:
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c:161:2: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
  161 |  memset(&callbacks, 0, sizeof(callbacks));
      |  ^~~~~~
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c:161:2: warning: incompatible implicit declaration of built-in function ‘memset’
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c:12:1: note: include ‘<string.h>’ or provide a declaration of ‘memset’
   11 | #include "civetweb.h"
  +++ |+#include <string.h>
   12 |
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c: In function ‘zephyr_app_main’:
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c:181:8: warning: implicit declaration of function ‘pthread_attr_init’ [-Wimplicit-function-declaration]
  181 |  (void)pthread_attr_init(&civetweb_attr);
      |        ^~~~~~~~~~~~~~~~~
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c:182:8: warning: implicit declaration of function ‘pthread_attr_setstack’ [-Wimplicit-function-declaration]
  182 |  (void)pthread_attr_setstack(&civetweb_attr, &civetweb_stack,
      |        ^~~~~~~~~~~~~~~~~~~~~
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src/main.c:185:8: warning: implicit declaration of function ‘pthread_create’; did you mean ‘k_thread_create’? [-Wimplicit-function-declaration]
  185 |  (void)pthread_create(&civetweb_thread, &civetweb_attr,
      |        ^~~~~~~~~~~~~~
      |        k_thread_create
[105/132] Building C object modules/civetweb/CMakeFiles/..__modules__lib__civetweb.dir/src/civetweb.c.obj
FAILED: modules/civetweb/CMakeFiles/..__modules__lib__civetweb.dir/src/civetweb.c.obj
ccache /usr/bin/gcc -DBUILD_VERSION=zephyr-v2.5.0 -DKERNEL -DMG_EXTERNAL_FUNCTION_log_access -DMG_EXTERNAL_FUNCTION_mg_cry_internal_impl -DNO_ALTERNATIVE_QUEUE -DNO_CACHING -DNO_CGI -DNO_FILES -DNO_FILESYSTEMS -DNO_SSL -DUSE_STACK_SIZE=0 -DZEPHYR_VERSION=\"2.5.0\" -D_FORTIFY_SOURCE=2 -D_POSIX_C_SOURCE=200809 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D__ZEPHYR__=1 -I/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/../common/include -I/opt/zephyrproject/zephyr/include -Izephyr/include/generated -I/opt/zephyrproject/zephyr/soc/posix/inf_clock -I/opt/zephyrproject/zephyr/boards/posix/native_posix -I/opt/zephyrproject/zephyr/subsys/net/lib/sockets/. -I/opt/zephyrproject/zephyr/subsys/net/lib/dns/. -I/opt/zephyrproject/zephyr/subsys/net/l2 -I/opt/zephyrproject/modules/lib/civetweb/include -I/opt/zephyrproject/modules/lib/civetweb/src -I/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/src -std=c11   -Os -imacros /opt/zephyrproject/zephyr/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -imacros /opt/zephyrproject/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-address-of-packed-member -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server=CMAKE_SOURCE_DIR -fmacro-prefix-map=/opt/zephyrproject/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/opt/zephyrproject=WEST_TOPDIR -ffunction-sections -fdata-sections -m32 -include /opt/zephyrproject/zephyr/arch/posix/include/posix_cheats.h -fno-freestanding -std=c11 -MD -MT modules/civetweb/CMakeFiles/..__modules__lib__civetweb.dir/src/civetweb.c.obj -MF modules/civetweb/CMakeFiles/..__modules__lib__civetweb.dir/src/civetweb.c.obj.d -o modules/civetweb/CMakeFiles/..__modules__lib__civetweb.dir/src/civetweb.c.obj   -c /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:36:16: error: ‘pthread_attr_t’ defined as wrong kind of tag
   36 | typedef struct pthread_attr_t {
      |                ^~~~~~~~~~~~~~
/opt/zephyrproject/zephyr/include/posix/posix_types.h:45:3: error: conflicting types for ‘pthread_attr_t’
   45 | } pthread_attr_t;
      |   ^~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:62:30: note: previous declaration of ‘pthread_attr_t’ was here
   62 | typedef union pthread_attr_t pthread_attr_t;
      |                              ^~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:47:15: error: conflicting types for ‘pthread_t’
   47 | typedef void *pthread_t;
      |               ^~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:27:27: note: previous declaration of ‘pthread_t’ was here
   27 | typedef unsigned long int pthread_t;
      |                           ^~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:58:3: error: conflicting types for ‘pthread_mutex_t’
   58 | } pthread_mutex_t;
      |   ^~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:72:3: note: previous declaration of ‘pthread_mutex_t’ was here
   72 | } pthread_mutex_t;
      |   ^~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:62:3: error: conflicting types for ‘pthread_mutexattr_t’
   62 | } pthread_mutexattr_t;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:36:3: note: previous declaration of ‘pthread_mutexattr_t’ was here
   36 | } pthread_mutexattr_t;
      |   ^~~~~~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:67:3: error: conflicting types for ‘pthread_cond_t’
   67 | } pthread_cond_t;
      |   ^~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:80:3: note: previous declaration of ‘pthread_cond_t’ was here
   80 | } pthread_cond_t;
      |   ^~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:70:3: error: conflicting types for ‘pthread_condattr_t’
   70 | } pthread_condattr_t;
      |   ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:45:3: note: previous declaration of ‘pthread_condattr_t’ was here
   45 | } pthread_condattr_t;
      |   ^~~~~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:77:3: error: conflicting types for ‘pthread_barrier_t’
   77 | } pthread_barrier_t;
      |   ^~~~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:112:3: note: previous declaration of ‘pthread_barrier_t’ was here
  112 | } pthread_barrier_t;
      |   ^~~~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:80:3: error: conflicting types for ‘pthread_barrierattr_t’
   80 | } pthread_barrierattr_t;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:118:3: note: previous declaration of ‘pthread_barrierattr_t’ was here
  118 | } pthread_barrierattr_t;
      |   ^~~~~~~~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:82:18: error: conflicting types for ‘pthread_rwlockattr_t’
   82 | typedef uint32_t pthread_rwlockattr_t;
      |                  ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:97:3: note: previous declaration of ‘pthread_rwlockattr_t’ was here
   97 | } pthread_rwlockattr_t;
      |   ^~~~~~~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/time.h:61,
                 from /opt/zephyrproject/zephyr/include/posix/pthread.h:12,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/posix_types.h:90:3: error: conflicting types for ‘pthread_rwlock_t’
   90 | } pthread_rwlock_t;
      |   ^~~~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:91:3: note: previous declaration of ‘pthread_rwlock_t’ was here
   91 | } pthread_rwlock_t;
      |   ^~~~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/pthread.h:16,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/pthread_key.h:18:18: error: conflicting types for ‘pthread_once_t’
   18 | typedef uint32_t pthread_once_t;
      |                  ^~~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:53:30: note: previous declaration of ‘pthread_once_t’ was here
   53 | typedef int __ONCE_ALIGNMENT pthread_once_t;
      |                              ^~~~~~~~~~~~~~
In file included from /opt/zephyrproject/zephyr/include/posix/pthread.h:16,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:170:
/opt/zephyrproject/zephyr/include/posix/pthread_key.h:21:15: error: conflicting types for ‘pthread_key_t’
   21 | typedef void *pthread_key_t;
      |               ^~~~~~~~~~~~~
In file included from /usr/include/sys/types.h:227,
                 from /opt/zephyrproject/zephyr/include/net/socket.h:25,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/usr/include/bits/pthreadtypes.h:49:22: note: previous declaration of ‘pthread_key_t’ was here
   49 | typedef unsigned int pthread_key_t;
      |                      ^~~~~~~~~~~~~
In file included from /usr/include/bits/fcntl-linux.h:38,
                 from /usr/include/bits/fcntl.h:61,
                 from /usr/include/fcntl.h:35,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:177:
/usr/include/bits/types/struct_iovec.h:26:8: error: redefinition of ‘struct iovec’
   26 | struct iovec
      |        ^~~~~
In file included from /opt/zephyrproject/zephyr/include/net/socket.h:27,
                 from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:169:
/opt/zephyrproject/zephyr/include/net/net_ip.h:221:8: note: originally defined here
  221 | struct iovec {
      |        ^~~~~
In file included from /opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:168:
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/../common/include/libc_extensions.h:26:17: error: expected ‘)’ before ‘c’
   26 | int iscntrl(int c);
      |                 ^
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/../common/include/libc_extensions.h:26:5: note: to match this ‘(’
   26 | int iscntrl(int c);
      |     ^~~~~~~
/opt/zephyrproject/zephyr/samples/net/civetweb/my_http_server/../common/include/libc_extensions.h:26:5: error: expected expression before ‘)’ token
   26 | int iscntrl(int c);
      |     ^~~~~~~
/opt/zephyrproject/modules/lib/civetweb/src/civetweb.c: In function ‘pull_inner’:
/opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:6426:16: warning: implicit declaration of function ‘read’; did you mean ‘fread’? [-Wimplicit-function-declaration]
 6426 |   nread = (int)read(fileno(fp), buf, (size_t)len);
      |                ^~~~
      |                fread
/opt/zephyrproject/modules/lib/civetweb/src/civetweb.c: In function ‘connect_socket’:
/opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:853:25: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration]
  853 | #define closesocket(a) (close(a))
      |                         ^~~~~
/opt/zephyrproject/modules/lib/civetweb/src/civetweb.c:8942:3: note: in expansion of macro ‘closesocket’
 8942 |   closesocket(*sock);
      |   ^~~~~~~~~~~
[106/132] Building C object zephyr/kernel/CMakeFiles/kernel.dir/idle.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build /opt/zephyrproject/zephyr/build

Environment (please complete the following information):

OS: Ubuntu 20.04 (running in Docker)
Toolchain (gcc-arm-none-eabi-8-2019-q3-update-linux & zephyr-sdk-0.12.4)
Zephyr 2.5.0

Additional context
Add any other context about the problem here.

Could this be related to the following topic #13054? Is it currently not possible to use POSIX subsytem for ARCH_POSIX?

Hello and thank you for your bug description.  I think, that posix support for civetweb need to be rethinked.
The first guys, who ported civetweb, were cool dudes from Anrmicro. @PiotrZierhoffer can you provide more info on posix support within civetweb?

I must say it's been a while, and the civetweb module got pulled in during a very heated discussion on the POSIX APIs. I'm not very familiar with the current state of affairs in this topic.
If what @mglettig mentions still holds, then it is definitely a relevant problem. And it does seem so from your log:
warning: POSIX_API (defined at lib/posix/Kconfig:12) was assigned the value 'y' but got the value
'n'. Check these unsatisfied dependencies: (!ARCH_POSIX) (=n).

So Civetweb relies on the POSIX_API, and I'm not aware if there is any "switch" that you can use to turn to native POSIX. If there's a "standard way of handling this", then it should not be very difficult to apply to Civetweb, the port is not very complex. I would assume that we'd need to adjust ifdefs here and there: from #if ZEPHYR to #if ZEPHYR && !ARCH_POSIX, maybe?

Re-opening since this is still a valid issue.

This is probably fixed by #43987

"Fixed" by the removal of civetweb. See  #46746 for more details. Thanks for taking the time to file an issue and sorry for the inconvenience.


Repeating deprecation warnings

If you use a deprecated method, you'll get a console warning every time you call it. This can cause performance problems and can also make it harder to spot issues because the console log gets flooded with repeating deprecation warnings.
Would it be possible to have each deprecation warning be emitted only once? Looking at deprecation.js, this should be fairly easy to do, by having warn() ignore duplicate calls with the same msg+stack. If you agree, I can make this change and send a PR.

Agree, I'm using that approach in pixi-spine. I agree that we have to move it to v5 too.

Not a bad idea! Would welcome a PR for that. Ideally it would be added to the warn function instead of to each deprecation to make the change minimal.

add a key to warn function, so it stores whether particular key was used

So is it a lot deleting in the depreactionjs file?

@wildaces215 Deprecation warnings were not designed to be hard breaks, that's why we aren't throwing Errors. It gives people time to update their code between major releases. However, we should fix this and remove repeated calls to make it more performant.

Hi, @bigtimebuddy , I've added a PR for this issue


Failed to build iOS app

Error output from Xcode build:
↳
2022-04-11 13:17:36.645 xcodebuild[36344:337962] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-04-11 13:17:36.646 xcodebuild[36344:337962] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
** BUILD FAILED **
Xcode's output:
↳
Writing result bundle at path:
/var/folders/s1/9h8v5bk16_qbjgr_1l5xhbnc0000gn/T/flutter_tools.JY8GTb/flutter_ios_build_temp_dircuezVA/temporary_xcresult_bundle
/Users/theo/.pub-cache/hosted/pub.dartlang.org/flutter_flurry_sdk-2.0.0/ios/Classes/FlurryFlutterPlugin.m:5:9: fatal error: 'Flurry+Event.h' file not found
#import "Flurry+Event.h"
        ^~~~~~~~~~~~~~~~
1 error generated.
Command CompileSwiftSources failed with a nonzero exit code
Command CompileSwiftSources failed with a nonzero exit code
note: Using new build system
note: Planning
note: Build preparation complete
note: Building targets in dependency order

Result bundle written to path:
	/var/folders/s1/9h8v5bk16_qbjgr_1l5xhbnc0000gn/T/flutter_tools.JY8GTb/flutter_ios_build_temp_dircuezVA/temporary_xcresult_bundle

Uncategorized (Xcode): Command CompileSwiftSources failed with a nonzero exit code
Lexical or Preprocessor Issue (Xcode): 'Flurry+Event.h' file not found
/Users/theo/.pub-cache/hosted/pub.dartlang.org/flutter_flurry_sdk-2.0.0/ios/Classes/FlurryFlutterPlugin.m:4:8
Could not build the application for the simulator.
Error launching application on iPhone SE (3rd generation).

I got the same error also when building iOS

Hi @Phelickz, thanks for reporting this issue. We recently released 12.0.0 for native iOS SDK, and looks like the flutter plugin integrated the latest native iOS sdk since we don't specify the version in .podspec file. We will release a patch shortly to fix the missing arm64 issue in native sdk, and will update you once release is done.

Fix released at flutter_flurry_sdk 2.2.0.

@tHEO2k17 @Phelickz More fix released at flutter_flurry_sdk 2.2.1.

@poting-oath
Thanks for letting me know. I’ll check it out


Unable to iterate through a collection without increasing memory usage by an unreasonable amount

We hit an issue where our workers (which read their data from Mongo) are running out of memory.  I've traced this down to the fact that simply reading items from a Mongo collection increases memory usage substantially, even if nothing is done with the data retrieved.
Demonstration code:
class Test
  include Mongoid::Document
  store_in collection: "posts" # A collection containing a substantial number of items.
end

before = `ps -o rss= -p #{Process.pid}`.to_i

i = 0
Test.all.each do |item|
  i += 1 # Do nothing with the item.
end; nil

Rails.logger.info "Retrieved #{i} items"

after = `ps -o rss= -p #{Process.pid}`.to_i
difference = after - before
Rails.logger.info "Used #{difference} kb of memory"

The output I get for my data:
Retrieved 14018 items
Used 89452 kb of memory
This means that 89 megabytes of memory were used to simply touch each of 14K items, which seems way off.  Unless I'm missing something, this code should be able to iterate through any number of items without using any additional memory beyond the memory to hold a single item.
I'm running the latest version of Mongoid (from commit 5b0f031992cbec66d68c6cb288a4edb952ed5336).  As far as I can tell, literally nothing else is involved in this code.  I keep thinking I must be missing something here, but I have eliminated every factor I can think of and all that remains is Mongoid.

If you iterate over an entire collection, every document in the collection is going to get loaded, whether you do anything with it or not. Even without Mongoid, by iterating over the cursor everything is going to get deserialized into BSON and still cause memory to gradually increase until the iteration is complete when things can get garbage collected. Quite simply, if you have a huge collection, you should iterate over it in batches so the garbage collector can do its work in between the batches.


update build to python 3.11 (current)

Signed-off-by: Daniel Holbach<EMAIL_ADDRESS>

Oops, 3.8 is current in Netlify: https://github.com/netlify/build-image/blob/focal/included_software.md#tools


spl: Fix compilation error and warnings

Problem
anchor-spl with metadata feature has a compile error and a few warnings after the recent upgrade(https://github.com/coral-xyz/anchor/pull/2632).
warning: unused variable: `name`
   --> src/metadata.rs:113:9
    |
113 |         name,
    |         ^^^^ help: try ignoring the field: `name: _`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `symbol`
   --> src/metadata.rs:114:9
    |
114 |         symbol,
    |         ^^^^^^ help: try ignoring the field: `symbol: _`

warning: unused variable: `uri`
   --> src/metadata.rs:115:9
    |
115 |         uri,
    |         ^^^ help: try ignoring the field: `uri: _`

warning: unused variable: `creators`
   --> src/metadata.rs:116:9
    |
116 |         creators,
    |         ^^^^^^^^ help: try ignoring the field: `creators: _`

warning: unused variable: `seller_fee_basis_points`
   --> src/metadata.rs:117:9
    |
117 |         seller_fee_basis_points,
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `seller_fee_basis_points: _`

warning: unused variable: `collection`
   --> src/metadata.rs:118:9
    |
118 |         collection,
    |         ^^^^^^^^^^ help: try ignoring the field: `collection: _`

warning: unused variable: `uses`
   --> src/metadata.rs:119:9
    |
119 |         uses,
    |         ^^^^ help: try ignoring the field: `uses: _`

warning: unused variable: `update_authority_is_signer`
   --> src/metadata.rs:109:5
    |
109 |     update_authority_is_signer: bool,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_authority_is_signer`

warning: unused variable: `use_authority_record_pda`
   --> src/metadata.rs:471:5
    |
471 |     use_authority_record_pda: Option<Pubkey>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_authority_record_pda`

error[E0382]: use of partially moved value: `data`
   --> src/metadata.rs:133:13
    |
119 |         uses,
    |         ---- value partially moved here
...
133 |             data,
    |             ^^^^ value used here after partial move
    |
    = note: partial move occurs because `data.uses` has type `Option<Uses>`, which does not implement the `Copy` trait
help: borrow this binding in the pattern to avoid moving the value
    |
119 |         ref uses,
    |         +++

For more information about this error, try `rustc --explain E0382`.
warning: `anchor-spl` (lib) generated 9 warnings
error: could not compile `anchor-spl` due to previous error; 9 warnings emitted

Summary of changes

Fix the compile error and warnings
Add a test case to build anchor-spl with metadata feature enabled

@febo Small issues with the recent upgrade, could you please take a look?

@acheroncrypto Thanks for looking into this. I need to address these issues on the Rust client, likely I will need to publish a patch/minor version. I will create a PR on anchor once I have done the fix.


Editor refactor

CommonHelpers.fs has grown out of control and I've noticed across PRs that sometimes functionality ends up being duplicated which I suspect is due to the lack of organization and clarity on where certain functionality is located.

removed 'common' from module names
language service and related modules have their own dir
commonhelpers broken up into individual modules
collect type and module extensions in extensions module
dedicated module for fsharpchecker (this will grow in the future)

I like it

Ditto


s/dpgk/dpkg

The name of the low-level tool used by Debian and related derivatives is dpkg, not dpgk as mentioned in this document. Fixes this.

Hi @ajlanghorn, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

Great; thanks for catching the typo. :-)

No problem, @squillace! What is the TDC tag used for? Is it an abbreviation for something?

Transform the Data Center. It's the area of our work that this topic falls into, in theory.... In practice it's another TLA.

Ah, I see. Thanks (and thanks for looking so quickly at this PR - good experience!)


Resource viewer not working for deployment as resources missing.

What steps did you take and what happened:
Created a deployment of a frontend web application using resources in:

https://github.com/eduk8s-tests/lab-octant-testing/tree/master/frontend

When viewing the visualization for the workload by using the Workloads menu entry on left side, you get a full view of set of related resources.

If you drill down to the deployment details from the overview page or deployments category of left hand side menu, and select the Resource Viewer tab, it is only showing the deployment, and not the related resources.

What did you expect to happen:
Would have assumed all the same resources could have been displayed.
Anything else you would like to add:
Nope.
Environment:

Octant version (use octant version):

$ octant version
Version:  0.10.2
Git commit:  438ce3d52088c1e3e15aaf9817ba71e3c85255f5
Built:  2020-02-15T02:33:23Z

Kubernetes version (use kubectl version):

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-13T18:08:14Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:07:13Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}

OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc):

$ uname -a
Darwin grumpy-at-home.fritz.box 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64

Also affects separate web browser when accessing Octant as web service.

Fixed in #698


fix(deps): update dependency flux to v3

This PR contains the following updates:

Package
Type
Update
Change

flux (source)
dependencies
major
2.1.1 -> 3.1.3

Release Notes

facebook/flux
v3.1.3
Compare Source

Added support for React 16

v3.1.2
Compare Source

No meaningful changes.

v3.1.1
Compare Source

No meaningful changes.

v3.1.0
Compare Source

Dispatcher: Methods register and unregister can once again be called in
the middle of a dispatch.

v3.0.0
Compare Source

FluxMapStore: Removed. It added very little value over FluxReduceStore.
FluxContainer: Subscriptions are setup in constructor rather than
componentDidMount
FluxContainer: Can create containers using stateless functional components
FluxContainer: Uses functional version of setState
FluxMixin: Subscriptions are setup in componentWillMount rather than
componentDidMount
Dispatcher: Methods register and unregister can not be called in the
middle of a dispatch
React added as peer dependency to flux/utils
Package dist/FluxUtils.js alongside dist/Flux.js

Note: This is marked as a breaking change due to the large number of small
changes in FluxContainer. Depending on how coupled code is to the timing of
componentWillMount, componentDidMount, or setting state synchronously it is
possible that there may be some breakages. Generally it should not be an issue.

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

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


Pods get scheduled to nodes with insufficient space when using Inline Ephemeral Volumes

Describe the bug
When multiple pods using  inline ephemeral volume get created at the same time, some of them may get scheduled in nodes with insufficient space.
The reason for that is that the scheduler will call the extender for each pod with stale node information.
Environments

Version: topolvm 0.4.0, k8s 1.16.3
OS: linux

To Reproduce
Create a deployment as follow:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: topolvm-eph
spec:
  replicas: 5
  selector:
    matchLabels:
      app: topolvm-eph
  template:
    metadata:
      labels:
        app: topolvm-eph
    spec:
      containers:
      - name: ubuntu
        image: quay.io/cybozu/ubuntu:18.04
        command: ["/usr/local/bin/pause"]
        volumeMounts:
        - mountPath: /test
          name: my-volume
      volumes:
        - name: my-volume
          csi:
            driver: topolvm.cybozu.com
            fsType: xfs
            volumeAttributes:
              topolvm.cybozu.com/size: "3"

In my case there is a single node with 10GiB and each pod is asking for 3GiB.
kubectl create -f examples/pure-topolvm/dep-eph.yaml

Expected behavior
Since there are 5 pods created, we expect only 3 of them can run on the node and 2 should stay in state pending.
Actual behavior
$ kubectl get pods
NAME                           READY   STATUS              RESTARTS   AGE
topolvm-eph-67d784cdb4-8fzx7   0/1     ContainerCreating   0          55m
topolvm-eph-67d784cdb4-k7hz4   1/1     Running             0          55m
topolvm-eph-67d784cdb4-kccmh   1/1     Running             0          55m
topolvm-eph-67d784cdb4-rthnf   1/1     Running             0          55m
topolvm-eph-67d784cdb4-xggln   0/1     ContainerCreating   0          55m

Hi @gtsystem , thanks for reporting the problem.
It's true that creating multiple pods simultaneously could confuse pod scheduling.
I discussed this issue with other maintainers and would like to leave it as a current limitation.
I will note it on the document.
This type of problem has been discussed in the k8s community.
The following open KEP is to extend the k8s Pod scheduler.
Storage Capacity Constraints for Pod Scheduling
The following issue is about the descheduling of failed-to-start pods.
deschedule pods that fail to start or restart too often
IMO the assignment of node storage should be handled centrally by the k8s core scheduler.
I suppose that pod scheduling is also affected by CPU and memory assignment and pods will be distributed appropriately in many cases.
If you have experienced this type of problem in a real environment, would you please tell us your use case?

No, we are not running this setup in production at the moment, I just did this experiment as I was under the impression that the current scheduler extender is not able to cope with this issue.
I believe that the new scheduling framework will allow (when released) to solve this issue.
A custom "reserve" logic can be used to keep track of the used space in the node: 20180409-scheduling-framework.md

Oh, I didn't know that KEP.  It indeed seems to solve the present problem.
I'll keep watching its implementation progress.
Thank you for the information!

This is a limitation. closed via  #119


Adding submodule "evapotranspiration" to ./extern/ and deleting directory ./forcing_code/

This PR is for adding the submodule evapotranspiration to ./extern/ and deleting the ./forcing_code/ directory. And the changes have been tested with cfe standalone option FORCINGPET. (Note: this PR committed AFTER the PR#78).
Additions
Added evapotranspiration to extern/

   new file:   extern/evapotranspiration

Removals
Deleted dirctory forcing_code

   deleted:    forcing_code/include/PEtAerodynamicMethod.h

   deleted:    forcing_code/include/PEtCombinationMethod.h

   deleted:    forcing_code/include/PEtEnergyBalanceMethod.h

   deleted:    forcing_code/include/PEtPenmanMonteithMethod.h

   deleted:    forcing_code/include/PEtPriestleyTaylorMethod.h

   deleted:    forcing_code/include/bmi_pet.h

   deleted:    forcing_code/include/pet.h

   deleted:    forcing_code/include/pet_tools.h

   deleted:    forcing_code/src/bmi_pet.c

   deleted:    forcing_code/src/pet.c

Changes
Added evapotranspiration submodule in .gitmodules

   modified:   .gitmodules

Modified paths in following files

   modified:   CMakeLists.txt

   modified:   README.md

   modified:   src/main_cfe_aorc_pet.c

   modified:   src/main_cfe_aorc_pet_rz_aet.cxx

Testing
  mkdir build
  cd build
  cmake .. -DFORCINGPET=ON
  make
  cd ..
  ./run_cfe.sh FORCINGPET

Screenshots
Notes

Todos

Checklist

[x ] PR has an informative and human-readable title
[x ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Target Environment support

[ ] Windows
[x ] Linux
[ ] Browser

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

This PR has been merged with PR#78.


AzOps CI/CD setup support for GitHub Enterprise Managed Users

Describe the solution you'd like
AzOps support for Integration with GitHub Enterprise Managed Users (EMU) solution (The public github.com solution is ok).

@autocloudarc, this is supported. Just not from the portal accelerator experience.
You need to just configure AzOps manually on GitHub Enterprise. Following the instructions https://github.com/azure/azops/wiki/github-actions
I see this is also mentioned on the issue in the AzOps repo here: https://github.com/Azure/AzOps/issues/576


Mac M1 Architecture compilation issue

Hello! I'm using a library that is a NIF under the hood, and I opened an issue because I had a compilation target issue.
Then I tried to make a NIF from scratch just to make sure the problem wasn't rustler, and I actually got the same error:
[warning] The on_load function for module Elixir.HelloNif returned:
{:error,
 {:load_failed,
  'Failed to load NIF library: \'dlopen(/Users/julesguesnon/Dev/hello_nif/_build/dev/lib/hello_nif/priv/native/libhellonif.so, 0x0002): tried: \'/Users/julesguesnon/Dev/hello_nif/_build/dev/lib/hello_nif/priv/native/libhellonif.so\' (mach-o file, but is an incompatible architecture (have \'x86_64\', need \'arm64e\')), \'/usr/local/lib/libhellonif.so\' (no such file), \'/usr/lib/libhellonif.so\' (no such file), \'/Users/julesguesnon/Dev/hello_nif/priv/native/libhellonif.so\' (mach-o file, but is an incompatible architecture (have \'x86_64\', need \'arm64e\')), \'/usr/local/lib/libhellonif.so\' (no such file), \'/usr/lib/libhellonif.so\' (no such file)\''}}

The most interesting part being: mach-o file, but is an incompatible architecture (have \'x86_64\', need \'arm64e\')
I don't really get what's happening tho as it seems to already be handled

I'm working on Macbook Air M1 fine with Rustler, you're not running on a x86 terminal or whatever it is, right? You can run the terminal through Rosetta, which forces everything to run as x86 instead of ARM64.
Ensure you've also added the following to .cargo/config:
[target.'cfg(target_os = "macos")']
rustflags = [
    "-C", "link-arg=-undefined",
    "-C", "link-arg=dynamic_lookup"
]

Hey @joshuataylor !
Thanks for your answer, I do have the right config, and I have Rosetta installed, so I'll try to see if my terminal is launched through Rosetta.
But shouldn't rust be able to compile to arm, like, is there a limitation that makes it necessary to run it through Rosetta?

The point is, apparently your Rust toolchain is an x86_64 one (installed through Rosetta maybe?), so the binaries it produces are incompatible to your Erlang installation. These two have to match.

@filmor You were right, I updated my toolchain to stable-aarch64-apple-darwin and it worked. Thanks a lot everyone for the help!


Troubleshoot Dropbox/Github wiki display issues

Not displaying UI screenshots
https://github.com/thecarebot/carebot/wiki/Carebot-UI
Dropbox people reached out, we're troubleshooting.

No progress in this, neither Dropbox nor Github is helping me much so I might pursue something else for Phase Two and on. Ugh. Annoying.

Fixed it! Goddam poor documentation on both ends. The secret is to change the Dropbox URL from ?dl=0 to =1 at the end. Oh well.


"git gud explain": Do not accept user input other than ENTER

Go to util/level_builder.py in the function BasicLevel.explain() to fix this.
Basically git gud explain waits for the user to hit enter, but they can also type anything they want because we use input and not something more advanced. This could mess up input or simply making it more confusing for a user, with them possibly thinking they're typing into a command line.

@benthayer  We could also start with giving a small text saying something like "Press Enter"
and also take care of the user input with few more steps
What do you think ?

Hello @vmdhhh , thanks for commenting!
We do already have something like what you said to tell the user to be pressing enter, so I think you have the right idea. You can see here in the third level of the introduction (intro init), we have the user run git gud explain and then they see this:
Before learning about Git repos, hit enter
>>> (1/9)
Explanations are broken up into multiple chunks to make it easier to read.
>>> (2/9)
Hitting enter will get you to the next part of the explanation
>>> (3/9)
...

Was that in line with what you were thinking?
Beyond that, it's just about making sure that if someone types a character other than enter, it doesn't get displayed

@vmdhhh Feel free to handle this one too: https://github.com/benthayer/git-gud/issues/333

@benthayer Did you already take care of this?
Because now I see that the typed text is getting replaced.

Yeah, I've worked on this, but users shouldn't be able to type at all because it's confusing for the people who aren't familiar with the command line and think the line they're seeing is where they type out commands. So, when they hit enter, the command disappears and they don't know what happened.
The current behavior exists so that when a user hits enter, that enter is removed and we start print()ing on that line. We need the extra newline because after the final explanation block, the command line is displayed and offsets our output by one line

I am able to implement this using the keyboard package with a minor problem.
Problem: If the user types something instead of enter while the explain is running, it's getting displayed on the terminal after the program terminates.
I have attached an image for reference. Sorry for the bad image edit :(

@benthayer Do you have any idea how to tackle this?

Hi @vmdhhh
I know that this behavior is common when a program doesn't accept stdin. Sometimes when I open a terminal and before the command line shows up, I can type in characters that end up displayed on the command line like you have in that picture. I think this happens whenever a program doesn't read from stdin. If you read the characters, they could possibly get removed from stdin and wouldn't show up on the command line after execution is done. If the characters still show up, you could maybe use some control characters to remove them, but then you still might be able to see the typed characters for a short while.
I hope this helps. If you want, you can make a pull request and I can take a look at your code too

Hi @benthayer
I've created a PR. Please take a look.


[WIP] gws circular enhancement

Coverage decreased (-0.02%) to 52.902% when pulling b573a4d0919774e82f3d78200db296045584590b on sunny4381:features/gws-circular-enhancement into 3fd81cb1a804ecf2a06b475dc686596f3105d15d on shirasagi:master.

Coverage decreased (-0.03%) to 52.899% when pulling 5ee42b322b067ac30b29e5391959a26badc8a2f0 on sunny4381:features/gws-circular-enhancement into 3fd81cb1a804ecf2a06b475dc686596f3105d15d on shirasagi:master.

Coverage decreased (-0.03%) to 52.899% when pulling 0d5e119d8ff72e5884b4f94eb99dd331677c57c6 on sunny4381:features/gws-circular-enhancement into 3fd81cb1a804ecf2a06b475dc686596f3105d15d on shirasagi:master.


add readme pointing to chromium repo.

It's pretty hard to find that repo, and I've had to do it a few times.
Search mostly serves this GH repo in the top results.

i've updated the description of this repo instead and filled in the URL.  i think that should be sufficient.
https://github.com/chromium/hterm
OLD/DEAD: Please use the new libapps repo on chromium.googlesource.com instead https://chromium.googlesource.com/apps/libapps/+/HEAD/hterm

seems fine thx


[Feature Request] Individual contextual environments

It would be nice to be able to not only switch an environment, but also user, version, ... or other configurable contexts you wish to switch.
Right now, if I have an environment x and y, and user a and b. I have to create environments xa, ya, xb and yb. This solution gets worse if you also have to switch version, platform, ...
Here is an example of how Paw handles these environment switches.

Hope I explained this clearly.

Yep, that makes sense. This is actually a duplicate of #283


Add UI for notes, warnings, and tips

Workshops often need to tell the user to take an action:

It could be helpful to add some special syntax for this:

We could add some special CSS classes, and authors could add some HTML to their markdown files:
<div class="dartpad-workshop-note">
Note goes _here_.
</div>

With https://github.com/dart-lang/dart-pad/issues/2808, support for workshops was dropped, so I'll close this as obsolete. If anyone reading this desires a feature similar to this in DartPad or a new form of workshops, please discuss that in a new issue. Thanks!


google benchmark not work on clang-12

-------- Installing package benchmark/1.7.1 (3 of 14) --------
benchmark/1.7.1: Building from source
benchmark/1.7.1: Package benchmark/1.7.1:3bfc6cd5aeb188a50f9b2bb020f2dfba2b3aa811
benchmark/1.7.1: Copying sources to build folder
benchmark/1.7.1: Building your package in /home/runner/.conan2/p/t/bench342455b9a3872/b
benchmark/1.7.1: Calling generate()
benchmark/1.7.1: Generators folder: /home/runner/.conan2/p/t/bench342455b9a3872/b/build/Debug/generators
benchmark/1.7.1: CMakeToolchain generated: conan_toolchain.cmake
benchmark/1.7.1: CMakeToolchain generated: CMakePresets.json
benchmark/1.7.1: CMakeToolchain generated: ../../../src/CMakeUserPresets.json
benchmark/1.7.1: Generating aggregated env files
benchmark/1.7.1: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
benchmark/1.7.1: Calling build()
benchmark/1.7.1: Running CMake.configure()
benchmark/1.7.1: RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="/home/runner/.conan2/p/t/bench342455b9a3872/b/build/Debug/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/home/runner/.conan2/p/t/bench342455b9a3872/p" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Debug" "/home/runner/.conan2/p/t/bench342455b9a3872/b/src"
-- Using Conan toolchain: /home/runner/.conan2/p/t/bench342455b9a3872/b/build/Debug/generators/conan_toolchain.cmake
-- Conan toolchain: Setting CMAKE_POSITION_INDEPENDENT_CODE=ON (options.fPIC)
-- Conan toolchain: C++ Standard 20 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
-- The CXX compiler identification is Clang 13.0.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++-13 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Failed to find LLVM FileCheck
-- Found Git: /usr/bin/git (found version "2.40.0")
-- git version: v0.0.0 normalized to 0.0.0
-- Version: 1.7.1
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Success
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Success
-- Enabling additional flags: -DINCLUDE_DIRECTORIES=/home/runner/.conan2/p/t/bench342455b9a3872/b/src/include
-- Compiling and running to test HAVE_THREAD_SAFETY_ATTRIBUTES
-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Performing Test HAVE_CXX_FLAG_STDLIB_LIBCXX
-- Performing Test HAVE_CXX_FLAG_STDLIB_LIBCXX - Success
-- Compiling and running to test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- failed to compile
-- Compiling and running to test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Compiling and running to test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- failed to compile
CMake Error at CMakeLists.txt:312 (message):
Failed to determine the source files for the regular expression backend

https://github.com/qqiangwu/cppship/actions/runs/4714401748/jobs/8360743303

clang used with libc++ in linux. use libstdc++ is okay


Switching accounts | Toast Messages | Lack of "Delivery Status Notification" option

Would be nice if you could make switching accounts easier with a drop down menu, like K-@ Mail has. _ Although K-@ Mail doesn't yet support Encrypted email (they haven't updated their email app in a while. It has the option, but it aborts every time. Also it seems like their using a Saturn Symbol on their app logo._)
The Menu on the "Compose" page could use some adjustment(s). Would be nice if a check mark was added, in the stead of just the toast messages when tapping on "Read receipt" "Will request read receipt" or "Will not request read receipt." Also there's no option for Delivery Status Notification, like Thunderbird has.
K-9 Mail also supports multiple accounts, but it's not immediately obvious how to add more accounts. Had to search on StartPage.com to find out. Tap the Dog icon twice & a large plus(+) symbol appears at the bottom, tap that.
Expected behavior
Would be nice to see a drop down menu at the top of the list of emails to select another account.
Also would be nice to see a check mark beside "Read receipt" when it's enabled.
Additionally could you add "Delivery Status Notification" to that menu with a check mark when it's enabled ?  (Something like on Thunderbird.)
Actual behavior
A toast message appears for a second.
Steps to reproduce

Install & setup your email on K-9 Mail
Open your email list and tap the new email icon at the bottom. (Envelope with plus[+] on bottom right corner.)
Then tap the 3 vertical dots at the top right, & hit "Read receipt" notice the toast message, then tap the 3 vertical dots again and hit "Read receipt" again and notice the 'not' added to the toast message.  (If you hadn't selected to always request read receipts in the account settings, if you had that message would just be the opposite.

Environment
K-9 Mail version: 5.600
Android version: 6.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP
Thank you.

Please create one issue per feature request. For most of them we already have one. Make sure to search for an existing issue before opening a new one.


Release checklist

Add OSS License!!!
Update plugin version in readme
Link to KMM Bridge blog post in readme (does not exist yet)
Link to Repo in blog posts
Scan github issues and git history for sensitive info
Make Repos public

KMMBridge
Samples
Podspec

Double check that JB's post links correctly

Also confirm all the other links are right such as touchlabHQ and touchlab.co

Publish a version of the KMM Bridge Actions workflow (not main)
Change samples and docs to use version
Review samples
Update docs
Update versions (plugin, etc)

Add to this list as we're prepping release...

blog post publish ; repository to blog and blog to repository links present and working


ms liveshare macOS

Support macOS/M1
Currently live share is linux only. How would I start the process to add liveshare extension to support macOS and M1.
Metadata
The below does not work currently:
  vscodeExtensions = (with pkgs.vscode-extensions; [

  ]) ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
    {
      name = "vsliveshare";
      publisher = "ms-vsliveshare";
      version = "1.0.5418";
      sha256 = "11pnfvssn2vv975liwx5g7qm0l3l6q0lcl91hxgd0bwpkdzmnr1h";
    }

homepage URL:
source URL: https://github.com/NixOS/nixpkgs/blob/634141959076a8ab69ca2cca0f266852256d79ee/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
license: mit, bsd, gpl2+ , ...
platforms: unix, linux, darwin, m1

The extension is defined here: https://github.com/NixOS/nixpkgs/blob/8b8a64d737ebd31924b4e86f3c46afccff7141b3/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix#L2
You can start with trying to remove the platforms attribute (see https://github.com/NixOS/nixpkgs/blob/8b8a64d737ebd31924b4e86f3c46afccff7141b3/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix#L52), and testing if it works. Since the newer extension versions are pure js, it should work without futher changes.


Update ci for Azure.ResourceManager.AgFoodPlatform

/azp run net - agrifood- mgmt

/azp run prepare-pipelines

/azp run net - agrifood - mgmt

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.AgFoodPlatform


Deployment with netlify could include a README page

Hi,
trying out platframe using netlify, it looks great !
Would be nice to have a short README included, with maybe a badge to the netlify build status.

@arthurlogilab thanks!
I've added a Netlify status badge to the README which reflects the latest production build off the tip of master.


dask workers in different directories

Thank you for reporting an issue.
Please read the following guidelines to ensure that your issue is handled
properly.  If you have a ...

General Question: like "How do I filter a dask.dataframe?" then
please consider asking the question on StackOverflow using the #Dask tag.
Please do not ask a question in both locations.
If you think that you have run into a bug or have an unexplained exception
then please prefer to file a bug report here.

Bug report: then please include a self-contained copy-pastable
example that generates the issue if possible.  Please be concise with code
posted.  See guidelines below on how to provide a good bug report:

Minimal Complete Verifiable Examples
Craft Minimal Bug Reports

Bug reports that follow these guidelines are easier to diagnose,
and so are often handled much more quickly.

Question about a sub-project: like the distributed scheduler,
dask-kubernetes, s3fs, fastparquet, etc.  then please consider submitting a
report to that issue tracker instead.  A list of repositories can be
found at github.com/dask

Feature Request: then please do a quick search of existing issues to
make sure that this has not been asked before.

We know that asking good questions takes effort, and we appreciate your time.
Thank you again.

I'm using dask workers to monitor jobs running in background. I submit the actual jobs with a submit script (sh or PBS). The dask workers monitor if jobs are complete. I need the functions that dask is monitoring to change directory... but this seems to be confusing other threads that are trying to change directory when another thread has already changed directory. Can threads work in different directories?

The concept of "current working directory" is process-wide. You would be better off using absolute paths.

Gotcha. I've refactored appropriately. You can close issue. Thanks!
Dr. Scott W Sides
(303) 718-7028
On Wed, May 8, 2019 at 12:02 PM Martin Durant<EMAIL_ADDRESS>wrote:

The concept of "current working directory" is process-wide. You would be
better off using absolute paths.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/4783#issuecomment-490589283, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADHTEK7RBIVJQPM5LN4B6T3PUMIU5ANCNFSM4HLTQEXA
.


Makefile not using correct version of go-swagger

I noticed today that the generated client code wasn't using the vendored version of go-swagger.  When doing a make, I would see:
go run /Users/travis/go/src/github.com/go-swagger/go-swagger/cmd/swagger/swagger.go generate client -f swagger-spec/monorail.yml
But I expected to see:
go run vendor/github.com/go-swagger/go-swagger/cmd/swagger/swagger.go generate client -f swagger-spec/monorail.yml
I expected this because we are vendoring go-swagger to get a specific version.  However, looking at commit history, I see that @akutz  did this on purpose in https://github.com/emccode/gorackhd/commit/3c0f1fb5bda9770f4d8febb89fabfaeb7468a146. The intent was to go use go-swagger out of the GOPATH, as it fixes some invalid import paths that get put in when using a vendored go-swagger.  To quote:

files generated using a vendored
version of swagger would be corrupt, containing incorrect import paths.
This fix changes the behavior of glide to copy vendored packages during
the first phase of the build process into the standard GOPATH structure.
Then the bindings are built by executing the swagger command's source
file using go run from inside the GOPATH structure.

However, it does not appear that Glide sets the version of go-swagger in $GOPATH as called for in the YAML file.
Here is an example, using the current master branch:
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master)]$ make clean
rm -fr glide.lock .go.get cover.out client models
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master *)]$ make clobber-gopath-swagger
rm -fr /Users/travis/go/bin/swagger
rm -fr /Users/travis/go/src/github.com/go-swagger/go-swagger
rm -fr /Users/travis/go/pkg/*/github.com/go-swagger/go-swagger
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master *)]$ cat glide.yaml
package: github.com/emccode/gorackhd
import:
  - package: github.com/go-swagger/go-swagger
    ref:     6b712512cbe1f1a4882354856b57c61d760499cc
    vcs:     git
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master *)]$ cat glide-swagger.yaml
package: github.com/emccode/gorackhd
ignore:
- client
- models
import:
  - package: github.com/go-swagger/go-swagger
    ref:     6b712512cbe1f1a4882354856b57c61d760499cc
    vcs:     git
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master *)]$ make
....
....
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master *)]$ pushd vendor/github.com/go-swagger/go-swagger/
~/go/src/github.com/emccode/gorackhd/vendor/github.com/go-swagger/go-swagger ~/go/src/github.com/emccode/gorackhd
[travis@mbp ~/go/src/github.com/emccode/gorackhd/vendor/github.com/go-swagger/go-swagger ((6b71251...))]$ git status
HEAD detached at 6b71251
nothing to commit, working directory clean
[travis@mbp ~/go/src/github.com/emccode/gorackhd/vendor/github.com/go-swagger/go-swagger ((6b71251...))]$ popd
~/go/src/github.com/emccode/gorackhd
[travis@mbp ~/go/src/github.com/emccode/gorackhd (master *)]$ pushd ../../go-swagger/go-swagger/
~/go/src/github.com/go-swagger/go-swagger ~/go/src/github.com/emccode/gorackhd
[travis@mbp ~/go/src/github.com/go-swagger/go-swagger (master)]$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

Note that go-swagger in the $GOPATH is on master.  That's not what we were after.
The command we expect to do this for us is /Users/travis/go/bin/glide --home /Users/travis --yaml glide-swagger.yaml up --quick --cache-gopath --use-gopath
--cache-gopath will copy the git repo from the $GOPATH into vendor if it's there.
--use-gopath will also download a dependency into $GOPATH (presumably to take better advantage of caching).  But, AFAICT this does not set the version. And truthfully I don't think it should. Glide is for managing deps in the vendor dir, I wouldn't want it changing versions of repos in my $GOPATH...
So either (1) this is a bug in Glide and it should set that version (I don't think it should) or (2) this approach doesn't quite work.
I'd be curious to know more about what issues were hit  when generating the client from the vendored version of go-swagger. I had edited the Makefile locally to use the vendored version instead, and the code looked fine. All tests passed, but those aren't exercising a whole lot. Is there any advice on how I could look if those invalid import paths are still being generated? Because if they aren't, we can simplify this whole thing by using the vendored version again.
FYI, I had pushed a branch, fix/use_vendored_swagger that uses the vendored go-swagger instead, but that was before I found the history. The cleaner way to structure the Makefile would be to put it how @akutz had it before adding the GOPATH swagger.

Found this as a bit helpful: https://github.com/Masterminds/glide/issues/178
It doesn't directly address whether a version should be set with --use-gopath, but I almost feel like it's omission confirms it. I could comment and ask.

@codenrhoden as a bit of background. we versioned go-swagger because it's in rapid development and using the tip of master against the monorail.yml could have led to unexpected generated code.
I honestly think we are spending time in the wrong parts. At the end of the day, all we need is the generated code

@kacole2 I understand the background and agree with it. But the intent was not realized. The tip of master is and was being used since 3c0f1fb.  We can continue to do as much, but then the Makefile can be simplified quite a bit.
I'll proceed with the other changes I have queued up, using go-swagger from master. But I'd like to leave this open until we make a change. Right now the build uses a two-phase approach to solve a problem, but it is not solving that problem.
The right time to lock things down again would probably by when go-swagger 0.6.0 is released.


When using PDF format error is thrown

An exception is being thrown when trying to set my scanners scan format to a PDF.  I am looking for more information about this error but I can't find any.  How can I scan directly to a PDF, I have drivers installed for my scanner that should allow this.  The exception that is being throws is not very descriptive.
Exception Message: The parameter is incorrect
Exception Stack Trace: at Windows.Devices.Scanners.ImageScannerFeederConfiguration.put_Format(ImageScannerFormat value)

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

ID: dc3f52fa-23ae-7aff-9537-a74a796e0d3d
Version Independent ID: de998431-0cb0-dfca-cfe8-ec8740841de6
Content: ImageScannerFormat Enum (Windows.Devices.Scanners) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.devices.scanners.imagescannerformat.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: eliotcowley
Microsoft Alias: elcowle

I would love more documentation on how or why the PDF format would throw an error and how it can be resolved.

Hi, @justindbaur. Thanks for filing this issue, and my apologies for the long delay in responding.
Except in rare cases, we don't document exceptions (I'll explain the reasons below). So, it might be worth your pursuing this as a question about the product, rather than as feedback about the documentation (since there's nothing that I can action, as things stand). You got here by clicking Send feedback about > This page. If instead you click Send feedback about > This product, then you'll be taken to the Windows developer feedback site (more info about that below).
Here are all of the developer support resources, for completeness.

The Windows developer feedback site is the right place to lobby for a change, a feature, or to make a suggestion.
For community assistance with development questions, there are our forums, and StackOverflow.
The Windows developer support site explains other support options.
The Visual Studio developer community is available, and responsive. The former User Voice feature is now there on the Suggest a feature tab, if you want to lobby for a change, a feature, or to make a suggestion.
For developer issues, or suspected product bugs, there's Microsoft Support; a support engineer will look at the repro and see whether the issue is a Microsoft product bug, or something else. If it's a bug with a Microsoft product then the ticket will be free of charge.

One reason we don't document exceptions is that a well-designed API throws only under conditions where the API isn't being used correctly. So, those conditions can (and should) be found and fixed at development/debug time. So, for a well-designed API, it'd be unnecessary to write production code that catches exceptions. The idea of this design is that for a condition such as an unplugged ethernet cable, where that's not a programming error, the API should not be throwing exceptions; but rather APIs should be able to communicate that condition in parameters or return values (if possible).
The other reason is that a Windows Runtime API itself indicates success/failure by returning an HRESULT value, and certain values result in programming-language-specific exceptions. So while we can document HRESULTs (and we do so for COM APIs), it's not that straightforward for Windows Runtime APIs.
If an API is not following these rules, then hopefully that'll be discovered as part of a support case. If you receive assistance via any support resource, and you believe that information would help us improve the docs, then please come back and let us know.
Sorry that I couldn't be of more immediate help here.
-Steve


Add transferable flag

Simple “transferable” flag to be set on the collection, bool, set on mint and not mutable later. Needed for gems and all the “soulbound” stuff.
In Kusama’s implementation we also have a modifier for temporary transferability, so that you can say, this becomes non transferable after X blocks, or it is transferable for only X blocks, but to not complicate things just the basic boolean would do.
Concept is explained here.

This is possible now with the soulbound extension


securitycenter: Add v1p1beta1 notification snippets

I've added tests that execute the basic workflow of the snippets.

It appears the failing test is unrelated to this PR.

Looks like there is an error?
FAIL	github.com/GoogleCloudPlatform/golang-samples/securitycenter/notifications [build failed]

(We can ignore the "lease failed" error for Go 1.13. CI is busy right now.)

Looks like there is an error?
FAIL	github.com/GoogleCloudPlatform/golang-samples/securitycenter/notifications [build failed]

(We can ignore the "lease failed" error for Go 1.13. CI is busy right now.)

Fixed, err was attempted to be set twice in one scope.


Textformfield buildcounter proporty nullable problem

I noticed it while developing application with Flutter. buildcounter function is giving nullable mistake at textformfield. I solved that added "?" in current length and isFocus inside source code.

I added can be nullable. then, ı solved
as you can see. I hope new flutter update can be changed

@kaanavcix
I guess it's not the problem of implementation of InputCounterWidgetBuilder, but of the automatically generated code.
You can fix the compile error by adding required to the params currentLength and isFocused of your buildCounter like below.
buildCounter: (context, {required currentLength, required isFocused, maxLength}) {

}


 System Linux 2.6.32-042stab108.5
gyp ERR! command "/usr/local/lib/iojs-v3.0.0-linux-x64/bin/iojs" "/usr/local/lib/iojs-v3.0.0-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/www-admin/codenamerainbowfrog/node_modules/canvas
gyp ERR! node -v v3.0.0
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! Linux 2.6.32-042stab108.5
npm ERR! argv "/usr/local/lib/iojs-v3.0.0-linux-x64/bin/iojs" "/usr/local/bin/npm" "install" "canvas"
npm ERR! node v3.0.0
npm ERR! npm  v2.13.4
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the canvas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls canvas
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /srv/www-admin/codenamerainbowfrog/npm-debug.log

Apparently, I am supposed to include npm-debug.log when requesting help, so I uploaded it to termbin.com.
Does anyone know why this is happening? Is io.js v3.0.0 not supported?

It seems it is not supported yet, I've been having the same issue while compiling.

same here

gyp ERR! stack Error: 404 response downloading https://nodejs.org/dist/v3.0.0/node-v3.0.0.tar.gz
Are you folks still getting this same error?

@Fishrock123 Yep, I still get the same error. I am runnign Ubuntu Server 15.04.
Here's the output from uname -a:
Linux starbeamrainbowlabs.com 2.6.32-042stab108.8 #1 SMP Wed Jul 22 17:23:23 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux

@Fishrock123 Shouldn't that url read https://iojs.org/dist/v3.0.0/iojs-v3.0.0.tar.gz cause there is no v3.0.0 folder in https://nodejs.org/dist ??

Are you folks trying to build with a different npm than ships with io.js? Only io.js's npm is able to build native addons for io.js. (Needs floating patches.)

npm ERR! npm  v2.13.4
Looks like it. npm is only 2.13.3 in io.js 3.0.0 and 3.1.0.: https://github.com/nodejs/node/commits/6faf17cb45e27cb6feeff4a0da1513ea99a68b58/deps/npm
This is a known issue, sorry. It should be resolvable now that https://github.com/nodejs/node/commit/04fd4fad462d6cb6fa3ddfe3e673903935d9cd5a landed.

@Fishrock123 Yeah. I am trying out the latest npm beta version.

@Fishrock123 Nope, I just installed io.js for windows 7 64 bit as normal.

@sbrl what does npm -v output for you?

https://github.com/nodejs/node-gyp/issues/701

@Fishrock123 2.13.5.

@sbrl Please see the above. :s

@Fishrock123 Updated to npm 2.14.0, and it still doesn't work. I doesn't really understand what's going on here.

i had loads of problems with this too. fixed it with https://github.com/creationix/nvm i now have node-gyp building under both node and iojs. result !


Car tests: fix serialize error on fail

@jnewb1 can you see if there are any other instances? Perhaps @parameterized too is affected, though I imagine it's converted to a string implicitly already


Part-day public holiday

Hi there.
South Australia has a part day public holiday after 7pm on Christmas Eve and New Years Eve:
http://www.safework.sa.gov.au/show_page.jsp?id=2483#.VyR-0GNvN0c
(I'm guessing this is not something that will be supported any time soon: I've still not implemented it in my manual public-holiday stuff internally).

If these days are only considered holidays after 7pm -- and therefore banks, government buildings, etc are open during the day -- I think these days should not be considered holidays considering the types of uses this library has.
Since the library makes it very easy to create custom holiday lists I think we should ignore these for now unless enough "part-day" holidays exist in other countries to warrant adding an optional part_day argument to the Holiday class.

In Australia, it's not just "business hours" that are important: we have different pay rates for employees who work on public holidays.


Figure out why yellowtail NEFSC won't run in quarto book

Tagging Chris since we probably need to work together on it - although I can use help figuring out why the Yellowtail example that runs locally doesn't work in this quarto book

I got the following error while running the quarto book locally:
Error in eval(expr, envir, enclos) :
  Not compatible with requested type: [type=list; target=double]

GitHub Action log indicates that the errors were associated with the log_obs_error settings. The updated code below, using the latest FIMS interface, resolved the issue on my local machine:
fishing_fleet$log_obs_error <- rep(log(sqrt(log(as.numeric(mean(rdat$control.parms$catch.tot.cv[,1], na.rm=TRUE)^2) + 1))), nyears)
fishing_fleet$estimate_obs_error <- FALSE

survey_fleet$log_obs_error <- rep(log(sqrt(log(as.numeric(mean(rdat$index.cv[[i]], na.rm=TRUE)^2 + 1)))), nyears)
survey_fleet$estimate_obs_error <- FALSE

Done through pull request #4


Great Script Restoration Post Quantum tool

n1clker Tweet
repository

Questions

Could quantum resistant signatures be produced without requiring the addition of covenants?

Included in Socratic Seminar 0.


Any plans for something like open_embedding() support?

First of all: I love that this extension exists! I just stumbled on it today (shared by MotherDuck team member) and I'll definitely share with others who are interested in this capability.
Do you have any plans to add something like open_embedding() as companion/complement to open_prompt() or are you aware of anyone else looking at adding it?
Thanks for all your work!

Hello @aaronsteers and thanks for the kind words. The code is just an HTTP wrapper so we can implement new functions pretty fast if you're willing to provide a curl example and a mockup of the function/parameters this would require.

@aaronsteers another user of our http_client extension came up with this macro:
INSTALL http_client FROM community; LOAD http_client;
CREATE OR REPLACE MACRO embedding(q) AS (
WITH  __input AS (
    SELECT
      http_post(
          'https://api.openai.com/v1/embeddings',
          headers => MAP {
            'Authorization': 'Bearer sk_your_openai_key',
            'Content-Type': 'application/json; charset=UTF-8'
          },
          params =>{
            'model': 'BAAI/bge-large-zh-v1.5',
            'input': q,
            'encoding_format':'float'
          }
      ) AS res
)
-- SELECT (table __input)
SELECT json_extract(((table __input)->>'body')::JSON ,'$.data[0].embedding') as  chat_response
);
select embedding('"DuckDB"') as embedding

If this is what you're after, we can implement it in the open_prompt() extension quite easily


Add policy addon controller

Refs:

https://github.com/stolostron/backlog/issues/19436

Signed-off-by: Justin Kulikauskas<EMAIL_ADDRESS>

For: https://github.com/stolostron/backlog/issues/20013
Before this can be added to the chart, we need to get the image overrides in place in the installer.

/hold
The image overrides are there.  Adding hold in case there's anything else to investigate, but it lgtm
/lgtm

We can merge and test it next week. I don't want it to somehow break something for everyone while I'm not around to even investigate :D

/unhold


Pass registered resource names to config.Validate

[fixes https://github.com/aws-controllers-k8s/community/issues/1647]
Completes https://github.com/aws-controllers-k8s/runtime/pull/117
This patch adds a tiny modification to the controllers main.go that
passes the resource names to ackCfg.Validate method.
Needs a new runtime release.
/hold
Signed-off-by: Amine Hilaly<EMAIL_ADDRESS>By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/unhold

/retest

/test s3-controller-test

/retest

/retest

/retest

/test all

/retest

/lgtm


Add Valgrind plugin

This commit adds the Valgrind plugin to Ceedling. The plugin implementation closely follows the Gcov plugin.
Fixes #277.

It would be better at this point if this were targeting the prerelease branch that is soon to be released.

It would be better at this point if this were targeting the prerelease branch that is soon to be released.

@mvandervoord Sure, I have changed the base branch of the pull request to test/ceedling_0_32_rc.
I have also added a simple README file for the Valgrind plugin in the latest commit.

Why is this still not merged ?

@PasVegan Because it hasn't been reviewed yet.
Have you tried the plugin? How was your experience?

Yes I tried the plugin and it works very nicely, the only thing that I have to say is that even if valgrind reports errors the exit code is still 0 at the end. I think that need to be changed for proper CI use.

Hi @PasVegan, you can add the following flags to let Valgrind exit on the first error and return a different exit code:
--exit-on-first-error=yes
--error-exitcode=<number>

In a CI context, it makes sense to add said flags. If you feel that those flags should be the default options, I can add them (with the default error exit code to be 1).

Hi, yes I think those flags should be on by default with the default exit code on error being 1 👍🏻

Hi, yes I think those flags should be on by default with the default exit code on error being 1 👍🏻

Done! Added the 2 aforementioned flags in the latest commit (68fe5c33a233e52b371de18652aa9f64adfd32b8).


Lost communication with MCU 'toolboard_t0'

I'm running RatRig V-Core4 500 with a Orbitool board.  I keep getting  lost communication error.   I've tried multiple toolboards, USB pcbs, and cables.  I ordered 3 toolboards, so I had 1 for IDEX and a spare.
It seems to work fine for 4 or 5 prints, then I get 3ish hours into a print and it shuts down due to "Lost communication with MCU 'toolboard_t0'" Then it does it every time I try to print something until I switch out the board or cable.  Then it will work fine for 4 or 5 prints.  I'm really stumped on this.  All the connectors are stock, I didn't crimp anything.  I've switched out previously removed boards and cables, and it will still print 4 or 5 prints without issue.
T/S info:
RatOS 2.1
Changed stock toolhead cables - I have rotated out 3 different stock cables
Changed USB cables - rotated out 3 stock cables, as well as a known good usb 3.1 cable
Verified 24v  - 24.3v while printing
Reported temp while printing: 70-75c
The VC4 part cooling fan draws air across board while printing, so there is a constant flow of air across the heatsink.
I can provide the klippy log, but it's too big to attach here.
RatOS.cfg:
[board_pins toolboard_t0]
mcu: toolboard_t0
aliases:
#------------------------------------------- EXTRUDER motor pins --------------------------------------------
e_step_pin=PB7,
e_dir_pin=PB6,
e_enable_pin=PB4,
e_uart_pin=PB5,
#----------------------------------------------- GENERAL PINS -----------------------------------------------
e_heater_pin=PA0,
e_sensor_pin=PA3,
stepper_spi_mosi_pin=null,
stepper_spi_miso_pin=null,
stepper_spi_sclk_pin=null,
adxl345_cs_pin=PA4,
bltouch_sensor_pin=PA15,
bltouch_control_pin=PB3,
probe_pin=PA15,
fan_part_cooling_pin=PA10,
fan_toolhead_cooling_pin=PA9,
fan_controller_board_pin=null,
heater_bed_heating_pin=null,
heater_bed_sensor_pin=null,
4p_fan_part_cooling_pin=null,
4p_fan_part_cooling_tach_pin=null,
4p_toolhead_cooling_pin=null,
4p_toolhead_cooling_tach_pin=null,
4p_controller_board_pin=null,
4p_controller_board_tach_pin=null
[mcu toolboard_t0]
serial: /dev/RatOS/ldo-orbitool-o2-t0
[temperature_sensor Orbitool_O2_T0]
sensor_type: temperature_mcu
sensor_mcu: toolboard_t0
[lis2dw toolboard_t0]
axes_map: x, z, y # Assumes back-facing vertical toolboard mounting
cs_pin: toolboard_t0:PA4
spi_bus: spi1
[extruder]
max_power: 0.995
[adc_temperature hotend_power_scale]
temperature1: 119
voltage1: 1.91
temperature2: 239
voltage2: 3.82
[fan]
max_power: 0.995
[heater_fan toolhead_cooling_fan]
Use max_power: 0.5 for 12V, max_power: 1 for 24V (in printer.cfg)
max_power: 0.995
cycle_time: 0.0001
[output_pin O2_RUN_LED]
pin: toolboard_t0:PB8
shutdown_value: 0
value: 1
[temperature_sensor hotend_power_draw]
sensor_pin: toolboard_t0:PA2
sensor_type: hotend_power_scale
printer.cfg:
[fan]
shutdown_speed: 0.0
hardware_pwm: False
cycle_time: 0.0001
kick_start_time: 0.2
off_below: 0.0
max_power: 0.995
#pin: toolboard_t0:PB1
[heater_fan toolhead_cooling_fan]
shutdown_speed: 0
tachometer_pin:toolboard_t0:PA8
tachometer_ppr: 2
tachometer_poll_interval: 0.0015

Hi @dyocis sorry to hijack this thread, but I am in the process of adding this board to my VCore. How did you wire the RatRig endstop to the board? Since there are only 2 pins, I guess the led feature of the endstop will not work when triggered. Is there anything else you had issues with installing this board?
Best regards

can you share klipper log file?


When angular2 will come?

When angular2 will come?

https://splintercode.github.io/is-angular-2-ready/


change the use statement for ResponseFactory

allows the app to override which object User points to.
closes #6025

This doesn't look right to me, we should be trying to avoid facades in the core.
Luckily this will be an easy fix since the ResponseFactory is already an instance of ApplicationAwareInterface So instead of doing new User() here (which I would consider the old way of doing things) to use the proper method of retrieving the logged in user:
$user = $this->getApplication()->make(User::class);

And now the User will be overrideable by doing:
$app->bind(User::class, function(...$args) {
    return new CustomUser(...$args);
});

Thanks for the feedback and information on this...
Out of curiosity is there a benefit to switching to something like
$u = $this->app->make(\User::class);
as opposed to
$u = new User();
From my reading on service containers I think it's more efficient but that is an area I need to do a bit more learning about.

IMO new \User() uses a class_alias that:
A. Isn't immediately obvious since it's aliased
B. Has no namespace and is global (hope no dependencies collide)
C. Uses the autoloading stack to override functionality instead of using the container
Honestly the former is probably faster if you only do it once per request, but that's just because this is all around a convenient yet unfortunate design for retrieving the logged in user. A better design IMO would be something like this:

class ResponseFactory
{
    protected $userFactory;

    public function __construct(UserFactory $userFactory)
    {
        $this->userFactory = $userFactory;
    }

    public function collection()
    {
        $loggedInUser = $this->userFactory()->loggedInUser();
    }

}

where the logged in user could just be memoized against the factory or the container.

All that said, at the very least this gets us the ability to do $app->singleton(User::class) and make it so that we only need to ever resolve the logged in user one time even if we request it 1000 times whereas new User() makes that impossible since the new keyword is used and __construct() cannot return.

Thanks for this :+1:

You're very welcome, thanks for your patience and taking the time to explain some of the intricacies for me as well!


Add "send file" feature

Description
As user, I want to send files in the binary format (via serial port), to ease the sent of large data via serial port.
Goal
This features must be achived implementing a system command (! followed by its name) with name send followed by the file name to be sent. E.g.: !send firmware.bin.

Closed at #12