PR on Gitea triggers the CI twice

Component
server
Describe the bug
Two CI runs are triggered at the same time on PR creation, see the two webhook events below.
Request URL: https://ci.rknet.org/api/hook?access_token=***
Request method: POST
Content-Type: application/json
X-GitHub-Delivery: 342485a1-***
X-GitHub-Event: pull_request
X-GitHub-Event-Type: pull_request
X-Gitea-Delivery: 342485a1-***
X-Gitea-Event: pull_request
X-Gitea-Event-Type: pull_request
X-Gitea-Signature: ***
X-Gogs-Delivery: 342485a1-***
X-Gogs-Event: pull_request
X-Gogs-Event-Type: pull_request
X-Gogs-Signature: ***
X-Hub-Signature: sha1=***
X-Hub-Signature-256: sha256=***

## Response 200
{"id":193,"number":33,"author":"renovator","parent":0,"event":"pull_request","status":"pending","errors":null,"enqueued_at":1701175158,"created_at":1701175158,"updated_at":1701175158,"started_at":0,"finished_at":0,"deploy_to":"","commit":"c17d6e7f15201d0a253f83890b1d088e9b34c43d","branch":"main","ref":"refs/pull/145/head","refspec":"renovate/docker-digests:main","clone_url":"","title":"chore(docker): update docker.io/clux/muslrust:1.74.0-stable docker digest to 37ba39a","message":"chore(docker): update docker.io/clux/muslrust:1.74.0-stable docker digest to 37ba39a","timestamp":0,"sender":"renovator","author_avatar":"https://gitea.rknet.org/avatars/188565bedb61ddcc66b2dceedd8aa136","author_email":"","forge_url":"https://gitea.rknet.org/container/vaultwarden/pulls/145","reviewed_by":"","reviewed_at":0,"workflows":[{"id":671,"pipeline_id":193,"pid":1,"name":"build-container","state":"pending","children":[{"id":2322,"uuid":"d77cc32e-3a56-41d2-92f5-1772c862ab68","pipeline_id":193,"pid":4,"ppid":1,"name":"clone","state":"pending","exit_code":0,"type":"clone"},{"id":2323,"uuid":"42927df2-9032-4aad-84b0-f1b09b1136cc","pipeline_id":193,"pid":5,"ppid":1,"name":"security-build","state":"pending","exit_code":0,"type":"plugin"},{"id":2324,"uuid":"f3d81d7a-b1dd-4b12-a045-e21b361a9f74","pipeline_id":193,"pid":6,"ppid":1,"name":"security-scan","state":"pending","exit_code":0,"type":"commands"}]},{"id":672,"pipeline_id":193,"pid":2,"name":"build-package","state":"pending","children":[{"id":2325,"uuid":"8eee1203-e26e-45b1-a612-f8840dd19f93","pipeline_id":193,"pid":7,"ppid":2,"name":"clone","state":"pending","exit_code":0,"type":"clone"},{"id":2326,"uuid":"8216ee3f-72ac-43cc-b168-0fb9147f47ff","pipeline_id":193,"pid":8,"ppid":2,"name":"changelog","state":"pending","exit_code":0,"type":"commands"}]},{"id":673,"pipeline_id":193,"pid":3,"name":"docs","state":"pending","children":[{"id":2327,"uuid":"74a6fcf2-853e-4565-82ae-7956b92ee653","pipeline_id":193,"pid":9,"ppid":3,"name":"clone","state":"pending","exit_code":0,"type":"clone"},{"id":2328,"uuid":"81282a99-5e37-47ec-a5da-8c46b8fa0643","pipeline_id":193,"pid":10,"ppid":3,"name":"markdownlint","state":"pending","exit_code":0,"type":"commands"},{"id":2329,"uuid":"b0e42cd5-2c17-4f79-9678-81889699cca7","pipeline_id":193,"pid":11,"ppid":3,"name":"spellcheck","state":"pending","exit_code":0,"type":"commands"},{"id":2330,"uuid":"a8a273bc-de6b-433c-b335-795bb29a8bec","pipeline_id":193,"pid":12,"ppid":3,"name":"link-validation","state":"pending","exit_code":0,"type":"commands"}]}]}

Request URL: https://ci.rknet.org/api/hook?access_token=****
Request method: POST
Content-Type: application/json
X-GitHub-Delivery: 563de175-***
X-GitHub-Event: pull_request
X-GitHub-Event-Type: pull_request_sync
X-Gitea-Delivery: 563de175-***
X-Gitea-Event: pull_request
X-Gitea-Event-Type: pull_request_sync
X-Gitea-Signature: ***
X-Gogs-Delivery: 563de175-***
X-Gogs-Event: pull_request
X-Gogs-Event-Type: pull_request_sync
X-Gogs-Signature: ***
X-Hub-Signature: sha1=***
X-Hub-Signature-256: sha256=***

## Response 200
{"id":194,"number":34,"author":"renovator","parent":0,"event":"pull_request","status":"pending","errors":null,"enqueued_at":1701175159,"created_at":1701175159,"updated_at":1701175159,"started_at":0,"finished_at":0,"deploy_to":"","commit":"c17d6e7f15201d0a253f83890b1d088e9b34c43d","branch":"main","ref":"refs/pull/145/head","refspec":"renovate/docker-digests:main","clone_url":"","title":"chore(docker): update docker.io/clux/muslrust:1.74.0-stable docker digest to 37ba39a","message":"chore(docker): update docker.io/clux/muslrust:1.74.0-stable docker digest to 37ba39a","timestamp":0,"sender":"renovator","author_avatar":"https://gitea.rknet.org/avatars/188565bedb61ddcc66b2dceedd8aa136","author_email":"","forge_url":"https://gitea.rknet.org/container/vaultwarden/pulls/145","reviewed_by":"","reviewed_at":0,"workflows":[{"id":674,"pipeline_id":194,"pid":1,"name":"build-container","state":"pending","children":[{"id":2331,"uuid":"2e55b6e7-e29f-450e-886b-e57f7f98bcbe","pipeline_id":194,"pid":4,"ppid":1,"name":"clone","state":"pending","exit_code":0,"type":"clone"},{"id":2332,"uuid":"419e9fcd-9fdd-4c06-87a7- 15280310afea","pipeline_id":194,"pid":5,"ppid":1,"name":"security-build","state":"pending","exit_code":0,"type":"plugin"},{"id":2333,"uuid":"8a6eb1c5-9e26-4cfa-963d-d487ab532bb0","pipeline_id":194,"pid":6,"ppid":1,"name":"security-scan","state":"pending","exit_code":0,"type":"commands"}]},{"id":675,"pipeline_id":194,"pid":2,"name":"build-package","state":"pending","children":[{"id":2334,"uuid":"2a48dbb4-75be-405f-a4e2-97a85891f66b","pipeline_id":194,"pid":7,"ppid":2,"name":"clone","state":"pending","exit_code":0,"type":"clone"},{"id":2335,"uuid":"54e90fd4-3b5e-4f22-b344-12b3f4caa4b5","pipeline_id":194,"pid":8,"ppid":2,"name":"changelog","state":"pending","exit_code":0,"type":"commands"}]},{"id":676,"pipeline_id":194,"pid":3,"name":"docs","state":"pending","children":[{"id":2336,"uuid":"990901af-c9f9-4347-add5-6d7358f37436","pipeline_id":194,"pid":9,"ppid":3,"name":"clone","state":"pending","exit_code":0,"type":"clone"},{"id":2337,"uuid":"b72998a4-1fc5-492a-a0d7-c8dd7e181e7c","pipeline_id":194,"pid":10,"ppid":3,"name":"markdownlint","state":"pending","exit_code":0,"type":"commands"},{"id":2338,"uuid":"06f2c11a-e255-41f1-a30e-d269a8142d5f","pipeline_id":194,"pid":11,"ppid":3,"name":"spellcheck","state":"pending","exit_code":0,"type":"commands"},{"id":2339,"uuid":"a85323cf-b1c1-4a99-bdaf-224ad6e4e22e","pipeline_id":194,"pid":12,"ppid":3,"name":"link-validation","state":"pending","exit_code":0,"type":"commands"}]}],"changed_files":["Containerfile"]}

System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"next-111a0b4ea5"}

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

Nope. Both events were triggered in the exact same second and for the same commit.

Wondering a bit why this occurs now and if something in WP or Gitea has changed.

We’ve recently started seeing the same issue and our forge is GitHub. Our use case is slightly different though. We are syncing branches which are chained/stacked together so we see 1 run for every branch in the chain

Might be 2 webhooks being registered?

No only one webhook in gitea. A duplicate webhook would also not explain a pr and pr sync event.

I can't reproduce with gitea 1.21.1. PR is only triggered once in woodpecker. Also, there's just one webhooks in gitea's list. This looks like an issue with gitea to me.

That might be, Ill try to debug this further.

not

true

What I noticed that Gitea now sends not only push but also create event that is for new branch creation (at least started jobs was created that was before fix that deletes them), will have to test if pipeline is created for create type webhook if there is no specific conditions set in pipeline

Not sure about the comment from @lafriks

Nope, the issue still exists -.-

Still happens on current next release:

I have just created a fresh repo and executed renovate to get the onboarding PR. I will try to create a reproducible procedure for a local dev setup tomorrow.

Looks like this is not only exclusive to GH. The PR for Release 2.2.0 seems to be triggered twice for the same commit.

Two commits with the same hash?

We were also facing this issue while using Graphite to submit our PR stacks. It seems the way Graphite works is that it would update tracking branches/PR metadata whenever a change was submitted. This would fire off a GH pull_request_synchronize event as well as a push, resulting in a double trigger of our CI. We noticed the commit hashes were the same (also shown in @xoxys screenshot a few comments above. Ultimately, we made some modifications to our workflow config:
Instead of using event: [pull_request], we replace this with evaluate: 'CI_PIPELINE_EVENT == "pull_request" && CI_COMMIT_SHA != CI_PREV_COMMIT_SHA'. Everything seems fine and dandy for now.

I also experience this behavior and it annoy me a lot.
In Gitea (original description) can be easily corrected by editing webhook:  Gitea by default enable all the events for hook. So, in edit webhook dialog one can switch "Trigger on" to "Custom Events..." and choose one of "Push" or "Pull request synchronized". Looks like first one fires on actual git push and second one see changes in PR (i.e. - new commit added to it) but as Gitea works very fast it feels like two runs on same time.
P.S. I just flying around, sorry if I miss something in long discussion thread.

Seems to be the case our release PRs as well:

https://ci.woodpecker-ci.org/repos/3780/pipeline/16952
https://ci.woodpecker-ci.org/repos/3780/pipeline/16953

@xoxys Does this still apply?

Have only seen it in rare cases, so need to check if I can find an affected repo.

Maybe #3560 or #4273?
But I you haven't seen it in months, it likely got fixed in the background

Still see this issue:

{"source":"https://github.com/woodpecker-ci/woodpecker","version":"next-d0e4a176f1"}


Bold text on ReadTheDocs should not be large

Formatting text as bold on ReadTheDocs documentation makes the font size larger, which looks odd. Instead, it should just make it bold.

AFAICT it's just making it bold.  There's nothing in the CSS which would make it taller, and toggling the CSS which does exist for it just makes it a heavier weight, not any taller.

Huh, so the letters being a pixel taller is just a side effect of being bold on this font?

The lines need to get thicker in some direction. :)

As noted above, I don't think there's an issue here to address.


[Cosmos] Fix Cosmos pylint errors

Fix client-accepts-api-version-keyword pylint errors.
The checker lives in the feature/pylint-plugins branch and is due to be merged 4/15.

PR: https://github.com/Azure/azure-sdk-for-python/pull/24008


refactor(typescript): move browserInfoHelper tests to typescript

Migrate browserInfoHelper Tests to TypeScript
Description of what's changing
Migrate browserInfoHelper.test.js as well as the mocks to TypeScript.
What else might be impacted?
Nothing should be impacted by this migration.
Which issue does this PR relate to?
#12
Checklist
[ ] Tests are written and maintain or improve code coverage
[ ] I've tested this in my application using yarn link (if applicable)
[ ] You consent to and are confident this change can be released with no regression

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Form suggestion: Store button click handler in ButtonComponent

SimpleForm:
Currently, there's a SimpleForm.Builder#validResultHandler that handles all buttons.
This can be very unclean when creating the buttons dynamically via a config (with predefined buttons).
Assume this is the current state:
# config.yml
buttons:
  first:
    text: "Hello"
    url: "https://..."
  second: "World"
    text: "World"
    utl: "https://..."

ConfigurationSection buttons = config.getConfigurationSection("buttons");
if (buttons == null) return;

Map<String, Object> map = section.getValues(false);
SimpleForm.Builder builder = SimpleForm.builder();

Now with the requirements settled, let's look at how we currently have to manage button actions:
AtomicReference<String> firstText = new AtomicReference<>("");
AtomicReference<String> secondText = new AtomicReference<>("");

map.forEach((key, value) -> {
    MemorySection section = (MemorySection) value;
    String text = section.getString("text");
    String url = section.getString("url");

    switch (key) {
        case "first" -> firstText.set(text);
        case "second" -> secondText.set(text);
    }

    form = form.button(text, FormImage.Type.URL, url);
});

form = form.validResultHandler(response -> {
    String text = response.clickedButton().text();

    if (text.equals(firstText.get())) {
        /* do something */
    }

    if (text.equals(secondText.get())) {
        /* do something else */
    }
});

As you can see, we need to use some global variables to manage the actions properly.
Now let's check out how it could be handled:
map.forEach((key, value) -> {
    MemorySection section = (MemorySection) value;
    String text = section.getString("text");
    String url = section.getString("url");

    // no need for global variables
    form = form.button(text, FormImage.Type.URL, url, response -> {
         switch (key) {
            case "first" -> /* do something */;
            case "second" -> /* do something else */;
        }
    });
})

As you can see, this method completely removes the need for globally accessible variables and even shortens the code

My suggestion would not break any previous versions, by extending the SimpleForm.java interface with the following declarations:
@This Builder button(@NonNull String text, FormImage.@NonNull Type type, @NonNull String data, Consumer<SimpleFormResponse> response);
@This Builder button(@NonNull String text, @Nullable FormImage image, Consumer<SimpleFormResponse> response);
@This Builder button(@NonNull String text, Consumer<SimpleFormResponse> response);

Hey, thanks for your suggestion!
I like that you also included an example.
I think that this is a good suggestion, because you can more easily use the context of the given element.
If others agree, this will be added in 2.0 which will be used in Geyser and Floodgate after the Geyser-Floodgate merge.


The docker image rm docs are not documenting that the command can be used to remove redundant tags

File: engine/reference/commandline/image_rm.md
In search for a way to remove/delete a docker tag I learned that docker rmi a.k.a docker image rm can be used for that.
Whereas the docker rmi documentation tries to make this clear ...

If an image has one or more tags referencing it, you must remove all of them before the image is removed

... the docker image rm documentation is missing this piece of information.
Note: the actual stack overflow answer that helped me was a different one but I am not able to find it now.

Well, I realized that the fix actually belongs to a different projects, because the docs are partially generated from the source files.
Hence I prepared an update attempting to improve the docs and created a pull request in the docker/cli repository: https://github.com/docker/cli/pull/1444.


ARROW-4927: [Rust] Update top level README to describe current functionality

Updates the top level README with more details about the crates, their current functionality, and what they enable.

Actually, I had to create both versions, as they won't really work for sub-projects now.

@jorgecarleitao Now that you are a committer do you want to merge this one to get to know the process? I usually make sure I have the latest from the master branch and then run ./dev/merge_pr.py.

@andygrove , sure! I am stuck in the last step of https://gitbox.apache.org/setup/

User not a member of the ASF GitHub organisation. Please make sure you are a part of the ASF Organisation on GitHub and have 2FA enabled. Visit id.apache.org and set your GitHub ID to be invited to the org.

@andygrove , I was now able to merge this. First commit 🎉


Add a function that allows someone to get an image/video URL, raises error if not retrievable.

I'd like something like submission.viewable_URL which returns a url if it's an image and raises an error if it doesn't exist. I see a way of doing this with
import aiohttp

Responses = f'https://www.reddit.com/{POST-ID-GOES-HERE}/.json'
    async with aiohttp.ClientSession() as session:
        async with session.get(Responses) as r:
            if r.status == 200:
                js = await r.json()
                try:
                    return js[0]['data']['children'][0]['data']['url_overridden_by_dest']
                except KeyError:
                    #raise an error or whatever

You should be able to do:
submission = await reddit.submission('is')
viewable_url = submission.url_overridden_by_dest

Thanks!


Question regarding Arc for Session

I wonder why wouldn't Session wrap around Arc, but part of its is Arc, such as data.
In some cases I need to pass session around and mut it.
Maybe there is a way that I haven't thought though, thanks.

I am closing this as I found a solution in https://github.com/ajpauwels/warp-sessions/issues/3


Shortcut to toggle to the sidebar

In Sublime i can use Ctrl+0 to shift focus from and to sidebar, what about doing same ?

Since it's a normal view you can use normal sublime commands to toggle between groups.
For example I've this [super+k, super+k] that runs focus_neighboring_group command which does the job most of the time.
If you've got a more complex layout maybe using a more specific command like focus_group with args {"group": 0} would be more helpful.


Add function to take the absolute value of analogsignals

Dear all,
I have implemented an addtional function for the analogsignal class that should allow taking the absolute value of an analogsignal object without losing the annotations.
I have gone for a PR directly because I am indeed using this function already, it is working as expected. I thought it would be useful to have it available as a method.
Let me know your thoughts on it, or if something needs to be corrected.
Best,
Aitor

Hi @morales-gregorio. Thanks for adding new functionality. Could you also provide a test with it?

Hello @morales-gregorio! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file neo/test/coretest/test_analogsignal.py:

Line 1256:35: E226 missing whitespace around arithmetic operator
Line 1261:49: E226 missing whitespace around arithmetic operator

I have now added the corresponding test, please have a look and let me know if anything else is needed.

This looks good to me. As I believe this is your first contribution, please could you add your name (and affiliation, if appropriate) to doc/source/authors.rst?


Update scala3-library to 3.1.3-RC4

Updates org.scala-lang:scala3-library from 3.1.1-RC1 to 3.1.3-RC4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala3-library" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scala-lang", artifactId = "scala3-library" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, commit-count:1

Superseded by #58.


Add known issue with go > 1.8.7

Document Go issue where FIFO does not receive EOF on OSX.

Thank you for the commit @APShirley !


expose div ref and update types for Lottie.ref

Closes #110
I needed to update the lottie-web version to get the correct types, but I don't use yarn so I installed latest and it looks like it updated the lock file quite significantly. Let me know if this is not good and I'll leave the changes to yarn.lock off.

Thanks for the PR. Yes I tihnk you can remove all the yarn-related changed from the pr, as well as the lottie-web version change is package.json because it doesn't do anything. I might have misunderstood but I thought the change was a TS-only fix. Why do we need to expose the animElementRef? Nobody requested the need for the div element to be exposed as a ref (until now). I'm not sure if we'll want that to be part of the API. What's the use case for it?

Thanks, ditched the yarn changes and element ref changes. I left the function handling in with the existing ref, but can take that out too if preferred.

seems that something broke in the tests

I'll take a look this weekend 👍

Ok, sorted. Tests run successfully after failing locally so should be good for another run.


Review: SyntheticSlateBanditDataset (w/ new feature: calc_ground_truth_policy_value)

new feature
Implemented calc_ground_truth_policy_value() function in SyntheticSlateBanditDataset.
Calculation procedure is given as follows.

receive evaluation_policy_logit (n_rounds, n_unique_action) and context (n_rounds, dim_context).
enumerate combinatorial slate actions.
for each slate action list, calculate (combinatorial) pscore and expected reward.
sum up expected reward weighted by pscore.

Note that we use expected reward instead of sampled reward to replicate click models.
https://github.com/aiueola/zr-obp/blob/bf6f6c8ca4ec76c84ef660263870369eb568f831/obp/dataset/synthetic_slate.py#L655
refactor

Renamed from calc_item_position_pscore() to _calc_pscore_given_action_list(), as it does not directly calculate marginal pscore. It rather calculates combinatorial pscore given action list inside.
https://github.com/aiueola/zr-obp/blob/bf6f6c8ca4ec76c84ef660263870369eb568f831/obp/dataset/synthetic_slate.py#L319
Renamed from behavior_policy_logit_i_ arg in _calc_pscore_given_action_list() to policy_logit_i_ as we use this function when calling calc_ground_truth_policy_value() for evaluation policy.
https://github.com/aiueola/zr-obp/blob/bf6f6c8ca4ec76c84ef660263870369eb568f831/obp/dataset/synthetic_slate.py#L320
Removed unused arg tau in obtain_batch_bandit_feedback().
https://github.com/aiueola/zr-obp/blob/d52501696038def2189ae1a61abb106fdd8db688/obp/dataset/synthetic_slate.py#L474
Changed from standard_exponential and cascade_exponential reward structure to standard_decay and cascade_decay, respectively. In addition, introduce decay_function, which is either exponential or inverse.
https://github.com/aiueola/zr-obp/blob/bf6f6c8ca4ec76c84ef660263870369eb568f831/obp/dataset/synthetic_slate.py#L50
https://github.com/aiueola/zr-obp/blob/bf6f6c8ca4ec76c84ef660263870369eb568f831/obp/dataset/synthetic_slate.py#L1241

tests

Fixed and added corresponding tests.

others

Minor fix on typos and docstrings.

@aiueola
[review has not finished yet, comment will be updated]

Can you implement the case when self.reward_type == "continuous" if you can do it immediately? Otherwise, can you put NotImplementedError?
https://github.com/aiueola/zr-obp/blob/f3dc59c19a7f4298662ae8e201e6cec743d83e8f/obp/dataset/synthetic_slate.py#L742

"distance must be 1-dimensional ndarray"
https://github.com/aiueola/zr-obp/blob/bf6f6c8ca4ec76c84ef660263870369eb568f831/obp/dataset/synthetic_slate.py#L1265

@aiueola

Regarding the above comment, I think it is good to add the base_reward_function=None case in the same test function
https://github.com/aiueola/zr-obp/blob/afd6577e64a0b6ad14a6273ce24ae80bce604236/tests/dataset/test_synthetic_slate.py#L1368

How about adding the comparisons with varying eta? For example, for both "pbm" and "cascade", a larger value of eta should lead to a lower ground-truth policy value given the same eval_policy right?
https://github.com/aiueola/zr-obp/blob/afd6577e64a0b6ad14a6273ce24ae80bce604236/tests/dataset/test_synthetic_slate.py#L1441-L1442


Email Preview to support Mandrill templates

RIght now if you hit the email preview plug you can see an email was sent, but if using Mandrill templates then the content is empty (since text + html wasn't used).
If we could preview how Mandrill rendered the template that would be awesome, but could be a considerable effort. I'd be happy w/ just seeing the json that was sent to Mandrill.

I'm not totally sure if I'll make this a priority, but I do think this is an interesting idea. I'm not sure of the best way to handle this. Maybe when viewing the email we could check if html_body and text_body are empty. If that's the case just show the full email struct so that you can inspect what was sent? I think that could be helpful even if you aren't using Mandrill templates.
For now though, you can do Bamboo.SentEmail.all |> List.firstfrom iex to get the newest email and see what was sent. Not quite as convenient, but at least it's possible.

Why not use the '/templates/render.json' API endpoint to get the rendered template ?

Closing in light of the recommended solutions. Please reopen if this is still an issue.


Sublime Build Settings / Syntax Highlighting

Do you have/are you planning on uploading your sublime build settings/syntax highlighting at all?
Edit: Just to note, I'm just playing around with Odin for fun, not planning on doing any serious coding at the moment (trying a few 'simple' programs)

This is what I currently use: https://gist.github.com/gingerBill/9d9816b08fc3fd1429c558fdd90e5647

This what I use for building with a build.bat file:
{
	"shell_cmd": "build.bat",
	"file_regex": "^ *([A-z]:.*)[(]([0-9]+)([:][0-9]+)*[)]",
	"working_dir": "${project_path:${folder}}"
}

This will work with MSVC and Odin.


Introducing regex module

Introduction of regex module (used instead of standard re) will allow for more flexible approach to regular expressions.

It would be better to put it in requirements.txt as well.

Yup, it's already there: https://github.com/scrapinghub/dateparser/commit/560756f044ace493a85b387fa04c4d0eefdb56db#diff-b4ef698db8ca845e5845c4618278f29aR3

Sorry, artur, missed that.

This looks good. Can we raise a warning when re module is used? Urging to use regex instead.


Wrongly read number arguments from properties

I'm testing Spring Boot DJL auto-configuration starter (v0.7 from maven), but got into some troubles, when trying to use application.properties to set number arguments:
djl.application-type=OBJECT_DETECTION
djl.input-class=ai.djl.modality.cv.Image
djl.output-class=ai.djl.modality.cv.output.DetectedObjects
djl.model-filter.size=512
djl.model-filter.backbone=mobilenet1.0
djl.arguments.width=121
djl.arguments.height=121
djl.arguments.threshold=0.5
Properties of djl.arguments, when using them to SSD can't be parsed by Arguments class, as they're read as Strings. Every each of them, there is no exception - threshold, height, width are doing same mess. Therefore there comes an exception at application startup, which prevents app from running:
Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Double (java.lang.String and java.lang.Double are in module java.base of loader 'bootstrap') 	at ai.djl.mxnet.zoo.cv.objectdetection.SingleShotDetectionModelLoader$FactoryImpl.newInstance(SingleShotDetectionModelLoader.java:122) ~[mxnet-model-zoo-0.6.0.jar:na] 	at ai.djl.repository.zoo.BaseModelLoader.loadModel(BaseModelLoader.java:95) ~[api-0.6.0.jar:na] 	at ai.djl.repository.zoo.ModelZoo.loadModel(ModelZoo.java:162) ~[api-0.6.0.jar:na] 	at ai.djl.spring.configuration.DjlAutoConfiguration.model(DjlAutoConfiguration.java:105) ~[djl-spring-boot-starter-autoconfigure-0.7.jar:0.7] 	at ai.djl.spring.configuration.DjlAutoConfiguration$$EnhancerBySpringCGLIB$$e6288e91.CGLIB$model$0(<generated>) ~[djl-spring-boot-starter-autoconfigure-0.7.jar:0.7] 	at ai.djl.spring.configuration.DjlAutoConfiguration$$EnhancerBySpringCGLIB$$e6288e91$$FastClassBySpringCGLIB$$f9b6fd29.invoke(<generated>) ~[djl-spring-boot-starter-autoconfigure-0.7.jar:0.7] 	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.2.5.RELEASE.jar:5.2.5.RELEASE] 	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE] 	at ai.djl.spring.configuration.DjlAutoConfiguration$$EnhancerBySpringCGLIB$$e6288e91.model(<generated>) ~[djl-spring-boot-starter-autoconfigure-0.7.jar:0.7] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[na:na] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] 	at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na] 	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE] 	... 62 common frames omitted

Hello,
lack of strong typing for the arguments in the DLJ core product is the reason for this issue. There is no clear discoverable metadata to properly arrange conversion of data types. However, it should not mean that users should be stuck with this.  I will think of an approach to inject the arguments programmatically or work with the team to see if there is a better way to deal with it. Stay tuned.

Hello,
lack of strong typing for the arguments in the DLJ core product is the reason for this issue. There is no clear discoverable metadata to properly arrange conversion of data types. However, it should not mean that users should be stuck with this.  I will think of an approach to inject the arguments programmatically or work with the team to see if there is a better way to deal with it. Stay tuned.

@kkoripl this issue is fixed in the upcoming 0.9 release of the starter.
You can try it now with the snapshot approach. To do that (if you are not already have it defined) add the snapshot repo to your maven pom:
 <repositories>
        <repository>
            <id>djl.ai</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </repository>
    </repositories>

And the change the dependency version of the autoconfiguration starter to 0.9-SNAPSHOT.
Please let me know if you have any issues.

@kkoripl this issue is fixed in the upcoming 0.9 release of the starter.
You can try it now with the snapshot approach. To do that (if you are not already have it defined) add the snapshot repo to your maven pom:
 <repositories>
        <repository>
            <id>djl.ai</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </repository>
    </repositories>

And the change the dependency version of the autoconfiguration starter to 0.9-SNAPSHOT.
Please let me know if you have any issues.


fix(RHTAPREL-857): update release-utils image

This PR updates the release-service-utils image to the latest that contains the fix for RHTAPREL-857.
Signed-off-by: Leandro Mendes<EMAIL_ADDRESS>

/test release-pipelines-e2e-suite

/test release-pipelines-e2e-suite

/test release-pipelines-e2e-suite

/test release-pipelines-e2e-suite

/test release-pipelines-e2e-suite

If you search https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/redhat-appstudio_release-service-catalog/366/pull-ci-redhat-appstudio-release-service-catalog-development-release-pipelines-e2e-suite/1763005092761440256/artifacts/release-pipelines-e2e-suite/redhat-appstudio-gather/artifacts/taskruns.json for "Failed" you will see the one task that failed was push-sbom-to-pyxis so maybe the change isn't actually good? But what is confusing is in the same file, if you search for push-sbom-to-pyxis, you see another taskrun and that one actually succeeded. I am not sure what is going on with CI. Going to trigger it one more time but I won't be online when it finishes

/test release-pipelines-e2e-suite

If you search https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/redhat-appstudio_release-service-catalog/366/pull-ci-redhat-appstudio-release-service-catalog-development-release-pipelines-e2e-suite/1763005092761440256/artifacts/release-pipelines-e2e-suite/redhat-appstudio-gather/artifacts/taskruns.json for "Failed" you will see the one task that failed was push-sbom-to-pyxis so maybe the change isn't actually good? But what is confusing is in the same file, if you search for push-sbom-to-pyxis, you see another taskrun and that one actually succeeded. I am not sure what is going on with CI. Going to trigger it one more time but I won't be online when it finishes

Good catch. Here's the pod log: https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/redhat-appstudio_release-service-catalog/366/pull-ci-redhat-appstudio-release-service-catalog-development-release-pipelines-e2e-suite/1763005092761440256/artifacts/release-pipelines-e2e-suite/gather-extra/artifacts/pods/push-pyxis-managed-rsre_managed-c6g95-push-sbom-to-pyxis-pod_step-push-sbom-files-to-pyxis.log
=== 65dfdc5b3ce9e6dc66517873.json ===
Traceback (most recent call last):
  File "/home/pyxis/upload_sbom", line 366, in <module>
    main()
  File "/home/pyxis/upload_sbom", line 360, in main
    upload_sbom_with_retry(args.pyxis_graphql_api, image_id, args.sbom_path)
  File "/home/pyxis/upload_sbom", line 85, in upload_sbom_with_retry
    upload_sbom(graphql_api, image_id, sbom_path)
  File "/home/pyxis/upload_sbom", line 95, in upload_sbom
    image = get_image(graphql_api, image_id)
  File "/home/pyxis/upload_sbom", line 201, in get_image
    components.extend(components_batch)
TypeError: 'NoneType' object is not iterable

Which actually looks like the thing that we were trying to fix. But in this case it happens for the image that was already processed in the previous PipelineRun. So I ran the sbom script locally and it turns out that stage Pyxis is having the same issue as when all of this started - "Pyxis API was unable to fetch data from MongoDB in time". I commented on the GChat thread.

/test release-pipelines-e2e-suite
No pipelineruns or taskruns in the artifacts


Error while trying to add the package to meteor in windows

Hi,
I got the following error while trying to add the package to meteor in my windows machine;
meteor add fourseven:scss
=> Errors while adding packages:
While checking for<EMAIL_ADDRESS>error: No compatible binary build found for this package. Contact the package author and ask them to publish it for your platform.
Any suggestion for solving the problem?

This is a duplicate of #83 – I need to release 3.1.1 which should fix this.

Ok. Thank you!

It was released btw, so give 3.1.1 a go :+1:

Just tried it. Itz a go :+1:


Missing Packages when trying to build Library.

When trying to run build initialize I get the following error:
Microsoft (R) Build Engine version 12.0.31010.0
[Microsoft .NET Framework, version 4.0.30319.0]
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 12-2-2015 22:00:42.
Project "F:\Projects\Git\aspnet\DataCommon.SQLite\src\Microsoft.Data.SQLite\Microsoft.Data.SQLite.csproj" on node 1 (WritePackageReferences
 target(s)).
F:\Projects\Git\aspnet\DataCommon.SQLite\tools\DataCommon.SQLite.targets(96,5): error : No packages found. [F:\Projects\Git\aspnet\DataComm
on.SQLite\src\Microsoft.Data.SQLite\Microsoft.Data.SQLite.csproj]
Done Building Project "F:\Projects\Git\aspnet\DataCommon.SQLite\src\Microsoft.Data.SQLite\Microsoft.Data.SQLite.csproj" (WritePackageRefere
nces target(s)) -- FAILED.

Build FAILED.

"F:\Projects\Git\aspnet\DataCommon.SQLite\src\Microsoft.Data.SQLite\Microsoft.Data.SQLite.csproj" (WritePackageReferences target) (1) ->
(WritePackageReferences target) ->
  F:\Projects\Git\aspnet\DataCommon.SQLite\tools\DataCommon.SQLite.targets(96,5): error : No packages found. [F:\Projects\Git\aspnet\DataCo
mmon.SQLite\src\Microsoft.Data.SQLite\Microsoft.Data.SQLite.csproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.23
warn: Exit code 1 from C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe
verbose: Stack trace:
   at View0fb233d2bff84d9ebce2475427c2d645.<RenderViewLevel0>b__66() in c:\Users\Frank\AppData\Local\Temp\a00af3b1699a4e8aaaebcec4d1f538a5-1.cs:line 9149
   at Sake.Engine.Builder.BuilderBase`1.CallTarget(String name)
   at Sake.Engine.Builder.BuilderBase`1.StartingTarget(String name)
   at View0fb233d2bff84d9ebce2475427c2d645.<RenderViewLevel0>b__43() in c:\Users\Frank\AppData\Local\Temp\a00af3b1699a4e8aaaebcec4d1f538a5-1.cs:line 1283
   at Sake.Engine.Builder.BuilderBase`1.CallTarget(String name)
   at Sake.Engine.SakeEngine.Execute(Options options)
   at Sake.Engine.SakeEngine.Execute(String[] args)
   at Sake.Program.Main(String[] args)

I also had to change Xunit.KRuntime in project.json of the test project to xunit.runner.kre.
Side Note: Where is the DataCommon repository? Link in the Read me is dead.

This repository has fallen into disrepair while we focus on other priorities.
You might be able to get it building by updating the project.json file to reference version 4.0.0-beta-* of System.Data.Common. We switched to using the dotnet/corefx version which hasn't been added to their repository yet.


Fails to parse ollama model code output

Describe the bug
Whenever I instruct Devika to program anything, the initial stages of the process go well, but once it gets to the programming part, the agent fails to parse the models output correctly: Invalid response from the model, trying again...
All other parts of the agent are functional, including web browser, searching, and search result parsing.
Desktop (please complete the following information):

OS: WSL (Ubuntu 22.04) - Windows 11 Pro
Browser: Firefox
Version:

commit edd99a7fd112173436f3b8e3bcdadb1e31a961eb (HEAD -> main, origin/main, origin/HEAD)
Author: ayush rajgor<EMAIL_ADDRESS>Date:   Fri Apr 5 00:24:21 2024 +0530

    Fix: setting page loading issue, messages from user (#359)

    * fix: HMR error

    * fix: second message from not showing/ remove:console.log

    resolved #359

Additional context
I've attached the console log file (a txt of console output) here. I can provide any additional logs.

#347 and #307 are related, and this is likely a duplicate, although an important issue for local models.

what did u use to LLM model ?

It is mentioned in the log file.

duplicate #347


Validating passcode evaluates to false

When generating a new TOTP is successful:
      const config = generateConfig({
        digits: 6,
        period: 30,
        algo: "sha256",
        secretSize: 10,
      });

      const secret = TOTP_SECRET; // from ENV variable;
      const codes = Totp.generatePasscodes({ secret }, config);
      const totp = codes[0];

But when validating the just newly created TOTP it evaluates to false:
    const { totp } = req.body;
    const secret = TOTP_SECRET; // from ENV variable

    const config = {
      digits: 6,
      period: 30,
      algo: "sha256",
      secretSize: 10,
    };

    const isValid = Totp.validate(
      {
        passcode: totp,
        secret: secret,
      },
      config
    );
    console.log({ isValid }); // Evaluates to false when the totp is valid

What could be wrong with my code?

Hi,
Thanks for reporting an issue.
Just to make sure the problem not coming from the secret itself can you show me how did you generate the secret ?
Thank you !

@MarcAndreG I used the generateSecret() function provided then added it to the .env file

Yes you need to use the same secret to validate.

I am still using the same secret as shown above in the code. under secret key and value


Preventing accidental modal close

:tada: This PR is included in version 1.7.9 :tada:
Your semantic-release bot :package::rocket:


Is Image Encoder Frozen?

Hi, I would like to confirm whether the RN50 model in the image encoder is frozen. Thank you for your reply.

Thanks!


chore(main): release 1.3.0

:robot: I have created a release beep boop
1.3.0 (2024-04-30)
Features

add german goodbye endpoint (#25) (5ace4cf)

Bug Fixes

use ü umlaut (#29) (4c68485)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/andtsang/github-actions-adventure/releases/tag/v1.3.0 :sunflower:


Why don't  SESSION_EXPIRATION  change?

I set:
"SESSION_EXPIRATION": timedelta(days=1)

But SESSION_EXPIRATION is always 5 minutes.

I don't fully understand the problem, please write a more detailed report.
The session expiration is encoded into the token at the time the token is issued and it's not dependent on the SESSION_EXPIRATION parameter after that.

I have set time for session_token .
my settings

REST_FRAMEWORK_SSO = {
    'CREATE_SESSION_PAYLOAD': 'config.payload.create_session_payload',
    'CREATE_AUTHORIZATION_PAYLOAD': 'config.payload.create_authorization_payload',
    'IDENTITY': IAM_NAME_SYSTEM,
    'SESSION_AUDIENCE': [IAM_NAME_SYSTEM],
    'AUTHORIZATION_AUDIENCE': [IAM_NAME_SYSTEM] + env.list('DJANGO_SSO_AUDIENCE'),
    'ACCEPTED_ISSUERS': [IAM_NAME_SYSTEM],

    'KEY_STORE_ROOT': os.path.normpath(env.get_value('DJANGO_SSO_KEY_PATH', default='keys')),
    'PRIVATE_KEYS': {IAM_NAME_SYSTEM: [env.get_value('DJANGO_SSO_PUBLIC_KEYS', default='test-2048.pem'),
                                       env.get_value('DJANGO_SSO_PRIVATE_KEYS', default='test-1024.pem')]
                     },
    'PUBLIC_KEYS': {IAM_NAME_SYSTEM: [env.get_value('DJANGO_SSO_PUBLIC_KEYS', default='test-2048.pem'), ]},
    'VERIFY_SIGNATURE': True,
    'VERIFY_EXPIRATION': True,
    'VERIFY_ISSUER': True,
    'VERIFY_AUDIENCE': True,
    'VERIFY_SESSION_TOKEN': True,
    'AUTHORIZATION_EXPIRATION': timedelta(seconds=300),
    "SESSION_EXPIRATION": timedelta(days=1),       ------------------------------

    'AUTHENTICATE_HEADER': 'JWT',
}

But sessio token live  only 5 minutes. must 1 day

Please also explain whether this is about new tokens or existing tokens.

exist,  i say about
 url(r'^session/', obtain_session_token),

Existing tokens aren't modified by that view. The setting applies only for new tokens issued by that view.

sorry, yes, applies only for new tokens, but not applies, value  always 5 minutes. I can't set  new time value for session  token

Sorry.  I try:  What this:
1
REST_FRAMEWORK_SSO = {
     "SESSION_EXPIRATION": timedelta(days=1)
      'AUTHENTICATE_HEADER': 'JWT',
}

2   curl POST  "/session/"   in 14:20
my rsponse :
```eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImlhbSJ9.eyJ0b2tlbiI6ImF1dGgiLCJzaWQiOiI0ZjNlODUwMi1hZTg1LTRhMzctYmU5ZC01OTJkNTBiNTJjY2EiLCJ1aWQiOjMsImVtYWlsIjoic29sb3dfbGFyaXNhQG1haWwucnUiLCJzY29wZXMiOltdLCJpc3MiOiJpYW0iLCJhdWQiOlsiaWFtIiwiYWlzdW16Il0sImV4cCI6MTYwNjM5MDE5NiwiaWF0IjoxNjA2Mzg5ODk2fQ.AdCUI_9Ob49NUt72pHUosr_QKDVqOsCe67uKhFd9b5iM6C12APuKao2ocqnPApzCJAy68WS1nUMXV3EABuMcU_ppWuwWVY-dzu-3DuIUNpzKOMZfkKTf_HL3AkNyBQ_cO_Uxpt0FOiaJ5xCUXVZMTETxXmVfyz_AV4El0nMMHnYihen41bEGDqtoSzNwSVc34w1BMwZ26KDKzwRuSkQtHhEcmydS6UvibaToSBzhPYw3EixlSCHragYBcjOv7EPA_CMJOxc4KMwTZyr7WpDRBOVqbhRJ_dMIYsiREz4imsv-GIzBREh_zULroC3gY37atHagD90SaRK6qubP3lpl3w````
**Why:   exp = 14:30 **

To be honest, I can't explain this behaviour. There are no other defaults set at 5 minutes either.
If you can make available an example project that displays this behaviour, then I could investigate further.
Right now it works for me and I don't see any way how it could not.

Please post a copy of your urls.py

Found a clue in your JWT token, it has "token": "auth"
It seems you have wired the ObtainAuthorizationTokenView into /session/ (instead of ObtainSessionTokenView).
By default, session token expiration is not set.
Authorization tokens for other services have indeed 5 minute expiry because of their short lived nature.

        'SESSION_EXPIRATION': None,
        'AUTHORIZATION_EXPIRATION': datetime.timedelta(seconds=300),

thanks you


Add redis module

This PR doesn't need to be used as per tomorrow's discussion.
it just something I've been working on before. (can use it later when we need it)
My point of thinking
1. Set vs HSet vs JSON.SET
I decided to use Set memo-ing youtube api for the following reasons.
(ref. https://stackoverflow.com/questions/16375188/redis-strings-vs-redis-hashes-to-represent-json-efficiency)

No sub-field access required
No need to read only part

2. SetNXJson
We can also use the method below,
but we have to declare all methods per model (not support Inheritance)
type RedisDataModel struct {
	Val1 string `json:"val1"`
	Val2 int    `json:"val2"`
}

func (m RedisDataModel) MarshalBinary() ([]byte, error) {
	return json.Marshal(m)
}

func (m *RedisDataModel) UnmarshalBinary(b []byte) error {
	return json.Unmarshal(b, m)
}

rdb.SetNX(context.Background(), "rediskey2", &RedisDataModel{"hello", 2022}, time.Hour)

So i made a method with json encoding decoding role => SetNXJson

NxJson looks clean and useful, thank you for research!

I have a quick question, what does the Nx means?


maxiter parameter

using IterativeSolvers
L1d(N) = spdiagm((-ones(N-1), 2*ones(N), -ones(N-1)), (-1,0,1), N, N) * N^2
function L2d(N)
  L1 = L1d(N)
  A = kron(speye(N), L1) + kron(L1, speye(N))
  b = ones(size(A,1))
  return A, b
end
A, b = L2d(100)
TOL = 1e-4
x = IterativeSolvers.cg(A, b; tol=1e-4)
norm(A * x - b, Inf)

The output of the final line is 35.59...
This is because maxiter = size(A,2) instead of maxiter = size(A,2)^2 as I think it should be (and indeed as is claimed in the documentation).  I believe this must have changed recently. The above problem is just a finite-difference laplacian on a square domain. Something as basic as that should not fail with default parameters.

@haampie Any thoughts?

n^2 is way too large for n by n matrices I would think. It's pessimistic at the very least.
In exact arithmetic n is the worst-case number of iterations. If the matrix is well-conditioned (maybe via a preconditioner) and the tolerance is like the above, you can expect less than n iterations.
The default value is maxiter = min(20, size(A, 1)) at the moment, but it is not documented. It's the same as MATLABs pcg function. The arbitrary value 20 is there just to make sure CG quits early. Maybe we can just set maxiter = size(A, 2), since that is actually documented.
x, history = cg(A, b; tol = 1e-4, log = true)
@show history.iters
@show history.isconverged

shows
history.iters = 20
history.isconverged = false

And if you specify maxiter to be the size of A, you get
x, history = cg(A, b; tol = 1e-4, log = true, maxiter = 10_000)
@show history.iters
@show history.isconverged

history.iters = 134
history.isconverged = true

So 134 iterations is enough to reduce the error in the A-norm by 1e-4 starting with x =0. Since n = 10_000, taking maxiter = 100_000_000 is quite pessimistic ^^.
TL;DR: Current default maxiter is not documented and kept low by default as in MATLAB (but yeah, it's arbitrary)

sorry, the n^2 was a brain-burp due to the 2D problem. it should be n of course. so the 20 is the problem. This seems extremely low to me. If you don't know what you are doing, then is it not more confusing that you get garbage results? If you really want to keep 20 then how about printing a warning that the iteration did not converge?

Agreed, n is arguably a better default. Not sure about printing a warning (see also #6). Setting log = true already gives you convergence info.


Clarify (and extend) record (type) constructs' syntax and implementations

Empty, extension, update, dissoc for records, modules, record types, interfaces. Also field access and patterns for records and modules.

[ ] Spec
[ ] Refactor
[ ] Add new features from spec

What about 'hiding' e.g. {module type of module type t = int end hiding t} = interface type t end?

And should we deal in rows inside record type as in row polymorphism forall (r: row) a b . (a -> b) -> {r with x : a} -> {r with x : b}?

What about 'hiding' e.g. {module type of module type t = int end hiding t} = interface type t end?

Cannot do that properly in a model where type abbreviations are just 'macroexpanded'.


Power Loader can now pick up crates.

About the PR

I made the power loader able to pick up crates.
Why / Balance

Technical details

see #4556
Media

https://github.com/user-attachments/assets/7f7cfa98-9ec5-4351-8e1e-11ef8a7a0a81
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

add: The powerloader is now capable of picking up crates, like those from req.

they got custom sprites for the crates inhand too

they got custom sprites for the crates inhand too

where could I find these?


Signature - New organization owner should be able to sign documents

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
Currently, we are declaring all user able to sign a contract at the workflow creation. For the organization side, that means, we declare as signatories all users with owner access to the organization at this time.
But once the workflow has been created, if we add an owner to this organization, it will not be able to sign pending contracts but in its administration dashboard, it will be able to ask to sign those contracts but the request will fail...
Describe the solution you'd like
All organization owner declared at any time should be able to sign contracts.
Describe alternatives you've considered
New organization owners should not see previous pending contract that they will not be able to sign.
Discovery, Documentation, Adoption, Migration Strategy
https://gip-fun-mooc.sentry.io/issues/4905277666/?environment=preproduction&project=6599941&query=is:unresolved&statsPeriod=7d&stream_index=12

According to the documentation of Lex Persona, we can add new recipient (signatories) even once the signature procedure has been launched.
It requires to build the payload that we've used to create the workflow, and add the new signatory member from the organization into the step reserved for organization members.
This will update the workflow with a new member to sign on the organization's side.
I've observed that when I've launched a signature procedure with 2 person, once the student signed the progression was at 50%. Then, I used the endpoint to update the workflow with a new signatory member, and the progress updated to 33%.
The endpoint to update the workflow is straight forward : PATCH method + /api/workflows/<wfl_id>
Still need to check if we can get the invitation link to sign for that last new member.


Generalize error pages and add response padding

Issues:
127988865
127989511
127989925

One minor thing, the rest is looking good! Please hold off on merging till the 5.0.0 release has been tagged (will ping when that happened) so that we can keep a clean release :smile:

(and please reference the accompanying PR on Deploy :wink: )

@DRvanR Good to go?

two nits, other than that :+1:


rbd: adds support for librbd rbd_resize2

librbd exposes rbd_resize2, which allows clients to pass in a boolean controlling
whether or not the allocation should be allowed to shrink, and a progress-tracking
callback. This contribution extends go-ceph to be able to call rbd_resize2.
Closes #933
Signed-off-by: Khayyam Saleem<EMAIL_ADDRESS>
Checklist

[x] Added tests for features and functional changes
[x] Public functions and types are documented
[x] Standard formatting is applied to Go code
[x] Is this a new API? Added a new file that begins with //go:build ceph_preview
[x] Ran make api-update to record new APIs

New or infrequent contributors may want to review the go-ceph Developer's Guide including the section on how we track API Status and the API Stability Plan.
The go-ceph project uses mergify. View the mergify command guide for information on how to interact with mergify. Add a comment with @Mergifyio rebase to rebase your PR when github indicates that the PR is out of date with the base branch.

I won't insist on it, but I'd like to suggest having the new function and test in new files. rbd.go is already fairly long. Having a dedicated file (and test!) focused on one or a few related things aids readability IMO.

@phlogistonjohn @ansiwen should be ready for another round of review; thanks so much for your attention on this PR!

@phlogistonjohn @ansiwen should be ready for another round of review; thanks so much for your attention on this PR!

Looking better, I've restarted the CI. There are two lingering issues that I think we should deal with: first, there are still changes to rbd.go, related to the changing of the comment block, that are now unnecessary. This may have been done by an IDE or the like but I'd prefer they remain unchanged by your PR. It's just "noise" when looking through the history of the project.
Second, and hopefully less work, is that it would be nice to squash your two commits together. We try to keep a long term history free of intermediate changes.
Let us (me) know if there are any questions on how to go about doing either one, and I'll try to help.

Apologies for the slow turnaround here; this had fallen off my radar. Have rebased and squashed the commits and dropped the rbd.go changes. Thanks for your attention!

@ansiwen looks like we'll need your additional review to push this through. Thanks again for helping get this PR in order.


April cpu patch

Updated the versions to match the May patch update that replaced the April 2022 CPU.  Also changed the dockerfiles for JDK 11, 17, and 18 to be able to build either x86-64 or aarch64. (serverJRE 8 is only available as x86-64 that version is just an update from 8u331 to 8u33)

Please check the diff output as you have added a few extra spaces that should be removed.


Allow configuration of browser history object for piral-core

New Feature Proposal
Description
Enhance the current piral-core createInstance method to allow input of a preexisting history object.
Background
When piralizing an existing app it comes in handy to configure which history object the piral instance uses. This allows "programmatical" routing - meaning the ability to push changes to the history object.
The preexisting history object is probably created with
import { createBrowserHistory } from 'history';
method.
Discussion
It seems we have 2 options to achieve this

either via direct config options for the createInstance call
or via using the state (?)

Under the hood piral needs to take care that the history object gets forwarded to the router instance which is really used at runtime. This means probably also switching from using BrowserRouter to Router component of react-router lib.
Regarding the 2nd solution we could adjust the options for setupState to be able to input the history object there. Piral should then look inside the state if a history object exists.
Give a sign if you have further questions.

Thanks for raising this; much appreciated 🍻. I think as a side-effect of this we could actually also forward history explicitly to the API leaving pilets direct access (as such that the could forward it to components during registration).
From the two options I would prefer 1). Indeed, we already have some functional stuff in history, but I would prefer to keep it at a minimum. Though, the advantage with state is that we could make the history also accessible via the context (omitting router specific withRouter et al calls in such cases if desired).
I'll code a bit and see which option makes more sense from a piral-core internal view. I'll come back to this issue then.
Sounds good?

Sounds good. Looking forward to your feedback.

Okay I think going via the state would be great.
My proposal:

setupState contains another parameter in the passed in object to override the history
At the end, when "nothing" is given this will default to createBrowserHistory
In the state container at ctx.app.components we will add one new component called Router
The Router will be created (if not given) by the history

Advantages:

Default way is as-is
If history is available, but everything else is "I don't care" (i.e., like default way) just use setupState and provide the history
If - for some reason - a very special (wrapper) for the React Router should be used (or maybe with some special props) supply a Router directly

Do you think this is a sound design or would you like to be exclusive on either history or Router @robert-gruner ?

Sounds good regarding the history object!
From our point of view it is currently not necessary to have the Router component also configurable.
There are also further questions connected to this like:

What happens if you provide both history and the Router component?
What happens if the Router is not a proper React router?

Since there is then more to discuss just leave it out for this iteration. ;)

Agreed. Only the history will be considered.

Landed in develop.


Finalize send_magic_auth_code method

Description
Finalizes the send_magic_auth_code method
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (b53af30) 87.72% compared to head (d70ea9a) 87.72%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #216   +/-   ##
=======================================
  Coverage   87.72%   87.72%
=======================================
  Files          32       32
  Lines        1157     1157
=======================================
  Hits         1015     1015
  Misses        142      142

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


uninitialized constant CarrierWave::Mount::Mounter

The following method has an issue:
def _translations_mounter(column)
@_translations_mounter ||= {}
(@_translations_mounter[Globalize.locale.to_sym] ||= {})[column] ||=
::CarrierWave::Mount::Mounter.new(self, column)
end
We need to change Carrierwave::Mount::Mounter to Carrierwave::Mounter
Reference for solution: https://github.com/neo4jrb/carrierwave-neo4j/pull/11

Thanks a lot @jaswinder97!
I released a new version https://rubygems.org/gems/carrierwave_globalize/versions/0.2.0.
Let me know if you will find any kind of problem :wink:


Protect from text-indent

If an element has the text-indent property set, then any math that appears within it is spaced out ridiculously. If you go to the KaTeX page, for example, and edit the CSS to add a rule like body { text-indent: 1em}, you can see it for yourselves.
The problem, of course, is that text-indent is being inherited and applied to elements displayed as blocks. The fix should be as simple as setting .katex { text-indent: 0} in your CSS.

Indeed, text-indent does make the math look annoying. Could you submit a pull request to fix that?

I made a pull request. Do I need to sign the CLA for something this small?

Yes, the CLA needs to be signed for all pull requests.

OK, I've signed the CLA.


Target [Dingo\Api\Contract\Routing\Adapter] is not instantiable while building [Dingo\Api\Routing\Router] in Laravel 5.4

I have installed Dingo api version of

"dingo/api": "2.0.0-alpha1"

Installed successful but after execute the following artisan command
php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"
but it's not generate the api.php file in config folder. after that I'm going to define route file as following
$api = app('Dingo\Api\Routing\Router');

$api->version('v1', function ($api) {
    $api->group(['middleware' => ['api']], function($api) {
        $api->get('test', 'App\Api\Controllers\APIController@test');
    });
});

Once I hit the url http://localhost/restful_api/api/test it's return exception

(1/1) BindingResolutionException
Target [Dingo\Api\Contract\Routing\Adapter] is not instantiable while building [Dingo\Api\Routing\Router].

Please help me for the same. I have follow step by https://github.com/dingo
Thank you

I have added in  config/app.php file but not generation api.php file inside the config/ folder

run
Application cache cleared!
Compiled views cleared!
Route cache cleared!
Configuration cache cleared!
Configuration cached successfully!
Generating autoload files
Commands


more tidy install.R

Also here, I don't know what is the best branch to put this change in. But, I think we should generally have more tidy install files.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Meta] Site hosted in GitHub

no, we are hosting in tuxfamily which is much better, thank you

Much better or the team don't want users contributing to the site?

@Plasmmer We are hosting a Q2A instance and an instance of our asset-library there as well. If you really, really want to contribute to the site, you might just get in contact with the community using the other channels, mainly IRC.

The site uses October CMS. Unfortunately, websites requiring databases to function are very hard to "open source" (but it is possible, see nextcloud.com; it might not be worth the effort though).


Bec dudek patch 1

Please kindly provide the full name of your school on the first line of the file in your request

I thought I did?
First line of my file education.txt is Belmont City College, which is my school name.
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: Philip Torchinsky @.>
Sent: Monday, April 15, 2024 11:33:27 AM
To: JetBrains/swot @.>
Cc: BecDudek @.>; Author @.>
Subject: Re: [JetBrains/swot] Bec dudek patch 1 (PR #20644)
Please kindly provide the full name of your school on the first line of the file in your request
—
Reply to this email directly, view it on GitHubhttps://github.com/JetBrains/swot/pull/20644#issuecomment-2054735515, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AR4XUYIOAMOQAFWBHQ3HM6DY5NDAPAVCNFSM6AAAAABGGOCVFWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJUG4ZTKNJRGU.
You are receiving this because you authored the thread.Message ID: @.***>

Please kindly provide the full name of your school on the first line of the file in your request

@BecDudek Thank you. No, you did not, see the screenshot below. Now I can start reviewing the request.

@BecDudek The official website of the college, as far as I understand, is belmontcc.wa.edu.au. Your request contains a file lib/domains/au/edu/wa/education.txt that represents a domain education.wa.edu.au.
Please provide us with a proof, which shows that the school recognizes the domain education.wa.edu.au you are submitting as an official email domain for the students.
You can provide us with any of the following:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

Thank you!


Simulating patch-like functionality

Given the yamls like below:
default.yaml:
services:
  A:
    host: "google.com"
    path: "search"
    scheme: "https"
  B:
    host: "bing.com"
    path: "find"
logging:
  level: WARN

staging.yaml:
services:
  A:
    path: "search2"

I want this merged yaml:
services:
  A:
    host: "google.com"
    path: "search2"
    scheme: "https"
  B:
    host: "bing.com"
    path: "find"
logging:
  level: WARN

Is there a way to achieve this kind of behavior thru mergo? Currently, it converts services["A"].host and services["A"].scheme to nil in the merged object representation.

The motivation is to maintain env-specific yaml files that contain various configuration. I want to keep a base yaml (default.yaml) that defines all the configuration, and then for each environment (dev/staging/prod...) define only the delta in those yamls to keep things DRY.
To give an equivalent from js/node, this is roughly what I'm looking for: https://runkit.com/embed/j9xi2bu00a74
And, just in case the link goes away:
const deepmerge = require("deepmerge")
const assert = require("assert")

let defc = {
	"services": {
		"A": {
			"host": "google.com",
			"path": "search",
			"scheme": "https"
		},
		"B": {
			"host": "bing.com",
			"path": "find"
		}
	},
	"logging": {
		"level": "WARN"
	}
}

let envc = {
	"services": {
		"A": {
			"path": "search2"
		}
	}
}

let mergedc = deepmerge(defc, envc)

assert.equal("search2", mergedc.services.A.path)
assert.equal("https", mergedc.services.A.scheme)

console.log(mergedc)

Cross-posted on SO: https://stackoverflow.com/questions/55134454/simulating-patch-like-merging-in-go-structs-read-from-yaml-files

I have this question also. I'm looking into using this library, but a merge that doesn't completely replace the whole struct would be needed.

@kodeninja In reading your SO post, I just noticed that you use WithOverride transformer. I don't think it should happen if you remove that transformer. (See this project's readme examples.)

@mholt I've tried both with and without override enabled, and neither gets me the behavior I want.

@mholt I have a similar issue, to this and to #130
The example is:
base:
secrets:
 - name: a
    value: a
 - name: b
    value: b

override:
secrets:
 - name: b
    value: c

merged:
secrets:
 - name: a
    value: a
 - name: b
    value: c

actual: 😞
secrets:
 - name: b
    value: c

What did you both settle on for your use-case?

@mholt @alexellis I'm working in some improvements to fix bugs related to maps. I'll check if this use case is also fixed.
I'm also thinking about doing a major rewrite of the library, as it's getting harder to maintain as is.

We found a workaround for the time being which was to do a manual merge of parts of our structures before or after using the tool.

@alexellis Thank you for your feedback. This is helpful. Is the code publicly available? I'm planning to try to sample uses cases from the largest projects using Mergo, so they are tested thoroughly.

I was that we had two usages somewhere @Waterdrips may remember. The first is here in a bootstrapping tool for openfaas-cloud -> https://github.com/openfaas-incubator/ofc-bootstrap/blob/master/pkg/types/merge.go
User supplies a config, we have a base config and then they are merged together. The issue was that the underlying base list of secrets was being deleted.
Usage explained in this blog post: https://www.openfaas.com/blog/ofc-private-cloud/

I was that we had two usages somewhere @Waterdrips may remember. The first is here in a bootstrapping tool for openfaas-cloud -> https://github.com/openfaas-incubator/ofc-bootstrap/blob/master/pkg/types/merge.go
User supplies a config, we have a base config and then they are merged together. The issue was that the underlying base list of secrets was being deleted.
Usage explained in this blog post: https://www.openfaas.com/blog/ofc-private-cloud/

Second usage that I remember is here:
https://github.com/alexellis/derek/blob/73b0fd570ffd7ce11cdeaf1ef07651178fec700e/types/merge.go#L7

This will be taken into account in the new cleanroom implementation of Mergo.


Regarding the issue of using CVAT API to backup task return value 202

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce

Call /api/tasks?page to get task_id into a list
Pass the task_id in the list to the backup API in turn

def backup_task(
    token: str,
    task_id: int,
    account_name: str,
    container_name: str,
    file_format: str,
    request_url: str,
):
    """Get all task ids from CVAT.
    Args:
        token: The token obtained after login.
    """
    try:
        headers = {"Authorization": f"Token {token}"}
        page = 1

        if task_id == -1:
            task_ids = []
            download_all = True
        else:
            task_ids = [task_id]
            download_all = False

        while download_all:
            try:
                response = requests.get(
                    url=request_url + f"/api/tasks?page={page}",
                    headers=headers,
                    timeout=10,
                )
                response.raise_for_status()
            except requests.exceptions.HTTPError as err:
                logging.error("HTTP Error: %s", err)
                break
            except requests.exceptions.ConnectionError as err:
                logging.error("Error Connecting: %s", err)
                break
            except requests.exceptions.Timeout as err:
                logging.error("Timeout Error: %s", err)
                break
            except requests.exceptions.RequestException as err:
                logging.error("Oops: Something Else: %s", err)
                break
            tasks = response.json()
            if not tasks["results"]:
                break
            task_ids.extend([task["id"] for task in tasks["results"]])
            page += 1

        if task_ids:
            logging.info("Found %s tasks need to backup.", len(task_ids))
            failed_tasks = []
            for task_id in tqdm(
                task_ids, desc="Downloading tasks", unit="task", mininterval=5
            ):
                try:
                    success = download_annotation(
                        token,
                        task_id,
                        account_name,
                        container_name,
                        file_format,
                        request_url,
                    )
                except RetryError:
                    success = False
                if not success:
                    failed_tasks.append(task_id)
            if failed_tasks:
                logging.error("Failed to download tasks: %s", failed_tasks)
                return False
            else:
                logging.info("All tasks have been backed up.")
                return True
    except Exception as e:
        logging.error("An error occurred: %s", e)
    return False

@retry(
    retry_on_result=retry_if_status_code_not_ok,
    stop_max_attempt_number=5,
    wait_fixed=8000,
)
def download_annotation(
    download_token: str,
    download_task_id: int,
    account_name: str,
    container_name: str,
    file_format: str,
    request_url: str,
):
    """Download annotation.
    Args:
        download_token: Login token.
        download_task_id: Task id.
        account_name: Azure Blob Storage account name.
        container_name: Azure Blob Storage container name.
        file_format: Type of annotation file.
        request_url: CVAT request url.
    """
    task_url = request_url + "/api/tasks/" + str(download_task_id) + "/annotations"
    task_header = {"Authorization": "Token " + download_token}
    # Get the current date and time
    now = datetime.now()
    # Format the date and time
    dt_string = now.strftime("%y%m%d%H%M%S")
    # Create the filename
    filename = f"{download_task_id}_{dt_string}.zip"
    params = {"action": "download", "format": file_format, "filename": filename}
    response = requests.get(
        url=task_url, params=params, headers=task_header, verify=False, timeout=10
    )
    if response.status_code == 200:
      return True
    else:
      return False

Expected Behavior
When I have a large task_id list, for example, the length is 300, 30 task_id backups will fail, and the backup interface return value is 202.
Possible Solution
I added retry to the backup interface and tried 5 times with an interval of 8 seconds each time. When I ran the script recently, I found that the same batch of task_ids failed each time.
Context
I want to solve this 202 return value problem and back up all the data when I do batch backup.
Environment
python 3.9
cvat 2.1.0

@youth123-c  the download apis are normally async 202 means task submitted. it is actually a success response
you will find the backup file on some other API in UI the javascrip generally take care of this, I don't know which is the second API in case of CVAT but I based of network observation you have to keep hitting same request until you get 201 with param action='download'.
even if you put your request in while with this param I don't thik it will work
I will recommend using the cvat sdk pip install cvat-sdk==2.1.0
https://docs.cvat.ai/docs/api_sdk/sdk/highlevel-api/
here one example
from cvat_sdk import make_client, models
with make_client(host=CVAT_HOST, credentials=(CVAT_USER, CVAT_PASS)) as client:
    task_meta = client.tasks.retrieve(download_task_id)
    task_meta.export_dataset(format_name="CVAT for images 1.1", filename=local_path)

Thank you very much for your help, I will try it using cvat sdk

Did you sort out how to work with backup API?

If I only want to download annotation, I should use that method?

task_meta.export_dataset(..., include_images=False)


Translate into other languages

I've setup crowdsourced translations here:
https://traceprivately.oneskyapp.com/collaboration/project?id=170066
I'll leave this issue open for now as it's likely to be an ongoing concern.

@HendX I have just updated all German translations (there were many issues, I assume it was machine-translated until now?), but I'm not sure how to properly translate the apps name and that one is kind of important, so I would like to clarify:

Is the notion of "Trace Privately" that everyone can choose themselves if they want to use this app before even there's an official app from their country? Or is it more about the fact that the Apple / Google APIs have good privacy?
After Apple and Google renamed the "Contact Tracing" APIs to "Exposure Notification", did you considering making a similar renaming as well? I could imagine something along the lines of "ExposureNotify", but we could of course also keep the name.

Thanks @Jeehut - I'm not exactly sure who did the initial translation.

The idea is that anybody using it would probably choose their own name, but my intention is to be consistent in this project so it's called somewhat the same thing across languages.
No plans to change the name at this stage


Add name, description and license

php ./composer.phar validate
name : The property name is required
description : The property description is required

see https://getcomposer.org/doc/04-schema.md

Thanks. I'll fix it later.


Choose health authority : Add trusted source button overlaps the "paste url" text box upon click

Choose health authority : Add trusted source button overlaps the "paste url" text box upon click
Issue type : UI/UX
Safe paths version : 1.0.0
Version

Type of phone: Android
OS Version: 9
Model: Moto g 6 plus

Steps to reproduce

Get onboarded.
Dashboard -> Choose health authority -> Add authority via URL
Click on the text box, to paste the url

Issue : The "add trusted source " button overlaps the "paste your url" text box.

Same on Samsung Galaxy J6, but even worse - see screenshot.

I also noticed when trying to press the disk icon, that the area for the button seems to span the entire width of the screen.
But I think we are re-working this whole UI anyway?

In case no re-working, assign this to me.

I also find the same issue in iPhone 5s, app version 1.0.1 and OS version 11.2.6.
Also at first, only the option to enter an URL is coming other options are visible only when a URL is added

Do you have any progress?I can help you with this issue if u need


Prioritize loading game from command line over embedded

so that it’s possible to override embedded game. This is handy when making a custom build of lovr, but still want to iterate quickly with lodr on the lua stuff.

Hey, we talked about this in Slack but I forgot to resolve the PR.


(PUP-10319) Invalidate rubygems cache after uninstalling puppet_gem package

Without this patch after a gem is uninstalled from puppet's ruby
environment using the puppet_gem package provider other actions in
an agent's run fail.  For instance, modifying a file fails whilst trying
to back it up.
eg.
Error: Could not back up /some/file: pid: 21277 nil spec! included in [#<Gem::StubSpecifi...
--- SNIP (massive array ommitted) ---
]
/opt/puppetlabs/puppet/lib/ruby/2.5.0/rubygems/specification.rb:743:in `_all'
/opt/puppetlabs/puppet/lib/ruby/2.5.0/rubygems/specification.rb:1153:in `latest_specs'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/rubygems.rb:44:in `directories'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:142:in `gem_directories'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:172:in `search_directories'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:98:in `get_file'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:62:in `load_file'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:201:in `load'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/instance_loader.rb:51:in `loaded_instance'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/terminus.rb:112:in `terminus_class'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:366:in `make_terminus'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:140:in `terminus'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/file_bucket_file/selector.rb:16:in `get_terminus'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/file_bucket_file/selector.rb:20:in `head'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:260:in `head'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/file_bucket/dipper.rb:48:in `backup'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/backups.rb:82:in `backup_file_with_filebucket'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/backups.rb:28:in `perform_backup_with_bucket'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/backups.rb:15:in `perform_backup'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file.rb:1024:in `backup_existing'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file.rb:761:in `remove_existing'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file.rb:888:in `write'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/data_sync.rb:93:in `contents_sync'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file/content.rb:136:in `sync'
--- SNIP ---

This commit is inspired by
https://github.com/puppetlabs/puppet/pull/2415/commits/b61fa207bc2084acdf4935d15d4c0e90d63074b4
(https://github.com/puppetlabs/puppet/pull/2415)

Can one of the admins verify this patch?

CLA signed by all contributors.

jenkins please test this

My update isn't passing in CI (but still works for me locally).  Sorry for the noise whilst I try to figure out which change broke it.


[Bug] chi not visible but selection works

What is the problem?
I tried creating a project with blueprint but chi as a framwork option was not visible.
Operating System
macos
Architecture Version (x86, x64, arm, etc)
x64
Steps to reproduce

Install blueprint
run the command
voila, chi is not visible.

Picture:

Relevant log output
> martin-scor

  [ ] Gin
Features a martini-like API with performance that is up to 40 times faster thanks to httprouter

  [ ] Fiber
An Express inspired web framework built on top of Fasthttp

  [ ] Gorilla/Mux
Package gorilla/mux implements a request router and dispatcher for matching incoming requests to their respective handler

  [ ] HttpRouter
HttpRouter is a lightweight high performance HTTP request router for Go

  [ ] Echo
High performance, extensible, minimalist Go web framework

Press y to confirm choice.

> [x]  Mysql
 MySQL-Driver for Go's database/sql package

  [ ] Postgres
Go postgres driver for Go's database/sql package

  [ ] Sqlite
sqlite3 driver conforming to the built-in database/sql interface

  [ ] Mongo
The MongoDB supported driver for Go.

  [ ] None
Choose this option if you don't wish to install a specific database driver.

Press y to confirm choice.

 Next steps cd into the newly created project with:
 • cd martin-scor

 Tip: Repeat the equivalent Blueprint with the following non-interactive command:
 • go-blueprint create --name martin-scor --framework chi --driver mysql

On Linux and Windows, there is no such bug, but I will try to reproduce it on macOS.

We were unable to reproduce the bug. It seems that the problem is local. Please try reinstalling go-blueprint, and if that doesn't resolve the situation, install the latest version of Go

We were unable to reproduce the bug. It seems that the problem is local. Please try reinstalling go-blueprint, and if that doesn't resolve the situation, install the latest version of Go

hey sure let me try again and i shall get back to you!

works on a different machine of mine. Seems like an installation issue. Thanks @Ujstor , good stuff!


wr.timestream.query should allow to return pure list of python objects instead of being limited to pandas DataFrame

Is your idea related to a problem? Please describe.
We do operate on our custom domain objects (mainly data classes) between different layers / lambdas in the application.
We are using wr.timestream.query to retrieve data from AWS Timestream, but as it returns pandas DataFrame we have to deserialize it back to python objects. It unnecessary takes up more memory than needed and is inefficient. For the same reason we've implemented our custom write_records method and not using AWS Wrangler implementation as it is 10x faster and less memory intensive ;)
Describe the solution you'd like
Consider parametrizing wr.timestream.query , so it can return python list of objects instead of being constraint to only pandas DataFrame. The new signature can look like follows:
def query(     sql: str,     chunked: bool = False,     as_data_frame: bool: False,     pagination_config: Optional[Dict[str, Any]] = None,     boto3_session: Optional[boto3.Session] = None, ) -> Union[pd.DataFrame, Iterator[pd.DataFrame], List[List[Any]], Iterator[List[Any]] ]:

Hi @tsaluszewski, thank you for the suggestion, however as the name implies, the library is about "Pandas on AWS". The vast majority of the API calls start or end with a Pandas dataframe, it wouldn't make sense to have exceptions for some of them. Glad you managed to develop a faster implementation, don't hesitate to submit a PR if you feel it would be beneficial. Cheers

In terms of optimisation every result page is separately converted to a DataFrame and then concatenated so there is definitely potential for optimisation there
I do agree with @jaidisido though this library is an integration between Pandas and AWS and we would not want to change that, but we can definitely look into optimising the code


Windows banner/footer support

Some character from the banner/footer are not been correctly displayed on Windows

This is a problem with the character encoding being used by the windows terminal (not UTF-8), not a problem with gingerspec


Design the FRUIT token

Besides ERC20, what should the contract handle.

I think ERC20, burnable (mechanics tbd), with a custom wrapped minting function that the Game contract (or Plant?) is allowed to call to increase supply and transfer it to the Pair pool.


Provide tools for fixing a broken app

In order for a developer to fix a broken app that they diagnosed, there should be tools to update app parameters.

@msecret let's take another look at this and make sure it's useful – parented/parenting correctly and in the right pipeline

@msecret I'm going to close this – it seems redundant with #189. Let me know if that doesn't seem right


CI/build adjustments

pull master
go 1.10 was released
pilot tests capturing junit-style test result (thanks @nmittler for converting to std tests)
pilot test also using the recommended release style ( istio-system ) and fixed ns so it's easy
to re-run and test after (only used in circleci, new target). The new target also works manually.
adjusted the pilot labels to allow upgrade tests ( will install istio.yaml first ). Currently pilot
tests are not compatible with normal istio configs.

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
2c24f52ceafa020a1f7eda468ddd8c4453866bd7
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
1ca93b2b3d66e3f7010cb03681461b4e70910e0b
link
/test istio-pilot-e2e

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

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
1ca93b2b3d66e3f7010cb03681461b4e70910e0b
link
/test istio-pilot-e2e

prow/istio-presubmit.sh
6cfb8be64d390905fcc229c675e0cd6dbfee0e04
link
/test istio-presubmit

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
4c6b20d8b94d15f420c7b4c4473d639e7b7cc3b5
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
53d7163396186cc7821e5e3e78a022d309d730d6
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
20e99ff2ec23a2a7496ecd2e16783a76d5761924
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
aabe290903343e9f4181b6001430532c199b075b
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
553bd3825315eab7284c71fbcb077f4b2d5f78d3
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
341457e0cb0e3c192fbd7358cb64d95c4639e22d
link
/test istio-pilot-e2e

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

/retest

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
27fd23a53eaa67fb548300aac6985b50a771ee4a
link
/test istio-unit-tests

prow/istio-pilot-e2e.sh
27fd23a53eaa67fb548300aac6985b50a771ee4a
link
/test istio-pilot-e2e

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

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
a2fc9c98ac0173835d383dc2b0a50e42718e4533
link
/test istio-pilot-e2e

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

/retest

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
a2fc9c98ac0173835d383dc2b0a50e42718e4533
link
/test istio-pilot-e2e

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

looks like the vendor change is from #3214 so maybe if this is ready to go we can fix it as part of this PR

can you make pull and update the PR, I want to confirm it won't have any vendor changes

Did make pull, pushed.
Re. .gitignore - I don't know how it'll impact the bot, but every developer
testing will have the
istio.VERSION updated by updateVersion.sh - and will have to remember to
revert that before
sumitting.
It can still be submitted - with "-f".
Hopefully the other PR on helm and the work to switch off updateVersion
will be done soon.
On Tue, Feb 20, 2018 at 6:03 PM, Laurent Demailly<EMAIL_ADDRESS>wrote:

can you make pull and update the PR, I want to confirm it won't have any
vendor changes
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/3599#issuecomment-367188936, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6v3nFZpM7E2vPkoSQJvvKma5yVw2ks5tW3lggaJpZM4SJ0E1
.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
a2fc9c98ac0173835d383dc2b0a50e42718e4533
link
/test istio-pilot-e2e

prow/istio-presubmit.sh
0920660532360b6bd2c809855537e228eb076538
link
/test istio-presubmit

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

the errors are getting fixed in mandar's pr #3638
/lgtm
but will need to / retest once that's fixed

/test istio-presubmit
/test istio-pilot-e2e

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

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0920660532360b6bd2c809855537e228eb076538
link
/test istio-pilot-e2e

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


Jupyter Notebook Kernel on Remote SSH Server suddenly died SILENTLY while running code and cannot be restarted without reloading entire window

Does this issue occur when all extensions are disabled?: No

VS Code Version: 1.83.1 (Latest)
OS Version: Windows 11 (Latest)

Steps to Reproduce:

SSH into a remote server
Open an existing Jupyter Notebook with some code, in my case, Pytorch code
Run the code
Wait for a couple minutes
The Ipykernel of my notebook SILENTLY dies and CANNOT be restarted by clicking on the restart kernel button.

Note: This behavior doesn't always happen but rather, sporadically, so maybe harder to reproduce. Will update this thread if I can find a consistent way to cause this bug to happen

I apparently have the same problem working with WSL2

I am having the same issue right now, it never happened before. This should be something new.
Computer: Macbook Pro M2 Max
Client OS: macOS 14.0
Server OS (VM): Ubuntu 22.04.3 LTS
VS Code Version: 1.83.1

Just an update since it's been a week, Reverting Pylance back to v2023.10.40 resolves everything. So it's very likely that the new Pylance update v2023.10.50 broke it. I have seen same behavior consistently on 5 different remote ubuntu servers now.

Does anyone have any updates on this issue?

bumping this

@ductai199x the latest Pylance extension should have this fixed now.


fix: lru_cache on class methods introduces leaks

when
class Cheese:
    def __init__(self, animal: str):
        self.animal = animal;

    @functools.lru_cache
    def numHoles(self, weight: float):
        return Infinity

apparently even when the created object swiss = Cheese("cow") goes out of scope, the memory within swiss is not garbage collected (like animal) if numHoles was called at some point.
This is because functools.lru_cache looks at the parameters of numHoles, and self happens to be one of them. Somehow this leads to weirdness as described in #522.
I switched to methodtools.lru_cache which is the same thing, but handles for classes.

What if we take it out of the Zeno object?

I didn't want to hash extra stuff.
the run_tsne would need the dataframe to be passed in as an argument if it were separate

I see, so now it just hashes the model name? awesome!

bingo


Add "run current file as module" in addition to "run current file"

Because of how strict the import system is, it is sometimes required to execute a file as a module (with the -m command line option)
However, since you need a module name and not a full path afterwards, you need to convert from
+python path/to/file.py
-python -m path.to.file

Could we have that command along with "run current file in integrated terminal"?

Thank you for submitting your feature request and everyone who considered it! Unfortunately, this issue did not receive enough votes over the allotted time, and so we are closing the issue. PRs are welcome so you can create a PR that fixes this if you are passionate about getting this feature across the finish line. Thanks!


Updated Documenation and Added Example

Closing in favor of the newer one in https://github.com/scrapy-plugins/scrapy-zyte-api/pull/7.


Gauge on Loop - TypeError: Cannot convert undefined or null to object

Hi Al,
I am trying to create the Gauge in ngFor loop.  I have the directory like below.
<justgage [options]="options" [max]="max" [value]="value"></justgage>
The parameter configuration is done like below on ngOnInit
      let options = {         min: 0,         title: 'Visitors'       };      let max = 100;      let value = 67;
But getting the for five time looping

ERROR TypeError: Cannot convert undefined or null to object
at JustgageComponent.create (justgage.component.js:25)
at JustgageComponent.ngOnInit (justgage.component.js:11)
at checkAndUpdateDirectiveInline (core.js:12096)
at checkAndUpdateNodeInline (core.js:13599)
at checkAndUpdateNode (core.js:13542)
at debugCheckAndUpdateNode (core.js:14414)
at debugCheckDirectivesFn (core.js:14355)
at Object.eval [as updateDirectives] (DashboardNumeriqList.html:25)
at Object.debugUpdateDirectives [as updateDirectives] (core.js:14340)
at checkAndUpdateView (core.js:13509)

you can't use locale variable via let
should use class member:
class xxx {
  options = {};
}

Thanks... It's working.  Is there way to create dynamic gage with dynamic parameters.

this.options = {...};

I need to do it for five different options.. Like options1, options2, options3....
We need to create gage1, gage2, gage3 like this inside the for loop

Cannot find name 'JustGage' while doing like below.
`var createGauge = {};
createGauge = new JustGage({
            }) `

Got Resolved... Thanks for the cooperation