fix(generate): First pass at fixing path traversal vuln

Verify that output file locations resolve to a path contained in the output directory.
Fixes https://github.com/sqlc-dev/sqlc/issues/3194

This is slightly overly conservative, technically speaking, in that it will prevent the creation of filenames like out/foobar..txt. I'm not terribly concerned about that, personally. However, I think you could fix it by testing to see if the path starts with .. -- any path returned from Clean (and thus Join) should only contain .. iff it starts with ...
This still permits following symlinks in the out directory to arbitrary locations, if such symlinks exist. It looks like Go has a standard library routine for this in EvalSymlinks if you're concerned; you could apply it to the result of your Join. Given that WASM plugins have no way to create such a symlink atm, this is probably not a serious issue.


Please provide some way to get all relevant .editorconfig files

It would be nice to have a way to get all relevant .editorconfig files for a resource.
Currently you can only get the accumulated properties for a resource.
With the ability to get the relevant paths, you can for example set up some monitoring on those files for changes, or specify them as inputs for a Gradle task and so on.
When combining with the cache that is then also used later on when actually needing the properties, this also should not incur significant runtime overhead.
I was not able to somehow manage to get it with 0.3.0 without using reflection to access the path field of NioPath.
Even using toString() on the Ec4jPath that is a NioPath does not work due to #126.

all relevant .editorconfig files for a resource

Could you please define "relevant"?

Well, currently you can only say "give me the properties for path X".
I'd like to be able to say "give me the config files considered for path X".
Maybe even with a boolean to get all considered files, or all considered and existing files, as some use-cases like watching the path would also be interested in files not currently existing, some other use-cases like input for a Gradle task would only need the actually existing files.

all considered and existing files

I wonder whether that's not something doable through a custom Cache implementation? If a path is looked up in the Cache, then it is "considered" for a path being querried, no?
If non-existent files should fall into the set, then, I wonder, how it is different from just climbing the parent hierarchy up to the root folder that is either under your control (because you are passing it to ResourcePropertiesService ) or if you do not bother to set any root, then you go up to the filesystem root?

I wonder whether that's not something doable through a custom Cache implementation? If a path is looked up in the Cache, then it is "considered" for a path being querried, no?

I tried doing it with a custom editor config loader like
val fileCollectingConfigLoader = object : EditorConfigLoader(null, null) {
    private val delegate = of(null)
    val configFiles = mutableListOf<String>()

    override fun load(configFile: Resource?): EditorConfig {
        configFiles.add("${configFile?.path}")
        return delegate.load(configFile)
    }
}

ResourcePropertiesService
    .builder()
    .loader(fileCollectingConfigLoader)
    .build()
    .queryProperties(Resources.ofPath(it.asFile.absoluteFile.toPath(), UTF_8))

val relevantFiles = fileCollectingConfigLoader.configFiles

Which did not work due to #128 and the Ec4jPath all being package-private and with private fields, so to get the actual Path you need to use reflection.
With #128 fixed, it could of course be done like that, but I still consider this more a work-around then and also don't really like relying on toString output for production logic.

If non-existent files should fall into the set, then, I wonder, how it is different from just climbing the parent hierarchy up to the root folder that is either under your control (because you are passing it to ResourcePropertiesService ) or if you do not bother to set any root, then you go up to the filesystem root?

That's exactly what I do right now, just for my case with existence check:
generateSequence(destinationDirectory.asFile) { it.parentFile }
    .map { it.resolve(".editorconfig") }
    .filter { it.isFile }
    .toList()

But the difference is, that you also consider root = true in a file and this logic does not.
Of course I can also code that logic again customly.
But I'd prefer to not duplicate the logic you already have in ec4j, but just being able to ask ec4j "give me the relevant files", hence this feature request. :-)

you also consider root = true in a file and this logic does not.

That's true, but as far as I can understand your use case is some sort of IDE where also root = true can come and go due to user edits. I wonder whether watching the whole parent hierarchy defined in terms of IDE project of Git repository would not be more robust?

Having said all the above, I am still open to discuss how the API should change to support your use case.

That's true, but as far as I can understand your use case is some sort of IDE where also root = true can come and go due to user edits.

No, actually my use-case is declaring inputs for a Gradle task that does ktlint formatting and thus should not be up-to-date if any of the relevant editorconfig files was changed. So for my concrete use-case only the actually existing files are enough.
The "sort of IDE" use-case is an additional use-case that could be covered by this functionality, just that there the IDE should also monitor not currently existing files and thus needs all of them.
You are of course right, that there the root = true could change any time, so either on change that IDE would need to also get the list freshly on change, or indeed just consider all files up to the filesystem root.
As the "soft of IDE" use-case is not my current use-case and just was an additional thought why it might make sense to also report non-existing files, I personally am currently also perfectly fine if I would only get the existing files. :-)


[Event Request] Codeunit 1535 "Approvals Mgmt." - OnSendApprovalRequestsForRecordOnAfterApprovalEntrySetFilters

Hi, would it be possible to get an OnSendApprovalRequestsForRecordOnAfterApprovalEntrySetFilters event in codeunit 1535 (Approvals Mgmt.), like this:
    procedure SendApprovalRequestFromRecord(RecRef: RecordRef; WorkflowStepInstance: Record "Workflow Step Instance")
    var
        ApprovalEntry: Record "Approval Entry";
        ApprovalEntry2: Record "Approval Entry";
    begin
        ApprovalEntry.SetCurrentKey("Table ID", "Record ID to Approve", Status, "Workflow Step Instance ID", "Sequence No.");
        ApprovalEntry.SetRange("Table ID", RecRef.Number);
        ApprovalEntry.SetRange("Record ID to Approve", RecRef.RecordId);
        ApprovalEntry.SetRange(Status, ApprovalEntry.Status::Created);
        ApprovalEntry.SetRange("Workflow Step Instance ID", WorkflowStepInstance.ID);

      OnSendApprovalRequestsForRecordOnAfterApprovalEntrySetFilters(ApprovalEntry,RecRef); // New Event

        if ApprovalEntry.FindFirst then begin
            ApprovalEntry2.CopyFilters(ApprovalEntry);
            ApprovalEntry2.SetRange("Sequence No.", ApprovalEntry."Sequence No.");
            if ApprovalEntry2.FindSet(true) then
                repeat
                    ApprovalEntry2.Validate(Status, ApprovalEntry2.Status::Open);
                    ApprovalEntry2.Modify(true);
                    CreateApprovalEntryNotification(ApprovalEntry2, WorkflowStepInstance);
                until ApprovalEntry2.Next() = 0;
            if FindApprovedApprovalEntryForWorkflowUserGroup(ApprovalEntry, WorkflowStepInstance) then
                OnApproveApprovalRequest(ApprovalEntry);
            exit;
        end;

        ApprovalEntry.SetRange(Status, ApprovalEntry.Status::Approved);
        if ApprovalEntry.FindLast then
            OnApproveApprovalRequest(ApprovalEntry)
        else
            Error(NoApprovalRequestsFoundErr);
    end;

    [IntegrationEvent(false, false)]
    local procedure OnSendApprovalRequestsForRecordOnAfterApprovalEntrySetFilters(var ApprovalEntry: Record "Approval Entry"; var RecRef: RecordRef);
    begin
    end;

Thanks!

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. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


feat(pegboard): make protocol more robust, implement db sync

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1148  👈
#1147
#1146
#1145
#1144
#1143
#1142
#1141
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MasterPtato and the rest of your teammates on  Graphite


Microsoft surface book2，mouse click is invalid

Microsoft surface book2，mouse click is invalid。

There is no problem with touch and click

This should be fixed in versions after 0.9.6. Please re-open if the issue persists.


[build] ensure Bitcode slices are only added for supported SDKs

Reintroduce an SDK check that was missed in #31329, so that Bitcode
slices are included only for iOS, Watch OS, and Apple TV OS device libraries
Addresses rdar://64952135

@swift-ci please smoke test

@swift-ci please test Windows platform

Going to discuss this more in-depth offline.

A better alternative is to get rid of the entire code that handles the bitcode flags
https://github.com/apple/swift/pull/32730


Bridge between android sdk and android react native

Hi,
I need to interact with an android SDK and not a built in component of android.
Is that possible with the current version of react native? If so.. please provide the details.

Hi @chetnadaffodil, i'm not sure I understand your question. Can you provide more information ?
Are you trying to use an SDK provided by external source in a React Native Application ? If it's the case, you can interact with it and you can even bridge it to the javascript. Native Modules Documentation.
Although I'll try to help you as I can, but know that GitHub issues are for bugs only and you should ask your question on Stack Overflow.

Since this has been inactive for about a month and based upon my understanding the link provided answers the question... I am going to go ahead and close this. If there is anything further needed in this issue I would be happy to reopen.

@facebook-github-bot answered

Closing this issue as @rmevans9 says the question asked has been answered. Please help us by asking questions on StackOverflow. StackOverflow is amazing for Q&A: it has a reputation system, voting, the ability to mark a question as answered. Because of the reputation system it is likely the community will see and answer your question there. This also helps us use the GitHub bug tracker for bugs only.


[WIP] Add grpc-{client,daemon} commands

The grpc commands are hidden until we have stabilized an API.
Note: the daemon is inherently insecure (no input sanitization /
validation) and doesn't do any authentication.

Not ready for review or merge yet.


KOGITO-8813 Improved message about compensation nodes transition

Jira: https://issues.redhat.com/browse/KOGITO-8813

[x] You have read the contributors guide
[x] Your code is properly formatted according to this configuration
[x] Pull Request title is properly formatted: KOGITO-XYZ Subject
[x] Pull Request title contains the target branch if not targeting main: [0.9.x] KOGITO-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

How to retest this PR or trigger a specific build:

for pull request checks
Please add comment: Jenkins retest this

for a specific pull request check
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] tests

for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch

for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-branch

for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main

for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-main

for quarkus lts checks
Run checks against Quarkus lts branch
Please add comment: Jenkins run quarkus-lts

for a specific quarkus lts check
Run checks against Quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-lts

for native checks
Run native checks
Please add comment: Jenkins run native

for a specific native check
Run native checks
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native

for native lts checks
Run native checks against quarkus lts branch
Please add comment: Jenkins run native-lts

for a specific native lts check
Run native checks against quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native-lts

Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

(tests) - kogito-springboot-examples job #557 was: FAILURE
Possible explanation: Pipeline failure or project build failure
Please look here: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-runtimes.tests.downstream.kogito-springboot-examples/557/display/redirect
Test results:

PASSED: 126
FAILED: 0

Those are the test failures: none
See console log:

Console Logs
[2023-03-07T15:50:40.601Z] [INFO] |     +- org.webjars:swagger-ui:jar:4.15.5:compile[2023-03-07T15:50:40.601Z] [INFO] |     +- org.webjars:webjars-locator-core:jar:0.48:compile[2023-03-07T15:50:40.601Z] [INFO] |     \- io.github.classgraph:classgraph:jar:4.8.149:compile[2023-03-07T15:50:40.601Z] [INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.6.6:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.springframework.boot:spring-boot-test:jar:2.6.6:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.6.6:test[2023-03-07T15:50:40.601Z] [INFO] |  +- com.jayway.jsonpath:json-path:jar:2.6.0:test[2023-03-07T15:50:40.601Z] [INFO] |  |  \- net.minidev:json-smart:jar:2.4.8:test[2023-03-07T15:50:40.601Z] [INFO] |  |     \- net.minidev:accessors-smart:jar:2.4.8:test[2023-03-07T15:50:40.601Z] [INFO] |  |        \- org.ow2.asm:asm:jar:9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile[2023-03-07T15:50:40.601Z] [INFO] |  |  \- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile[2023-03-07T15:50:40.601Z] [INFO] |  +- org.assertj:assertj-core:jar:3.22.0:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.hamcrest:hamcrest:jar:2.2:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  |  |  +- org.opentest4j:opentest4j:jar:1.2.0:test[2023-03-07T15:50:40.601Z] [INFO] |  |  |  +- org.junit.platform:junit-platform-commons:jar:1.9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  |  |  \- org.apiguardian:apiguardian-api:jar:1.1.2:test[2023-03-07T15:50:40.601Z] [INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  |     \- org.junit.platform:junit-platform-engine:jar:1.9.1:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.mockito:mockito-core:jar:4.11.0:test[2023-03-07T15:50:40.601Z] [INFO] |  |  +- net.bytebuddy:byte-buddy:jar:1.12.18:test[2023-03-07T15:50:40.601Z] [INFO] |  |  +- net.bytebuddy:byte-buddy-agent:jar:1.11.22:test[2023-03-07T15:50:40.601Z] [INFO] |  |  \- org.objenesis:objenesis:jar:3.3:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.mockito:mockito-junit-jupiter:jar:4.11.0:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.skyscreamer:jsonassert:jar:1.5.0:test[2023-03-07T15:50:40.601Z] [INFO] |  |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test[2023-03-07T15:50:40.601Z] [INFO] |  +- org.springframework:spring-core:jar:5.3.18:compile[2023-03-07T15:50:40.601Z] [INFO] |  |  \- org.springframework:spring-jcl:jar:5.3.18:compile[2023-03-07T15:50:40.601Z] [INFO] |  +- org.springframework:spring-test:jar:5.3.18:test[2023-03-07T15:50:40.601Z] [INFO] |  \- org.xmlunit:xmlunit-core:jar:2.8.4:test[2023-03-07T15:50:40.601Z] [INFO] \- io.rest-assured:rest-assured:jar:4.4.0:test[2023-03-07T15:50:40.601Z] [INFO]    +- org.codehaus.groovy:groovy:jar:3.0.10:test[2023-03-07T15:50:40.601Z] [INFO]    +- org.codehaus.groovy:groovy-xml:jar:3.0.10:test[2023-03-07T15:50:40.601Z] [INFO]    +- org.apache.httpcomponents:httpclient:jar:4.5.13:test[2023-03-07T15:50:40.601Z] [INFO]    |  +- org.apache.httpcomponents:httpcore:jar:4.4.15:test[2023-03-07T15:50:40.601Z] [INFO]    |  \- commons-codec:commons-codec:jar:1.15:compile[2023-03-07T15:50:40.601Z] [INFO]    +- org.apache.httpcomponents:httpmime:jar:4.5.13:test[2023-03-07T15:50:40.601Z] [INFO]    +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1:test[2023-03-07T15:50:40.601Z] [INFO]    +- io.rest-assured:json-path:jar:4.4.0:test[2023-03-07T15:50:40.601Z] [INFO]    |  +- org.codehaus.groovy:groovy-json:jar:3.0.10:test[2023-03-07T15:50:40.601Z] [INFO]    |  \- io.rest-assured:rest-assured-common:jar:4.4.0:test[2023-03-07T15:50:40.601Z] [INFO]    \- io.rest-assured:xml-path:jar:4.4.0:test[2023-03-07T15:50:40.601Z] [INFO]       +- org.apache.commons:commons-lang3:jar:3.12.0:compile[2023-03-07T15:50:40.601Z] [INFO]       \- com.sun.xml.bind:jaxb-impl:jar:2.3.5:test[2023-03-07T15:50:40.601Z] [INFO] ------------------------------------------------------------------------[2023-03-07T15:50:40.601Z] [INFO] Reactor Summary for Kogito Example :: Spring Boot 2.0.0-SNAPSHOT:[2023-03-07T15:50:40.601Z] [INFO] [2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Spring Boot ...................... SUCCESS [  1.590 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Decision Table - Spring Boot ..... SUCCESS [ 21.545 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: DMN Metrics SpringBoot ........... FAILURE [ 20.763 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: DMN Event-Driven :: Spring Boot .. SUCCESS [01:20 min][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: DMN with listeners - Spring Boot . SUCCESS [ 15.818 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: DMN :: PMML - Spring Boot ........ SUCCESS [ 36.827 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: DMN - Spring Boot ................ SUCCESS [ 14.728 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: DMN Tracing - Spring Boot ........ SUCCESS [ 49.786 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Flexible process with Spring Boot  SUCCESS [ 15.557 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Onboarding Example :: Onboarding with Business Process Spring Boot SUCCESS [ 17.715 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: PMML Event-Driven - Spring Boot .. SUCCESS [01:16 min][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: PMML - Spring Boot ............... SUCCESS [ 24.610 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Business Rules Spring Boot SUCCESS [ 13.007 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process :: Decisions :: REST :: Spring Boot SUCCESS [ 16.574 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process :: Decisions :: Rules :: Spring Boot SUCCESS [ 14.466 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process :: Decisions :: Spring Boot SUCCESS [ 14.192 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Infinispan Persistence Spring Boot SUCCESS [ 30.336 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process with Kafka and Spring Boot, multiple channels SUCCESS [ 17.094 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process with Kafka and Spring Boot SUCCESS [ 15.753 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process MongoDB Persistence Spring Boot SUCCESS [ 23.571 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Monitoring :: Spring Boot  SUCCESS [ 16.533 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Transactional Outbox :: MongoDB and Spring Boot SUCCESS [01:07 min][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Springboot Performance test ...... SUCCESS [  4.738 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process PostgreSQL Persistence Spring Boot SUCCESS [ 21.326 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Service Rest Call Spring Boot SUCCESS [  4.653 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Scripts With Spring Boot . SUCCESS [ 10.701 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Service Calls with Spring Boot SUCCESS [ 13.196 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process and Spring Boot .......... SUCCESS [ 19.084 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Timer With Spring Boot ... SUCCESS [  4.034 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Usertasks With Custom Lifecycle Spring Boot SUCCESS [ 12.728 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process with Usertasks Spring Boot :: Console SUCCESS [ 29.742 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process with Usertasks Spring Boot SUCCESS [ 13.105 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Usertasks With Security OIDC Spring Boot :: Console SUCCESS [01:44 min][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Usertasks With Security OIDC Spring Boot SUCCESS [ 47.072 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Process Usertasks With Security Spring Boot SUCCESS [ 19.376 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: Rules Legacy API - Spring Boot ... SUCCESS [ 12.987 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: RuleUnit Event Driven :: Spring Boot SUCCESS [ 54.785 s][2023-03-07T15:50:40.601Z] [INFO] Kogito Example :: RuleUnit - Spring Boot ........... SUCCESS [ 12.592 s][2023-03-07T15:50:40.601Z] [INFO] ------------------------------------------------------------------------[2023-03-07T15:50:40.601Z] [INFO] BUILD FAILURE[2023-03-07T15:50:40.601Z] [INFO] ------------------------------------------------------------------------[2023-03-07T15:50:40.601Z] [INFO] Total time:  16:31 min[2023-03-07T15:50:40.601Z] [INFO] Finished at: 2023-03-07T10:50:40-05:00[2023-03-07T15:50:40.601Z] [INFO] ------------------------------------------------------------------------[2023-03-07T15:50:40.601Z] [ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:3.3.1:dockerBuild (default) on project dmn-drools-springboot-metrics: 429 Too Many Requests[2023-03-07T15:50:40.601Z] [ERROR] GET https://registry-1.docker.io/v2/library/eclipse-temurin/manifests/11-jre[2023-03-07T15:50:40.601Z] [ERROR] {[2023-03-07T15:50:40.601Z] [ERROR]   "errors": [[2023-03-07T15:50:40.601Z] [ERROR]     {[2023-03-07T15:50:40.601Z] [ERROR]       "code": "TOOMANYREQUESTS",[2023-03-07T15:50:40.601Z] [ERROR]       "message": "You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit"[2023-03-07T15:50:40.601Z] [ERROR]     }[2023-03-07T15:50:40.601Z] [ERROR]   ][2023-03-07T15:50:40.601Z] [ERROR] }[2023-03-07T15:50:40.601Z] [ERROR] -> [Help 1][2023-03-07T15:50:40.601Z] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.google.cloud.tools:jib-maven-plugin:3.3.1:dockerBuild (default) on project dmn-drools-springboot-metrics: 429 Too Many Requests[2023-03-07T15:50:40.601Z] GET https://registry-1.docker.io/v2/library/eclipse-temurin/manifests/11-jre[2023-03-07T15:50:40.601Z] {[2023-03-07T15:50:40.601Z]   "errors": [[2023-03-07T15:50:40.601Z]     {[2023-03-07T15:50:40.601Z]       "code": "TOOMANYREQUESTS",[2023-03-07T15:50:40.601Z]       "message": "You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit"[2023-03-07T15:50:40.601Z]     }[2023-03-07T15:50:40.601Z]   ][2023-03-07T15:50:40.601Z] }[2023-03-07T15:50:40.601Z] [2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)[2023-03-07T15:50:40.601Z]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)[2023-03-07T15:50:40.602Z]     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:298)[2023-03-07T15:50:40.602Z]     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)[2023-03-07T15:50:40.602Z]     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)[2023-03-07T15:50:40.602Z]     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)[2023-03-07T15:50:40.602Z]     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)[2023-03-07T15:50:40.602Z]     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)[2023-03-07T15:50:40.602Z]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)[2023-03-07T15:50:40.602Z]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)[2023-03-07T15:50:40.602Z]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)[2023-03-07T15:50:40.602Z]     at java.lang.reflect.Method.invoke (Method.java:566)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)[2023-03-07T15:50:40.602Z] Caused by: org.apache.maven.plugin.MojoExecutionException: 429 Too Many Requests[2023-03-07T15:50:40.602Z] GET https://registry-1.docker.io/v2/library/eclipse-temurin/manifests/11-jre[2023-03-07T15:50:40.602Z] {[2023-03-07T15:50:40.602Z]   "errors": [[2023-03-07T15:50:40.602Z]     {[2023-03-07T15:50:40.602Z]       "code": "TOOMANYREQUESTS",[2023-03-07T15:50:40.602Z]       "message": "You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit"[2023-03-07T15:50:40.602Z]     }[2023-03-07T15:50:40.602Z]   ][2023-03-07T15:50:40.602Z] }[2023-03-07T15:50:40.602Z] [2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.maven.BuildDockerMojo.execute (BuildDockerMojo.java:167)[2023-03-07T15:50:40.602Z]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)[2023-03-07T15:50:40.602Z]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)[2023-03-07T15:50:40.602Z]     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:298)[2023-03-07T15:50:40.602Z]     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)[2023-03-07T15:50:40.602Z]     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)[2023-03-07T15:50:40.602Z]     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)[2023-03-07T15:50:40.602Z]     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)[2023-03-07T15:50:40.602Z]     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)[2023-03-07T15:50:40.602Z]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)[2023-03-07T15:50:40.602Z]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)[2023-03-07T15:50:40.602Z]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)[2023-03-07T15:50:40.602Z]     at java.lang.reflect.Method.invoke (Method.java:566)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)[2023-03-07T15:50:40.602Z]     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)[2023-03-07T15:50:40.602Z] Caused by: com.google.cloud.tools.jib.http.ResponseException: 429 Too Many Requests[2023-03-07T15:50:40.602Z] GET https://registry-1.docker.io/v2/library/eclipse-temurin/manifests/11-jre[2023-03-07T15:50:40.602Z] {[2023-03-07T15:50:40.602Z]   "errors": [[2023-03-07T15:50:40.602Z]     {[2023-03-07T15:50:40.602Z]       "code": "TOOMANYREQUESTS",[2023-03-07T15:50:40.602Z]       "message": "You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit"[2023-03-07T15:50:40.602Z]     }[2023-03-07T15:50:40.602Z]   ][2023-03-07T15:50:40.602Z] }[2023-03-07T15:50:40.602Z] [2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.http.FailoverHttpClient.call (FailoverHttpClient.java:355)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.http.FailoverHttpClient.call (FailoverHttpClient.java:266)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call (RegistryEndpointCaller.java:138)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call (RegistryEndpointCaller.java:114)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryClient.callRegistryEndpoint (RegistryClient.java:623)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryClient.pullManifest (RegistryClient.java:434)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryClient.pullManifest (RegistryClient.java:439)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.pullBaseImages (PullBaseImageStep.java:294)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call (PullBaseImageStep.java:181)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call (PullBaseImageStep.java:71)[2023-03-07T15:50:40.602Z]     at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly (TrustedListenableFutureTask.java:131)[2023-03-07T15:50:40.602Z]     at com.google.common.util.concurrent.InterruptibleTask.run (InterruptibleTask.java:74)[2023-03-07T15:50:40.602Z]     at com.google.common.util.concurrent.TrustedListenableFutureTask.run (TrustedListenableFutureTask.java:82)[2023-03-07T15:50:40.602Z]     at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)[2023-03-07T15:50:40.602Z]     at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)[2023-03-07T15:50:40.602Z]     at java.lang.Thread.run (Thread.java:829)[2023-03-07T15:50:40.602Z] Caused by: com.google.api.client.http.HttpResponseException: 429 Too Many Requests[2023-03-07T15:50:40.602Z] GET https://registry-1.docker.io/v2/library/eclipse-temurin/manifests/11-jre[2023-03-07T15:50:40.602Z] {[2023-03-07T15:50:40.602Z]   "errors": [[2023-03-07T15:50:40.602Z]     {[2023-03-07T15:50:40.602Z]       "code": "TOOMANYREQUESTS",[2023-03-07T15:50:40.602Z]       "message": "You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit"[2023-03-07T15:50:40.602Z]     }[2023-03-07T15:50:40.602Z]   ][2023-03-07T15:50:40.602Z] }[2023-03-07T15:50:40.602Z] [2023-03-07T15:50:40.602Z]     at com.google.api.client.http.HttpResponseException$Builder.build (HttpResponseException.java:293)[2023-03-07T15:50:40.602Z]     at com.google.api.client.http.HttpRequest.execute (HttpRequest.java:1118)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.http.FailoverHttpClient.call (FailoverHttpClient.java:349)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.http.FailoverHttpClient.call (FailoverHttpClient.java:266)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call (RegistryEndpointCaller.java:138)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryEndpointCaller.call (RegistryEndpointCaller.java:114)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryClient.callRegistryEndpoint (RegistryClient.java:623)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryClient.pullManifest (RegistryClient.java:434)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.registry.RegistryClient.pullManifest (RegistryClient.java:439)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.pullBaseImages (PullBaseImageStep.java:294)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call (PullBaseImageStep.java:181)[2023-03-07T15:50:40.602Z]     at com.google.cloud.tools.jib.builder.steps.PullBaseImageStep.call (PullBaseImageStep.java:71)[2023-03-07T15:50:40.602Z]     at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly (TrustedListenableFutureTask.java:131)[2023-03-07T15:50:40.602Z]     at com.google.common.util.concurrent.InterruptibleTask.run (InterruptibleTask.java:74)[2023-03-07T15:50:40.602Z]     at com.google.common.util.concurrent.TrustedListenableFutureTask.run (TrustedListenableFutureTask.java:82)[2023-03-07T15:50:40.602Z]     at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)[2023-03-07T15:50:40.602Z]     at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)[2023-03-07T15:50:40.602Z]     at java.lang.Thread.run (Thread.java:829)[2023-03-07T15:50:40.602Z] [ERROR] [2023-03-07T15:50:40.602Z] [ERROR] Re-run Maven using the -X switch to enable full debug logging.[2023-03-07T15:50:40.602Z] [ERROR] [2023-03-07T15:50:40.602Z] [ERROR] For more information about the errors and possible solutions, please read the following articles:[2023-03-07T15:50:40.602Z] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException[2023-03-07T15:50:40.602Z] [ERROR] [2023-03-07T15:50:40.602Z] [ERROR] After correcting the problems, you can resume the build with the command[2023-03-07T15:50:40.602Z] [ERROR]   mvn  -rf :dmn-drools-springboot-metrics[2023-03-07T15:50:40.602Z] [ERROR] Error executing command mvn -f kogito-springboot-examples/pom.xml clean install  -s /home/jenkins/workspace/KIE/kogito/main/pullrequest/kogito-runtimes.tests.downstream.kogito-springboot-examples@tmp/config15590891515609881489tmp -Dmaven.wagon.http.ssl.insecure=true -Dmaven.test.failure.ignore=true -nsu -ntp -fae -e -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3   dependency:tree  -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B. The process '/opt/tools/apache-maven-3.8.7/bin/mvn' failed with exit code 1[2023-03-07T15:50:40.602Z] [command]/usr/bin/docker system prune -f[2023-03-07T15:50:40.856Z] Deleted build cache objects:[2023-03-07T15:50:40.856Z] sxau4vnpenxyx4m6zclmif8ev[2023-03-07T15:50:40.856Z] 0zthvaqs0go86b7gdze1c2mpi[2023-03-07T15:50:40.856Z] 63cpj48zkizknx8fr0j4mf4ar[2023-03-07T15:50:40.856Z] 5dtie7hfpiwk7evv6cw3ow7rc[2023-03-07T15:50:40.856Z] ub2pv5alude6e8sjwtxikhr87[2023-03-07T15:50:40.856Z] vmb71y0zs0yu5sv9qogf48o8h[2023-03-07T15:50:40.856Z] ethrd754feen7lfm355tks4l2[2023-03-07T15:50:40.856Z] asozczmw8xvxe9u68zsff8o88[2023-03-07T15:50:40.856Z] esfyd8eyb6h9lce1ud1ltl8l5[2023-03-07T15:50:40.856Z] [2023-03-07T15:50:40.856Z] Total reclaimed space: 62.13MB[2023-03-07T15:50:40.856Z] [INFO] Execution summary for kiegroup/kogito-examples[2023-03-07T15:50:40.856Z] # [BEFORE] [kiegroup/kogito-examples] export INTEGRATION_BRANCH=[2023-03-07T15:50:40.856Z] [INFO] OK [Executed in 0.070312 ms][2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] # [BEFORE] [kiegroup/kogito-examples] bash -c "if [ ! -z '' ] && [ -f .ci/environments/update.sh ]; then .ci/environments/update.sh ""; fi"[2023-03-07T15:50:40.856Z] [INFO] OK [Executed in 6.457801 ms][2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] # [COMMANDS] [kiegroup/kogito-examples] export MVN_CMD=`bash -c "if [ '' = 'true' ]; then printf 'deploy  '; else printf 'install'; fi"`[2023-03-07T15:50:40.856Z] [INFO] OK [Executed in 6.08983 ms][2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] # [COMMANDS] [kiegroup/kogito-examples] mvn -pl :kogito-examples clean install  -s /home/jenkins/workspace/KIE/kogito/main/pullrequest/kogito-runtimes.tests.downstream.kogito-springboot-examples@tmp/config15590891515609881489tmp -Dmaven.wagon.http.ssl.insecure=true -Dmaven.test.failure.ignore=true -nsu -ntp -fae -e -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3   dependency:tree  -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B[2023-03-07T15:50:40.856Z] [INFO] OK [Executed in 6222.923073 ms][2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] # [COMMANDS] [kiegroup/kogito-examples] mvn -f kogito-springboot-examples/pom.xml clean install  -s /home/jenkins/workspace/KIE/kogito/main/pullrequest/kogito-runtimes.tests.downstream.kogito-springboot-examples@tmp/config15590891515609881489tmp -Dmaven.wagon.http.ssl.insecure=true -Dmaven.test.failure.ignore=true -nsu -ntp -fae -e -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3   dependency:tree  -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B[2023-03-07T15:50:40.856Z] [INFO] NOT OK [Executed in<PHONE_NUMBER>91 ms][2023-03-07T15:50:40.856Z] [ERROR] The process '/opt/tools/apache-maven-3.8.7/bin/mvn' failed with exit code 1[2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] # [AFTER] [kiegroup/kogito-examples] docker system prune -f[2023-03-07T15:50:40.856Z] [INFO] OK [Executed in 158.647004 ms][2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] # Uploading artifacts[2023-03-07T15:50:40.856Z] [INFO] Will not upload any artifacts in CLI environment[2023-03-07T15:50:40.856Z]  [2023-03-07T15:50:40.856Z] [ERROR] Failed to execute commands for kiegroup/kogito-examples[2023-03-07T15:50:40.856Z] [ERROR] Failed to execute mvn -f kogito-springboot-examples/pom.xml clean install  -s /home/jenkins/workspace/KIE/kogito/main/pullrequest/kogito-runtimes.tests.downstream.kogito-springboot-examples@tmp/config15590891515609881489tmp -Dmaven.wagon.http.ssl.insecure=true -Dmaven.test.failure.ignore=true -nsu -ntp -fae -e -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3   dependency:tree  -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -B :[2023-03-07T15:50:40.856Z] [ERROR] The process '/opt/tools/apache-maven-3.8.7/bin/mvn' failed with exit code 1[Pipeline] }[Pipeline] // withCredentials[Pipeline] }[2023-03-07T15:50:40.929Z] Deleting 1 temporary files[Pipeline] // configFileProvider[Pipeline] }[Pipeline] // scriptPost stage[Pipeline] junit[2023-03-07T15:50:41.036Z] Recording test results[2023-03-07T15:50:42.790Z] [Checks API] No suitable checks publisher found.[Pipeline] archiveArtifacts[2023-03-07T15:50:42.806Z] Archiving artifacts[Pipeline] script[Pipeline] {[Pipeline] sh[2023-03-07T15:50:44.261Z] + rm -rf console.log[Pipeline] sh[2023-03-07T15:50:44.553Z] + wget --no-check-certificate -qO - https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-runtimes.tests.downstream.kogito-springboot-examples/557/consoleText[2023-03-07T15:50:44.553Z] + tail -n 300

As authot of this message, it was left generic on purpose The important point is a compesation node should not be linked to a non compesation one. This is defined in the spec and the user is expeted to read it If the spec is changed and lets say "usedForCompensation" is changed to just "compensation", we will need to change the message (wihtout a compiler warning us) Really, this was completely unnedede, whats this coming from?

It came from a user who didn't understand the original message.
It makes total sense not to mention the property name. I'll revert the message to its original state, but replace "node" with "state" to make it clearer, as discussed internally.


[OSF-6625] "Continue working on an existing draft preregistration" on osf.io/prereg

Purpose
Change text to be more specific to the purpose.
Changes
Added the word "draft" to the text.
Side effects
n/a
Ticket
https://openscience.atlassian.net/browse/OSF-6625

Looks great. 🎉 🐧 🎉


See chat for the origin of this list of domains:

https://chat.stackexchange.com/transcript/message/41552790#41552790
nuked post on Aviation.SE that was not reported in Charcoal: https://aviation.stackexchange.com/a/46326/1467

!!/approve


Minor edits to the box

Change title to "Best practices" since that's how they are described in the paper
Add some references
Minor editorial work

More great work. I fixed a merge conflict with #189 and am merging now.


The rollbackCurrentTransaction method does not rollback transactions by the time it returns

Issue
The rollbackCurrentTransaction method is used to end an active transaction. However, it is possible for the rollback to not be complete by the time the function returns, leading to a scenario in which a ROLLBACK command is not issued before additional code runs.
Example
The below code demonstrates the issue.
import { PrismaTestingHelper } from '@chax-at/transactional-prisma-testing';
import { PrismaClient } from '@prisma/client';

let prisma = new PrismaClient({
  log: ['query'],
});

const prismaTestingHelper = new PrismaTestingHelper(prisma);

const beginTx = async () => {
  await prisma.$connect();
  await prismaTestingHelper.startNewTransaction();
};

const rollbackTx = async () => {
  prismaTestingHelper.rollbackCurrentTransaction();
  await prisma.$disconnect();
};

prisma = prismaTestingHelper.getProxyClient();

await beginTx();
await prisma.$executeRaw`select 1`;
await rollbackTx();

With query logs turned on, I consistently get the following output, which is missing a ROLLBACK command:
prisma:query BEGIN
prisma:query select 1

I can also reproduce the issue with the below code. Here, a query that shouldn't be part of the transaction manages to sneak in. However, it's difficult to consistently trigger. It seems to only work once out of many tries.
import { PrismaTestingHelper } from '@chax-at/transactional-prisma-testing';
import { PrismaClient } from '@prisma/client';

let prisma = new PrismaClient({
  log: ['query'],
});

const prismaTestingHelper = new PrismaTestingHelper(prisma);
prisma = prismaTestingHelper.getProxyClient();

await prismaTestingHelper.startNewTransaction();
await prisma.$executeRaw`select 1`;
prismaTestingHelper.rollbackCurrentTransaction();

// This should not run within the previous transaction.
await prisma.$executeRaw`select 1`;

Query logs:
prisma:query BEGIN
prisma:query select 1
prisma:query select 1
prisma:query ROLLBACK

Analysis
When rollbackCurrentTransaction is called, it resolves the inner promise shown below. This action allows the $transaction callback to continue executing, ultimately throwing an error that rolls back the transaction. However, before the $transaction callback can throw its error, the rest ofrollbackCurrentTransaction runs, and statements that come after may be run before the transaction actually ends.
https://github.com/chax-at/transactional-prisma-testing/blob/441b51d89d3498ce383b548d6f7a975b2f59cda0/src/prisma.testing.helper.ts#L202-L211
Potential Solution
rollbackCurrentTransaction probably needs to be async to work as intended. Here's one way it could be changed. I believe existing code that runs rollbackCurrentTransaction synchronously should still work the same. But the method would need to be awaited to avoid subtle bugs.
  /**
   * Starts a new transaction and automatically updates the proxy client (no need to fetch it again).
   * Must be called before each test.
   */
  public async startNewTransaction(opts?: { timeout?: number; maxWait?: number }): Promise<void> {
    if(this.endCurrentTransactionPromise != null) {
      throw new Error('[transactional-prisma-testing] rollbackCurrentTransaction must be called before starting a new transaction');
    }
    this.savepointId = 0;
    // This is a workaround for https://github.com/prisma/prisma/issues/12458
    return new Promise(resolve => {
      this.prismaClient.$transaction(async prisma => {
        this.currentPrismaTransactionClient = prisma as Prisma.TransactionClient | undefined;
        await new Promise((innerResolve, innerReject) => {
          this.endCurrentTransactionPromise = () => {
            // We intentionally want to do a rollback of the transaction after a successful run
            innerReject(internalRollbackErrorSymbol);
          };
          resolve();
        });
      }, opts).catch((error) => {
        if(error !== internalRollbackErrorSymbol || !this.endRollbackIssuedPromise) {
          throw error;
        }

        // Once we catch an error, we know Prisma has rolled back the transaction
        this.endRollbackIssuedPromise();
        this.endRollbackIssuedPromise = undefined;
      });
    });
  }

  /**
   * Ends the currently active transaction. Must be called after each test.
   */
  public async rollbackCurrentTransaction(): void {
    if(this.endCurrentTransactionPromise == null) {
      throw new Error('[transactional-prisma-testing] No transaction currently active');
    }

    // Wait for the `ROLLBACK` command to be issued before proceeding
    const rollbackIssued = new Promise((resolve) => {
      this.endRollbackIssuedPromise = resolve;
    });

    this.endCurrentTransactionPromise();
    this.endCurrentTransactionPromise = undefined;

    await rollbackIssued;
  }

Hey!
First of all, thanks for the report, it's always nice to receive such a well-written issue report.
However, the behavior you're describing is mostly "by design". While it seems weird, it should not lead to actual problems in real applications (but if you have a real-life example for this being a problem, then I can of course change it).
Regarding your examples:
In your first example, you're immediately calling prisma.$disconnect(). This can indeed lead to the ROLLBACK command not being sent before the connection is closed - however, Postgres will automatically rollback your transaction when the client disconnects (since the transaction has not been commited), leading to the same result.
In your second example, you're using the package in a non-intended way by sending a request after calling rollbackCurrentTransaction and before calling startNewTransaction. In this case, the call is always redirected to the transaction client, probably leading to an error if it was rollbacked already. The intended way would be this:
const prismaTestingHelper = new PrismaTestingHelper(prisma);
prisma = prismaTestingHelper.getProxyClient();

await prismaTestingHelper.startNewTransaction();
await prisma.$executeRaw`select 1`;
prismaTestingHelper.rollbackCurrentTransaction();

// v--------  This call is missing
await prismaTestingHelper.startNewTransaction();

// <--------- This will now run in the new transaction, even if the old one is not rollbacked yet
await prisma.$executeRaw`select 1`;

There is still a potential race condition in which the second SELECT 1 query will be sent before the transaction is rollbacked - but then, the second query will be executed inside the second transaction while the first transaction will be rollbacked in the background. But this should be totally fine since those two transactions are independent (and shouldn't be a long overlap anyway).
I do agree though that this behavior is a bit weird - but I don't know what the "correct" behavior in this case would be. Probably redirecting the call to the original prisma client? Though this can lead to subtle unintended behavior as well, I think, though it's possible to do this, even without having to await the rollback call.
The two main reasons why the rollback function doesn't return a Promise are:

Performance: It's faster to not wait for the rollback since it can happen in the background
When implementing it, I actually thought about doing it the way you suggested - but I don't know how Prisma handles this exactly and if the .catch( will actually only be called after the rollback. Since it didn't lead to any observable problems for me, I never bothered testing Prisma's internal behavior in this case

Again, if you're actually observing any issues with this behavior in a real-world application, then please describe them, otherwise I would tend to keep the current behavior (and only think about maybe redirecting calls between rollback and startNew to the original client instead of the previous transaction client)

Hey, thanks for the kind words!
Your points are fair - I haven't observed any meaningful issues in my application tests. I only stumbled upon the behavior while debugging an unrelated problem and realized I wasn't seeing the ROLLBACK command in the query logs. Figured it was worth reporting just in case.
Regarding your reason #2:
When an error is thrown within an interactive transaction callback, Prisma seems to do the following:

Catch the error
Silently issue a ROLLBACK
Re-throw the original error

What we catch is the re-thrown error, and by the time we're in our own catch callback, the ROLLBACK should be issued.
Source:
https://github.com/prisma/prisma/blob/1eb333d55da0133679a4f63de47aba6bda823496/packages/client/src/runtime/getPrismaClient.ts#L783-L816
In any case, since I haven't observed any real-world problems with the current behavior, I don't feel particularly compelled to push for any changes. Do you think it's best to just close the issue?

@liu-ronny Thanks for the investigation, that's interesting to know! Yeah, I'll close the issue for now - but if you encounter any issues with this behavior, then please open a new issue and then I can adapt it according to your findings here.


Added open and closed orders tabs

Changes

added open and closed orders tab

Codecov Report

Merging #240 into master will increase coverage by 0.12%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #240      +/-   ##
==========================================
+ Coverage   83.65%   83.77%   +0.12%
==========================================
  Files          98       98
  Lines        1040     1048       +8
  Branches       95       96       +1
==========================================
+ Hits          870      878       +8
  Misses        153      153
  Partials       17       17

Impacted Files
Coverage Δ

...ntational-components/shared/loader-placeholders.js
88.46% <ø> (ø)
:arrow_up:

src/smart-components/order/orders.js
95.45% <100%> (+2.59%)
:arrow_up:

src/toolbar/schemas/orders-toolbar.schema.js
100% <100%> (ø)
:arrow_up:

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 a767054...f39d8ee. Read the comment docs.


TypeError: selected_value.join is not a function with multi select/select 2/server side

I was currently trying to implement the multi-select filters with a server side processing data table using the select2 plugin. As soon as i select more than one value i get the above error in the jQuery.DataTables.yadtcf.js. Could you please have a look at this?

Unless you provide a link to a page so I can see the issue I wont be able to help you


be able to calculate the total amount pays over a period of time

I am using summars, but I would like to have a command that will return to me the tot amount of sats that I paid over a period.
A possible idea would be lightning-cli summars summars-sats-paid=8760
I do not know if it is so easy, but would be good to have a way to divided the amount sent, and the routing fee paid, e.g: the following command
lightning-cli summars summars-pays=8760 --summars-json=true
{
  "amount_sats_send": 10000000,
  "amount_tot_sats_send": 10000020,
}

Where amount_tot_sats_send - amount_sats_send = routing fee.
Are you interested in adding this functionality to the plugin? looks like that we do not have anything that will show this information

Yes, i wanted to do this for forwards, might aswell do it for invoices and pays aswell. As to how exactly i'll integrate this i'm not sure yet. Either like you wrote as a separate command or right into the summars command itself.

Either like you wrote as a separate command or right into the summars command itself.

I like the idea of "total amount sent" inside the summars command, however, I feel that it is necessary to have a separate command, to answer questions like "How much did I spend in the last 50 days?"
What do you think?

I could definitely just put it in the summars command with an extra return object when its json. Something like
"totals": {
    "pays_amount_sent_msat": 5000,
    "pays_amount_total_sent_msat": 5050,
    "pays_fees_msat": 50,
    "invoices_amount_received_msat": 10000,
    "forwards_amount_in_msat": 4000,
    "forwards_amount_out_msat": 3850,
    "forwards_fees_msat": 150,
}

I'd like to avoid creating an extra rpc method for each of these. Or is your issue about the unit of the option "summars-pays"? Would you like to see a "summars-pays-days" ?

Would you like to see a "summars-pays-days" ?

At one accounting level this kind of command would be good, currently, all the cln plugins (including web UI) do monkey things. I am wondering how people do accounting in production?

I have decided against summars-x-days for now since i think the complexity and clutter is not worth the convenience of calculating *24

I see, thanks! if this is really needed I will write that code, but for now the total is fine for me, thanks


Rework on plan testing

It's seem to be difficult to runs tests on local env (database not refresh on all runs). When trying to use Trait RefreshDatabase, some broken error display.
It will be nice to go see all test and rewrite if necessary some tests

Corrected in branch feature/issue#12. And seem to be ok now.


Internee

@Khizar-sheikh  There are 3 problems with this PR. First, you have no description. Second, you have no extended description. The third follows from the first 2, why is this PR necessary?

@jrgemignani i am also a part of apache age contributor cultivation program internship. For this internship it is a required pre requirement to create a simple pull request for apache age. Can you tell me what exactly is meant by this do i have to add a enhancement or feature for it?

Will circulate an instruction again.

@moazfarrukh For all PRs for the Apache AGE branches (master, PG16, PG15, PG14, PG13, PG12, and PG11) the following items are required.
The submitter of the PR must -

Have the title of the PR be something related to Apache AGE and/or the repository.
Provide a description explaining what this PR is for (why it is necessary).
Completely fill out all fields, especially the optional commit description. It is not optional for us.

Others reviewing PRs will require these items to be fully completed. Remember, this is a public repository that others can view. So try to make your PRs as professional as possible.


Add support for letter spacing to typeset mixin

+1 on this. Letter-spacing is so closely tied to typography, it's sometimes frustrating to not be able to bundle it into a typeset.

I'll have to spend a little more time on this one as it will mess with the typeset shorthand. The intended functionality was originally to bundle letter-spacing with typefaces but your all right, it would be better to bundle it with typesets as it's often dependent on font size.

While you're at it, it would be nice to also include font-style in there. I always forget that I can set weight in typesets, but not italics.

Closing this now as it's been implemented in 1.1.x alpha.


[typescript-react-apollo] withHooks: using returnPartialData should make all returned fields optional

Is your feature request related to a problem? Please describe.
We are using the typescript-react-apollo plugin along with the  withHooks option.
The problem is that when the hook is called with returnPartialData, some fields in the response might be undefined due to a cached value that does not include newly added fields.
Describe the solution you'd like
It would be great if the typings would take this option into account and make the returned type something like Partial<...>
Describe alternatives you've considered
I tried these config options but none of them alter the field types of the returned query data:
      maybeValue: T | undefined
      wrapEntireFieldDefinitions: true
      fieldWrapperValue: Maybe<T>
      entireFieldWrapperValue: Maybe<T>
      defaultMapper: Maybe<T>
      resolverTypeWrapperSignature: Maybe<T>
      inlineFragmentTypes: combine

Additional context
I'm loading a list of events, in React-Native.
const { data, loading } = useEventsQuery({
  fetchPolicy: "cache-and-network",
  notifyOnNetworkStatusChange: true,
  returnPartialData: true,
});

const events = data?.events || [];

events.forEach((event) => {
  console.log(event.name); // type should be `string | undefined`, even though Event["name"] is a string
  console.log(event.infos.address); // throws an Error if `name` is cached but not `infos`
});

Any updates on this issue?
I am casting (your example) const events = data?.events as Partial<Event>; in the application code and similarly when I would be using the data?.events as part of a function parameter value, it cast it as follows, since using the generated EventResolvers type does not work for partially nested results (e.g. events.dates that would be an array of objects with event dates.

const processEvents = (events: Partial<Event>[]): Partial<Event>[] => {
    events.forEach((event) => {
      console.log(event.name); // type should be `string | undefined`, even though Event["name"] is a string
      console.log(event.infos.address); // throws an Error if `name` is cached but not `infos`
   });
   return events;
}

const { data, loading } = useEventsQuery({
  fetchPolicy: "cache-and-network",
  notifyOnNetworkStatusChange: true,
});

const events = data?.events as Partial<Event> || [|;

processEvents(events);

Any thoughts on this or how to make it proper without having to use Partial everywhere in the code?


Study animal df templates

Summary Change Description

Created a list of Pandas DataFrames in utils.py

Added a customtag for object hyperlinks (studies, tracers, and treatments)

Added ListView and DetailView for Tissue

Added a function-based view and template (study_summary.html) for study-based summary table
(including all studies, animals, samples)

Modified the following views and the templates"
StudyListView, StudyDetailView,
AnimalListView, AnimalDetailView
SampleListView, SampleDetailView
using Pandas DataFrames to get list and stats data for studies, animal, samples

Affected Issue Numbers

Resolves #211
Resolves #212
Resolves #214
Resolves #215
Resolves #216

Code Review Notes

Formatted values for sample_date, mrun_date, sample_collect_time in DataFrames, in order to display in correct
format after converting data using pd.to_json.

Some animals have no treatment data, and thus no link to protocols.
Pandas DataFrame converted int field for treatment_id to float (due to null values). To work around it, assigned treatment_id to 0 for rows if treatment is null in DataFrame.

need to add/modify test code for Pandas DataFrames and views. But like to get 1st round of review to see if the strategy for using DataFrames and the code in utils.py and views.py are OK.

tried to construct Querysets and DataFrames for efficient data filtering and join. But need more tests and tuning with larger datasets.

Checklist

[x] All issue requirements satisfied (or no linked issues)
[x] Linting passes.
[x] Migrations created & committed (or no model changes)
[ ] Tests implemented (or no code changes)
[x] All tests pass

@lparsons I will keep your comments and go through them again when making modifications. Just answer your questions in general:
The questions you asked I also debated with myself several times. We should have further discussions about the following issues, though they are not top priorities for beta release.

It's fine to move data frames to a separate module, but it's not my preferred choice to move them into
Models since some of them are shared among Models (e.g. all_anim_msrun_df contains combined data from Study,
Animal, Tissue, Sample, and MSRun, called by several views). I also feel it's better to break models.py, views.py, utils.py into several files in sub-folders in the future.

I like to have get_absolute_url() for every model. I raised this question a few months ago, but seems we decided not to do it, use {% url 'object_detail' pk %} instead. We can discuss it again.

About field names in DataFrames:  to use values_list() (or values() function ) in a queryset to get related data from other models, the fields names are formed based on query path, some of which have long names with multiple double underscores. It's easy to rename columns with Pandas, I tried to make them short, easy to read, and consistent for columns in different DataFrames. Basically, I  attempted to do data manipulation with Pandas DataFrames, and then use them with minimum work when rendering data in templates.

my to-do list:

remove debug code
add test for tissue list and detail.
modify test code for other views (study, animal, sample)
Hopefully I'll find time to do it Friday afternoon (or early next week).

@fkang-pu Thanks for the detailed responses. I think you have a good plan to get this PR wrapped up. We can discuss the potentially larger changes in upcoming developers meetings.

I would agree that the data frame functions wouldn't necessarily fit with a specific model class, but that they do deserve their own module. I'm not convinced that a class full of static and/or class methods is the best way to do this, but we can discuss code reorganization after we get the beta release done. I'll add some of these notes to our developers meeting agendas going forward.
I'm not sure why the get_absolute_url() methods were skipped, but I do think they have the potential to make that filter much cleaner. I'll add this to our agenda, and if there is general agreement, we'll create an issue for it.
I can see how the field names need to get renamed, and it's not clear to me what the options are. Making sure that it is done independent of the template seems like a good idea. Perhaps we will learn additional options for this sort of thing going forward, but I like the idea of having a clear interface to the template, the template expects a dataframe with consistently named columns.

Once you complete the items on your to-do list, send me a request for a re-review.

@hepcat72 No rush. Feel free to make more suggestions, as I won't have time for this project until Friday afternoon.  I didn't get the "NoneType" error you mentioned with studies.

@hepcat72 No rush. Feel free to make more suggestions, as I won't have time for this project until Friday afternoon. I didn't get the "NoneType" error you mentioned with studies.

Yeah, it's data-related.  When I remove the obj_hyperlink filters on that page, my third row shows: ['1||obob_fasted', None] in the treatment column.  So instead of:
    if id_name_list == [None]:
        return None
    else:
        id_name_dict = dict(x.split("||") for x in id_name_list)
        obj_format_html = format_html_join(
            ",",
            '{}',
            [
                (reverse(tmplt_name, args=[str(id)]), id_name_dict[id])
                for id in id_name_dict
            ],
        )
        return obj_format_html

You should probably have the conditional in the loop, something like (though I haven't tested this):
    if id_name_list == [None]:
        return None
    else:
        id_name_dict = {}
        for x in id_name_list:
            if x != None:
               k, v = x.split("||")
               id_name_dict[k] = v
        obj_format_html = format_html_join(
            ",",
            '{}',
            [
                (reverse(tmplt_name, args=[str(id)]), id_name_dict[id])
                for id in id_name_dict
            ],
        )
        return obj_format_html

@lparsons @hepcat72 Pushed changes after rebase. Please review again. I'll take another look after getting in office.
changes:

removed debug code
modified customtags.py
added test_utils.py for verifying data in selected DataFrames.
modified test_views.py for code related to Study, Tissue, Animal, and Sample
minor changes to templates

notes:
Keep QuerysetToPandasDataFrame code in utils.py for now. I think it's better to modify/rewrite later when re-organizing file structures for DataRepo app.  May need to add additional DataFrames in the near future (e.g. get tracers from compound list).
For question about staticmethod vs classmethod, I am still thinking about it. Also consider where is best place to put the code in order to cache some of the DadaFrames. Right now they can be cached in views if needed.  Need more time to have better understanding of Pandas functions and think about how to modify and re-organize the code. Feel free to take over the task if you have better ideas.

@lparsons @hepcat72 Pushed changes after rebase. Please review again. I'll take another look after getting in office.

Just and FYI, it can be helpful if you use the "request re-review" function in GitHub. That makes it somewhat easier to see what PRs are pending reviews when we login.

@hepcat72 No rush. Feel free to make more suggestions, as I won't have time for this project until Friday afternoon. I didn't get the "NoneType" error you mentioned with studies.

Yeah, it's data-related. When I remove the obj_hyperlink filters on that page, my third row shows: ['1||obob_fasted', None] in the treatment column. So instead of:
    if id_name_list == [None]:
        return None
    else:
        id_name_dict = dict(x.split("||") for x in id_name_list)
        obj_format_html = format_html_join(
            ",",
            '{}',
            [
                (reverse(tmplt_name, args=[str(id)]), id_name_dict[id])
                for id in id_name_dict
            ],
        )
        return obj_format_html

You should probably have the conditional in the loop, something like (though I haven't tested this):
    id_name_dict = {}
    for x in id_name_list:
        if x != None:
           k, v = x.split("||")
           id_name_dict[k] = v
    obj_format_html = format_html_join(
        ",",
        '{}',
        [
            (reverse(tmplt_name, args=[str(id)]), id_name_dict[id])
            for id in id_name_dict
        ],
    )
    return obj_format_html

I edited my code in customtags.py based on your suggestion. Hopefully it fixed "NoneType" error. I don't have a case in my local tracebase, but tested a similar case in Django shell.


fix the unsafe date object create bug; merge the unmatched dayofweek …

fix the unsafe date object create bug;
merge the unmatched dayofweek and ordinary day into one output

@rubio41,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


why query-string encode the fragmentIdentifier?

queryString.stringifyUrl({
	url: 'https://foo.bar',
	query: {
		top: 'foo'
	},
	fragmentIdentifier: '/bar/hello'
});
// => 'https://foo.bar?top=foo#%2Fbar%2Fhello'

if set { encode: false }, the other query also won't be encoded

That looks like a bug. Here's how the native URL behaves:
let x = new URL('https://foo.bar');
x.hash = '/bar/hello';

x.toString();
//=> 'https://foo.bar/#/bar/hello'

// @Mark1626

Created PR first, forgive me if messed up with the contribution flow.
I'm kind of newbie in this opensource environment.
I found that fragmentIdentifier were encoded with encodeURIComponent method.
It should be encoded with encodeURI method.


LICENSE for repository

Thanks for open sourcing this code. I would be interested in trying it out at DeepMind, but it makes it difficult unless the license is specified in the repository. If that is something you are able to do, it is most straightforward if you put in a LICENSE file. I can try if it has for instance Apache 2.0 or MIT though of course I can't advise you what license works best in your case. At DeepMind we use Apache 2.0. Happy to discuss further. Thanks very much,
Alex

Added LICENSE to the repo

Thank you.


[BUG] Docker image build fails on M1 macOS running in Docker via colima

OS and Environment
M1, macOS 14.2.1 (23C71), Ubuntu 23.10 aarch64 ran via macOS Virtualization.Framework
GIT commit hash
2ffcd007
Minimum working example / Steps to reproduce
Setup:
brew install colima docker docker-buildx
colima start --profile rosetta --cpu 4 --disk 40 --memory 8 --arch aarch64 --vm-type=vz --vz-rosetta --mount-type virtiofs
docker context use colima-rosetta

~
$ docker version
Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.21.0
 Git commit:        ed223bc820
 Built:             Thu Aug 31 17:24:32 2023
 OS/Arch:           darwin/arm64
 Context:           colima-rosetta

Server: Docker Engine - Community
 Engine:
  Version:          24.0.9
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.13
  Git commit:       fca702d
  Built:            Thu Feb  1 00:48:55 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Reproduction:
docker build -t iroha_builder --target builder --platform linux/amd64 --progress plain .

or
docker compose -f docker-compose.dev.local.yml up

Actual result
302.0   error occurred: Command ZERO_AR_DATE="1" "/x86_64-linux-musl-native/bin/x86_64-linux-musl-ar" "cq" "/iroha/target/x86_64-unknown-linux-musl/deploy/build/secp256k1-sys-339b725278eb88a1/out/libsecp256k1.a" "/iroha/target/x86_64-unknown-linux-musl/deploy/build/secp256k1-sys-339b725278eb88a1/out/depend/secp256k1/contrib/lax_der_parsing.o" "/iroha/target/x86_64-unknown-linux-musl/deploy/build/secp256k1-sys-339b725278eb88a1/out/depend/secp256k1/src/secp256k1.o" with args "/x86_64-linux-musl-native/bin/x86_64-linux-musl-ar" did not execute successfully (status code exit status: 127).

...

failed to solve: process "/bin/sh -c cargo build --target x86_64-unknown-linux-musl --features vendored --profile deploy" did not complete successfully: exit code: 101

Full logs are quite large even to be displayed under spoiler, so I've uploaded them here: https://pastes.io/vodrxxuvnm
Expected result
Expected docker image to be built without issues (see more in Notes)
Logs in JSON format
Not applicable — application didn't start
Who can help to reproduce?
No response
Notes
After some digging, I've discovered that while /x86_64-linux-musl-native/bin/x86_64-linux-musl-ar was absent, there was /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ar.
So I've made the following addition to Dockerfile and it worked!
# Fix build on macOS via colima
RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc /x86_64-linux-musl-native/bin/x86_64-linux-musl
RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-11.2.1 /x86_64-linux-musl-native/bin/x86_64-linux-musl-11.2.1
RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ar /x86_64-linux-musl-native/bin/x86_64-linux-musl-ar
RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-nm /x86_64-linux-musl-native/bin/x86_64-linux-musl-nm
RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ranlib /x86_64-linux-musl-native/bin/x86_64-linux-musl-ranlib

Successful build log
$ docker compose -f docker-compose.dev.local.yml up
[+] Building 1585.2s (45/60)                                                                                docker:colima-rosetta
=> [iroha2 internal] load .dockerignore                                                                                0.0s
=> => transferring context: 62B                                                                                0.0s
=> [iroha2 internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 3.09kB                                                                                0.0s
=> [iroha0 internal] load .dockerignore                                                                                0.0s
=> => transferring context: 62B                                                                                0.0s
=> [iroha0 internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 3.09kB                                                                                0.0s
=> [iroha3 internal] load .dockerignore                                                                                0.0s
=> => transferring context: 62B                                                                                0.0s
=> [iroha3 internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 3.09kB                                                                                0.0s
=> [iroha1 internal] load metadata for docker.io/library/alpine:3.18                                                                                0.7s
=> [iroha1 internal] load metadata for docker.io/library/archlinux:base-devel                                                                               0.8s
=> [iroha1 internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 3.09kB                                                                                0.0s
=> [iroha1 internal] load .dockerignore                                                                                0.0s
=> => transferring context: 62B                                                                                0.0s
=> [iroha1 stage-1 1/5] FROM docker.io/library/alpine:3.18@sha256:11e21d7b981a59554b3f822c49f6e9f57b6068bb74f49c4cd5cc4c663c7e5160                          0.0s
=> [iroha2 builder  1/22] FROM docker.io/library/archlinux:base-devel@sha256:10d05806f5ab14b5630ca80951e291bfc840c5989ce011594f387b08263a6fbb               0.0s
=> [iroha1 internal] load build context                                                                                0.1s
=> => transferring context: 117.92kB                                                                                0.1s
=> CACHED [iroha2 stage-1 2/5] RUN  set -ex &&      apk add --no-cache curl ca-certificates &&      addgroup -g 1001 iroha &&      adduser      --disabled  0.0s
=> [iroha3 internal] load build context                                                                                0.0s
=> => transferring context: 117.92kB                                                                                0.0s
=> [iroha2 internal] load build context                                                                                0.1s
=> => transferring context: 117.92kB                                                                                0.1s
=> [iroha0 internal] load build context                                                                                0.1s
=> => transferring context: 117.92kB                                                                                0.1s
=> CACHED [iroha0 builder  2/22] RUN pacman -Syy                                                                                0.0s
=> CACHED [iroha0 builder  3/22] RUN pacman -S archlinux-keyring --noconfirm --disable-download-timeout                                                     0.0s
=> CACHED [iroha0 builder  4/22] RUN rm -rf /etc/pacman.d/gnupg/* && pacman-key --init && pacman-key --populate archlinux                                   0.0s
=> CACHED [iroha0 builder  5/22] RUN pacman -Syu --noconfirm --disable-download-timeout                                                                     0.0s
=> CACHED [iroha0 builder  6/22] RUN pacman -S rustup mold musl rust-musl wget --noconfirm --disable-download-timeout                                       0.0s
=> CACHED [iroha0 builder  7/22] RUN rustup toolchain install nightly-2023-06-25                                                                            0.0s
=> CACHED [iroha0 builder  8/22] RUN rustup default nightly-2023-06-25                                                                                0.0s
=> CACHED [iroha0 builder  9/22] RUN rustup target add x86_64-unknown-linux-musl wasm32-unknown-unknown                                                     0.0s
=> CACHED [iroha0 builder 10/22] RUN rustup component add rust-src                                                                                0.0s
=> CACHED [iroha0 builder 11/22] RUN wget -c http://musl.cc/x86_64-linux-musl-native.tgz -O - | tar -xz                                                     0.0s
=> CACHED [iroha0 builder 12/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-g++ /x86_64-linux-musl-native/bin/musl-g++                       0.0s
=> CACHED [iroha0 builder 13/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ar /x86_64-linux-musl-native/bin/musl-ar                     0.0s
=> CACHED [iroha0 builder 14/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ranlib /x86_64-linux-musl-native/bin/musl-ranlib             0.0s
=> CACHED [iroha0 builder 15/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc /x86_64-linux-musl-native/bin/x86_64-linux-musl              0.0s
=> CACHED [iroha0 builder 16/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-11.2.1 /x86_64-linux-musl-native/bin/x86_64-linux-musl-11.2  0.0s
=> CACHED [iroha0 builder 17/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ar /x86_64-linux-musl-native/bin/x86_64-linux-musl-ar        0.0s
=> CACHED [iroha0 builder 18/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-nm /x86_64-linux-musl-native/bin/x86_64-linux-musl-nm        0.0s
=> CACHED [iroha0 builder 19/22] RUN ln -s /x86_64-linux-musl-native/bin/x86_64-linux-musl-gcc-ranlib /x86_64-linux-musl-native/bin/x86_64-linux-musl-ranl  0.0s
=> CACHED [iroha0 builder 20/22] WORKDIR /iroha                                                                                0.0s
=> [iroha3 builder 21/22] COPY . .                                                                                0.3s
=> [iroha3 builder 22/22] RUN cargo build --target x86_64-unknown-linux-musl --features vendored --profile deploy                                        1583.5s
=> [iroha3 stage-1 3/5] COPY --from=builder /iroha/target/x86_64-unknown-linux-musl/deploy/iroha /usr/local/bin/                                            0.1s
=> [iroha3 stage-1 4/5] COPY --from=builder /iroha/target/x86_64-unknown-linux-musl/deploy/iroha_client_cli /usr/local/bin/                                 0.0s
=> [iroha3 stage-1 5/5] COPY --from=builder /iroha/target/x86_64-unknown-linux-musl/deploy/kagami /usr/local/bin/                                           0.0s
=> [iroha1] exporting to image                                                                                0.1s
=> => exporting layers                                                                                0.1s
=> => writing image sha256:7f914bf4ab00e69cb64b7efbc9b1f9ddf9e33e512b55d61a8b5626484803dff0                                                                 0.0s
=> => naming to docker.io/library/iroha-iroha1                                                                                0.0s
=> [iroha3] exporting to image                                                                                0.1s
=> => exporting layers                                                                                0.1s
=> => writing image sha256:e7421f470289cc7b9a8a32fbc8d823f6705426c9ecefb3dffaa2050b9c58efc3                                                                 0.0s
=> => naming to docker.io/library/iroha-iroha3                                                                                0.0s
=> [iroha2] exporting to image                                                                                0.1s
=> => exporting layers                                                                                0.1s
=> => writing image sha256:0fde52b8830206a56d4aee4faa642109a6645a2fa40bb6034279a4edda2263fe                                                                 0.0s
=> => naming to docker.io/library/iroha-iroha2                                                                                0.0s
=> [iroha0] exporting to image                                                                                0.1s
=> => exporting layers                                                                                0.1s
=> => writing image sha256:d3aa92632ca13cd747e5ba25068b88a6f50b55a1d5215624a9b35396a4118401                                                                 0.0s
=> => naming to docker.io/library/iroha-iroha0                                                                                0.0s
[+] Running 5/1
✔ Network iroha_default     Created                                                                                0.0s
✔ Container iroha-iroha2-1  Created                                                                                0.0s
✔ Container iroha-iroha3-1  Created                                                                                0.0s
✔ Container iroha-iroha1-1  Created                                                                                0.0s
✔ Container iroha-iroha0-1  Created                                                                                0.0s
Attaching to iroha-iroha0-1, iroha-iroha1-1, iroha-iroha2-1, iroha-iroha3-1

I'll submit PR with these additions shortly, though I wasn't able to understand why this problem appears in the first place, hence this issue.

This seems related: #3451
And there seems to be existing issue, already fixed on iroha2-dev: #4192  (fix: #4193)
I'm not sure whether I should close this issue as a duplicate since it's still present on iroha2-stable at the moment.


fix: enable derp metrics

Description
Enables serving metrics on the derper. Contingent on enabling the metrics feature and setting the metrics_addr in the config file.
Notes & open questions

Change checklist

[x] Self-review.
[x] Documentation updates if relevant.
[ ] Tests if relevant.

ahhh, thank you for closing the loop on this!


Correctly use the w_com_track when update_tracking_objective==true

I believe that this was a mistake, if not then I do not understand where this weight is used. In the current state of the code, the parameter w_com_track of the yaml file doesn't seems to be used anywhere. Only w_com was used.

Looks good. Thanks for the fix. Sorry for tacking so long to accept this.


(SUP-1574) transfer from npwalker to puppetlabs

To be Release 1.0.0

This repo should be named puppetlabs/puppetlabs-pe_databases to comply with the naming standard of the Puppet modules.

Gah

@asselvakumar The repo URL needs to be updated in several places if you want to push a commit to fix it. It should be https://github.com/puppetlabs/puppetlabs-pe_databases

Done!

Merging but holding off on cutting a release until we fix the tests.


Angular JS issue

Hi,
I want to report an issue. It might not be an issue but an unexpected behavior.
When I am inside any controller, and i say $location.path('xxx'). The sequence of statements below get executed. Should we explicitly return from there. Is it required?
Ideally I would think i am jumping to other controller file so the statements below should not get executed.
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
I am using angular.min.js. Version details are as follows:
/*
AngularJS v1.4.9
(c) 2010-2015 Google, Inc. http://angularjs.org
License: MIT
*/
I also tested on latest snapshot
/*
AngularJS v1.5.6-build.4794+sha.f1f892d
(c) 2010-2016 Google, Inc. http://angularjs.org
License: MIT
*/
I would suggest on call of $location.path('xxx') the below statements should not get executed. An implicit return statement can be added.

What statements do you mean? I don't see anything.

If I understand correctly you mean that given the following code:
.controller('SomeController', function SomeController($location) {
  $location.path('...');
  // Do this
  // Do that
})

The lines below $location.path(...) should never execute. Ignoring the fact that we can't actually do that in JavaScript, it is not the intended behavior. $location.path() does not necessarily mean that the current controller or service will be detroyed. There are many usecases where this is indeed not the case.
If you want to exit the currently executing function, you should explicitly call return.
Closing, as this is working as expected.


feat: add auction lots history to Artist Insights Tab

The type of this PR is: Feature

This PR resolves CX-737
Description

Add list of auction lots history to artist insights

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

Thanks for taking this over @MounirDhahri!
I have added a couple last things, and I think we are all good, if you agree. (both working on this and both kinda reviewing 😛, nice!)

Removed the withBlackUnderlayColor,
to keep it consistent with elsewhere in the app where we override underlayColor. Kinda useful to have a prop for that, but I'd prefer if we add it everywhere else that black5 is used in a Touchable. We could do this as a separate thing if you really want that prop. Also it might be interesting, if we add it, to name it something "dark mode friendly", like useInverseUnderlayColor or something 🤔. Anyway, maybe something for a KS or a pairing session.
Replaced all • with bullet from palette.
I saw a test was failing and you reverted it. I reverted it back and it seems all good now. I think I missed some spaces around 🙈.
Completed the logic for the price text,
and added some tests for it. Based on https://artsyproduct.atlassian.net/browse/CX-737?focusedCommentId=33276.
Added myself in the changelog 😅

I'm good to merge this on green. If you are too, let me know and we merge!

Solving the conflicts now.

Thanks for the changes 🎉 and sorry for forgetting to include you in the changelog

All done 🤜🤛! #squashongreen


Expose terraform CLI logs as part of the Workspace Status

What problem are you facing?
Currently, it is hard to debug the terraform issues as the provider-terraform-controller exposes only brief error as the k8s event.
In cases when we need a full terraform CLI output to get more context of the error we need to kubectl exec -it into pod, copy the /tf/${workspace-uuid} directory and reproduce the error in isolation.
It takes time and is generally brittle and inconvenient.
How could Crossplane help solve your problem?
Possible solution:

Extend Workspace CRD Status with additional Log field
Expose logs there, maybe in base64 form for brevity( IIUC https://github.com/rancher/terraform-controller does a similar thing)

@bobh66 yes, Events would be ideal, the question is how and what to capture into the Event. Currently it is concise error output, putting the whole log is too much, maybe we can find a way to capture the enough log context around the error - that would be ideal

Looks like we should attack https://github.com/crossplane-contrib/provider-terraform/issues/24 first and if we catch enough error context there, the full logs will be redundant.


Document python venv for docs building

IMHO it's better to offer readymade commands for at least some way of creating the venv. Otherwise the docs building can be painful to setup for developers that are not so familiar with Python.

Pull Request Test Coverage Report for Build 6390

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 45.137%

Totals

Change from base Build 6382:
0.0%

Covered Lines:
17667

Relevant Lines:
39141

💛  - Coveralls

Could this be reviewed, please? I'm also already referring to this in https://github.com/azkaban/azkaban/pull/2929 regarding the python env.


Mysql Database for flask-admin

Hi,
I have requirement where i need to use mysql as the database where we have other integration data.
Pls suggest what best can be done configure mySQL as the database.
Thanks
vijay

You should read up on SQLAlchemy or any of the other ORMs that flask-admin supports out of the box. An ORM is a layer that simplifies calls to MySQL or any other supported databases.
Good luck!


Add HTTPS support to react-server-cli

This adds the ability to start up react-server-cli with the most common configurations for HTTPS. The API of startServer can take in any of the https options that can be sent to https.createServer, although only key, cert, ca, pfx, and passphrase are supported at the command line.
I also added (maybe foolishly?) the ability to start up with a self-signed certificate for quick and dirty testing. This is especially useful when combined with Chrome's ability to turn off cert checking for localhost: chrome://flags/#allow-insecure-localhost .
I've tested this in both self-signed and key/cert file mode (by mapping <IP_ADDRESS> to a domain name I own and have keys for in /etc/hosts), both in hot and non-hot modes.

This is starting to get into the realm of stuff that seems nicer to have in a config file.
Come to think of it most of the options to the CLI seem that way.
This seems good to me as far as https support goes.

Added config file for react-server-cli in #87. If we merge that one, I'll update this PR to include https in the config file options.

This branch got out of sync with master because of the programmatic API changes. Fixed in fee2e26.

@aickin - Looks like this has some conflicts with master again.

Thanks. Should be fixed now!

Thanks!


P42-217: Connect the Codemagic CI to build the main project automatically

Ah, didn't notice before - JIRA also has this criteria:

Update Developing and updating the template itself section in README to include a step to verify that builds succeed before creating a merge request
Or maybe rephrase it a little?  Before the PR only Lab employee will see it


"responsiveDropdown" parameter has no effect

Hi there,
I found out that your written parameter "responsiveDropdown" doesn't work at all. It doesn't work because it doesn't even exists in the javascript files or somewhere. I exactly need your plugin with the behaviour you have written in your Readme and it would be great if you could add that feature.
Thanks, Alex

Hi @alexherbs , it's an old issue but I just added this option if you still need it!

Given that I've seen no further activity on this issue, and that @escanxr 's pull request resolved the issue, I'm going to close this out.


Create brand_impersonation_stripe_notification.yml

Description
Campaigns have been observed sending templated Stripe notification emails with the call-to-action button link replaced, clicking through to a malicious credential phishing page.
Associated samples

https://platform.sublimesecurity.com/messages/efe0061f0fa1ae7bf6e7db7e3b1919d5b72a7fc9f82d8c068923763f53dec77c
https://platform.sublimesecurity.com/messages/bedd0308cb99cab276f8cd7066331e9004a075ccbc8c7be071a6d64184431cf2

Associated hunts

https://platform.sublimesecurity.com/hunts/cde1c9aa-398d-4402-979e-a9f14b2a88a4

/update-test-rules

Hasn't fired at all as far as I can tell, seems safe.


Compiled query as non-enumerable property after execute()

I think it would be nice for debuggability if we had a option to enable a non-enumerable property(with a Symbol as key) on Kysely results with the compiled query data.

I don't think this is a good idea. You can always get the compiled query by colling compile.
const query = db.selectFrom('person').selectAll()
const result = await query.execute()
const compiled = query.compile()