CMake support

CMake support

When building the upper layer project, you need all the toolchains in your path, or it will fail...
I created a host target, which is generic for all hosts.  You may want to consider removing "x86_64-w64-mingw32".

Win64 Native / Host Build / Visual Studio
real-time-cpp\build>cmake ..\ref_app -DTARGET=host
real-time-cpp\build>cmake --build . --config Debug --target INSTALL
Linux Native / Host Build
real-time-cpp$ mkdir build_linux_host && cd build_linux_host
real-time-cpp$ cmake ../ref_app -DTRIPLE=x86_64-linux-gnu -DTARGET=host -DCMAKE_TOOLCHAIN_FILE=../ref_app/cmake/gcc-toolchain.cmake
real-time-cpp$ make -j7
Linux w64-mingw32 / Host Build
real-time-cpp$ mkdir build_w64_mingw32 && cd build_w64_mingw32
real-time-cpp$ cmake ../ref_app -DTRIPLE=x86_64-w64-mingw32 -DTARGET=host -DCMAKE_TOOLCHAIN_FILE=../ref_app/cmake/gcc-toolchain.cmake
real-time-cpp$ make -j7
Linux Upper Layer / All projects
real-time-cpp$ mkdir build && cd build
real-time-cpp$ cmake ..
real-time-cpp$ time make -j7
...
real 0m16.815s
user 1m30.496s
sys 0m8.878s
Using Visual Studio to build All Projects
real-time-cpp$ mkdir build && cd build
real-time-cpp$ cmake ..
real-time-cpp$ cmake --build . --config Debug --target INSTALL
The basic requirements are:

TRIPLE and/or TARGET variables come before the toolchain file
The build folder can be located anywhere

Type "cmake -G" on build host to see available projects one can target.

Hi Joel. Thanks for moving forward on the CMake builds. I am really swamped w´right now so it might take 2 or 3 days until I get a chance to merge to master. It looks like there are no merge conflicts, but I would still like to take a day or so to look at the progress, OK? Bset regards, Chris

No worries.  A few more changes, and once I remove the note not complete, I'm ready.

It looks good, Joel.
Could you please indicate when I should go for merging the PR?

Anytime!

Hello,
Really nice work!
I tested the target stm32f429 on Debian10/Toolchain: gcc-arm-none-eabi-8-2019-q3-update.
LedBlinky working on my side.
[Log]
(...)
gdobato@unix:~/Workspace/test/real-time-cpp/build_linux_host$ cmake ../ref_app -DTRIPLE=arm-none-eabi -DTARGET=stm32f429 -DCMAKE_TOOLCHAIN_FILE=../ref_app/cmake/gcc-toolchain.cmake
gdobato@unix:~/Workspace/test/real-time-cpp/build_linux_host$ make -j
(...)
[ 97%] Building CXX object CMakeFiles/ref_app.dir/target/micros/stm32f429/startup/int_vect.cpp.obj
[100%] Linking CXX executable ref_app.elf
Generating Post Build Artifacts
[100%] Built target ref_app
gdobato@unix:~/Workspace/test/real-time-cpp/build_linux_host$ ls
CMakeCache.txt       ref_app.bin          ref_app.lss          ref_app_size.txt
CMakeFiles           ref_app_cppfilt.txt  ref_app.map
cmake_install.cmake  ref_app.elf          ref_app_nm.txt
Makefile             ref_app.hex          ref_app_readelf.txt
gdobato@unix:~/Workspace/test/real-time-cpp/build_linux_host$ st-flash --format ihex write ref_app.hex
st-flash 1.5.1-50-g3690de9
2019-11-27T00:46:54 INFO common.c: Loading device parameters....
2019-11-27T00:46:54 INFO common.c: Device connected is: F42x and F43x device, id 0x20016419
2019-11-27T00:46:54 INFO common.c: SRAM size: 0x40000 bytes (256 KiB), Flash: 0x200000 bytes (2048 KiB) in pages of 16384 bytes
2019-11-27T00:46:54 INFO common.c: Attempting to write 3028 (0xbd4) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08000000 erased
2019-11-27T00:46:55 INFO common.c: Finished erasing 1 pages of 16384 (0x4000) bytes
2019-11-27T00:46:55 INFO common.c: Starting Flash write for F2/F4/L4
2019-11-27T00:46:55 INFO flash_loader.c: Successfully loaded flash loader in sram
enabling 32-bit flash writes
size: 3028
2019-11-27T00:46:55 INFO common.c: Starting verification of write complete
2019-11-27T00:46:55 INFO common.c: Flash written and verified! jolly good!

Thank you gdobato for verifying one of the CMake builds.

Great work, Joel. Thank you for creating CMake builds.

Thanks, and you're welcome!


Remove Substance punning

Switch to SKOS hierarchy like we have with brick Quantities

@gtfierro, hope you don't mind I piggy-backed on your PR to fix the Supply_Air declaration, which was getting turned back into a class because of the owl:equivalentClass declaration (via the bsh:RDFSRangeRule).

@steveraysteveray thanks! I added owl:sameAs instead to preserve the discharge==supply semantics that we've used elsewhere in Brick


Read temporal values from JSON

Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-4803
Ability to parse strings that look like timestamps to timestamp type. Need to consider whether only timestamp type should be supported as most JSON libraries stick to ISO8601. It might also be inefficient to use regex for timestamps, so the user should provide a hint of which columns to convert to timestamps

It seems the behavior here is not consistent.  TemporalValues can get parsed to u64 if they look like u64 otherwise it is a null, but only while dealing with build_struct_array whereas for build_nested_list_array an error is returned.
It could be done as done in csv_reader with regex and extra strings describing possible formats. Or we could have parser as closures (eg : Fn(String) -> Type)) stored in the reader/decoder(/Schema?)

@alamb I would like to take a stab at this one (if it is still relevant)
Thanks for looking :-)

As @nevi-me  filed the original ticket, he may have some additional context. Thanks @sum12 !

Closed by https://github.com/apache/arrow-rs/pull/3835


WasiCtx and preopen

Hi,
Wasi::new takes a WasiCtx parameter that can be created with environment args as shown in your examples on WASI and linking. With the wasmtime binary you can pass the --dir parameter to preopen a directory where the wasm module can read a file from. I did not so far get this to work when instantiating a WASI module using your API. It seems the args passed into the WasiCtx creation does not end up with directories being pre-opened. The end result is that file IO from a WASI module does not seem to work unless you are calling it from the wasmtime binary. Maybe I'm missing something? Thanks.

Can you describe how you're setting up the WasiCtx? Are you calling preopened_dir to add the preopens?

Sure, the following is based on some code of wasmtime in run.rs. I suspect the File::open might be not correct but not sure. The wasm module tries to open a file in the current directory of the executable. Anyway...
   ...
   let mut linker = Linker::new(&store);
   let mut cx1 = wasi_common::WasiCtxBuilder::new();
   let mut path = Path::new(".");
   let mut file = match File::open(&path) {
      Err(why) => panic!("couldn't open file: {}",
            why.description()),
      Ok(file) => {println!("could open ."); file},
   };
   cx1.preopened_dir(file.try_clone()?, ".");
   let cx1 = cx1.build()?;
   let wasi = Wasi::new(&store, cx1);
   //NOTE the following also did not work when passing the --dir=. parameter to the executable
   //let wasi = Wasi::new(&store, WasiCtx::new(std::env::args())?);
   wasi.add_to_linker(&mut linker)?;
   ...

Offhand I don't see anything wrong there. Do you know what string the application code is attempting to open that isn't working?

Here is the simple code section from the wasm module. Note that this works when called from wasmtime (with --dir=.). The file is in the current directory:
...
let path = Path::new("somefile.txt");
let mut file = match File::open(path) {
...

I'll fish around for something else that might be causing this if you say that it all looks sound.

Solved the problem. start wasn't being called. Thanks for the help.

Same problem here, any ideas?

It turns out that using
let (command, _instance) = wasmtime_wasi::bindings::sync::Command::instantiate(
        &mut store,
        &component,
        &mut linker,
    ).unwrap();

to instantiate the component make preopened_dir to work, but using
let example_res = Root::instantiate(&mut store, &component, &linker);
    match example_res {
        Ok((instance, _)) => {
            instance.interface0.call_funcall(&mut store).unwrap();
        }
        Err(e) => println!("Error at calling function {:?}", e),
    }

fails.
We use a reactor component, so I think we are missing some wasi initialization step, we just cannot figure out which one.


rte: don't use google pause container

u/s RTE wants to use the google pause container for the
shared pool container. We need to minimize the container image,
so we replace it reusing the same RTE image with a different
entry point.
Since we require anyway the RTE image to be based on a ubi-minimal
(or equivalent) image, and since the shared-pool-container
does not need to reap pids but just to sleep forever peacefully,
we can use just the simplest sleep command.
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

/hold

/cherry-pick release-4.10

/retest
seems infra issue

/hold

/hold cancel
local test passing (e2e test pending)

/approve
/lgtm


Add files via upload

Ruaha catholic university

@Pheelz21 lib/domains/rucu.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.


Merging this project in API Platform

Hi,
I just cam across your project and it's very interesting. In our (not stable yet) API Platform v2, we have decoupled the JSON-LD/Hydra part from the engine. Adding support for new formats (while still having all other features) is just a matter of creating a normalizer for it (what you've done in this bundle): https://github.com/api-platform/doc/blob/master/api-bundle/content-negotiation.md
I'm working on HAL support, but having JSON API support as well as other hypermedia format in a same project would be a big win both for API Platform and the Symfony ecosystem.
Are you interested for collaborating on this topic?

Yeah sure. I've got a HAL transformer done too. The serializer it uses is my own, but I remember all the logic to port it somewhere.
I'm certain we can get to talk and find a way to merge projects,as your v2 is basically what I was aiming too do too.
So yeah! :+1:


feat: turn off assembly validation

As it turns out,
validating assemblies takes a non-trivial percentage of all time spent on JSII compilation.
Since the feature is not very important right now,
turn it off to speed-up builds.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: 1476e6b805f9ff6d3c4770667a9c477b00e63d6e
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Question about potential exploit

If user makes payment for less than required amount, what happens?
PS I tried to find it in code, but wasn’t able to.

@BOR4 , good observation!
Indeed, I had the payment amount hardcoded in the client and there was no check for the amount when calculating the winners.
Refactored the logic a little bit & fixed the above issue in https://github.com/cryptoplayerone/cryptobotwars/commit/c96f2370139997cc6505e26cdbf720fe2f9aad93:

payment amount is retrieved from the server and checked here: https://github.com/cryptoplayerone/cryptobotwars/blob/master/server/src/controllers/game.controller.ts#L200 after being set for each game (https://github.com/cryptoplayerone/cryptobotwars/blob/master/server/src/controllers/game.controller.ts#L80) and each move (https://github.com/cryptoplayerone/cryptobotwars/blob/master/server/src/controllers/game.controller.ts#L294)
so any payment with a smaller amount is not taken into consideration and goes to the GameGuardian

Thank you!

@loredanacirstea no problem. Love the idea of the whole thing!


example_connect(): Never receiving global IPv6 address (IDFGH-4217)

Environment

Development Kit:      ESP32-DevKitC
Kit version (for WroverKit/PicoKit/DevKitC): v4
Module or chip used:  ESP32-WROOM-32D
IDF version:   v4.2-beta1-227-gf0e87c933
Build System:   idf.py
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
Operating System:     Linux
Using an IDE?: No
Power Supply: USB

Problem Description
Can't obtain global IPv6 address with any example using example_connect eg. sockets/udp_server.
Routers tested:  Fritzbox 7430 stock FW and TP-Link Archer C50v4 with openwrt 19.07.4
All other PCs and phones on the network get linklocal, unique and global IPv6 addresses.
ESP32 only gets linklocal.
Expected Behavior
Program receives global IPv6 address.
Actual Behavior
Program waits for global IPv6 address forever.
Code to reproduce this issue
examples/protocols/sockets/upd_server
with CONFIG_EXAMPLE_CONNECT_IPV6_PREF_GLOBAL
Debug Logs
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:7072
ho 0 tail 12 room 4
load:0x40078000,len:13732
load:0x40080400,len:3988
0x40080400: _init at ??:?

entry 0x40080688
I (30) boot: ESP-IDF v4.2-beta1-227-gf0e87c933 2nd stage bootloader
I (31) boot: compile time 17:42:43
I (31) boot: chip revision: 1
I (35) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (42) boot.esp32: SPI Speed      : 40MHz
I (47) boot.esp32: SPI Mode       : DIO
I (51) boot.esp32: SPI Flash Size : 4MB
I (56) boot: Enabling RNG early entropy source...
I (61) boot: Partition Table:
I (65) boot: ## Label            Usage          Type ST Offset   Length
I (72) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (79) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (87) boot:  2 factory          factory app      00 00 00010000 00100000
I (94) boot: End of partition table
I (99) boot_comm: chip revision: 1, min. application chip revision: 0
I (106) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x16f5c ( 94044) map
I (151) esp_image: segment 1: paddr=0x00026f84 vaddr=0x3ffb0000 size=0x037f4 ( 14324) load
I (157) esp_image: segment 2: paddr=0x0002a780 vaddr=0x40080000 size=0x00404 (  1028) load
0x40080000: _WindowOverflow4 at /home/mx/esp/esp-idf/components/freertos/xtensa/xtensa_vectors.S:1730

I (158) esp_image: segment 3: paddr=0x0002ab8c vaddr=0x40080404 size=0x0548c ( 21644) load
I (176) esp_image: segment 4: paddr=0x00030020 vaddr=0x400d0020 size=0x724fc (468220) map
0x400d0020: _stext at ??:?

I (354) esp_image: segment 5: paddr=0x000a2524 vaddr=0x40085890 size=0x102e0 ( 66272) load
0x40085890: ram_write_gain_mem at /home/cff/gittree/chip7.1_phy/chip_7.1/board_code/app_test/pp/phy/phy_chip_v7.c:1089

I (395) boot: Loaded app from partition at offset 0x10000
I (396) boot: Disabling RNG early entropy source...
I (396) cpu_start: Pro cpu up.
I (400) cpu_start: Application information:
I (404) cpu_start: Project name:     udp_server
I (410) cpu_start: App version:      1
I (414) cpu_start: Compile time:     Nov  4 2020 20:25:58
I (420) cpu_start: ELF file SHA256:  ead5ebfc0cbce563...
I (426) cpu_start: ESP-IDF:          v4.2-beta1-227-gf0e87c933
I (433) cpu_start: Starting app cpu, entry point is 0x400818a8
0x400818a8: call_start_cpu1 at /home/mx/esp/esp-idf/components/esp32/cpu_start.c:287

I (0) cpu_start: App cpu up.
I (443) heap_init: Initializing. RAM available for dynamic allocation:
I (450) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (456) heap_init: At 3FFB7D70 len 00028290 (160 KiB): DRAM
I (462) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (469) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (475) heap_init: At 40095B70 len 0000A490 (41 KiB): IRAM
I (481) cpu_start: Pro cpu start user code
I (500) spi_flash: detected chip: generic
I (500) spi_flash: flash io: dio
I (500) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (603) wifi:wifi driver task: 3ffc01b0, prio:23, stack:6656, core=0
I (603) system_api: Base MAC address is not set
I (603) system_api: read default base MAC address from EFUSE
I (623) wifi:wifi firmware version: f8b2044
I (623) wifi:wifi certification version: v7.0
I (623) wifi:config NVS flash: enabled
I (623) wifi:config nano formating: disabled
I (633) wifi:Init data frame dynamic rx buffer num: 32
I (633) wifi:Init management frame dynamic rx buffer num: 32
I (643) wifi:Init management short buffer num: 32
I (643) wifi:Init dynamic tx buffer num: 32
I (653) wifi:Init static rx buffer size: 1600
I (653) wifi:Init static rx buffer num: 10
I (653) wifi:Init dynamic rx buffer num: 32
I (663) wifi_init: rx ba win: 6
I (663) wifi_init: tcpip mbox: 32
I (673) wifi_init: udp mbox: 6
I (673) wifi_init: tcp mbox: 6
I (673) wifi_init: tcp tx win: 5744
I (683) wifi_init: tcp rx win: 5744
I (683) wifi_init: tcp mss: 1440
I (693) wifi_init: WiFi IRAM OP enabled
I (693) wifi_init: WiFi RX IRAM OP enabled
I (703) example_connect: Connecting to OpenWrt...
I (793) phy: phy_version: 4500, 0cd6843, Sep 17 2020, 15:37:07, 0, 0
I (793) wifi:mode : sta (3c:71:bf:ab:33:10)
I (803) example_connect: Waiting for IP(s)
I (2133) wifi:new:<11,0>, old:<1,0>, ap:<255,255>, sta:<11,0>, prof:1
I (2133) wifi:state: init -> auth (b0)
I (2133) wifi:state: auth -> assoc (0)
I (2143) wifi:state: assoc -> run (10)
I (2143) wifi:connected with OpenWrt, aid = 1, channel 11, BW20, bssid = 98:da:c4:5a:0e:f3
I (2143) wifi:security: Open Auth, phy: bgn, rssi: -32
I (2143) wifi:pm start, type: 1

I (2213) wifi:AP's beacon interval = 102400 us, DTIM period = 2
I (3093) esp_netif_handlers: example_connect: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (3093) example_connect: Got IPv4 event: Interface "example_connect: sta" address: <IP_ADDRESS>
I (3593) example_connect: Got IPv6 event: Interface "example_connect: sta" address: fe80:0000:0000:0000:3e71:bfff:feab:3310, type: ESP_IP6_ADDR_IS_LINK_LOCAL

#
# Example Connection Configuration
#
CONFIG_EXAMPLE_CONNECT_WIFI=y
CONFIG_EXAMPLE_WIFI_SSID="OpenWrt"
CONFIG_EXAMPLE_WIFI_PASSWORD=""
# CONFIG_EXAMPLE_CONNECT_ETHERNET is not set
CONFIG_EXAMPLE_CONNECT_IPV6=y
# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_LOCAL_LINK is not set
CONFIG_EXAMPLE_CONNECT_IPV6_PREF_GLOBAL=y
# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_SITE_LOCAL is not set
# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_UNIQUE_LOCAL is not set
# end of Example Connection Configuration

Thanks for reporting and letting us know, we will look into.

Hi @nx518
Is the SLAAC enabled in lwIP in your project? You can find this option under component config -> lwIP -> Enable IPV6 stateless address autoconfiguration, i.e. CONFIG_LWIP_IPV6_AUTOCONFIG=y (this is off by default, and the options you are mentioning above are only for the example connection code to prefer (wait for) a specific address type.

Thank you, enabling CONFIG_LWIP_IPV6_AUTOCONFIG solved it. Now I have all needed IPv6 addresses.
Would you consider enabling SLAAC by default and add the term SLAAC to the description in components/lwip/Kconfig like:
    config LWIP_IPV6_AUTOCONFIG
        bool "Enable IPV6 stateless address autoconfiguration (SLAAC)"
        default y
        help
            Enabling this option allows the devices to IPV6 stateless address autoconfiguration (SLAAC).

            See RFC 4862.

@nx518 I don't think we'd like to enable the SLAAC by default. There might be a slight security concern (users might end up with devices, globally accessible on the internet, without even knowing about it).
Good point with the SLAAC description, it would be useful to have this in the description/name field of the config option, I think.


Linux_android android_build_all_packages master failing (consistently?)

The flutter/packages check (Linux_android android_build_all_packages master) that has been recently enabled, seems to have started failing pretty much consistently, and is blocking the flutter/packages tree:
Upgrading build.gradle
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not resolve com.sun.xml.fastinfoset:FastInfoset:1.2.15.
     Required by:
         project : > com.android.tools.build:gradle:4.1.0 > androidx.databinding:databinding-compiler-common:4.1.0 > org.glassfish.jaxb:jaxb-runtime:2.3.1
      > Could not resolve com.sun.xml.fastinfoset:FastInfoset:1.2.15.
         > Could not get resource 'https://jcenter.bintray.com/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.pom'.
            > Could not GET 'https://jcenter.bintray.com/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.pom'.
               > peer not authenticated

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org/

BUILD FAILED in 12s
Running Gradle task 'assembleDebug'...                             13.2s
[!] Gradle threw an error while downloading artifacts from the network.
Retrying Gradle Build: #1, wait time: 100ms
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not download asm-commons-7.0.jar (org.ow2.asm:asm-commons:7.0)
      > Could not get resource 'https://jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar'.
         > Could not HEAD 'https://jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar'.
            > peer not authenticated
   > Could not download javawriter-2.5.0.jar (com.squareup:javawriter:2.5.0)
      > Could not get resource 'https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar'.
         > Could not HEAD 'https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar'.
            > No PSK available. Unable to resume.
   > Could not download bcprov-jdk15on-1.56.jar (org.bouncycastle:bcprov-jdk15on:1.56)
      > Could not get resource 'https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar'.
         > Could not HEAD 'https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar'.
            > No PSK available. Unable to resume.
   > Could not download fastutil-7.2.0.jar (it.unimi.dsi:fastutil:7.2.0)
      > Could not get resource 'https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar'.
         > Could not GET 'https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar'.
            > peer not authenticated
   > Could not download jaxb-runtime-2.3.1.jar (org.glassfish.jaxb:jaxb-runtime:2.3.1)
      > Could not get resource 'https://jcenter.bintray.com/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar'.
         > Could not GET 'https://jcenter.bintray.com/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar'.
            > peer not authenticated

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org/

BUILD FAILED in 7s
Running Gradle task 'assembleDebug'...                              7.6s
[!] Gradle threw an error while downloading artifacts from the network.
Gradle task assembleDebug failed with exit code 1

Is Java misconfigured? Is there now a proxy in LUCI? Did anything change in LUCI in between the green/red builds?
Last good build: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_android android_build_all_packages master/2/overview
First bad build:
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_android android_build_all_packages master/3/overview

(I cannot see anything meaningfully different between the bots)

An immediate mitigation for this might be to revert:

https://github.com/flutter/packages/pull/4274

Only the legacy version is failing. I would say that this looks like a server-side issue (e.g., maybe an old package we need for the legacy build was dropped?), except that doesn't explain why the Cirrus version passes. I'm investigating more now.


Treat svg as binary resource

The large svg in the SVG Layer example, when embedded as text, is causing an error when attempting to open the example in CodeSandbox.  It (and any other svg data) can however be successfully imported into CodeSandbox in the same way as binary image files.

Thanks, @mike-000


ExpandValueSet is called aggressively

Consider this CQL:
define function "code in value set"(code Code, codes List<Code>):
    code in codes

When this function is called with a value set, e.g.:
valueset "Value set": 'url'
define "call it":
    "code in value set"(Errors."Unit mismatch", "Value set")

The operand in the ELM to the "code in value set" call is an ExpandValueSet.
The value set does not in fact need to be expanded, because this is valid:
define function "example"(code Code):
    code in "Value set"

The expression of "example" is an InValueSet.
Eagerly expanding the value set ahead of time introduces a performance penalty for this pattern.
It's possible to declare the parameter as a System.ValueSet which will avoid the ExpandValueSet operand, but because of the automatic expansion of value sets with this usage, these two signatures become ambiguous:
define "call it":
    "overload"(Errors."Unit mismatch", "Value set")

define function "overload"(code Code, codes List<Code>):
    code in codes

define function "overload"(code Code, valueSet System.ValueSet):
    code in valueSet

CQL-to-ELM picks the second overload in this case.  That's probably correct, but unintuitive.
We use the pattern of passing value sets to functions taking a List of Code often.  It's a more flexible signature since it lets us pass either a value set or a manually constructed list of codes.
This is a significant performance penalty when run on the CQF ruler as prematurely expanding value sets which can be large (50k+ rows) results in linear checking of a list of codes instead of an optimized hash lookup of valueset membership.

I think it's important to call out here that code in List<Code> is a different operator than code in ValueSet, and that there's a really important distinction there. I wonder if it would make more sense to always use the ValueSet overload, and to support a way to convert a List to a ValueSet, so something like:
define fluent function toValueSet(List): ValueSet
Then you can 1) always use the optimization of lazy expansion, and 2) ensure that you're always using terminology semantics for the in operator.

Having said that, there is, by design, no way to construct a ValueSet with the codes that it contains. So let me ask the question, why not have first-class value set definitions for all the lists of codes you want to support?

Because we can implicitly convert a ValueSetRef to a List<Code>, it makes List<Code> the more attractive choice for all APIs because we can either do:
define function Foo(codes List<Code>): ...`

define Bar: Foo("My ValueSet")
define Baz: Foo({ "DRC1", "DRC2" })

The issue I raised here is related to the fact that ExpandValueSet is an expensive operation.  Because there's an implicit conversion, the programmer isn't aware it's happening.
In our SDK, we implemented an implicit conversion between ValueSet to List<Code> in such a way that we preserve the fact that the source object is still a ValueSet, e.g. you can think of it like our ValueSet representation implements IList<Code> so we can use it anywhere that a List<Code> is expected.  We actually do this with composition and a facade, but it amounts to the same result.
This lets us implement the In operator for CQL's List<Code> more efficiently if that List<Code> is actually a ValueSet.
We currently don't implement ExpandValueSet the way I think it's intended to be (e.g., you reach out to the terminology server and ask for an expansion).  We don't support terminology servers in general at the moment, because HEDIS measures would never allow you to expand your own value sets.  We provide the explicit expansion that you must use, and you are not allowed to use any other codes.


Trying to access Event Log results to a reboot

After logging on to interface and clicking on Event Log it displays the message "Please wait while fetching data..." and seconds later the device reboots itself before being able to show any logs.
However, Access Log is loading up just fine.
Anyone else had a similar issue?

On which version?

Latest dev v1.3.3

I have the same issue when I have more logs (like couple pages). There is option to send logs just over MQTT and don't save them on the device?

I also have the same issue and actually could you guys tell us how to simply deactive any logging on the device so that there are less probable freeze or hang because of some reading/writing or even worse memory issues .
Thanks a lot!


[blocky] Add support for creating extra files, like whitelist.txt

Signed-off-by: Gavin Mogan<EMAIL_ADDRESS>Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [radarr])

Thanks for this!  Do you mind bumping the chart minor version (to 3.1.0 in Chart.yaml?

:) just amended the previous commit

I didn't see the amended commit, so forced it along!
LGTM


[FEATURE REQUEST] Custom Tag Support

Is your feature request related to a problem? Please describe.
Being unable to modify custom constants like scroll speed.
Describe the solution you'd like
Introduce custom tags, these tags are parsed and variables are adjusted according to them. An example of the tag syntax would be:
<scrollspeed=0.01f>
<text-effect=shaking> </texteffect>

To add on to this - Custom tag syntax meshes in nicely with the TextMeshPro Rich Text syntax that Ibralogue is built on top of

due to #5, tags may be made a bit redundant since you should be able to seamlessly interact with pretty much anything already with the expensive power of reflection. - what do you think?


helm deployment yaml ignoring lifecycle postStart hook code for Windows AKS

my deployment yaml looks like this:
        - name: newsite
          image: acr.azurecr.io/ios:site20200611-195229
          lifecycle:
            postStart:
              exec:
                command:
                  - "powershell.exe"
                  - "-command"
                  - " Write-Output "Hello World" ; "
          ports:
          - containerPort: 85
          imagePullPolicy: Always```

This works fine when deploying directly using kubectl apply..
but the same code is not getting deployed correctly while using helm deploy

```containers:
        - name: {{ .Values.os.deployment.name }}
          image: "{{ .Values.os.image.repository }}:{{ .Values.os.image.tag }}"
          {{- if eq (default .Values.env "prod") "stg" }}
          lifecycle:
            postStart:
              exec:
                command:
                  - "powershell.exe"
                  - "-command"
                  - " Write-Output "Hello World" ; "
          {{- end }}
          ports:
          - containerPort: 85
          imagePullPolicy: {{ .Values.os.image.pullPolicy }}```

Post deployment, the lifecycle part is completely missing from the deployment yaml file when checked from AKS.. so my postStart events are not running via helm package..

Output of `helm version`:

Output of `kubectl version`:

Cloud Provider/Platform (AKS, GKE, Minikube etc.): AKS

Anybody faced similar issue or anything wrong above in the code. please suggest..

while using helm deploy

Helm deploy doesn’t exist as a command. Did you mean helm upgrade?
Can you please share what version of helm and kubernetes you’re using?
Can you please share a full deployment template as well? We won’t be able to reproduce the issue without a full template.

yes its helm upgrade. helm 2.11 and Windows AKS 1.15.10
Here is the deployment yaml..
kind: Deployment
metadata:
  name: {{ .Values.senseios.deployment.name }}
  labels:
    app.kubernetes.io/name: {{ .Values.service.name }}
    helm.sh/chart: {{ include "senseios.chart" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
    app: {{ .Values.senseios.deployment.name }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ .Values.senseios.deployment.name }}
  template:
    metadata:
      labels:
        app: {{ .Values.senseios.deployment.name }}
    spec:
      tolerations:
        - key: kubernetes.io/os
          operator: Equal
          value: windows
          effect: NoSchedule
      nodeSelector:
        "kubernetes.io/os": windows
    {{- with .Values.imagePullSecrets }}
      imagePullSecrets:
{{- toYaml . | nindent 8 }}
    {{- end }}
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - {{ .Values.senseios.deployment.name }}
              topologyKey: "kubernetes.io/hostname"
      containers:
        - name: {{ .Values.senseios.deployment.name }}
          image: "{{ .Values.senseios.image.repository }}:{{ .Values.senseios.image.tag }}"
          {{- if eq (default .Values.env "prod") "stg" }}
          lifecycle:
            postStart:
              exec:
                command:
                  - "powershell.exe"
                  - "-command"
                  - "Invoke-WebRequest '{{ .Values.senseios.config.connectionstringsasurl }}' -OutFile 'c:\\www\\sensei\\web\\ConnectionStrings.config' ; Invoke-WebRequest '{{ .Values.senseios.config.appsettingsasurl }}' -OutFile 'c:\\www\\sensei\\web\\AppSettings.config';"
          {{- end }}
          ports:
          - containerPort: 85
          imagePullPolicy: {{ .Values.senseios.image.pullPolicy }}
          livenessProbe:
            httpGet:
              path: /manifest.json
              port: 85
            failureThreshold: 1
            periodSeconds: 10
          #startupProbe:
          #  httpGet:
          #    path: /manifest.json
          #    port: 85
          #  failureThreshold: 30
          #  periodSeconds: 10
          readinessProbe:
            httpGet:
              path: /manifest.json
              port: 85
            initialDelaySeconds: 15
            periodSeconds: 15
          resources:
{{- toYaml .Values.resources | nindent 12 }}
      {{- with .Values.nodeSelector }}
      nodeSelector:
{{- toYaml . | nindent 8 }}
      {{- end }}
      affinity:
        nodeAffinity:
          {{- if eq (default .Values.spot "false") "true" }}
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
          {{- else }}
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 1
            preference:
              matchExpressions:
          {{- end }}
              - key: kubernetes.azure.com/scalesetpriority
                operator: In
                values:
                - spot
      tolerations:
        - key: kubernetes.io/os
          operator: Equal
          value: windows
          effect: NoSchedule
        - key: "kubernetes.azure.com/scalesetpriority"
          operator: "Equal"
          value: "spot"
          effect: "NoSchedule"```

helm 2.11 was released in 2018. Can you please try to reproduce this with a more recent version? Helm 2.16.8 is the latest helm 2 release. Thanks.

Ok. Thanks. Will check and update.

tried with helm 2.16.8 and still the lifecyclehook didn't get deployed after helm upgrade..

@nreddipalle I think there is a problem in your template. It says eq (default .Values.env "prod") "stg". They will never equal. The value to evaluate needs to be the last one. This is always reduced to eg "prod" "stg" which is false. The arguments to default are transposed.

That does indeed to be the issue. Good catch @mattfarina.
Let us know if that fixes your issue, @nreddipalle.
From sprig's documentation on default:

To set a simple default value, use default:

default "foo" .Bar

In the above, if .Bar evaluates to a non-empty value, it will be used. But if it is empty, foo will be returned instead.

Just to confirm, my values.yaml contains env: prod and while deploying this value can be overwritten to set as stg..
and I want to include the postStart hook only when env is set as stg.
Values.yaml:
# Default values for senseios.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1
spot: false
env: prod

Set Values as part of azure devops task:
resources.limits.memory=500Mi,env=stg
Correct me if my syntax is still wrong..

The issue isn't with your values. You values are fine here. It's your templates. More specifically it's anywhere you're calling default. Your arguments are in reverse order.
Try using the following instead and see if your chart no longer ignores your lifecycle PostStart hook code.
          {{- if eq (default "prod" .Values.env) "stg" }}

          {{- if eq (default "false" .Values.spot) "true" }}

Thanks. I will update and check.

I tried with the above syntax, It keeps failing during helm deploy step..
nodeAffinity:
          {{- if eq (default "false" .Values.spot) "true" }}
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
          {{- else }}
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 1
            preference:
              matchExpressions:
          {{- end }}
              - key: kubernetes.azure.com/scalesetpriority
                operator: In
                values:
                - spot

 {{- if eq (default "prod" .Values.env) "stg" }}
          lifecycle:
            postStart:
              exec:
                command:
                  - "powershell.exe"
                  - "-command"

Error:
2020-06-26T20:32:15.5446831Z [command]C:\hostedtoolcache\windows\helm\2.16.8\x64\windows-amd64\helm.exe upgrade --tiller-namespace kube-system --namespace newsite-stg --install --force --set os.deployment.name=newsite,service.name=newsite,ingress.name=newsite,ingress.namespace=newsite-stg,os.image.tag=newsite20200626-153314,replicaCount=1,spot=true,ingress.hosts[0]=newsite-staging.com,ingress.tls[0].host=newsite-staging.com,resources.limits.memory=500Mi,env=stg --wait --version 20200626-153314 newsite-stg acr/os
2020-06-26T20:32:17.0862755Z UPGRADE FAILED
2020-06-26T20:32:17.0863317Z Error: UPGRADE FAILED: a release named newsite-stg is in use, cannot re-use a name that is still in use
2020-06-26T20:32:17.0863772Z Error: a release named newsite-stg is in use, cannot re-use a name that is still in use
2020-06-26T20:32:17.0908217Z ##[error]Error: UPGRADE FAILED: a release named newsite-stg is in use, cannot re-use a name that is still in use

@nreddipalle I see two things...

"false" and "true" in this case are strings instead of bool. That's fine if that's what you want but I wanted to point that out. If the value is not quoted in your values.yaml file you will have an issue because it would be a bool there and a string in the template.

The issue is not longer a template issue. It seems you have a version of the application installed. You could use helm list to see it and helm delete to remove it, if you want. It's now saying it can't install something with the same name in the same namespace.

Hi, @nreddipalle - as we have not heard more from you, I hope that your issues are resolved. As we were discussing Helm 2, I do want to let you know that Helm 2 support is ending in November. You will want to move to Helm 3: https://helm.sh/blog/helm-v2-deprecation-timeline/ - thanks, and please let us know if you have further questions.


[WIP] Make CommonsChunkPlugin care about indirect children, too

What kind of change does this PR introduce?
Feature
Did you add tests for your changes?
Not yet, wasn't able to find where tests for the CommonsChunkPlugin would have to go or where are some already.
If relevant, link to documentation update:
Will update Docs as soon as I'm confident this change will make it in and works as intended.
Summary
If you use the CommonsChunkPlugin with the children flag enabled it currently only cares about direct children. This change makes it so it cares about all children that are not required from somewhere else than the common chunk.
https://github.com/webpack/webpack/issues/3981
Does this PR introduce a breaking change?
If the config deepChildren isn't set the behavior stays the same as before, it only changes if the flag gets set.
Other information
Please be gentle, as this is my first try to get a PR merged.

Changed the little things as requested. Also fixed two bugs I found in the way I searched for the children.
The idea behind how I walk through the children of the common chunk is to check for each chunk if all parents are either the common chunk itself or another chunk I already know i use. As this checking begins with the children of the common chunk and I push the chunks I use before checking its children I can always be sure that I don't add any chunks I shouldn't.
At least that's what I think. I hope I didn't miss something really obvious.
I also added a testcase where you suggested it. I have to admit I'm not entirely sure my test really tests the right thing, tough. Had a bit of trouble wrapping my head around how to test my case from the source itself.

@timse Could you help resolving this conflict?

will do! (tonight :))

@timse, @sokra, what is the status of this PR? Getting this merged would make me happy.

Sorry lost track of it. Will check tonight!

hum im kind of overwhelmed given the changes to the current module and the changeset :p

I had the same problem. Maybe it is simpler if I make the changes again based on the new module after you PR. Then we wouldn't need to try to resolve the conflicts.
I can look into the new version in a few hours if you want.

i pushed a branch can you check please @ArcEglos
and close this one if its ok and reopen the pr with the new branch?
see here: https://github.com/webpack/webpack/pull/4416

@timse great, thanks. I'll look into it later in the day

Sorry for the confusion I'm creating but I didn't know how to properly use the branch you created, so I copied over the new Version from it and added the missing pieces. @timse

no worries

it looks however as you still have conflicts against master here

Ah yeah, thanks for reminding. Resolved them.

the tests fail and there is a console.log left,
you could just take the diff of https://github.com/webpack/webpack/pull/4416/files and it should work.

Ah sorry, I have to admit I only checked the example. My bad. I'll look into it.
Yep, the changes in #4416 didn't take into account chunks that have several parents but still only depend on the commonsChunk if you expand the whole dependency tree.
The approach I chose goes down from the common chunk and for each children recursively looks, if all parents of the children are either the common chunk or are in the list of chunks known to only have the common chunk as (grand, etc) parents. These children are added to said list before walking further down. When finished walking the dependency tree we take this list and know that all these chunks only have the commonChunk as parent.

got it,
can we document that somehow? and could we split up the code a bit?
something like this:
// filter to only those chunks whose parents all are affected
filterChildenWithAllAffectedParents(affectedChunks, childChunks) {
  return childChunks.filter(() => {
    return chunk.parents.length === 1 ||
      chunk.parents.every((parentChunk) => affectedChunks.indexOf(parentChunk) > -1);
  });
}

// remove duplicates of "existing"
filterAlreadyExistingChunks(existing, potential) {
  return potential.filter(p => existing.indexOf(p) === -1);
}

// get all child chunks that are affected - meaning they could be moved to the commons chunk
getAffectedUnnamedChunksFlat(affectedChunks, childChunks) {
  if (!childChunks) {
    return [];
  }

  if(this.async) {
    return childChunks;
  }

  return filterChildenWithAllAffectedParents(affectedChunks, childChunks)
}

// get all chunks that can be put into the commons chunk
getAffectedUnnamedChunks(affectedChunks, childChunks) {
  const affectedChildChunks = this.filterAlreadyExistingChunks(
    affectedChunks,
    this.getAffectedUnnamedChunksFlat(affectedChunks, childChunks)
  );
  if(!this.deepChildren) {
    return affectedChildChunks;
  }
  return childChunks.reduce((allAffectedChunks, childChunk) => {
    return this.filterAlreadyExistingChunks(
      allAffectedChunks,
      this.getAffectedUnnamedChunksFlat(allAffectedChunks, childChunk.chunks)
    );
  }, affectedChunks);
}

that way we have clear functions and its a bit easier to understand what is happening

The last part could probably be made nicer.
Also could this lead to endless loops? What if some chunks are each others parents/childrens

I haven't had the time yet to refactor the code and comment it better. Hope to find time tonight, but won't make any promises. Just answering some of your questions in advance:
About the endless loops: These shouldn't be a problem, as we a) stop walking the dependencies at chunks that have parents we don't like and b) stop walking if we find a chunk has already been added to the chunks we are sure to only have parents we like.
So no chunk should be visited via the same connection more than once.
Maintaining these two conditions are also the main hurdle to seperate the whole thing into two steps because both the hierarchy while walking the dependencies and the timing of it are relevant to avoid endless loops and wrong assertions if a chunk is ok to add. But there is probably still a way to break it up.

I hope this removes the problems with the tests (at least they run at my machine).
I also added more documentation what happens why.
When it comes to first flattening the tree before filtering it, I'm not really convinced this is a good idea. (At least to me) It makes the subtle ordering and hierarchical problems even less clear when reading the code. But maybe I'm the only one with this opinion @timse - maybe the annotated version also clarifies what's going on. It's up to you to judge ;)

Hey, 1 test failed. This is a cool feature that I would like to see
 1 failing

  1) ConfigTestCases commons-chunk-plugin move-to-grandparent should compile:
     Uncaught SyntaxError: Unexpected token [
      at Object.exports.runInThisContext (vm.js:53:16)
      at _require (/home/travis/build/webpack/webpack/test/ConfigTestCases.test.js:95:18)
      at /home/travis/build/webpack/webpack/test/ConfigTestCases.test.js:124:9
      at /home/travis/build/webpack/webpack/lib/Compiler.js:9:17985
      at Compiler.emitRecords (/home/travis/build/webpack/webpack/lib/Compiler.js:9:24097)
      at /home/travis/build/webpack/webpack/lib/Compiler.js:9:17387
      at /home/travis/build/webpack/webpack/lib/Compiler.js:9:23782
      at next (/home/travis/build/webpack/webpack/node_modules/tapable/lib/Tapable.js:154:11)
      at Compiler.<anonymous> (/home/travis/build/webpack/webpack/lib/performance/SizeLimitsPlugin.js:9:4844)
      at Compiler.applyPluginsAsyncSeries1 (/home/travis/build/webpack/webpack/node_modules/tapable/lib/Tapable.js:158:13)
      at Compiler.afterEmit (/home/travis/build/webpack/webpack/lib/Compiler.js:9:23432)
      at Compiler.<anonymous> (/home/travis/build/webpack/webpack/lib/Compiler.js:9:23301)
      at /home/travis/build/webpack/webpack/node_modules/async/dist/async.js:359:16
      at iteratorCallback (/home/travis/build/webpack/webpack/node_modules/async/dist/async.js:935:13)
      at /home/travis/build/webpack/webpack/node_modules/async/dist/async.js:843:16
      at /home/travis/build/webpack/webpack/node_modules/graceful-fs/graceful-fs.js:43:10
      at FSReqWrap.oncomplete (fs.js:82:15)

@markrileybot did you end up working on this? If not, I'd like to help finishing it as well.

wait to be merged

Need this

Any progress with this PR? @markrileybot @maroshluskasc

I am amazed that commonChunksPlugin hasn't always worked this way, always assumed I was doing something wrong causing code duplication across  lazy loaded modules. Just to be clear, should I wait for this feature instead of attempting to optimize my bundles through other means? I was considering following the webpack docs and using dynamic imports for libraries that are being duplicated, but if this feature will figure the same splitting functionality with normal imports then I'd rather wait. Can anyone verify if this PR does that?

Would love to see this merged 👍

Pretty please

just chiming in here but happy to help in any way to get this cleaned up / merged (or to pick it up into a new pr if need be).

Would be great to have this one put in! 👍 All the way.

I have fixed all issues with this pull request and submitted another pull request:
https://github.com/webpack/webpack/pull/5764

This can be closed now that #5764 is merged & 3.7.0 is out! 🎉

@sokra BTW you can close this PR


unit tests modify some files mistakenly

after compilation it was discobered that such files are marked as modified:
modified:   carina-utils/src/test/resources/zip/textFile.txt                                                                                modified:   carina-utils/src/test/resources/zip/zipFile.zip
unit tests has to be adjusted to operate with this files but not modify... If thise files are generated automatically and not needed we can remove them and add into the .gitignore

Removed files and added names to .gitignore: https://github.com/qaprosoft/carina/pull/1303


Update test_and_deploy.yml

See https://github.com/neuroinformatics-unit/movement/pull/108

Thanks @IgorTatarnikov - I'll merge this in the knowledge that test failure are unrelated and (hopefully) we won't make a release without getting the tests to pass first!


Use a fancier tokenizer

Like the corenlp one. This should be a quick change.

Addressed in 228d6a8.


Scope out issues for restyling docs section

Would like to scope out work for desired look and feel that @bobbilee19  would like to see for the docs section.
For example:
Restyling the sidebar is something to think through.

Done enough for Phase 2 via commits in repo


Create team under Repo, not in Organization

When create repos under the organization the teams management is very hard. If you create more than 10 repo under the organization and create 2 diffrent permison team (read team/write team) for  each repo, there are a lot team will be created.
If team management under repo, we just see 2 team for one repo.

Thanks your feedback!
But no, it's not going to happen.
The thing on the plan is collaborators can have different level of access (read/write/admin).

If you create more than 10 repo under the organization and create 2 diffrent permison team (read team/write team) for each repo

I'm not sure why you are doing this but I would think you may need to reconsider to not use organization.

One day, you ll be understand... ;)

:trollface:


buying all when immediately profit is -100%

Trading Sim is not bad. 300% / 70 days.
But On Live Trading behave Like Below.
It looks like that buying all when immediately profit is -100%.
2017-05-23 16:00:00  0.07598169 ETH-BTC   +4.9%    58757      ++      0.2022   0.1274      buy  1.81 ETH  0.18293 BTC    +2.2%   -2.9%
2017-05-23 16:00:07  0.07567921 ETH-BTC   -0.4%       15      +       0.1668            buying  0.00 ETH  0.00000 BTC  -100.0%-100.0%
buy order completed at 2017-05-23 16:00:34:

2.39316504 ETH at 0.07567470 BTC
total 0.18110205 BTC
0.0000% slippage (orig. price 0.07567470 BTC)
execution: a few seconds

2017-05-23 17:00:00  0.07600001 ETH-BTC   +0.0%    20994      ++      0.1917   0.1138   bought  4.20 ETH  0.00183 BTC    +2.4%   -2.8%
2017-05-23 18:00:00  0.07435000 ETH-BTC   -2.2%    21345      +       0.0524   0.1164    -1.8%  4.20 ETH  0.00183 BTC    +0.1%   -2.8%
2017-05-23 19:00:00  0.07389000 ETH-BTC   -0.6%    22178     -        0.0138   0.1157    -2.4%  4.20 ETH  0.00183 BTC    -0.5%   -2.7%
2017-05-23 20:00:00  0.07319000 ETH-BTC   -0.9%    18393     -       -0.0413   0.1098    -3.3%  4.20 ETH  0.00183 BTC    -1.4%   -2.7%
2017-05-23 21:00:00  0.07429998 ETH-BTC   +1.5%    18091      +       0.0471   0.1122    -1.8%  4.20 ETH  0.00183 BTC    +0.1%   -2.8%
2017-05-23 21:28:38  0.07366477 ETH-BTC   -0.9%     4810     -       -0.0048             -2.7%  4.20 ETH  0.00183 BTC    -0.8%   -2.7%

Closing due to inactivity.


Is it possible to add mobile Joystick support ?

Hello, can you show us a tutorial to add mobile Joystick support to this game and npc players, it would be great

Have you been able to add controls fo mobile?


feat(rosco): Generate rosco config

feat(rosco): Add rosco config protos
The rosco config is very similar to the clouddriver config, in that it contains the configured cloud providers at the top level. The one difference is that only some cloud providers support baking, so it only contains these providers.

feat(rosco): Generate rosco config
This commit adds support for generating a rosco config from a hal config.

feat(rosco): Add rosco output to service configs
Also add rosco.yml to the end-to-end test.

The main complexity here was going to be handling packer templates, but we are already copying those to the container at build time here, so we don't need to worry about building/versioning the templates that ship with Spinnaker.


Disable https in cockpit and use http instead to ignore self-signed cert warning.

Codecov Report

Merging #464 into master will decrease coverage by 0.24%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #464      +/-   ##
=========================================
- Coverage   66.44%   66.2%   -0.25%
=========================================
  Files          67      67
  Lines        2876    2876
  Branches      575     575
=========================================
- Hits         1911    1904       -7
- Misses        965     972       +7

Impacted Files
Coverage Δ

core/sagas/inputs.js
71.42% <0%> (-11.43%)
:arrow_down:

components/Pagination/Pagination.js
91.3% <0%> (-4.35%)
:arrow_down:

core/selectors.js
91.48% <0%> (-1.07%)
:arrow_down:

Continue to review full report at Codecov.

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

On the face of it it looks good, but several tests now fail with "Error: Navigation caused the user agent to hit a certificate warning, which is usually the result of an expired or invalid TLS certificate.".

@martinpitt, oh, i just forgot change https to http in test/check-application. Updated and one time all green again.


Changed the date format to hour/minute instead of miunute/second to b…

corrected the buildpack file name as described in issue https://github.com/IBM-Swift/DevOps/issues/36

issue was tested locally and the travis deploy flag was set to false


diffoscope: 276 -> 277

Changes: https://diffoscope.org/news/diffoscope-277-released/
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 338573 run on x86_64-linux 1

6 packages built:

diffoscope
diffoscope.dist
diffoscope.man
diffoscopeMinimal
diffoscopeMinimal.dist
diffoscopeMinimal.man

Result of nixpkgs-review pr 338573 run on x86_64-linux 1

28 packages built:

diffoscope
diffoscope.dist
diffoscope.man
diffoscopeMinimal
diffoscopeMinimal.dist
diffoscopeMinimal.man
tests.dotnet.final-attrs.check-output
tests.dotnet.final-attrs.output-matches-const
tests.dotnet.final-attrs.override-has-no-effect
tests.dotnet.final-attrs.override-modifies-output
tests.dotnet.structured-attrs.check-output
tests.dotnet.use-dotnet-from-env.fallback
tests.dotnet.use-dotnet-from-env.use-dotnet-path-env
tests.dotnet.use-dotnet-from-env.use-dotnet-root-env
tests.replaceVars.replaceVars
tests.substitute.legacySingleArg
tests.substitute.legacySingleReplace
tests.substitute.legacyString
tests.substitute.legacyVar
tests.substitute.substitutions
tests.testers.testEqualContents.emptyFileAndDir
tests.testers.testEqualContents.equalDir
tests.testers.testEqualContents.equalExe
tests.testers.testEqualContents.fileDiff
tests.testers.testEqualContents.fileMissing
tests.testers.testEqualContents.nonExistentPath
tests.testers.testEqualContents.unequalExe
tests.testers.testEqualContents.unequalExeInDir


Add Cypress tests covering ⭐ behavior

https://github.com/joekrump/retro-board/blob/52fe68447563d95d0b0e648412e42d381c7e301f/__tests__/cypress/active-retro.e2e.ts#L52

Fixed


Check input value is duplicated when quantile queue is full

When the last value of queue is equal to the input value x, its weight is added to the weight of the last entry of queue instead of creating a new entry. However, this is ignored when the queue is full.

Codecov Report

Merging #7091 (811a048) into master (c766f14) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7091   +/-   ##
=======================================
  Coverage   81.63%   81.63%
=======================================
  Files          13       13
  Lines        3899     3899
=======================================
  Hits         3183     3183
  Misses        716      716

Continue to review full report at Codecov.

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


Regular Sync: some peers are out-of-sync

Describe the bug
In my environment, I can sync to gossip parent blocks 5-6 times. However there are 1-2 times I cannot do that because we sent beacon_block_by_range requests to out-of-date peers.
2020-07-26 21:56:28  [SYNC]             info: Requesting blocks from slot 194977 to slot 195131
2020-07-26 21:56:28  [NETWORK]       verbose: sending beacon_blocks_by_range request to 16Uiu2HAmUghihDaHutopxWPoxjUedJZBLVuuP1NBDq2LfpQZTnad requestId=3fb6e9d3489b0875, encoding=ssz_snappy
2020-07-26 21:56:28  [NETWORK]       verbose: sending beacon_blocks_by_range request to 16Uiu2HAm2BfJQmNSNdAtGfJLH1CyQKKRVr425uJgrSq9ps8TLJe2 requestId=c618c049d122bcee, encoding=ssz_snappy
...
2020-07-26 21:56:29  [NETWORK]       verbose: receive beacon_blocks_by_range response with 0 chunks from 16Uiu2HAmUghihDaHutopxWPoxjUedJZBLVuuP1NBDq2LfpQZTnad requestId=3fb6e9d3489b0875, encoding=ssz_snappy, body={"startSlot":194977,"step":1,"count":78}
2020-07-26 21:56:31  [NETWORK]       verbose: receive beacon_blocks_by_range response with 52 chunks from 16Uiu2HAm2BfJQmNSNdAtGfJLH1CyQKKRVr425uJgrSq9ps8TLJe2 requestId=c618c049d122bcee, encoding=ssz_snappy, body={"startSlot":195055,"step":1,"count":77}

Since the 1st peer above returned 0 chunk because it's not up to date, we cannot process any blocks. So we have to filter to up-to-date peers only.
There are 2 ways I can think of:

Filter based on headSlot of Status message, send status messages at init time of regular sync. This maybe does not work if peers have headSlot not equal to currentSlot
Find a way to keep peerIds of gossip blocks and just get peers based on that - but a peer's chain may not be up to date even it published gossip blocks

Since headSlot in Status message is not a guarantee to help us find peers to get blocks up to currentSlot, I found that using step in beacon_block_by_range may help us (and that's probably what it's designed for)
Given 3 peers, we can query by interleaving way, assuming we want to get block 10 to 20 for regular sync:
Round 0

Peer 0: start_slot=10, step=3 => return 10,13,16,19
Peer 1: start_slot=11, step=3 => return 11,14 - this peer is out-of-sync because expected latest slot=20
Peer 2: start_slot=12, step=3 => return null - error querying this peer - timeout for example
=> bestPeer=peer has max(lastSlot)=peer 0

Round 1 - fallback

Query bestPeer with start_slot=17, step=3
Query bestPeer with start_slot=12, step=3

Then merge/sort blocks and return. In the case of missing blocks (some slots don't have blocks), it's addressed by Round 1.

I don't think we should be relying entirely on beacon_block_by_range in regular sync.
Regular sync is when we've synced up to (what we believe is) up to / past the finalized checkpoint. After that we don't yet have a linearized version of history, but instead have a tree. This is what we're tracking in our fork choice.
Genesis                         Finalized                  Head
                                        /------------------o
   o--------       ...       -------o--<
                                        \---<
                                             \------

We can retry requests from good peers, do some syncing by range, if it helps us get closer to the head, thats cool. But ultimately I don't think its what is intended.
I think a more robust and complete approach would have us using gossip + block by root to sync from the tips of the network backwards block by block to meet up with our current head.
This is what is what is meant by a client MAY queue blocks for processing once the parent block is retrieved from the spec, in validation of blocks w/o an existing parent block. If we send those blocks to the chain for processing, it may resolve the need to have a complex "regular sync" strategy at all.

I don't think we should be relying entirely on beacon_block_by_range in regular sync.
Regular sync is when we've synced up to (what we believe is) up to / past the finalized checkpoint. After that we don't yet have a linearized version of history, but instead have a tree. This is what we're tracking in our fork choice.
Genesis                         Finalized                  Head
                                        /------------------o
   o--------       ...       -------o--<
                                        \---<
                                             \------

We can retry requests from good peers, do some syncing by range, if it helps us get closer to the head, thats cool. But ultimately I don't think its what is intended.
I think a more robust and complete approach would have us using gossip + block by root to sync from the tips of the network backwards block by block to meet up with our current head.
This is what is what is meant by a client MAY queue blocks for processing once the parent block is retrieved from the spec, in validation of blocks w/o an existing parent block. If we send those blocks to the chain for processing, it may resolve the need to have a complex "regular sync" strategy at all.

We actually do that if received block is less that

Tried that, you get banned quickly because you are spamming block by Root requests.

Can we spread out requests across our peers? Throttle requests to N / second / peer?
This seems like a good compliment to whatever forward-sync strategy we determine.

This is an interesting resource: https://github.com/sigp/lighthouse/blob/master/beacon_node/network/src/sync/range_sync/range.rs
Look under "head chain sync"

beacon_block_by_range should return blocks of the same chain up to head.
should we just select a best peer and issue beacon_block_by_range for it only?

should we just select a best peer and issue beacon_block_by_range for it only?

I think we should go that direction. Will be simpler and more in line with batch-processing, which we will eventually want to do.

Latest issue
Restore chain
2020-08-02 08:28:29  [CHAIN]            info: Processed new chain head newChainHeadRoot=0x3bd4f8518971d022f01e60cff1fe542b4260662b4b23c9f35a152bf9c698fdc4, slot=237728, epoch=7429
2020-08-02 08:28:30  [CHAIN]            info: Processed new chain head newChainHeadRoot=0x74332574cf13a236c57efc822a64686e899b0deb53a501014a4e6b4682965f76, slot=237732, epoch=7429

2020-08-02 08:29:33  [SYNC]          verbose: Regular Sync: Found best peer 16Uiu2HAm7NAPSL46rXBSmjZQKX8pvU99iRpQJNMDY3o89XUzZBrM, headSlot=241496
2020-08-02 08:29:33  [SYNC]             info: Regular Sync: Setting target newTargetSlot=237752
2020-08-02 08:29:33  [SYNC]             info: Regular Sync: Requesting blocks from slot 237733 to slot 237752
2020-08-02 08:29:34  [SYNC]             info: Imported blocks for slots: 237735,237738,237739,237740,237743,237744,237749,237750

not received "processedCheckpoint" because all of the received blocks already exists, meaning our lastSlot is greater than headSlot and when we start Regular Sync, we always start from headSlot -> we receive existing blocks in our chain -> not passed packages/lodestar/src/chain/blocks/validate.ts -> processedBlock not emitted -> Regular Sync suspended.


Misc doc changes

List of changes:

Fix typos
Set readme as main html page
Badges and more badges!
Add missing license file
Add missing files in package
Add license section
Remove duplicate content

A huge thank you for all that! Really appreciated, especially for the typos ahah.
I'm curious though, how did you heard about the lib? I did not make any promotion for it or anything and it's been online since like 3 days.

I'm curious though, how did you heard about the lib? I did not make any promotion for it or anything and it's been online since like 3 days.

I can't recall, most probably hex.pm?

Oh yeah, the is a new packages section I never noticed, nice!


Feature: Option to format drives should be displayed in the main menu

What feature or improvement do you think would benefit Files?
The option to format drives is currently in the overflow menu, we should make it more accessible and move it to the main menu.
Requirements

Display option to format drives in the main menu when right clicking them
This should apply to the sidebar and drives widget

Files Version
v2.4.34
Windows Version
Windows 11
Comments
No response

If need be, we should implement the command ourselves in order to reduce the time it takes to load the context menu.

Should we redo the format dialog from windows?

Not right now, perhaps Microsoft will the work on this for us 🙂

Ok


If a XML tag starts with a number, it is translated as text

In my process, as discussed in an other issue, to avoid BPE cuttings, I'm replacing mixed codes by a tag before a neutral code substitute. If a tag is starting with a number, MMT is translating it as if it was a text, rather than a tag. This makes it impossible to retrieve afterwards (and provides with strange wrong artifacts in the translation).
In my own process, I fixed this problem by adding a prefix starting with letters. But, perhaps this could be change in MMT.

Hello @EtienneAb3d,
I do remember the issue you refer to :)
I think that the problem depends on the fact that that XML explicitly disallows numbers as the first character of an element name.
This is a regex listing the allowed characters:
NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] |
                  [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] |
                  [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] |
                  [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] |
                  [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]

To solve the problem, I think it is necessary to prepend a letter to names that would otherwise start with numbers.  For instance, changing5XXXX into N5XXXX
You can find more details about the official XML naming conventions here: https://www.w3.org/TR/xml/
I hope this was helpful!
Thank you again for your support :)
Andrea

OK. As said, in my case I added a prefix.
:)

Great!
I'm closing this issue, then.
As usual, don't hesitate to reopen it if you need more details or clarifications :)
Have a nice day!
Andrea


Added node version in demo profile

sorted this out in https://github.com/Tonomy-Foundation/Tonomy-ID/pull/883/files


0.10.21 ^topicRedirect not found

In testing the 0.10.21 the following script:
> pre
  + ^testState(null) *
  - ^trackEvent(new)^topicRedirect(__onboarding__, __welcome__)
< pre

failed with:

Reply:customFunction Custom Function not-found +7ms topicRedirect

Leaves user with currentTopic: __pre__.

Have tried a number of combinations of functions. In all those cases, the second one ends up not found.

Ah! I know what the problem is. Thanks for catching this.


Change to ebnf

I'd like to try changing the iheartla/la_grammar/operators_ebnf.py file. However, my changes don't seem to make a difference. Even I delete the entire contents of this file, everything works the same. Guess things are getting cached.
If I try
rm -rf ~/Library/Caches/iheartla/
rm -rf iheartla/la_local_parsers/*.py
echo "5+7">test.txt
python app.py -o numpy test.txt

I get an error
Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from iheartla.la_parser.parser import compile_la_file, compile_la_content, ParserTypeEnum
  File "/Users/ajx/Repos/iheartla/iheartla/la_parser/parser.py", line 31, in <module>
    from ..la_tools.parser_manager import ParserManager
  File "/Users/ajx/Repos/iheartla/iheartla/la_tools/parser_manager.py", line 4, in <module>
    from ..la_local_parsers.init_parser import grammarinitParser, grammarinitModelBuilderSemantics
ModuleNotFoundError: No module named 'iheartla.la_local_parsers.init_parser'

When I run python app.py --regenerate-grammar
I get an error
Traceback (most recent call last):
  File "app.py", line 20, in <module>
    iheartla.la_tools.parser_manager.recreate_local_parser_cache()
  File "/Users/ajx/Repos/iheartla/iheartla/la_tools/parser_manager.py", line 584, in recreate_local_parser_cache
    import iheartla.la_parser.parser
  File "/Users/ajx/Repos/iheartla/iheartla/la_parser/parser.py", line 92, in <module>
    _parser_manager = ParserManager(GRAMMAR_DIR)
  File "/Users/ajx/Repos/iheartla/iheartla/la_tools/parser_manager.py", line 24, in __init__
    self.parser_file_manager = ParserFileManager(grammar_dir)
  File "/Users/ajx/Repos/iheartla/iheartla/la_tools/parser_manager.py", line 90, in __init__
    self.load_parsers()
  File "/Users/ajx/Repos/iheartla/iheartla/la_tools/parser_manager.py", line 166, in load_parsers
    spec.loader.exec_module(module)
  File "/Users/ajx/Library/Caches/iheartla/parser_e37f0136aa3ffaf149b351f6a4c948e9_2021-05-10-13-58-11.py", line 5093
    from __future__ import generator_stop
    ^
SyntaxError: from __future__ imports must occur at the beginning of the file

I forgot to mention the Tatsu version, the parser modification only works on v4.4.0
You may use v5.5.0+, you can check the version by
from tatsu._version import __version__ print("version:", __version__)

I tried Python v3.8.5 + Tatsu  v5.6.1, unfortunately, the current .ebnf files can not compile.
They may have changed the rules.

If we really depend on tatsu 4.4.0 output, we should pin our tatsu version. It looks like we already do this in pyproject.toml and requirements.txt. @alecjacobson What route did you use in the end to get a python environment?

I'm using miniconda and pip (I think). I don't really understand when I
should be calling pip install vs conda install

Conda ideally manages all dependencies, but conda-forge isn't expansive enough to cover every package in the Python Package Index. So you can tell conda to use pip to install packages it doesn't natively know about. I'll make an environment.yml.

Depending on your needs, choose command line (-cli), GUI (-gui), or development (-dev) and then:
conda env create -f environment-{cli,gui,dev}.yml
conda activate iheartla

You only need the -dev environment if you want to run the test suite. In conda, to run the GUI, you need to use pythonw app.py.

Awesome. Thank you. This appears to have worked well. Now I can issue:
python app.py --regenerate-grammar

And I see
2 parsers loaded
## Clearing the cache dir: /Users/ajx/Library/Caches/iheartla
## Clearing the la_local_parsers dir: /Users/ajx/Repos/iheartla/iheartla/la_local_parsers
## Reloading the ParserManager.
0 parser loaded
## Re-creating the parsers.
## Waiting for them to be saved.
## Copying the cache dir contents into the local dir.
## Modifying default parsers
## Done.

I changed ⋅ to 😎 in operators ./iheartla/la_grammar/operators_ebnf.py and then issued:
echo "5😎7">test.txt && python app.py -o numpy test.txt

and indeed see
    ret = 5 * 7

in the output
😎


Fail to write Tag

I've written a Rust program to clean meta data in my music library.
For some .m4a files in ALAC format, the write_to_path() function fails with Mp4TagError(Io(Error { kind: UnexpectedEof, message: "failed to fill whole buffer" }): Error reading atom length).
For these files; just reading and directly writing back the tag fails:
let mut tag = Tag::new().read_from_path(path.as_path()).unwrap();
tag.write_to_path(path.to_str().unwrap()).unwrap();

As far as I can see, these tags seem fine in other software e.g. Kid3.

This needs to be re-producible.
Re-open if it can be re-produced so it can be potentially both tested and fixed if any real bugs found through that.


Added support for surviving worker count

"I am dying, but there are X other workers still running."
Passing a tag name/value(s) will enable an additional query of
the AWS API to count similarly-tagged instances in the worker
pool. The count will be included in the notification message.

I'd be interested to hear people's thoughts on this addition. It's intended to give Ops users an immediate indication that all is well in their cluster(s) when they receive Slack notification about terminated spot instances, without them needing to look elsewhere or rely on additional monitoring.

I get the idea but is the log output of this daemonset really the right place to "give Ops users an immediate indication"?
Wouldn't it make more sense to use a cloudwatch metric? e.g. if GroupDesiredCapacity != GroupInServiceInstances for longer than 5 mins then something has gone wrong with scaling

Hi @max-rocket-internet. Possibly not the right place, just another place. It's something I found myself wanting when I saw spot termination notices, so wanted to write the code and put it out there in case others saw value in it. I agree with you that robust external monitoring of actual versus desired capacity should also be in place.
It makes perfect sense to me to limit the tasks of this handler to the minimum it should do.


Added two agenda import ways.

This pull request implement the agenda import function via angularjs per csv file and per copy/paste from textbox.
Not all issues are ready. This pull request is opened for first review/discussion.
Open tasks:

[ ] default encoding utf-8 (How can I encode each string from csv file to utf-8; independent from the source encoding of the csv file?)
[ ] use generic csv column header strings (Currently there are the German header strings from csv file used (e.g. "Titel") which are directly converted while import into JSON object. Then I can access only via obj[i].Titel. How can we solve this to make it more generic? E.g. by fetch the first element of the object? See TODO in importByCSV function.)
[ ] Is it useful to create all items in bulk mode?

@emanuelschuetze looks good!

@ostcar I need help with task 1 and 2 of my initial pull request comment (that means encoding and generic column strings) to finish this pull request. Do you have any idea?

I have no experience with Javascript an utf-8. Maybe @DebVortex can help?

I only had to deal with utf-8 in javascript once and if I remember right, I used the snippets provided here: http://ecmanaut.blogspot.de/2006/07/encoding-decoding-utf8-in-javascript.html

Outsourced 3 TODOs in new issues:
#1531
#1532
#1533
Now, ready to last review.

@emanuelschuetze ok, please rebase an merge

Rebased.


Change culture fallback to depth-first

After talking to some folks we think depth-first is a better approach here (i.e. more useful).
@lodejard @ryanbrandenburg @rynowak @miloush
#112

This looks pretty good, the only thing I might say is that we could note on the Fallback option doc-comment that this is "best effort" and won't ALWAYS give you every possible parent. Otherwise I'd say :shipit:


my code will give roman for 400 as CCCC but it still passess the test.

Challenge Roman Numeral Converter has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

function convertToRoman(num) {
  var roman,romanNumber='',i,flag=0,n=num;
  var r = [1,4,5,9,10,40,50,90,100,500,900,1000,15000];

  while(n>0){
  for(i=0;i<r.length;i++){
    if(n<r[i]){
      flag = r[i-1];
      n = n-flag;
      switch(flag)
      {
      case 1:
        roman = 'I';
        break;
      case 4:
        roman = 'IV';
        break;
      case 5:
        roman = 'V';
        break;
      case 9:
        roman = 'IX';
        break;
      case 10:
        roman = 'X';
        break;
      case 40:
        roman = 'XL';
        break;
      case 50:
        roman = 'L';
        break;
      case 90:
        roman = 'XC';
        break;
      case 100:
        roman = 'C';
        break;
      case 500:
        roman = 'D';
        break;
      case 900:
        roman = 'CM';
        break;
      case 1000:
        roman = 'M';
        break;
      }
      break;

    }
  }
    romanNumber = romanNumber+roman;
  }
 return romanNumber;
}

convertToRoman(400);

A test is needed for
 convertToRoman(400); // CD

@Bouncey Can I take this up?

Sure @Manish-Giri go for it 👍

@harshtomar6
I just don't get it when you made roman numeral for 4 and 40, why didn't you make it for 400 as well ?

@dayfiri
Thats the bug. The algorithm checks for 4 and 40 but it dont checks for 400

@Dayfiri the PR for this issue will force the camper to provide for the case of 400 :+1:

@Bouncey that's nice and easy task to do. Good for new contributors :thumbsup

@harshtomar6 could you please explain how the if statement works in your while statement? I'm having trouble understanding how the if statement works in the while loop. Specifically, how the (n<r[i]) works. If I input 0, is n becoming 1, or -1? What happens if n is 11 to start with?
  while(n>0){
  for(i=0;i<r.length;i++){
    if(n<r[i]){    **<--- this part**
      flag = r[i-1];
      n = n-flag;
      switch(flag)
      {
      case 1:
        roman = 'I';
        break;
      case 4:
        roman = 'IV';
        break;
      case 5:
        roman = 'V';
        break;
      case 9:
        roman = 'IX';
        break;
      case 10:
        roman = 'X';
        break;
      case 40:
        roman = 'XL';
        break;
      case 50:
        roman = 'L';
        break;
      case 90:
        roman = 'XC';
        break;
      case 100:
        roman = 'C';
        break;
      case 500:
        roman = 'D';
        break;
      case 900:
        roman = 'CM';
        break;
      case 1000:
        roman = 'M';
        break;
      }
      break;

    }
  }
    romanNumber = romanNumber+roman;
  }

Thank you in advance.

@jwebking
Hey man. For the logic behind converting number -> roman numeral, check this link. I used this example as a logic which I later implemented in the code.

@Dayfiri Thanks for the link, I appreciate it!


Doc: get_snapshot_builder() is a method of RaftStateMachine

get_snapshot_builder() is a method of RaftStateMachine rather than RaftLogStorage
Checklist

[x] Updated guide with pertinent info (may not always apply).
[ ] Squash down commits to one or two logical commits which clearly describe the work you've done.
[ ] Unittest is a friend:)

This change is

Oh Thank you!


Add links to source file for easy edit links

The current structure of the docs is amenable to adding a Github link to the source file. This will be a welcome change to allow easy click and change via the Github PR.
This kind of approach is pretty common across many popular docs and I think should make it easier for all of us to quickly make edits to existing code.
/area docs
/assign @abhi-g

+1 - it'd be great to add an "Edit on GitHub" link to every doc page.
I'm currently investigating the Docsy theme, which incorporates such a link. See issue #291

/area docs-ux

The Docsy theme is now live on the site, and this issue is fixed.
/close


Severe CPU and Memory usage when refreshing data

Happened when refreshing data for Xbox 360 games.
SuccessStory is creating multiple webview instances.
My suggestion is to check if the webview instances are being disposed correctly when they are done being used. Also, if possible, a single webview instance should be used for all the process if viable instead of creating it per game.

I can confirm that the issue is fixed in the latest release and the issue can be closed


msglist: Scroll-to-bottom button on message list

The message list should offer a clickable button that allows the user to scroll to the bottom (to the latest message). This button should hide itself when the user is at the bottom of the message list.

Notes
The icon used on web+mobile appear to be fa-chevron-down but that isn't available in the Materials icons (maybe linked to #200 )
The web version has additional logic that hides the button for keyboard users (see https://github.com/zulip/zulip/blob/1cd587d24be1d668fcf6d136172bfec69e35cb75/web/src/message_scroll.js) but I don't believe this is necessary/desired in the mobile app context

This was implemented in https://github.com/zulip/zulip-flutter/pull/223
Thanks for everybody that helped out!


Implement different colour for ratings less than 4 in restaurant cards

Current Behaviour:
Currently, the restaurant cards display ratings in green, regardless of the actual rating value. This can be confusing for users who want to identify restaurants with ratings less than 4.
Proposed Enhancement:
I propose that we introduce a feature where restaurant cards display ratings in maroon or some suitable colours if the rating is less than 4. This visual cue will make it easier for users to identify restaurants with lower ratings.
Additional details:
We've attached a screenshot showcasing our vision for displaying ratings. Take a look at how we plan to implement the rating colour scheme

Hi, I like to work on this implementation. Please assign it to me.

i want to work on this issue please assign


Bitcoin balance disappears from the UI

There is an issue where the BTC balance can disappear from the UI.
@CraigSellars mentioned to me that he had seen his BTC balance disappear in omnicore-qt when running on testnet.  Nothing had actually changed balance-wise, but the overview page just flipped to showing 0 BTC in the wallet.

I can see how this would raise significant concern in users on mainnet!
I'd been having a hard time replicating it, and now I believe I've found the cause I see why hehe - basically the symptoms only occur when a new longer chain comes along and orphans the old one so the state is rolled back.
When the state is rolled back, we pass through a signal to the UI (OmniStateInvalidated) which causes the UI to reset and data to be repopulated.
The problem is we reset everything, and then repopulate everything for the Omni layer.  That means we reset (zero) the Bitcoin balance too, but it's not part of the Omni layer so the data doesn't get repopulated.
Thus the resulting issue - when there is a chain reorg the user will see their BTC balance drop to zero.
Thankfully now I know what the problem is it's a nice straightforward fix (we just need to request the BTC balance data from the walletModel and update the overview accordingly from OverviewPage::reinitOmni()).
I've submitted a PR for the fix here https://github.com/OmniLayer/omnicore/pull/220

Great catch! I'm a bit surprised, because, if I'm not mistaken, then the Core UI is updated frequently by a timer, but appearingly not, in this case.

Confirmed.
I started 2x QT (with different ports and datadirs), but didn't connect them. In one I mined 101 blocks, in the other 120+ blocks. Then I connected them and the first node shows 0.00 BTC, as described.

Did you actually test this @zathras-crypto?

I did indeed :)
It's pretty easy to replicate, just take the tip and leave it running on testnet, there are frequent reorgs and it won't be long before you see the behaviour occur.  The BTC drops to zero and stays there.

then the Core UI is updated frequently by a timer

That's what I thought too, but I added a whole bunch of extra debugging to show me where the balances were being set, I could clearly see the BTC balance being zero'd when reinitOmni() was called, and then there was no subsequent update to set it back.

I started 2x QT (with different ports and datadirs), but didn't connect them. In the first one I mined 101 blocks, in the second one 120. Then I send 1 BTC from the second to an address of the first, mined a block with each. Finally I connected them.

Perhaps your BTC send with the final block is triggering a balance update - try populating any balances before triggering the chain rollback perhaps?

Perhaps your BTC send with the final block is triggering a balance update - try populating any balances before triggering the chain rollback perhaps?

Ahh, this makes sense! I initially assumed it never updates ever again.

This issue was resolved via #220.


Support immutable object!

Is this a bug report or a feature request?
Feature Request
Have you read the guidelines regarding bug report?
Yes
Have you read the documentation in its entirety?
Yes
Have you made sure that your issue hasn't already been reported/solved?
Yes
Is the bug specific to iOS or Android? Or can it be reproduced on both platforms?
Both
Expected Behavior
Support Immutable data.
Current react-native-snap-carousel using Flatlist, which only support normal javascript object, however Immutable Object hasnot been support yet! Can you create one with VirtualList?
Thank for your support!

@datvtwakumo Unfortunately, swapping FlatList for VirtualizedList is not trivial by any means.
I'll accept a PR for that if you're willing to work on it and if you're able to do so without altering any the plugin features...


linter: declare_all_lint_rules! macro naming collision between modules

What version of Oxlint are you using?
0.10.3
What command did you run?
No response
What does your .oxlint.json config file look like?
No response
What happened?
It's impossible to expose rules for example import/no-namespace rule due to naming collision with typescript/no-namespace in declare_all_lint_rules! macro

is fixed with https://github.com/oxc-project/oxc/pull/7496
tested it in snapshot eslint-plugin-eslint: https://github.com/oxc-project/eslint-plugin-oxlint/pull/262/files#diff-ff389c66187cc169595103ea27c278a8cd64c4bd64570834fcee87b9aafd1fa4R289-R291


tried to build in Blockchain but got null reference exception

heres my code:

Interesting. @totalnuob, what d'ya think? I remember you solved it somehow


Remove stale suggested changes for a Broadway pipeline from the docs

This commit removes the suggested changes for a Broadway pipeline that are currently in the docs.
The docs state that the changes are necessary to correctly capture per-message metrics and error rate, but this is no longer true. No additional acknowledger needs to be added to an existing and already working Broadway pipeline since d76956385c5622096c88b33545c3998f7cc16de8.
Applying these changes to a pipeline is not needed anymore  and might very well lead to a broken pipeline as detailed in https://github.com/akoutmos/prom_ex/issues/114#issuecomment-1122369781 .
@akoutmos: my suggestion is to release a new version soon. The currently released hex version (which is older than d76956385c5622096c88b33545c3998f7cc16de8) contains misleading documentation: the suggested changes to the acknowledger, although necessary, will also lead to https://github.com/akoutmos/prom_ex/issues/114#issuecomment-1122369781.
Closes #114

Coverage remained the same at 79.002% when pulling 46ece8d40f5ed882aa894085af613803c6c8ec85 on maxmarcon:master into f4c6b685cc09d6db4d004a71a473e04d4b0ebd66 on akoutmos:master.

What setup did you have in place when you validated this? Unless things changed internally in Broadway, I recall not needing the custom ack when using a GenStage producer, but this broke down when you used RMQ or Kafka. I would love to drop this work around...but I want to first validate that it works with things beyond just GenStage producers.

What setup did you have in place when you validated this?

I used the GenStage producer that comes with the example applications. You can change the topology name config here and verify that this is the value actually used to extract the topology name in all message- and batch-related events (here and here)

I also tested it with my BroadwaySQS data ingestion pipeline:

Messages are corrently accounted for without having to overwrite the native acknowledger.

Unless things changed internally in Broadway, I recall not needing the custom ack when using a GenStage producer, but this broke down when you used RMQ or Kafka

Don't know how Broadway used to work when you last looked at it, but currently the exact opposite is true. You need a custom acknowledger when using a GenStage producer: https://hexdocs.pm/broadway/custom-producers.html (this is also what your example application does).
On the other hand, RMQ, Kafka and AmazonSQS all come with their own acknowledgers. For example, here's where RabbitMQ's acknwoledger is implemented: https://github.com/dashbitco/broadway_rabbitmq/blob/main/lib/broadway_rabbitmq/producer.ex#L562
These producers need their own acknowledger in order to mark the messages as handled in their queues. Carelessly overwriting this acknowledger, as the current PromEx documentation suggests, will result in a broken pipeline. Plus, as I mentioned, the overwriting is not needed anymore

Awesome! Thanks for validating this with something beyond just the example GenStage version!

In my RabbitMQ topology if I remove the transformer: config and ack and transform functions from my pipeline nothing is reported on Grafana... What am I missing?

@moniquelive are you using the latest hex release or master? If you're using the hex release, then you still need to mess around with the transformer option and the acknowledgers. The commit that renders this unnecessary is https://github.com/akoutmos/prom_ex/commit/d76956385c5622096c88b33545c3998f7cc16de8, not released yet.

I'm using the release one. I'll be patient. I promise 🤞🏻

Hi!
Any idea when this fix will be released?
Using BroadwayKafka and PromEx does not work without messing with the acknowledger.
Thanks for a great library!

No releases for over a year... Any forecast?


I wonder how to compute the PSR.

To calculate PSR,

Find the mean (say mean) and standard deviation (std) of the output response (which is basically IDFT(DFT(filter) * DFT(img))).
Calculate the peak value of the output response (calculated as maxval = max(gi(:)); in src/mosse.m)).

PSR is given by:
PSR = (maxval - mean) / (std + eps)
where eps is the same variable used in src/preprocess.m.


chore: adjust GITHUB_TOKEN permissions for jobs in github actions

Approved PRs from forked repos cannot run integration tests. See example: https://github.com/redkubes/otomi-core/runs/7605917091?check_suite_focus=true
It is because the default permissions for statuses is read for forked repos:
Read: `https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token
Permissions can be adjusted per job: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
Checklist

[ ] Architecture Design Records have been added as adr/*.md and appended to list in adr/_index.md, if applicable.
[ ] The values-schema.yaml file and test/** fixtures have been updated to reflect code changes, if applicable.
[ ] The OpenApi Schema from redkubes/otomi-api project is compatible with definitions from values-schema.yaml file, if applicable.
[ ] Helm releases are meeting otomi's baseline security policies, if applicable.
[ ] Helm chart and helmfile changes are tested against upgrade scenario, if applicable.

Closing as we are not going to run integration tests on each pull request


How to migrate from django-comments-xtd?

Hi, could you please tell me how to migrate from 2.x to 3.x? As far as I understand, I'll lose likes/dislikes from the xtd, but it's not a problem. Should I just dump the data from django-comments-xtd, rename the table names in the json file, and load the data to django-comments-ink?

Hi, That could be better done using a management command. The DB schema of django-comments-ink is different from the schema of django-comments-xtd. The likes/dislikes have to be converted into CommentReactions, and XtdComment's into InkComment's referring to CommentThread's.

Thank you for your reply. I replaced django_comments_xtd.xtdcomment to django_comments_ink.inkcomment in the json file I dumped by ./manage.py dumpdata django_comments_xtd > comments.json command and than loaded the json file. Looks like it works. I don't care about likes/dislikes so I didn't convert them into ComentReaction.
Everything works, except nothing happens when I click the React button. I included the javascript, no errors in the js console, but no reactions modal either.

The current schema for InkComment, implemented in migration 0000 will change and it won't be covered in a new migration but rather change in the migration 0000 itself. That's why I added the "Don't use it yet" in the readme. Be aware of it because you won't be able to update via migrations.
When the app is ready I will update the docs. Meanwhile you could look at the dci-project-stories repo to see the templates and how they work with the plugin. The reason why you don't see the reactions panel most probably has to do with that. You need to provide the reactions panel template via the use of a template-tag.

Fixed reactions modal by adding modal.css and reacitons.css, looks like everything works now. Okay, I'll wait at least until this migration will be applied. Nice app by the way! Thank you for your help.

The current schema for InkComment, implemented in migration 0000 will change and it won't be covered in a new migration but rather change in the migration 0000 itself. That's why I added the "Don't use it yet" in the readme. Be aware of it because you won't be able to update via migrations.
When the app is ready I will update the docs. Meanwhile you could look at the dci-project-stories repo to see the templates and how they work with the plugin. The reason why you don't see the reactions panel most probably has to do with that. You need to provide the reactions panel template via the use of a template-tag.

Do you have a rough plan on when a first usable release will be ready? We'd like to use django-comments-ink in a project and are willing to help you getting the most important changes done. (If you are open for help)

The current schema for InkComment, implemented in migration 0000 will change and it won't be covered in a new migration but rather change in the migration 0000 itself. That's why I added the "Don't use it yet" in the readme. Be aware of it because you won't be able to update via migrations.
When the app is ready I will update the docs. Meanwhile you could look at the dci-project-stories repo to see the templates and how they work with the plugin. The reason why you don't see the reactions panel most probably has to do with that. You need to provide the reactions panel template via the use of a template-tag.

Do you have a rough plan on when a first usable release will be ready? We'd like to use django-comments-ink in a project and are willing to help you getting the most important changes done. (If you are open for help)

Wondering the same, too - planning to implement comments for our service. Still deciding whether we should use django-comments-xtd, django-comments-ink(which seems like django-comments-xtd 3.x release version), or even try to write from scratch with postgres ltree.

Out of curiosity - what is the point of a separate CommentThread model like below?
https://github.com/comments-ink/django-comments-ink/blob/5a202e19d7d0c4eec65ec80392e7a9506d2da1f1/django_comments_ink/models.py#L71
Django-comment-xtd had the thread id as a field in the XtdComment model. (https://github.com/danirus/django-comments-xtd/blob/557c771b595e2a4ac6dcfba2ab2b237572720d6d/django_comments_xtd/models.py#L62)
It looks like field/model is used to save a reference to the "post" instance that the comments belong too. But the Comment model from Django's original contrib comment already has a generic FK to the "post" or the "thread" object. Am I understanding this correctly?
@danirus