BUG: python process crashed due to memory corruption - "malloc(): unsorted double linked list corrupted" when calling TreeExplainer.shap_values()

Issue Description
Python process was terminated suddenly when calling TreeExplainer.shap_values().
The error message is "malloc(): unsorted double linked list corrupted".
Then I did more testing. The behavior is not stable and hard to reproduce. Sometimes the API can be successfully finished.
Any idea about the root cause. Is there any randomness?
Minimal Reproducible Example
explainer = shap.TreeExplainer(model=model, data=train_x_.values)
shap_values = explainer.shap_values(X=test_x_.values, check_additivity=False)

Traceback
No Traceback.

Expected Behavior
No response
Bug report checklist

[X] I have checked that this issue has not already been reported.
[X] I have confirmed this bug exists on the latest release of shap.
[ ] I have confirmed this bug exists on the master branch of shap.
[ ] I'd be interested in making a PR to fix this bug

Installed Versions
0.42.1 and 0.41.0 with Python 3.7.9/3.7.17 under Debian Buster

Thanks for the PR bloodlee. Could you provide us with a minimal reproducible example? You just copied the lines, where the error is thrown, but this does not make it reproducible, since executing these lines with a lot of datasets works fine.

I've not seen this error before, the issue is not actionable unless we can reproduce it , unfortunately. I encourage @bloodlee or anyone else encountering this issue to provide instructions to reproduce the problem in a semi-reliable way, along with environment/hardware information, then I promise we'll take a look at it.

Hi @CloseChoice and @thatlittleboy ,
Thanks for your replies. Later, our team figured the root cause which is in our code. Now, the weird memory issue is gone.
This issue can be closed.


Spevacus: Watch zhcsolar.com

Spevacus requests the watch of the watch_keyword zhcsolar\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

zhcsolar\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Machavity in Charcoal HQ


Improves the Admin PlayerList

Player list is now scrollable
Player names clip when they are too long
Shows Player count

Could do with a margin between Name and Player cols, or a dividing line or something
else it looks like their name is VeryLongNameSoTheJohn Doe


Entity Drop/Pickup

When entities (items) are on the ground, it floats and can be picked up (like minecraft)

I love mincraft


chore: perf test, ignore

Description
Problem*
Resolves
Summary*
Merge of jf/make-array and the deduplicate to common dominator changes
Additional Context
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Ended up merging this with the smaller version of the "move instruction to common dominator block" change since the larger, recursive version was failing a few programs.
The diffs now are generally more positive. Executed opcodes can be better or worse depending on the test.


I think it should sure the foreground.Opacity>0 when DrawText.

https://github.com/AvaloniaUI/Avalonia/blob/3381c490e81483960147df465b0fa2a1adacbffe/src/Avalonia.Visuals/Media/DrawingContext.cs#L130
   public void DrawText(IBrush foreground, Point origin, FormattedText text)
    {
        Contract.Requires<ArgumentNullException>(text != null);

        if (foreground != null)
        {
            PlatformImpl.DrawText(foreground, origin, text.PlatformImpl);
        }
    }

But when the foreground.Opacity ==0 that cant draw text

That might be handled at the rendering system level for all controls, @grokys would be able to say for sure.

Yes this is handled by the renderer itself, this way we don't need to put a check for 0 opacity in all the draw methods: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs#L252


runtime: shrinking the stack during a system call may cause a corrupt address

This is a spinoff of #10303 .
In a function like this:
func F() {
var a [10]byte
syscall.Read(0, a[:])
}
a does not escape and is therefore allocated on the stack.  The call to syscall.Read may block.  If a GC occurs while it is blocking, the GC may decide to shrink the stack.  Shrinking the stack will move a.  This will cause the read call to corrupt random memory when it finally returns.
This is a supposition based on looking at the code.  I have no actual test case.
We do not want to treat pointers to syscall functions as causing the pointers to escape.  That would force values into the heap unnecessarily.  We know that syscall functions on Unix systems never cause the pointers to escape.
Therefore, we need some way to prevent the stack from shrinking while the function is in a system call.  One simple approach would be to also prevent the stack from shrinking while in a cgo call: not shrink the stack if the goroutine status is Gsyscall.  I don't think that would be too bad--I doubt many goroutines hang in cgo calls with a large stack.
Anyhow, this issue has to be resolved before the 1.5 release, either by deciding that it is not a problem, or by fixing it.

We don't shrink stacks if they are in syscall, so I think this is not a bug.
src/runtime/stack1.go:809
// We can't copy the stack if we're in a syscall.
// The syscall might have pointers into the stack.
if gp.syscallsp != 0 {
return
}
I had some ideas about how to shrink without copying (use a buddy list allocator for stacks).  But the complexity seemed unnecessary.  The only case it would matter is when the goroutine used a large stack, then popped most of it, then made a syscall.

Thanks, sorry I missed that.


Rollup - improve loading time

This makes the tool-bar load. reduces the actual loading time (if activation hook was not enabled)

For registering run the following:
npm install
npm run ppublish
apm publish patch

A few comments on the implementation below - do you have some numbers on how much this improves the loading time?

Also, is it the intention that the contents of dist/ end up in the repo at some point? If so, could you add a .gitattributes file with the following contents:
* text=auto

# don't diff machine generated files
lib/ -diff
package-lock.json -diff

Yes, we have to include dist folder. That is the limitation of apm. 😞

I found an interesting thing:
These two lines of the code take 30ms for their execution!

But for that we need to include ui-variables. If you are OK with that we can do that.

As per #299, that seems like a bad idea to me.

Yes, we have to include dist folder. That is the limitation of apm. :disappointed:

Ow well, okay :+1:

I added a script to rollup iconsets. That gives us another 10ms! 😃

Nice! I agree that copying ui-variables is not ideal and with rolling up both code and iconsets, it might be enough.

I'd also prefer the dist files to be in repo so all this dance of monkey patching the repo for apm publish could be removed in favor of simple npm version hook like this: https://github.com/particle-iot/particle-api-js/blob/master/package.json#L23

@suda The issue with only using git add is that once someone runs npm run build, those files will be tracked by git and will show up in the changelogs and commits (although being in gitignore).
This bash script circumvents that issue, and only adds the dist files through npm run ppublish, and after that git will not track them.

I made an npm package for ppublish script. https://github.com/aminya/build-commit
I will publish it tomorrow and using that instead of the bash script here.

@suda Could you merge this?


Set a default response if no matching input is found

from chatterbot import ChatBot
input = 'does linux rock'
bot = ChatBot('tux')
statement = bot.input.process_input(input)
confidence, response = bot.logic.process(statement)
if confidence > THRESHOLD:
   response = bot.output.process_response(response)
else:
    response = "I don't understand what you mean"

this is my got but have got an error as below.
File "bot.py", line 17, in
confidence, response = bot.logic.process(statement)
TypeError: 'Statement' object is not iterable
got this code frm #384

@tushar1328 You may use Specific response selection adapter

thank you @vkosuri  got the point, and solved my queries, would be very thankful if you solve my other queries too #1327


Task in Tasks array get executed before Task.WhenAll() is procesed

Hi guys, i'm doing a task in my project where i need to send multiple http request at the same time, then wait for all responses and do some work on that.
The problem is, when i´m doing this array of tasks, some tasks in random order get executed before i call Task.WhenAll(), and i don't know why, i'm using httpclient async method to do the call and i try with RestSharp and i get the same behavior.
For me knowledge this is not the expected behavior, maybe i'm wrong.
I attach a solution with an example.
AsyncTask.zip
Hope u can help me!
Thanks!

This is expected behavior - tasks can finish before you get chance to call Task.WhenAll. If you don't want that, then you need to pause the tasks until you are ready to start them (e.g. via semaphore).


Prevent importing different ROOT account

Stop importing (by throw) if:

The import XML has no ROOT, and db is not empty.
This is a backup restore. Everything should be cleared before import.
The import XML has multiple ROOT
There's an error in import XML
The import XML has one ROOT, but it is different form the ROOT in the DB, or DB has no ROOT
What imported is a different book from the one in the DB.

See discussion in #189.

Thanks.
I'm on a trip and will merge when I get back to the BatCave :)

On 28.03.2015, at 10:33, Yongxin Wang<EMAIL_ADDRESS>wrote:
Stop importing (by throw) if:

The import XML has no ROOT, and db is not empty.
This is a backup restore. Everything should be cleared before import.
The import XML has multiple ROOT
There's an error in import XML
The import XML has one ROOT, but it is different form the ROOT in the DB, or DB has no ROOT
What imported is a different book from the one in the DB.

See discussion in #189.
You can view, comment on, or merge this pull request online at:
https://github.com/codinguser/gnucash-android/pull/304
Commit Summary
Prevent importing different ROOT account
File Changes
M app/src/main/java/org/gnucash/android/importer/GncXmlHandler.java (16)
Patch Links:
https://github.com/codinguser/gnucash-android/pull/304.patch
https://github.com/codinguser/gnucash-android/pull/304.diff
—
Reply to this email directly or view it on GitHub.

Now it will not check for conflict anymore. Instead, the database will be cleaned before anything is imported.
The deletion and importing would happen when the XMl is fully parsed and everything to be imported is gathered. The deletion and importing are put into one DB transaction, so if anything went wrong, the DB would not be affected. It is now easy to achieve using nested transactions, as all the adapters are now using the same DB instance.


Tool should be usable anonymously or authentified to GitHub

Scripts should support usage where the user and token is available as an environment variable. If these environment var are not available the tool should switch to anonymous usage.
Being authenticated should help not to hit the API limit.

The fact to be authenticated or not does not influence hitting the secondary rate limit. A "solution" was found by adding a 15 sec sleep between GH calls.


Scaden example sometimes breaks

Hi @shengqh , thanks for reporting.
This is a known bug that I want to fix with the next release, which is probably coming around soon. You should be able to run again and usually it should not fail.
I'll fix this as soon as I find the time.


Update %p to use finished edges after #1143.

This needs a documentation update too

thanks filed #1145


Is there a lower limit for the size of the emojis?

I tried ramping up the size from 20 to 60. No change in the appearance of the emoji.

The emojis can only get as big as their parents, even if the size is bigger. So wrapping a AnimatedEmoji in a SizedBox with width and height of 40 limits the size of the emoji to 40, even if it is set to something larger.
Hope this answers your question


Cannot install on SonarQube 9 Commercial Versions

Describe the bug
Missing installation instructions for SonarQube 9.x commercial versions.
Starting in SonarQube 9.x non community editions (developer, enterprise, data center), plugins cannot be installed via the Marketplace admin area of the SonarQube instance - installation must be done manually. Documentation here. According to the docs, this is as simple as downloading and placing a jar file on the SonarQube server. However, I do not see a jar file in the source code downloads nor any documentation mentioning building one.
This plugin is great in that using generated clover coverage files are much easier than junit as junit likes to use absolute file paths, which make using it in any sort of CI process where the testing is done in one place and scanning in another a nightmare.
To Reproduce

Go to SonarQube 9.x commercial instance - developer, enterprise, data center
Click on Administration -> Marketplace
Scroll down to Clover plugin
See the absence of the install button
Follow link to documentation on installing the plugin - referenced above.

Expected behavior
Either:

A jar file available for download and installation
A section in the documentation referencing to building one or other such installation steps.

Screenshots

Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
SonarQube <IP_ADDRESS>736
Edition: Developer

Any suggestions on this? I would be more than a happy to build this myself if there was some instructions provide in the documentation on how to do so.


Implement Fabric provisioning in CHIP

Problem:
Per chip spec, we need fabric provisioning functionality, https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/master/src/service_device_management/GeneralProvisioningCluster.adoc#setfabric-command
Solution:
Implement and have unit and integration test on it.

@franck-apple , Multiple Fabric  is just finalized in spec, I don't think this should be done in TE2


proto: mismatched field tags in messages doesn't  an error in unrelated message and proto.Unmarshal returns a partially filled message

What version of protobuf and what language are you using?
Version: d04d7b157bb510b1e0c10132224b616ac0e26b17
I expected that passing in marshaled proto of one type of message to another with different fields would fail
as protobuf seems to promise. I am writing a package to ensure safety for a system that's trying to carefully
switch to entirely using protobufs, and requires flagging when the wrong messages come down the wrong service.
TL;DR:

Only github.com/gogo/protobuf/proto succeeds
while the rest of the *golang/protobuf/proto packages fail:
google.golang.org/protobuf/proto
github.com/golang/protobuf/proto

Investigation
Given this proto below
syntax = "proto3";

package service;

option go_package = ".;gen";

message Customer1 {
    int32 id = 1;
    string name = 2;
    float subscription_fee = 3;
}

message Customer2 {
    int32 id = 1;
    int32 industry = 2;
    string name = 3;
}

In code if I accidentally unmarshal to a different struct, there isn't an error returned
package main

import (
	"fmt"

	// "google.golang.org/protobuf/proto"
	"github.com/golang/protobuf/proto"
	// "github.com/gogo/protobuf/proto"

	"github.com/orijtech/experiments/gen"
)

func main() {
	c2 := &gen.Customer2{
		Id:       289,
		Name:     "Customer1",
		Industry: 5299,
	}
	blob, err := proto.Marshal(c2)
	if err != nil {
		panic(err)
	}

	c1 := new(gen.Customer1)
	if err := proto.Unmarshal(blob, c1); err != nil {
		panic(err)
	}

	fmt.Printf("C1: %#v\n", c1)
	pm := c1.ProtoReflect()
	fields := pm.Descriptor().Fields()
	for i, n := 0, fields.Len(); i < n; i++ {
		fdi := fields.Get(i)
		fmt.Printf("Index: %d\nName:  %q\nFullName: %q\n", fdi.Index(), fdi.Name(), fdi.FullName())
	}
}

When run with
google.golang.org/protobuf/proto
Unexpectedly succeeds
$ go run main.go
C1: &gen.Customer1{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(0xc000116500)}, sizeCache:0, unknownFields:[]uint8{0x10, 0xb3, 0x29, 0x1a, 0x9, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31}, Id:289, Name:"", SubscriptionFee:0}
Index: 0
Name:  "id"
FullName: "service.Customer1.id"
Index: 1
Name:  "name"
FullName: "service.Customer1.name"
Index: 2
Name:  "subscription_fee"
FullName: "service.Customer1.subscription_fee"

github.com/golang/protobuf/proto
Unexpectedly succeeds
$ go run main.go
C1: &gen.Customer1{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(0xc0000d4500)}, sizeCache:0, unknownFields:[]uint8{0x10, 0xb3, 0x29, 0x1a, 0x9, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x31}, Id:289, Name:"", SubscriptionFee:0}
Index: 0
Name:  "id"
FullName: "service.Customer1.id"
Index: 1
Name:  "name"
FullName: "service.Customer1.name"
Index: 2
Name:  "subscription_fee"
FullName: "service.Customer1.subscription_fee"

github.com/gogo/protobuf/proto
Fails which is my expectation
$ go run main.go
proto: no encoder for state impl.MessageState [GetProperties]
proto: no encoder for sizeCache int32 [GetProperties]
proto: no encoder for unknownFields []uint8 [GetProperties]
proto: no encoder for state impl.MessageState [GetProperties]
proto: no encoder for sizeCache int32 [GetProperties]
proto: no encoder for unknownFields []uint8 [GetProperties]
panic: proto: bad wiretype for field gen.Customer1.Name: got wiretype 0, want 2

goroutine 1 [running]:
main.main()
	/Users/emmanuelodeke/go/src/github.com/orijtech/experiments/main.go:26 +0x430
exit status 2

This behavior surprised me quite a bit.

The current behavior is "correct". The defacto standard of correctness is generally what the C++ implementation does, which operates by putting fields with the wrong wire type in the unknown fields section. Certainly debatable whether that should have been done, but it is what it currently is and unlikely to change.

Thank you for the response @dsnet and great to catch you here!
Could we perhaps ask the rest of the protobuf team to document this problem? I haven't find any references to it, yet most users expect that they should get an error.

The protobuf team is aware of the relatively unspecified nature of protobufs themselves. See https://github.com/protocolbuffers/protobuf/issues/6188. It doesn't seem to be a high priority for them to come up with a specification.

Closing as inactionable; the situation is unfortunate. The protobuf wire format is surprisingly lax and will accept all sorts of input as valid. It's actually surprisingly hard to get the parser to fail. Since we (the Go library team) aren't responsible for the protobuf specification itself, there's not much we can do.


Rounded value does not return decimal place

The returned value does not always get returned in the same format.
With decimal places as "1", a value that rounds to 20.0 will just be returned as 20.

The component is not guilty of missing the decimal place (even if not significant) :)
The fact is that the component uses the standard built-in function round() for rounding, which returns a float anyway, if the rounded number was a float (and this is always true for temperature and humidity):

How did you identify the behavior you described? And why is this important to you?

I was seeing it on an MQTT feed out of HA. Possibly something else causing it.
I just like constant formatting and it showed up as 20 in a dashboard.
I'll close this and dig a bit further. Cheers.


Documentation links hit wrong construct

Clicking on the construct Props interface link will take me to the wrong construct (always to aws-apigateway-dynamodb).
Reproduction Steps

Go here: https://docs.aws.amazon.com/solutions/latest/constructs/aws-dynamodb-stream-lambda.html
Scroll down to "Initializer"
Click on bullet "props DynamoDBStreamToLambdaProps"

Result:
should go to the props of the 'ApiGatewayToDynamoDB' construct
Error Log

None.
Environment

CDK CLI Version      :. 1.46.0
CDK Framework Version: NA
AWS Solutions Constructs Version     : 1.46.0
OS                   : NA
Language             : NA

Other

I'm guessing it's due to the ambiguous (#pattern-construct-props). Works fine when single-construct displays but when consolidated into a single-page for all constructs it becomes ambiguous and the first one is hit.

This is :bug: Bug Report

Thanks for the find @mbonig, updated documentation on it's way out!

Documentation has been updated


Module: core "implementation" instead of "compile"

Issue details, reproduction steps/code
If I change the import of  gdx-pay dependency in the core module of the main build.gradle from:
compile"com.badlogicgames.gdxpay:gdx-pay-client:$gdxPayVersion"
to:
implementation "com.badlogicgames.gdxpay:gdx-pay-client:$gdxPayVersion"
Version of gdx-pay and/or relevant dependencies
gdxPayVersion = '1.0.0'
gdxVersion = '1.9.9'
Stacktrace
error: com.badlogic.gdx.pay.PurchaseManager: class file for com.badlogic.gdx.pay.PurchaseManager not found
C:\Users\XXXX\LibGDXProjects\XXXX\desktop\src\com\example\game\desktop\DesktopLauncher.java:13: error: cannot access PurchaseManager
public class DesktopLauncher {
^
class file for com.badlogic.gdx.pay.PurchaseManager not found
1 error
1 warning
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':desktop:compileJava'.

Compilation failed; see the compiler error output for details.

Please select the affected platforms and payment service implementation
-gdxpay when trying to launch the project on Desktop from Android Studio on Windows 10
You can reproduce this error with the example app at:
https://github.com/libgdx/gdx-pay-example
as well. When there is a any class from com.badlogic.gdx.pay imported in the DesktopLauncher the error is:
symbol:   class PurchaseManager
location: package com.badlogic.gdx.pay
C:\Users\Petr777\XXXX\gdx-pay-example-master\desktop\src\com\badlogic\gdx\pay\app\DesktopLauncher.java:8: error: cannot find symbol
import com.badlogic.gdx.pay.PurchaseManagerConfig;
Note:
I am not sure if this really is a bug, but I guess you know that when using "compile", Android Studio shows warning like this:
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018.

You can safely ignore this warning. We'll switch to implementation/api when the main gdx project switches.


Fix helm deployment names

The deployment names for nova and neutron were both listed as
'glance'. Changed the names to match the services

This change is

LGTM.


Plot unit selection does not allow a unit with scale one other than the base unit

Describe the bug
If selecting a unit with scale 1 that is not the base unit, the base unit will be used. Base unit for quantity Power is J/s. It its not possible to select unit "W" which also has scale 1.
To Reproduce

Add a constant and connect to a Scope in a model.
Set the quantity of the constant to Power.
Simulate the model and open the Scope.
Use the context menu and change unit to "W".
J/s will be displayed on the Y-axis.

Expected behavior
The y-axis shows "W".
Hopsan version:

OS: Debian 9
Version:  HopsanCore 64-bit, Version: <IP_ADDRESS>70101.0001
HopsanGUI 64-bit, Version: <IP_ADDRESS>81026.2220
Build: Compiled from commit 1e379d3176cee4284d6435151db6277fc6e0611d.

Additional information
Issue seems to arise from PlotCurve.cpp. Below appears to solve the issue but maybe introduces a new one? Don't understand why the isScaleOne() check is there.
Rewriting from
void PlotCurve::setCurveDataUnitScale(const UnitConverter &rUS)
{
    if (rUS.isEmpty())
    {
        resetCurveDataUnitScale();
    }
    else
    {
        mCurveDataUnitScale = rUS;

        // Clear the custom scale if it is one and we have a data unit
        if (!getDataUnit().isEmpty() && mCurveDataUnitScale.isScaleOne())
        {
            resetCurveDataUnitScale();
        }
        else
        {
            updateCurve();
            //! @todo shouldn't these be triggered by signal in update curve?
            mpParentPlotArea->replot();
        }
    }
}

to
void PlotCurve::setCurveDataUnitScale(const UnitConverter &rUS)
{
    if (rUS.isEmpty())
    {
        mCurveDataUnitScale.clear();
    }
    else
    {
        mCurveDataUnitScale = rUS;
    }
    updateCurve();
    //! @todo shouldn't these be triggered by signal in update curve?
    mpParentPlotArea->replot();
}

This code is quite complex, that check is to reset custom curve scales that can be set directly on the curve. For instance if you scale a curve with unit meter, with 42, it will show [42 * m] and then when you reset to 1  it should not show [1 * m] but reset to the actually selected scale.
But yes the check was incorrect, it should only work on "plain numeric scales"


Fix height of closable pill next

adding max-width to the close button inside pill to avoid specificity issues when styles are applied from an external wrapper

The change feels a little random. Is there a need to add a test or something else to show why this is needed?

The issue happens when styles are applied to .saltButton externally (from multilineinput in this case) and override the class passed within the pill.
Multiline input applies a general style rule because it is used in all buttons inside end and start adornments

The issue happens when styles are applied to .saltButton externally (from multilineinput in this case) and override the class passed within the pill.

If this comes from Button, should there be a height CSS API exposed, and overridden in PillNext and adornment accordingly? Applying max-height feels like a last hope solution

The issue happens when styles are applied to .saltButton externally (from multilineinput in this case) and override the class passed within the pill.

If this comes from Button, should there be a height CSS API exposed, and overridden in PillNext and adornment accordingly? Applying max-height feels like a last hope solution

both of them use --saltButton-height already

both of them use --saltButton-height already, the thing is, even though pill uses it within a class, multiline input uses it inside .saltMultilineInput .saltButton, which wins the race, i could do .saltPillNext .saltPillNext-close-button.saltButton

Is Multiline input targeting too widely? Should it only targeting buttons within adornment?

both of them use --saltButton-height already, the thing is, even though pill uses it within a class, multiline input uses it inside .saltMultilineInput .saltButton, which wins the race, i could do .saltPillNext .saltPillNext-close-button.saltButton

Is Multiline input targeting too widely? Should it only targeting buttons within adornment?

I raised this to design last week, the overrides applied with button input adornments are broken and too restrictive. They are currently very broken and should be removed.

both of them use --saltButton-height already, the thing is, even though pill uses it within a class, multiline input uses it inside .saltMultilineInput .saltButton, which wins the race, i could do .saltPillNext .saltPillNext-close-button.saltButton

Is Multiline input targeting too widely? Should it only targeting buttons within adornment?

I raised this to design last week, the overrides applied with button input adornments are broken and too restrictive. They are currently very broken and should be removed.
I don't think this change should go ahead and I think that root problem should be solved

makes sense, should we have an issue to reflect that ongoing conversation?

Closing this PR as the issue has already been raised in relation to input styles.


Updated typeLibrary-types package and resolved any import errors.

This will fix a bug where terminals on blocks was not correctly mapped to client model.

Still ignoring lint-check fail.


python312Packages.docstring-parser: 0.15 -> 0.16

Diff: https://github.com/rr-/docstring_parser/compare/refs/tags/0.15...0.16
Changelog: https://github.com/rr-/docstring_parser/blob/0.16/CHANGELOG.md

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 352217

x86_64-linux

:fast_forward: 4 packages marked as broken and skipped:

dbx
dbx.dist
khoj
khoj.dist

:white_check_mark: 148 packages built:

mlflow-server
mlflow-server.dist
napari (python312Packages.napari)
napari.dist (python312Packages.napari.dist)
open-webui
open-webui.dist
pentestgpt
pentestgpt.dist
python311Packages.chat-downloader
python311Packages.chat-downloader.dist
python311Packages.cyclopts
python311Packages.cyclopts.dist
python311Packages.databricks-sdk
python311Packages.databricks-sdk.dist
python311Packages.deal
python311Packages.deal.dist
python311Packages.docstring-parser
python311Packages.docstring-parser.dist
python311Packages.icontract
python311Packages.icontract.dist
python311Packages.instructor
python311Packages.instructor.dist
python311Packages.langchain
python311Packages.langchain-aws
python311Packages.langchain-aws.dist
python311Packages.langchain-azure-dynamic-sessions
python311Packages.langchain-azure-dynamic-sessions.dist
python311Packages.langchain-chroma
python311Packages.langchain-chroma.dist
python311Packages.langchain-community
python311Packages.langchain-community.dist
python311Packages.langchain-core
python311Packages.langchain-core.dist
python311Packages.langchain-huggingface
python311Packages.langchain-huggingface.dist
python311Packages.langchain-mongodb
python311Packages.langchain-mongodb.dist
python311Packages.langchain-ollama
python311Packages.langchain-ollama.dist
python311Packages.langchain-openai
python311Packages.langchain-openai.dist
python311Packages.langchain-standard-tests
python311Packages.langchain-standard-tests.dist
python311Packages.langchain-text-splitters
python311Packages.langchain-text-splitters.dist
python311Packages.langchain.dist
python311Packages.langgraph
python311Packages.langgraph-checkpoint
python311Packages.langgraph-checkpoint-duckdb
python311Packages.langgraph-checkpoint-duckdb.dist
python311Packages.langgraph-checkpoint-postgres
python311Packages.langgraph-checkpoint-postgres.dist
python311Packages.langgraph-checkpoint-sqlite
python311Packages.langgraph-checkpoint-sqlite.dist
python311Packages.langgraph-checkpoint.dist
python311Packages.langgraph.dist
python311Packages.langsmith
python311Packages.langsmith.dist
python311Packages.magicgui
python311Packages.magicgui.dist
python311Packages.mlflow
python311Packages.mlflow.dist
python311Packages.mmcv
python311Packages.mmcv.dist
python311Packages.mmengine
python311Packages.mmengine.dist
python311Packages.napari
python311Packages.napari-npe2
python311Packages.napari-npe2.dist
python311Packages.napari.dist
python311Packages.pylddwrap
python311Packages.pylddwrap.dist
python311Packages.sagemaker
python311Packages.sagemaker-mlflow
python311Packages.sagemaker-mlflow.dist
python311Packages.sagemaker.dist
python311Packages.simple-parsing
python311Packages.simple-parsing.dist
python312Packages.chat-downloader
python312Packages.chat-downloader.dist
python312Packages.cyclopts
python312Packages.cyclopts.dist
python312Packages.databricks-sdk
python312Packages.databricks-sdk.dist
python312Packages.deal
python312Packages.deal.dist
python312Packages.docstring-parser
python312Packages.docstring-parser.dist
python312Packages.icontract
python312Packages.icontract.dist
python312Packages.instructor
python312Packages.instructor.dist
python312Packages.langchain
python312Packages.langchain-aws
python312Packages.langchain-aws.dist
python312Packages.langchain-azure-dynamic-sessions
python312Packages.langchain-azure-dynamic-sessions.dist
python312Packages.langchain-chroma
python312Packages.langchain-chroma.dist
python312Packages.langchain-community
python312Packages.langchain-community.dist
python312Packages.langchain-core
python312Packages.langchain-core.dist
python312Packages.langchain-huggingface
python312Packages.langchain-huggingface.dist
python312Packages.langchain-mongodb
python312Packages.langchain-mongodb.dist
python312Packages.langchain-ollama
python312Packages.langchain-ollama.dist
python312Packages.langchain-openai
python312Packages.langchain-openai.dist
python312Packages.langchain-standard-tests
python312Packages.langchain-standard-tests.dist
python312Packages.langchain-text-splitters
python312Packages.langchain-text-splitters.dist
python312Packages.langchain.dist
python312Packages.langgraph
python312Packages.langgraph-checkpoint
python312Packages.langgraph-checkpoint-duckdb
python312Packages.langgraph-checkpoint-duckdb.dist
python312Packages.langgraph-checkpoint-postgres
python312Packages.langgraph-checkpoint-postgres.dist
python312Packages.langgraph-checkpoint-sqlite
python312Packages.langgraph-checkpoint-sqlite.dist
python312Packages.langgraph-checkpoint.dist
python312Packages.langgraph.dist
python312Packages.langsmith
python312Packages.langsmith.dist
python312Packages.magicgui
python312Packages.magicgui.dist
python312Packages.mlflow
python312Packages.mlflow.dist
python312Packages.mmcv
python312Packages.mmcv.dist
python312Packages.mmengine
python312Packages.mmengine.dist
python312Packages.napari-npe2
python312Packages.napari-npe2.dist
python312Packages.pylddwrap
python312Packages.pylddwrap.dist
python312Packages.sagemaker
python312Packages.sagemaker-mlflow
python312Packages.sagemaker-mlflow.dist
python312Packages.sagemaker.dist
python312Packages.simple-parsing
python312Packages.simple-parsing.dist
shell-gpt
shell-gpt.dist


'thymeleaf-layout-dialect' is not in the npm registry.

The package can't be found in the npm registry

This project currently doesn't do anything, so I haven't registered it with any package manager.  If/when it does, then I'll do that.


Unable to load DLL 'Crypt32.dll' when running .net core app in docker container

I'm running a .NET Core app in a docker container (FROM microsoft/dotnet:1.0.1-sdk-projectjson) and when I try to set my credentials via ProfileManager.RegisterProfile(profileName, accessKey, secret); I get the following exception. Am I missing some piece of setup?
System.DllNotFoundException: Unable to load DLL 'Crypt32.dll': The specified module could not be found.
 (Exception from HRESULT: 0x8007007E)
   at Amazon.Runtime.Internal.Settings.UserCrypto.CryptProtectData(DATA_BLOB& pDataIn, String szDataDescr, DATA_BLOB& pOptionalEntropy, IntPtr pvReserved, CRYPTPROTECT_PROMPTSTRUCT& pPromptStruct, CryptProtectFlags dwFlags, DATA_BLOB& pDataOut)
   at Amazon.Runtime.Internal.Settings.UserCrypto.Encrypt(String unencrypted)
   at Amazon.Runtime.Internal.Settings.SettingsCollection.ObjectSettings.WriteToJson(JsonWriter writer)
   at Amazon.Runtime.Internal.Settings.SettingsCollection.Persist(StreamWriter writer)
   at Amazon.Runtime.Internal.Settings.PersistenceManager.saveSettingsType(String type, SettingsCollection settings)
   at Amazon.Util.AWSCredentialsProfile.Persist(String profileName, String accessKeyId, String secretKey)

When running it on my windows os it works fine. It also fails on a mac.
"dependencies": {
    "AWSSDK.Core": "3.3.5",
    "AWSSDK.EC2": "3.3.4"
}

ProfileManager is only supported on Windows platforms.  Before using it you need to check that ProfileManager.IsAvailable == true.  In the short term we'll add a better exception message.
For the long term we're working on a way for you to be able to read/write to the ~/.aws/credentials file instead.  Although, we don't have an ETA on that.

Ah ok that's def great to know. How can I proceed in the meantime? Is there a different API I should be using?

If you are referring to RegisterProfile, then there's no reason to be calling that in your application. This blog post explains a bit of what this API does and why it doesn't need to be called.

@devlife - were you able to find any way around this?

@chazt3n I just ended up using the client constructor overrides to pass in creds:
var ec2Client = new AmazonEC2Client(accessKey, secret, RegionEndpoint.USEast1);
I kept the accessKey and secret in aspnet secrets.

We now have support for the shared credentials file.  That's the same credential file used by the AWS CLI.
You can get credentials directly from the .NET credentials file, directly from the shared credentials file, or use a fallback mechanism.  The fallback mechanism looks for the profile in the .NET credential file and falls back to the shared file if the profile isn't found in the .NET credential file.

The .NET credential file is accessed with the NetSDKCredentialsFile class.
The shared credential file is accessed with the SharedCredentialsFile class.
CredentialProfileStoreChain implements the fallback mechanism.

I suggest using CredentialProfileStoreChain.  If you have a profile in the .NET credential file on your dev box your code will find it.  In production you can then use the shared credential file without any code changes.
Here is a link to the relevant topic in the developer guide.

Thank you very much


Use old xcode on Travis to match CRAN's macOS 10.11

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89950) builder has been succeeded.
Revision: e979b5719b7bebf7ed72ec10e7922eaa18665e1e
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-493

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89951) builder has been succeeded.
Revision: 6bd656630637513c45f8eeb6728abb9bcaef57e1
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-494

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89960) builder has been succeeded.
Revision: 7e24a84d46e768a74c441727ff0a809d5944510e
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-495

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89969) builder has been succeeded.
Revision: 5ab13be7149d6de91afdbf7f738280d37d2bee84
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-496

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89978) builder has been succeeded.
Revision: 58b9a1d8c77af50a254534bd9c8f3acdfadf49f9
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-497

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89987) builder has been succeeded.
Revision: dea999fa8e6debf42adedfb5ffdbc702a8654bed
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-498

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#89996) builder has been succeeded.
Revision: 6d3afb3b3f490dcca258e60acb2254f4f45181fb
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-499

Task
Status

macos-r-autobrew

@ursabot crossbow submit macos-r-autobrew

AMD64 Conda Crossbow Submit (#90005) builder has been succeeded.
Revision: 50d9835cee27a011ba3190fb013b9d77b875fa71
Submitted crossbow builds: ursa-labs/crossbow @ ursabot-500

Task
Status

macos-r-autobrew

lgtm 👍


[WIP] Add support for multiple I2C master and slave interfaces

Adding support for boards with multiple I2C interfaces.
Initial support for multiple Master I2C added: support for ESPs needs to be adapted and bring back.

Hi, what defines WIRE_HOWMANY ?

Hi, it's defined in the variants for mbed-based boards.
SAMD boards' equivalent is WIRE_INTERFACES_COUNT: I will add the proper conditional definitions where applicable in the next commits.

Okay, but, that needs to be defined for ALL Arduino boards. Please check that.

Is this ready?


Support for basic auth

The charm currently supports only authentication with a token server.
A common implementation uses native basic authentication with htpasswd: https://docs.docker.com/registry/deploying/#native-basic-auth
The authentication info could then be passed to kubernetes-worker through the relation.

Moved to https://bugs.launchpad.net/layer-docker-registry/+bug/1788892


Investigate get_c_compiler_dir.sh script

There exists a script we run during CMake configuration that does "magic" and sets the variable OE_C_COMPILER_INCDIR which is later used by several targets. The explanation is "obtain default compiler include holding the intrinsics," but we need to figure out why this exists and if there is a better way to do it.

https://stackoverflow.com/questions/40055022/cmake-how-to-choose-c-headers
From here it seems that you have to explicitly set include paths for each of your compilers while using cmake. I am investigating further to see if there is a different way to do this.

I also found this. I am unable to figure out where the compiler provided intrinsics are stripped.
we strip the default include containing the compiler-provided intrinsics
add it back in
#target_include_directories(oecore SYSTEM PRIVATE {OE_C_COMPILER_INCDIR})


unique IdShort is mandatory

The swagger schema lists the IdShort as not-mandatory, but a request without the IDShort results in a 500 Server Error caused by a NullPointerException.
As far as I can see, this PR added a check, whether the IdShort is unique. https://github.com/eclipse-tractusx/sldt-digital-twin-registry/pull/229
With the previous chart version 0.3.24, this was not the case.
Tested with: chart version 0.3.27
Working call:

Erroneous call:

ddtr-logs.txt

Hi @KilianHaag ,
thanks for the hint. With the new version, the idshort is mandatory and unique as describe in the PR.
Handling of IdShort for DTR changes:
IdShort is unique on shell level. Idshort can be exists only one time in the database (tenant)
IdShort of submodelDescriptor is unique inside a shell. Uniqueness on shellId and idShort and Idshort of submodelDescriptors are unique.
We will fix the openApi yml to mark idShort as mandatory.

Ok, thank you for the update.

Hi @KilianHaag ,
i checked it again. Idshort must be unique and not mandatory (Based on AAS Standard). We fixed the bug here:
https://github.com/eclipse-tractusx/sldt-digital-twin-registry/pull/276


operator manager pod is throwing error log about grafana post install hook

Currently the manager pod is presenting many errors around grafana post-install hook, that tries to install grafana-api serviceaccount which is already existing. This may be a cause of other problems such as #731 ?
There is Hook post-install pelorus/templates/grafana-post-install-hook.yaml hook which should be reworked as manager is complaining that serviceaccounts "grafana-api" already exists
Originally posted by @mpryc in https://github.com/konveyor/pelorus/issues/715#issuecomment-1329000462

Resolved with #740


Try this again

Description of Change

Bugs Fixed

Related to issue #

API Changes

Behavioral Changes

PR Checklist

[ ] Has tests (if omitted, state reason in description)
[ ] Rebased on top of main at time of PR
[ ] Changes adhere to coding standard
[ ] Updated documentation

/azp run

/azp run

/azp run

/azp run

/azp run


Reverse Grid View

Reverse grid view

Sorry it took so long to put this up, have been very busy with a current project, hope this helps!

Looks great. I chose to make this customizable in my Xamarin port of GMImagePicker, with Ascending being the default sort order.
https://github.com/roycornelissen/GMImagePicker.Xamarin/commit/9ea83814dab1ba4135ff8538558807719955fcea

Checking the code, only the 1st thumbnail is being assigned to the last element. 2nd and 3rd thumbnails need to be corrected too.

Additionally, when you make a new picture using the camera and the Camera Roll grid updates, the new picture doesn't automatically scroll into view (if you have AutoSelectCameraImages turned on). You should also update the scroll position in photoLibraryDidChange in GMGridViewController.

Thank you for the feedback @guillermomuntaner & @roycornelissen ! Hopefully my previous two commits solve the problems you've depicted. Please let me know of any others.


Hardware documentation missing

Documents are included now. And LilyGO has 4 different repositories for the 4 names for this board.


subctl --service-discovery to create ServiceExport

As discussed in https://github.com/submariner-io/submariner/issues/627
Can we add SeviceExport creation into Subctl as implicit or explicit action, as part of subctl --service-discovery command ?
This would ease the use of service-discovery, where such command should both apply and verify the creation of:
kubectl -n {namespace} apply -f - <<EOF
apiVersion: lighthouse.submariner.io/v2alpha1
kind: ServiceExport
metadata:
  name: {service name}
EOF

Creation of service export can't be implicit, it has to be an explicit command. I'll be adding something like subctl create service-export <service-name> -n <namespace>

This is being worked in the submariner-operator project: https://github.com/submariner-io/submariner-operator/pull/466.


Make Job expiry timeouts configurable

What is the purpose of this change?
After Jobs finish execution they are checked  for expiry at regular intervals. These values are hard coded.
This change makes them configurable by exposing JobExpireDuration and JobExpireInterval configuration options and job-expire-duration and job-expire-interval command line flags.
Default values are preserved and are set to 60s and 10s respectively.

Checklist

[x] I have read the contribution guidelines.
[x] I have added tests for all changes in this PR if appropriate.
[x] I have added documentation for the changes if appropriate.

[x] I'm done, this Pull Request is ready for review :-)

This looks good thanks :-)
Can you put --rc as a prefix for the command line variables (and rename the internal variable to match) - I've been using that convention to organise the rc variables.
Can you also write some documentation in rc.md?
Thanks

@ncw updated.

Thank you for that - have merged now :-)


Error fixes for readme and contributing

fixes a broken link in contributing and adds a missing heading in the readme

Thanks for the catches, the missing heading was removed deliberately, I forgot to update TOC, if you re-remove it, ill pop this PR through

Resolved

Thanks @CrimsonTome!


CI/CD not triggering for custom branches

One of our repos has a branch, testmaster, which is used to deploy multiple features to approve to a test environment. I'd like to trigger the CI/CD workflow and deploy the same way it's set up for the default branch. From the documentation, it seemed like CICDPushBranches and CICDPullRequestBranches would do the trick, but nothing changed. I understand that generally, GitHub won't trigger a workflow if it's not included in the branch filter in the on: property, but is there some way to add the branch to the whitelisted branches? Or is modifying the workflow file the only way to trigger the workflow?
If that's the case, what's the purpose of CICDPushBranches and CICDPullRequestBranches?

You need to run Update AL-Go System files after modifying CICDPushBranches and/or CICDPullRequestBranches - did you do this?

Running the Update AL-Go System files workflow only added a templateSHA to AL-Go-Settings.json.
I actually noticed that the workflow also failed to update from 4.0 to 4.1 for multiple repos - I had to replace the files manually.
I am using a custom template forked from microsoft/AL-GoPTE (CBS-BC-AT/AL-Go), but I haven't modified the workflows.

Where did you add CICDPushBranches? (which settings file)
You should never replace files manually - you should run update AL-Go System files with standard.
By replacing files manually - you might cause things to stop working altogether.


Add descriptions

Descriptions

In this branch, I added a column, description, to the tables and in the permits
Inserted doctor's data in the seed file
Add description to the list of data in the spec file.
Checked for linters

Thank you for the review 😉

Thank you @vickymarz 😉


Request: Add/Update budget

As per comment in this thread: https://github.com/XeroAPI/Xero-OpenAPI/issues/420#issuecomment-850585903.
Most endpoints in the xero api have create/update support, with the notable exception of budgets which is get-only.
Is this any closer to being implemented than it was a year ago?

Hi @n-pinkerton our SDKs are built to match API functionality while simplifying the integration process. Currently the Xero API only supports GET /Budgets and so that is what the SDKs support. Looking at the roadmap ticket for supporting budgets via the API it does not seem create/update were in scope. I would encourage to add your vote and voice on the topic here.


errors

Summary
example script doesn't work
Reproduction Steps

have python 3.9
do python -m pip install voltage
paste example code (from readme.md)
run it
+profit

Minimal Reproducible Code
import voltage
from voltage.ext import commands # Import the commands module from ``voltage.ext``
from config.py import TOKEN

client = commands.CommandsClient("-") # Create a CommandsClient (client that has commands (original ik)) with the prefix set to "-".

@client.listen("ready") # You can still listen to events.
async def ready():
    print("Gaaah, It's rewind time.")

@client.command() # Register a command using the ``command`` decorator.
async def ping(ctx):
    """Sends Pong!""" # Name and description can be passed in the decorator or automatically inferred.
    await ctx.reply("Pong") # Reply to the context's message.

client.run("TOKEN") # Again, replace with your bot token.

Expected Results
bot will run perfectly fine
Actual Results
Traceback (most recent call last):
File "/home/andrrwq/code/evry_revolt/main.py", line 1, in
import voltage
File "/home/andrrwq/.local/lib/python3.9/site-packages/voltage/init.py", line 32, in
from .client import Client
File "/home/andrrwq/.local/lib/python3.9/site-packages/voltage/client.py", line 10, in
from .internals import CacheHandler, HTTPHandler, WebSocketHandler
File "/home/andrrwq/.local/lib/python3.9/site-packages/voltage/internals/init.py", line 7, in
from .cache import CacheHandler
File "/home/andrrwq/.local/lib/python3.9/site-packages/voltage/internals/cache.py", line 11, in
from ..server import Server
File "/home/andrrwq/.local/lib/python3.9/site-packages/voltage/server.py", line 9, in
from .invites import Invite
File "/home/andrrwq/.local/lib/python3.9/site-packages/voltage/invites.py", line 7, in
from .utils import get
ImportError: cannot import name 'get' from 'voltage.utils' (/home/andrrwq/.local/lib/python3.9/site-packages/voltage/utils/init.py)
Checklist

[X] I have searched the open issues for duplicates.
[X] I have shown the entire traceback, if possible.
[X] I have removed my token from display, if visible.

Additional Context
i use ubuntu 22.04LTS and im dumb, so im sorry if the error is stupid

that's a relatively known issue, I still have no idea why it happens but the soliton to it is removing voltage then reinstalling it from git (pip uninstall voltage && pip install -U git+https://github.com/EnokiUN/voltage)

that's a relatively known issue, I still have no idea why it happens but the solution to it is removing voltage then reinstalling it from git (pip uninstall voltage && pip install -U git+https://github.com/EnokiUN/voltage)

this still happens?

that's a relatively known issue, I still have no idea why it happens but the soliton to it is removing voltage then reinstalling it from git (pip uninstall voltage && pip install -U git+https://github.com/EnokiUN/voltage)

tysm it works now!


fix: consider users that have already been issued a derived key

Adds ability for an app developer to provide identity a hint
as to which accounts have already been issued derived keys
when they logged into the app. If provided and a user attempts
go through the derived key login flow again, and they select
an account from this list of keys, we skip the derived key approval UI.

Current dependencies on/for this PR:

main

PR #262

PR #263

PR #264

PR #265

PR #266

PR #267

PR #268

PR #269


Dead link filtering reduces number of queryable pages

Description

The dead link filtering algorithm significantly limits the pages that can be retrieved.
Reproduction

Go to audio search endpoint: http://localhost:8000/v1/audio/. Note the number of pages.
Go to a page number that's quite high but less than 250, like 200: http://localhost:8000/v1/audio/?page=200
See the deep pagination error. This should not be happening.

Expectation

Page count calculation should be correct and should allow pagination upto the stated limit.
Resolution

[ ] 🙋 I would be interested in resolving this bug.

One way to fix this would be to check if result_count is divisible by page_size. If no, increment page_count by 1.

Updated this issue to actually reflect the second half of the bug report, the first being resolved in #172.

HI @dhruvkb
Can you please provide more details about this bug?
A brief search shows that api / controllers / search_controller is file where the bug is.
Methods

_paginate_with_dead_link_mask
_get_query_slice

Is this correct?

@ritesh-pandey I added the steps to reproduce. You're right about the bug being in the search_controller.py file.

The problem for audio is actually the fact that we only have one provider at the moment, and when we send 20 requests at the same time to check if the links are dead or not, a large portion of the responses return errors.
One [temporary] solution could be to suspend checking for dead links for audio, since we have ingested the audio data only recently, and they are most likely all current.

Do we experience this bug in non-audio search as well?
I agree with @obulat. The system starts deleting images in cache when we go for high page numbers. This sometimes causes zero result set.

One mitigation approach we could employ here (based on this discussion from the Make WP Slack):
For cases where the number of results on a page is less than the page size, and the page itself is less than the expected page count, adjust the result_count and page_count values to reflect the actual number of results returned. An example:

Let's say that we have 100 results in ES, but only 50 of those are live links. We could iterate through the first 3 pages, and then on page 3 (of a projected 5 total pages) we'd have 10 results instead of 20 which is the page size. It's at page 3 that we'd report the actual total result count and number of pages.

I know this is a bigger change than we can implement for the existing v1 API, but this kind of problem makes me wonder whether we would be better off returning a pagination cursor that is returned as null when there are no more pages. The fact is that due to dead link filtering we have very limited ability to accurately report the number of pages and it's not unreasonable for someone to write code like this (which is not reliable with our current API):
first_page = requests.get(".../images?q=birds")
page_count = first_page["page_count"]

i = 2
while i <= page_count:
  # request new page, do whatever you want
  i += 1

For any query that returns a page count I would personally fully expect it to be stable through the iterations of the pages. But we cannot guarantee that because the page count is based on the full number of not-yet-validated results. We currently calculate page_count based on the total number of hits that ES reports. It's not even possible for us to easily apply our dead link masks to this, at least not that I can tell: https://github.com/WordPress/openverse-api/blob/4edae23b8e12b8ceb19c75652b215621128fb4fa/api/catalog/api/controllers/search_controller.py#L512-L513
Maybe we could sum the dead link mask and reduce that from the total count, but unless a query has been paginated to the end of all the ES results, it won't matter. And we know that won't happen because some queries will return more results than we have ever made possible to retrieve via the API due to ES deep pagination limits.
I've assigned myself the issue to work on the solution that Madison shared above, but I think as we look forward to a potentially v2 of the API, it would be good to rethink how we present pagination entirely.

adjust the result_count

@AetherUnbound Did you have a way of doing this in mind? I'm not sure how to do this on the last page of a query given that we've skipped over a certain number of results. Given we already limit pagination far lower than some queries would ever be able to be exhausted (i.e., we have "inaccessible results" even that aren't dead links) I propose we leave the result_count alone and only update the page_count to be set to the currently requested page (when we detect that we've reached the last possible page for a query based on the current number of results for the page).

I really appreciate the alternative pagination solution you've offered @sarayourfriend! Thinking about what's the maximum amount of accurate information we could give, the pagination cursor seems like the best option. Many of the APIs we ingest behave this way, so it seems to be a common pattern at least.
I don't have any advice or thoughts on the specific implementation how to adjust result_count, it was merely a proposition I was putting out! If updating the page_count seems the most feasible, let's go with that 🙂 I'm sure most of our API consumers are using that rather than the result count anyway as you've mentioned.

Sounds good. Feel free to check out the PR when you have a chance if you're keen: #1032


Does Azkaban support PostgreSQL databases as source databases?

Hello,
 Does Azkaban support PostgreSQL databases as metadata databases? i want to use azkaban , becuse it is best chooses , But our solution chose PostgreSQL as the only database

duplicate of https://github.com/azkaban/azkaban/issues/2701

duplicate of https://github.com/azkaban/azkaban/issues/2701


Updated Open Source Comcast logo

closing per corp comms and will re-add when we receive approvals.


Code generation __moduleName

Hi all!
If I use __moduleName in my code, it is being parsed to "$__moduleContext.id".
Source: https://github.com/google/traceur-compiler/blob/master/src/codegeneration/InstantiateModuleTransformer.js#L138
"__moduleName" is being parsed to "$__moduleContext.id" and "$__moduleContext" evaluates to the __moduleName itself (which is a string), so "$__moduleContext.id" evaluates to undefined.
Best regards,
tbragaf

@tbragaf Are you saying you do not want __moduleName to be transformed?
This is by design when using --modules=instantiate. as you can see here: http://google.github.io/traceur-compiler/demo/repl.html#%2F%2F Options%3A --modules%3Dinstantiate

__moduleName
@guybedford @johnjbarton
@guybedford

An example that fails would be helpful here.
I guess you mean "$__moduleContext evaluates to the  modules name, a string.", that is a bug if so.

Closing for this was fixed in the latest build.

@johnjbarton That was that :)

:smiley:


[DOC] quickstart s/schema/schema.db/g

This is actually supposed to be demonstrating Mirage's ORM (accessed via schema.authors.[method] which is the primary way to interact with Mirage's database. Maybe the lead-up paragraph is confusing?


MBL-1556: Add network calls to confirm address and requery the PPO card list

📲 What

Requery ppo list when confirm address call is successful
switch to schema.graphql and remove schema.json, including the small changes needed with the switch
Cleanup activity result call back for fix payment and confirm address
Remove categories from ppo query response, deprecated

🤔 Why
ppo!
🛠 How

Will be using schema.graph moving forward
Confirm address dialog box, tapping confirm sends a mutation request to CreateOrUpdateBackingAddress, if that is successful, it then refreshes the ppo list by sending a new query request to PledgedProjectsOverview. otherwise we show an error

👀 See
Please note -> the "requery" does not dismiss the card because we are using mocked/hardcoded data for example purposes.
Success:
https://github.com/user-attachments/assets/ef4356aa-8b93-49c3-a3ee-d31d0c9f6ed9
Error:
https://github.com/user-attachments/assets/a1afaa19-c1ba-4efb-8ffc-54164db889a7
📋 QA
Please note -> the requery occurs but does not dismiss the card because we are using mocked/hardcoded data for example and testing purposes.
Happy path:

Find a backingID and addressID associated with your account. i used graphiql to find mine
In PPOCardFactory.kt, in the confirmAddressCard() function, replace the addressID and backingID values with the ones associate with your account
In GraphqlTransformers, add a confirm address card to the list, generated by the PPOCardFactory.confirmAddressCard() function
Run app
Navigate to ppo screen. Find confirm address card, tap confirm. Dialog popup should appear
In dialog box, tap confirm. Should see loading spinner and success snackbar at the bottom of screen
Confirm in logs or app inspection that two calls were made successfully, one to CreateOrUpdateBackingAddress, which returns true, and one to PledgedProjectsOverview

Unhappy path/errors:

Make sure the addressID and the backingID values in the POCardFactory.confirmAddressCard() function are both not real ids, can be a random string of characters
In GraphqlTransformers, add a confirm address card to the list, generated by the PPOCardFactory.confirmAddressCard() function
Run app
Navigate to ppo screen. Find confirm address card, tap confirm. Dialog popup should appear
In dialog box, tap confirm. Should see loading spinner and error snackbar at the bottom of screen
Confirm in logs or app inspection that only one calls was made to CreateOrUpdateBackingAddress with a response of false

Story 📖
MBL-1556: Add network calls to confirm address and requery the PPO card list

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 62.96296% with 20 lines in your changes missing coverage. Please review.

Project coverage is 67.65%. Comparing base (2d6291c) to head (8342b8f).

Files
Patch %
Lines

...arter/services/transformers/GraphQLTransformers.kt
0.00%
10 Missing :warning:

...res/pledgedprojectsoverview/data/PledgeTierType.kt
0.00%
5 Missing :warning:

...r/features/pledgedprojectsoverview/data/PPOCard.kt
57.14%
3 Missing :warning:

...res/pledgedprojectsoverview/data/PPOCardFactory.kt
66.66%
1 Missing :warning:

...view/viewmodel/PledgedProjectsOverviewViewModel.kt
96.15%
0 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2088      +/-   ##
============================================
+ Coverage     67.49%   67.65%   +0.15%
- Complexity     2126     2127       +1
============================================
  Files           363      363
  Lines         22105    22100       -5
  Branches       3104     3106       +2
============================================
+ Hits          14920    14951      +31
+ Misses         5544     5506      -38
- Partials       1641     1643       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


COS client cannot handle common special characters

The COS client errors out when I try to put objects with keys that contain the = character. I understand from the Amazon documentation that there are certain characters that may cause problems. However, the Amazon SDK v1 that your client is a fork of is able to correctly handle the = character.

Here's some additional information. I'm using version 2.6.0 of the client. Here's an example stacktrace:
com.ibm.cloud.objectstorage.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details. (Service: Amazon S3; Status Code: 403; Error Code: SignatureDoesNotMatch; Request ID: 221fdf56-ef75-4bc8-9e99-f70748356631)
, S3 Extended Request ID: null
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
	at com.ibm.cloud.objectstorage.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
	at com.ibm.cloud.objectstorage.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3985)
	at com.ibm.cloud.objectstorage.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3932)
	at com.ibm.cloud.objectstorage.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1683)
	at com.ibm.cloud.objectstorage.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:3019)

That was produced by executing the following:
ibmClient.putObject(bucket, "0=ocfl_1.0", "testing");

There is nothing wrong with the keys. Executing the same request without the = works fine.

Hi,
I've not been able to reproduce this error, I can successfully run putObject with the key containing an = and get a 200 response.
I can provide some code (with HMAC auth) if you need it. Are you able to provide the code that is throwing an exception?

Hi,
The standard putObject is working fine with 2.6.0, can you provide the code you are using to initialise the client please? The error points to an issue with signing the request.

AmazonS3ClientBuilder.standard()
                .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey)))
                .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, "us"))
                .enablePathStyleAccess()
                .build();

The same request works using the same client when there is no = in the key.

The following script appears to work against the us-south region, using your suggested client configuration.
public static void main(String args[]) {
		final String accessKey = "<access_key>";
		final String secretKey = "<secret_key>";
		final String endpoint = "s3.us-south.cloud-object-storage.appdomain.cloud";
		final String region = "us-south";
		AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
				.withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey)))
				.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, region))
				.enablePathStyleAccess().build();
		System.out.println("## Starting");
		try {
			System.out.println("## Writing object");
			s3Client.putObject("test-client-java-20200110155619", "0=ocfl_1.0", "testing");

		} catch (Exception e) {
			System.out.println(e);
		}
		System.out.println("## Finished");
	}

Output is:
## Starting
## Writing object
## Finished

@pwinckles can you compare this against your full script and let us know if you spot any differences? I'm running on Java 8, although I would expect any issue here would be more likely to be related to region, bucket, or otherwise configuration related.

@rtveitch I'll try it out on Monday. I'll also do a test with Java 8.
One thing to note, I am using an on premise, private cloud storage install and not the public cloud.

@rtveitch I ran your code (identical except for the different endpoint) and it doesn't work:
## Starting
## Writing object
com.ibm.cloud.objectstorage.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details. (Service: Amazon S3; Status Code: 403; Error Code: SignatureDoesNotMatch; Request ID: 0fd76dc8-a341-4339-a5aa-0084143e74a1), S3 Extended Request ID: null
## Finished

I turned on wire logging.
Here is the wire log for the request that does not work:
09:01:07.210 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> PUT /[BUCKET]/0=ocfl_1.0 HTTP/1.1
09:01:07.210 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: [ENDPOINT]
09:01:07.210 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> x-amz-content-sha256: UNSIGNED-PAYLOAD
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Authorization: AWS4-HMAC-SHA256 Credential=[ACCESS_KEY]/20200113/us-south/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-retry;content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date, Signature=539c574ab94ba9635513ed831ece42d98e107692fb7517fb326e1a68f5816830
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> X-Amz-Date: 20200113T150106Z
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: ibm-cos-sdk-java/2.6.0 Linux/3.10.0-1062.9.1.el7.x86_64 OpenJDK_64-Bit_Server_VM/11.0.2+9/11.0.2
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-invocation-id: a5aaf26b-f929-a383-21cd-479a76fdcc54
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-retry: 0/0/500
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Type: text/plain
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Length: 7
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
09:01:07.211 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 100-continue
09:01:07.211 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "PUT /[BUCKET]/0=ocfl_1.0 HTTP/1.1[\r][\n]"
09:01:07.211 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: [ENDPOINT][\r][\n]"
09:01:07.211 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "x-amz-content-sha256: UNSIGNED-PAYLOAD[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Authorization: AWS4-HMAC-SHA256 Credential=[ACCESS_KEY]/20200113/us-south/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-retry;content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date, Signature=539c574ab94ba9635513ed831ece42d98e107692fb7517fb326e1a68f5816830[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Date: 20200113T150106Z[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: ibm-cos-sdk-java/2.6.0 Linux/3.10.0-1062.9.1.el7.x86_64 OpenJDK_64-Bit_Server_VM/11.0.2+9/11.0.2[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-invocation-id: a5aaf26b-f929-a383-21cd-479a76fdcc54[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-retry: 0/0/500[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Type: text/plain[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Length: 7[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
09:01:07.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Expect: 100-continue[\r][\n]"
09:01:07.213 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 403 Forbidden[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Mon, 13 Jan 2020 15:01:04 GMT[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Clv-Request-Id: 2dd4fad5-c978-46fe-b3e4-afe4d4066feb[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Server: <IP_ADDRESS>[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Clv-S3-Version: 2.5[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amz-request-id: 2dd4fad5-c978-46fe-b3e4-afe4d4066feb[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Type: application/xml[\r][\n]"
09:01:07.228 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 3536[\r][\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Connection: close[\r][\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Error>SignatureDoesNotMatch<Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.</Message><Resource>/[BUCKET]/0=ocfl_1.0</Resource><RequestId>2dd4fad5-c978-46fe-b3e4-afe4d4066feb</RequestId><StringToSign>AWS4-HMAC-SHA256[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "20200113T150106Z[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "20200113/us-south/s3/aws4_request[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "812c783d05dfe5a18b4c1c5aa7e42de29169f375e2ebf538ace4ff3121c69745</StringToSign><StringToSignBytes>65 87 83 52 45 72 77 65 67 45 83 72 65 50 53 54 10 50 48 50 48 48 49 49 51 84 49 53 48 49 48 54 90 10 50 48 50 48 48 49 49 51 47 117 115 45 115 111 117 116 104 47 115 51 47 97 119 115 52 95 114 101 113 117 101 115 116 10 56 49 50 99 55 56 51 100 48 53 100 102 101 53 97 49 56 98 52 99 49 99 53 97 97 55 101 52 50 100 101 50 57 49 54 57 102 51 55 53 101 50 101 98 102 53 51 56 97 99 101 52 102 102 51 49 50 49 99 54 57 55 52 53</StringToSignBytes><SignatureProvided>539c574ab94ba9635513ed831ece42d98e107692fb7517fb326e1a68f5816830</SignatureProvided><CanonicalRequest>PUT[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "/[BUCKET]/0=ocfl_1.0[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "amz-sdk-invocation-id:a5aaf26b-f929-a383-21cd-479a76fdcc54[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "amz-sdk-retry:0/0/500[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "content-length:7[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "content-type:text/plain[\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "host:[ENDPOINT][\n]"
09:01:07.229 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "user-agent:ibm-cos-sdk-java/2.6.0 Linux/3.10.0-1062.9.1.el7.x86_64 OpenJDK_64-Bit_Server_VM/11.0.2+9/11.0.2[\n]"
09:01:07.230 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amz-content-sha256:UNSIGNED-PAYLOAD[\n]"
09:01:07.230 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amz-date:20200113T150106Z[\n]"
09:01:07.230 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\n]"
09:01:07.230 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "amz-sdk-invocation-id;amz-sdk-retry;content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date[\n]"
09:01:07.230 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "UNSIGNED-PAYLOAD</CanonicalRequest><CanonicalRequestBytes>80 85 84 10 47 100 99 99 45 112 114 101 115 101 114 118 97 116 105 111 110 45 116 101 115 116 45 48 49 47 48 61 111 99 102 108 95 49 46 48 10 10 97 109 122 45 115 100 107 45 105 110 118 111 99 97 116 105 111 110 45 105 100 58 97 53 97 97 102 50 54 98 45 102 57 50 57 45 97 51 56 51 45 50 49 99 100 45 52 55 57 97 55 54 102 100 99 99 53 52 10 97 109 122 45 115 100 107 45 114 101 116 114 121 58 48 47 48 47 53 48 48 10 99 111 110 116 101 110 116 45 108 101 110 103 116 104 58 55 10 99 111 110 116 101 110 116 45 116 121 112 101 58 116 101 120 116 47 112 108 97 105 110 10 104 111 115 116 58 115 51 46 100 114 105 118 101 46 119 105 115 99 46 101 100 117 10 117 115 101 114 45 97 103 101 110 116 58 105 98 109 45 99 111 115 45 115 100 107 45 106 97 118 97 47 50 46 54 46 48 32 76 105 110 117 120 47 51 46 49 48 46 48 45 49 48 54 50 46 57 46 49 46 101 108 55 46 120 56 54 95 54 52 32 79 112 101 110 74 68 75 95 54 52 45 66 105 116 95 83 101 114 118 101 114 95 86 77 47 49 49 46 48 46 50 43 57 47 49 49 46 48 46 50 10 120 45 97 109 122 45 99 111 110 116 101 110 116 45 115 104 97 50 53 54 58 85 78 83 73 71 78 69 68 45 80 65 89 76 79 65 68 10 120 45 97 109 122 45 100 97 116 101 58 50 48 50 48 48 49 49 51 84 49 53 48 49 48 54 90 10 10 97 109 122 45 115 100 107 45 105 110 118 111 99 97 116 105 111 110 45 105 100 59 97 109 122 45 115 100 107 45 114 101 116 114 121 59 99 111 110 116 101 110 116 45 108 101 110 103 116 104 59 99 111 110 116 101 110 116 45 116 121 112 101 59 104 111 115 116 59 117 115 101 114 45 97 103 101 110 116 59 120 45 97 109 122 45 99 111 110 116 101 110 116 45 115 104 97 50 53 54 59 120 45 97 109 122 45 100 97 116 101 10 85 78 83 73 71 78 69 68 45 80 65 89 76 79 65 68</CanonicalRequestBytes><AWSAccessKeyId>[ACCESS_KEY]</AWSAccessKeyId><httpStatusCode>403</httpStatusCode></Error>"
09:01:07.232 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 403 Forbidden
09:01:07.232 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Mon, 13 Jan 2020 15:01:04 GMT
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Clv-Request-Id: 2dd4fad5-c978-46fe-b3e4-afe4d4066feb
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: <IP_ADDRESS>
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Clv-S3-Version: 2.5
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << x-amz-request-id: 2dd4fad5-c978-46fe-b3e4-afe4d4066feb
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: application/xml
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 3536
09:01:07.233 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: close

Here is the wire log for the same request where the object key is URL encoded first (URLEncoder.encode("0=ocfl_1.0", StandardCharsets.UTF_8):
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> PUT /[BUCKET]/0%253Docfl_1.0 HTTP/1.1
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: [ENDPOINT]
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> x-amz-content-sha256: UNSIGNED-PAYLOAD
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Authorization: AWS4-HMAC-SHA256 Credential=[ACCESS_KEY]/20200113/us-south/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-retry;content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date, Signature=844a153ed01d673b8c4ade4f47ec5dd690067e628419c8934ce284f30f335e2e
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> X-Amz-Date: 20200113T150548Z
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: ibm-cos-sdk-java/2.6.0 Linux/3.10.0-1062.9.1.el7.x86_64 OpenJDK_64-Bit_Server_VM/11.0.2+9/11.0.2
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-invocation-id: 8cd18003-b455-6150-8634-341c5157f783
09:05:49.199 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> amz-sdk-retry: 0/0/500
09:05:49.200 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Type: text/plain
09:05:49.200 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Length: 7
09:05:49.200 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
09:05:49.200 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 100-continue
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "PUT /[BUCKET]/0%253Docfl_1.0 HTTP/1.1[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: [ENDPOINT][\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "x-amz-content-sha256: UNSIGNED-PAYLOAD[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Authorization: AWS4-HMAC-SHA256 Credential=[ACCESS_KEY]/20200113/us-south/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-retry;content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date, Signature=844a153ed01d673b8c4ade4f47ec5dd690067e628419c8934ce284f30f335e2e[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Date: 20200113T150548Z[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: ibm-cos-sdk-java/2.6.0 Linux/3.10.0-1062.9.1.el7.x86_64 OpenJDK_64-Bit_Server_VM/11.0.2+9/11.0.2[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-invocation-id: 8cd18003-b455-6150-8634-341c5157f783[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-retry: 0/0/500[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Type: text/plain[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Length: 7[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Expect: 100-continue[\r][\n]"
09:05:49.200 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
09:05:49.210 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 100 Continue[\r][\n]"
09:05:49.210 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
09:05:49.212 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 100 Continue
09:05:49.212 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "testing"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Mon, 13 Jan 2020 15:05:46 GMT[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Clv-Request-Id: 1f21afd6-4a99-4f63-9bbc-25af08676308[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Server: <IP_ADDRESS>[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Clv-S3-Version: 2.5[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amz-request-id: 1f21afd6-4a99-4f63-9bbc-25af08676308[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "ETag: "ae2b1fca515949e5d54fb22b8ed95575"[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 0[\r][\n]"
09:05:49.226 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Mon, 13 Jan 2020 15:05:46 GMT
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Clv-Request-Id: 1f21afd6-4a99-4f63-9bbc-25af08676308
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: <IP_ADDRESS>
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Clv-S3-Version: 2.5
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << x-amz-request-id: 1f21afd6-4a99-4f63-9bbc-25af08676308
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << ETag: "ae2b1fca515949e5d54fb22b8ed95575"
09:05:49.227 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 0

Probably of most interest is the url. The request that doesn't work is executing PUT /[BUCKET]/0=ocfl_1.0 HTTP/1.1 and the request that "works" (I don't want the key to be url encoded except during transmission) is executing PUT /[BUCKET]/0%253Docfl_1.0 HTTP/1.1.
But, it's sounding like there's something wrong with our cloud install and it's not necessarily a problem with the client library.

What's the url for your requests that work? It's odd to me that the key 0=ocfl_1.0 is NOT url encoded in my request that fails.

I think the url encoding might not be the actual problem. Here's the output from my request which succeeds:
## Starting
## Writing object
15:12:12.753 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
15:12:12.760 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "PUT /[BUCKET]/0=ocfl_1.0 HTTP/1.1[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Host: [ENDPOINT][\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "x-amz-content-sha256: UNSIGNED-PAYLOAD[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Authorization: AWS4-HMAC-SHA256 Credential=[ACCESS_KEY]/20200113/us-south/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-retry;content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date, Signature=2d4666461a8bf85960e3a7e6d849ddc8af09e35c3fdf2ca883239aa45c08937a[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "X-Amz-Date: 20200113T211212Z[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "User-Agent: ibm-cos-sdk-java/2.6.0 Mac_OS_X/10.14.6 Java_HotSpot(TM)_64-Bit_Server_VM/25.151-b12/1.8.0_151 kotlin/1.3.41-release-150 (1.3.41)[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-invocation-id: 6dd9d17c-e59c-d933-2a84-c093fd0e8f90[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "amz-sdk-retry: 0/0/500[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Type: text/plain[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Content-Length: 7[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "Expect: 100-continue[\r][\n]"
15:12:12.801 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "[\r][\n]"
15:12:12.869 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 100 Continue[\r][\n]"
15:12:12.870 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
15:12:12.872 [main] DEBUG org.apache.http.wire - http-outgoing-0 >> "testing"
15:12:12.902 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "HTTP/1.1 200 OK[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Date: Mon, 13 Jan 2020 21:12:12 GMT[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Clv-Request-Id: 4c4fe76f-d834-4281-b338-ac50165d0d8b[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Server: Cleversafe/<IP_ADDRESS>[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "X-Clv-S3-Version: 2.5[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "x-amz-request-id: 4c4fe76f-d834-4281-b338-ac50165d0d8b[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "ETag: "ae2b1fca515949e5d54fb22b8ed95575"[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "Content-Length: 0[\r][\n]"
15:12:12.903 [main] DEBUG org.apache.http.wire - http-outgoing-0 << "[\r][\n]"
## Finished

Great, thanks! We'll open a different ticket to try to figure out what's going on with our private cloud.


docs: Add documentation for self-hosting

Resolves https://github.com/wei/pull/issues/329

Thanks for the PR, I'll review and merge once I get some time later this month~

Help my account was hack these please been hacked my bank account please help

That's really sad to hear, although we can't do anything about it, please reach out to GitHub: https://support.github.com/request

Closing due to stale PR. With Pull 2.0 just released, we can adding some self-hosting instructions for it.


What is the "Logseq will assign a new id for this block" error?

This is partially just curiosity, but also because no matter how often I re-index or do anything else the same errors show up every time (and it takes the validator script a long time to generate these errors as well). So what exactly does the "Logseq will assign a new id for this block" error mean, and is there some way to turn off this test?

So deleting the .recycle folder also solved this problem (except for one exception, which was a bak file).

This error message prints when two files have blocks with the same ids. It makes sense that removing bak and recycle files fixed the issue as those files can contain duplicated parts of files


(GoogleChrome) Unable to install latest version

Looks like the checksums of the latest GoogleChrome package no longer match what is being downloaded.
Can we push out a new version of this package?

It works fine when using the Download Cache, so something obviously changed on the Google side.

Noticed this issue after seeing this issue on the AppVeyor site:
https://github.com/appveyor/ci/issues/2089

@AdmiringWorm is all that is required here likely to be forcing a new AppVeyor run to check for latest version?

Yeah seeing the same thing on AppVeyor at the moment. Just doing a new AppVeyor does not seem to be enough.

Hmm, looks like the problem is bigger than I had hoped 😢
Looks like the site that we use to get the latest version of Chrome isn't working:

Do we know who runs that site, and who we can contact to figure out what is going on?

seems like the website is up again, and a new version have been pushed to chocolatey.
When it have been approved I believe we can close this issue.

@AdmiringWorm am I right in saying that there wasn't any output from AU to say that the website wasn't working properly, when it was down?  Would be good if we could catch this happening again.

@gep13 not completely sure, but yeah I don't think there was any output from AU, could be that the ignore messages catches it instead.

hmm,  I stand corrected.
AU actually detected the error, must have missed the email instead:
https://ci.appveyor.com/project/chocolatey/chocolatey-coreteampackages/build/3422#L292

Ah, I think I see why I didn't see it...
Looks like it failed to update the gist:
https://ci.appveyor.com/project/chocolatey/chocolatey-coreteampackages/build/3422#L458
Hence it wasn't in the report.
Hopefully your new fix will help with that as well.

true, but it probably got sent out as an email instead.
Yeah, hopefully that fix will help with the reports, so far so good though.

@AdmiringWorm said...
true, but it probably got sent out as an email instead.

Yip.  I think I must have missed that in the flood of other emails that I have 😄

same here


Implement SET statement

YQL Doc Reserved words
YQL Doc Setting Key Value

Seems only to be used for environment file which we obviously don't support :disappointed_relieved:


[FP]: CVE-2021-3765, validator.js dependency gets flagged on hibernate-validator dependencies

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:validator_project:validator:8.0.1:::::::*
CVE
CVE-2021-3765
ODC Integration
{"label"=>"Gradle Plugin"}
ODC Version
9.2.0
Description
Vulnerability CVE-2021-3765, which applies to validator.js (a Node.js library) gets flagged on hibernate-validator dependencies:
hibernate-validator-8.0.1.Final-sources.jar<EMAIL_ADDRESS>cpe:2.3:a:validator_project:validator:8.0.1:*:*:*:*:*:*:*) : CVE-2021-3765
hibernate-validator-annotation-processor-8.0.1.Final-sources.jar<EMAIL_ADDRESS>cpe:2.3:a:validator_project:validator:8.0.1:*:*:*:*:*:*:*) : CVE-2021-3765

Strangely enough, this suddenly got flagged (along with a bunch of other vulnerabilities) while I tried to upgrade a project from Kotlin 1.9.x to Kotlin 2.0. But the dependencies that suddenly got flagged with that upgrade weren't related to the Kotlin 2.0 upgrade.
Also worth noting: according to NIST, the CPE should in fact be cpe:2.3:a:validator_project:validator:*:*:*:*:*:node.js:*:* but the CPE that the DendencyCheck Gradle plugin flags has a wildcard in place of the .node.js part. Perhaps that's what's causing this false positive?

This is one of multiple FPs of Node.js vulnerabilities that suddenly got flagged on Java/JVM dependencies while I was upgrading Kotlin from 1.9.x to 2.0, apparently because the CPE had an asterisk in the third position, which should have contained the string node.js, according to NIST:

CVE-2021-3765, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6692
CVE-2017-16111, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6693
CVE-2016-10543, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6694
CVE-2022-21704, FP reported at https://github.com/jeremylong/DependencyCheck/issues/6695

approved

@jeremylong It still flags the other one with the suppression in the automated fix commit:
hibernate-validator-annotation-processor-8.0.1.Final-sources.jar<EMAIL_ADDRESS>cpe:2.3:a:validator_project:validator:8.0.1:*:*:*:*:*:*:*) : CVE-2021-3765

@jeremylong Adding another .* between validator and @ appears to do the trick:
<suppress base="true">
   <notes><![CDATA[
   FP per issue #6692
   ]]></notes>
   <packageUrl<EMAIL_ADDRESS>   <cpe>cpe:/a:validator_project:validator</cpe>
</suppress>


Setup error Required Fields missing.

Hello.
Complete noob here trying to use this awesome software.
apparently i have misconfigured my setup because i have this in the logs:
Apr 27 16:41:07 WRN No target libraries found error=": failed determining library" target=jellyfin url=https://myserverurl:443
Apr 27 16:42:11 ERR Required fields are missing id=c9km8kuc7jlu8bjearng method=POST url=/triggers/radarr
Apr 27 16:56:29 ERR Required fields are missing id=c9kmfbec7jlu8bjearo0 method=POST url=/triggers/radarr
Apr 27 17:21:17 ERR Required fields are missing id=c9kmqvec7jlu8bjearog method=POST url=/triggers/lidarr

my config:
# port for Autoscan webhooks to listen on
port: 3030
minimum-age: 5m
scan-delay: 15s
anchors:
  - /home/jellyfin/media/mounted.bin

triggers:
  radarr:
    - name: radarr   # /triggers/radarr
      priority: 2

  sonarr:
    - name: sonarr # /triggers/sonarr
      priority: 2

  lidarr:
    - name: lidarr # /triggers/lidarr
      priority: 2

targets:
  jellyfin:
    - url: https://myserverurl:443 # URL of your Jellyfin server
      token: redacted # Jellyfin API Token

You've probably enabled one of the unsupported notifications triggers inside of Sonarr/Radarr. My initial guess would be that you have grab/health/app update enabled.

This is most likely a configuration issue. As @saltydk has stated, not all event types are supported. Please only enable the events specified in the readme.


Bump tj-actions/changed-files to v41

This is a subset of https://github.com/astral-sh/ruff/pull/9526 that should be safe to apply.

Took me a while to find but the reason why they released a new major is because of

A new safe_output input is now available to prevent outputting unsafe filename characters (Enabled by default). This would escape characters in the filename that could be used for command injection.

Which shouldn't matter for us


refactor: Replace thegraph_core::Address with alloy::primitives::Address

Related to: #362

Replaces thegraph_core::Address usage with alloy::primitives::Address

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.05%) to 70.636%

Files with Coverage Reduction
New Missed Lines
%

tap-agent/src/agent/sender_account.rs
3
91.77%

Totals

Change from base Build<PHONE_NUMBER>2:
-0.05%

Covered Lines:
4532

Relevant Lines:
6416

💛  - Coveralls