Enhance Status details

System information:

Operating system (distribution) and version
DBeaver version
Additional extensions
win11
21.3

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?
any db,any driver,no SSH

Describe the problem you're observing:
After I executed a piece of SQL, the execution time displayed in the lower right corner was not intuitive enough. This time is different from the display in the query manager.
Why it is different? Which one should I use？What does this means in '(' and ')'?

Steps to reproduce, if exist:
Include any warning/errors/backtraces from the logs

We need to check it.

We need to check it.

What does time means in “()”?Why are there two times?


[Always on Top] Functionality fails on background click when foreground window is MobaXterm, background application is Excel.

Microsoft PowerToys version
0.84.1
Installation method
GitHub
Running as admin
Yes
Area(s) with issue?
Always on Top
Steps to reproduce
The Always on Top functionality is not working correctly. Currently, it has been observed that when the background application is Microsoft Excel and the foreground window is MobaXterm, clicking on the background Excel sheets causes the foreground MobaXterm to be sent to the background. However, when other applications are in the foreground(for example, the Microsoft Calculator or Notepad), clicking on Excel does not cause the foreground window to go to the background.

Always on Top  works well on applications like Microsoft Calculator :

✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

Just now I've upgraded PowerToys into preview version 0.85.1 through the PowerToys Auto-Update, while this issue does not get fixed yet.


No exception thrown in sqlContext.sqlDBQuery

In sqlDBQuery, when an exception occurs the error doesn't get thrown but instead gets printed out. IMO it would be better to close the connection and throw an exception so the user can handle this properly.

I second this, but if you still want to keep stifling the exceptions, can you return the stack trace or something? It is currently impossible to log the results of the query in the current implementation.

Fourth, In my case, we executed a stored procedure on SQL Managed Instance, which internally executed a dynamic sql statement. Certain errors were noticed only when the procedure was directly executed on sql server but only the message was printed in databricks. The problem was "SET NOCOUNT".  One of my team mates looked into the connector code here and found the below

I also came across the similar scenario with sqlDBQuery, where is the exception? What is the purpose of this behavior?

This project is not being actively maintained. There are no plans to investigate and / or fix any issues with this old connector. Instead, Apache Spark Connector for SQL Server and Azure SQL is now available, with support for Python and R bindings, an easier-to use interface to bulk insert data, and many other improvements. We encourage you to actively evaluate and use the new connector.
Also, note that it may be easier in some cases to directly use SQL JDBC to execute statements. Here is a trivial example for SELECT:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;

val ds = new SQLServerDataSource();
ds.setServerName("SOMESERVER.database.windows.net"); // Replace with your server name
ds.setDatabaseName("SOMEDB"); // Replace with your database
ds.setUser("SOMEUSER"); // Replace with your user name
ds.setPassword("SOMEPASSWORD"); // Replace with your password
ds.setHostNameInCertificate("*.database.windows.net");

val connection = ds.getConnection();
val stmt = connection.createStatement();

val rs = stmt.executeQuery("SELECT SUSER_NAME()");
if (rs.next()) {
    print("You have successfully logged on as: " + rs.getString(1));
}

and here's another showing how to execute an UPDATE and also obtain the affected row count:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;

val ds = new SQLServerDataSource();
ds.setServerName("SOMESERVER.database.windows.net"); // Replace with your server name
ds.setDatabaseName("SOMEDB"); // Replace with your database
ds.setUser("SOMEUSER"); // Replace with your user name
ds.setPassword("SOMEPASSWORD"); // Replace with your password
ds.setHostNameInCertificate("*.database.windows.net");

val connection = ds.getConnection();

val query = "UPDATE someTable SET someCol = someThing"

val pStmt = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS);
val affectedRows = pStmt.executeUpdate();
print(affectedRows);


Proper handling of non-existing files/folders in Download API

Current
Our current behavior if a file/folder does not exist:

DownloadDirectory - returns blank list
DownloadFile - returns Failed
DownloadFiles - marks Failed

All our API is not checking if something exists. Should we?
Proposed
I think it would be better to:

DownloadDirectory - if the root folder is missing throw FtpDoesNotExist error and mention folder does not exist
DownloadFile - throw FtpDoesNotExist error and mention file does not exist
DownloadFiles - mark the specific file as IsFailed=true and add the FtpDoesNotExist error in Error property. return list of FtpResult as usual.

Rationale
Throwing an error is better than silently failing because if you are trying to download something that does not exist, it is an "exceptional case" imo and better to warn users and let them handle errors rather than silently failing and nobody having any idea that something went wrong.

@FanDjango what are your thoughts?

I agree with your proposed actions.
If a caller explicitly states that he wants to download a specific file/entire directory and this entity does not exist remotely, he is doing something that is in error.
If a caller explicitly states that he wants to upload a specific file/entire directory and this entity does not exist locally, he is doing something that is in error.
If he wants to download a list of things, the returned results should just indicate failures - missing on the remote being one of them.
If he wants to upload a list of things, the returned results should just indicate failures - missing on the local being one of them.
If failures occurred, cleaning up (deleting successfully transferred files) should be made optional. The same goes for retrying transfers, because:
Failures that are deemed unrecoverable should terminate the operation prematurely, not try to clean up and throw an exception.

Sounds good @FanDjango thanks for your thoughts, I'll work up a solution for the next major release.

I strongly agree in the thoughts from both of you.

I'd like to clarify my reasoning behind:

If he wants to upload/download a list of things, the returned results should just indicate failures

Of course it could be a list of explicitly requested  items, and one would expect all of them to exist. Would one really?
No, because acting on a list of items is often also associated with a purpose, namely "try to get all of these files/this folder, dunno how many that may be or if they are all present".
Or another way of looking at this, is: It is a sequence of single explicit transfers, which may fail, but the failure should try to carry on with the next in the sequence in case of a failure, unless that is no longer possible.

Yes agreed @FanDjango

Released!
https://www.nuget.org/packages/FluentFTP/44.0.0


Support compress with axis as None

According to NumPy's documentation, when compress gets axis as None, it simply flattens the array and applies the same operation on it. Given this, it appears to be a simple matter to transform this case into an already supported case for compress; namely, a flattened array where axis is 0 instead. The tests are updated to reflect this change and a few test cases are included as well.

This is ready for review.


feat: cortex engines list

command:
cortex-cpp engines list

@namchuai Can I reassign this to you, since you are the main owner of engines API endpoint and CLI

yes, I will work on this.

QAed with #1073 (see screenshots there)
Linked to open followup issue on #1168


After an IOS 14 update, video sound worked but video not displayed

Error is [ProcessSuspension] 0x10d7f53c0 - ProcessAssertion: Failed to acquire RBS MediaPlayback assertion 'WebKit Media Playback' for process with PID 14939, error: Error Domain=RBSAssertionErrorDomain Code=3 "Required client entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"MediaPlayback" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Required client entitlement is missing}. Cann you help me please ?

is this resolved ?

by default video not opening on AVPlayer. it is first opening on view and then we have to tap on full screen that need to be fixed.

@akashBuzzyears  did you find a solution?

@akashBuzzyears did you find a solution?

Not yet.


Remove extra quotes from CONTAINER_OPTIONS

When this variable is exported to be used by the new run-docker script, the literal quotes in it become escaped. Bash convention has a soft opposition to putting "code" in variables, so there's no good way of converting literal quotes into syntactic quotes.
Hopefully nobody has spaces in their GOPATH, but this wouldn't have worked anyway since those were literal quotes and Docker doesn't know how to handle that.
istio/common-files#94

Wrong branch oops

@XanderStrike: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

test_operator_release-1.3
f2fa3bbac8046ccecde354795570128a6feb3843
link
/test test_operator_release-1.3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Better API implementation

Description
We'd like a better implementation of the API, in particular one which:

Is strongly typed
Is self-documented (e.g., Swagger)
Is properly versioned
Could be shared with Swarm

How to
Ideas for implementation have yet to be discussed. One idea that was mentioned at the last contributor summit was the following:

Have a single repo that only contains the latest version of the API (types and endpoints)
Have an "assemblage" repo that would put together different versions of endpoints and types, and would deal with the versioning considerations such as backward compatibility: this would be the repo vendored in both the Engine and Swarm.

References

PoC implementation which doesn't address versioning

Ping interested parties: @aluzzardi @calavera @duglin @tiborvass

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

ping @kostickm as she's already working on this

https://github.com/docker/docker/issues/7358 and https://github.com/docker/docker/issues/5893 are kind related too.

For earlier experiments with using Swagger; https://github.com/docker/docker/pull/8402 and https://github.com/docker/docker/pull/9598

#7671 is related too

There is also this one, that might be helpful.
https://github.com/go-swagger/go-swagger

I think this one could be closed and a follow-up roadmap issue created in the engine-api. @icecrime @calavera wdyt ? :angel:

We're not quite done yet on the docker/docker side as the server-side code is not yet removed.

Does the server-side code separation have a planned timeline?

After multiple back-and-forth, it's pretty clear that:

Moving out the server-side code won't happen.
The architectural separation that engine-api provided is very appreciable, but the repository boundary is seen as unnecessary trouble for most maintainers.

See docker/engine-api#379: I'm closing this one!


[Service Connector] az connection: Support local connection which allow local environment to connect Azure resource

Related command

Description

Support local connection, which do some configuration to allow user's local environment to connect some Azure resource, including sql, appconfig, comosdb, mysql, postgresql, etc.
Command group:
az connection
Subgroups:
create                 : Create a connection from local to a target resource.
preview-configuration : Preview the expected configurations of local connection.
update                 : Update a Service Connector local connection.
Commands:
delete                 : Delete a Service Connector local connection.
generate-configuration : Generate configurations of a Service Connector local connection.
list                   : List local connections of Service Connector.
list-support-types     : List client types and auth types supported by local connections.
show                   : Get the details of a Service Connector local connection.
validate               : Validate a Service Connector local connection.
wait                   : Place the CLI in a waiting state until a condition of the connection is
met.
Command for az connection create group
az connection create appconfig/confluent-cloud/cosmos-cassandra/cosmos-gremlin/cosmos-mongo/cosmos-sql/cosmos-table/eventhub/keyvault/mysql/mysql-flexible/postgres/postgres-flexible/redis/redis-enterprise/servicebus/signalr/sql/storage-blob/storage-file/storage-queue/storage-table/webpubsub
Create connection to connect specific target Azure resource
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Service Connector

@kairu-ms Hi Kai, can you help review the PR?


Refactor view models to use Kotlin Flows.

Thank you so much @vkryachko for these changes! The services and the view models look great! I checked out the branch and tested all the features, and apart from the two comments I added above, everything is working flawlessly.
A couple of things to keep in mind before merging it:

This code still does not contain remote config and perf mon, could you pull the latest changes and solve the conflicts? I would like to test the feature flag from rc before merging;
I added four custom traces to the codebase, 3 of them will be affected by your changes: when creating an account on SignUpViewModel and when saving/updating tasks in EditTaskViewModel. Basically, the trace should start when we call the method from the service, and stop once the result arrives. Let me know if you need help fixing this conflict!

I think I've addressed everything, ptal.
As fore tracing I ended up creating a trace() function which I find similar to @AddTrace() in terms of ergonomics, i.e. one can do something like
suspend fun foo() = trace("hello") {
  // do suspend stuff
}

fun bar() = trace("hello") {
  // do stuff
}

wdyt?

@vkryachko you just reminded me that I have a feature request sitting for almost 2 years: https://github.com/firebase/firebase-android-sdk/issues/2029

@thatfiredev haha, nice! It never occurred to me to have a standalone function until I tried to use Trace.create("").trace{ } in an app and it felt a bit too clunky :)


Modify Result ordering and update examples

The Result type has optimizer as field 1 and optimum as field 2. Most of the times what we care for is the optimum, so that should be first :)

Oh and the Example of GA is reporting it inverted, so I assume we can just modify the other two return values :)


LocTextExtension.Assembly is obsolete

Hello,
i want to know what kind of changes i should excepted when i us the Asembly property of LocTextExtension which is obsolete? Is there any plan to change the property?
Best regards
Daniel

Open discussion: How should we continue with Assembly and Dict properties? In fact, they are not needed any more and do not work together with custom resource providers. Otherwise they do not interfere in a bad way and keep up the support of legacy applications.

Well, the common property is the key. For the resource file provider we
could add them to a derivation and enforce the usage via an generic
interface. On the other hand we can just drop assembly and dict property
and work with the composite key like "x:y:z".
We don't need to care too much for legacy code because the backend was
never the target environment for the extension and we always recommended
the usage of the composite key.
Agree with the second solution?

Vote for 2nd

we will drop the assembly and dict key with the next version


[Event Request] table 5900 "Service Header" - Event for trigger OnValidate() Field "Service Order Type"

Can we get the following event for the "Service Header" table: OnServiceOrderTypeOnValidate
trigger OnValidate()
            var
                ///
                IsHandled: Boolean; ///NEW
            ///-
            begin
                ///
                IsHandled := false; ///NEW
                OnServiceOrderTypeOnValidate(Rec, IsHandled); ///NEW
                if not IsHandled then ///NEW
                    ///-
                CreateDim(
                  DATABASE::"Service Order Type", "Service Order Type",
                  DATABASE::Customer, "Bill-to Customer No.",
                  DATABASE::"Salesperson/Purchaser", "Salesperson Code",
                  DATABASE::"Responsibility Center", "Responsibility Center",
                  DATABASE::"Service Contract Header", "Contract No.");
            end;

    [IntegrationEvent(false, false)]
    local procedure OnServiceOrderTypeOnValidate(var Rec: Record "Service Header"; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


migrate to failure

[ ] drop error_chain and use failure instead
[ ] ⚠ stay compatible with dependent crates!!!!!

Hi, I just had a look at #50 and noticed that mac-notification-sys 2.0 uses failure 0.1.1.
Would this mean, that this ticket must be solved first? Or should both be resolved at the same time?

Hi there, sorry for letting this dry-age for so long.
TLDR yes it does - I'll try to look at it this week
It's all a bit unfortunate IIRC
mac-notification-sys fixed that issue and migrated to failure at the same time. that caused some issues when I tried to update the dependecy here and therefore I had to migrate to failure too. that was not possible at the time because the dbus erros weren't thread safe or something like that, so I had to updated that too :grin:
AFAIK the feature/failure branch should make it possible to update mac-notification-sys, I need to take another look at it though

Thanks for the update @hoodie.
Anything I can help with? Programming, testing, ...?

Thanks, I'll have to checkout feature/failure again, after forgetting about it for a while.
My biggest concern is that migrating to failure proofs to be a breaking change, that would be a big NoNo in my opinion. I'll probably also have to check lots of the users of this lib on crates.io to see if they rely on the errors being in a certain format ATM, otherwise this could probably slip by unnoticed

I just spent some time trying to shoehorn the failure migration into a backward compatible version. Seems to be too weird. If you could perhaps review #52

nope no longer want to do this, using native errors instead


Log the Errors Occurred in GraphQL Resolvers

Purpose
$Subject
Fixes: #3260
Examples
Consider the following code:
import ballerina/graphql;

service on new graphql:Listener(4000) {
    resource function get greeting(string name) returns string|error {
        if name == "error" {
            return error("Invalid name");
        }
        return "Hello, " + name;
    }
}

When the following document is sent to this service:
{
    greeting(name: "error")
}

The following will be logged to the stderr:
time = 2022-08-17T17:37:56.764+05:30 level = ERROR module = ballerina/graphql message = "Invalid name" stackTrace = ["callableName: $get$greeting moduleName: thisarug.hello.0.$anonType$_1 fileName: main.bal lineNumber: 6"]

Checklist

[x] Linked to an issue
[x] Updated the changelog
[ ] ~Added tests~
[x] Updated the spec

In the above example what goes into GraphQL response ?

In the above example what goes into GraphQL response ?

This is the result:
{
  "errors": [
    {
      "message": "Invalid name",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "greeting"
      ]
    }
  ],
  "data": null
}


The default regexp doesn't support negative numbers

Thank you for reporting this, @Emm !
The release 0.1.1 fixes this issue.
Please npm update

Thanks!
On Wed, Feb 10, 2016 at 2:50 PM, Andreas Pizsa<EMAIL_ADDRESS>wrote:

Thank you for reporting this, @Emm https://github.com/Emm !
The release 0.1.1
https://github.com/AndreasPizsa/parse-decimal-number/releases/tag/v0.1.1
fixes this issue.
Please npm update
—
Reply to this email directly or view it on GitHub
https://github.com/AndreasPizsa/parse-decimal-number/issues/2#issuecomment-182384671
.


Fix Response headers

This PR:

fixes the headers field of Response object with the actual XHR response's headers;
adds a sendBy() function to Http module which carries the full Response object.

closes #48

@gcanti as I said you, I bumped the package version to 0.6.0 (because the bug-fix led to a possible "breaking change") and I already updated the changelog.

Thanks @StefanoMagrassi


[Hub Generated] Review request for Microsoft.CostManagement to add version stable/2019-11-01

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of “no breaking changes
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

Can one of the admins verify this patch?

the Grouping property is not supported in Forecast API, this change is to remove the property from Forecast. Hence the detected breaking change

do you mean the grouping is never supported in the API?  The change is just to align with API?

do you mean the grouping is never supported in the API? The change is just to align with API?

yes. grouping is never supported. This change is indeed just to align with API

@sashahdo, if user calls the modified API with providing grouping value, will your service ignore grouping value or return failure?  If it is latter, this is break change for our customers, and you may need follow the policy

@sashahdo, if user calls the modified API with providing grouping value, will your service ignore grouping value or return failure? If it is latter, this is break change for our customers, and you may need follow the policy

@erich-wang, the API itself has not been modified. Our service ignores the grouping value.

As this PR is introducing breaking change for Java/Python SDKs, so I'm going to close this PR, please let us know if any concern.

As this PR is introducing breaking change for Java/Python SDKs, so I'm going to close this PR, please let us know if any concern.

This change is identical to the one in 2020-06-01, which you approved.
Why treat this PR differently?

I see that this introduces a breaking change for java/python sdks, so what's the appropriate course of action here?
The grouping property is not and has never been supported by forecast.

I see that this introduces a breaking change for java/python sdks, so what's the appropriate course of action here?
The grouping property is not and has never been supported by forecast.

To avoid the breaking change for existing SDKs users, we prefer to keep the property and add proper description.
As to version 2020-06-01, there's no SDKs for it, that is why we approve it.

@sashahdo, I'm going to close this PR because of breaking change to existing SDKs, please let us know if any concern.

Close this PR as no feedback from @sashahdo, please send me email if you have any further question.


Created install Checks for installation:

Created basic installation checks for installed programs, as well as what version of java is installed on the target install computer.
This should give some more feedback to the user who is installing this app if they do or don't have some of the requested command line programs installed: grep, java 17 or above, xclip, pgrep, pkexec, whereis.
If this is to your liking, I can similarly copy the work over to the Install.sh for compiling.

Hello!
Thanks a lot for your contribution.
I very much appreciate your help.
Also, It would be very nice of you if you do the same for the other install.sh script.
Then, I'll merge this pull request.
Thank You.

Hello!
Thanks a lot for your contribution. I very much appreciate your help. Also, It would be very nice of you if you do the same for the other install.sh script. Then, I'll merge this pull request.
Thank You.

No worries, I know no Dart, but I'm happy to help with Bash Scripting which I know enough to be dangerous in.
I've added the variation for the compilation installation, as well as the normal installation.
I also cleaned up the code a bit, I didn't realize that it was that messy.

Thanks a lot.
I do not know bash scripting so much so that why it was messy.

Thanks a lot. I do not know bash scripting so much so that why it was messy.

As an aside, you are fine, the code is simple, but it works. :smile: I was talking more about cleaning up my code.


Introduce formatter plugin configurations

Description:
Introduce max line characters, the number of spaces used for indentation, etc. configurations for the plugin.
Related issue: https://github.com/ballerina-platform/ballerina-lang/issues/28234
Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

On hold until this discussion is finalized.


fix(nexmark): change the partitioning strategy for each split and fix spin loop

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
As mentioned in #6450, the current partitioning strategy in nexmark makes some splits have no events and fall in a spin loop. This PR fixes it by changing the partitioning strategy. For each split, it no longer maintains the global offset of all events, but a local offset of its own type. This way, we can make sure each split is assigned to an even number of events for a certain type.
Global  Offset: 0 1 2 3 4 5 ... 49 50 51 52 53 54 55 ... 99
Person  Offset: 0                   1
Auction Offset:   0 1 2                3  4  5
Bid     Offset:         0 1 ... 45             46 47 ... 91

Person  Offset: 0 1 2 ... 7 8 9 10 ... 15
Person  Split:  0 1 2 ... 7 0 1  2 ...  7

After this PR, the performance of simulation test ./risedev sslt --release -- ./e2e_test/source/nexmark_endless.slt has been further improved. The execution time dropped from 1.1s to 0.5s, and the percentage of overhead dropped from 20% to 9%.
I also noticed that previous nexmark generator would sleep based on the relative time inside a chunk, instead of elapsed time from the beginning. This would result in lower throughput than we set. This PR corrects this behavior, and adjusts the corresponding sleep time in the scale test.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)
fix #6450

Thanks god the test finally passed. PTAL @BugenZhao


DO NOT MERGE: Update librdkafka to 1.8.2

Racecar 2.6.0 depends on rdkafka-ruby 0.10, which depends on librdkafka 1.5.0. This version of the underlying librdkafka library does not support the cooperative-sticky partition assignment strategy for consumers.
Bumping rdkafka-ruby to 0.11 pulls in librdkafka 1.8.2, which includes support for incremental rebalances using cooperative sticky partition assignment. The Zendesk team already has an open PR (https://github.com/zendesk/racecar/pull/274) against the main repo with the rdkafka upgrade (amongst other things). We should abandon this fork as soon as those changes are released.

This was released in racecar 2.7.0.


Jump table resolution failure

Oddly, the jump gets resolved properly in one binary, but not in an object file. The code is the same.
Working one (expected behavior from test):

test!__vfwprintf+0x373
Broken one (actual behavior in vfwprintf.o)

Which results in this not being recognized as code :c

vfwprintf.o!__vfwprintf+0x373

OK, the problem is that the section that the jump table belonged to, .data.rel.ro.local, was not being marked as readonly.


Refactored run_workload method duplicated in the workloads

Description
Refactored run_workload method as the same code is duplicated in multiple workloads.
Fixes
Workloads in which code changes are made and their testing logs
network-perf and scale-perf: http://pastebin.test.redhat.com/1057462
api-load:
cyclic-test:
oslat and testpmd: Verified whether the code changes are reachable by adding debug points.

Can one of the admins verify this patch?

/rerun all

Results for e2e-benchmarking CI Tests

Workload
Test
Result
Runtime

router-perf-v2
./ingress-performance.sh
PASS
00:05:53

etcd-perf
./run_etcd_tests_fromgit.sh
PASS
00:02:26

scale-perf
./run_scale_fromgit.sh
PASS
00:13:36

network-perf
./run.sh
PASS
00:06:44

kube-burner
WORKLOAD=cluster-density ./run.sh
PASS
00:05:15

kube-burner
WORKLOAD=node-density ./run.sh
PASS
00:05:09

kube-burner
WORKLOAD=node-density-heavy ./run.sh
PASS
00:05:46

kube-burner
WORKLOAD=pod-density-heavy ./run.sh
PASS
00:06:00

kube-burner
WORKLOAD=max-services ./run.sh
PASS
00:04:30

kube-burner
WORKLOAD=max-namespaces ./run.sh
PASS
00:05:31

upgrade-perf
./run_upgrade_fromgit.sh
PASS
00:01:06


questions about mpc controller

Hi Marcello, there are some things that I don't understand about the mpc controller you implemented with the code in the "mpc_pybullet_demo" directory; they are 3 things:

is there a terminal constraint on the state (on the final state)?
is the implemented MPC controller linear or non-linear?
how can you prove that the mpc controller that you have implemented guarantees system stability?
Thank you very much!

Hi, to answer your questions:

No, I recall doing some experiments with it and there was no significant improvement, the code for adding a final state cost should be the same as the one in the notebook 2.0 - mpc base

# Final Point tracking
cost += cp.quad_form(x[:, T] - x_ref[:, T], Qf)

And define the Qf matrix accordingly
Otherwise if you want to impose a hard constrain of the final state you can use the currently commented out line:
_constraints += [opt.norm(target[:, time_horizon] - x[:, time_horizon], 1) <= 0.01,

Keep in mind this is a hard constrain so the optimizer will fail if no solution that can respect this constrain is found.

So short answer is linear. Long answer is that this MPC problem is non-linear (because  the kinematic equations are not linear), but the python solver (cvxpy) only handles convex problems (so only linear terms), you can read more about convex vs non-convex optimization here. This means that I had to linearize the model, this is documented in the notebook 1,0-lti-system-modelling.

Not sure I can help with that one, sorry

ok.
Is it true that the trajectory is entered in the augmented state formed by vehicle state + trajectory state? therefore the trajectory is completely known from the beginning

I was wondering if the states of the vehicle (x, y, speed, orientation) were joined to the trajectory and put all together in a single state, formed by the 4 states of the vehicle + the state of the trajectory, i.e. the point (x, y) of the trajectory. Apparently then this is not the case, rather the trajectory is seen as an exogenous input, as a disturbance for example


NIFI-11793: Added documentation to indicate how to debug Python side …

…of nifi framework, as well as debugging python processors themselves using VSCode's Remote debugger.
This also provides the ability to launch the Controller process in such a way that it will listen to incoming remote debug connections.

Summary
NIFI-00000
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Thanks @exceptionfactory , agreed on the naming. Have updated and pushed new commit.


--target not always applied

TLDR
cargo msrv --output-format json --all-features verify --target thumbv7em-none-eabihf does not respect the --target argument if it is behind the verify command.
Details
In my case, I would like to combine cargo-minimal-versions with cargo-msrv. I use this command line:
cargo minimal-versions msrv --output-format json --all-features --target thumbv7em-none-eabihf verify

This internally runs:

cargo hack msrv --output-format json --all-features --target thumbv7em-none-eabihf verify
cargo msrv --output-format json --all-features verify --target thumbv7em-none-eabihf

Which then causes:
{"type":"meta","instance":"cargo-msrv","version":"0.16.0-beta.22","sha_short":null,"target_triple":"x86_64-pc-windows-msvc","cargo_features":"default,rust_releases_dist_source","rustc":"1.79.0"}

... dropping the thumbv7em-none-eabihf, albeit not causing an error/warning.
I don't know why cargo hack switches the order of the arguments, but it seems that cargo-msrv does not respect the --target argument if it comes after the verify command.

The target argument is possibly defined on the msrv command, and not on verify, and is not marked as global. Altough it would be odd that it is dropped silently...

The target argument is possibly defined on the msrv command, and not on verify, and is not marked as global. Although it would be odd that it is dropped silently...

So I checked it and --target is defined on cargo msrv level indeed (and not marked as global). As such it is currently only available before the subcommand.
I've to dive a bit deeper into why --target after the verify is silently ignored, and if it would be logical to (and how to) extend cargo msrv verify support to include --target after the subcommand.

The target argument is possibly defined on the msrv command, and not on verify, and is not marked as global. Although it would be odd that it is dropped silently...

So I checked it and --target is defined on cargo msrv level indeed (and not marked as global). As such it is currently only available before the subcommand.
I've to dive a bit deeper into why --target after the verify is silently ignored, and if it would be logical to (and how to) extend cargo msrv verify support to include --target after the subcommand.

If cargo msrv --target x verify --target y is given then target = x is used.
If cargo msrv --target x verify is given then target = x is used.
If cargo msrv verify --target y is given then target = (default) is used.

I'm not sure yet why --target after verify is not rejected
This seems to be equivalent to cargo msrv verify

and if it would be logical to (and how to) extend cargo msrv verify support to include --target after the subcommand.

If that's possible, I would welcome that :)

Found the culprit. The primary distraction comes from the issue that the primary command "cargo msrv" is defined at the top level, while all other commands are defined as subcommands; this makes sharing cli arguments harder (I intend to change this in the future, but for some backwards compatibility reasons it currently is what it is).
As such, these options:

RustReleasesOpts:

Find (top level): https://github.com/foresterre/cargo-msrv/blob/main/src/cli/find_opts.rs#L56
Verify: https://github.com/foresterre/cargo-msrv/blob/main/src/cli.rs#L147

ToolchainOpts:

Find (top level): https://github.com/foresterre/cargo-msrv/blob/main/src/cli/find_opts.rs#L59
Verify: https://github.com/foresterre/cargo-msrv/blob/main/src/cli.rs#L150

CheckCommandOpts:

Find (top level): https://github.com/foresterre/cargo-msrv/blob/main/src/cli/find_opts.rs#L62
Verify: https://github.com/foresterre/cargo-msrv/blob/main/src/cli.rs#L153

Exist on both the top level "find msrv" command, and the subcommand verify.
The implementation however only reads from the top level. The subcommand variants are ignored.
By having these defined on the verify subcommand, you could provide values for these arguments, without the program rejecting these. However, since we don't read from these, you experience this "silently ignore" behaviour.

I wrote a few too many words about it this morning: https://gribnau.dev/posts/puzzle-sharing-declarative-args-between-top-level-and-subcommand/
I'm considering how to best solve this. I might just patch only the target field for now until I figure out a better solution.

:D blogging addicted, eh?
Sure, thanks so much for your efforts :)

I've released it in https://github.com/foresterre/cargo-msrv/releases/tag/v0.16.0-beta.23.
Relevant known issues are documented in the PR https://github.com/foresterre/cargo-msrv/pull/943 and the https://github.com/foresterre/cargo-msrv/blob/main/CHANGELOG.md#known-issues

Great! Thank you very much!


Use shorter names for pods as kubelet complains about names longer than 63 chars

journalctl -u kubelet logs contains many instances of the following
Aug 03 12:09:05 gke-pvpnm-testing-default-pool-453ec1a4-nrs9 kubelet[2409]: E0803 12:09:05.245696    2409 kubelet_pods.go:394] hostname for pod:"server-pvc-f24535ecc33a3f44-node-gke-pvpnm-testing-default-pool-453ec1a4-nrs9" was longer than 63. Truncated hostname to :"server-pvc-f24535ecc33a3f44-node-gke-pvpnm-testing-default-pool"

This is not an immediate issue as the names are still uniquely identifiable.

We could certainly truncate the really long node names GKE hands out that the operator puts into the pod names :-) Just as long as we keep the characters at the end...


Add expressions API (will eventually support when expressions for internal & plugin usage)

Description
This is a new thing I've been working on, and this PR is a nicely self-contained bit of functionality.  So while it's not hooked up to anything, I'd like to get this in independently.  Note: I'm also happy preparing this as an independent package that we could depend on if anyone thinks that would be preferable (or, we can move it out later).
summary
This adds a new set of classes (all subclassed from ast.AST) that encapsulate a python expression, allowing:

declaration of an expression that can be evaluated later in the context of some namespace
much more functionality than ast.literal_eval (including comparisons, binary, boolean, and unary ops), but much safer than eval (no calls, subscripting, attribute access, comprehensions, etc...).
serialization and deserialization from a string form of the expression (e.g. that could be used in a plugin manifest)

Ultimately, this is here to support the same sort of "when clauses" that vscode has
example:
from napari.utils.context import Name

# some namespace to capture the context of an important object
class LayerSelection:
    # type hints indicate the type that this expression evaluates to
    image_active = Name[bool]('image_active')
    ndim = Name[int]('ndim')
    ...

# expressions can be combined with operators
ready = LayerSelection.image_active & (LayerSelection.ndim > 2)

# we can now express "when" conditions with these expressions:
action = {
    'text': 'do_something',
    'command:' ...,
    'when': ready
}

# finally, evaluate the expression in some context.
ready.eval(dict(ndim=5, image_active=True))  # True
ready.eval(dict(ndim=2, image_active=True))  # False

# or serialize it back to a string:
print(ready)  # prints: 'image_active and ndim > 2'

There are convenience methods to create expressions (safely) from strings, as would be provided by the manifests of plugins:
In [7]: from napari.utils.context import parse_expression

In [8]: parse_expression('image_active and ndim > 2')
Out[8]:
BoolOp(
  op=And(),
  values=[
    Name(id='image_active', ctx=Load()),
    Compare(
      left=Name(id='ndim', ctx=Load()),
      ops=[
        Gt()],
      comparators=[
        Constant(value=2)])])

In [1]: from napari.utils.context import parse_expression

In [2]: parse_expression('__import__(dangerous_module)')
Traceback (most recent call last):

...
SyntaxError: '__import__(dangerous_module)' is not a valid expression: (Type 'Call' not supported).

I have another PR close to ready that manages those contexts, and keeps them updated as objects change...
Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Note: I'm also happy preparing this as an independent package that we could depend on if anyone thinks that would be preferable (or, we can move it out later).

I can go either way here. I might lean towards it's own package, but agree that could come later.
Overall I'm fine with this going in as is, but let's here from @jni before deciding how to proceed. Curious if others have thoughts too!

It's interesting @tlambert03! Personally I think we should not make it its own package, at least not yet, because it's rather annoying to manage concurrent version updates in multiple packages, but, I wonder whether this should go in the plugin engine rather than here?

But oh — should we keep the API private (prefixed by _) for now?

removed the exports in context/__init__

I agree that it make sens privately in here for now, as it will mostly be used in napari, but likely we want to move it indeed to napari plugin engine later.

# expressions can be combined with operators
ready = LayerSelection.image_active & (LayerSelection.ndim > 2)

# we can now express "when" conditions with these expressions:
action = {
    'text': 'do_something',
    'command:' ...,
    'whe

Do you expect the when to be user editable in preferences ? If that's the case, then I'm a bit concern about defining things like ready = LayerSelection.image_active & (LayerSelection.ndim > 2) as code instead of strings, though I see reasoning. I'll need to wrap my head a bit around how it would work in the end.

I'm a bit concern about defining things like ready = LayerSelection.image_active & (LayerSelection.ndim > 2) as code instead of strings

that's what the parse_expression('image_active and ndim > 2') command would be used for (see post above).  Users can use strings, it gets parsed into a safe internal expression representation.

ready = LayerSelection.image_active & (LayerSelection.ndim > 2) is how napari would define things internally, it gives you immediate type hinting, and attribute errors and stuff, that you don't get from a string... and expression objects can be converted back to their string equivalent with str()

Yeah, it was more a question of  "would a lot of values like ready" be actually defined, or will we only have constants like LayerSelection.image_active.
Also I'm a bit confused about why & -> and, .bitand -> &, I think I might have a vague understanding that it's aquestion of value vs expression, but it's not completely clear.

Yeah, it was more a question of "would a lot of values like ready" be actually defined

yep, we already have them in layer_actions, for instance, here...
  'enable_when': (
      'selection_count > 1 and only_images_selected and same_shape'
  )

this can now be
LL.selection_count > 1 and LL.only_images_selected and LL.same_shape

Also I'm a bit confused about why & -> and, .bitand -> &, I think I might have a vague understanding that it's a question of value vs expression, but it's not completely clear.

exactly: if you have two expressions:
a = Name("a")
b = Name("b")

then the and operator will immediately evaluate the truthiness of the first value and give you the second one if the first is True:
a and b  # returns b

so if we want to be able to combine expression objects, we have to use the __and__ dunder, which corresponds to the bitand operator:
a & b  # returns `a.__and__(b)`

... and I figure that's going to be much more common than actually wanting to do a numerical bitAnd operation.

exactly: if you have two expressions:
[snip]
... and I figure that's going to be much more common than actually wanting to do a numerical bitAnd operation.

Ah, yes, sorry. I guess I was not awake enough earlier today. Sounds good.

On the namespacing, and manifest; maybe if plugins should not be able to declare namesapce, but npe2 would itself namespace values based on plugins name ?

maybe if plugins should not be able to declare namesapce, but npe2 would itself namespace values based on plugins name ?

yeah, that seems like a good idea that could get us quite a ways

Agreed with folks about this maybe living in npe2 long term is best
Seems like other discussions here have resolved and this is ready to go in. @tlambert03 anything else more you want to do? If not you can merge tomorrow morning if you want, or i'll merge when i come around to it again next

thanks @sofroniewn, I'm gonna merge now.  @Carreau, i like all the things you proposed... but probably for a future PR when we decide we need the additional functionality


WIP/PLUGIN-551: Confluent Kafka fails with AbstractMethodError

[WIP-PLUGIN-551]: Confluent Kafka fails with AbstractMethodError

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

Googlers: Go here for more info.

@googlebot I signed it!

Created new PR: https://github.com/data-integrations/confluent/pull/6


Upgrade to Go 1.16

Replace signalcontext with stdlib
Replace ioutil with stdlib

Part of https://github.com/google/exposure-notifications-server/issues/1386, but I didn't include the embed things.
Needs to merge before https://github.com/google/exposure-notifications-verification-server/pull/1865 to make Prow happy.
Release Note

Upgrade to Go 1.16

/assign @mikehelmick


Build a PHP app connecting to SAP HANA Express Edition

Tutorial URL: https://developers.sap.com/tutorials/hxe-docstore-04-php-app.html
Step 6: Run the PHP file
I get an error when executing the code. The message is:
"Base table not found;259 invalid table name: Could not find table/view FOOD_COLLECTION in schema SYSTEM".
Here's a screenshot:

PLEASE NOTE: The name of the table in the screenshot is not the one I use, btw. This was just another test of mine to check if the name in the eror would change after adapting the code (to see if I was changing the right file). The name I used for the table is correct: FOOD_COLLECTION.
When executing the previous node.js app, it works. Just not the PHP.
Here's more info (WebIDE):

And the code itself (with the correct password, but commented out):

Anybody knows why this is happening? I have tried:
$sql = 'SELECT "name" FROM food_collection';
$sql = 'SELECT "name" FROM FOOD_COLLECTION';
$sql = "SELECT 'name' FROM FOOD_COLLECTION";

Uhm. The name of the table in the screenshot is not the one I use, btw. That was just another test of mine to check if the name in the eror would change after adapting the code (to see if I was changing the right file).

Hi @ZEdwin,
I am currently not near my HXE environment, so I cannot check right now; I will try to reproduce the issue later tonight.
In the meantime, could you maybe check if your issue might be related to this? https://answers.sap.com/questions/10585164/index.html

Thank you for your feedback. We haven't heard from you in the past 30 days, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


Add support for transactions in code

Transactions can of course be done manually by obtaining a connection and executing BEGIN and then COMMIT/ROLLBACK, but having support for it in the crate makes it easier to work with.
Obvious options are:
An RAII struct that takes ownership of a connection, starts a transaction on creation and either commits or rolls back on drop.
A method on the pool that takes a closure, and calls the closure with a connection that is the transaction. This could than use a Result return from the closure to indicate commit or rollback, which makes the code easier to follow but does hide some details away.

For RAII we were thinking the transaction struct would require an explicit commit call, or automatically rollback on drop so you can use ? and things would work as expected.

The RAII option is consistent with how r2d2 does transactions, but that's not using async/await.
The method option probably avoids that, but I assume introduces other async problems instead - I've barely used async yet so I'm not sure...

The closure option might need GATs to really work how we expect, maybe not though.

I can see long term benefits of both APIs. The RAII one is more powerful and flexible, but the closure one is more efficient if you're doing everything within the transaction inside the same method...

Done right, the closure one could actually be implemented as a method on the RAII object instead.
Something very vaguely like:
pool.transaction().await?
.execute(|tran| {
// Commands here
}).await?;
Where pool.transaction() returns a Transaction which is the RAII object, and this has a method that runs the closure.
Interestingly this can allow for multiple closures to be run, and could then only actually run the closure if the transaction isn't already in rollback state - there's no point running if we've already failed - and if any closure returns Err then we rollback.

Anyone watching this issue, if you could check out #25 and see how you feel about the API, it would help close this faster.

@mehcode Is it possible to have nested transactions? &mut Transaction doesn't implement Connection, which I believe is the only way to begin a transaction (aside from via Pool).

It's possible in limited cases (if you own the transaction) in 0.3 but yeah it's not possible in the general case.
This has been fixed on master. Transactions derefence to connections directly and you can begin a transaction from &mut Connection (which intelligently handles nesting).

How stable is master? As in, should I pin the exact commit or is specifying mater sufficient, if at all?
I ask because it would make things quite a bit cleaner on a project, and I'm fairly certain there are other improvements as well.
Thanks for the quick response, by the way.

Stay away from migrations and custom Encode/Decode but otherwise it's stable.
I believe derives for Type are broken currently on master and I also have a very small breaking change planned for Encode (only matters if you're implementing it manually).


Small fixes for MySQL and relative path to config.json

Using your excellent repo to learn best practices to setup a go web application. Thanks for the work!
I ran into to small things when running it locally tonight. Hope you like the fixes.
Shane

These work for me, thanks for submitting them!


Documentation? Specifically docker

Describe what you would like to achieve
I want to run BGPalerter in docker, but there's no information on here or on hub.docker.com that would tell you how to launch it. What ports to expose ? Does it require a volume ? Are there environment variables set ??
Describe why the current solution (if any) is not satisfactory
There's literally no information at all.
Could we see an example docker-compose file maybe that would easily show us all required info.

I added a sentence in the documentation, but indeed the documentation for Docker needs improvement. Especially when you enable options like the uptimeApi which requires port 80 open (but it's not enabled by default). Or if you want to store alerts on file, where a volume would be useful.
I will improve it, but please, feel free to contribute!

Ok, thanks. Remember to use nttgin/bgpalerter:dev and not latest


Can't locate Readonly.pm in @INC

ReadOnly.pm needs to be specified as a prereq:
#   Failed test 'use CLI::Simple::Constants;'
#   at t/00-cli-simple-constants.t line 8.
#     Tried to use 'CLI::Simple::Constants'.
#     Error:  Can't locate Readonly.pm in @INC (you may need to install the Readonly module) (@INC contains: ...  .) at /usr/home/cpansand/.cpan/build/2023111622/CLI-Simple-0.0.1-0/blib/lib/CLI/Simple/Constants.pm line 12.
# BEGIN failed--compilation aborted at /usr/home/cpansand/.cpan/build/2023111622/CLI-Simple-0.0.1-0/blib/lib/CLI/Simple/Constants.pm line 12.
# Compilation failed in require at t/00-cli-simple-constants.t line 8.
# BEGIN failed--compilation aborted at t/00-cli-simple-constants.t line 8.
# Looks like you failed 1 test of 1.
t/00-cli-simple-constants.t ..
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
t/00-cli-simple-utils.t ...... ok
...

fixed in 0.0.2


Alert Aggregation

Summary of the new feature/enhancement
Enhancement / Question
Is there ETA for setting Alert Aggregation using New-AZSentinelAlertRule or Import-AzSentinelAlertRule?

Thanks for the feedback, it's on my backlog. I hope that we can have at least part of it finished next week.

To give you a status update, I have the alert aggregation with all the properties working in the current PR. unfortunately I am having some issues with the compare functionality which breaks due to the multiple layers. you can import the module from this branch manually if you need this functionality asap and ignore the compare result.

Will this be finalised anytime soon?

will this be finalised any time soon?


set first profile as active if no active profile found

a pristine mouse will often come with competly clean memory and there will be no
active profile set, the result is that mouse cannot be configured by libratbag
at all.

fixes #1295

This will add a side effect to ratbag_sanity_check_device, but I can't think of a better place to put such check (though it's hard to imagine a mice without an active profile, this feels like a hidpp-specific thing so maybe it belongs there). Otherwise looks good.

Yes, you are right.
Also, i went over the code I noticed this line https://github.com/libratbag/libratbag/blob/07f0eafa57fa64e2dc66501f6ac908c1a81f9db4/src/driver-hidpp20.c#L1671
That does the same fix but on earlier stage, so I am not sure why it didn't work

Thank you, @whot

Unfortunately the problem still exists for my  (roughly one year old) Logitech Gaming Mouse G600.  I'm happy for any resolution even if it's only a Layer 8 problem :-).
I downloaded/compiled/installed ratbagd v0.17 (https://github.com/libratbag/libratbag/releases/tag/v0.17) and have the same behaviour as with the ratbagd v0.7 package that's supplied by Ubuntu Mate 22.10.  With the systemd service "ratbagd" disabled, I run ratbagd from a root command prompt and get:
ratbag error: libratbag bug: Logitech Gaming Mouse G600: no profile set as active profile
ratbag error: libratbag bug: Logitech Gaming Mouse G600: no profile set as active profile

I've confirmed that I am in fact running v0.17 ("ratbagd --version").  Just for completeness I've also confirmed that the fix merged from this issue is still in src/hidpp20.c.
This same problem happened to me in Spring 2022; at that time I eventually  got the mouse working by using Logitech LGS on a Windows system.
This time I'd like to help in whatever way I can to correct this issue.  I'll keep the mouse in its broken state and I can run whatever tests or experimental code is desired.  Note however that I don't know how the settings disappeared either the first time or this time (garbage Logitech hardware/software or firmware update controls maybe?), so if one of the tests fixes my problem, I'll no longer have a useful test environment.  Unless someone has a known way to cause this problem?
Below is the full output of "ratbagd --verbose=debug".  I don't know why the probe/failure occurs twice; it does so without any apparent pause.  I'm running this in a VMware VM (Ubuntu 22.10), so perhaps that's the cause.
# ratbagd --verbose=debug
Initializing libratbag
ratbag debug: New device: VMware VMware Virtual USB Mouse
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: No data file found for 0e0f:0003
DBus server ready

[...now I plug in the mouse...]
ratbag debug: New device: Logitech Gaming Mouse G600
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: device assigned driver logitech_g600
ratbag debug: hidraw info: bus 0x03 vendor 0x46d product 0xffffc24a
ratbag debug: Logitech Gaming Mouse G600 is device '/dev/hidraw1'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag debug: hidraw info: bus 0x03 vendor 0x46d product 0xffffc24a
ratbag debug: Logitech Gaming Mouse G600 is device '/dev/hidraw2'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag debug: - HID report ID 01
ratbag debug: - HID report ID 80
ratbag debug: - HID report ID f6
ratbag debug: - HID report ID f0
ratbag debug: - HID report ID f1
ratbag debug: - HID report ID f2
ratbag debug: - HID report ID f3
ratbag debug: - HID report ID f4
ratbag debug: - HID report ID f5
ratbag debug: - HID report ID f6
ratbag debug: - HID report ID f7
ratbag debug: Unknown data in profile 0
ratbag debug:   profile->unknown1:   00 00 00 00 00
ratbag debug:   profile->unknown2:   00 00 00 00 00 00 02 00 00 00 00 00 00
ratbag debug: Unknown data in profile 1
ratbag debug:   profile->unknown1:   00 00 00 00 00
ratbag debug:   profile->unknown2:   00 00 00 00 00 00 02 00 00 00 00 00 00
ratbag debug: Unknown data in profile 2
ratbag debug:   profile->unknown1:   00 00 00 00 00
ratbag debug:   profile->unknown2:   00 00 00 00 00 00 02 00 00 00 00 00 00
ratbag error: libratbag bug: Logitech Gaming Mouse G600: no profile set as active profile
ratbag debug: New device: Logitech Gaming Mouse G600
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: device assigned driver logitech_g600
ratbag debug: hidraw info: bus 0x03 vendor 0x46d product 0xffffc24a
ratbag debug: Logitech Gaming Mouse G600 is device '/dev/hidraw1'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag debug: hidraw info: bus 0x03 vendor 0x46d product 0xffffc24a
ratbag debug: Logitech Gaming Mouse G600 is device '/dev/hidraw2'.
ratbag debug: Parsing HID report descriptor
ratbag debug: Parsing HID report descriptor
ratbag debug: - HID report ID 01
ratbag debug: - HID report ID 80
ratbag debug: - HID report ID f6
ratbag debug: - HID report ID f0
ratbag debug: - HID report ID f1
ratbag debug: - HID report ID f2
ratbag debug: - HID report ID f3
ratbag debug: - HID report ID f4
ratbag debug: - HID report ID f5
ratbag debug: - HID report ID f6
ratbag debug: - HID report ID f7
ratbag debug: Unknown data in profile 0
ratbag debug:   profile->unknown1:   00 00 00 00 00
ratbag debug:   profile->unknown2:   00 00 00 00 00 00 02 00 00 00 00 00 00
ratbag debug: Unknown data in profile 1
ratbag debug:   profile->unknown1:   00 00 00 00 00
ratbag debug:   profile->unknown2:   00 00 00 00 00 00 02 00 00 00 00 00 00
ratbag debug: Unknown data in profile 2
ratbag debug:   profile->unknown1:   00 00 00 00 00
ratbag debug:   profile->unknown2:   00 00 00 00 00 00 02 00 00 00 00 00 00
ratbag error: libratbag bug: Logitech Gaming Mouse G600: no profile set as active profile

Kind regards.

@klode1, hi, could you rerun this with  ratbagd --verbose=raw (more verbosity), and post the output in #1291?


Custom validations can not be called twice

I have a state machine like this
  state_machine :publication_state, :initial => :draft do
    event :submit do
      transition :draft => :submitted
    end
    event :refuse do
      transition :submitted => :draft
    end
    event :accept do
      transition :submitted => :published
    end
    state :submitted do
      validate :validate_something_fancy
    end
    state :published do
      validate :validate_something_fancy
    end
  end

and then
def validate_something_fancy
   ...
end

The problem is that I can not reuse the validation method "validate_something_fancy" 2 times. It only works 1 time.

This is a dupe of #103.  See the "Validations" heading here: http://rubydoc.info/github/pluginaweek/state_machine/master/StateMachine/Integrations/ActiveRecord

oops...didn't see that. Thanks!


Question Answering Model Download Query

Hi
M able to use model directly in google colab by using below command.
from deeppavlov import build_model, configs
model = build_model(configs.squad.squad, download=True)
model(['DeepPavlov is library for NLP and dialog systems.'], ['What is DeepPavlov?'])
However when i try to download pretrained model it says ""FileNotFoundError: [Errno 2] No such file or directory: 'deeppavlov\configs\squad\squad.json'""
python -m deeppavlov download deeppavlov/configs/squad/squad.json
Please guide to resolve this.
just to clarify all requirements have been installed successfully.
python -m deeppavlov install squad
Also i want to this model in on my own data, please suggest how i can do this.
i want to give input many word document at once.

You can run python -m deeppavlov download squad, then squad will be resolved as a path to the provided configuration file. But if you run the model from python it's enough to add the download=True argument to the build_model function.
As for the second question, if I understood you correctly, the squad model usage is as follows:
answers_list, answers_starts_list, logits_list = model(contexts_list, questions_list)

Where contexts_list and questions_list are required to have the same length.

I assume that the issue is resolved. Please, don't hesitate to write here again if it is not.

Even i too get the same error
FileNotFoundError: [Errno 2] No such file or directory: 'deeppavlov/configs/squad/squad.json'


added updated VS dll files

I've updated the three main x64 dll files, that could cause issues while using certain packages such as https://pub.dev/packages/webview_windows.

At this moment when generating a MSIX version the app is not working, an urgent DLL update is required.

Done.
Added in version 3.16.8.
Thank you @riccardo-lomazzi for the update,
and thank you @XxspitxX for waving the big red "urgent" flag 🚩


[e2e] add pipeline e2e test for mysql connector.

This closes https://github.com/ververica/flink-cdc-connectors/issues/2859.
Add e2e test for two scenes: sync the whole database and sync sharding tables using route function.
To simplify the complexity of different source/sink combinations, I plan to use MySQL as the source for all sinks and Doris as the sink for all sources.
Include two latest major version of Flink, 1.17.1 & 1.18.0.

@leonardBang @GOODBOY008 PTAL.

@leonardBang  can you help to rerun the failure CI of  mongodb

Rebased to master.

@loserwang1024 Adding value to value e2e test is useless as values connector is designed for test, it’s different with other connectors like MySQL, StarRocks, etc.

@lvyanquan could help rebase this PR and resolve the comments as well?

I've fixed the checkstyle failure and rebased to master.


Is it possible to use a combined accessory in Homekit?

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Looked through common issues
[X] Updated plugin to the latest version (if applicable)

Describe Your Problem
I have a Sony Bravia TV and am using the Bravia TVOS pluigin for Homebridge (https://github.com/seydx/homebridge-bravia-tvos). That plugin is able to create a single accessory in Homekit which combines a power button, brightness/volume slider and input selector into one. I believe the power and input are one accessory and the volume is a second.
It is possible to do this with the smartthings-tv plugin?
Logs
No response
If applicable, add screenshots to help explain your problem.
No response
Environment Information
- Plugin Version:
- Homebridge Version: 1.7.0
- Node.js version: 20.10.0
- NPM version: 10.2.5
- Operating System: Raspbian / Debian 12 (via Homebridge Raspi image)

Sounds interesting - I will have a look at the other plugin and see if I can adopt this :)

I'm still working on this. Sadly I do not have that much time at the moment so it is taking quite a while. Just wanted to give you a quick update that I have not forgotten about this 😊


Fix infinite loop in foreach resolving

There is a bug that occurs when we come across code like:
foreach ($a->getArray() as $a) {

Where in resolveVariableToNode, when we try to find where $a was defined, we have to traverse the AST up. So if we are within the loop and we come across $a, we traverse up and find the foreach statement, and find it is defined as the forEachValue. Then we want to find where that was defined, and we get to the forEachCollection ($a->getArray()) and we again have to traverse up the tree to find $a. We come come across the foreach statement again - and there isn't a way to identify that we got there from within the foreach statement, so we do the same as if we came from within the foreach loop and check the key/value, find it in the value... and we're stuck in a loop.
The only way I've found to fix this is identify if we get to the foreach statement from the the forEachCollectionName, in which case we do not want to check the key/value.
Closes #566
Closes felixfbecker/vscode-php-intellisense#192

There are merge conflicts, could you rebase?

As mentioned on Gitter, my thought on this is that if we try to resolve $a in $a->getArray(), the foreach statement node should not be traversed at all for finding the definition of $a (as any code in there will not have executed at the point where $a->getArray() is called). It should start at the previous sibling and then walk upwards the AST (parents and previous siblings), traversing into descendents as needed. Did you try that?


Support escaping HTML entities during serialization

Currently simplexml only supports unescaping HTML entities. There is no support for going in the opposite direction during serialization.
Feature requested by @Geolykt in #9

@Geolykt what did you do to me! Support HTML entities escaping.. Yeah, easy I said. And then this page needs to get added: https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references.

FYI, HTML entity escaping is not a feature I need at this point in time. I only need XML escaping, and that seems to work at least to the degree I need it to.
That being said, I completely agree that this library should be able to support that if it already does the reverse step.

Yeah, I know you don't really need it. But I agree that it should be supported. The actual code is pretty easy, but that giant long list of entities, ugh. This will take some time :)

Don't you already have https://github.com/codemonstur/simplexml/blob/ae2fa61f7c107213a610c635ea2f697264f9f1eb/src/main/java/xmlparser/utils/Escaping.java#L51-L110 for this or is it not complete enough?

Not complete enough, it only has HTML 3.2. All of HTML 5.0 is missing. Another problem I want to fix.

Done in 3.2.0


fix(core): return transaction bundle status on txns [h/t @callebtc]

Description
With the current way the API is setup, we expose ledger entries status fields directly in WalletTransaction objects that come through the API. This means that a ledger txn that can be either pending or success (completed) does not match the expectations of a wallet txn where success instead means "sent" or "received" and transactions can also have a "failed" state.
This PR is to introduce this distinction and translation from ledger transaction to wallet transaction specifically for Payment type transactions (externally sent ln payments).
Approach
After each "ln payment" related ledger action, updateLnPaymentState is executed to fetch the current transaction bundle and determine/write a state field back to all transactions with the given payment hash in the ledger.
This new state property is then used to determine what the final WalletTransaction state is based on all ledger transactions in a given wallet transaction bundle when querying the transactions.
This PR is loosely related to some of the issues introduced in #1205

first pass... does this require a migration?

I'm thinking no to migration so far based on the use-case. This change is a cosmetic one that doesn't affect any of our internal accounting. It'll only correct the TxStatus moving forward. We do eventually need to clean this up, but I'm thinking it's maybe not worth the risk for the gains we'd be getting (cosmetic consistency) especially given we have a planned cala refactor coming up as well

This doesn't expose any new fields from GQL - just uses a different mapping of tx state -> Status correct?

Yup that's right


coerce_with/1 error tuples ignored

This test case:
  defmodule TestExopModule do
    use Exop.Operation

    parameter(:a, type: :integer, coerce_with: &__MODULE__.coerce/1)
    parameter(:b, coerce_with: &__MODULE__.coerce/1)

    def process(params), do: params

    def coerce(1), do: {:error, :some_error}
    def coerce(2), do: 2
  end

  test "TestExop" do
    attrs = %{a: 2, b: 1}
    {:error, err} = TestExopModule.run(attrs)

    assert err == {:error, :some_error}
  end

I'm expecting for an error to raise, but instead I'm getting:
{:ok, %{a: 2, b: {:error, :some_error}}}

Tested against 1.1.0

Hi @uberbrodt
thank you for using Exop and reporting.
Could you please confirm that it works properly on 1.1.4 version?
I believe that was fixed in the last version. Here is the test case.
Thank you.


Do not recreate already initialized codecs

GFX and SurfaceBits commands share a common codec backend.
Recreating all codec context on GFX initialization will break
clients that are decoding SurfaceBits codec while having the GFX
channel initialized.
#6620 was the cause of this, probably a fix for the proxy is required.

@kubistika you committed the change that did always reset the codecs, do you remember why?

Yes I did it because that's the behavior of MS clients. If you're reverting this commit, I'll be glad if you at least add public api to reset the codecs.

@kubistika is this true for all codecs? the problem arises when connecting with e.g. xfreerdp /v:host /rfx /gfx where there might be a gfx channel open but still SurfaceBits data sent.

I will need to check that. Currently on vacation :/

@kubistika ok, but vacation is no reason to be sad ;)

@kubistika ok, did find a way to satisfy both requirements.
Just use a separate codec context for GFX so we have no issues with interferance


Allow to continue drawing of area

(Sorry if there is already a thread for this, but I just couldn't find one.)
Currently there is no way how to continue drawing of a finished area. After selecting node that belongs to area, the radial menu option to continue drawing is disabled saying "No line can be continued here".

That's it. I am no longer identifying areas until they sort out this issue. I spent 10 minutes drawing a lake then accidentally closed its polygon. I could have used my time playing Solitaire like everyone else.

For reentering draw mode, how about a UI analogous to the continue line UI, where the option appears in the context menu if two adjacent points are selected?

Preferably, the UI should specify where and in which direction to start redrawing, but a selection of multiple elements doesn't seem to be able to do so. At least the user needs to know the drawing direction to place the correct new vertex first.
We might restrict default drawing direction to positive way direction, and maybe offer a key to toggle direction. If we do so, the selection for the operation, does only need to contain a single vertex, and the area where it's ambiguous.
@bhousel

After an area is completed, you can still expand the area by selecting any point or midpoint on the perimeter and dragging it to where you need it. This isn't as fast as clicking around the first time (say if you are tracing a lake or building), but the user isn't really stuck with no way to resize the area.

Yes, we do only need more efficient replacement for multiple (midpoint) drags. Therefore, I came up with the idea to use a midpoint drag gesture as the UI:
Drag the midpoint of an egde, which indicates the user wants to reshape this edge. Do not drag it to the desired location of a new virtex as usual, but drag it to one of the ends of the edge. Currently this would do nothing, but could be used as an indicator to start draw mode from this end in future. The default target of the drawing would be the other end of the edge, but other nodes or edges of the area would be valid targets to finish drawing too. In the later case, the skipped original vertices would be eliminated.
The operation could be made available for areas and also lines, without any impact on the context menu.
Example:

The video is faked for demonstration of the UI, the code doesn't exist yet, but I might do it if desired.
@bhousel Which UI do you prefer?
The drag based one seems to be

more flexible, due to specifying the direction too,
more efficient to use,
not visually impacting the UI,
but less discoverable.

@slhh
The direction can be determined by starting from the node with the higher 'node id'. In case the area is not uploaded yet, I assume the iD stores some temporary ids. But honestly, I don't care so much from which side I start to draw, when I want to enhance that given segment.
I like the midpoint idea, but the drag gesture seems not fitting to GUI style of iD. I personally would prefer a context menu option, which would activate 'drawing mode' from one of the neighboring nodes.

I think I'd prefer to just use a modifier key to extend the area, this seems simpler:
see https://github.com/openstreetmap/iD/issues/1711#issuecomment-92989335
Midpoint dragging onto an adjacent node to enter a new mode seems really complicated (and you're not guaranteed that that nearby node is even nearby or onscreen)

Just another idea: Select two adjacent nodes in an area, and do something--press A? context menu?--and iD would go into area-expansion mode, with the new node being added between the two selected nodes.

@bhousel

I think I'd prefer to just use a modifier key to extend the area, this seems simpler:
see #1711 (comment)

You seem to propose the following workflow:

Select the area
Move the mouse to position which results in choosing the desired edge, in many cases this can be the intended position of the node
Press the Ctrl key down -> iD choses the edge, and shows preview
Adjust the mouse position
Left-click -> iD places the node
Release the Ctrl key

Is that correct?
I see the following issues:

Using any Ctrl based shortcut (like Ctrl-C) would temporarily activate that preview, which seems to be confusing.
A operation adding a single node only results in geometry validation issues, when adding multiple nodes is required. The operation would generate temporary edges, which do not belong to the final geometry. These needs to be excluded from the geometry check, like the closing edge in the area drawing mode, but iD does not know which edge is temporary.
Area reshaping would not benefit from future extensions of the area draw mode, like pretty angles or following a way.
Does not support redrawing multiple edges

@Mashin6

The direction can be determined by starting from the node with the higher 'node id'.

The user is not aware of the ids, it would appear as a random behaviour.

But honestly, I don't care so much from which side I start to draw, when I want to enhance that given segment.

At least you need to know the drawing direction, e.g. when you want to insert two nodes 1 and 2 between the existing nodes a and b, you need to know wheather drawing starts from a or b to place 1 or 2 first.
Maybe, the rendering can be changed to make the drawing direction visible.
You want to specify the direction, when you use that segment as a start to redraw multiple segments.

We could offer a context menu and shortcut reshape operation based on the selection a an area/line and one of its vertexes. The operation lets the user draw a line starting from selected vertex and to be finished at a vertex or edge of the selected area/line. The user would be aware of the (intended) drawing direction with regards to the area/line, but iD would not be aware of this, at least not before finishing, consequeces of which are:

If the drawn line is fully encapsulated by the area, even after finishing the intended direction would not be clear. The line splits the area into two parts. The operation might assume the larger part is the intended one, or just perform a split and let the use delete the non-intended one. Such a split operation would be useful anyway, but should preferably be offered as a split operation, and not a reshape operation.
An area styled preview while drawing the line is not possible, because of the uncertainty of whether the right or left of the drawn line will belong to the resulting area.
A modifier to enforce pretty angles might not fully work on the starting node, because it is not clear which of the connected edges of the area/line will belong to the resulting area/line.

We can address 1. by forcing the user in this case to draw one more edge coincident with one of the original area befeore finishing.
We can address 1 and 3 if we allow the user to start one node earlier and place a coincident edge first.

@slhh
That is right, if the line connecting the new node to the starting point would be rendered thicker then the user would know, which direction to stat drawing. And personally I think nobody would care if iD would  choose the start point seemingly at random.
@bhousel
But iD currently has a context menu for continuing line drawing. Wouldn't hiding this one under shortcut be inconsistent?
@bborkmiller
I like that idea as well.
Ok, so how I would imagine it:

User chooses midpoint / two adjacent nodes
User invokes context menu / press A
iD selects node with higher id as a starting point and renders the line connecting the starting point to new node to indicate direction of drawing.

Could also use the node closest to the pointer as the starting point. That way it is possible to to control it.

@maxerickson Yes, we might use the current mouse position at the time of right clicking, pressing the spacebar (to open context menu), or pressing the shortcut key.
I see the following variants of using this information:

Based on selection of the area and a single vertex: The connected edge which is nearest to that position is  to be redrawn, and maybe also following edges.
Based on selection of the area and and two adjacent vertices: The nearest one of the selected vertexes is the start point to redraw the edge between the selected nodes, and maybe also following edges.
Based on selection of the area and and two vertices which don't need to be adjacent: There are two pathes of area edges between the selected vertexes, the one which is nearest to that position is to be redrawn and redrawing starts from the selected vertex which is nearest to that position.
In case of large areas selecting the start and end vertex might be a bit nasty due to iD's editing zoom limit. This might be outweighted by a better preview.

The operation should not only be available for closed ring areas, but also for lines and multipolygons.
Variant 3 might also be used to "redraw" a gap in a multipolygon ring by selecting two end vertixes of partial rings.
I would prefer 1 or 3.

As a partial solution, how about temporarily adding the “finished drawing an area” operation to the undo stack? Users are already used to undoing when they accidentally add a vertex in the wrong place while drawing a line or area. To avoid cluttering the undo stack overall, maybe we could remove the command from the undo stack as soon as anything else is added onto the stack.
This half-measure wouldn’t address the situation where the user wants to modify an area after the fact, but I think that case could be addressed by making it easier to split and merge areas: #4866 #435.

Here’s a workaround, in case anyone needs it in the meantime:

Convert the area into a closed line: https://github.com/openstreetmap/iD/issues/1828#issuecomment-312735038
Select the line and press { or } to navigate to the start node (which is also the end node).
Press D to disconnect the start node from the end node.
Select the end node, delete it, and press A to continue drawing from where you left off.
When you’re done, manually connect back to the start node, and convert the closed line back into an area.

Another workaround:

Add a new area. Click on the first two nodes of the previous, unsuccessful area.
Press F to follow the old area until you get to where you left off. Keep drawing the new area as you originally intended.
Delete the old area.

Until #8750 is fixed, this workaround can get frustrating if the old area connects to other lines or areas.

Drag the midpoint of an egde, which indicates the user wants to reshape this edge. Do not drag it to the desired location of a new virtex as usual, but drag it to one of the ends of the edge. Currently this would do nothing, but could be used as an indicator to start draw mode from this end in future. The default target of the drawing would be the other end of the edge, but other nodes or edges of the area would be valid targets to finish drawing too. In the later case, the skipped original vertices would be eliminated.
The operation could be made available for areas and also lines, without any impact on the context menu.

This gesture would be undiscoverable and surprising, in my opinion. I think a context menu operation would be fine. After all, unlike Potlatch, iD also lacks a gesture for continuing to draw a line.
Right-clicking on one of the area’s edges and selecting Continue would enter draw mode for replacing that edge with an arbitrary number of vertices, until you press Enter or click twice on an existing vertex. Similarly, right-clicking on one of the area’s vertices could delete that vertex in favor of the vertices added in draw mode.


Use localhost instead of locahost

Small change to agent description, fixed one typo.

Good catch, thanks :)


Move integration recipes in top level menu as separate item

Done
https://devexpress.github.io/testcafe/documentation/continuous-integration/


Remove script to test performance of smartdown loading / scenario execution

This reverts commit 0559062acc4efd84bf7cbb9c7b69bfe351cd9eba.
We're in the process of converting all Smartdown flows to Ruby Smart Answers
and so this script is now surplus to requirements.

Looks good to me.

I've rebased this against master and force-pushed in preparation for merging.


essifi 159 change vc structure

Change in Verifiable Credential structure
We have two types of VerifiableCredentials json-ld type and jwt type. Up until now, pe-js was mainly addressing the first part, although we had some samples with the jwt structure.
In this PR we're introducing several interfaces: CredentialJWT, CredentialJsonLD, VerifiableCredentialJwt, and VerifiableCredentialJsonLD, also now VerifiableCredential is a union type VerifiableCredentialJwt | VerifiableCredentialJsonLD

A VerifiableCredential has three methods:

getBaseCredential: returns the credential object
getContext: returns @context string(s)
getType: shows what type of credential we're dealing with (json-ld or jwt)

What changes
Nothing from the outside view should change with this PR. This is just for having a precise and organized way of understanding a VerifiableCredential
Note
this is an interim PR, this will be completed with adding pe-models v2 into this

Codecov Report

Merging #76 (ce11fa8) into develop (4b8dfc2) will decrease coverage by 0.36%.
The diff coverage is 93.33%.

@@             Coverage Diff             @@
##           develop      #76      +/-   ##
===========================================
- Coverage    97.71%   97.35%   -0.37%
===========================================
  Files           48       48
  Lines         1445     1510      +65
  Branches       264      263       -1
===========================================
+ Hits          1412     1470      +58
- Misses          33       40       +7

Flag
Coverage Δ

unittest
97.35% <93.33%> (-0.37%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

test/evaluation/EvaluationClientWrapperData.ts
71.42% <ø> (ø)

...ation/handlers/limitDisclosureEvaluationHandler.ts
92.64% <69.23%> (-7.36%)
:arrow_down:

lib/types/SSI.types.ts
94.87% <90.47%> (-5.13%)
:arrow_down:

...ation/handlers/subjectIsIssuerEvaluationHandler.ts
100.00% <100.00%> (ø)

lib/evaluation/handlers/uriEvaluationHandler.ts
100.00% <100.00%> (ø)

lib/pejs.ts
94.20% <100.00%> (+1.34%)
:arrow_up:

test/evaluation/core/Wallet.ts
100.00% <100.00%> (ø)

...ta/limitDisclosureEvaluation/vcMultiCredentials.ts
100.00% <100.00%> (ø)

...eSubjectEvaluationHandler/verifiableCredentials.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


requirements miss coffin version

the coffin project has change its API
, actually it change the library  meaning
...  so its very imprtant to add
coffin==0.4

at requirements.py

solved on branch 2.0


Create smart contract "style guide"

Create a "style guide" for smart contract development that sets clear expectations for style, formatting, and organization of code submitted to this codebase. The guidelines should be consistent with industry standards.

Will likely just be creating a reference to this style guide and updating the contracts to be consistent with it: https://github.com/bcnmy/biconomy-solidity-style-guide
It's detailed without being super heavy handed and covers everything we wanted to cover with our style guide and more.

I'm working on an issue and I just wanted to know if there's some extension or plugin or automatic way to format?

I'm working on an issue and I just wanted to know if there's some extension or plugin or automatic way to format?

You can use the foundry formatter and/or solhint but since this is a custom style guide, not everything will be enforced.

Completed with https://github.com/BreadchainCoop/breadchain/pull/93


Converting DataLoader object into pandas dataframe

Hi, in the quick_start file, I can see this line:
train_data, valid_data, test_data = data_preparation(config, dataset)
test_data is stored as a <recbole.data.dataloader.general_dataloader.FullSortEvalDataLoader> object. I am assuming that test_data has the user_id, item_id, and rating for the target domain. How can I read this object as a pandas dataframe** to perform my own evaluation?

Hello @ajaykv1 , I don't recommend that you convert DataLoader object here. You can get the rating data of the test dataset with the following code:
dataset = create_dataset(config)
train_dataset, valid_dataset, test_dataset = dataset.build()
test_rating_data = test_dataset.inter_feat

The test_rating_data here is an object that belongs to the Interaction class. You can then try to convert it to DataFrame.


Increase phpstan from level 6 to level 8

This seems to be possible without breaking the code ;)

I will also try to add some unit tests that pass non-existent functions/methods to functionCaller and see if I can cover the exceptions that should be thrown.

@staabm I reorganized the if-else... block in functionCaller so that it does not need to explode strings like "MyClass::someMethod". That avoids phpstan getting confused about what the exploded array is (it is still callable, but phpstan can't guess that).
I thin kthis is enough on this! Please review and I will merge if OK.


Is there a way to clear up the Cloud storage on linux (Steamdeck)?

I have a little issue with the Steamdeck app that it happened in my Laptop
I try to select the One Drive option, but the app just jump to the main menu. And if i try to select again the One drive Cloud, it just says pending and return to the menu with the list of games, but it does not contain my games (Just the default games).
I solved this problem in mi Laptop (which is Windows) going to the route of the aplication and running inside the "bin" folder the command "rclone config". And delete all the entries with the setup. After this clicking again on the set up of One drive it opens the webpage.
But i can't do this on the Steamdeck, i found the rclone, but i think is not the right one or i'm not executing correctly (it was inside ../flaptpak/app/io.github.daviddesimone.opencoudsaves/current/active/files/bin) i open the terminal here and exececute the same comand that i ran in my laptop, but the rclone seems to be empty and don't have anything registered

Let me take a look at this on my Deck tonight and get back to you - one issue we are having right now is that game lists are not properly syncing between devices, which is fixed by https://github.com/DavidDeSimone/OpenCloudSaves/pull/104, so you may be experiencing that. However, I still will investigate on how to reset your rclone config and report back.

To completely remove your current rclone and cloud settings, you can delete
~/.var/app/io.github.daviddesimone.opencloudsaves/config/OpenCloudSave/opencloud_perfs.json
And
~/.var/app/io.github.daviddesimone.opencloudsaves/config/rclone/rclone.conf
Alternative solutions are to backup your user_overrides.json and to reinstall the app on steam deck and see if that resolves the issue.
Otherwise you may need to wait for 0.18.2

Hi, Thanks for the fast response
I deleted the 2 Files
~/.var/app/io.github.daviddesimone.opencloudsaves/config/OpenCloudSave/opencloud_perfs.json
and
~/.var/app/io.github.daviddesimone.opencloudsaves/config/rclone/rclone.conf
And when i start up the app again, it asked me again for the cloud configuration, this time it open the Web page and everithing fine.
And like you said it does not sync correctly the games, but if i try to upload a savedata with the default games, it create the files on the cloud


Panic Error for Pin 8, both momentary switch and siren

Hello Nate,
I recently updated 3 nodeMCUs with latest 2.2.4 release.
the first nodemcu worked perfectly without any problems, i only have contact sensors setup on this.
second one has pin8 setup as siren and third has pin8 assigned as momentary switch. for both of these i am getting following error.
Konnected firmware 2.2.4
NodeMCU <IP_ADDRESS> build 20180917 powered by Lua 5.1.4 on SDK 2.2.1(6ab97e9)
Heap: 	39688	Initializing Konnected (84f3eb0dc90b)
Heap: 	33992	Version: 	2.2.4
Heap: 	32320	Connecting to Wifi..

Heap: 	37136	Wifi connected with IP: 	<IP_ADDRESS>	<IP_ADDRESS>	<IP_ADDRESS>
Heap: 	35928	HTTP: 	Starting server at http://<IP_ADDRESS>:8903
Heap: 	35920	Loaded: 	server
Heap:	28728	Initializing sensor pin:	5
Heap:	28696	Initializing sensor pin:	1
Heap:	28696	Initializing sensor pin:	6
Heap:	28696	Initializing sensor pin:	9
Heap:	28696	Initializing sensor pin:	7
Heap:	28696	Initializing sensor pin:	2
Heap:	28336	Endpoint:	https://graph-na04-useast2.api.smartthings.com:443/api/smartapps/installations/****************************
Heap: 	28304	Loaded: 	application
Heap:	32920	HTTP Call:	200	state	userdata: 00000000	pin	8
PANIC: unprotected error in call to Lua API (/opt/nodemcu-firmware/local/fs/application.lua:122: bad argument #2 to 'write' (number expected, got userdata))

ets Jan  8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 25784, room 16
tail 8
chksum 0xd8
load 0x3ffe8000, len 2344, room 0
tail 8
chksum 0x03
load 0x3ffe8928, len 136, room 0
tail 8
chksum 0xca
csum 0xca
Œãäƒoì›;ƒûg|ìlld$`#“Ÿ|{Û$œnàƒnâ

@satyajitbagul this issues is fixed in the SmartThings Device Handlers. Please update your smartapps & device handers and I think that'll solve it.

@heythisisnate, after updating all my device handlers it solved the problem.
thanks for the help.


expose ttl on returned ping

Looks like this needs a rebase.

Should be closed by #55

thx for the reminder @glinton