Fatal error in older wp version.

Hello,
I've been facing various memory exhausted errors in older version of wp while using wp-cli.
It occurs just by using wp help command.
So far I've had the bug with a 2.9 and a 3.2.1 release.
Here are the stack traces:
2.9:
PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 311296 bytes) in /home/xxxx/xxxxx/wp-cli/src/php/wp-cli/commands/internals/export.php on line 454
PHP Stack trace:
PHP   1. {main}() /home/xxxx/xxxxxx/wp-cli/src/php/wp-cli/wp-cli.php:0
3.2.1:
PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 39 bytes) in /home/xxxxx/www/xxxxxxx/wp-includes/pomo/mo.php on line 172
PHP Stack trace:
PHP   1. {main}() /home/xxxx/xxxxx/wp-cli/src/php/wp-cli/wp-cli.php:0
PHP   2. require_once() /home/xxxx/xxxxx/wp-cli/src/php/wp-cli/wp-cli.php:69
PHP   3. require_once() /home/xxxxx/www/xxxxxxx/wp-load.php:29
PHP   4. require_once() /home/xxxxx/www/xxxxxxx/wp-config.php:93
PHP   5. do_action() /home/xxxxx/www/xxxxxxx/wp-settings.php:302
PHP   6. call_user_func_array() /home/xxxxx/www/xxxxxxx/wp-includes/plugin.php:405
PHP   7. RGForms::init() /home/xxxxx/www/xxxxxxx/wp-includes/plugin.php:405
PHP   8. load_plugin_textdomain() /home/xxxxx/www/xxxxxxx/wp-content/plugins/gravityforms/gravityforms.php:85
PHP   9. load_textdomain() /home/xxxxx/www/xxxxxxx/wp-includes/l10n.php:416
PHP  10. MO->import_from_file() /home/xxxxx/www/xxxxxxx/wp-includes/l10n.php:337
PHP  11. MO->import_from_reader() /home/xxxxx/www/xxxxxxx/wp-includes/pomo/mo.php:27
PHP  12. unpack() /home/xxxxx/www/xxxxxxx/wp-includes/pomo/mo.php:172
I'm runing ubuntu with latest deb packages of php5.
Let me know if you need any more details.

Are you trying to do something with the pomo (language) files?

Nothing special AFAIK.

I've encountered out-of-memory errors too with some installs. I don't think they're related to language files specifically.

But are they related to wp-cli?

In my case at least, the wordpress instance behaves perfectly fine in regular usage.

But are they related to wp-cli?

Yes, since they don't happen when I use the wp-admin interface.

This might be related to the issue in #73.


org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.

Hello,
I am using eclipse tool with selenium java, while I am running the code I am getting this issue and the chrome driver is correct.But i am not understanding how to solve this issue.

@Anand9177 are you using Selenoid at all with your code? So far as I can see on the screenshot Chrome is being launched locally whereas Selenoid is launching browsers in container.


Conda Cross-Section Needs Pillow

The conda build script doesn't include the Pillow dependency by default. When the cross-sections are very big, Pillow appears to be needed, as evidenced by the error below:
Traceback (most recent call last):
File "/Users/davidgil/anaconda/envs/ucvm-17.3.0/lib/python3.5/site-packages/mpl_toolkits/basemap/init.py", line 4044, in warpimage
from PIL import Image
ImportError: No module named 'PIL'

Pillow added to requirements list. Fixed and closed.


FormField and Checkbox labelAlign prop inconsistency

Both FormField and Checkbox have a labelAlign prop, but they do very different things and could use some disambiguation.
On FormField labelAlign is used for the text alignment, while on Checkbox it is used to determine which side of the checkbox input control the label will appear.
We might consider change one or both of the these props to make their effects more clear.
labelTextAlign on FormField?
labelSide on Checkbox?

Looks like we have this issue for SwitchInput/RadioInput as well.
I like adding 'labelSide' and deprecating/removing 'labelAlign' for the controls.

👍   Proposed labelSide prop more clear to me for sure.  This one always gets me, for some reason.
Potential complication - both props could have a valid meaning for the checkbox/switch use cases, eh?
TheLabel        [ ]  // ls:left, la:left
       TheLabel [ ]  // ls:left, la:right
[ ] TheLabel         // ls:right, la:left
[ ]        TheLabel  // ls:right, la:right

🤔🤔🤔

Maybe an argument for going with labelTextAlign as well, as verbose as that prop name is.
Thinking some more, it might be this exact issue that's confused me in the past, where I wanted to set the textAlign for a checkbox label, but unintentionally switched the side.


Mkdir errors parallel testing

In my parallel testing scenario (which could also potentially occur in production mode)
yii\base\Exception: Failed to create directory 'T:\wc6dev_test\assets\e87a0c9b\css': mkdir(): File exists

FileHelper::createDirectory can throw an error when it tries to create a folder which already exists.
https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseFileHelper.php#L465
What happens:

it checks for a directory
if not exist, it will try to create
but when it is created in parallel already, it would throw an error.

The solution for this, is to re-check folder existance when an exception has occurred. If the folder is already created, throwing an error is not required anymore.

I am still getting this error every day when I start my parallel testing enviroment

ArticleCest::update()
yii\base\Exception: Failed to create directory 'T:/lw5dev_test/runtime/cache': mkdir(): File exists
E:\xampp\htdocs\dmn\lw\5\dev\vendor\yiisoft\yii2\caching\FileCache.php:80
E:\xampp\htdocs\dmn\lw\5\dev\vendor\yiisoft\yii2\base\Object.php:107
E:\xampp\htdocs\dmn\lw\5\dev\vendor\yiisoft\yii2\di\Container.php:366

@coredevelopers, can you please look at this:
In BaseFileHelper::createDirectory():

an error is thrown for mkdir <--> when a folder already exists (when its just created in another request/thread)

Although this is logical from a sequential perspective in BaseFileHelper::createDirectory(), it isnt logical in itself and errors apply in practice. Usecases:

testserver: parallel testing
production: many requests at the same time (not tested, but assumed)

try {
            $result = mkdir($path, $mode);
            chmod($path, $mode);
        } catch (\Exception $e) {
            throw new \yii\base\Exception("Failed to create directory '$path': " . $e->getMessage(), $e->getCode(), $e);
        }

I think such behavior would be handy. I can't imagine a good use case when it won't fit. @yiisoft/core-developers thoughts?

I am unsure this is correct way.
Error handling is created in the way in converts error into exceptions allow handling the problem.
The main concern is directory craetion is not the only thing, which may break during parallel execution.
For example FileHelper::copyDirectory() or FileHelper::removeDirectory() may also cause similar error in parallel execution.
I assume this issue is about asset pubishing. We already have similar request at #3214, which is about mutex usage.
Still, the fix can be made, but it should be considered carefully.

Four solutions to choose from:
fix it in createDirectory with a is_dir
fix it in createDirectory with a @mkdir
fix it with a central mkdir function
fix it with mutex locks (if possible)
In Filehelper, I see this mkdir occurring only once. In a lot of Yii Framework files, I see the usage of @mkdir.
I would choose from solution 1:

It isnt that important to give a own function like in 3
Its important enough to not ignore other mkdir errors (like permission errors)
It wouldnt have to be that complex to go for locking.

The way I see it, is that the mkdir fuction of PHP is incomplete as it doesnt have an option to ignore the 'dir exists' option.

Yes. It's the best solution from what you've proposed. But I still wonder if there are cases when you need that error or want custom handling for it.

But I still wonder if there are cases when you need that error or want custom handling for it.

Unlikely. The result method should look like following:
public static function createDirectory($path, $mode = 0775, $recursive = true)
    {
        if (is_dir($path)) {
            return true;
        }
        $parentDir = dirname($path);
        if ($recursive && !is_dir($parentDir)) {
            static::createDirectory($parentDir, $mode, true);
        }
        try {
            $result = mkdir($path, $mode);
        } catch (\Exception $e) {
            if (!is_dir($path)) {
                throw new \yii\base\Exception("Failed to create directory '$path': " . $e->getMessage(), $e->getCode(), $e);
            }
        }
        try {
            chmod($path, $mode);
        } catch (\Exception $e) {
            throw new \yii\base\Exception("Failed to create directory '$path': " . $e->getMessage(), $e->getCode(), $e);
        }

        return $result;
    }

The idea is: if there is a error while creating a directory and directory exists in result - it is not error at all.

@klimov-paul: from a logical point of view I would separate these two. Two remarks:

you are returning a false $result in your example when the dirs exists
the chmod exceptions deserves its own message  'Failed to chmod'

What if it exists but not chmodded correctly?

you are returning a false $result in your example when the dirs exists
chmod exceptions deserves its own message 'Failed to chmod'

Sure: I have edited code above.

The return could be simplyfied, as the $result of the mkdir function is no rocket science, its just a boolean http://php.net/manual/en/function.mkdir.php
I would choose for:
public static function createDirectory($path, $mode = 0775, $recursive = true)
    {
        if (is_dir($path)) {
            return true;
        }
        $parentDir = dirname($path);
        if ($recursive && !is_dir($parentDir)) {
            static::createDirectory($parentDir, $mode, true);
        }
        try {
            mkdir($path, $mode);
        } catch (\Exception $e) {
            if (!is_dir($path)) {
                throw new \yii\base\Exception("Failed to create directory '$path': " . $e->getMessage(), $e->getCode(), $e);
            }
        }
        try {
            chmod($path, $mode);
        } catch (\Exception $e) {
            throw new \yii\base\Exception("Failed to change permissions for directory '$path': " . $e->getMessage(), $e->getCode(), $e);
        }

        return true;
    }

still this function confuses me, ie:

why Chmod a function when $result is false.

Taken into account of that:

its no use to chmod in case of a returning false of mkdir
exceptions can occur for chmod due to parallel activities

wouldnt this version suffice:
    public static function createDirectory($path, $mode = 0775, $recursive = true)
    {
        if (is_dir($path)) {
            return true;
        }
        $parentDir = dirname($path);
        if ($recursive && !is_dir($parentDir)) {
            static::createDirectory($parentDir, $mode, true);
        }
        try {
            if(!mkdir($path, $mode)){
                return false;
            }
        } catch (\Exception $e) {
            if (!is_dir($path)) {
                throw new \yii\base\Exception("Failed to create directory '$path': " . $e->getMessage(), $e->getCode(), $e);
            }
        }
        try {
            return chmod($path, $mode);
        } catch (\Exception $e) {
            throw new \yii\base\Exception("Failed to change permissions for directory '$path': " . $e->getMessage(), $e->getCode(), $e);
        }

    }

this last version looks ok to me. Should I create a PR? (I would love to get rid of these mkdir errors)

Yes.

Merged: https://github.com/yiisoft/yii2/commit/4d21c48bc42a3ada4ec40e645de9f58a42f598f7
Thanks!

I am also experiencing this problem in my development system. I am running Yii 2.0.6. Has this been resolved? It's hard to tell from reading these comments. Alternatively, is there a workaround for now?

Yes, it was resolved. If you have an issue, report separately with details.

@doublehops it will be resolved in 2.0.7 which is not yet released.

Hi guys!
I am having a same problem on my mac (yosemite):
It throws an exception of  "Failed to create directory "/xxxx": mkdir(): Permission denied"
public static function createDirectory($path, $mode = 0775, $recursive = true)
{
echo("");
echo("Path: " . $path);
echo("");
if (is_dir($path)) {
return true;
}
$parentDir = dirname($path);
echo("Parent Dir: " . $parentDir);
// recurse if parent dir does not exist and we are not at the root of the file system.
if ($recursive && !is_dir($parentDir) && $parentDir !== $path) {
static::createDirectory($parentDir, $mode, true);
}
try {
if (!mkdir($path, $mode)) {
return false;
}
} catch (\Exception $e) {
if (!is_dir($path)) {// https://github.com/yiisoft/yii2/issues/9288
throw new \yii\base\Exception("Failed to create directory "$path": " . $e->getMessage(), $e->getCode(), $e);
}
}
try {
return chmod($path, $mode);
} catch (\Exception $e) {
throw new \yii\base\Exception("Failed to change permissions for directory "$path": " . $e->getMessage(), $e->getCode(), $e);
}
}

It is related to permissions in your FS. RTFM, please: http://linuxcommand.org/lts0070.php

Yeap but what im not figuring out is:
My web app is in webroot/A/B but this .php script creating a folder in system root folder ( / ).

Please, create a separate issue.


Communications

Event announcement in social media
CFP announcement
Atendees
Speakers
Sponsors

All content of social media posts created here:
https://www.notion.so/galileos-paradox/PyLadiesCon-Social-Media-Planning-c4a865d8cb714e618a4e220d3ed4c39d?pvs=4
All blog post content created here:
https://drive.google.com/drive/folders/1AV0MIFECapFwnsvCOmQvSNjdYh8FKQ6-?usp=drive_link


Calculate string

Hi,
How can I make calculate number from string. Number = some_function("(3+2)*2") and returns 10. Must I use loop and calculate string by parts? Or what function I must use.
Regrads

These kind of questions should be asked on the wiremod discord or reddit, you can find a link to them at http://wiremod.com/.
As a short answer, you can't. You could try to use the remote upload extension to upload that string to an E2 and have it send back the answer. Another possible way would be to create a full on calculator within E2. To go further in detail go to either of the places I listed above.


Fix cds datasource

Description
Changes wrong values on aggregate columns for rows with state value but no value on state, now region column.
Add tests for dataset validator.
Fix open issue with the validator.
Fixes #41 Fixes #44
Checklist:

[x] I have read the CONTRIBUTING GUIDE and made sure this Pull Request is compliant with it.
[x] I have read the DATA MODEL and DATA SOURCES and made sure this Pull Request is compliant with it.
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] 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
[x] Any dependent changes have been merged and published in downstream modules

In main.py the argument of the function should be country="Italy". As it is currently, it returns an empty dataset.


YOLOv5 Real Time Detection With OpenVINO

Hi,
I've recently started using YOLOv5 and I have been trying to perform real time object detection using OpenVINO on a Movidius Neural Compute Stick 2.
For practice I've used the YOLOv5 tutorial.ipynb to train a custom dataset on the coco128 dataset. I've tried running this model on the YOLOv5 detect.py program and it seems to work perfectly (https://github.com/ultralytics/yolov5).
I then export the model to OpenVINO format which succeeds. The main issue appears when I try and run real time object detection with OpenVINO. I am using a sample OpenVINO notebook to initiate the detection (https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/401-object-detection-webcam). This sample program uses the ssdlite_mobilenet_v2 model which has an input of (B, H, W, C) and an output of (1, 1, 100, 7). The custom model I have trained using the YOLOv5 tutorial.ipynb has an input of (B, C, H, W) and an output of (1, 25200, 85).
I was wondering if there is any way for me to edit the object detection webcam program to accept a similar input and output as to what is produced by YOLOv5 trained models.
Thank you.

Shall we create a new notebook just for YOLO?

@ConorHackett98 we have a notebook under development for YOLOv5 quantization. It is passing CI, but some minor changes may be implemented before it gets merged to the main branch. Take a look at this PR: https://github.com/openvinotoolkit/openvino_notebooks/pull/589
Link to the notebook: https://github.com/openvinotoolkit/openvino_notebooks/blob/f8fc9f8d33c24a69347becea70b5e9df9e33cdf3/notebooks/219-pytorch-object-detection-accuracy-check-and-quantization/219-pytorch-object-detection-accuracy-check-and-quantization.ipynb

YOLOv5 notebook has been already merged and it's available here: https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/220-yolov5-accuracy-check-and-quantization


Support for LLama2 model using HF tokenizers [Feature]

Motivation
Hello everyone! I found some Llama2 models using the FastTokenizer provided by the Hugging Face tokenizers library, not the SentencePiece package used by regular Llama models. For instance, beomi/llama-2-ko-7b. Since the conversion to TurboMind's format requires tokenizer.model, can you please add support for Hugging Face tokenizers as well? I tried manually converting the tokenizer.json file to tokenizer.model and running it, but I didn't achieve good results.
Thank you!
Related resources
https://huggingface.co/beomi/llama-2-ko-7b
Additional context
No response

Yes. Turbomind support both SentencePiece and hf transformers tokenizer. You can refer to lmdeploy/tokenizer.py for detailed info.

Hi @lvhan028! Thank you for your response. It was useful. After trying with different combinations of the model_name and model_format, I succesfully converted into turbomind format. But it required me manually edit this file lmdeploy/serve/turbomind/deploy.py specifically this line vocab_size, bos_id, eos_id = tokenizer_info(tokenizer_path) as shown in the logs below:
I got this when executing this command:
python -m lmdeploy.serve.turbomind.deploy llama2 ./llama-2-ko-7b --model_format hf --tokenizer_path ./llama-2-ko-7b/tokenizer.json

Traceback (most recent call last):
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/lmdeploy/serve/turbomind/deploy.py", line 1046, in <module>
    fire.Fire(main)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/fire/core.py", line 475, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/lmdeploy/serve/turbomind/deploy.py", line 1010, in main
    res = deploy_hf(model_name, model_path, tokenizer_path,
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/lmdeploy/serve/turbomind/deploy.py", line 564, in deploy_hf
    return export(model_name,
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/lmdeploy/serve/turbomind/deploy.py", line 236, in export
    vocab_size, bos_id, eos_id = tokenizer_info(tokenizer_path)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/lmdeploy/serve/turbomind/deploy.py", line 97, in tokenizer_info_sp
    sp_model = SentencePieceProcessor(model_file=model_path)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/sentencepiece/__init__.py", line 447, in Init
    self.Load(model_file=model_file, model_proto=model_proto)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/sentencepiece/__init__.py", line 905, in Load
    return self.LoadFromFile(model_file)
  File "/home/bibekyess/miniconda3/envs/final_test/lib/python3.10/site-packages/sentencepiece/__init__.py", line 310, in LoadFromFile
    return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg)
RuntimeError: Internal: src/sentencepiece_processor.cc(1101) [model_proto->ParseFromArray(serialized.data(), serialized.size())]

Thank you! :)

Hi, @bibekyess
Sorry for the late reply.
--tokenizer-path means the path of tokenizer model, not the path of tokenizer.json
If llama-2-ko-7b uses llama2's tokenizer model, please pass the tokenizer model's path to deploy.py:
python -m lmdeploy.serve.turbomind.deploy llama2 ./llama-2-ko-7b --model_format hf --tokenizer_path /the/path/to/llama2/tokenizer/model


Clarify Indexer MAX_FILE_SIZE (#3469)

Backport of #3469

Tried force push but still fails on tests (not related to the change).

@cez81 something has broke in 1.4 branch tests that is already merged :(

Make LG-TM work

@lafriks This is good to go now :)


No COM showing up in ESP8266Flasher

Hello
I'm trying to flash but no COM is showing up in the app.
here's what I've done :

I've tried changing USB cable (half a dozen, i didnt know I had so many sigh)
I've installed the following drivers for my Windows 10, https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
In Windows it is showing up has COM 4
In the Arduino IDE I can see the COM 4 but not in ESP8266Flasher

Can you help with the issue? Any tips on how to flash?
thanks for the help

Same experience: No selectable Com port..

Looks like it works if you actually type COM4 in the select box.. (NO gap)
Hope this helps. Its a nice tool otherwise!

and you have to physically press reset on the board afterwards.. --


Updated the performance metric (translation/sec)

Previously, the translation/sec metric displayed the number of sentences translated per second but now the tranlsation/sec metric is modified to show number of tokens translated/sec.

will be good to get this into release/2.17.0 to represent NMT performance numbers correctly


[Feature] Add Arm64 binary  release support

Could you add release arm64 arch binary file ？
thank you

sure, was linux/arm64 enough?

sure, was linux/arm64 enough?

please help to try, don't care about the version, I randomly tag it, it follows the master branch now. https://github.com/wonderflow/kubevela/releases/tag/v0.1.16

please help to try, don't care about the version, I randomly tag it, it follows the master branch now. https://github.com/wonderflow/kubevela/releases/tag/v0.1.16

It seems currently the gox don't support build arm64 https://github.com/mitchellh/gox/issues/92 and our release pipeline broken: https://github.com/oam-dev/kubevela/runs/2019563379?check_suite_focus=true

Hope someone good at compling for Arm64 can help.

supported after v1.2.0 https://github.com/oam-dev/kubevela/releases/tag/v1.2.0-rc.2


Cache the results of the generated flutter rust bridge

With https://github.com/itchysats/10101/pull/78 we removed the generated code from the git repository and added a quick fix to generate the flutter rust bridge code in every step where needed.
It would be nice (and faster) if we could cache that bit.

apart from results, we might want to cache the command itself:
cargo install flutter_rust_bridge (this one takes the most time, especially on macos).
AFAICT rust-actions doesn't cache binaries, but there should be ways around it.


add custom template url support

Only tested with bitbucket URL's as of now

Why not just set a url variable and test it for -z rather than  mucking about with custom_url?

No reason. That would be a more elegant solution.

Also, turns out that running make manifest later fails, as it checks the index...which knows nothing about the custom template.

Also, also, turns out that @fearoffish likes to confuse issues, and the index problem he was running into was unrelated. ^_^

Also, also, also, turns out @jhunt is correct. Make sure you don't have 'track' as your version in the release you're using if it isn't in the index.

Waiting on new commits before merging.


exprot to onnx error

RuntimeError: output 1 (6.94717
[ CPUDoubleType{} ]) of traced region did not have observable data dependence with trace inputs; this probably indicates your program cannot be understood by the tracer.

sorry，i slove it，but i get new problom

torch.onnx.errors.UnsupportedOperatorError: Exporting the operator 'aten::lift_fresh' to ONNX opset version 17 is not supported. Please feel free to request support or submit a pull request on PyTorch GitHub: https://github.com/pytorch/pytorch/issues.


Unable to use Leather swap feature for STX to WELSH

An issue is preventing swapping STX to Welsh using Leather swap feature, while other swaps seem to work fine.

Workaround for now is that users can use https://app.alexlab.co to create the swap instead.

@DeeList any error shown in the console here?

I noticed that Welsh <-> ALEX does work.
For some reason, the routed swaps do not work. The swap is expected to route it for the user STX to ALEX first and then ALEX to Welsh because that is how tokens are paired in liquidity pools.
Is this something can be fixed on our end or is this something on the end of the swapprovider?
This issue is reproducible.
Try STX to Welsh or Welsh to STX and it doesn't calculate an amount.
Try ALEX to Welsh or the other way around and it does.

@DeeList any error shown in the console here?

@markmhendrickson Yes, added screenshot.

This is from Kyle

We have found the issue and published a new version of our SDK.
v0.1.26
https://github.com/alexgo-io/alex-sdk/commit/b350caae7154618242b85cd47519a72fcf041e2b
Please help upgrade to the latest sdk version.


mission: fix potential segfault

I have seen a segfault happen in current_mission_item() and this is the only thing that potentially could have caused it, I think.

Hello,
Not sure if related...
I am seeing a segfault which has to be in these three lines:
System& uav = mavlink.system();
auto telemetry = std::make_shared(uav);
auto action = std::make_shared(uav);
It has to be in these lines because i have no other mavlink lines in my code. I'm not sure whats going on in the background to cause this.
Any help appreciated.
Thanks,

I think this is unrelated. Can you open a new issue with that, and specify which version of MAVSDK you are using?


Adds long compression methods

This PR introduces a few new compression strategies for long values that are not block based (described in #3147).  The enum CompressionFormat is added to control the compression procedure, which could call GenericIndexed for block based compression.
The compression format added include delta compression, table compression, and a new uncompressed format. Delta compression finds the smallest value in the segment, and store all values as offsets. Table compression maps unique values and store their id. The offsets and ids are stored by using the smallest number of bits required for the maximum values. For example, if the maximum offset is 200, then all values are stored using 8 bits. The new uncompressed format is the uncompressed format without the header for position of each block and empty bytes at beginning of each block.
Update
After some discussion in #3147 , it's decided that compression strategy, which compress and decompress blocks of data without knowing the data format, and encoding format, which encode data using knowledge of its attributes such as size of each element, should be separated. Users would choose the combination of compression and encoding to use.
The existing compressions including LZF, LZ4, and Uncompressed all count as compression strategy. In addition, this PR included the compression NONE, which indicate no compression strategy should be used, and the values should be stored all together instead of in blocks, since this would allow faster random access. The LZF and Uncompressed strategy are still needed for backward compatibility, but they shouldn't be used for new data.
The encoding format introduced in this PR are Delta, Table, and Longs. Delta and table are described above, while Longs just indicated values are stored as 8 byte longs. Segments created prior to this PR are viewed as compression strategy used + Longs encoding. The strategy for choosing the encoding are auto and longs. Auto strategy scans through the data for its cardinality and maximum offset, and choose the most appropriate format. Longs strategy just always choose longs format.
Below is a benchmark of combinations of all compression strategies and encoding strategies using some generated data sets.
Data sets includes:

enumerated (value from only a few selections, with probability heavily skewed toward one)
zipfLow (zipf distribution between 0 to 1000 with low exponent)
zipfHigh (zipf distribution between 0 to 1000 with high exponent)
uniform (uniform distribution between 0 to 1000)
sequential (sequential values starting from a timestamp)

Generated files size in kb (5,000,000 values)
zipfLow-LZ4-DELTA: 6870
zipfLow-LZ4-LONGS: 9495
zipfLow-NONE-DELTA: 7324
zipfLow-NONE-LONGS: 39062
uniform-LZ4-DELTA: 7354
uniform-LZ4-LONGS: 11184
uniform-NONE-DELTA: 7324
uniform-NONE-LONGS: 39062
sequential-LZ4-DELTA: 14706
sequential-LZ4-LONGS: 19542
sequential-NONE-DELTA: 14648
sequential-NONE-LONGS: 39062
enumerate-LZ4-DELTA: 442
enumerate-LZ4-LONGS: 711
enumerate-NONE-DELTA: 2441
enumerate-NONE-LONGS: 39062
zipfHigh-LZ4-DELTA: 1201
zipfHigh-LZ4-LONGS: 1784
zipfHigh-NONE-DELTA: 4884
zipfHigh-NONE-LONGS: 39062

Benchmarks:
readContinuous reads every value, while readSkipping skips randomly between 0 - 2000 values on each read
Read Continuous
 enumerate      auto   lz4  30.587 ± 0.493  ms/op
 enumerate      auto  none   7.093 ± 0.116  ms/op
 enumerate     longs   lz4  19.731 ± 0.849  ms/op
 enumerate     longs  none   3.107 ± 0.060  ms/op
   zipfLow      auto   lz4  36.530 ± 0.695  ms/op
   zipfLow      auto  none  11.070 ± 0.209  ms/op
   zipfLow     longs   lz4  33.192 ± 0.652  ms/op
   zipfLow     longs  none   3.127 ± 0.076  ms/op
  zipfHigh      auto   lz4  28.517 ± 0.804  ms/op
  zipfHigh      auto  none   2.808 ± 0.072  ms/op
  zipfHigh     longs   lz4  21.903 ± 0.508  ms/op
  zipfHigh     longs  none   3.033 ± 0.040  ms/op
sequential      auto   lz4  29.984 ± 0.807  ms/op
sequential      auto  none   6.771 ± 0.090  ms/op
sequential     longs   lz4  54.404 ± 1.106  ms/op
sequential     longs  none   3.172 ± 0.088  ms/op
   uniform      auto   lz4  32.214 ± 0.803  ms/op
   uniform      auto  none  10.702 ± 0.145  ms/op
   uniform     longs   lz4  31.917 ± 0.663  ms/op
   uniform     longs  none   3.055 ± 0.072  ms/op

ReadSkipping
 enumerate      auto   lz4   1.533 ± 0.075  ms/op
 enumerate      auto  none   0.083 ± 0.002  ms/op
 enumerate     longs   lz4   5.862 ± 0.471  ms/op
 enumerate     longs  none   0.285 ± 0.003  ms/op
   zipfLow      auto   lz4   5.017 ± 0.121  ms/op
   zipfLow      auto  none   0.172 ± 0.003  ms/op
   zipfLow     longs   lz4  19.103 ± 1.118  ms/op
   zipfLow     longs  none   0.283 ± 0.002  ms/op
  zipfHigh      auto   lz4   3.060 ± 0.164  ms/op
  zipfHigh      auto  none   0.109 ± 0.002  ms/op
  zipfHigh     longs   lz4   8.791 ± 1.083  ms/op
  zipfHigh     longs  none   0.280 ± 0.002  ms/op
sequential      auto   lz4   1.379 ± 0.304  ms/op
sequential      auto  none   0.253 ± 0.003  ms/op
sequential     longs   lz4  40.777 ± 0.681  ms/op
sequential     longs  none   0.281 ± 0.003  ms/op
   uniform      auto   lz4   0.822 ± 0.289  ms/op
   uniform      auto  none   0.171 ± 0.003  ms/op
   uniform     longs   lz4  18.799 ± 1.704  ms/op
   uniform     longs  none   0.286 ± 0.003  ms/op

Benchmark on master, lz4 correspond to longs + lz4. There is no major performance difference
ReadContinous
 enumerate     lz4  19.714 ± 0.455  ms/op
   zipfLow     lz4  33.191 ± 0.640  ms/op
  zipfHigh     lz4  21.761 ± 0.488  ms/op
sequential     lz4  54.163 ± 1.077  ms/op
   uniform     lz4  31.790 ± 0.871  ms/op

ReadSkipping
 enumerate     lz4   5.741 ± 0.346  ms/op
   zipfLow     lz4  18.736 ± 0.425  ms/op
  zipfHigh     lz4   8.739 ± 0.753  ms/op
sequential     lz4  41.081 ± 1.034  ms/op
   uniform     lz4  18.322 ± 0.325  ms/op

After some discussion in #3147 , it's decided that compression strategy, which compress and decompress blocks of data without knowing the data format, and encoding format, which encode data using knowledge of its attributes such as size of each element, should be separated. Users would choose the combination of compression and encoding to use.
The existing compressions including LZF, LZ4, and Uncompressed all count as compression strategy. In addition, this PR included the compression NONE, which indicate no compression strategy should be used, and the values should be stored all together instead of in blocks, since this would allow faster random access. The LZF and Uncompressed strategy are still needed for backward compatibility, but they shouldn't be used for new data.
The encoding format introduced in this PR are Delta, Table, and Longs. Delta and table are described in previous comment, while Longs just indicated values are stored as 8 byte longs. Segments created prior to this PR are viewed as compression strategy used + Longs encoding.
Below is a benchmark of combinations of all compression strategies and encoding formats
CompressionFormatBenchmark.readContinuous     reqInt     delta           lz4  avgt   10  29.286 ± 1.393  ms/op
CompressionFormatBenchmark.readContinuous     reqInt     delta  uncompressed  avgt   10  29.431 ± 1.787  ms/op
CompressionFormatBenchmark.readContinuous     reqInt     delta          none  avgt   10   8.065 ± 0.522  ms/op
CompressionFormatBenchmark.readContinuous     reqInt     longs           lz4  avgt   10  21.420 ± 3.677  ms/op
CompressionFormatBenchmark.readContinuous     reqInt     longs  uncompressed  avgt   10  18.791 ± 1.351  ms/op
CompressionFormatBenchmark.readContinuous     reqInt     longs          none  avgt   10   3.029 ± 0.076  ms/op
CompressionFormatBenchmark.readContinuous  bytesLong     delta           lz4  avgt   10  44.828 ± 4.710  ms/op
CompressionFormatBenchmark.readContinuous  bytesLong     delta  uncompressed  avgt   10  31.041 ± 2.123  ms/op
CompressionFormatBenchmark.readContinuous  bytesLong     delta          none  avgt   10   8.400 ± 1.480  ms/op
CompressionFormatBenchmark.readContinuous  bytesLong     longs           lz4  avgt   10  34.514 ± 4.275  ms/op
CompressionFormatBenchmark.readContinuous  bytesLong     longs  uncompressed  avgt   10  20.392 ± 3.440  ms/op
CompressionFormatBenchmark.readContinuous  bytesLong     longs          none  avgt   10   3.028 ± 0.049  ms/op
CompressionFormatBenchmark.readContinuous  timestamp     delta           lz4  avgt   10  36.941 ± 2.615  ms/op
CompressionFormatBenchmark.readContinuous  timestamp     delta  uncompressed  avgt   10  30.484 ± 2.581  ms/op
CompressionFormatBenchmark.readContinuous  timestamp     delta          none  avgt   10   3.366 ± 0.187  ms/op
CompressionFormatBenchmark.readContinuous  timestamp     longs           lz4  avgt   10  53.574 ± 6.133  ms/op
CompressionFormatBenchmark.readContinuous  timestamp     longs  uncompressed  avgt   10  19.124 ± 2.194  ms/op
CompressionFormatBenchmark.readContinuous  timestamp     longs          none  avgt   10   3.048 ± 0.061  ms/op
CompressionFormatBenchmark.readSkipping       reqInt     delta           lz4  avgt   10   0.740 ± 0.104  ms/op
CompressionFormatBenchmark.readSkipping       reqInt     delta  uncompressed  avgt   10   0.196 ± 0.122  ms/op
CompressionFormatBenchmark.readSkipping       reqInt     delta          none  avgt   10   0.017 ± 0.001  ms/op
CompressionFormatBenchmark.readSkipping       reqInt     longs           lz4  avgt   10   4.681 ± 3.324  ms/op
CompressionFormatBenchmark.readSkipping       reqInt     longs  uncompressed  avgt   10   3.909 ± 5.152  ms/op
CompressionFormatBenchmark.readSkipping       reqInt     longs          none  avgt   10   0.059 ± 0.001  ms/op
CompressionFormatBenchmark.readSkipping    bytesLong     delta           lz4  avgt   10  14.634 ± 1.457  ms/op
CompressionFormatBenchmark.readSkipping    bytesLong     delta  uncompressed  avgt   10   1.780 ± 3.046  ms/op
CompressionFormatBenchmark.readSkipping    bytesLong     delta          none  avgt   10   0.054 ± 0.003  ms/op
CompressionFormatBenchmark.readSkipping    bytesLong     longs           lz4  avgt   10  18.532 ± 2.257  ms/op
CompressionFormatBenchmark.readSkipping    bytesLong     longs  uncompressed  avgt   10   3.872 ± 4.596  ms/op
CompressionFormatBenchmark.readSkipping    bytesLong     longs          none  avgt   10   0.059 ± 0.001  ms/op
CompressionFormatBenchmark.readSkipping    timestamp     delta           lz4  avgt   10   7.756 ± 0.641  ms/op
CompressionFormatBenchmark.readSkipping    timestamp     delta  uncompressed  avgt   10   1.684 ± 0.804  ms/op
CompressionFormatBenchmark.readSkipping    timestamp     delta          none  avgt   10   0.056 ± 0.003  ms/op
CompressionFormatBenchmark.readSkipping    timestamp     longs           lz4  avgt   10  37.492 ± 4.476  ms/op
CompressionFormatBenchmark.readSkipping    timestamp     longs  uncompressed  avgt   10   3.377 ± 2.540  ms/op
CompressionFormatBenchmark.readSkipping    timestamp     longs          none  avgt   10   0.060 ± 0.002  ms/op

Size of compressed files
 9994113 bytesLong.delta-lz4
15976162 bytesLong.delta-none
16027498 bytesLong.delta-uncompressed
11119760 bytesLong.longs-lz4
42603034 bytesLong.longs-none
42669164 bytesLong.longs-uncompressed
  177951 reqInt.delta-lz4
 2662773 reqInt.delta-none
 2688050 reqInt.delta-uncompressed
  388076 reqInt.longs-lz4
42603034 reqInt.longs-none
42669164 reqInt.longs-uncompressed
19502946 timestamp.delta-lz4
21301540 timestamp.delta-none
21339814 timestamp.delta-uncompressed
19270814 timestamp.longs-lz4
42603034 timestamp.longs-none
42669164 timestamp.longs-uncompressed

some minor comments, :+1: after those

Removed the reqInt, bytesLong, and timestamp files and now uses generated data.
Added data sets includes:

enumerated (value from only a few selections, with probability heavily skewed toward one)
zipfLow (zipf distribution between 0 to 1000 with low exponent)
zipfHigh (zipf distribution between 0 to 1000 with high exponent)
uniform (uniform distribution between 0 to 1000)
sequential (sequential values starting from a timestamp)

Generated files size in kb (5,000,000 values)
zipfLow-LZ4-DELTA: 6870
zipfLow-LZ4-LONGS: 9495
zipfLow-NONE-DELTA: 7324
zipfLow-NONE-LONGS: 39062
uniform-LZ4-DELTA: 7354
uniform-LZ4-LONGS: 11184
uniform-NONE-DELTA: 7324
uniform-NONE-LONGS: 39062
sequential-LZ4-DELTA: 14706
sequential-LZ4-LONGS: 19542
sequential-NONE-DELTA: 14648
sequential-NONE-LONGS: 39062
enumerate-LZ4-DELTA: 442
enumerate-LZ4-LONGS: 711
enumerate-NONE-DELTA: 2441
enumerate-NONE-LONGS: 39062
zipfHigh-LZ4-DELTA: 1201
zipfHigh-LZ4-LONGS: 1784
zipfHigh-NONE-DELTA: 4884
zipfHigh-NONE-LONGS: 39062
More benchmarks:
CompressionBenchmark.readContinuous   enumerate     delta         lz4  avgt   25  30.648 ±  2.626  ms/op
CompressionBenchmark.readContinuous   enumerate     delta        none  avgt   25   7.650 ±  0.526  ms/op
CompressionBenchmark.readContinuous   enumerate     longs         lz4  avgt   25  19.126 ±  0.588  ms/op
CompressionBenchmark.readContinuous   enumerate     longs        none  avgt   25   2.885 ±  0.172  ms/op
CompressionBenchmark.readContinuous     zipfLow     delta         lz4  avgt   25  36.759 ±  2.715  ms/op
CompressionBenchmark.readContinuous     zipfLow     delta        none  avgt   25  11.347 ±  0.733  ms/op
CompressionBenchmark.readContinuous     zipfLow     longs         lz4  avgt   25  32.491 ±  2.123  ms/op
CompressionBenchmark.readContinuous     zipfLow     longs        none  avgt   25   2.991 ±  0.267  ms/op
CompressionBenchmark.readContinuous    zipfHigh     delta         lz4  avgt   25  26.057 ±  1.361  ms/op
CompressionBenchmark.readContinuous    zipfHigh     delta        none  avgt   25   3.545 ±  0.227  ms/op
CompressionBenchmark.readContinuous    zipfHigh     longs         lz4  avgt   25  21.950 ±  1.035  ms/op
CompressionBenchmark.readContinuous    zipfHigh     longs        none  avgt   25   2.883 ±  0.175  ms/op
CompressionBenchmark.readContinuous  sequential     delta         lz4  avgt   25  28.658 ±  0.567  ms/op
CompressionBenchmark.readContinuous  sequential     delta        none  avgt   25   7.557 ±  0.495  ms/op
CompressionBenchmark.readContinuous  sequential     longs         lz4  avgt   25  53.250 ±  1.897  ms/op
CompressionBenchmark.readContinuous  sequential     longs        none  avgt   25   3.117 ±  0.270  ms/op
CompressionBenchmark.readContinuous     uniform     delta         lz4  avgt   25  32.909 ±  2.348  ms/op
CompressionBenchmark.readContinuous     uniform     delta        none  avgt   25  20.803 ± 11.509  ms/op
CompressionBenchmark.readContinuous     uniform     longs         lz4  avgt   25  30.252 ±  0.674  ms/op
CompressionBenchmark.readContinuous     uniform     longs        none  avgt   25   2.944 ±  0.130  ms/op
CompressionBenchmark.readSkipping     enumerate     delta         lz4  avgt   25   1.462 ±  0.091  ms/op
CompressionBenchmark.readSkipping     enumerate     delta        none  avgt   25   0.016 ±  0.001  ms/op
CompressionBenchmark.readSkipping     enumerate     longs         lz4  avgt   25   5.476 ±  1.154  ms/op
CompressionBenchmark.readSkipping     enumerate     longs        none  avgt   25   0.055 ±  0.001  ms/op
CompressionBenchmark.readSkipping       zipfLow     delta         lz4  avgt   25   4.786 ±  0.153  ms/op
CompressionBenchmark.readSkipping       zipfLow     delta        none  avgt   25   0.034 ±  0.001  ms/op
CompressionBenchmark.readSkipping       zipfLow     longs         lz4  avgt   25  17.017 ±  0.565  ms/op
CompressionBenchmark.readSkipping       zipfLow     longs        none  avgt   25   0.054 ±  0.001  ms/op
CompressionBenchmark.readSkipping      zipfHigh     delta         lz4  avgt   25   2.745 ±  0.078  ms/op
CompressionBenchmark.readSkipping      zipfHigh     delta        none  avgt   25   0.023 ±  0.001  ms/op
CompressionBenchmark.readSkipping      zipfHigh     longs         lz4  avgt   25   7.876 ±  0.972  ms/op
CompressionBenchmark.readSkipping      zipfHigh     longs        none  avgt   25   0.055 ±  0.001  ms/op
CompressionBenchmark.readSkipping    sequential     delta         lz4  avgt   25   1.239 ±  0.374  ms/op
CompressionBenchmark.readSkipping    sequential     delta        none  avgt   25   0.048 ±  0.001  ms/op
CompressionBenchmark.readSkipping    sequential     longs         lz4  avgt   25  36.913 ±  0.918  ms/op
CompressionBenchmark.readSkipping    sequential     longs        none  avgt   25   0.054 ±  0.001  ms/op
CompressionBenchmark.readSkipping       uniform     delta         lz4  avgt   25   0.660 ±  0.218  ms/op
CompressionBenchmark.readSkipping       uniform     delta        none  avgt   25   0.033 ±  0.001  ms/op
CompressionBenchmark.readSkipping       uniform     longs         lz4  avgt   25  17.497 ±  0.561  ms/op
CompressionBenchmark.readSkipping       uniform     longs        none  avgt   25   0.054 ±  0.001  ms/op

@acslk sweet, those benchmarks look nice. The general theme seems to be,

longs+lz4 is the current default encoding
delta+lz4 is always smallest and is roughly similar speed to longs+lz4; maybe this'd be a nice default in the future
delta+none size varies quite a bit relative to longs+lz4, but is always faster
longs+none is silly 😄

Could you put those in the top comment too for ease of reference?

I've added some basic float encoding stuff that supports non block based float compression in another branch, and hoping to get it merged together with this branch.
https://github.com/acslk/druid/compare/feature-compress...acslk:feature-floatcompress?expand=1
The reason is that Long metric and Float metric share the same CompressionStrategy in IndexSpec, and updating only Long would cause Long to compress NONE strategy in one way while Float compress it in another way, which is awkward for future Float encoding implementation.
The float changes are mostly symmetrical to changes in this PR.

@acslk hmm, it probably makes sense to build real "none" compression support for floats in this PR, since that'll remove the awkwardness in IndexMerger / IndexMergerV9, and make the migration path better later. Good call.
But I don't think we need the floatEncoding stuff - generally I'd prefer to add that interface when we actually need it. Right now we don't since there's only one float encoding (and I'm not creative enough to think of a different one we might want to do in the near future). So if removing that would simplify the float stuff, let's remove it.

@acslk Okay, whew, finally read through the patch :)
I wrote some comments on specific areas but the general structure looks good to me. The benchmarks and storage numbers look good too!
Other than that, like I said in the previous comment, I do think it makes sense to include "none" compression for floats, minus the probably unnecessary floatEncoding stuff.
Anyone else have a chance to take a look at this now that it's been edited a bunch? @xvrl @jon-wei

@acslk @gianm reviewing again

Added the float support for "none" compression strategy. It uses the same BlockLayout/EntireLayout pattern as long compression, but does not have any encoding strategy/format.

@acslk I'm a bit puzzled by some of the benchmark numbers. longs + lz4 seems to be really standing out in the readSkipping benchmarks compared to delta + lz4. The difference is much less pronounced in readContinous. I wonder it it would make sense to understand what's causing this, especially give that the compressed sizes are not that much different.
@gianm As far as making delta+lz4 the default in the future, it still seems to be up to 3x slower compared to longs + lz4 for some full column scans, so we might want to experiment with real-world data before making that decision.
Overall I'm on board with this PR, I haven't had a chance to read the code much yet, but the approach is the description seems reasonable.

done reviewing the new changes, had a few comments but looks good overall

@xvrl After some investigation, I believe the reason for the discrepancy is due to performance of different components. For block based compression layout, the total time for reading column is composed of : copy byte buffer block + decompression + read values from byte buffer.
longs + lz4 takes more time on the decompression part, while delta + lz4 take more time on the read value part. For readContinuous, the two differences kinda cancel out, making the performance similar. For readSkipping, the read value part is basically gone with so few reads, while the decompression part remains around the same, making longs + lz4 take much longer.
I did some benchmark using the uncompressed strategy, which goes through the same process as lz4 for copy block + read value, with the only difference being no decompression step. The difference in time between lz4 and uncompressed should be the time for decompression. From the benchmarks below, it seems that readContinuous and readSkipping decompression time matches.
 Perhaps less work is done for auto decompression since the decompressed size is smaller.

@xvrl yes, that's a good point, looks like @acslk findings indicate that auto+lz4 generally decompresses faster than longs+lz4 but individual values are then read out slower (which explains why full scans are hit-or-miss but filtered scans are generally faster in auto+lz4's favor).
I just read over the more recent changes (the float compression stuff and the introduction of "auto" encoding strategy) and they look good to me. We've also been running this on our test cluster for a couple of weeks now and it has been working out there.
👍  from me, any one else want to take one more look? @jon-wei @xvrl

LGTM, :+1:

Looks like we have a few +1 and no objections, so I'll merge this as discussed in the dev sync today. thanks everyone!


Add schema version 0.0 and fix validation/upgrade commands

Here are some useful things related:

The javascript code converting version 0.0 files to version 0.1: https://github.com/TissUUmaps/TissUUmaps/blob/fdb90a0a03e87cdec7dc176e95aeb16b7152bc80/tissuumaps/static/js/utils/projectUtils.js#L512
An example of tmap file version 0.0 (in .txt as GitHub doesn't support .tmap files): project_v00.txt
The same file saved in v0.1: project_v01.txt

Does this imply that v0.1 should have uid="uniquetab" as default?
Not sure. Making uid="uniquetab" default means all buttons open in the same tab, replacing each other. This is the intended behavior for tmap files version 0.0 as TissUUmaps didn't support multiple tabs back then. But it shouldn't be the default for later versions I believe.
Putting default to null will create a random uid on the first button click, and will open each markerFile in a different tab, which is a good default behavior.

Is this commented out on purpose?
I think it can safely be ignored/removed. The number of projects using glUtils._globalMarkerScale setting must be pretty small, and it was giving strange behavior on some datasets.

Anything missing here?
Common sense is missing here. Just remove the whole thing :-D

@cavenel I've now set the default of v0.0 to uid="uniquetab" and implemented the upgrade path. There are still some FIXME and TODO comments in tissuumaps_schema.v00.Project and tissuumaps_schema.v01.Project._upgrade_previous, could you maybe take a look when you have time? :innocent:


Dont bypass class_attribute setters

This is a 🐞 bug fix.

[x] I've added tests (if it's a bug, feature or enhancement)
[x] The test suite passes (run bundle exec rspec to verify this)

Summary
The skip_before_action method no longer modifies class attributes directly but now uses the setters
Context
https://github.com/boltops-tools/jets/issues/480
How to Test

add a before_action callback to the ApplicationController class
create a controller derived from ApplicationController
create a second controller derived from ApplicationController and use the skip_before_action with the only option to skip the callback created in ApplicationController for one or more methods

Notice, The first controller should still execute the before_action on all methods.
class ApplicationController < Jets::Controller::Base
  before_action :before_callback

  def before_callback
    puts "ApplicationController::before called"
  end
end

class TestAController < ApplicationController
  def index
    puts "TestAController::index called"
  end
end

class TestBController < ApplicationController
  skip_before_action :before_callback, only: %i[index]

  def index
    puts "TestBController::index called"
  end
end

Released in v3.0.7


JSX Component Error after Installing React and Related Libraries

I am currently working on a Figma widget boilerplate project that uses the following configuration:
{
  "jsxFactory": "figma.widget.h",
  "jsxFragmentFactory": "figma.widget.Fragment"
}

This project does not use React. However, after installing react, react-dom, @types/react, and @types/react-dom, I encountered a TypeScript error when trying to use a custom component as a JSX component.
The error message is as follows:
TS2786: 'BoardComponent' cannot be used as a JSX component.
Its type '({ backgroundColor, }: { backgroundColor: string; }) => FigmaDeclarativeNode' is not a valid JSX element type.
Type '({ backgroundColor, }: { backgroundColor: string; }) => FigmaDeclarativeNode' is not assignable to type '(props: any, deprecatedLegacyContext?: any) => ReactNode'.
Type 'FigmaDeclarativeNode' is not assignable to type 'ReactNode'.
Type 'FigmaVirtualNode<any>' is not assignable to type 'ReactNode'.

The BoardComponent is defined as follows:
import { BoardComponent } from './components/Board.tsx';
...
return <BoardComponent backgroundColor={backgroundColor} />;

It seems that the type FigmaDeclarativeNode is not compatible with ReactNode, which is causing the issue. I would appreciate any guidance on how to resolve this error.

It's possible your TypeScript config is choosing to use the React type definitions when it encounters JSX expressions. Figma widget JSX is not the same thing as React JSX, but if you install the React type libraries, TypeScript may get confused.

Based on Jeff's response above, I'm resolving this issue - please feel free to follow-up if you have any additional questions.


Problems opening a bndb after updating

Binary Ninja Version: 3.4.4078-dev Personal, 5afd2ed0
Platform: Windows 11 Version 22H2
I have a bndb for a particular exe that is having problems if I open it with a version of Binary Ninja newer than the version it was last analyzed & saved with. The steps I'm taking leading up to the problem:

Analyze the exe with File > Open with Options.... I set the PDB path here as well.
The exe analyzes without issue and I'm able to save the bndb without issues.
Update binja and try to open the bndb again. From here 1 of 2 things can happen:
3a) The bndb fails to open. Binja keeps loading it indefinitely or crashes.
3b) The bndb opens and Binja starts analyzing it automatically. Analysis gets stuck on one of the functions and Binja shows 100% cpu usage in task manager. I left it running for 30min and it was still stuck on the same function.

I'll send a bndb to<EMAIL_ADDRESS>shortly. I created it with a version of Binja on the dev branch from yesterday. If you open it with one the dev versions from today, you should see 3a and/or 3b.

Thank you for the report. This is a critical issue and we will try to address it immediately.

Fixed in 3.3.4079-dev.


Warning - Problem with NordVPN 3.18.1

A word of warning - Nord has published 3.18.1
I don't know what changed since they don't seem to have even posted released notes for it yet.
However I just happened to be unlucky enough to update to it this morning and it broke the setup.
I spent hours tinkering and even built a new one in VMWare with 3.18.1 but finally gave up.
As soon as I downgraded to 3.18.0 it started working again.
I've had issues connecting to my SonicWall VPN, Teams and a few other services from behind this setup so I was hoping the next release would fix it. Not break the whole setup lol.
(I know what you're thinking but I manage the SonicWALL so I know it's not blocking me because of my VPN and it always worked from behind pfSense with Nord or Express)
I couldn't get the nord client on my machine to connect from behind this setup until the last update so I was hoping the linux update on the router would fix the rest of my issues.

Thank you for sharing this. I will check this on my setup and report back.
As for connecting a seperate vpn for remote access, I made an additional connection between my modem and firewall, bypassing the nord container, and only permit incoming connections for my remote access vpn on that port while all other traffic still goes through nord.

Unable to reproduce this issue. However, that does not mean someone else won't encounter it. I believe it is most likely a configuration issue when using VMWare as a hypervisor. I am currently running Proxmox. Though I haven't tried any other hypervisors. I my try on one of my servers running TrueNAS Scale natively.
No further input so closing. Thank you for the submission.


TST: Skip test on multi-GPU as DataParallel fails

This test fails in multi-GPU setting because transformers.Trainer switches to DataParallel. As this is not a commonly used parallelization strategy, it should be okay to just skip this. The test will still be run on single GPU and CPU.
https://github.com/huggingface/peft/actions/runs/12002085686/job/33453519249#step:6:45046
Unfortunately, once this test fails, all subsequent tests also fail with

RuntimeError: CUDA error: device-side assert triggered

so it's important to fix this test fast, as it may mask other failures on multi-GPU.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Reverse Engineering

Hi Ben,
A couple of years ago, I spent some time reverse engineering most of the messages from the Paul Novus system. However, since my strengths lie more in scripting than in development, I didn't make much progress on the coding side.
If you're still maintaining this repository, I wanted to let you know that I've created a public repository on my account with some of my findings. I hope it provides some useful insights and perhaps even inspires you to continue evolving your HACS integration.
David

Hi David,
Sounds good. I have a look at it.
Perhaps I get the time to integrate it.
Regards Ben


colloquialSinceNow does not consider style abbreviated

Version from Podfile: pod 'SwiftDate', '~> 4.1.6'
Unless I'm misunderstanding the docs:

This:
var date = DateInRegion()
date = date - 1.hour

let sinceNow = try!
date.colloquialSinceNow(style: .abbreviated)

print(sinceNow.colloquial)

Should print something along the lines of:
1h

or
1h ago

But rather it is printing:
one hour ago

Which seems to be style spellOut.
I also tried all of the other UnitsStyles and they produce the same results. Am I using the function correctly? Is this a known issue?

It seems to be that SwiftDate.strings files do not support abbreviation. Perhaps we can add a new localizedKey. For various DateComponentsFormatter.UnitsStyles though this would obviously increase the sizes of SwiftDate.strings files exponentially...

Hi,
as you said colloquial ignore the unitStyle parameter. You should fallback to timeComponents function.
let opts = ComponentsFormatterOptions(style: .abbreviated, zero: .dropLeading)
let string = try! date.timeComponentsSinceNow(options: opts) // 1h

I think we should avoid adding other localizations entries to describe what, in fact, is time component. However the best way is to fallback automatically to timeComponents function when unitStyle is set to an abbreviated form.
I'll post this fix in 4.1.8 release.
Thank you for your report @daviskoh


&DMatrix - DMatrix returns different value than DMatrix - DMatrix

Hi,
The following test fails at the assertion:
#[test]
fn test_subtract_mat_byref() {
    let a = DMatrix::from_row_vector(1, 1, &[1.0]);
    let b = DMatrix::from_row_vector(1, 1, &[0.9]);
    let by_ref = &a-b.clone();
    let by_value = a-b;
    assert_eq!(by_ref,by_value);
}

It seems to me this is a bug.

Yes, looks like a copy-paste gone wrong! Fixing it now.

Thanks.


GSF Carbon QL Meeting Agenda 2023-03-27

Time 12:00pm (GMT) - See the time in your timezone

Lead – @srini1978 (Microsoft)
PM – @Oleg-Zhymolokhov  (GSF)

Antitrust Policy
Joint Development Foundation meetings may involve participation by industry competitors, and it is the intention of the Joint Development Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.
If you have questions about these matters, please contact your company counsel or counsel to the Joint Development Foundation, DLA Piper.
Roll Call
Please add 'Attended' to this issue during the meeting to denote attendance.
Any untracked attendees will be added by the GSF team below:
Agenda

[ ] First set of user stories that can be built. Have there been  any feedback for the user stories written so far?
[ ] Can we get more details of the architecture of the application from Amadeus. Based on the call last week the input parameters has are CPU utilization, Memory utilization, Network Input/Output, Running Time for serverless + Intensity + storage size
[ ] AOB

Decisions
Actions

attended


cacheableResponse.Plugin 301 Status Not Caching

Welcome! Please use this template for reporting bugs or requesting features. For questions about using Workbox, the best place to ask is Stack Overflow, tagged with [workbox]: https://stackoverflow.com/questions/ask?tags=workbox
Library Affected:
workbox-sw v4.3.1
Browser & Platform:
Google Chrome v76
Issue or Feature Request Description:
I've got a website built using a static site generator and I'd like to be able to cache, and properly serve, the responses from hitting /foo and /foo/. In browser, if I navigate to /foo and there's a /foo/index.html on the server, it'll 301 redirect me using a opaqueredirect Response-Type to /foo/. I can cache both of these responses with Workbox by omitting my  cacheableResponse.Plugin code below, although then it captures things I don't want cached. When I include the below, /foo/ gets correctly captured and cached, but the opaqueredirect doesn't. Below is my code I'm using:
workbox.routing.registerRoute(
    new RegExp('/(.*)/.+'),
    new workbox.strategies.StaleWhileRevalidate({
      cacheName: 'pages-cache',
      plugins: [
        new workbox.cacheableResponse.Plugin({
          headers: {
            'Content-Type': 'text/html; charset=UTF-8',
          },
          statuses: [200, 301, 404, 0],
        }),
      ],
    }),
  );

I'm unsure if this is a bug or if there's a better way to do this kind of caching that I'm just not seeing. I don't want to precache these files as I only want them saved when requested.

In general, if you've got two different URLs and you want to treat them as being equivalent for either cache read or write (or both) operations, you can write a cacheKeyWillBeUsed plugin that normalizes them:
const cacheKeyNormalizationPlugin = {
  cacheKeyWillBeUsed: async ({request, mode}) => {
    if (request.mode === 'navigate' && !request.url.endsWith('/')) {
      return request.url + '/';
    }
    return request.url;
  },
};

The one issue here is that your response might be redirected, and using a cached redirected response to satisfy a navigation request will fail due to this security restriction.
workbox-precaching takes care of this for you by automatically creating a "clean" copy of any redirected responses and storing that in the cache, and you could actually use that same code directly now that this PR is checked in. But what's probably cleaner instead is just to add in a requestWillFetch plugin that rewrote the outgoing request URL to always end with a /, and avoid getting a redirected response in the first place.
Putting both of those together, and taking advantage of the fact that both callbacks have roughly the same signature, you'd have something like:
async function normalizeIfNeeded({request}) {
  if (request.mode === 'navigate' && !request.url.endsWith('/')) {
    return new Request(request.url + '/');
  }
  return request;
}

const navigationNormalizationPlugin = {
  cacheKeyWillBeUsed: normalizeIfNeeded,
  requestWillFetch: normalizeIfNeeded,
};

And then add navigationNormalizationPlugin to your list of plugins when you configure your caching strategy.

Not only does that perfectly solve the issue I had, but it actually improves the experience by removing the index.html redirect in browser, making even cleaner URLs!


Fixed #21528 -- Improve doc for formfield_for_foreignkey

Ticket: https://code.djangoproject.com/ticket/21528

Add example on how to filter fields based on the instance

Section:

Closing due to lack of follow up.


js error like ''sweetalert2.default is not a function''

below is my implementation:
import SweetAlert from 'sweetalert2'
SweetAlert('hello test')

I installed it by npm install and pretty sure 'sweetalert2' folder is ialready nside node_modules/ folder
but that will cause js error like 'sweetalert2.default is not a function'
No idea how to fix it (I previously used the original version of sweetalert but it works well in such way).
Thanks~

Hi @senseluo! Any luck on this issue?
I'm not enough familiar with npm, in order to help I need to ask you to describe more detailed your environment and how can I reproduce this issue.

I'm going to try to take a stab at this. From my understanding it's just a matter of re-organizing the code so that we can add the stuff to window + exporting it as a module.

Thank you in advance @Tonkpils!

thank you guys

@limonte is there any reason for exporting things like swalClasses to the window? I have a proof of concept for this using ES6/babel but not adding a lot of those things to the window.
I'm working on a different approach without ES6/babel but I figured I would ask if it's absolutely necessarily to have those things added onto the root

Also any reason we're depending on that particular version of es6-promise-polyfill instead of the more popular one es6-promise or rsvp.js?

@Tonkpils

is there any reason for exporting things like swalClasses to the window? I have a proof of concept for this using ES6/babel but not adding a lot of those things to the window.
I'm working on a different approach without ES6/babel but I figured I would ask if it's absolutely necessarily to have those things added onto the root

No, it's not necessarily to have swalClasses in window. I'll be happy to see solution without adding it to the root.

Also any reason we're depending on that particular version of es6-promise-polyfill instead of the more popular one es6-promise or rsvp.js?

Also, there's no reason to use strictly es6-promise-polyfill. If more popular plugins do the same, I'd like to change that dep.

@limonte sure, you can check out the link to my repo. I have a working version of it that allows doing things like
import sweetAlert from 'sweetalert2';

and it's only adding the sweetAlert and swal to the window/root.
I will be doing a bit more testing and writing the other approach before making a pull request. Also Github diff won't show the entire diff since it's a lot of changes in one file but after this, we should break it off into more logical files.

@senseluo please let me know if this works for you. I tested it in a couple of places on my apps and it works just fine but I don't know of many edge cases. Would love to hear some feedback

I just released v3.0.0

@Tonkpils

Also any reason we're depending on that particular version of es6-promise-polyfill instead of the more popular one es6-promise or rsvp.js?

Switched to es6-promise: https://github.com/limonte/sweetalert2/commit/b7a6a0dec56323c5de4342e907f00e5290d8f3ac

I am having the same issue.
I am using sweetalert2 v6.0.0
Any idea how to solve this issue?

@vishal41190 Please open a new issue considering this (old) issue has been fixed and closed.


Test/release 1.5

Before this gets merged, we need to merge main into dev and release/v1.5

@hitnik Could you confirm what has changed in this PR?

@hitnik Could you confirm what has changed in this PR?

This PR was created only for building the package for QA, closing it.


"Feburary" is misspelled.

Should be an easy fix here for you :)
We've noticed that the month "February" is misspelled as "Feburary".
We are using a Windows 10 OS and a Chrome browser (version 88).
I'm pretty sure this month is generated by your code when the calendar is printed out? If not, let me know and I'll take another look at the code on our end.
Great calendar widget by the way. It's just what we needed :)

@sbennett08 😂 thanks for catching it! I have a lot of changes to address, but I'll be sure to address this one at first 😃

@sbennett08 alright, so I looked into the issue more closely, and here's what I found out:
Problem
The JavaScript has no problems:
https://github.com/nizarmah/calendar-javascript-lib/blob/ae99e849ae55dacb90aeb6eaa21e1b90e92d516f/calendarorganizer.js#L30
As you can see, the month is mentioned properly, February.
However, the problem seems to be the README.
https://github.com/nizarmah/calendar-javascript-lib/blob/ae99e849ae55dacb90aeb6eaa21e1b90e92d516f/README.md#L71
https://github.com/nizarmah/calendar-javascript-lib/blob/ae99e849ae55dacb90aeb6eaa21e1b90e92d516f/README.md#L110
Solution
So there's two ways to solve the issue.
You can either remove the declared months attribute, which you don't need unless you're making changing to how the months are displayed.
Or you can update the settings from Feburary to February 👍🏼

I also opened a pull request in order to resolve the issue which you can find below. #29

I'm closing this issue 😃
Thank you a lot for raising it, and I'm glad that the widget is being used ❤
Have a wonderful day 🚀


[IPVS] Implement GetServices(),GetService() and GetDestinations()

@mavenugo This is an Inital checkin to get the approach validated.  If you are okay with this i will improve/add coverage for the package.
Also i though we could introduce a file utils.go in ipvs package and moave all the utility related funcs there? what do you think?

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "ipvs-getServices-dev" git@github.com:dhilipkumars/libnetwork.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Hi @mavenugo
This PR has the following

Implements GetServices(), GetDestinations(*Services) and GetService(*Service)
Has tests for all the new code written (the coverage is maintained)
Uses the newer APIs in the UT and hence removes the dependency from ipvsadm command.

Hi @fcrisciani , all the comments have been addressed PTAL.  Please let us know if you have more comments. we will fix it ASAP.
Thanks in Advance, we would love to help to get this PR merged ASAP.

BTW, Thanks for the quick review

just posted another 2 minor comments, rest looks good to me

@fcrisciani Thanks again PTAL.

LGTM

@abhinandanpb PTAL.

Thanks @dhilipkumars. LGTM.

Thanks for the quik merge

@dhilipkumars please squash your review fix commits from next time.

Certainly.  Thanks for being considerate this time.


radiobutton/checkboxed in nested fieldsets inadvertently setting conditional to hidden

Bug Report

What is the issue?

In the example shown in the screenshot below, there are radio buttons shown only when the user chooses the first option("I am employed or self employed").
When I click in any of the radio buttons below the conditional content will then get closed and the option I just clicked on disappears.
So, on click, it's running addClass(input, 'nhsuk-radios__conditional--hidden') to all conditionalInputs in the page.
One of two things I think should happen:

either the addEventListener is added only to radiobuttons/checkboxes  that could affect the aria-expanded;
find the .nhsuk-radios--conditional or nhsuk-checkboxes--conditional which is an immediate parent of the current node, and apply the toggleConditionalInput only to that;

What steps are required to reproduce the issue?

Is there anything else you think would be useful in recreating the issue?

Hey @nunommc,
Thanks for raising this issue, nested conditionals could work but only to reveal small amounts of information. Is the JavaScript something you think you could attempt a fix at? If so we are always open to new contributors!
Looking at the form design you have done, whilst it’s possible to structure pages in this way, we’d recommend splitting the questions across multiple screens before nesting form elements like this - as the pages become more complex, require multiple interactions and work less well without JavaScript. You could have a simple ‘guard question’ - Are you employed? - and then ask for more detail on the next page if they answered yes. We have some guidance on how to write good questions for forms
There also might be accessibility issues for screen reader users as you can't nest fieldsets and make it clear which legend goes with which fieldset. So this would need testing with users (not just automated checkers).
As the guidance for the conditional reveals in the NHS digital service manual says 'Keep it simple. If you need to add a lot of content, consider showing it on the next page in the process instead.'


enhance selects with select2

I've been searching for a way to enhance large selects. IMHO most of pages use at least Country and State, along with project specific ones. I've pasting the link for one I like the most because I know you are int the process of designing/developing v3.0 of your excellent framework.
http://ivaynberg.github.com/select2/index.html

@dsandstrom I've got another solution to this problem here (with demo): https://github.com/select2/select2/issues/584#issuecomment-72150465

@chrisjacob you saved my life, it works! txs


fix: Add inner dividers

this prevents both namespace and cluster name to be displayed as a single word

@tigerinus it can be done that way, but I wouldn't say calling the very same segment twice to solve a visual separation "better practice". Imagine if the date segment format parameter only accepted the printf options and no colon or slash - would you call it a "better practice" to call it twice to show the hour and minute, or even 6x to show a full time and date properly?


NER script fails to run and gets killed

Hi,
I am doing NER on a biomedical dataset and I get the follwing Warnings and then the process gets killed. Is there any workaround?
usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/usr/local/lib/python3.6/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
Deprecated cache directory found (/home/zainab/.allennlp/datasets).  Please remove this directory from your system to free up space.
WARNING:tensorflow:From Train_NER.py:12: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.
WARNING:tensorflow:From Train_NER.py:16: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
2020-01-06 13:07:57.220411: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-01-06 13:07:58.074543: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-01-06 13:07:58.075286: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x6ce4b40 executing computations on platform Host. Devices:
2020-01-06 13:07:58.075360: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): ,
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:524: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4377: The name tf.random_uniform is deprecated. Please use tf.random.uniform instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:74: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3183: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3678: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use rate instead of keep_prob. Rate should be set to rate = 1 - keep_prob.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/optimizers.py:790: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.
Training: 0 Batch [00:00, ? Batch/s]2020-01-06 13:17:56.245974: W tensorflow/compiler/jit/mark_for_compilation_pass.cc:1412] (One-time warning): Not using XLA:CPU for cluster because envvar TF_XLA_FLAGS=--tf_xla_cpu_global_jit was not set.  If you want XLA:CPU, either set that envvar, or use experimental_jit_scope to enable XLA:CPU.  To confirm that XLA is active, pass --vmodule=xla_compilation_cache=1 (as a proper command-line flag, not via TF_XLA_FLAGS) or set the envvar XLA_FLAGS=--xla_hlo_profile.
Training: 18885 Batch [4:43:43,  1.56 Batch/s]Killed

Try to use exactly the versions of keras and tensorflow defined in this file:
https://github.com/UKPLab/elmo-bilstm-cnn-crf/blob/master/docker/requirements.txt
With newer versions of tensorflow, I don't expect that the code runs smoothly.

Hi,
I have changed the tf version as per requirements. However i still get the below error.
RuntimeError: [enforce fail at CPUAllocator.cpp:64] . DefaultCPUAllocator: can't allocate memory: you tried to allocate 31088768 bytes. Error code 12 (Cannot allocate memory)

Seems like you run out of memory:
https://discuss.pytorch.org/t/got-error-cannot-allocate-memory/20736/5


Push kyverno app to production app collections

Adds kyverno to the production app catalog and pushes it to each app collection. This will deploy kyverno on all MCs once tagged
Checklist

[x] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml and values.schema.json are valid.

Seems legit to me. Not sure if shared is necessary if we push to all individually?

We talked during standup -- it isn't clear what the status of that collection is. This configuration was inspired by the PMO configuration

Asked for clarification on slack. Will merge this for now and remove providers if/when shared-app-collection works on its own. @giantswarm/team-ludacris please feel free to tag during business hours


[question] error on building docs

FSharp.Formatting Error: 0 : Current source file 'file:///private/tmp/mono--fsharp20151201-10070-r6y3b5/src/fsharp/FSharp.Core/prim-types.fs' doesn't reside in source folder 'file:///Users/h/dev/suave/suave'

What does that mean? Is it good? Bad? Fish?
Anything that doesn't cause exit code <> 0 surely should not be 'error', but 'warning' at the highest?

This probably means that your sourceFolder parameter is not correct for our github-link generation (https://github.com/tpetricek/FSharp.Formatting/blob/master/src/FSharp.MetadataFormat/Main.fs#L1202).
Or it is a bug in our detection code: https://github.com/tpetricek/FSharp.Formatting/blob/master/src/FSharp.MetadataFormat/Main.fs#L202
But without further context I cannot say which case you hit (I guess the first one), but I would assume that your github links on the generated documentation generation are not working.

Well it is an error we can recover from by not including links to the source code (but certainly an error). Not sure if we should return exit <> 0 for this.


Deleting a language fails on foreign key constraint

Lunar version: 0.1.5
Laravel Version: 9.45.1
PHP Version: 8.1.13
Database Driver & Version: MySQL 8.0.13

Expected Behaviour:
Deleting a language doesn't throw errors and deletes the language.
Actual Behaviour:
Deleting a language throws an error.
Stack trace: https://flareapp.io/share/DPyDZWbm#F64
Steps To Reproduce:

Add a new language and make it default
Add a new product
Make another language default
Delete the language added in step 1

In the comment of the delete function in LanguageShow.php it says that it should soft delete the language model, but the model doesn't have the deleted_at column and doesn't use the SoftDeletes trait.

@rubenvanerk I see the PR you put together has closed, can this issue also be closed? Is it still a problem?

The PR was a botched attempt at creating a failing test. The issue still persists.


MM-16937 - Updating padding for channel intro

Summary
MM-16937 - Updating padding for channel intro
Ticket Link
https://mattermost.atlassian.net/browse/MM-16937
Before:

Now:

i dont see any difference 😂

@cpanato See the menu options on the post. :D

@cpanato automatic cherry-pick not working?

saw an error. @enahum checking

/cherry-pick release-5.14

@enahum the milestone had a space in the end of the name and mattermod did not trim that. fixed and also added the slash command to trigger

great

im gonna test here with a non org member to test one case, please ignore

/cherry-pick release-5.14

Looks like you dont have permissions to trigger this command.
Only available for Org members


How is secret managed?

Where do you store $ak_kms_cipherblob? Not quite familiar with CodeBuild.
https://github.com/nwcdlabs/kops-cn/blob/448b5fc45d47d525c9db6c6e54dfbb19a34b1c73/mirror/codebuild/bin/bjs_ecr_auth.sh#L6

I saved it in the CodeBuild project environment variables

However, actually it's recommended to retrieve the parameters straight from the parameter-store.
Check the sample here - https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax

I just updated and use the native parameter-store integration instead.
see https://github.com/nwcdlabs/kops-cn/commit/6a13f9d831c6c68792ba04219a06b97a4013ff26
FYR


Remove border of empty actions in Compendium Browser spell tab

Looks like getActionIcon no longer returns the mystery man as a default image so this had to be adjusted too. Showing the one action icon has always been wrong so this should be better.
Before:

After:

I wish we had an icon for that, like a clock.

I found https://game-icons.net/1x1/delapouite/solar-time.html . Other possible candidates are a clock tower or an alarm clock but nothing really fits.

The "sun rays" are a bit jaggy. Not sure how to fix that.


Add arch to CI tests?

@whot are you interested in adding Arch Linux to the CI tests environment? If so, I recommend this being done with a PKGBUILD like it's done in Tribler.

We have #515 open now, so let's close this bug and resolve the issues there so it gets resolved in the code now too. One less thing to think about when looking at the open issues :)


Migrate Users Flow

Hello,
If i possible to migrate all already created "User flows" from one B2C to another, new created B2C ?

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

ID: e64957b2-62c1-a751-5a18-3f30e2926104
Version Independent ID: dae827dc-ff96-a1dd-7320-8f493953a33e
Content: Tutorial - Create user flows - Azure Active Directory B2C
Content Source: articles/active-directory-b2c/tutorial-create-user-flows.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@JakubW88 Thanks for your question. We are checking on this and will respond to you soon.

There does not appear to be an out of the box way to do this yet. You can import user credentials into new tenants but even that requires corresponding accounts. https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-migration
If you would like to request this as a feature please do so in User Voice and link the request here.
If you have further questions feel free to reach out to us on Q&A.


Added Prefix to Infix using Stack in C

Description
Added Prefix to Infix using Stack in C.
Fixes #758
Type of change

[ ] New feature (non-breaking change which adds functionality)

Checklist:

[ ] My code follows the style guidelines(Clean Code) of this project
[ ] 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
[ ] My changes generate no new warnings

@ravikr126 @Amit366 plz review this PR.


Manually sync store

Clear and concise description of the problem
I want to sync pinia state with local storage every time when a tab is opened. There is a visibility web API that I can use. But I need a method to sync local storage
Suggested solution
In plugin.ts, state is restored with this code
beforeRestore?.(context)

try {
  const fromStorage = storage.getItem(key)
  if (fromStorage) store.$patch(serializer.deserialize(fromStorage))
} catch (_error) {}

afterRestore?.(context)

We can make it a function and export it. So local storage or session storage can be restored manually
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Hi, while i see the motivation behind this idea, I wonder if you had an example of implementation. Like where can this be exported/imported from ? 🤔

I was thinking, you may have an idea for it. I will think about it

Closing this since V2 is now released with the $hydrate method! 🎉

Congratulations 🥇


Clean nerfplayer files

Moving nerfplayer files out as a 3rd party repo, as in https://docs.nerf.studio/en/latest/developer_guides/new_methods.html

Need to close this PR and submit a new one. Used git rebase and everything is messy now...


[FEATURE]: Create Board Settings

Summary
Create Board Settings in order to do toggle the settings for the boards creation
Motivation
Giving the liberty for stakeholders to be able to change the settings accordingly to what is needed/requested.

Suggestions:

[ ] Use Radix Dialog with custom styles

This way you already have the "press ESC" to close, click on overlay to close and other accessability things

[ ] Create separated issues for "Hide Votes from others" and "Post Cards Anonymously"


Fix embedding of github gists

currently, their iframe height doesn't auto-resize

The same issue happening for my GitHub gists also. It doesn't support light-dark mode. Even the iframe is not automatically resizing the code. The share link copies the full gist page and pasting it in notion.


Fix relative link paths in pnpm lockfile

Problem Breakdown
Right now, if you have a monorepo setup with an internal dependency depending on another internal package, the generated pnpm-lock.yaml file does not resolve the paths correctly.
Let's say we have a dependency tree like this.
@package/to-be-isolated (located at packages/to-be-isolated) -> @package/first (located at packages/first) -> @package/second (located at packages/second)
The expected pnpm-lock.yaml content is
importers:

  .:
    dependencies:
      '@package/first':
        specifier: workspace:*
        version: link:./packages/first

  packages/first:
    dependencies:
      '@package/second':
        specifier: workspace:*
        version: link:../second

  packages/second: {}

However, the actual output is
importers:

  .:
    dependencies:
      '@package/first':
        specifier: workspace:*
        version: link:./packages/first

  packages/first:
    dependencies:
      '@package/second':
        specifier: workspace:*
        version: link:./packages/second # <-THIS IS INCORRECT

  packages/second: {}

Please let met know if you need a repro of the problem!

@0916dhkim What does your monorepo folder structure look like? Note that isolate-package only supports monorepos with a flat packages directory structure. There can be multiple packages container directories, but each needs to be flat.
I use isolate-package in projects that have internal dependencies depending on other internal dependencies, so it was designed to handle that, but both packages need to be living in the same parent folder next to each other and not nested.
This is also described in prerequisites.

@0x80 Yes, my company's project is a flat monorepo 👍
The packages are not nested (as in no package is placed inside another), but some internal packages depend on other internal packages. So the dependency tree is deep.
I'll put together a small repro repo to demonstrate the issue soon because I cannot share the private code.

@0916dhkim thanks I'll try to look into it soon. I'm currently travelling and don't have much time behind my computer.

I found the issue. You need to specify in each package manifest, what files are supposed to be published. This is also described in the prerequisites field.
The paths in the generated pnpm lockfile are correct. They should be relative to the root of the isolate directory, and not to each other. to ./packages/first and ./packages/second are both correct.
This is that I added:
"files": [
    "main.js"
  ],

"files": [
    "first.js"
  ],

 "files": [
    "second.js"
  ],

Also isolate-package can be a direct dev dependency on the package that you are isolating, so no need to place it in the root.
Let me know how you get on...

@0x80 Thank you! I will try to add files manifest and see if that fixes the issue.

I tried adding files, but it still results in ERR_MODULE_NOT_FOUND. (Updated the repro repository)
When I look at other open source repos, it seems like pnpm dependencies are linked relative to each importer. Tho I am not 100% sure what is the officially supported behavior.
Example:
@prisma/accelerate-contract depends on @prisma/client, and pnpm-lock.json links to link:../client instead of link:./packages/client.
https://github.com/prisma/prisma/blob/ea868e9aa54e71fd1832c846cca74ec8d0280020/pnpm-lock.yaml#L204-L208

I'm currently travelling and don't have much time behind my computer.

No rush for a response! I really like the library & the ergonomics of the firebase-tools-with-isolate too 🙌

@0916dhkim Looking at it again, I think the manifests are not valid, because they do not contain a main and/or module field pointing to the source.  The package manifest is really the entry point defining the package, so I think it needs to be complete. How else would the consuming package know what the entry point is?

Strange. I don't see the problem yet. If you look at mono-ts, the services/fns package depends on common and backend. If I isolate that package, you can do a pnpm i and execute node dist/index.js without problems.
Maybe you can spot the difference... I'm out of time for now.

@0x80 I identified the difference!
In mono-ts, @repo/fns uses tsup bundler to build. Because all internal modules are resolved & bundled together during the build step before isolate, the isolated output doesn't need to resolve path to @repo/common or @repo/backend.
That is why it runs fine even though the generated pnpm-lock.yaml points to incorrect paths. When you inspect /services/fns/isolate/dist/index.js file, you can see it does not import any @repo/* package.

@0916dhkim Sounds plausible but it would be a major flaw and I'm surprised that you are the first to run into this issue. I will try your fix in the coming days, and added a question to your proposed code.

Thank you 🙏

@0916dhkim Would you like to wrap this up? I'd like to merge your PR before anyone else runs into the problem.


[#131689197] RabbitMq Factory to use Promise V1.1

https://www.pivotaltracker.com/story/show/131689197
Fix bugs when trying to send a rabbitmq event

rabbitmq/factory returns an object { send:Fn, listen:Fn, addQueue:Fn } where send and listen aren't handling getQueue as a promise returning function.

GetQueue was expecting a name as string but got object

Current coverage is 93.46% (diff: 100%)

Merging #10 into master will not change coverage

@@             master        #10   diff @@
==========================================
  Files             4          4
  Lines           153        153
  Methods           3          3
  Messages          0          0
  Branches         15         15
==========================================
  Hits            143        143
  Misses           10         10
  Partials          0          0

Powered by Codecov. Last update 0aece97...1111a41


livecodelab broken on IE9 and IE10 - do some git bisect to find out when things broke...

So this is actually a question I had, are we only going to support IE from version 10 onwards?

I say we forget about IE9 and IE10.
We should fix the sound in IE11 though...


Amazon unable to locate element: id="ap_password"

Running into an issue with Amazon reload. I double checked the password and that doesn't seem to be the problem?

Hmm, I just verified that amazon automation is still working for me. Is this error still happening for you? Can you follow these instructions to send me the error report so I can debug this?
In the failures folder there will be files with timestamps for names. Each timestamp will have 4 pieces ending in .txt, .png, .html, and a folder ending in coverage. Open the .png file and make sure it doesn’t have your credit card number or password showing. Then, email these three files to<EMAIL_ADDRESS>or open an Issue on GitHub and attach them there. You can attach one error or all of them, the more errors to inspect the more helpful.

Sent you an email with the files, any update?
Thanks!

I can see from this screenshot that the page is stuck loading for more than a brief moment while the code tries to find the username/password fields to log in. Open up the program_files/cookies folder on your computer and delete the file that has amazon_gift_card_reload in the name. If that does not work, I'll update the code to add a longer timeout to let the page load for longer before throwing an error.

It is now working. Thank you
On Sat, Oct 17, 2020 at 1:41 PM Jake Hilborn<EMAIL_ADDRESS>wrote:

[image: 2020-10-10_20-07-47-560522_amazon_gift_card_reload]
https://user-images.githubusercontent.com/5554178/96350766-1fbe2700-106c-11eb-8288-c3a78af3c7b6.png
I can see from this screenshot that the page is stuck loading for more
than a brief moment while the code tries to find the username/password
fields to log in. Open up the program_files/cookies folder on your
computer and delete the file that has amazon_gift_card_reload in the
name. If that does not work, I'll update the code to add a longer timeout
to let the page load for longer before throwing an error.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jakehilborn/debbit/issues/37#issuecomment-711063095,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARKPKZG4XSOOTZA6YGRSZVLSLHQM5ANCNFSM4SLNOODA
.


Hey the executors having 5 types in jdk8

The new executor is Executors.newWorkStealingPool();

Added in commit 20b9e8d4a3a35d8482308ab45dc0f6992ae10628.
Thank you for helping me!


SortedSet DV Multi Range query

Description
Here's a sketch of DV analog of MultiRangeQuery. This draft uses bitset for expanding multiple ranges.
It passes random test, but internals are rough yet.
What do you think about this idea overall?
@atris, may I request your comments as an author of MultiRangeQuery?

@gsmiller thanks for reviewing. Looking into!


v1.0.3 fixes

fixes #29, fixes #30

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