Failing to Build

I have been trying to build this project in my own machine to try to make some changes. Tried both following Raspberry Pi Pico sdk examples that use cmake and simply using a docker image that is supposed to have everything related to the raspberry pi pico sdk and every time I try to build I always get:
#0 0.671 [  0%] Building CXX object src/switchController/CMakeFiles/switchBluetooth.dir/SwitchBluetooth.cpp.obj
#0 0.719 In file included from /app/include/SwitchCommon.h:4,
#0 0.719                  from /app/include/SwitchBluetooth.h:4,
#0 0.719                  from /app/src/switchController/SwitchBluetooth.cpp:4:
#0 0.719 /app/include/Controller.h:6:10: fatal error: hardware/pio.h: No such file or directory
#0 0.719     6 | #include "hardware/pio.h"
#0 0.719       |          ^~~~~~~~~~~~~~~~
Googling this hardware/pio.h error always gets me to people discussing arduino projects.

After some more googling I was able to build it. I am using a Dockerfile to build it without having to install anything in my machine. When I am done playing, I hope my pull request with a dockerfile and simple instructions for anyone wishing to build it themselves is welcome. :)

Resolved with PR #33 . Thank you for the contribution!


fix: remove async_predict_text_llm, unused method.

This method has been replaced with utils_prompt.async_predict_text_gemini, it is no longer used. See b/364949965.

LGTM


[Blackhole Bringup] Pack untilize kernel

Pack untilize kernel for blackhole is incomplete, due to packer implementation changing for blackhole. This issue is 2 parts:

[x] Have a standalone C++ test for pack untilize, similar to unpack_untilize:

tests/tt_metal/tt_metal/test_unpack_untilize.cpp

[ ] Bringup pack untilize kernel for blackhole -> check if this will give better performance similar to wormhole_b0

fyi @abhullar-tt @ttmtrajkovic

Added the standalone test here: #10057

Does this manifest as
"compute_kernel_api/pack_untilize.h:28:48: error: too many arguments to function 'void llk_pack_untilize_init() [with long unsigned int block_ct_dim = 1]'
   28 |     PACK(( llk_pack_untilize_init<block_ct_dim>(ocb) ));"

Does this manifest as
"compute_kernel_api/pack_untilize.h:28:48: error: too many arguments to function 'void llk_pack_untilize_init() [with long unsigned int block_ct_dim = 1]'
   28 |     PACK(( llk_pack_untilize_init<block_ct_dim>(ocb) ));"

That's the first part, the second part is after the compilation error it mismatches, but that's because pack_untilize algorithm was not ported to the new blackhole packer functionality

Pushed here: https://github.com/tenstorrent/tt-metal/pull/10422
and now all of these tests pass:
pytest -svv tests/ttnn/unit_tests/operations/test_activation.py
pytest -svv tests/ttnn/unit_tests/test_to_layout.py
pytest -svv tests/ttnn/unit_tests/operations/test_elt_binary.py
TT_METAL_WATCHER=5 TT_METAL_DPRINT_CORES=0,0 TT_METAL_SLOW_DISPATCH_MODE=1 ./build/test/tt_metal/test_untilize

Will remove "P1_critical" label. But @ttmtrajkovic there is still some testing missing:

The above tests never have block_rt_dim > 1
The above tests do not have output of sizes of 1x16 or 1x32 (what fused reduce tests expect)
The above tests do not have fused pack_untilize, when pack_untilize if fused, a decision needs to be made on how

MATH(( llk_math_hw_configure_disaggregated<true>() ));

should be called, because it needs to be on the math thread, for max pool tests the above config needs to be done when initializing the reduce

Update on this issue.
Have some fixes on this branch: rtawfik/reduce_untilize_a_b
With the testing that is missing:

Don't see any WHB0 tests that use block_rt_dim>1, we should add unit testing for all devices for this since no model tests this use case currently.
There is also block_ct_dim!=full_ct_dim. Currently conv tests have block_ct_dim=full_ct_dim, and this is not tested for WHB0 either, unit testing should be added for all devices, but not currently needed for CNNs for Blackhole bringup.
1x32 are used in maxpool tests and will have a unit test added for this (Specifically see 1x32 used in maxpool tests, have not seen compilation for 1x16).
MATH(( llk_math_hw_configure_disaggregated<true>() )); will be added to the api init calls for the pack_untilize & fused reduce

Added unit tests for pack_untilize with reduce dimensions (which are 1x32 or 1x16) here: https://github.com/tenstorrent/tt-metal/pull/11875.
Remaining tests for block_rt_dim>1 and block_ct_dim!=full_ct_dim should be added here: https://github.com/tenstorrent/tt-metal/issues/11716


Calibration Data Dump

Can someone post their calibration data? I've managed to destroy mine with the updater in this repository and now I'm running with the data from XDM2041. It is okish, but I cannot be sure.
Calibration data can be dumped using this Python script.
Thank you.
https://github.com/PetteriAimonen/owon-xdm2041-info/blob/main/bootloader/backup_calibration.py
Maybe @TheHWcave ?

On Thursday, 23 June 2022 at 17:08:41 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

Can someone post their calibration data? I've managed to destroy mine with the updater in this repository and now I'm running with the data from XDM2041. It is okish, but I cannot be sure.
Calibration data can be dumped using this Python script.
Thank you.
https://github.com/PetteriAimonen/owon-xdm2041-info/blob/main/bootloader/backup_calibration.py
Maybe @TheHWcave ?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

calibration.bin.zip

Hope that works for you. Please let me know. BTW, I take it from the "accident" that the bootloader prog. still needs to be treated with caution ;)

Thank you. Uploaded. Now I bet I've "cloned" yours (in terms of serial number & stuff).

It is still ~20-50mV lower on the DC measurements. It is compared with a OWON HDS272S and a RIDEN RD6018 (which mostly agree between them).

I just checked using my 5V reference:  The XDM1041 is reading just 2.2 mV lower than my Agilent 34401A. If yours are so different, it means cal values are really specific for individual meters (which is what you would expect). Sadly the HY3131 chip datasheet is silent how the cal values are encoded, if that is even done there and not in the processor.
On Thursday, 23 June 2022 at 21:33:47 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

It is still ~20-50mV lower on the DC measurements. It is compared with a OWON HDS272S and a RIDEN RD6018 (which mostly agree between them).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

I guess that that calibration based adjustments are done in the software itself. Strings in the firmware show a bit about calibration, so it may be a combination of keys that allows you to adjust stuff.
The small scales are reading a bit higher, so I guess there is a correction value per each individual scale.

An update... Someone posted on EEVblog some secret key sequences that get you into a cal menu. There is a manual and automatic cal apparently. Sadly the auto cal starts without any way of stopping and proceeds relentlessly for all ranges and hence I have lost all my cal!  Tonight I will try to upload the dump I made for you ... . In the mean time, I tried manual cal on the 5V DC range (nothing to lose ...:) and it worked fine. 5V DC is now the only range that works on my XDM1041... The take away, if you have a good reference you can do a manual recalibration. I will mail more about how to do it later.
On Thursday, 23 June 2022 at 22:55:45 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

I guess that that calibration based adjustments are done in the software itself. Strings in the firmware show a bit about calibration, so it may be a combination of keys that allows you to adjust stuff.
The small scales are reading a bit higher, so I guess there is a correction value per each individual scale.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Thank you. I already got a 2041, but managed to calibrate most of the DC voltage ranges and few cap ranges using software.  I check the value with my "good" ( :) ) DMM then with 1041, compute factor and adjust the value. Write the new cal file, upload it, rinse and repeat.

Nice. Can you reveal what the formulae are to adjust the values? It appears there are 2 per range, called "zero" and "coef" in the hidden debug menu
By the way, I managed to reload the cal data from the dump I made for you.
The hidden menus can be reached with these sequences
UTILITY-MATH-UP-RANGE-DOWN:   gets a menu on my system which offers DEBUG, Keyboard test and LCD test. DEBUG is the manual cal menu. MATH seems to exit the menu. RECORD to move the cursor between zero and coef and the arrows to change digits.
UTILITY-DUAL-UP-RANGE-DOWN:  starts autocal immediately which will destroy your existing cal on all modes and ranges.
On Friday, 1 July 2022 at 14:26:34 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

Thank you. I already got a 2041, but managed to calibrate most of the DC voltage ranges and few cap ranges using software.  I check the value with my "good" ( :) ) DMM then with 1041, compute factor and adjust the value. Write the new cal file, upload it, rinse and repeat.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

There is no magic formula. I adjust just the "coef" I guess. Its "default" value is 1000000 (or whatever is already stored in the calibration). I try to measure in the middle of the scale (as much as I can) with a "good" DMM.
Let's say I get value A. The "bad" DMM shows value B. Then new_coef = old_coef * A/B.
The coef is second value in the data structure in the "app" below, which I am using to do what I described above.
The offsets for calibration values I've taken from here: https://github.com/PetteriAimonen/owon-xdm2041-info/tree/main/orig_firmware
That is the calibration information for 2041, but it matched my 1041 until now, at least for the top part of the table. I think the calibration table structure is identical between them, after checking your dump (thank you again for that).
package main

import (
	"fmt"
	"io/ioutil"
	"os"
)

type CalibrationValue struct {
	Address     int
	Value       int32
	Scalar      float64
	Description string
}

var calibrationValues = []CalibrationValue{
	{0x0001F9F8, 1023991, 0.068321, "Scale for 50 mVDC"},
	{0x0001F9FC, 1024787, 0.683336, "Scale for 500 mVDC"},
	{0x0001FA00, 1029923, 7.516670, "Scale for 5 VDC, tested"}, /* 1028925 */
	{0x0001FA04, 1041205, 68.333600, "Scale for 50 VDC, tested"},
	{0x0001FA08, 1029563, 683.331000, "Scale for 500 VDC, tested"},
	{0x0001FA0C, 1029286, 1366.680000, "Scale for 1000 VDC"},
	{0x0001FA20, 1026853, 78.720800, "Scale for 500 mVAC, tested, relative to sqrt(RMS_DATA)"},
	{0x0001FA24, 1031555, 865.928000, "Scale for 5 VAC, tested"},
	{0x0001FA28, 1042351, 7872.030000, "Scale for 50 VAC, tested"},
	{0x0001FA2C, 1025702, 78720.900000, "Scale for 500 VAC, tested"},
	{0x0001FA48, 1011027, 0.000684, "Scale for 500uADC"},
	{0x0001FA4C, 1012140, 0.006833, "Scale for 5mADC"},
	{0x0001FA50, 1019301, 0.068333, "Scale for 50mADC, tested"},
	{0x0001FA54, 1020369, 0.683336, "Scale for 500mADC, tested"},
	{0x0001FA58, 1028499, 6.833350, "Scale for 5ADC"},
	{0x0001FA5C, 1028501, 13.666700, "Scale for 10ADC"},
	{0x0001FA74, 1017592, 0.000000, "Unknown"},
	{0x0001FA78, 1023615, 0.000000, "Unknown"},
	{0x0001FA7C, 1025093, 0.000000, "Scale for AC current measurements, on top of DC"},
	{0x0001FAA4, 914813, 1112800.000000, "Scale for 500kohm, tested"},
	{0x0001FAA8, 1019972, 6676250.000000, "Scale for 5Mohm, tested"},
	{0x0001FAAC, 1023225, 67351000.000000, "Scale for 50Mohm, tested"},
	{0x0001FAC0, 1007702, 1112.130000, "Scale for 500ohm, tested"},
	{0x0001FAC4, 1007131, 11198.800000, "Scale for 5kohm, tested"},
	{0x0001FAC8, 997716,<PHONE_NUMBER>00, "Scale for 50kohm, tested"},
	{0x0001FB38, 955828, 0.000000, "Scale for 50nF, tested"},
	{0x0001FB3C, 979000, 0.000000, "Scale for 500nF, tested"},
	{0x0001FB40, 999917, 0.000000, "Scale for 5uF"},
	{0x0001FB44, 991883, 0.000000, "Scale for 50uF, tested"},
	{0x0001FB48, 689933, 0.000000, "Scale for 500uF"},
	{0x0001FB4C, 714670, 0.000000, "Scale for 5mF"},
	{0x0001FB50, 990931, 0.000000, "Scale for 50mF"},
	{0x0001FBB0, -10774, 0.000000, "Offset for 50 mVDC range in nanovolts"},
	{0x0001FBB4, 27369, 0.000000, "Offset for 500 mVDC range in nanovolts"},
}

func main() {
	f, err := os.Open("calibration_xdm1041.bin")
	if err != nil {
		panic(err)
	}

	data, err := ioutil.ReadAll(f)
	f.Close()

	fmt.Printf("read %d byte(s)\n", len(data))

	var buf int32

	for _, x := range calibrationValues {
		offset := x.Address - 0x0001f800
		buf = int32(data[offset]) + int32(data[offset+1])<<8 + int32(data[offset+2])<<16 + int32(data[offset+3])<<24
		//fmt.Printf("%7d %7d (%08X %08X %s)\n", buf, int32(x.Value), x.Address, offset, x.Description)
		fmt.Printf("	{0x%08X, %d, %f, \"%s\"},\n", x.Address, buf, x.Scalar, x.Description)
		// write the new value
		data[offset] = byte(x.Value & 0xFF)
		data[offset+1] = byte((x.Value >> 8) & 0xFF)
		data[offset+2] = byte((x.Value >> 16) & 0xFF)
		data[offset+3] = byte((x.Value >> 24) & 0xFF)
	}

	err = ioutil.WriteFile("calibration_xdm1041.bin", data, 0644)
	if err != nil {
		panic(err)
	}
}

Thanks Alexandru, this is great stuff.
I will try that on my XDM1041.
As  I said, the first of the hidden menus with the DEBUG command seems to expose the individual ZERO and COEF values and allows changing them online so to say. With a known reference value fed into the meter, you can tweak ZERO or COEF until the reading on the display is correct. However, I am not sure if you can just examine and quit. Probably there is a button that does that but it seems extremely easy to accidentally change and save even when you don't want it.
By the way, there is this 2nd value (in the DEBUG menu) called ZERO which I think was usually zero. Is this an offset to correct deviation from zero?
Last question: After I restored my CAL, I put a 5V ref voltage on and manually changed range (to see if the upper ranges had been restored). The DC volts worked as expected, even at 1000V range I can see a readout of 5.0
The AC volts is different. My AC ref is slightly below 5V. I can see 4.99xx in the 5V and 50V range but it is zero for 500V or 750V ranges. Experimenting a bit, it seems that if an AC volt value is less that 1% of the range it is simply shown as zero. For example  you need more that 5VAC to get a non-zero reading in the 500V range and more than 7VAC for the 750V range. I must admit that I never noticed that behaviour before. It makes sense from an accuracy point of view as the TRMS conversion needs a minimum input to work but usually that is simply a note in the specs on AC accuracy. Indeed the XDM1041 specifies a min value of  >5% of range for stated accuracy and from 1% to 5% an additional error of 0.1% is added. That is common with other multimeters  but none of my other meters simply turn the readout off if the value drops below 1%. I'd much prefer if it showed "something" rather than nothing, because it really let me on chase to find out why my 500VAC range apparently was no longer working... Oh well, yet another OWON quirk I guess.
Does your meter does the same?
On Friday, 1 July 2022 at 16:00:46 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

There is no magic formula. I adjust just the "coef" I guess. Its "default" value is 1000000 (or whatever is already stored in the calibration). I try to measure in the middle of the scale (as much as I can) with a "good" DMM.
Let's say I get value A. The "bad" DMM shows value B. Then new_coef = old_coef * A/B.
The coef is second value in the data structure in the "app" below, which I am using to do what I described above.
The offsets for calibration values I've taken from here: https://github.com/PetteriAimonen/owon-xdm2041-info/tree/main/orig_firmware
That is the calibration information for 2041, but it matched my 1041 until now, at least for the top part of the table. I think the calibration table structure is identical between them, after checking your dump (thank you again for that).
package main
import (
"fmt"
"io/ioutil"
"os"
)
type CalibrationValue struct {
Address     int
Value       int32
Scalar      float64
Description string
}
var calibrationValues = []CalibrationValue{
{0x0001F9F8, 1023991, 0.068321, "Scale for 50 mVDC"},
{0x0001F9FC, 1024787, 0.683336, "Scale for 500 mVDC"},
{0x0001FA00, 1029923, 7.516670, "Scale for 5 VDC, tested"}, /* 1028925 */
{0x0001FA04, 1041205, 68.333600, "Scale for 50 VDC, tested"},
{0x0001FA08, 1029563, 683.331000, "Scale for 500 VDC, tested"},
{0x0001FA0C, 1029286, 1366.680000, "Scale for 1000 VDC"},
{0x0001FA20, 1026853, 78.720800, "Scale for 500 mVAC, tested, relative to sqrt(RMS_DATA)"},
{0x0001FA24, 1031555, 865.928000, "Scale for 5 VAC, tested"},
{0x0001FA28, 1042351, 7872.030000, "Scale for 50 VAC, tested"},
{0x0001FA2C, 1025702, 78720.900000, "Scale for 500 VAC, tested"},
{0x0001FA48, 1011027, 0.000684, "Scale for 500uADC"},
{0x0001FA4C, 1012140, 0.006833, "Scale for 5mADC"},
{0x0001FA50, 1019301, 0.068333, "Scale for 50mADC, tested"},
{0x0001FA54, 1020369, 0.683336, "Scale for 500mADC, tested"},
{0x0001FA58, 1028499, 6.833350, "Scale for 5ADC"},
{0x0001FA5C, 1028501, 13.666700, "Scale for 10ADC"},
{0x0001FA74, 1017592, 0.000000, "Unknown"},
{0x0001FA78, 1023615, 0.000000, "Unknown"},
{0x0001FA7C, 1025093, 0.000000, "Scale for AC current measurements, on top of DC"},
{0x0001FAA4, 914813, 1112800.000000, "Scale for 500kohm, tested"},
{0x0001FAA8, 1019972, 6676250.000000, "Scale for 5Mohm, tested"},
{0x0001FAAC, 1023225, 67351000.000000, "Scale for 50Mohm, tested"},
{0x0001FAC0, 1007702, 1112.130000, "Scale for 500ohm, tested"},
{0x0001FAC4, 1007131, 11198.800000, "Scale for 5kohm, tested"},
{0x0001FAC8, 997716,<PHONE_NUMBER>00, "Scale for 50kohm, tested"},
{0x0001FB38, 955828, 0.000000, "Scale for 50nF, tested"},
{0x0001FB3C, 979000, 0.000000, "Scale for 500nF, tested"},
{0x0001FB40, 999917, 0.000000, "Scale for 5uF"},
{0x0001FB44, 991883, 0.000000, "Scale for 50uF, tested"},
{0x0001FB48, 689933, 0.000000, "Scale for 500uF"},
{0x0001FB4C, 714670, 0.000000, "Scale for 5mF"},
{0x0001FB50, 990931, 0.000000, "Scale for 50mF"},
{0x0001FBB0, -10774, 0.000000, "Offset for 50 mVDC range in nanovolts"},
{0x0001FBB4, 27369, 0.000000, "Offset for 500 mVDC range in nanovolts"},
}
func main() {
f, err := os.Open("calibration_xdm1041.bin")
if err != nil {
panic(err)
}
data, err := ioutil.ReadAll(f)
f.Close()

fmt.Printf("read %d byte(s)\n", len(data))

var buf int32

for _, x := range calibrationValues {
	offset := x.Address - 0x0001f800
	buf = int32(data[offset]) + int32(data[offset+1])<<8 + int32(data[offset+2])<<16 + int32(data[offset+3])<<24
	//fmt.Printf("%7d %7d (%08X %08X %s)\n", buf, int32(x.Value), x.Address, offset, x.Description)
	fmt.Printf("	{0x%08X, %d, %f, \"%s\"},\n", x.Address, buf, x.Scalar, x.Description)
	// write the new value
	data[offset] = byte(x.Value & 0xFF)
	data[offset+1] = byte((x.Value >> 8) & 0xFF)
	data[offset+2] = byte((x.Value >> 16) & 0xFF)
	data[offset+3] = byte((x.Value >> 24) & 0xFF)
}

err = ioutil.WriteFile("calibration_xdm1041.bin", data, 0644)
if err != nil {
	panic(err)
}

}
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

I don't have voltage references to check. I can only check against another multimeter, that is not broken by me :)
I do have a signal generator, I could try with that and compare multiple multimeters (I do have the 2041 now, the "old" 1041 and a HDS272S).

The HDS272S signal gen should be able to do it. Generate an AC voltage of just under 5V and see if it shows in the 500V range.
On Saturday, 2 July 2022 at 10:50:20 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

I don't have voltage references to check. I can only check against another multimeter, that is not broken by me :)
I do have a signal generator, I could try with that and compare multiple multimeters (I do have the 2041 now, the "old" 1041 and a HDS272S).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Nice to have a clone. Yes, that looks exactly like what I have, serial number and all.  Is your meter showing the correct values, i.e. how well does my cal data match your meter?
On Thursday, 23 June 2022 at 21:26:45 BST, Alexandru Pirvulescu<EMAIL_ADDRESS>wrote:

Thank you. Uploaded. Now I bet I've "cloned" yours (in terms of serial number & stuff).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

I didn't move past few initial recalibrations. It was given to my son and I've got a 2041 for myself. It is good enough (TM) for his playing around/learning stuff.


[native_assets_builder] Rename Asset name to id

Auto publishing seems to not work for this package: https://github.com/dart-lang/ecosystem/issues/150
After running pub get locally in all subfolders, manual publishing should work.

Thanks @HosseinYousefi !
Succeeded in making things green by:

.pubignoreing the test/ directory.
analysis_options.yaml exclude the test/data/ directory.


FileNotFoundError when trying to run the execution-framework

Hello guys :)
I've been trying to experiment with the tool on windows, I get the following error when I try to run the command  ./exectool --runs=5 --root=my_path run :
 File "my_path/KROWN/execution-framework/bench_executor/executor.py", line 66, in __init__     with open(os.path.join(os.path.dirname(__file__), 'data', FileNotFoundError: [Errno 2] No such file or directory: '/mnt/c/Users/aliha/KROWN/execution-framework/bench_executor/data/metadata.schema'
any help with that?

Hi!
This file was not committed in git, this has been fixed in the main branch, can you please try it?
If there's anything, feel free to let us know!

@DylanVanAssche now I get the following error:
`Executing 7 cases:

mappings_10_5                                                                       [  0%     0s]
==> Run #1 <==
Case failure due to exception: module 'platform' has no attribute 'freedesktop_os_release'`

@alloka Which Python version do you use?
A similar problem is reported here: https://github.com/wunderwuzzi23/yolo-ai-cmdbot/issues/7 where it is related to the Python version.

Can't you use a newer Python version? According to https://github.com/wunderwuzzi23/yolo-ai-cmdbot/issues/7#issuecomment-1459073984 and Python docs (https://docs.python.org/3/library/platform.html#linux-platforms) this was an issue in Python but fixed in Python 3.10 or later.
I added a workaround for these old Python versions on the main branch, please try it :)
The platform name and OS is not logged then in the case-info.txt file and a warning is logged, but it should continue now.

Workaround confirmed to be working, closing.


Stash serializer

To merge after: https://github.com/OpenSmock/Pyramid/pull/185

First merge this: https://github.com/OpenSmock/Bloc-Serialization/pull/17

Merge #185 done.

@Nyan11, serializations tests are KO: Instance of Array did not understand #materializeAsBlElement

~To merge after: OpenSmock/Bloc-Serialization#17~ To merge after: OpenSmock/Bloc-Serialization#19

Do that before: To merge after: https://github.com/OpenSmock/Bloc-Serialization/pull/19

@Nyan11, serializations tests are KO: Instance of Array did not understand #materializeAsBlElement

Do that before: To merge after: https://github.com/OpenSmock/Bloc-Serialization/pull/19

Ok done.

Related to #14


Possible Fiber issue?

https://github.com/SparkyPotato/tracy_full/blob/edab2ddd948212a235e2699b95a8c78688d915c6/src/future.rs#L52
Should there be a 2nd enter call here?

If the inner future also has a wrapped future somewhere in the call chain, that would switch the current thread's tracked fiber, so we need to switch back to the correct fiber before leaving.
Without the second enter call, I believe there were inconsistent traces or crashes, I don't remember which.

If the inner future also has a wrapped future somewhere in the call chain, that would switch the current thread's tracked fiber, so we need to switch back to the correct fiber before leaving.
Without the second enter call, I believe there were inconsistent traces or crashes, I don't remember which. Does it work without it on the latest version of Tracy?

Right I see, thanks for the reply 😄  Yes I believe it works but I just wasn't sure whether it was being a redundant call or not.


Knowing if a particular AirTag presents in the scan results?

Hi!
Since #41, I am pretty convinced that close-to-realtime location using the crowdsourcing FindMy approach won't fit my application (tracking my dog). I was thinking of using an AirTag as a BLE tracker just so that I can know in almost real-time that the AirTag is at home.
Is there a way to know if a particular AirTag is present in the scan results? I see that the scanner gives the MAC address and the public key of any AirTag. But, given an AirTag, how do I know either of these two values for that particular AirTag? The public key is rotating, am I right? So maybe there is a way to predict this public key using the seed plist?
I have tried:
>>> acc = findmy.accessory.FindMyAccessory.from_plist(open("my_airtag.plist", "rb"))
>>> acc.keys_at(datetime.now(timezone.utc))

But the key it returns doesn't seem to match with any of the scanner results. I also tried passing in my current timezone (EST) to keys_at, but still no luck.
Any guidance or suggestions would be greatly appreciated!

How did you compare the keys? keys_at returns a set of KeyPairs, did you compare those public keys against the one you got from the scan?
It's also possible there is some timing inaccuracy, you could try using keys_between instead and pass two timezones, let's say -24h and +24h of the timestamp of the scan.

How did you compare the keys? keys_at returns a set of KeyPairs, did you compare those public keys against the one you got from the scan?

Yes, that's what I tried.

It's also possible there is some timing inaccuracy, you could try using keys_between instead and pass two timezones, let's say -24h and +24h of the timestamp of the scan.

Thanks! I am running this script:
import datetime, pytz
import findmy
import findmy.scanner

import asyncio
import logging

logging.basicConfig(level=logging.INFO)

acc = findmy.accessory.FindMyAccessory.from_plist(open("mykey.plist", "rb")) # obtained from decoding FindMy
now = datetime.datetime.now(pytz.timezone("EST"))
keys = acc.keys_between(now - datetime.timedelta(hours=24), now + datetime.timedelta(hours=24))

async def scan() -> None:
    scanner = await findmy.scanner.OfflineFindingScanner.create()

    print("Scanning for FindMy-devices...")
    print()

    async for device in scanner.scan_for(1000, extend_timeout=True):
        print(f"Device - {device.mac_address}")
        print(f"  Public key:   {device.adv_key_b64}")
        print(f"  Lookup key:   {device.hashed_adv_key_b64}")
        print(f"  Status byte:  {device.status:x}")
        print(f"  Hint byte:    {device.hint:x}")
        print("  Extra data:")
        for k, v in sorted(device.additional_data.items()):
            print(f"    {k:20}: {v}")
        print()
        if any((device.adv_key_b64 == k.adv_key_b64) for k in keys):
            print("Found!!!!")
            break

if __name__ == "__main__":
    asyncio.run(scan())

Doesn't seem to hit Found! after 1000 seconds. I do see two unmatched results, unclear if those are my AirTags or someone else's nearby. Maybe my AirTags are not broadcasting because my other devices are around?

Ohhh yes indeed then that will not work. As you guessed, Airtags do not broadcast when they're near an owner device. Well, they do, but it's a very small payload that is only used to indicate to the owner device that it is still nearby (afaik). I think the scanner currently skips those, because there is no way to retrieve the full identity of the tag from those reports.
It should still be possible to verify whether a given public key is nearby though. If you just scan for nearby bluetooth low energy MAC addresses, the last 4 bytes of your tag should be identical of byte 1 - 4 of the active public key (0-indexed). That's not currently implemented in the scanner, but I'll take it as a feature request 🙂

Ohhh yes indeed then that will not work. As you guessed, Airtags do not broadcast when they're near an owner device. Well, they do, but it's a very small payload that is only used to indicate to the owner device that it is still nearby (afaik). I think the scanner currently skips those, because there is no way to retrieve the full identity of the tag from those reports.
It should still be possible to verify whether a given public key is nearby though. If you just scan for nearby bluetooth low energy MAC addresses, the last 4 bytes of your tag should be identical of byte 1 - 4 of the active public key (0-indexed). That's not currently implemented in the scanner, but I'll take it as a feature request 🙂

Fabulous!
Here's my attempt:
import datetime, pytz
import findmy
import findmy.scanner
import findmy.scanner.scanner

import asyncio
import logging
import time

logging.basicConfig(level=logging.INFO)

acc = findmy.accessory.FindMyAccessory.from_plist(open("myairtag.plist", "rb"))
now = datetime.datetime.now(pytz.timezone("EST"))
keys = acc.keys_between(now - datetime.timedelta(hours=24), now + datetime.timedelta(hours=24))

async def scan() -> None:
    scanner = await findmy.scanner.OfflineFindingScanner.create()

    print("Scanning for FindMy-devices...")
    print()

    async for device in scan_for(scanner, 1000, extend_timeout=True):
        print(f"Device - {device.mac_address}")
        print(f"  Public key:   {device.adv_key_b64}")
        print(f"  Lookup key:   {device.hashed_adv_key_b64}")
        print(f"  Status byte:  {device.status:x}")
        print(f"  Hint byte:    {device.hint:x}")
        print("  Extra data:")
        for k, v in sorted(device.additional_data.items()):
            print(f"    {k:20}: {v}")
        print()
        if any((device.adv_key_b64 == k.adv_key_b64) for k in keys):
            print("Found!!!!")
            break

def has_consecutive_four_byte_match(bytes1, bytes2):
    length1 = len(bytes1)
    length2 = len(bytes2)

    if length1 < 4 or length2 < 4:
        return False

    for i in range(length1 - 3):
        four_bytes1 = bytes1[i:i+4]
        for j in range(length2 - 3):
            four_bytes2 = bytes2[j:j+4]
            if four_bytes1 == four_bytes2:
                return True

    return False

async def _wait_for_device(self, timeout: float):
        device, data = await asyncio.wait_for(self._device_fut, timeout=timeout)

        mac_bytes = bytes(int(part, 16) for part in device.address.split(':'))
        for k in keys:
            if has_consecutive_four_byte_match(mac_bytes, k.adv_key_bytes):
                print("Found MAC!!!")
                print(device)
                print(mdata)
                print(mac_bytes)
                print(k.adv_key_bytes)

        apple_data = data.manufacturer_data.get(self.BLE_COMPANY_APPLE, b"")
        if not apple_data:
            return None

        try:
            additional_data = device.details.get("props", {})
        except AttributeError:
            # Likely Windows host, where details is a '_RawAdvData' object.
            # See: https://github.com/malmeloo/FindMy.py/issues/24
            additional_data = {}
        return  findmy.scanner.scanner.OfflineFindingDevice.from_payload(device.address, apple_data, additional_data)

async def scan_for(
        self,
        timeout: float = 10,
        *,
        extend_timeout: bool = False,
    ):
        """
        Scan for `OfflineFindingDevice`s for up to `timeout` seconds.

        If `extend_timeout` is set, the timer will be extended
        by `timeout` seconds every time a new device is discovered.
        """
        await self._start_scan()

        stop_at = time.time() + timeout
        devices_seen = set()

        try:
            time_left = stop_at - time.time()
            while time_left > 0:
                device = await _wait_for_device(self, time_left)
                if device is not None and device not in devices_seen:
                    devices_seen.add(device)
                    if extend_timeout:
                        stop_at = time.time() + timeout
                    yield device

                time_left = stop_at - time.time()
        except (asyncio.CancelledError, asyncio.TimeoutError):  # timeout reached
            return
        finally:
            await self._stop_scan()

if __name__ == "__main__":
    asyncio.run(scan())

Note that I tried what you described on the indexing but that didn't give me any match. So I used that bruteforce has_consecutive_four_byte_match  function, and I got a match!
Here's the match pretty printed:
MAC: 'e5:29:d7:92:57:65'
adv_key_bytes: 'a5:29:d7:92:57:65:ac:2a:9b:0f:3c:5a:eb:f4:9e:08:2b:78:6f:d7:db:39:f6:08:76:36:a4:f5'

It seems like MAC[-5:] == adv_key_bytes[1:6]? Five matching bytes?

5 matching bytes indeed, I think I had a brain fart there 😅. Actually, the first 6 bytes of the public key are encoded in the MAC address, with the exception of the two most significant bits of the first byte. Those two are always 0b11 due to BLE requirements, so Apple put them in the two MSBs of the 3rd byte of the advertisement payload instead.
I've started implementing 'nearby' status device detection in #50. I'll extend that to allow checking whether a device corresponds to a specific keypair or findmy-accessory.


Add null checks to enchantment type

fixes crashes with custom enchants. ( #253 )  this doesn't fix the issue of appliedContext being null when it shouldn't be, but it prevents the game from crashing.

Merging for now but it is very odd that appliedContext becomes null at all


Fix md links

Please preview md to see change.

You need the ]( to be together to render md links correctly.

BEFORE / AFTER

@sqrrrl Ping.


Don't optimize AnalyzeExec (#6379)

Which issue does this PR close?

Closes #6379
Rationale for this change

See ticket
What changes are included in this PR?

Are these changes tested?

Not yet, wanted to get something up as this was blocking some other work I was doing. I would be more than happy for someone else to contribute a test
Are there any user-facing changes?

Will try and get a test for this

I spend a few hours messing with this and I think I have an approach that works here: https://github.com/apache/arrow-datafusion/pull/6494


Invited Bot Owner with Leading Zero

I invited NadekoBot to my server but it thinks the owner is "username#806" when it should be "username#0806" and it is causing Nadeko to think I am not the owner. Any fix for this without having to host the bot myself?

No. You are not the owner. I am the owner.


Support for dark mode

If there's a theme to hook into, that's be ideal, but a little padding around the white area could go a long way to make it not look broken with a dark theme enabled:

fix in <IP_ADDRESS>

fix in <IP_ADDRESS>


Add option to skip image resizing and rely on resizing done externally

Hi Dan,
In my case (for Wildlife Insights), I want to resize images before calling process_image(). Would you like to support this use case in the main repo through a new parameter?
Ștefan

Looks non-controversial, and if we can support Wildlife Insights without forking little bits of inference code, that's a win/win.  I confirmed the following in testing:

This change has no impact by default
If I hard-code skip_image_resize to "True" and supply random images, most images fail (this is WAI)
If I hard-code skip_image_resize to "True" and supply images already resized to 1280, I get the same results as I do with skip_image_resize==False
If I hard-code skip_image_resize to "True" and supply images already resized to some other size that's still a stride boundary, things mostly don't fail, but I get slightly different results (still reasonable, but different)

I believe that's all WAI, merging.


Fix - #6221 new nav analytics improvements

Description
Adds fixes for the tasks listed following -
 Fix bug in CONNECT DATA - navigates to new datasource even if already have datasource.
 Add generic event for create new datasource.
 Add Widget type/name to CONNECT DATA event.

Fixes #6221
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

manually

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: fix/new-nav-analytics-improvements-6221

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
51.48 (-0.02)
33.49 (-0.02)
29.28 (-0.01)
52.11 (-0.02)

:green_circle:
app/client/src/pages/Editor/IntegrationEditor/MockDataSources.tsx
45.95 (0.24)
87.5 (0)
0 (0)
45.95 (0.24)

:red_circle:
app/client/src/pages/Editor/IntegrationEditor/NewApi.tsx
34.72 (-2.04)
21.05 (0)
0 (0)
36.76 (-2.3)

:red_circle:
app/client/src/pages/Editor/PropertyPane/ConnectDataCTA.tsx
84.62 (-2.22)
100 (0)
85.71 (0)
84.21 (-2.28)

:green_circle:
app/client/src/pages/Editor/PropertyPane/index.tsx
83.19 (0)
72.81 (0.08)
70.37 (0)
84.76 (0)

:red_circle:
app/client/src/utils/helpers.tsx
53.05 (-1.83)
26.03 (-4.11)
21.43 (-3.57)
46.51 (-1.55)

:red_circle:
app/client/src/utils/autocomplete/TernServer.ts
50.59 (-0.24)
39.41 (-0.84)
36.21 (0)
54.77 (-0.27)

Unrelated spec file is failing for all - https://dashboard.cypress.io/projects/eyxvp8/runs/8289/overview


Added a format based on Huggingface format

Formats the complete input for the model using the Hugginface chat template of a given model.
HFSystemFormat expects the input instance to contain:
1. A field named "system_prompt" whose value is a string (potentially empty) that delivers a task independent opening text.
2. A field named "source" whose value is a string verbalizing the original values in the instance (as read
from the source dataset), in the context of the underlying task.
3. A field named "instruction" that contains a (non-None) string.
4. A field named with the value in arg 'demos_field', containing a list of dicts, each dict with fields "source"
and "target", representing a single demo.
5. A field named "target_prefx" that contains a string to prefix the target in both each demo, and to end the whole generated prompt

SystemFormat formats the above fields into a single string to be inputted to the model. This string overwrites
field "source" of the instance.

Example:
    HFSystemFormat(model_name="HuggingFaceH4/zephyr-7b-beta")

    Uses the template defined the in tokenizer_config.json of the model:

    "chat_template": "{% for message in messages %}\n{% if message['role'] == 'user' %}\n{{ '<|user|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'system' %}\n{{ '<|system|>\n' + message['content'] + eos_token }}\n{% elif message['role'] == 'assistant' %}\n{{ '<|assistant|>\n'  + message['content'] + eos_token }}\n{% endif %}\n{% if loop.last and add_generation_prompt %}\n{{ '<|assistant|>' }}\n{% endif %}\n{% endfor %}",

    See more details in https://huggingface.co/docs/transformers/main/en/chat_templating

This PR achieve its goal. For future we should consider: (1) Seperate the structured representation and make it available at a dedicated field for people want to use it externally (e.g for using open ai api) (2) change existing formats to use this mechanism

There are downsides  for it - it requires access to the HF model page  (e.g. sometime requires huggingface token login ).
I think we should consider a general jinja format - so people can just copy the jinja string and use it for formatting.


AL0717 - "The property 'TableRelation' [...] is required [...] because the field's property 'FieldClass' is set to 'FlowField'." - why?

I made a FlowField and hadn't yet assigned a CalcFormula. I saw that we now get this message:

The property 'TableRelation' or the property 'CalcFormula' is required for the field 'No. of Stages' in Table 'blablabla' because the field's property 'FieldClass' is set to 'FlowField'.

Can a FlowField without a CalcFormula ever do anything? What does a TableRelation do on a FlowField, anything? These don't seem to be documented.
If the point about TableRelation is legit, what that can do on its own, or at all - should be documented somewhere we can easily find.
If it's incorrect, that property should not be mentioned in the warning.
Thanks!
Name: AL Language
Id: ms-dynamics-smb.al
Description: AL development tools for Dynamics 365 Business Central
Version: 9.3.646020
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al

We have internally discussed this issue and have decided not to accept this issue to be fixed at the moment to prioritize other issues. Thank you for raising this concern.

Thank you, no big rush from my PoV, just prefer that it get kept open for eventual consideration ;-)


Improved usability of InfluxDBClient.Point if it was a struct

Proposal:
This is related to the suggestion in #69.
If InfluxDBClient.Point was changed to be a struct, the usability of it could be improved.
The properties could be made public. This would be a simpler way to modify the values in the point than using the add... methods, which don't do anything other than silently ignore being passed a nil key.
The existing public init can be updated to have parameters with default values for all the properties of the struct.
Current behavior:
Example from the readme
let recordPoint = InfluxDBClient
	.Point("demo")
.addTag(key: "type", value: "point")
	.addField(key: "value", value: .int(2))

let recordPointDate = InfluxDBClient
	.Point("demo")
	.addTag(key: "type", value: "point-timestamp")
	.addField(key: "value", value: .int(2))
	.time(time: .date(Date()))

Desired behavior:
Public properties allow separating the creation of the point from setting the values. It's not always possible to have all the values at the same time the point is created.
var recordPoint = InfluxDBClient.Point("demo")
recordPoint.tags["type"] = "point"
recordPoint.fields["value"] = .int(2)

var recordPointDate = InfluxDBClient.Point("demo")
recordPoint.tags["type"] = "point"
recordPoint.fields["value"] = .int(2)
recordPoint.time = .date(Date())

Public init showing all the properties available to be set on the type though the one initializer  instead of needing to chain function calls.
let recordPoint = InfluxDBClient.Point(
	"demo",
    tags: ["type": "point"]
    fields: ["value": .int(2)]
)

let recordPointDate = InfluxDBClient.Point(
	"demo"
	tags: ["type": "point"]
    fields: ["value": .int(2)]
	time: .date(Date())

Hi @CraigSiemens,
thanks for your suggestion.
Is this something you would be willing to help with? All PR is welcome and we will be happy to review your submission.
Best Regards


feat: create dib.localplayer.dev

Requirements

[x] You have completed your website.
[x] The website is reachable.
[x] The CNAME record doesn't contain https:// or /.
[x] There is sufficient information at the owner field.

Description

Personal use for test site deployment on the fly.
Link to Website

@WilliamDavidHarrison


iOS build fails "No code signature found" when multiple code signing identities have the same name

I followed this doc manually 'https://flutter.dev/docs/development/ios-project-migration'
So Emulator bug fixed but real device not build.
my error snippet "No code signature not found."
I saw #23068, #24343, and https://stackoverflow.com/questions/38371044/ios-app-testing-app-installation-failed-no-code-signature-found
I tried all of solutions but not solved my problems.
Currently I go back to the beginning.
my flutter doctor -v is
[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E266, locale en-KR)
    • Flutter version 1.12.13+hotfix.9 at /Users/me/Documents/flutter
    • Framework revision f139b11009 (3 days ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/me/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 28.0.3
    • ANDROID_HOME = /Users/me/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4, Build version 11E146
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.43.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1

[✓] Connected device (3 available)
    • SM G930S          • <IP_ADDRESS>:1208                        • android-arm64 • Android 8.0.0 (API 26)
    • iPhone (2)   • 8c31aa273b6603f4b4b70f2c6e2 • ios           • iOS 12.4.5
    • iPhone 11 Pro Max • 44F03B10-DD41-4658-B9D4-7CC57EE46360     • ios           • com.apple.CoreSimulator.SimRuntime.iOS-13-4 (simulator)

• No issues found!

Hi @taz1208
can you please provide your flutter run --verbose
on physical device
Thank you

all of thme? @iapicca
It's finished build but It too long text :(
Then currently physical device work but emulator is not working
If I follow that offical doc. emulator is working but physical device not working

Hi again @taz1208
if it's to long to be pasted in a comment
please attach it as txt file
Thank you

All of that? @iapicca
It's finished build but It too long text :(
Then currently physical device work but emulator is not working
If I follow that offical doc. emulator is working but physical device not working

same issue but my emulator work and physical not working :(

I have this same issue: here's the flutter run --verbose log
LOG.txt

I can't attach flutter run --verbose because security policy of my company,
but It still buggy :( @iapicca

Currently I don't followed doc.
Then emulator log snippet is

Xcode build done.                                           13.0s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Constructing build description
    error: Building for iOS Simulator, but the linked and embedded framework 'App.framework' was built for iOS. (in target 'Runner' from project 'Runner')

I have exactly the same error as @taz1208 .
I have created a new project on Flutter,a nd added some dependancies:

emulator not working
physical device is working

If you follow the migration guide:

emulator is working
physical device is NOT working

Based on

physical Device iPhone 8 updated to iOs 13.4
iOS emultaor iPhone 8 13.4
XCode 11.4
last flutter SDK stable version

 [ !! ] Error 0xe800801c: No code signature found. AMDeviceSecureInstallApplication(0, device, url, options, install_callback, 0) [   +3 ms] Could not install build/ios/iphoneos/Runner.app on 78c0f84a4d79a9af1755ac1081ff2d9916133d39. [        ] Try launching Xcode and selecting "Product > Run" to fix the problem: [        ]   open ios/Runner.xcworkspace

exact same message

I have exactly the same error as @taz1208 .
I have created a new project on Flutter,a nd added some dependancies:

emulator not working
physical device is working

If you follow the migration guide:

emulator is working
physical device is NOT working

Based on

physical Device iPhone 8 updated to iOs 13.4
iOS emultaor iPhone 8 13.4
XCode 11.4
last flutter SDK stable version

 [ !! ] Error 0xe800801c: No code signature found. AMDeviceSecureInstallApplication(0, device, url, options, install_callback, 0) [ +3 ms] Could not install build/ios/iphoneos/Runner.app on 78c0f84a4d79a9af1755ac1081ff2d9916133d39. [ ] Try launching Xcode and selecting "Product > Run" to fix the problem: [ ] open ios/Runner.xcworkspace

I'm getting the same problem. Switching to the beta branch has resolved it.

Hi  all
does switching to beta as suggested by @MO-James solve the issue in your case as well?
Thank you for the logs @DanielZanchi

Hi,
I've just switched to beta branch.
First I had this error on XCodeError: Could not find included file 'Generated.xcconfig' in search paths => resolved with a flutter build ioson VSCode.
Next,I came back to XCode and made a Run... All is Good ! On emulator AND physical device.
Thank you so much @MO-James
Hope we will have soon a fix on stable channel.

I don't solved problem
my log is
flutter channel beta
Switching to flutter channel 'beta'...
git: From https://github.com/flutter/flutter
git:    2294d75bf..d3ed9ec94  beta           -> origin/beta
git:    d14a301e4..727552e5c  dev            -> origin/dev
git:  * [new branch]          flutter-1.17-candidate.2 -> origin/flutter-1.17-candidate.2
git:  * [new branch]          flutter-1.17-candidate.3 -> origin/flutter-1.17-candidate.3
git:  * [new branch]          flutter-1.17-candidate.4 -> origin/flutter-1.17-candidate.4
git:  * [new branch]          flutter-1.17-candidate.5 -> origin/flutter-1.17-candidate.5
git:  * [new branch]          flutter-1.18-candidate.0 -> origin/flutter-1.18-candidate.0
git:  * [new branch]          flutter-1.18-candidate.1 -> origin/flutter-1.18-candidate.1
git:  * [new branch]          flutter-1.18-candidate.2 -> origin/flutter-1.18-candidate.2
git:  * [new branch]          flutter-1.18-candidate.3 -> origin/flutter-1.18-candidate.3
git:    19e7db585..ccb4f737e  master         -> origin/master
git:  * [new tag]             1.17.0-dev.2.0 -> 1.17.0-dev.2.0
git:  * [new tag]             1.17.0-dev.3.1 -> 1.17.0-dev.3.1
git:  * [new tag]             1.17.0-dev.4.0 -> 1.17.0-dev.4.0
git:  * [new tag]             1.17.0-dev.5.0 -> 1.17.0-dev.5.0
git:  * [new tag]             1.18.0-dev.0.0 -> 1.18.0-dev.0.0
git:  * [new tag]             1.18.0-dev.1.0 -> 1.18.0-dev.1.0
git:  * [new tag]             1.18.0-dev.2.0 -> 1.18.0-dev.2.0
git:  * [new tag]             1.17.0-dev.3.0 -> 1.17.0-dev.3.0
git: Switched to a new branch 'beta'
git: Branch 'beta' set up to track remote branch 'beta' from 'origin'.

~/Documents/workspace_flutter/myapp master* 6s
❯ flutter build ios

Building kr.cop.myapp$(BUNDLE_SUFFIX) for device (ios-release)...
Your Xcode project requires migration. See https://flutter.dev/docs/development/ios-project-migration for details.

I can't resolve my problem that way :(
My log is
 flutter channel beta
Switching to flutter channel 'beta'...
git: From https://github.com/flutter/flutter
git:    2294d75bf..d3ed9ec94  beta           -> origin/beta
git:    d14a301e4..727552e5c  dev            -> origin/dev
git:  * [new branch]          flutter-1.17-candidate.2 -> origin/flutter-1.17-candidate.2
git:  * [new branch]          flutter-1.17-candidate.3 -> origin/flutter-1.17-candidate.3
git:  * [new branch]          flutter-1.17-candidate.4 -> origin/flutter-1.17-candidate.4
git:  * [new branch]          flutter-1.17-candidate.5 -> origin/flutter-1.17-candidate.5
git:  * [new branch]          flutter-1.18-candidate.0 -> origin/flutter-1.18-candidate.0
git:  * [new branch]          flutter-1.18-candidate.1 -> origin/flutter-1.18-candidate.1
git:  * [new branch]          flutter-1.18-candidate.2 -> origin/flutter-1.18-candidate.2
git:  * [new branch]          flutter-1.18-candidate.3 -> origin/flutter-1.18-candidate.3
git:    19e7db585..ccb4f737e  master         -> origin/master
git:  * [new tag]             1.17.0-dev.2.0 -> 1.17.0-dev.2.0
git:  * [new tag]             1.17.0-dev.3.1 -> 1.17.0-dev.3.1
git:  * [new tag]             1.17.0-dev.4.0 -> 1.17.0-dev.4.0
git:  * [new tag]             1.17.0-dev.5.0 -> 1.17.0-dev.5.0
git:  * [new tag]             1.18.0-dev.0.0 -> 1.18.0-dev.0.0
git:  * [new tag]             1.18.0-dev.1.0 -> 1.18.0-dev.1.0
git:  * [new tag]             1.18.0-dev.2.0 -> 1.18.0-dev.2.0
git:  * [new tag]             1.17.0-dev.3.0 -> 1.17.0-dev.3.0
git: Switched to a new branch 'beta'
git: Branch 'beta' set up to track remote branch 'beta' from 'origin'.

~/Documents/workspace_flutter/myapp master* 6s
❯ flutter build ios

Building kr.cop.myapp$(BUNDLE_SUFFIX) for device (ios-release)...
Your Xcode project requires migration. See https://flutter.dev/docs/development/ios-project-migration for details.

When I reChange to stable channel
I saw that log on physical device
https://github.com/flutter/flutter/issues/53891#issuecomment-609604584
but  emulator is well work..
I confuse this situation..

Now, I came back first state.

physical device work,
emulator not work,
migration not followed.

beta channel is not solution at my case.

Finally, I found solution in my case

switch beta channel
follow migration manually
flutter clean.

It's well work both of emulator and device.
but when  I change channel stable,  it again problem :(

https://github.com/flutter/flutter/issues/52736#issuecomment-605316364

You should be able to switch between stable and master if your thin phase has:
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" thin

I fixed a bug in https://github.com/flutter/flutter/pull/51453/files#r384290691 (in v1.15.4) where signing wasn't working for me because the script used to guess the signing identifier based on the name, but on my machine the name was ambiguous. I fixed the code to use the identifier instead.

@taz1208 Does the output of security find-identity -p codesigning -v  show multiple code signing identities with the same name, but with different identifiers?  That's the issue I was hitting...

Or @MobiliteDev or @DanielZanchi or @IhwanID or anyone hitting this.

You're right, my mac set several identities @jmagman
It seems that reason of my problem

The fix is in v1.15.4 (currently master, dev, and beta channels) and will be in the next stable.  For now, the workaround is to remove the other code signing identities with the same name.
$ security find-identity -p codesigning -v
  1) E3B0C44298FC1C149AFBF4C8996FB92427AE41E4 "iPhone Developer: YOU (ABC123)"
  2) 5FD924625F6AB16A19CC9807C7C506AE1813490E "iPhone Developer: YOU (ABC123)"
...

Then delete the duplicate:
$ security delete-identity -Z E3B0C44298FC1C149AFBF4C8996FB92427AE41E4

Or @MobiliteDev or @DanielZanchi or @IhwanID or anyone hitting this.

Hi, yes, I have this too

I will delete the duplicate

Your solution worked for me. Thanks!

After remove the other code signing identities with the same name, it works!

@jmagman Thanks! You saved my day! This is the exactly same issue I've had.

https://github.com/flutter/flutter/pull/51453 is now available in latest stable.  Closing.


Run tests in parallel with pytest-xdist

Currently macOS CI job takes twice the time of linux unit tests.
This PR uses pytest-xdist to run unit tests in parallel on macOS CI job.
Interestingly applying the same technique to linux unit tests make the test execution longer.
So the change is only applied to macOS.
macOS 27 mins -> 17 mins 😸
linux 14 mins -> 1 hours 😾

macOS 27 mins -> 17 mins 😸
linux 14 mins -> 1 hours 😾

🙀

thanks

@mthrok the master is failing after this was merged. Is this going to be reverted or fixed at one point?

@mthrok the master is failing after this was merged. Is this going to be reverted or fixed at one point?

macOS tests have other issues too. I plan to look into it later.

I have a PR for cleaning up CI which allows to change the environment configuration for macOS separately in #866


Proposal on Governance, Voting and Zerocoin

I have been thinking of governance for a long while and also the Zerocoin anonymity sets. This is something maybe we can do in 2019.
So it's clear that having 1 Znode = 1 vote is not good since it has a lot of centralization of decision making powers in only whales. This is also compounded with the fact of founder's reward.
Instead I was thinking of using Zerocoin mints to entitle to votes proportionate to the value of the coins minted. The main issue is we don't want to tie the mints together or have people expose themselves so the votes should be cast in a delayed fashion and with dandelion routing would also not expose the voter's IP.
This will solve two problems.

Now everyone with Zcoin can participate not just whales as in the traditional masternode voting system which in most coins is rigged anyway by large dev holdings. Masternode holders cannot bully their way since they won't want to break up their nodes. They have to weigh the power of voting vs owning a masternode making it more egalitarian.
Will incentivize people to keep Zerocoins minted to get voting rights and increase anonymity sets naturally.

We can implement this as a way to do voting but not on funding yet as we don't want to rock the reward economics (but will be done perhaps when founder's reward ends).
Some other ideas to reduce voter apathy is when we do have 'project funding', that if people apply for funding, part of the funding goes to the people who voted but need to figure a way to do this without exposing the owners of the mints.
Appreciate everyone's thoughts on this.

I think the main issue with this is that you cannot tell which mint has been spent or not? Which means someone can remint and spend the same coin several times for multiple votes. Or can a hash of the secret be exposed or some way to prove that the mint has not been spent yet.
Would need @psolstice feedback on this and how it affects anonymity.

General idea is great. One possibility is to create a special kind of spend which then locks the funds until the voting is done (no double-spends here as serials are revealed). By the end of the voting everything is reminted with new serials and goes back to the original owner.
For example when voting owner can presents a public key which is then used to encrypt reminted coin's parameters so only the owner can later reclaim it.
Seems feasible to me.

The mints are still indistinguishable from other mints yes?

I'm talking about regular mints here so yes
for my sheme
Pro:
can be made using few changes to current building blocks of zcoin
Con:
vote is a spend (large, subject to spends/block limit)

Awesome idea @reubenyap!

Masternode holders cannot bully their way since they won't want to break up their nodes. They have to weigh the power of voting vs owning a masternode making it more egalitarian.

Is breaking up a node a huge disincentive for node owners? Let's say that someone proposes to increase the masternode reward by 50% and take away reward from the miners. Wouldn't most masternode owners be incentivized to break up their node and sacrifice a payout to vote, knowing that this sacrificed payout will yield higher ROI in the long run? I guess this could be generalized as: anytime a vote has more expected value than a znode payout + time/effort to break/restart node, it would be economically worthwhile.
I'm trying to offer some solutions to this. Time locking the coins after voting could work, but that would create some weird game theory scenarios.

Ongoing discussion here:
https://forum.zcoin.io/t/zcoin-governance-and-development-past-4-years/26


HTML access is broken when enabling Screen capture protection

Enabling this feature disables HTML client access to the Desktop. This should be known as a limitation when enabling the feature.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 485a190e-fc15-a62c-f35a-79afc69a5616
Version Independent ID: 06d50488-b9e9-054a-2f2e-827fd3f862e0
Content: Azure Virtual Desktop screen capture protection - Azure
Content Source: articles/virtual-desktop/screen-capture-protection.md
Service: virtual-desktop
GitHub Login: @femila
Microsoft Alias: femila

@twrangham
Thanks for your feedback! We will investigate and update as appropriate.

@twrangham
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.

@femila
Can you please check and add your comments on this doc update request as applicable.

Hi, thanks for the feedback. In the prerequisites it lists the clients that are supported and already says that any other clients can't connect, but I've moved the point about unsupported clients to the limitations and known issues list.
#please-close


JSON str (byte) error when saving custom query (py3) [incl FIX]

python 3.4 when saving ticket query ends with error of str expected given bytes.
This is due to the used b64decode which returns byte type.
Fix:
diff --git a/helpdesk/views/staff.py b/helpdesk/views/staff.py
index 510efdb..fcacf26 100644
--- a/helpdesk/views/staff.py
+++ b/helpdesk/views/staff.py
@@ -832,7 +832,7 @@ def ticket_list(request):
         import json
         from helpdesk.lib import b64decode
         try:
-            query_params = json.loads(b64decode(str(saved_query.query)))
+            query_params = json.loads(str(b64decode(str(saved_query.query))))
         except ValueError:
             # Query deserialization failed. (E.g. was a pickled query)
             return HttpResponseRedirect(reverse('helpdesk:list'))
@@ -1129,7 +1129,7 @@ def run_report(request, report):
         import json
         from helpdesk.lib import b64decode
         try:
-            query_params = json.loads(b64decode(str(saved_query.query)))
+            query_params = json.loads(str(b64decode(str(saved_query.query))))
         except:
             return HttpResponseRedirect(reverse('helpdesk:report_index'))

Thanks for the bug report and tracking down the cause too!
It should be used as a test case against reduxionist/issues/multiple/attachments, which I believe has this fixed already and which I hope to have merged here shortly.
Apologies for the inconvenience!

On 3 ธ.ค. 2559, at 21:23, Radek<EMAIL_ADDRESS>wrote:
python 3.4 when saving ticket query ends with error of str expected given bytes.
This is due to the used b64decode which returns byte type.
Fix:
diff --git a/helpdesk/views/staff.py b/helpdesk/views/staff.py
index 510efdb..fcacf26 100644
--- a/helpdesk/views/staff.py
+++ b/helpdesk/views/staff.py
@@ -832,7 +832,7 @@ def ticket_list(request):
import json
from helpdesk.lib import b64decode
try:

       query_params = json.loads(b64decode(str(saved_query.query)))

       query_params = json.loads(str(b64decode(str(saved_query.query))))
   except ValueError:
       # Query deserialization failed. (E.g. was a pickled query)
       return HttpResponseRedirect(reverse('helpdesk:list'))

@@ -1129,7 +1129,7 @@ def run_report(request, report):
import json
from helpdesk.lib import b64decode
try:

       query_params = json.loads(b64decode(str(saved_query.query)))

       query_params = json.loads(str(b64decode(str(saved_query.query))))
   except:
       return HttpResponseRedirect(reverse('helpdesk:report_index'))

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Oops, no I didn't touch custom query so this will be its own patch, thanks again!

On 3 ธ.ค. 2559, at 21:23, Radek<EMAIL_ADDRESS>wrote:
python 3.4 when saving ticket query ends with error of str expected given bytes.
This is due to the used b64decode which returns byte type.
Fix:
diff --git a/helpdesk/views/staff.py b/helpdesk/views/staff.py
index 510efdb..fcacf26 100644
--- a/helpdesk/views/staff.py
+++ b/helpdesk/views/staff.py
@@ -832,7 +832,7 @@ def ticket_list(request):
import json
from helpdesk.lib import b64decode
try:

       query_params = json.loads(b64decode(str(saved_query.query)))

       query_params = json.loads(str(b64decode(str(saved_query.query))))
   except ValueError:
       # Query deserialization failed. (E.g. was a pickled query)
       return HttpResponseRedirect(reverse('helpdesk:list'))

@@ -1129,7 +1129,7 @@ def run_report(request, report):
import json
from helpdesk.lib import b64decode
try:

       query_params = json.loads(b64decode(str(saved_query.query)))

       query_params = json.loads(str(b64decode(str(saved_query.query))))
   except:
       return HttpResponseRedirect(reverse('helpdesk:report_index'))

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

You are welcome. And thanks a lot for the helpdesk app.
Btw, I wondered why it is encoded at all.

It's encoded because RFC1521 requires that binary attachments (PDFs, images, etc.) are base64 encoded in order to transfer them correctly through the 7-bits of SMTP (which was originally designed only for ASCII). However, there's a bug in the mimetype detection of some attachment-handling paths in the current master, and when we can't detect the mime-type of an attachment, we default to application/octet-stream to be safe. If that is the root cause, then I it should indeed be fixed in the branch I mentioned. In any case, first we'll have to add a failing test case and only then can we determine what patching is required... :wink:

On Dec 4, 2559 BE, at 2:14 AM, Radek<EMAIL_ADDRESS>wrote:
You are welcome. And thanks a lot for the helpdesk app.
Btw, I wondered why it is encoded at all.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

It's encoded because RFC1521 requires that binary attachments (PDFs, images, etc.)

The query definition?

Oops, obviously not... Replying from email, not the site, I got my issues confused again due to lack of context; sorry about that!

@radeksvarz in the current release (0.2.3) on Py 3.4, I do not get any errors when saving a custom query. I see that the code has already been modified to use a .decode() on Py3, so I believe it has already been fixed. If you have time, could you double check? Thanks!


Reindex is slower than on regular zcoind

Actual behaviour
Reindex is significantly slower than on regular Zcoind
Desired behaviour
Should match regular Zcoind reindex.

https://github.com/zcoinofficial/zcoin-client/issues/37 related

This is solved in https://github.com/zcoinofficial/zcoin/commit/bca2279fdaabf6b333e44ed20f97a2d1e5ecea9d. Excessive logging is removed, which brings sync to within 5% sync time of bare zcoind on master.


when i use rz in centos8 i got 'Offered', what's the meaning?

Version: 1.0.105
Platform: darwin 19.3.0
Plugins: none

After i chose the file to upload , it print 'Offered',  nothing  happen?
what can i do?

Please capture DevTools console logs at the time of the issue: https://github.com/Eugeny/terminus/wiki/Debug-logs

ths for your  reply so rapid，the console log.

Is this happening locally or over an SSH connection? Please post your lrzsz version and environment vars.

I meet the same question when connect my server over SSH conection.
lrzsz version is 0.12.21-8.

Can you please check if restarting Terminus and having just one tab open allows rz to work?

It is not work :(

Can you please check if restarting Terminus and having just one tab open allows rz to work?

just one table , rz not working, also got Offered.


Position header permalinks in left gutter, w/ responsive breakpoint.

Fixes a small alignment issue on long headers with permalinks.
(screenshots on iPhone 6, screen @ 320px width)
Before:

After:

After (with anchor):

lgtm thanks!


Setup authentication (kumuluzee security)

Since KumuluzEE out of the box supports keyclock authentication this will be best option for initial implementation.
https://github.com/kumuluz/kumuluzee-security


Defining terminologies and data models

Closes #3

In the latest revision, I have added detailed designs of all backend APIs, request/response JSONs, and how to use them. It's  the first step before we create a Swagger document.
This will unblock @udaypydi from creating Program Page (#31), task Details( #32),  login/logout/signup

Updated the API definition based on feedback

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


Improve the timesheet view

Could you, to improve the task detail on the timesheet view :

add a column for tags
color one line on two
reduce the width of the days column: with the three letters textual representation of a day
rename "Current remaining" column to "Remaining"
rename "Current delta" column to "Delta"

Thanks in advance.

done


[BUG/Feature] fix heroku deployment / figure out somewhere to serve app for testing

This ticket will be expanded later. Just placeholder for now.
noticed during dev that our pr review apps are failing to build. We have agreed that we dont need per PR review apps if we have to move fast for a deadline. We do however need a place to serve the app for testing and eventually production.
See this slack thread https://sparkgeo.slack.com/archives/C036D4TLVPT/p1653063247787369
https://devcenter.heroku.com/articles/deploying-nodejs

Fixed by https://github.com/globalmangrovewatch/gmw-users/pull/69


[Data] Convert BU Health File into different line lists

BU Health has made available a file with early case information for many African countries.
Tasks:

For countries that are not on yet available on the repo, create a line list in the CSV format we use.
For countries that are already on the line list, validate.

File https://github.com/dsfsi/covid19africa/blob/master/data/staging/2<IP_ADDRESS>50203-2.xlsx
line list templates https://github.com/dsfsi/covid19africa/tree/master/data/templates
If you are concentrating on a specific country, PLEASE list yourself below to avoid duplication of work

@vukosim I can take some time this morning to write a script for the conversion from the BU data to CSV line lists per country. Can give feedback by 10am to confirm progress.

@anelda Hey thank you.

The country line lists are in https://github.com/anelda/africa_covid - you'll find them in the data/country_line_lists folder.

I used OpenRefine 3.2 and R to clean it up and separate into different files.
The columns that are present in the BU data but not in the line_list templates are all merged into the notes_for_discussion column with column_name=column_value.
If you cast a quick eye over this, I can look at merging with existing data over the weekend or later
If someone else wants to take a stab at merging with existing data, that would be great!
I can create a pull request with all countries' CSVs by making a sub-folder bu-linelists in the data folder https://github.com/dsfsi/covid19africa/tree/master/data if that would make it easier for now. Once the data is merged, we can delete that subfolder again?

Let me know if you find errors or want anything to change.

Fantastic @anelda Will check this afternoon.

@ensoesie Please take a look and if you have some hands at BU who can double-check before we fuse the datasets with the repo.

The data does not seem to have been extracted correctly. For example, all the cases are missing date of confirmation.

The data does not seem to have been extracted correctly. For example, all the cases are missing date of confirmation.

Hi @ensoesie, thanks for checking the data integrity.
There are several columns for dates in the template - the first column is called date and I don't know what date is supposed to go in there. @vukosim maybe you can clarify for people who are putting together linelists what this date column is referring to please?
Later in the file there are date columns called:

date_onset_symptoms
date_admission_hospital
date_confirmation

These columns are completed if the original file contained the data in an obvious way. Some of the info may still be hidden in the notes_for_discussion column.
I've checked a few countries' files and they all contain the data for date of confirmation.

My understanding of it and how I'm using the dates is:

the first date is date the cases are reported by the health departments,
this usually could be same date as the confirmation but not necessarily in
some cases.

the other 3 dates are self explanatory.

the date_confirmation is the date the case was confirmed by testing

You can use data validation tools such as:
https://github.com/great-expectations/great_expectations if your tabular
data contains everything you expect it to our if there's missing data etc.
On Tue, Apr 28, 2020, 12:24 AM Anelda van der Walt<EMAIL_ADDRESS>wrote:

The data does not seem to have been extracted correctly. For example, all
the cases are missing date of confirmation.
Hi @ensoesie https://github.com/ensoesie, thanks for checking the data
integrity.
There are several columns for dates in the template - the first column is
called date and I don't know what date is supposed to go in there.
@vukosim https://github.com/vukosim maybe you can clarify for people
who are putting together linelists what this date column is referring to
please?
Later in the file there are date columns called:

date_onset_symptoms
date_admission_hospital
date_confirmation

These columns are completed if the original file contained the data in an
obvious way. Some of the info may still be hidden in the
notes_for_discussion column.
I've checked a few countries' files and they all contain the data for date
of confirmation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dsfsi/covid19africa/issues/161#issuecomment-620372507,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYLGJXRGFEPHY2OUXZF4RDROZK6FANCNFSM4MPZR3VQ
.

Also, we shouldn't directly merge that data with linelists right now. How about keeping them as separate linelists in different folders so we can allow folks writing analytics scripts and notebooks to load from these multiple sources to merge during analytics time? This will help avoid many conflicts in the linelists

the first date is date the cases are reported by the health departments, this usually could be same date as the confirmation but not necessarily in some cases.

Thanks @esube! So the raw BU data has a column called Date Reported/Confirmed which in your explanation fits with both the date and the date_confirmation columns in the line list template but we wouldn't know which one. I've decided to write all those dates to the date_confirmation column but we can change that. What do you think? It's easy enough to change in the script and upload the new data.
There is a lot of data missing based on the differences between the line list template and the BU data format but I guess what is there can always be updated from other sources. It's a good start?

Also, we shouldn't directly merge that data with linelists right now. How about keeping them as separate linelists in different folders so we can allow folks writing analytics scripts and notebooks to load from these multiple sources to merge during analytics time? This will help avoid many conflicts in the linelists

Maybe it's easy enough to merge while the number of cases is still low for most of the African countries and it will just add a layer of complexity as time goes by? I can take a stab at it before the weekend. It's only 13 countries that will need merging (there are only line lists for 13 at the moment including SA and I don't think we have to update SA as we can get that from the covid19sa repo which is probably the most trustworthy source for SA data at the moment?)

On the other hand, as time goes by, various lists may emerge and maybe it is a good idea for developers to include the option to merge lists as part of their workflow right from the start? I don't know... What do you think?

@esube is correct. If the date of report is not listed, use the date of confirmation.

For countries that currently have no line list, this file could be used to start data collection for those countries.

@anelda there is two ways we can do this:

We can track this data separately as separate line list in different folder. I am trying to restructure the repo to accomodate multiple data sources tracked separately and when matured can be merged. Instead of separate dev branches, I am restructuring the master. I will update today the changes and hopefully that will make it easier to track multiple sources for the line list. As @ensoesie said above, with this approach, we can still start from the BU data if a country doesn't exist in the current line lists.

We can merge the BU data directly to the existing line lists.

My preference is the first.
Re: I am also locally standardizing the column names and adding to the README what each column means. I will update that today and tomorrow

@anelda I have restructured the data folder to make it more intuitive and to start standardizing formats, headers, documentation, etc. Now, there is a folder under data/line_lists/bu_line_lists. You can use that folder to have line lists that may be duplicate with country line lists that exist in data/line_lists/current.

For countries that don't currently have line lists, feel free to move the bu data to the current folder.
See data/time_series/ and data/time_series/africa_cdc for example of redundant information. I am extracting daily reporting of time-series data from Africa CDC Twitter page using the scripts/update.py. Other contributors are also maintaining separate set of time-series they are updating from different sources. Merging these would create a huge mess as one is automatically updated and the others are probably manually updated. Instead, the two sets of time-series lines could be complimentary to each other to fill missing data from one to the other and vice versa. It is terribly easy to load both sets using a python script or notebook and do analysis merging data on the fly in a complementary manner. I strongly believe it is beneficial to keep these separate as data source for analysis to clearly see missing data and fill gaps in a complementary fashion.

However, this is all suggestion, feel free to put the BU data the way you see is more appropriate.

@esube is correct. If the date of report is not listed, use the date of confirmation.

@esube @ensoesie just to confirm what is required here. The BU data contains a single column called Date Reported/Confirmed. There is therefore no way to discriminate between date reported and date confirmed from the original data to have information in both target columns in the template (i.e. date and date_confirmation). Should I copy the same date from the original dataset in the Date Reported/Confirmed column to both the target columns in the template?
If you prefer this, I can update the files this morning and add the line lists here.

@anelda I have restructured the data folder to make it more intuitive and to start standardizing formats, headers, documentation, etc. Now, there is a folder under data/line_lists/bu_line_lists. You can use that folder to have line lists that may be duplicate with country line lists that exist in data/line_lists/current.

Thanks @esube for explaining your workflows and for updating the folder structure. This looks very tidy now and I think new comers to the repo would also find it easy to understand. I will gladly add the BU data to your folder bu_line_list. Shall I add the original Excel file there as well for reference?
I can also add the line lists from this source to the parent line_lists folder where a line list for a country does not yet exist.
I'll wait to hear back from you about my previous question before proceeding.

Yes, please go ahead and do those: populating the bu_line_lists, and
creating new line lists in the parent line_lists folder for countries that
don't currently have linelists.
It will be nice to have the original source file there as well. We can
remove it on the future if not necessary.
Thanks you for doing this!
On Mon, May 4, 2020, 1:09 AM Anelda van der Walt<EMAIL_ADDRESS>wrote:

@anelda https://github.com/anelda I have restructured the data folder
to make it more intuitive and to start standardizing formats, headers,
documentation, etc. Now, there is a folder under
data/line_lists/bu_line_lists. You can use that folder to have line lists
that may be duplicate with country line lists that exist in
data/line_lists/current.
Thanks @esube https://github.com/esube for explaining your workflows
and for updating the folder structure. This looks very tidy now and I think
new comers to the repo would also find it easy to understand. I will gladly
add the BU data to your folder bu_line_list. Shall I add the original
Excel file there as well for reference?
I can also add the line lists from this source to the parent line_lists
folder where a line list for a country does not yet exist.
I'll wait to hear back from you about my previous question before
proceeding.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dsfsi/covid19africa/issues/161#issuecomment-623259842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYLGJWTMOZGDHK4XFFXGBTRPZEZLANCNFSM4MPZR3VQ
.

@esube is correct. If the date of report is not listed, use the date of confirmation.

@esube @ensoesie just to confirm what is required here. The BU data contains a single column called Date Reported/Confirmed. There is therefore no way to discriminate between date reported and date confirmed from the original data to have information in both target columns in the template (i.e. date and date_confirmation). Should I copy the same date from the original dataset in the Date Reported/Confirmed column to both the target columns in the template?

Yes, please. In some linelists, we use the same date for those. So, feel free to copy and fill the two columns in the target with same date.

MVP @anelda. @ensoesie Thank you and do suggest next steps.

Thanks all. Closing this.


[BUG] User with "(╭ರᴥ•́)" character in their are not recognize by the bot.

Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\micha\AppData\Local\Programs\Python\Python35-32\lib\site-packages\discord\client.py", line 283, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "C:\Users\micha\Desktop\MusicBot-develop\musicbot\bot.py", line 709, in on_message
print("[Command] {0.id}/{0.name} ({1})".format(message.author, message_content))
File "C:\Users\micha\AppData\Local\Programs\Python\Python35-32\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 42-46: character maps to

Known issue, this should be fixed in review.


Creating manifest issue

We are attempting to upload a stemcell downloaded from bosh stemcells section onto our director. While doing that, we are following the steps mentioned in bosh and referring to the zookeeper example of the manifest file. Reference link - https://docs.cloudfoundry.org/deploying/common/deploy.html and http://bosh.cloudfoundry.org/docs/uploading-stemcells.html
We are clueless as to how do we make the director aware of the manifest file. Is there any steps to do this as both the links above talk about creating manifest file but actual commands are missing.
After creating the manifest file, when we try to upload stemcell which was downloaded from bosh, it fails.
We get the following error -
Task 90 | 10:57:08 | Update stemcell: Extracting stemcell archive (00:00:04)
Task 90 | 10:57:13 | Update stemcell: Verifying stemcell manifest (00:00:00)
Task 90 | 10:57:28 | Update stemcell: Checking if this stemcell already exists (00:00:00)
Task 90 | 10:57:28 | Update stemcell: Uploading stemcell bosh-vsphere-esxi-ubuntu-trusty-go_agent/3468 to the cloud (00:00:28)
                   L Error: Unknown CPI error 'Unknown' with message 'getaddrinfo: Name or service not known (esx-mcp02.gtci-dev.com:443)' in 'create_stemcell' CPI method
Task 90 | 10:57:56 | Error: Unknown CPI error 'Unknown' with message 'getaddrinfo: Name or service not known (esx-mcp02.gtci-dev.com:443)' in 'create_stemcell' CPI method

Task 90 Started  Fri Oct 13 10:57:08 UTC 2017
Task 90 Finished Fri Oct 13 10:57:56 UTC 2017
Task 90 Duration 00:00:48
Task 90 error

Uploading stemcell file:
  Expected task '90' to succeed but state is 'error'

Any pointers in this would help us out in moving forward.

getaddrinfo: Name or service not known (esx-mcp02.gtci-dev.com:443)

this error indicates that your dns resolution does not work. CPI cannot resolve above domain so that it can upload stemcell.
since this error is not related to this release. ill close this one, but feel free to reach out in https://github.com/cloudfoundry/bosh


Warning in config

I am not sure what minimum version you support but maybe release a version that is at least 1.10. You can then get rid of the warning
warning: use Mix.Config is deprecated. Use the Config module instead
  config/config.exs:1

by changing that line to import Config

I am trying to update the deps and whatnot at the moment: https://github.com/elixir-tesla/tesla/pull/539


Ubuntu Jammy CI

🎉 New feature
Summary

Enable Jammy CI so we can test using the latest tooling.
One downside of doing it this early is that we don't have Jammy packages on https://packages.osrfoundation.org yet, so we have to rely on the upstream version of ign-cmake. Because the upstream package has a different name, that forces us to split the dependencies for Bionic / Focal / Jammy. Once we have libignition-cmake2-dev on our repo, I think we should use that on CI and revert the changes to packages*.apt.
That's to say I'm not convinced it's a good idea to merge this PR now, but I thought I'd open it to start a conversation.
Test it

See CI results.
Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] Added example and/or tutorial
[x] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

already merged in #378


Salmon Vault app file sharing for platforms other than Android

Android (and iOS) provide per app security model which allows us to implement app file sharing via a file provider.
This is an exploratory item for other platforms although very challenging admittedly for Windows where ACL is not as supportive as Android wrt application/process. The idea is to provide file sharing to an arbitrary app selected by the user at the same time prevent access to other apps.
moved from: https://github.com/mku11/Salmon-AES-CTR/issues/5

released for JavaFX and WPF (no MAUI, no JS)


Web component: Link List -  In  iPhone VO there is no role for the mentioned links

Detailed description
On Voiceover iPhone
Issue: Links found in Horizontal, Vertical, End Of Section links found at the first card in (Vertical With Cards): - in iPhone VO there is no role for the mentioned links
Note: in react staging screen reader is identifying the role link.
Expected - Screen reader should identify the role for the mentioned links.
Additional information

@Praveen-sr
Could you please give us a little more info about this?
Doesn't VO mention the listitem role?

@RaphaelAmadeu Here the mentioned links are announced only as text. The "link" role is not announced.
Hence the user would not know that these are interactive elements.
Expected behavior: VO should announce these as links instead of only announcing as "text".

@Praveen-sr Could your team re-test this issue at: http://ibmdotcom-web-components-canary.mybluemix.net/iframe.html?id=components-link-list--vertical
Out investigation shows that the latest code has the right a11y tree and works well with Safari VoiceOver. The VoiceOver one in below screenshot is of desktop, but I see mobile Safari has the same result. Thanks!


updated variable names related to watsonx project

Description

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

:tada: This PR is included in version 0.4.4 :tada:
The release is available on:

GitHub release
v0.4.4

Your semantic-release bot :package::rocket:


Add reusable workflow to check that email used in history is @inspection.gc.ca

There are, for example, personal emails (such as @gmail.com) emails in the commit history of this repo.
We want to enforce the professional email to be used by employees when committing to ai-cfia while allowing external contributors.
TODO

update environment setup documentation to ensure developers properly set their development environment and github account for web editing
Add reusable workflow to check that email used in history is @inspection.gc.ca (or from a whitelisted set of users) and fails the pull request if new commits are without the professional address.

more information
Setting a corporate email per organization has been a long standing feature request:
https://github.com/todogroup/gh-issues/issues/32

Do we want the user to create a new pull request with appropriate commits ? or should we not go with pre commit hooks that validates user email prior to applying a commit ? something like https://gist.github.com/hartfordfive/20b2245ab1f04aca4ecad28416919ffc


[Firestore] Snippet for writing a Document Converter that ignores null values.

Although it doesn't fully addresses #3705 it might help.

Agree with closing this PR, its main purpose was to show the sample (and prove it worked). It will still be referenced by the issue so anyone landing there can see this code. Will address your comments and close afterwards.

The PR will still exist being closed, but the code itself won't be present unless you keep your branch around... which I guess you could do for a while, and then delete it if things change.


first attempt at using docusorus

Most settings were copied and adapted from https://github.com/fd4s/fs2-kafka

@cquiroz Thanks but I broke the ci-release this time ...


Arabic/Indic numerals

this PR to solve #40

I’ve committed a couple fixes and cleanups to your pull request. Can you please add some tests to verify the proposed functionality?

@mbostock, Did you see my last commit ? ... waiting your comments.


Exchange.getBuyAndSellBuckets equivalent?

The old Exchange Contracts had a getBuyAndSellBuckets view method.
when minReceiveAmount of the token was 0, we had been using this to give warnings if a trade/swap would significantly move the price (see code block below).
function checkNotDangerousExchange() {
  const chainRate = buckets[1].dividedBy(buckets[0])
    let warningMessage
    // XX% difference between rates
    if (Math.abs(oracleMedianRate.dividedBy(chainRate).toNumber() - 1) > deppegedPricePercentage) {
      const warningDeppegedPrice = `Warning ${stableTokenInfo.symbol} price here (i.e. on-chain) is depegged by >${deppegedPricePercentage}% from the oracle prices (i.e. exchange prices).`
      warningMessage = warningDeppegedPrice
    }

    // X% of the bucket
    const bucket = buyBucket ? buckets[1] : buckets[0]
    if (bucket.dividedBy(100 / largeOrderPercentage).isLessThanOrEqualTo(amount)) {
      const warningLargeOrder =
        'Warning you are executing a large order, risk of price slippage i.e. getting an unfavorable exchange rate.'
      warningMessage = warningMessage ? `${warningMessage} ${warningLargeOrder}` : warningLargeOrder
    }

  }

The questions

Is there an equivalent method on Broker or way you would handle something similar.

since with mentoSDK im fetching a quoted minAmountOut, do i suspect i dont even need to worry about "dangerous" swaps

@aaronmgdr There's no way of fetching the bucket sizes at the moment via the SDK but one way you could achieve a similar slippage check is by calculating the effective price based on the quote from getAmountOut and then comparing that to oracleMedianRate in the same way you are currently doing. I think in that way you probably wouldn't need the second check on X% of the bucket since any potential slippage due to that will be reflected in the first check.
Also it's important for you to set the minAmountOut parameter anyways after getting a quote since otherwise the trade can be frontrun. By looking at the command in the CLI it seems that if people don't provide --forAtLeast it would probably be due to not knowing the exchange rate rather than wanting to force a trade at any execution price.

thanks for the reply!

Closing as inactive.


Update dmlc-core, to fix partitioned file loading

Updating dmlc-core brings the following benefits:

Fix a bug in reading partitioned data files in distributed environment (dmlc/dmlc-core#452)
Add OMPException class: can be used to wrap OpenMP loops, so that exceptions don't crash whole program (dmlc/dmlc-core#445)
Handle error for S3 list (dmlc/dmlc-core#439)

@htgeis


bug(form-field): floating label conflicts with outline when initially hidden

Bug, feature request, or proposal:
Bug
What is the expected behavior?
The form field outline shouldn't overlap with the floating label.
What is the current behavior?
Form field outline is overlapping floating label
What are the steps to reproduce?
https://stackblitz.com/edit/angular-cvq3kq-dwic6p
What is the use-case or motivation for changing an existing behavior?
bug
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: 6.1.3
Material: 6.4.5
Is there anything else we should know?
Maybe related: https://github.com/angular/material2/issues/11919 although the label and input value is defined in my example it's just the container that is hidden initially. Thanks for taking a look.

Closing as we do not support the hidden attribute, css styling or *ngIf should be used instead.

@josephperrott Thanks for the feedback.


GoogleSignInAccount' 'getIdToken()' always return error message 'com.google.android.gms.common.api.ApiException: 10'

Device: Any
OS version: Any
SDK version: Any
[Android] Google Play Services version: Any

Using Class 'GoogleSignInAccount' with Method 'getIdToken()' always return the following Error Message 'com.google.android.gms.common.api.ApiException: 10' also, checking Method 'onActivityResult' I receive 'resultCode = 0'
This issue appeared after July 2 2019. Before this date, everything worked smooth.
Tried different ways to avoid this issues, however, no luck:

Tried to use different package names.

Tried to use different fingerprints in Release and Debug mode.

Also, tried to use different Google Developer Accounts.

No matter what I try to do, always receive the same error message
Please let me know if someone experienced this issue and know a solution

I also have this issue always:
handleSignInResult: com.google.android.gms.common.api.ApiException: 10:
I added SHA1, package name to Google Console
I use one gmail account for firebase and another gmail account in Google Console, is it issue?

Checkout #360

@shakram02
Thanks, but i checked it before comment.
@colodinalexandru: have you resolved it ?

Hi, @antranvn. No , I not rezolved it with standar login , try to use firebase

It means you can login google by firebase ?

Yes, sir , with firebase google login works, without firebase is not working.

Hi Folks, i have same problem, but i solved it with #360 , you must use android studio to ganerate the SHA-1 hash

I am having the same problem.  #360 did not solve it for me.  The SignInActivity and SignInActivityWithDrive work, and when I run SignInActivityWithDrive I get the oAuth consent screen I set up for the project associated with the credentials I created in the developer console, so I think I've set that up with the right SHA-1 and package.  I get the exception running IdTokenActivity. I have copied the client id directly out of the developer console and pasted it into my strings.xlm in my project.  It is resolving correctly when I look at it in the debugger.  I am not using Firebase.


Project management

Add more definitions to Project management (Project CRUD)
Add timesheet system? (More details #19)

The timesheet module is in progress in the issue #29

For the more definitions to Project management, I think it would be great for a more advanced version of this application (for example an entreprise version, or if there will be some good ideas they will be implemented as other issues)