Idempotent utility should consider json attribute ordering when creating HASH keys

I was curious about the idempotent implementation and the general property of REST API bodies being un-ordered lists of JSON attributes. A REST API should be resilient to consumers and pragmatic in its approach to reading data supplied by clients calling them.
I created a simple JSON REST API using serverless and Powertools and implemented the Idempotency utility as follows:
import json
import os
from datetime import datetime
from aws_lambda_powertools import Logger, Tracer
from aws_lambda_powertools.utilities.idempotency import DynamoDBPersistenceLayer, idempotent, IdempotencyConfig

logger = Logger()
tracer = Tracer()

table_name = os.environ['TABLE']
persistence_layer = DynamoDBPersistenceLayer(table_name=table_name)
config = IdempotencyConfig(event_key_jmespath="body")

@logger.inject_lambda_context
@tracer.capture_lambda_handler
@idempotent(persistence_store=persistence_layer, config=config)
def handler(event, context):
    body = {
        "message": f"Data Created: {datetime.now()}",
        "input": event['body']
    }

    logger.info('Processing API call - creating the data now!')
    logger.info(event['body'])
    response = {
        "statusCode": 200,
        "body": json.dumps(body)
    }

    return response

I deployed this to AWS and called the API with input as follows:
Test 1
{
    "data": "test message 1",
    "more_data": "more data 1"
}

Test 2
Note JSON attributes are submitted in different order which is OK for a REST API.
{
    "more_data": "more data 1",
    "data": "test message 1"
}

My expectation is that both these payloads will result in the exact same idempotent response since the payloads are essentially the same so far as REST APi conventions go.
The result I actually get is as follows:
Test 1
Result from first call to the API
{
    "message": "Data Created: 2021-08-22 05:14:01.524104",
    "input": "{\n    \"data\": \"test message 1\",\n    \"more_data\": \"more data 1\"\n}"
}

Test 2
Note: This is a different response than the first call to the API - I was expecting the same idempotent response.
{
    "message": "Data Created: 2021-08-22 05:14:42.554149",
    "input": "{\n    \"more_data\": \"more data 1\",\n    \"data\": \"test message 1\"\n}"
}

What were you trying to accomplish?
Implement Idempotency over a simple API using the entire API Body as the key for recognising Idempotency.
Expected Behavior
When calling my API with Test 1 payload and test 2 payload I am expecting the exact same idempotent response.
Current Behavior
Instead I am getting 2 different responses since the order of attributes plays a role in the idempotency key Hashing algorithm used by this utility.
Possible Solution
Suggest looking at using the sort_keys=True option for json.dumps when generating the Hash
Steps to Reproduce (for bugs)

Create lambda API using code similar to code in this report.
send payload: {"data":"test message 1","more_data":"more data 1"}
call API again with same inputs but attribute order changed: {"more_data":"more data 1","data":"test message 1"}
Expect same idempotent response from step 4 as in step 3

Environment

Powertools version used: 1.20.0
Packaging format (Layers, PyPi):
AWS Lambda function runtime: Python 3.8
Debugging logs

Great catch, indeed an oversight. Would you mind sending this fix ;)?
I was planning to include - bring your own serializer - as part of this
release but ran out of time
On Sun, 22 Aug 2021 at 07:42, walmsles @.***> wrote:

I was curious about the idempotent implementation and the general property
of REST API bodies being un-ordered lists of JSON attributes. A REST API
should be resilient to consumers and pragmatic in its approach to reading
data supplied by clients calling them.
I created a simple JSON REST API using serverless and Powertools and
implemented the Idempotency utility as follows:
import jsonimport osfrom datetime import datetimefrom aws_lambda_powertools import Logger, Tracerfrom aws_lambda_powertools.utilities.idempotency import DynamoDBPersistenceLayer, idempotent, IdempotencyConfig
logger = Logger()tracer = Tracer()
table_name = os.environ['TABLE']persistence_layer = DynamoDBPersistenceLayer(table_name=table_name)config = IdempotencyConfig(event_key_jmespath="body")
@@.@.(persistence_store=persistence_layer, config=config)def handler(event, context):
body = {
"message": f"Data Created: {datetime.now()}",
"input": event['body']
}
logger.info('Processing API call - creating the data now!')
logger.info(event['body'])
response = {
    "statusCode": 200,
    "body": json.dumps(body)
}

return response

I deployed this to AWS and called the API with input as follows:
Test 1
{
"data": "test message 1",
"more_data": "more data 1"
}
Test 2
Note JSON attributes are submitted in different order which is OK for a
REST API.
{
"more_data": "more data 1",
"data": "test message 1"
}
My expectation is that both these payloads will result in the exact
same idempotent response since the payloads are essentially the same so far
as REST APi conventions go.
The result I actually get is as follows:
Test 1
Result from first call to the API
{
"message": "Data Created: 2021-08-22 05:14:01.524104",
"input": "{\n    "data": "test message 1",\n    "more_data": "more data 1"\n}"
}
Test 2
Note: This is a different response than the first call to the API - I was
expecting the same idempotent response.
{
"message": "Data Created: 2021-08-22 05:14:42.554149",
"input": "{\n    "more_data": "more data 1",\n    "data": "test message 1"\n}"
}
What were you trying to accomplish?
Implement Idempotency over a simple API using the entire API Body as the
key for recognising Idempotency.
Expected Behavior
When calling my API with Test 1 payload and test 2 payload I am
expecting the exact same idempotent response.
Current Behavior
Instead I am getting 2 different responses since the order of attributes
plays a role in the idempotency key Hashing algorithm used by this utility.
Possible Solution
Suggest looking at using the sort_keys=True option for json.dumps when
generating the Hash
Steps to Reproduce (for bugs)

Create lambda API using code similar to code in this report.
send payload: {"data":"test message 1","more_data":"more data 1"}
call API again with same inputs but attribute order changed:
{"more_data":"more data 1","data":"test message 1"}
Expect same idempotent response from step 4 as in step 3

Environment

Powertools version used: 1.20.0
Packaging format (Layers, PyPi):
AWS Lambda function runtime: Python 3.8
Debugging logs

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-lambda-powertools-python/issues/638, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZPQBCP5QKEPKD6SKJ7GALT6CE3PANCNFSM5CSS5JKQ
.

@heitorlessa  Let me have a go - The test for this one are slightly scary but let me take a look :-)

Not to worry, I know it can be intimidating as it's the most complex part of Powertools - Just got a test for that while I wait for my flight ;) Fix coming soon

Waiting for CI checks then releasing it ;)
That's how a test for that looks like
def test_idempotent_data_sorting():
    # Scenario to validate same data in different order hashes to the same idempotency key
    data_one = {"data": "test message 1", "more_data": "more data 1"}
    data_two = {"more_data": "more data 1", "data": "test message 1"}

    # Assertion will happen in MockPersistenceLayer
    persistence_layer = MockPersistenceLayer("test-func#" + hashlib.md5(json.dumps(data_one).encode()).hexdigest())

    # GIVEN
    @idempotent_function(data_keyword_argument="payload", persistence_store=persistence_layer)
    def dummy(payload):
        return {"message": "hello"}

    # WHEN
    dummy(payload=data_two)

@heitorlessa all the MockPersistenceLayer setups need to include 'sort_keys=True' for all the existing tests as well.  I had progressed to making the existing tests fail Will wait for your fix to come through

Fixed it - it was actually needed in conftest too as there were plenty of json.dumps for dummy hash idempotency keys. Turns out I forgot how long I had to walk to find my gate ;D
For the MockPersistenceLayer, I didn't include the sort_keys up there deliberately, so I can pass payload=data_two down there to ensure they're sorted in the implementation

Available in PyPi now as 1.20.1 - Lambda Layers might take up to 5 minutes to complete ;)
Thank you so so much again @walmsles !


sass --embedded doesn't reliably exit when closing stdin

See https://github.com/sass/dart-sass/issues/2001

This is now fixed upstream.


Make Spark datasets more consistent with SQL datasets in terms of connection pattern

(transfer from Jira, created by @lorenabalan)
Follow-up to https://github.com/kedro-org/kedro/pull/1163 and [KED-2865]
The Spark datasets already use a version of singletons, namely the Java object through the pyspark API. However we can take an extra step and create a singleton connection that works as a class attribute, similar to what we do now for SQL datasets (except it'll probably be an actual singleton, as I don't believe there's a case where users would need to connect to multiple Spark clusters?

Closing this as there hasn't been any activity or indication users really need this. It can always be done by our community if need does arise.


add SQL/crate.io, logagent log shipper, Free E-Book "Performance Moni…

…toring"

Hi @megastef,
Thank you for your PR!
Could you please make the following additional changes:

Free E-Book: [Performance Monitoring Essentials - Elasticsearch Edition] -- please move this link to the category "Scalable Infrastructure and performance". This looks more like an article, not the book.

Crate.io - a distributed SQL database (integrated Elasticsearch engine) - Could you please remove this item. This could be a great database engine, but I don't see a really strong relation between this database and elasticsearch.

I am ready to accept "logagent" and "Working with Elasticsearch - Search, Aggregate, Analyze, and Scale Large Volume Datastores", but since those links came in same PR, I am postponing this PR until the the issues above are resolved.
Thank you,
@dzharii

@megastef, thank you for your contribution!
Merged!


 I don't find the tracking to be very accurate, and the ids change too often and essentially the bounding boxes drawn are jittery.
I want to know is there a way to adjust the tracker (i.e change the number of missed frames to drop track). Or to incorporate a different tracker.

All the documentation is in our repo or in Google's ML Kit official documentation:

https://github.com/bharat-biradar/Google-Ml-Kit-plugin/tree/master/packages/google_mlkit_face_detection#googles-ml-kit-face-detection-for-flutter
https://developers.google.com/ml-kit/vision/face-detection
https://developers.google.com/ml-kit/vision/face-detection/face-detection-concepts
https://developers.google.com/ml-kit/vision/face-detection/ios
https://developers.google.com/ml-kit/vision/face-detection/android

Our API maches the APIs explained in Google's ML Kit official documentation.
https://github.com/bharat-biradar/Google-Ml-Kit-plugin/blob/master/packages/google_mlkit_face_detection/lib/src/face_detector.dart


Migrate to Azure Dev Ops

Hello,
I am trying to migrate to Azure DevOps and am having an issue. There appears to be a configuration issue between AppCenter and Dev ops as the same repo is giving me an error with an unsatisfiable dependancy. Would it be possible to get the generated .sh files from AppCenter to see what flags are being passed to the build steps so I can replicate them on DevOps?
Thank you,
Nick

I'll see if I can get these definitions added to this repo so developers can grab the same ones we use out of the repo for their own DevOps implementations. Will circle back once I track them down.

I'd say for the future would be really neat if we could have a button in the UI that could convert it into the DevOps build pipeline automatically, but for now the definitions in the repo would be great!


[BUG] load_checkpoint fails after deepspeed engine started training

Describe the bug
load_checkpoint works when a fresh deepspeed engine was created, but if you train with it and try again load_checkpoint fails.
This is exactly the same issue as reported in https://github.com/microsoft/DeepSpeed/issues/1394 which was closed with a workaround but not with a solution.
I used the same re-init workaround I proposed on that issue in Transformers: https://github.com/huggingface/transformers/pull/14652 when users want to reload the best model at the end of the training, but this would be hugely slow for any large model, because everything has to be reallocated.
Thank you!
Reproduction script: https://github.com/microsoft/DeepSpeed/pull/1750#issuecomment-1033340408
@tjruwase, @jeffra

I'm not using any zero stage and still have the same issue @tjruwase


Remove demo-server and receipts code

They're in attic now: https://github.com/attic-labs/attic

Powered by Codecov. Last update 26391d9...f2674ea


Allow expires_in equals 0

https://github.com/thephpleague/oauth2-client/pull/606

Codecov Report

Merging #791 into master will not change coverage.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##              master      #791   +/-   ##
===========================================
  Coverage     100.00%   100.00%
  Complexity       180       180
===========================================
  Files             20        20
  Lines            464       428   -36
===========================================
- Hits             464       428   -36

Impacted Files
Coverage Δ
Complexity Δ

src/Token/AccessToken.php
100.00% <100.00%> (ø)
27.00 <0.00> (ø)

src/Grant/Password.php
100.00% <0.00%> (ø)
2.00% <0.00%> (ø%)

src/Grant/GrantFactory.php
100.00% <0.00%> (ø)
8.00% <0.00%> (ø%)

src/Grant/RefreshToken.php
100.00% <0.00%> (ø)
2.00% <0.00%> (ø%)

src/Tool/RequestFactory.php
100.00% <0.00%> (ø)
3.00% <0.00%> (ø%)

src/Grant/AuthorizationCode.php
100.00% <0.00%> (ø)
2.00% <0.00%> (ø%)

src/Provider/GenericProvider.php
100.00% <0.00%> (ø)
23.00% <0.00%> (ø%)

src/Provider/AbstractProvider.php
100.00% <0.00%> (ø)
64.00% <0.00%> (ø%)

src/Tool/ProviderRedirectTrait.php
100.00% <0.00%> (ø)
12.00% <0.00%> (ø%)

... and 1 more

Sorry to taking so long to review this.
Can you provide more details about why this change is needed? Thanks!


Entry level PPD and CCDs?

PPD and CCD can be added at the batch level:
    self.ach_file.add_batch('CCD',entries,credits=False)

but as per the ACH spec, it can also be added at the entry level.
So can something like this be done?
        dbt_entry =  {  'type' : '27',
                        'routing_number' : str(dbt_user_bank.routing_number),
                        'account_number' : str(dbt_user_bank.account_number),
                        'amount' : tx.amount,
                        'name' : dbt_user.name,
                        'trace_num': tx.transaction_id,
                        'std_ent_cls_code': 'CCD'}

How easy/hard will it be in the current version of python-ach? Any pointers
I am trying to add multiple CCD and PPD type transactions (aka entries) in a single batch.

@sankaet No it didn't, I am working on a fix


Autocompletion uses dummy template with Qwen Coder + Ollama

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: MacOS
- Continue version: main
- IDE version: VS Code
- Model: N/A
- config.json:
  "tabAutocompleteModel": {
    "title": "Qwen 2.5 Coder 3B",
    "provider": "ollama",
    "model": "qwen2.5-coder:3b",
    "contextLength": 2048,
    "completionOptions": {
      "temperature": 0.15,
      "topP": 0.6,
      "topK": 10,
      "maxTokens": 256,
      "keepAlive": 14400
    }
  },

Description
When using qwen coder via ollama, a dummy prompt format (madeupFimPromptTemplate) instead of Qwen's proper FIM prompt template.
To reproduce
This doesn't happen with LM Studio as a backend. I was not able to provide a PR.
Log output
No response

This this especially severe, as Qwen Coder is the commended local model, as per the docs of continue.
And this makes it try to talk instead of complete code, or provide absurd suggestions.

@AnnoyingTechnology this is confusing but we only use madeUpFimPrompt for logging purposes. @sestinj is opening a PR now to make it more obvious.
That said, let us know If you see this template in Ollama logs specifically (not in Continue logs). That would indicate that there's an issue after all.

Spent 2h with debugging statements everywhere already. I don't understand why this gets used (and not for logging), but it is.
At this point you have to try.


Review of revised manuscript

@munkm The revised manuscript is now ready for review.
Revised manuscript: revised.pdf
Review comments and replies: revise.pdf

@smpark7 When you submit the paper, do you intend to send a marked up version which reflects the changes you made?

@gwenchee That would be useful. Is there a better way to do that than latexdiff?

I have heard good things about git-latexdiff for the git support.

I'm not sure what I used. But, I remember it being quite low effort.

@munkm Here's my latexdiff output. It worked this time without any issues!
latexdiff.pdf

Excellent!!! Thanks @smpark7!

@munkm In addition to the changes I've made, please let me know whether I should:

Include an outline paragraph at the end of the introduction section (e.g. something like "The outline of this paper is as follows: Section 2 describes ...")
Rename the "Results" section to "Results and Discussion"

I think this is closed now!


Implement pollChatPosts

http://dev.bukkit.org/bukkit-plugins/raspberryjuice/files/9-raspberry-juice-v1-7/
Fetch chat-posts from RaspberryJuice 1.7.
make test is passed.
world.events.poll()  # [<ChatPostEvent message=Hello picraft! player=238>, ...]

@world.events.on_chat_post()
def echo(event):
  world.say(event.message)

world.events.main_loop()

Fantastic stuff! Don't worry about the test failure - I've had a look at it and it looks like "coverage" has annoyingly dropped support for Python 3.2, so I'll need to work around that on several projects.


Add no_pivot flag

related issue https://github.com/NVIDIA/libnvidia-container/issues/31
This work adds a flag option to not use pivot root in order to support scenarios where the tool runs on filesystems that are not supported by pivot_root.

@RenaudWasTaken sure thing! thank you


Add 5 Icons

Description

Added 5 icons
Icons addition information

Added
Bonza Word Puzzle (air.au.com.minimega.bonza)*
Bin Reminder (com.retfunsoft.binreminder)
DAIKIN Mobile Controller (ao.daikin.remoapp)
Sony | Auto Play (jp.co.sony.hes.knock)
LiveATC (net.liveatc.liveatc_app)
* 90° angles not curved because it spoils the shape. Additionally, an alternative is to have this without the dots, they symbolise the letters that are in the original icon.
Contributor's checklist

[x] I followed the Lawnicons Guidelines (upd. Jan 2024) and will make changes if someone suggests. I will also make sure that Lawnicons builds correctly.

It is surprising that pixel-perfect is difficult in Inkscape. Almost all the icons that were made there have fractional numbers.

It is surprising that pixel-perfect is difficult in Inkscape. Almost all the icons that were made there have fractional numbers.

Yes, it's quite annoying

Yes, it's quite annoying

If it doesn't matter to you where to create icons, then I suggest you try Figma. There is not such a wide range of work with vectors, but it may be more comfortable and faster.


[feat] ControlNet-Transformer and SparseCtrl

ControlNet is a pretty musthave feature for diffusion models, so it will be nice to have it implemented
For example, PixArt-alpha has a ControlNet-Transformer (modified from the Unet-one) module allowing it to take various conditionings
Additionally, the authors of AnimateDiff have released the SparseCtrl ControlNet modification specially for text2video enabling it to take the conditions sparsely at given frames instead of requiring to duplicate/interpolate them to all the frames
https://github.com/guoyww/AnimateDiff#202312-animatediff-v3-and-sparsectrl

We will pay more effort to control when the base is good enough.


NEGaussian Right/Left Border removed

Output of 'strings libarm_compute.so | grep arm_compute_version':
arm_compute_version=v19.02 Build options: {'arch': 'armv7a', 'opencl': '0', 'neon': '1', 'examples': '1', 'asserts': '0', 'debug': '0', 'os': 'linux', 'Werror': '1'} Git hash=29f6788cee8881c5523a042a0ac9b0131d993768
Platform:
rpi 3
Operating System:
raspbian

Problem description:
When using NE gaussian blur functions, 8 pixels from the right and left border of ppm-loader  #loaded images get removed. In the attached image i used a 5x5 kernel. The same error appears when using a 3x3 kernel. The top and bottom of the image looks okey so far.
Can someone reproduce this? I used opencv as reference where this error doesnt happen.

Hi @julled
Could you please share the code you use to test this? It would be also helpful if you shared more details on the input (shapes,etc)

Test-Img:
https://ufile.io/i781d
Code:
`
#include "arm_compute/runtime/NEON/NEFunctions.h"
#include "arm_compute/core/Types.h"
#include "utils/ImageLoader.h"
using namespace arm_compute;
using namespace utils;
int main(int argc, char **argv)
{
Image src{};
PPMLoader ppm;

if(argc < 2)
{
    src.allocator()->init(TensorInfo(640, 480, Format::U8));
}
else
{
    ppm.open(argv[1]);
    ppm.init_image(src, Format::U8);
}
src.allocator()->allocate();

if(ppm.is_open())
{
    ppm.fill_image(src);
}

NEGaussian5x5 blur{};
Image blurredImg{};
blurredImg.allocator()->init(*(src.info()));

blur.configure(&src, &blurredImg, BorderMode::CONSTANT);
blurredImg.allocator()->allocate();
blur.run();

// Save the result to file:
std::cout << "Save... "<< "\n";
save_to_ppm(blurredImg,"out.ppm"); // save_to_ppm maps and unmaps the image to store as PPM
std::cout << "Save Finished! "<< "\n";

return 0;

}
`

Hi @julled
Could you please try moving:
src.allocator()->allocate();
if(ppm.is_open())
{
ppm.fill_image(src);
}
after blur.configure(&src, &blurredImg, BorderMode::CONSTANT)

Hi @julled
Gaussian5x5 needs padding to operate on the full input image, if you call allocate() after configure() this extra padding is added automatically by the library. If you don't do that, the library will reduce the area on which the kernel is executed to ensure not writing outside the bounds of the input image.
Quoted from the library documentation:

It's important to call allocate after the function is configured: if the image / tensor is already allocated then the function will shrink its execution window instead of increasing the padding. (See below for more details).

https://arm-software.github.io/ComputeLibrary/v19.02/architecture.xhtml#S4_6_images_tensors


Go libraries should support dispatcher restarts

Currently if the dispatcher restarts while a Go process is running, the process will lose connection and never recover, while the python code ~gracefully reconnects. We need to add this capability to the go libraries too.

#1621 is related.

Reopening because this does not cover the Border Router, Certificate Server and SIG yet.

Closing this as the issues are now tracked by https://github.com/scionproto/scion/issues/1896, https://github.com/scionproto/scion/issues/1897, https://github.com/scionproto/scion/issues/1898.


Create output-dir if missing

@bacongobbler I found this change pretty useful.  As a newbie to helm, I am interested in knowing why this would be a breaking change. Any issue/PR that references this?

in master, if you do a helm template -o foo mychart, it is expected that foo already exists and error out if it doesn't. By changing that behaviour to create that directory, we are breaking that assumption.
See https://github.com/helm/helm/blob/master/CONTRIBUTING.md#semantic-versioning for more detail on what's covered under our semver contract.

@bacongobbler Sure. Makes sense. Thanks!

@bacongobbler I can add a flag to make sure that this is backwards compatible. But I think that we should make this the default in helm 3.

ping, are you looking to refactor this PR or should we go ahead and close this?

I think there little value added in adding a new flag. My other tools using helm have evolved with the folder creation restriction already handled outside of helm. I'll close this for now. Thanks.


Pdf Preview and help page issue

What system are you running Yazi on?
macOS
What terminal are you running Yazi in?
iterm2
yazi --debug output
Yazi
    Version: 0.3.2 (69e7c8f 2024-08-30)
    Debug  : false
    OS     : macos-aarch64 (unix)

Ya
    Version: 0.3.2 (69e7c8f 2024-08-30)

Emulator
    Emulator.via_env: ("xterm-256color", "iTerm.app")
    Emulator.via_csi: Ok(Iterm2)
    Emulator.detect : Iterm2

Adapter
    Adapter.matches: Iterm2

Desktop
    XDG_SESSION_TYPE           : None
    WAYLAND_DISPLAY            : None
    DISPLAY                    : None
    SWAYSOCK                   : None
    HYPRLAND_INSTANCE_SIGNATURE: None
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    /proc/sys/fs/binfmt_misc/WSLInterop: false

Variables
    SHELL              : Some("/bin/zsh")
    EDITOR             : Some("nvim")
    VISUAL             : Some("nvim")
    YAZI_FILE_ONE      : None
    YAZI_CONFIG_HOME   : Some("/Users/anirudhgupta/dotfiles/yazi/.config/yazi")

Text Opener
    default: Some(Opener { run: "${EDITOR:=vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })
    block  : Some(Opener { run: "${EDITOR:=vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR", for_: None, spread: true })

Multiplexers
    TMUX               : false
    tmux version       : 3.4
    ZELLIJ_SESSION_NAME: None
    Zellij version     : No such file or directory (os error 2)

Dependencies
    file             : 5.41
    ueberzugpp       : 2.9.2
    ffmpegthumbnailer: 2.2.2
    magick           : 7.1.1-36
    fzf              : 0.54.3
    fd               : 10.1.0
    rg               : 14.1.0
    chafa            : 1.14.2
    zoxide           : 0.9.4
    7z               : 17.05
    7zz              : No such file or directory (os error 2)
    jq               : 1.6

--------------------------------------------------
When reporting a bug, please also upload the `yazi.log` log file - only upload the most recent content by time.
You can find it in the "/Users/anirudhgupta/.local/state/yazi" directory.

Did you try the latest nightly build to see if the problem got fixed?
Yes, and I updated the debug information above (yazi --debug) to the nightly that I tried
Describe the bug
The issue is that, when you use ur mouse to scroll the pdf is, it works fine.
But when you go inside the help while hovering the pdf, and then scroll with mouse, then the flickering happens, as in the video.
https://github.com/user-attachments/assets/00f8b487-d996-4448-8602-4c3e4698aaaa
Just found out by chance.
Minimal reproducer

Take any pdf with MANY pages.
hover it and test if mouse scrolling change pages or not(it should)
Press ~ to go to help
Again do the same scrolling motion with touchpad/mouse, and you can see it

Anything else?
No response

Also, can we have mouse scrolling inside help?

Is there any updates for this issue? Just curious...


Fix votes on own posts

Currently users can vote their own posts (questions, answers, replies), Shouldn't we forbid user voting their own posts?
@siinghd  @devsargam
Can work on it if required?

I think its common for users to vote their own questions and everything . it happens everywhere

Like @wraith2009 said it's a common usecase and done in most of places


decoder: allow disabling location printing for defmt frames

This is a breaking change to the decoder but since decoder is entirely unstable that seems like it's not an issue.

Is this obsoleted by #765?


Add tests for uuid format

The tests of uuidWithHyphen.json and uuidWithoutHyphen.json against
identifier.json are both valid. However,
smallGeneralComponentWithoutHyphen.json is invalid against dbe.json:
./examples/dbe/smallGeneralComponentWithoutHyphen.json invalid
[
  {
    instancePath: '/components/0/id',
    schemaPath: '#/$defs/central/format',
    keyword: 'format',
    params: { format: 'uuid' },
    message: 'must match format "uuid"'
  },
  {
    instancePath: '/components/0/id',
    schemaPath: '#/$defs/decentral/type',
    keyword: 'type',
    params: { type: 'object' },
    message: 'must be object'
  },
  {
    instancePath: '/components/0/id',
    schemaPath: '#/oneOf',
    keyword: 'oneOf',
    params: { passingSchemas: null },
    message: 'must match exactly one schema in oneOf'
  }
]

@simon-wacker Do you know why?

As the first error message says, it's not a valid UUID. We use ajv-formats to test for validity of UUIDs, which uses the standard RFC 4122, and in this hyphens are not allowed.

I have corrected identifier.json. The definition of decentral was lacking additionalProperties: false
and required: [value,issuedBy]. I added some tests and corrected some examples.
I have renamed CRI to ColorRenderingIndex.


Rename rows_ to ranges_ in detail::Destination

The rows_ member of detail::Destination is misleading because it is
actually a list of IndexRange(an IndexRange represents a row-range).
In an IndexRange, there may be only one row, but it may also include
multiple consecutive rows(in the scenario of only one partition).
To avoid misunderstandings and improve readability, rows_ is renamed
to ranges_, and row_ is renamed to rangeIdx_.
No functional change in the PR.

@lingbin CI test is failing. Can you take a look if it is relevant? thanks!

@lingbin it is unrelated and the flaky cache test should have been fixed.

@lingbin CI test is failing. Can you take a look if it is relevant? thanks!

@lingbin it is unrelated and the flaky cache test should have been fixed.

@xiaoxmeng  Thank you for your review and checking on the ci test failure.


Issue with basis_set_exchange.readers.crystal.read_crystal

To whom it may concern,
Recently I identified an issue with the 'read_crystal' function of readers/crystal.py script. At line 232, its returned value is return bs_data, making it incompatible with script that calls it (read.py).  In line 163-164, there should be 2 returned values: element data and other_data.
This issue leads to error to either convert_formatted_basis_file or convert_formatted_basis_str' when in_fmt='crystal'`. By examining the script 'readers/crystal.py', i did not identify a particular case that would lead to a valid 'other_data', so I would recommend to add
the following lines to read_crystal function:
other_data = {}
return bs_data, other_data

Let me know. Kind regards,
Huanyu

I think this has been fixed already: https://github.com/MolSSI-BSE/basis_set_exchange/blob/aeaf79cba797c7da47c7fe3670056bea9ab3fe48/basis_set_exchange/readers/crystal.py#L233
What version are you using?

Hi Benjamin,
Many thanks for your reply. That is v0.9.1 released at 2023-02-10T12:47:13-0500 installed via PyPI on 20/05/23.
Regards,
Huanyu

Sorry you are right. The fix was merged shortly after that version was released. I will probably do a small release soon to address this and other small issues.

Thanks for confirming this and I am looking forword to the new release!


Get queue position when a job is in the queue

Feature details
This was implemented before the migration to slurm. Maybe the queue position could also be shown in the api.list_jobs() dataframe (right now status only has "completed" or "queued" entries, it would be nice if the queued ones could contain the queue position).
Implementation
No response
How important would you say this feature is?
1: Not important. Would be nice to have.
Additional information
No response

Hi, thank you for your suggestion! Nevertheless, if you update qiboconnection to 0.15.2, you should see the position of your job when doing qiboconnection_api.get_job(). Note this position only takes into account QaaS jobs as the API is not aware of the lab ones

It would be good though to also include it in the list_jobs, specially thinking about the web. I'll try to add this the next time we edit the models for the web

Thank you both!

Functionality in last release !!


Update to OpenJDK19

See https://github.com/conda-forge/openjdk-feedstock/issues/92
Updating to 19 because I specifically need this version. The project I try to wrap uses gradle using a v19 toolchain .. no idea if this could also work with v20.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender


Support for JSON message format

Does it support JSON message format?
If yes, is there any documentation?

Found outputFormat source cofiguration.

Here is the public docs too on JSON format: https://docs.datastax.com/en/cdc-for-cassandra/docs/2.2.2/cdcExample.html#_deploy_pulsar_connector


Documented default SUC deployment with Rancher k3s upgrades

Closes #3190

@dweomer can you ciricle back to this? If youre feedback is addressed, can you officially approve?


Re-check after instance creation

What this PR does / why we need it:
We currently don't re-enque machines after instance creation. That means if the creation fails silently, we will never notice because nothing triggers the reconciliation of the machine.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
none

/lgtm
/approve

/retest


deployImageApi implementation

Edit: Ready for review.

I wasn't sure how much string validation was necessary on the passed imageName. Right now it's pretty minimal - I just check to make sure there a matching number of args after we split up the imageName using .split('/'). I could definitely add some more robust validation, but wasn't sure how deep to go on it.

We can break up the image name in the Docker extension to pretty much any degree required, so if a slightly different format for the passed-in data is easier, feel free to change it.

Latest changes contingent on the changes from this PR


Adding regexp routing integration test

R: @jeffposnick @addyosmani
Some integration tests for workbox-routing. This just focuses on Regular Expression Options.

Changes Unknown when pulling 766f0aa8959b8a3ddf8a65d073ba67509113b892 on routing-regexp-test into ** on v3**.


Disable chrome autofill

It's interfering and annoying. autocomplete="false" should do the trick

autocomplete="new-password" is supposed to work, but results are variable. Not worth spending more time on for now.


Copy version in app header

@davidzbiral Would you prefer to make it possible by highlighting text or button?

I created a duplicate but it has more info => closing this one and continuing there: #995.


codeigniter session userdata from page to page working before but eventually lost on page redirect

It seems something has gone wrong with my Codeigniter internal. I was able to access session variables from one page to another. But something made me to reinstall PHP and Database (MariaDB).
After the installation my Codeigniter project start losing session data from one page to another page. I did checked if session is actually creating in ci_sessions table; and behold it does; and i can access the session variable from the same page it was set with userdata and not flashdata.
For example
Tt.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Tt extends CI_Controller
{
    public function __construct()
    {
	    parent::__construct();
    }
    public function index()
    {
	    $this->session->set_userdata('aa','emi');
        /* if header redirect is commented out and i echo the below
        echo $this->session->userdata('aa'); //will display "emi" */
        /*but if header redirect is not commented out and redirect to Vv.php controller*/
	    header("Location: vv"); /*echo $this->session->userdata('aa'); shows nothing in Vv.php controller*/
    }
}

Vv.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Vv extends CI_Controller
{
    public function __construct()
    {
	    parent::__construct();
    }
    public function index()
    {
	    echo $this->session->userdata('aa'); //shows nothing
    }
}

I haven't set anything else other than uninstalling and installation of  php and database (MariaDB). But before then I can access session variable set in Tt in Vv, and vice versa.
Session setting in config.php is below:
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

Database Setting in database.php
$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
  'dsn'	=> '',
  'hostname' => '<IP_ADDRESS>',
  'username' => 'root',
  'password' => '<mypassword>',
  'database' => 'appname',
  'dbdriver' => 'mysqli',
  'dbprefix' => '',
  'pconnect' => FALSE,
  'db_debug' => (ENVIRONMENT !== 'production'),
  'cache_on' => FALSE,
  'cachedir' => '',
  'char_set' => 'utf8',
  'dbcollat' => 'utf8_general_ci',
  'swap_pre' => '',
  'encrypt' => FALSE,
  'compress' => FALSE,
  'stricton' => FALSE,
  'failover' => array(),
  'save_queries' => TRUE
);

I've tried everything possible but still no luck to get it working back, I don't know if it is MariaDB lock on read. I will be glad if someone can suggest a solution. Also on Stackoverflow.

This is a bug tracker, we don't answer to general help requests here.
We also don't like cross-posts.

If you are using a older version of codeigniter 3 with php 7. upgrade it to a newer version. that'll fix your problem

Yes, CI 2.x.x is not working good with php 7, upgrading to new version of CI will fix the problems.


Upscaling with img2img and Real-ESRGAN

https://github.com/jquesnelle/txt2imghd
This is prettuy great and results are impressive, he splits big upscale from ESRGAN into small chunks and upscales using img2img and same prompt , so this gives best result.
https://raw.githubusercontent.com/jquesnelle/txt2imghd/master/gallery/00091ud.png
More samples https://github.com/jquesnelle/txt2imghd/tree/master/gallery
You think incorporating it into the webui would be feasible ?

I wanted to add this. I implemented it on my end and functionally it works but I realized the results are not always great. But I guess it's more to do with the limitations of the technique rather than the implementation itself.
I'll refine this and maybe make a PR sometime later today or tomorrow.

ive been doing this manually with gigapixel, DD, or JAX diffusion depending on the image. good to know that img2img also is very useful!

I wanted to add this. I implemented it on my end and functionally it works but I realized the results are not always great. But I guess it's more to do with the limitations of the technique rather than the implementation itself.
I'll refine this and maybe make a PR sometime later today or tomorrow.

That would be super awesome, there so many styles that i m sure it will work amazing on some but not so much on other ones, but having it as option would be fantastic from what ive seen in gallery results, do you have some results somewhere ?

I wanted to add this. I implemented it on my end and functionally it works but I realized the results are not always great. But I guess it's more to do with the limitations of the technique rather than the implementation itself.
I'll refine this and maybe make a PR sometime later today or tomorrow.

That would be super awesome, there so many styles that i m sure it will work amazing on some but not so much on other ones, but having it as option would be fantastic from what ive seen in gallery results, do you have some results somewhere ? Maybe good pipline about it would be adjustable layer-like blend of - original image - sharpened image with basic 2d sharpen after 4x upscale - img2img result. So blended 3 layers, with 3 sliders. while AI upscale is good on some styles i found that simple sharpening of pythons filter2d can get good results blended/merged with ai upscale https://www.analyticsvidhya.com/blog/2021/08/sharpening-an-image-using-opencv-library-in-python/#:~:text=To sharpen an image in,image that will undergo sharpening.

I'll work on it in the coming days.
I'm currently working to optimize the GFPGAN patch. That patch already implements ESRGAN to this project. The link you gave also uses ESRGAN but it uses the external CLI for it. Doing both would be redundant. I need to figure out a way to implement this  same thing but using the ESRGAN that's already in the project. Not to mention optimizing it. Shouldn't be too hard but need to figure out the kinks.

I was able to run "jquesnelle/txt2imghd" in "CompVis/stable-diffusion". (# all references to "watermark / wm").
Yes, the result is not always good. And quite often this method tries to add something to an empty place (artifacts or something from the prompt). But when it works, it works just awesome!
Very lacking interactive command-line :/
I also tried to do it manually. generate image -> upscale -> slicing -> img2img -> image merging... It turns out a lot of manual work, but the result is impressive. The main thing is not to cut the images without overlaps.  :)

I was able to run "jquesnelle/txt2imghd" in "CompVis/stable-diffusion". (# all references to "watermark / wm"). Yes, the result is not always good. And quite often this method tries to add something to an empty place (artifacts or something from the prompt). But when it works, it works just awesome! Very lacking interactive command-line :/ I also tried to do it manually. generate image -> upscale -> slicing -> img2img -> image merging... It turns out a lot of manual work, but the result is impressive. The main thing is not to cut the images without overlaps. :)

The main issue I found with the method is that the prompt needs to be super detailed. If it's trying to fill spaces that empty, it often tries to add the same stuff across all the newly generated images. So you end up with say birds in all the prompt generations instead of them just being in the sky.
It's definitely not for all types of prompts but it works great when it does. I actually did a manual try too before I tried this code. It got much better results b ut that's because I was very careful to get the right kind of effect I needed. But it was a LOT of work.

The main issue I found with the method is that the prompt needs to be super detailed. If it's trying to fill spaces that empty, it often tries to add the same stuff across all the newly generated images. So you end up with say birds in all the prompt generations instead of them just being in the sky.
It's definitely not for all types of prompts but it works great when it does. I actually did a manual try too before I tried this code. It got much better results b ut that's because I was very careful to get the right kind of effect I needed. But it was a LOT of work.

I agree. It's not perfect and it takes a long time. But overall, I'm happy with this find. In fact, it turns out to be a universal upscaler! It's almost like DFDNet, but for anything (of course a detailed prompt is required). it's just awesome.

I've done limited testing, but the upscaling works great nearly all the time. The face fixing is hit-and-miss. It works better for large faces than smaller ones.
Lincoln


Fix broken test in native editor

Codecov Report

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

@@            Coverage Diff             @@
##           master    #8220      +/-   ##
==========================================
- Coverage   58.66%   58.61%   -0.05%
==========================================
  Files         504      504
  Lines       23107    23107
  Branches     3725     3725
==========================================
- Hits        13555    13544      -11
- Misses       8673     8677       +4
- Partials      879      886       +7

Impacted Files
Coverage Δ

src/client/common/utils/platform.ts
64.7% <0%> (-11.77%)
:arrow_down:

src/client/common/platform/pathUtils.ts
66.66% <0%> (-5.56%)
:arrow_down:

src/client/linters/pydocstyle.ts
84.61% <0%> (-5.13%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
79.24% <0%> (-3.78%)
:arrow_down:

src/client/interpreter/locators/helpers.ts
70.73% <0%> (-2.44%)
:arrow_down:

src/client/common/process/proc.ts
13.28% <0%> (-1.57%)
:arrow_down:

src/client/datascience/constants.ts
99.65% <0%> (-0.35%)
:arrow_down:

Continue to review full report at Codecov.

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


Docker version 18.09.2 (prometheus doesn't scrape nodes)

Hi @stefanprodan,
First of all great repository and thanks for sharing. I noticed that on recent versions of Docker prometheus can't discover other nodes, more specifically,
Client:
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        6247962
 Built:             Sun Feb 10 04:13:47 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 03:42:13 2019
  OS/Arch:          linux/amd64
  Experimental:     false

I'm pretty sure the problem is that prometheus is not able to discover the node-exporter on other nodes. I would be happy to adapt the package to a newer docker version. Can you provide some guidelines on how to debug or where to look?

I guess the ingress network of docker was not working. I'm closing down this issue


[Branch]Rename merge_branch to fast_forward

Purpose

Rename merge_branch to fast_forward
Detail is here: https://lists.apache.org/thread/q46clxx38fz7n1xw0sgscmcslo3qrp5c

Tests

API and Format

Documentation

cc @JingsongLi @schnappi17 @FangYongs , thanks.


Fix implicit string concatenation

We are missing few commas in tuples resulting into an implicit string concatenation.

@guidoiaquinti Thanks!!


MP Productions CRM Extended Response Times

Good Afternoon.
This is an alert to inform any users of the MP Productions CRM that we are experiencing some delays in responding to tickets.
This is a result of various commitments outside the CRM, that have taken priority.
If we have not responded to a ticket that you have submitted, please do not worry.
We are fully aware of what tickets are being submitted and are still responding to urgent ones.
All other tickets will be attended to hopefully later this evening.
Please keep an eye out here on our Status Page for further updates.
MP Productions would like to thank everyone for their patience and understanding, during these delays.
Thank You. - MPM

Good Morning.
We've been working hard to catch-up on responses on the CRM over the last 24 hours.
We anticipate that we should be closer to being on top of the stack within the next 24 hours.
Don't worry if we haven't responded to you, we are working on it.
Thank You. - MPM

Good Evening.
We've continued to work very hard to respond to all pending CRM tickets.
We can confirm that they're almost up to date.
We'll close this ticket once we are done 😄
Thank You. - MPM

Good Evening.
With this fabultastic news, we're happy to say that the CRM is up to date.
We will attend to any new tickets as per normal.
Thank You. - MPM


Apply unified UI for SC's top banner on ChatView

MOB-3846
What was solved?
This PR adds support of unified UI for secure conversation's top banner view
Release notes:

[ ] Feature
[X] Ignore
[ ] Release notes (Is it clear from the description here?)
[ ] Migration guide (If changes are needed for integrator already using the SDK - what needs to be communicated? Add underneath please)

Additional info:

[X] Is the feature sufficiently tested? All tests fixed? Necessary unit, acceptance, snapshots added? Check that at least new public classes & methods are covered with unit tests
[ ] Did you add logging beneficial for troubleshooting of customer issues?
[ ] Did you add new logging? We would like the logging between platforms to be similar. Refer to Logging from iOS SDKs → Things to consider for newly added logs in Confluence for more information.

!squash


It is not possible to put a bare filename on the commandline

Bare filenames (e.g. less LICENSE) are permitted by getopt, but don't work with this project. I don't know if you're aiming for POSIX parsing, GNU parsing, or both, but at least four of these six tests should pass.
[TestMethod]
public void TestFilenameOnly() {
    ShortOpts = string.Empty;
    Options = Array.Empty<Option>();
    AppArgs = new[] { "filename.txt" };
    GetNextOpt(out var _); // Something expressing the existence of filename.txt should happen here.
}

[TestMethod]
public void TestFilenameWithPreceedingDashes() {
    ShortOpts = string.Empty;
    Options = Array.Empty<Option>();
    DoubleDashStopsParsing = true;
    AppArgs = new[] { "--", "--filename.txt" };
    GetNextOpt(out var _); // Something expressing the existence of --filename.txt should happen here.
}

[TestMethod]
public void TestOptionBeforeFilename() {
    ShortOpts = "t";
    Options = Array.Empty<Option>();
    AppArgs = new[] { "-t", "filename.txt" };
    var optChar = (char)GetNextOpt(out var optArg);
    Assert.AreEqual('t', optChar);
    Assert.IsNull(optArg);
    GetNextOpt(out var _); // Something expressing the existence of filename.txt should happen here.
}

[TestMethod]
public void TestFilenameBeforeOptionGnuParsing() {
    ShortOpts = "t";
    Options = Array.Empty<Option>();
    AppArgs = new[] { "filename.txt", "-t" };
    var optChar = (char)GetNextOpt(out var optArg);
    Assert.AreEqual('t', optChar);
    Assert.IsNull(optArg);
    GetNextOpt(out var _); // Something expressing the existence of filename.txt should happen here.
}

[TestMethod]
public void TestFilenameBeforeOptionGnuInOrderParsing() {
    ShortOpts = "-t";
    Options = Array.Empty<Option>();
    AppArgs = new[] { "filename.txt", "-t" };
    var optChar = (char)GetNextOpt(out var optArg);
    Assert.AreEqual('\x01', optChar);
    Assert.IsNull("filename.txt");
    optChar = (char)GetNextOpt(out optArg);
    Assert.AreEqual('t', optChar);
    Assert.IsNull(optArg);
}

[TestMethod]
public void TestFilenameBeforeOptionPosixParsing() {
    ShortOpts = "t";
    Options = Array.Empty<Option>();
    AppArgs = new[] { "filename.txt", "-t" };
    GetNextOpt(out var _); // Something expressing the existence of filename.txt should happen here.
    GetNextOpt(out var _); // Something expressing the existence of -t, as if it were a filename, should happen here.
}

I'll check it out and see why filenames aren't parsing. Give me some time to test.
Thanks for your input!

In your test TestFilenameWithPreceedingDashes, where your test code is
[TestMethod]
public void TestFilenameWithPreceedingDashes() {
	ShortOpts = string.Empty;
	Options = Array.Empty<Option>();
	DoubleDashStopsParsing = true;
	AppArgs = new[] { "--", "--filename.txt" };
	GetNextOpt(out var _); // Something expressing the existence of --filename.txt should happen here.
}

GetNextOpt is behaving as desired.
You have not set any ShortOpts or Options, DoubleDashStopsParsing was set to true, and from the man page:

The special
argument "--" forces an end of option-scanning regardless of the
scanning mode.

Unless I've misunderstood something. In that case please let me know.

I have the feeling this whole thing warrants a wiki :)
For now this issue has been fixed, I'll close if after I've merged the pull request.

"Forces an end of option-scanning" means that everything remaining is a filename-like argument.
Both TestFilenameOnly and TestFilenameWithPreceedingDashes throw ParseException("Unexpected option argument!"). GetOptNext should provide some graceful message (maybe by returning -1?) that the remaining arguments need to be processed by the caller as if they were filenames (or grep patterns or sed expressions), regardless of whether or not they start with hyphens.

"Forces an end of option-scanning" means that everything remaining is a filename-like argument.

Ah, I see what you mean. That's where I misunderstood it. Fair enough, I'll get to adding that.

Both TestFilenameOnly and TestFilenameWithPreceedingDashes throw ParseException("Unexpected option argument!").

Yes, this is intended behavior but can easily be disabled by setting IgnoreInvalidOptions to true. But I feel this option should be default true to prevent further confusion.
Here are the tests which pass and show expected behavior:
[TestMethod]
[ExpectedException(typeof(ParseException))]
public void TestFilenameOnly_ExpectException() {
    ShortOpts = string.Empty;
    Options = Array.Empty<Option>();
    AppArgs = new[] { "filename.txt" };
    GetNextOpt(out var _);
}

[TestMethod]
public void TestFilenameOnly_IgnoreInvalidOpts() {
    ShortOpts = string.Empty;
    Options = Array.Empty<Option>();
    AppArgs = new[] { "filename.txt" };
    IgnoreInvalidOptions = true;
    string optArg;
    Assert.AreEqual(InvalidOptChar, (char)GetNextOpt(out optArg));
}

In your opinion, would this be the correct implementation?
public bool StopParsingOptions { get; set; } = false;

public int GetNextOpt(out string? outOptArg) {
    // ...
    else if (DoubleDashStopsParsing && AppArgs[CurrentIndex].Equals(DoubleDash,
    StringComparison.InvariantCultureIgnoreCase)) {
        m_currentIndex++;
        StopParsingOptions = true;
        return GetNextOpt(out outOptArg);
    }

    // Check here if StopParsingOptions is true;
    // if so, then simply return NonOptChar and set outOptArg to the value of the argument
    if (StopParsingOptions) {
        outOptArg = AppArgs[CurrentIndex];
        m_currentIndex++;
        return NonOptChar;
    }

    // ...
}

Without writing code to test this, I'd say that a filename is not an option. If I say ShortOpts = "t", I want to be able to tell the difference between myapp -te (incorrect; -e is not allowed) and myapp -t e (correct; e is probably a filename).
That implementation looks correct, as far as I can see it. I'd've put the if (StopParsingOptions) block at the beginning of the method so I know it'll get the first chance to interrupt parsing, but that's probably just a style difference.

Without writing code to test this, I'd say that a filename is not an option

I agree 100%, hence the previous failures.
If I say ShortOpts = "t", I want to be able to tell the difference between myapp -te (incorrect; -e is not allowed) and myapp -t e (correct; e is probably a filename).
This is already handled correctly by getopt.net. In this case, only t will be returned, and e is considered a different option. Only during the next execution of GetNextOpt would e be discovered to be an error.


About 3DPW dataset

thank for your interesting works. I have a concern about how did you generate the .tsv file for 3DPW dataset? I mean from original dataset. thanks

Thanks for the question!
Regarding 3DPW, we directly use the pre-parsed annotations provided by Pose2Mesh. We found it is well-maintained in COCO format, so we just reorganize their annotations to fit our tsv format.
You may find our example code of preparing TSV files here. In the example, it will build the TSV files for UP-3D dataset from scratch. It will need some trivial modifications to adapt to other datasets, but this should give you a general picture about how we build TSV files.

@kevinlin311tw  thank you for your help. I read your code and understand that you will crop image by bounding box provided by 2d joints. So if I want to run on whole 3DPW dataset images, should I use object detector like yolov5 to first extract the human bounding boxes, then take prediction?

Yes. You are right!

thank you so much


Fix resource realease in Http4sClient

The dispatcher created by toUnicastPublisher was closed too early before the whole stream was processed.
Closing the resource in the onFinalizeCase or org.reactivestreams.Subscriber#onComplete doesn't work either.
The only solution that I could think of that worked was to create a long lived dispatcher instead of a short lived one per response.

Thanks for fixing this!


grpc_microbenchmark_diff jobs take ~100mins for each run.

Test suites taking that long is incompatible with seeing PR tests results within a reasonable timeframe (#11690).
What can we do to reduce the runtime for microbenchmarks (e.g. so they take <1hr)?

Bouncing this to @ncteisen

This one is a balance between time per run and variance per run. We currently run the tests 20 times to eliminate noise from CPU shift. We could try tuning that down, but the output (which is already noisy some days, would get noisier)

I get that, but there's of course no way we can make all test results available in <90 (or 60 mins which is our more aggressive goal) if one of the test suites takes longer than that.
Sharding the job into two might also not be a good idea as we already have so many different jobs for each PR.
How many cores are the microbenchmarks utilizing?

All of them. (the microbenchmarks themselves are ~single threaded, and we
run num_cores concurrently)
On Thu, Nov 2, 2017 at 9:37 AM Jan Tattermusch<EMAIL_ADDRESS>wrote:

I get that, but there's of course no way we can make all test results
available in <90 (or 60 mins which is our more aggressive goal) if one of
the test suites takes longer than that.
Sharding the job into two might also not be a good idea as we already have
so many different jobs for each PR.
How many cores are the microbenchmarks utilizing?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/13184#issuecomment-341481762, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJpudUxG_RdCY9Dp74ao_qeDGfvmVqeVks5sye_XgaJpZM4QLEJj
.

If you give them more cores, they will go faster.
I've also had some thoughts about curating what we run per-PR. It might be
time to tackle this soon :)
On Thu, Nov 2, 2017 at 9:39 AM Craig Tiller<EMAIL_ADDRESS>wrote:

All of them. (the microbenchmarks themselves are ~single threaded, and we
run num_cores concurrently)
On Thu, Nov 2, 2017 at 9:37 AM Jan Tattermusch<EMAIL_ADDRESS>wrote:

I get that, but there's of course no way we can make all test results
available in <90 (or 60 mins which is our more aggressive goal) if one of
the test suites takes longer than that.
Sharding the job into two might also not be a good idea as we already
have so many different jobs for each PR.
How many cores are the microbenchmarks utilizing?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/13184#issuecomment-341481762, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJpudUxG_RdCY9Dp74ao_qeDGfvmVqeVks5sye_XgaJpZM4QLEJj
.

As a side note, once we get more quota for our project, we could switch the microbenchmarks to 64core machines (currently we use 32core machines).


Workbooks remain in memory when used in Grails App

When the plugin is used in a grails application, the workbooks that are exported remain in memory.  This is due to references on the closure passed to the build or output method of ExcelBuilder and the private static map, CellStyleBuilder.WORKBOOK_CACHE, that uses a workbook as the key.
I do not know the proper way to fix this otherwise I would submit a pull request, however as workaround, I was able to allow the Workbook to be garbage collected when I did the following:
def callable = { <builder DSL code> }
def wb = ExcelBuilder.build callable
wb.write(out)
callable.delegate = null
CellStyleBuilder.WORKBOOK_CACHE.remove(wb)
wb.close()

Thanks,
Leo

It's reproducible for me. You don't even have to have a Grails App, I guess any console or spring app which uses ExcelBuilder.build will have this issue. Thanks for workaround, it helped!


Support command line usage

Confirm this is a feature request for the Node library and not the underlying OpenAI API.

[X] This is a feature request for the Node library

Describe the feature or improvement you're requesting
Use openai bin command from the command line like:
openai api images.generate -m dall-e-3 -p "$DESCRIPTION" -n 1 -s "$SIZE"

This could be similar to or different than the Python SDK command line.
Additional context
It will be nice to have both the npm and Python products to support the command line because there's way more people that know how to use a command line tool than know how to write source code.

Thanks for the suggestion – unfortunately, we do not expect to do this anytime soon, as it's simply too much duplication of work (and we don't want to install the python package for everyone who npm installs the SDK).
However, I could see it being beneficial to add the openai CLI to brew and similar distribution channels – what do you think?


perf: update deps

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

v9.1.3
npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Make the anomalous data resets use the multi method so they can be batched

@dtboctor simple change allowing an array (instead of just one at a time) of user ids to be passed through to the API to fix their anomalous past data,
DE-10392

:+1:


CHIPDeviceController needs proper support for setting network credentials during a commissioning session

Problem

In many cases, the selection of network credentials needs to be done asynchronously during the PASE session. For example, after the commissioner determines the network technology of the target (WiFi or Thread) and after a network scan has been done. Often this selection will need user or cloud input, so it needs to be asynchronous.
A workaround was quickly added in PR https://github.com/project-chip/connectedhomeip/pull/20766 which includes a pause/resume feature of the AutoCommissioner but a cleaner fix would be to introduce steps in CHIPDeviceController for requesting network credentials. This would allow commissioning apps to avoid needing to create their own AutoCommissioner and pass it in to CHIPDeviceController.

Proposed Solution

Add optional steps to CHIPDeviceController for obtaining network credentials from its caller.

Can we close this issue @chrisdecenzo ?

And to be clear, the issue is not "creating your own AutoCommissioner"; the issue is the extra pause API and whatnot, which introduces yet another way of doing async operations via the delegate when we have a perfectly good way already: async call into the delegate.


feat(dlm): data archiving tasks support custom operation partitions.

What type of PR is this?
type-feature

What this PR does / why we need it:
The data archiving task operates at the table level currently, however, customers desire to manipulate only specific partitions of the table. After merging this PR, users will be allowed to specify the partitions to operate on.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Additional documentation e.g., usage docs, etc.:

the data-life-manager is not released now, I first temporarily change this PR to a draft


can't work

1. Follow the steps to the end, does not work
2. platform:
Version: 1.85.0 (system setup)
Commit: af28b32d7e553898b2a91af498b1fb666fdebe0c
Date: 2023-12-06T20:48:09.019Z
Electron: 25.9.7
ElectronBuildId: 25551756
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
3. gif

Try using the Apc Customize UI++ installation method, it works better on Windows. To switch to it, use the command Animations: Change Install Method and change it to Apc Customize UI++. It will give you notifications that you can then follow to install.


Don't suggest Kernel. for methods that already have a receiver

Input
→ View on sorbet.run
# typed: true
extend T::Sig

module M; end

sig { params(x: M).void }
def example(x)
  x.is_a?(Integer)
end

Observed output
editor.rb:8: Method is_a? does not exist on M https://srb.help/7003
     8 |  x.is_a?(Integer)
            ^^^^^
  Got M originating from:
    editor.rb:7:
     7 |def example(x)
                    ^
  Note:
    is_a? is actually defined as a method on Kernel. To call it, either
    include Kernel in this module to ensure the method is always there, or
    call the method using Kernel.is_a? instead.
Errors: 1

Expected behavior

The suggestion in the error message to use Kernel.is_a? is not good because there isn't a way to invoke is_a? with an explicit receiver, like there would be for Kernel.puts or Kernel.raise
This error note should be aware of which methods have been defined as module functions on Kernel, and only suggest the Kernel.-prefixed version if the receiver doesn't matter.

While we're at it, we might want to add something to the error message about BasicObject.

I would like to work on this.


Myrc2

A few docblock improvements
Tossed a couple of bones to scruit
Cleanup a bunch of markup warning and errors, still some in there but did not want to have all the fun
Added the noindex stuff
Fixed a couple of bugs stumbled upon while validating templates

You made Travis very sad!

!empty($config_var['size'] && is_numeric($config_var['size']))

I think it should be:
!empty($config_var['size']) && is_numeric($config_var['size'])

in Admin.template.php


We need update bower.json file after the project builded by Yoman

add overrides into the bower.json

  "overrides": {
    "at-table": {
      "main": "./dist/angular-table.js"
    }
  }

after add this overrides, the script tag of angular-table will not be removed while `grunt build`

I don't understand, could you please explain a bit further?

hi samu
after i install angular-table into a yoman angular project.
i add a script tag of angular-table.js in my index.html
but it would be removed after i run "grunt build"
so i add this overrides into bower.json of my project to save the tag when the project building...
it works...
my english is not good, hope u can understand what i said.

Thanks for the details. I don't work with yoman so i haven't experienced this problem so far. Are you suggesting that i should change this projects bower.json file to include this overrides entry? Because from what i understand is, that you had to add this entry to your own bower file, which means that there isn't anything wrong with this angular-table and it's config. Or am i misunderstanding something?

i had this problem with yoman, but there is no any issue about it.
i report this issue to provide a solution to any one who will has the same problem.
maybe we could edit the first post with solution to be more readable...

Ok i see, thanks for reporting this! I think the description and the conversation are clear enough for somebody who runs in the same problem.


dispatcher.utter_message(template=...) no longer works in a custom action

Rasa version: 2.4.0
Rasa SDK version (if used & relevant): 2.4.0
Rasa X version (if used & relevant):
Python version:
Operating system (windows, osx, ...):
Issue:
dispatcher.utter_message(template=...) no longer works in a custom action. Nothing is uttered by the bot. This is related to the changes introduced in https://github.com/RasaHQ/rasa/pull/6964.
Error (including full traceback):
The debug logs between Rasa 2.2 & 2.4 look the same, up to this point, after the custom action executed:
# rasa 2.2
2021-03-15 16:01:13 DEBUG    rasa.core.processor  - Action 'action_show_balance' ended with events '[BotUttered('Your bank account balance is $49691.97.', {"elements": null, "quick_replies": null, "buttons": null, "attachment": null, "image": null, "custom": null}, {"template_name": "utter_account_balance", "init_account_balance": "49691.97"},<PHONE_NUMBER>.6100328)]'.
# rasa 2.4
2021-03-15 15:54:31 DEBUG    rasa.core.processor  - Action 'action_show_balance' ended with events '[BotUttered('None', {"elements": null, "quick_replies": null, "buttons": null, "attachment": null, "image": null, "custom": null}, {"template": "utter_account_balance", "init_account_balance": "52946.23"},<PHONE_NUMBER>.5593858)]'.

Command or request that led to error:

Content of configuration file (config.yml) (if relevant):

Content of domain file (domain.yml) (if relevant):

Reported by @ArjaanBuijk and by this forum post: https://forum.rasa.com/t/dispatcher-utter-message-template-not-passing-text-attribute-to-slack-postmessage-in-rasa-2-4-0/41224

I'm trying to set up form bot to test the changes.

@wochinge my question on the SDK. How are people using it now? Do they fork it and customize it? If so, I think we can include both fields and comment that if they use the older OSS version, they should use template?

my question on the SDK. How are people using it now? Do they fork it and customize it? If so, I think we can include both fields and comment that if they use the older OSS version, they should use template?

They either use our rasa-sdk or they write their own in their own language (as I e.g. did here. Forking and customizing the Python one over a long time period is not a thing. I mean they should ideally do the same as we will do in our Python SDK and send both the template and response key for a while to be compatible with older and newer Rasa Open Source versions. Does that make sense?

They either use our rasa-sdk or they write their own in their own language (as I e.g. did here. Forking and customizing the Python one over a long time period is not a thing. I mean they should ideally do the same as we will do in our Python SDK and send both the template and response key for a while to be compatible with older and newer Rasa Open Source versions. Does that make sense?

It does. Got it. How do I manually test the sdk?

See here. You run rasa using rasa run and with the action server specified in endpoints.yml. You run the action server via rasa run actions

Got the same issue on WSL Ubuntu, but it looks like a solution is on track :)


AND_1.0.3: send REFUSED only when the token already exists.

Is that ok for you ? Should we do the same for dbus ?

I would suggest to also allow sending REFUSED when the distributor for whatever reason (i.e. user blocked the app) does not want to provide UP functionality to some application.

Maybe the best is simply to remove REFUSED and always use FAILED (for dbus and android). "Refused" and/or the reason why can be sent has its extra


Uidev/analytics

Issue: #274

[ ] Tick here to confirm that you have run RunCodeFormatter.ps1

Description:
Briefly describe the work that has been done and how that differ from what was there before. Only a few sentences since reviewer should be able to find more information in the issue linked at the top.
Test:
Describe how a reviewer should go ahead and test the introduced change(s) and/or what to look for.
(Make sure that all above information is provided before submitting your pull request)

We decided to not progress with the UI admin, as such this no longer necessary.


Remarks missing entry (not valid in 64-bit MASM)

Directive not valid in 64-bit MASM (ml64.exe).

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

ID: c632c303-60a1-21a9-2067-60d02b95059b
Version Independent ID: f55d675c-6fc7-bc37-b08c-1c59dca59c6d
Content: .WHILE
Content Source: docs/assembler/masm/dot-while.md
Product: visual-cpp
Technology: cpp-masm
GitHub Login: @corob-msft
Microsoft Alias: corob

fix should appear in 1-2 days. Thanks @Player1UK !


Error Existing from Video Player screen

Hi:
I am using the full screen video feature to record the video. After the video has been correctly recorded, I press the stop button, select the cover and click on the play button. The problem is after the video is correctly played, there is not way for me to come back to the previous screen other than press the physical back button. If I press it, the screen shown is the recording screen, not the one which allows me to upload or play the current video, so there is not way after play a video to upload the video played.
Please, save the state of the screen before I play the video so when I come back, I can still decide if I should upload the video or record a new video.
Thanks.

Hi @jiahaoliuliu,
Done, please check.


Changed how the aws config is created to be inline with aws documenta…

Moved config into it's own func
Changed config to use LoadDefaultConfig function

@bpotaczek Could you please fix the Linting and Unit Test errors?

I have tested the change with IRSA, looks good to me. 🚀


Make sure to upgrade pip before trying to install nox.

Sorry for merging this without adequate review and without having exactly done a root cause analysis here, but I would like to avoid more contributors running into a broken CI.
bors r+

Thanks for fixing, all looks good to me here!


Make test should pass locally

Fix render_test when running locally - tests can't depend on dev's local timezone.
Add test flags that are used to skip tests that have external dependencies.
-- Plumb the RequiresX() functions into tests that depend on them.

Make test now runs failure-free locally.
I still need to add to this PR:

Makefile / buildkite changes
Ensure no tests are being skipped in buildkite

Pull Request Test Coverage Report for Build 018237dc-c077-4edb-8688-b7d3d611ab59

0 of 0   changed or added relevant lines in 0 files are covered.
1683 unchanged lines in 42 files lost coverage.
Overall coverage decreased (-1.1%) to 56.665%

Files with Coverage Reduction
New Missed Lines
%

service/history/queue/timer_queue_processor_base.go
1
77.26%

client/history/client.go
2
38.05%

client/history/metricClient.go
2
45.3%

common/task/fifoTaskScheduler.go
2
84.54%

common/task/parallelTaskProcessor.go
2
92.75%

service/history/handler.go
2
47.6%

service/history/task/transfer_standby_task_executor.go
2
87.61%

service/matching/matcher.go
2
91.46%

common/cache/lru.go
3
90.73%

common/persistence/nosql/nosqlplugin/cassandra/workflow.go
3
57.14%

Totals

Change from base Build 01822959-de4a-45f0-b67a-2dee11aa2ea7:
-1.1%

Covered Lines:
82310

Relevant Lines:
145256

💛  - Coveralls

I made the Makefile / buildkite changes and have ensured no tests are being skipped in buildkite, by downloading before and after test logs and comparing them. No tests are skipped in buildkite, and the exact same set of tests were run before and after my changes.


addition repositories use

where can i add backport repository for my additional package install?

You can put in CustomDebian/custom_conf/etc/apt/sources.list
All files in CustomDebian/custom_conf/ are coped in / of the chroot


(maint) v2.0.6 release prep

This pr was just released as 2.0.6 on github? https://github.com/drone/drone/releases/tag/v2.0.6
whilst 2.0.5 was released, I'm a bit confused, is this a quickfix? The changelog does not yet mention a change for 2.0.6
Which release should I use now?

Nothing changed between v.2.0.5 and v2.0.6, I have updated the release notes https://github.com/drone/drone/releases/tag/v2.0.6.
we missed a version bump in the version file, so there is no changelog changes .
apologies

ok, thank you for the update to the documentation, that clears things up.


ERROR: “Error creating exec dir”

When there are a large number of concurrent tasks, the following error may be triggered. Reinstalling CAS can solve this problem. It is suspected that CAS cache clearance is related. Currently, the root cause is not found.
message: "Error creating exec dir" details { type_url: "type.googleapis.com/google.rpc.PreconditionFailure" value: "\n\251\001\n\007MISSING\022Nblobs/f0baea7881538eb18b4cf4258268ba3a9fdcd1c81028f62e67ccf03e3eca1fc2/1856288\032NA requested input (or the Action or its Command) was not found in the CAS.\n\250\001\n\007MISSING\022Mblobs/e38d6d6a53641422c1e4231890c49f4896aa6a065f95365b41d19104382100ab/407296\032NA requested input (or the Action or its Command) was not found in the CAS.\n\251\001\n\007MISSING\022Nblobs/c73715102229af94ac4c83afb480f0ef7636cade0cf20799616dca89452e7c4f/1666080\032NA requested input (or the Action or its Command) was not found in the CAS.\n\247\001\n\007MISSING\022Lblobs/94231835c372ca9d91678e4594164d5094a5f1629fe7d0cb6a42bc54e8b43ea2/62720\032NA requested input (or the Action or its Command) was not found in the CAS." }

Based on this question, I want to know what cases are records in redis but CAS does not cache. If this happens, how to deal with it? Which part of the code is in?

And it seems that cache was clean when this error occured.
Based on this question, I want to know what cases are records in redis but CAS does not cache. If this happens, how to deal with it? Which part of the code is in?

It could certainly indicate that there's an issue here, but this is an issue that the protocol, by way of the client, is set up to resolve. MISSING blobs can be caused by eviction or transient unavailability due to load of CAS shards. If you're not experiencing client errors as a result of this, as in it consistently happens, it is not faulty.


Swift 3 Support

I am getting an error even when using AFnetworking with swift 3 in the file below. Let me know if I am doing something wrong. But it looks like this file has not been updated for 8 months which means it is not using the latest syntax. Can you also provide a timeline on when you will support alamofire? Love the pod! It is a very important part of our app.
https://github.com/zvonicek/ImageSlideshow/blob/master/Pod/Classes/InputSources/AFURLSource.swift

Hi Nevin, I got back to you via email, but post respond to this issue so other users can see this as well. Code optimized for Swift 3 is available in swift-3 experimental branch, I'd like to get back to it later this week and make it work with AFNetworking and Alamofire. However, my plan is to keep Swift 2.3 compatible version in master branch for a while, probably until v1.0 is released.

I fixed the swift-3 branch so it should now work correctly.


Deactivate caching of builtin entity parsing at inference time

Description
Builtin entity parsing should not be cached unconditionally. Indeed, caching datetime builtin entities is a bad idea as they are often computed relatively to the current context.
Hence, caching is done during train time but deactivated at inference time when resolving values.

Codecov Report

Merging #600 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #600      +/-   ##
===========================================
+ Coverage    93.34%   93.34%   +<.01%
===========================================
  Files           46       46
  Lines         2524     2526       +2
  Branches       508      509       +1
===========================================
+ Hits          2356     2358       +2
  Misses         106      106
  Partials        62       62


Improve MotorAxis module

The initial PR #15 only covered the most important feature of directional limit switches. But we would like to extend the MotorAxis module with the following features:

[ ] allow using inverted switches
[ ] support one or two switches
[ ] reference() with reference switch: find reference switch with predetermined speed, send message to RoSys
[ ] approach reference again more slowly?
[ ] set the internal position to zero when referenced?
[ ] handle the conversion between motor and output

PR https://github.com/zauberzeug/lizard/pull/38 and https://github.com/zauberzeug/lizard/pull/39 implement invertable switches


update JSX link to latest react docs

name: :book: New/Updated Documentation Content
about: Adding a new docs page, or updating content in an existing docs page
PR Type
Does this PR add a new page, or update an existing page?
updates an existing page
Checklist

[x] Is there an existing issue for this PR?

#4521

[ ] Have the files been linted and formatted?

What docs page is being added or updated?

Section: Redux Essentials, Part 1: Redux Overview and Concepts
Page: this page

For Adding New Content
What kind of content category is this page (tutorial, how-to, explanation, reference)?
Who is the intended target audience?
What knowledge are we assuming they have?
What are the intended results or takeaways from reading this page?
What is the most critical info they should learn?
For Updating Existing Content
What updates should be made to the page?
update the links to the latest react docs
Do these updates change any of the assumptions or target audience? If so, how do they change?

Thanks!


No way to set the application insights cloud role

I would like to see my function use a component name that makes sense on the application map in application insights.
I see in utils.py, there is a section that sets the azure_monitor_context.
It would be nice if we could set an environment variable to control the ai.cloud.role value here like this:
azure_monitor_context = {
    'ai.cloud.role': os.getenv('AI_CLOUD_ROLE') or os.path.basename(sys.argv[0]) or 'Python Application',
    'ai.cloud.roleInstance': platform.node(),
    'ai.device.id': platform.node(),
    'ai.device.locale': locale.getdefaultlocale()[0],
    'ai.device.osVersion': platform.version(),
    'ai.device.type': 'Other',
    'ai.internal.sdkVersion': 'py{}:oc{}:ext{}'.format(
        platform.python_version(),
        opencensus_version,
        ext_version,
    ),
}

apologies - this comment  should be in the https://github.com/census-instrumentation/opencensus-python project - closing here!

For reference, this is how I ended up setting the cloud role in my function app:
# set it here or get from an environment variable
APP_NAME='set-your-app-name-here'
logger = logging.getLogger(APP_NAME)

# callback function for cloud role name
def set_cloud_role(envelope):
    envelope.tags['ai.cloud.role'] = APP_NAME

OpenCensusExtension.configure()
OpenCensusExtension._exporter.add_telemetry_processor(set_cloud_role)


Newsletter 232 missing translation part in french

please @bitschmidty if you can merge this request, because I miss to translate a part, thanks.

@Copinmalin Would you mind removing the changes to the cs newsletter in 2199c64b7621efc21c564222019eddfb7f8c9dbe and any other files from other commits other than the 232/fr newsletter?

Perhaps we can drop 2199c64b7621efc21c564222019eddfb7f8c9dbe altogether and just PR with 0925569e4318279cb57de4b41e89d7ad1451ac81 as the sole commit for this PR?

@bitschmidty : Yes I think https://github.com/bitcoinops/bitcoinops.github.io/commit/2199c64b7621efc21c564222019eddfb7f8c9dbe was a wrong action from me,
0925569 seem to be complete and right.
you have a better experience than me, do what is best

@Copinmalin for reference this is what I did. Perhaps there are better ways, but it works ok.
Checkout your branch locally then rebase on master:

git reset --hard origin/master

Then cherry pick the commit that contains the updates:

git cherry-pick 0925569e4318279cb57de4b41e89d7ad1451ac81

Then force push the changes to your remote branch.
Let me know if the final changes look correct to you before I merge.

@bitschmidty I really need to do all these steps  😮

@bitschmidty done, I hope it's correct 😅

@Copinmalin I had actually already done those steps so it was ready to go.
I did the same 2 steps again and pushed to your branch so we should just have the one commit with the applicable changes. Does it look ok?


Enable child logger to override parent metadata

Currently parent logger defaultMeta cannot be overridden in child logger.
Should resolve #1596 , this is alternative PR to  with less functionality breaking #1598

Any update on this?

Any update on this?

Closing in favor of https://github.com/winstonjs/winston/pull/1598


class imbalance in graph classification

❓ Questions & Help
Hello. I'd like to use custom data set in graph classification. Is there any tools for solvinig the class imbalance? like oversampling or focal loss.

1.torch.nn.NLLLoss and torch.nn.CrossEntropyLoss have a weight argument. So you could give a higher weight to the class with fewer samples. This might work similar to oversampling.
2. I couldn't find any inbuilt implementation of focal loss in torch. But you could implement a custom loss function like so.
def focal_loss(pred_proba, target, weight=None, gamma=2):

    #reduction='none'. No aggregation performed.
    nll = NLLLoss(weight=weight,reduction='none')
    loss = nll(pred_proba,target)#shape=N
    class_preds = pred_proba.gather(dim=1,index=target.unsqueeze(1)).squeeze(1)

    return torch.mean(torch.pow(1-class_preds, gamma) * loss)

Note: the custom loss function should only use pytorch operations (https://discuss.pytorch.org/t/custom-loss-functions/29387)

1.torch.nn.NLLLoss and torch.nn.CrossEntropyLoss have a weight argument. So you could give a higher weight to the class with fewer samples. This should work similar to oversampling.
2. I couldn't find any inbuilt implementation of focal loss in torch. But you could implement a custom loss function like so.
def focal_loss(pred_proba, target, weight=None, gamma=2):

    #reduction='none'. No aggregation performed.
    nll = NLLLoss(weight=weight,reduction='none')
    loss = nll(pred_proba,target)#shape=N
    class_preds = pred_proba.gather(dim=1,index=target.unsqueeze(1)).squeeze(1)

    return torch.mean(torch.pow(1-class_preds, gamma) * loss)

Note: custom loss functions should only use pytorch operations (https://discuss.pytorch.org/t/custom-loss-functions/29387)

Oh I forgot nll_loss offers weight argument. Thanks for the information!

Yes, utilizing the weight in nll_loss is a good idea. In case you want to ensure balanced data sampling, you can provide your own sampler for data loading, see here.


Adjust check for bad chunks in map_blocks

Closes https://github.com/dask/dask/issues/4299

Looks fine to me.  Maybe move the github issue comment to be inline or remove it?  In this case it seems fine, but it establishes a pattern that would, I suspect, sprinkle the codebase with many issue comments.

Must have gotten distracted. I had a half written comment that I didn't
finish before pushing.
On Mon, Dec 17, 2018 at 11:34 AM Matthew Rocklin<EMAIL_ADDRESS>wrote:

Looks fine to me. Maybe move the github issue comment to be inline or
remove it? In this case it seems fine, but it establishes a pattern that
would, I suspect, sprinkle the codebase with many issue comments.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/4308#issuecomment-447930531, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABQHIszbVQxZedJ6DcMA_OG_PACpkAvfks5u59WygaJpZM4ZWz_J
.

LGTM, thanks for the fix @TomAugspurger.


GetZoneGroupTopology fails with http status 500.

From Discord: zone player responds with status 500 on POST to /ZoneGroupTopology/Control for GetZoneGroupTopology:
2020-04-12T19:15:20.993Z ZpClient:request:1 post("ZonePlayer", "ZoneGroupTopology", "GetZoneGroupState", {})
2020-04-12T19:15:20.993Z HttpClient1 request(POST, /ZoneGroupTopology/Control, "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><u:GetZoneGroupState xmlns:u=\"urn:schemas-upnp-org:service:ZoneGroupTopology:1\"></u:GetZoneGroupState></s:Body></s:Envelope>", {"SOAPaction":"\"urn:schemas-upnp-org:service:ZoneGroupTopology:1#GetZoneGroupState\"","content-type":"text/xml; charset=utf-8"})
zp: error: POST /ZoneGroupTopology/Control: http status 500 Internal Server Error

It's a network of 30 zone players - might be stretching it (household can hold a max of 32 zone players).  The Sonos app doesn't make this call, but subscribes to ZoneGroupTopology events of the associated zone player.
Unfortunately, ZpClient makes this call when connecting to the zone player, so need to find a way around it.  The ZoneGroupTopology events look good, though, see attached output of zp eventlog: zpeventlog.zip

In beta v1.4.0-1, zp topology -v uses the topology from the connected zone player to augment the device description of the other zone players.  Still need to apply that logic to Homebridge ZP.
Also, the household ID is only reported in the ZoneGroupTopoloy event, but not in the GetZoneGroupTopology response.

As of beta v1.4.0-4, Homebridge ZP no longer tries the GetZoneGroupTopology and uses events straight away.

In v1.4.0.


[pytorch] Use precxx11 build for aarch64 native library

Change-Id: I39f6da3444eb7ba5205bfde11f6c36e9baa76eab
Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #1619 (e4bf590) into master (bb5073f) will decrease coverage by 1.25%.
The diff coverage is 61.64%.

@@             Coverage Diff              @@
##             master    #1619      +/-   ##
============================================
- Coverage     72.08%   70.83%   -1.26%
- Complexity     5126     5421     +295
============================================
  Files           473      506      +33
  Lines         21970    23718    +1748
  Branches       2351     2585     +234
============================================
+ Hits          15838    16801     +963
- Misses         4925     5632     +707
- Partials       1207     1285      +78

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java
54.54% <0.00%> (-12.13%)
:arrow_down:

...ain/java/ai/djl/ndarray/index/dim/NDIndexPick.java
100.00% <ø> (ø)

api/src/main/java/ai/djl/nn/Blocks.java
75.00% <0.00%> (-25.00%)
:arrow_down:

... and 239 more

Continue to review full report at Codecov.

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


Basic CLI support [fixed 1]

Implemented argparse
Fixes #1

Why there are 2 ObjectExtractor files?
I prefer using entry_points instead of scripts. Can you change to that?

@ducthienbui97 You should create a new branch dedicated to CLI development. Feel free to change it to entry_points


Return full stats for added files from Snapshot

This restores stats for data files returned by Snapshot#addedFiles for use in incremental processing, like #315.
Deleted files are still cached without file stats to save space.

@rdsr, can you review?

This change will also enable more fine-grained conflict resolution in #351

@rdblue I am afraid this change is not enough to get stats back as we have a projection as well that discards stats anyway.

Let me submit a PR later today.


Fix Spring embed slow repl problem

The issue about the patch try to fix is #1068

@alexarchambault @lihaoyi  When you have time, please give a look at the patch, and give some suggestion.

@alexarchambault  how can I let the ci rerun, I think there is some problem of the ci.

To give more context, my understanding is that this is necessary when Ammonite is depended on and started from an app packaged as a spring boot executable JAR. https://github.com/lihaoyi/Ammonite/pull/850 must have made the JARs under BOOT-INF/lib work fine. Some of the classes of this file live under BOOT-INF/classes, so they need some workarounds to be found by scalac.

To give more context, my understanding is that this is necessary when Ammonite is depended on and started from an app packaged as a spring boot executable JAR. #850 must have made the JARs under BOOT-INF/lib work fine. Some of the classes of this file live under BOOT-INF/classes, so they need some workarounds to be found by scalac.

There is a long story with spring boot custom class loader. A source code for the classloader is
on the https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader.
I will try to explain what i know. Spring boot loader use a special custom jar structure to package a application. It use jar in jar structure which is not a standard jar file. So spring boot do a lot hack thing to make it work. Which most import is A special custom classLoader LaunchedURLClassLoader, a special jar url handler jar.loader.Handler and a special jar file format loader.jar.JarFile.
So spring boot can process the special jar url such as
  jar:file:/Users/my/code/tests/demo/target/demo-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/,
  jar:file:/Users/my/code/tests/demo/target/demo-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/spring-boot-starter-2.2.6.RELEASE.jar!/,
  jar:file:/Users/my/code/tests/demo/target/demo-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/spring-boot-2.2.6.RELEASE.jar!/,

So I think a lot way to work it out. But finally only the simple way to work it out is use the hard code. I know the code for the spring boot process such as use BOOT-INF/classes is not very elegant. But It is the simple way just can work for the special case of spring-boot.