HDDS-2285. GetBlock and ReadChunk command from the client should be s…

It can be observed that the GetBlock and ReadChunk command is sent to 2 different datanodes. It should be sent to the same datanode to re-use the connection.
19/10/10 00:43:42 INFO scm.XceiverClientGrpc: Send command GetBlock to datanode <IP_ADDRESS>
19/10/10 00:43:42 INFO scm.XceiverClientGrpc: Send command ReadChunk to datanode <IP_ADDRESS>

Thanks @hanishakoneru for working on this. I am thinking of a case where, let's say two threads trying to read two different keys using the same XceiverClientGrpc object as it is shared object, one thread issues a getBlock for block1 to dn1, dn1 got cached and further read chunk calls for all chunks for all blocks(block1 and block2) will go the same dn. The idea of shuffling the datanodes was basically to distribute the load across the datanodes in a pipeline, but for the same block it should always be tried on the same order of datanodes. I think the patch won't address both these concerns here. What do you think?

Thanks for the review @bshashikant .
I updated the patch to address your comment. I am caching the DN per blockID.

/retest

Thank you @bshashikant and @bharatviswa504 for the reviews.
CI run is green. I will merge the PR.


Create dataset loader for Mozilla Pontoon Translations

Dataloader name: mozilla_pontoon/mozilla_pontoon.py
DataCatalogue: http://seacrowd.github.io/seacrowd-catalogue/card.html?mozilla_pontoon

Dataset
mozilla_pontoon

Description
This is a dataset containing translations from Mozilla's Pontoon localization platform for more than 200 languages. Source sentences are in English. https://pontoon.mozilla.org/teams/

Subsets
Burmese - English, Cebuano - English, Gorontalo - English, Hiligaynon - English, Ilocano - English, Indonesian - English, Javanese - English, Khmer - English, Lao - English, Malay - English, Nias - English, Tagalog - English, Thai - English, Vietnamnese - English

Languages
mya, ceb, gor, hil, ilo, ind, jav, khm, lao, zlm, nia, tgl, tha, vie

Tasks
Machine Translation

License
BSD 3-clause “New” or “Revised” license (bsd-3-clause)

Homepage
https://huggingface.co/datasets/ayymen/Pontoon-Translations

HF URL
https://huggingface.co/datasets/ayymen/Pontoon-Translations

Paper URL
-

#self-assign

@holylovenia @SamuelCahyawijaya @sabilmakbar
Some points after checking the HF URL and platform:

Pontoon itself is just a localization platform for different Mozilla projects, including CommonVoice (issue #141). It's not indicated which project each entry comes from in the HF data.
Translations may be obtained from individual project Github repos. They cannot be obtained from the Pontoon Github repo.
You can download translations from the Pontoon platform, but not in the same format as in the HF URL. Formats may also differ per project.
The dataset uploader seems to be a Pontoon contributor (but not a major one). The dataset was last updated within the last month.

I think there are two ways to go about this:

Implement dataloaders for any valid individual project
Continue with the HF data and just note any possible issues with data quality, overlap, timeliness, etc.

I think we can do the 2nd option but what do you think?

Hi @elyanah-aco, thanks for noting down these points. Let's go with the second option.


Merge cache_implementation change from Master back to QA

Coverage increased (+0.005%) to 85.408% when pulling 6fdfb44a8bf6b517a18b17754aa0dfd457b25b75 on master into 6ff3c32a1c671b2d65f21b0e770fa95c30ce1a53 on qa.


Error using multiple dynamic slot names (Invalid dynamic argument expression)

Version
2.6.10
Reproduction link
https://github.com/tbutcaru/v-issue-multiple-dynamic-slot-names
Steps to reproduce

Clone this repo: https://github.com/tbutcaru/v-issue-multiple-dynamic-slot-names
Run: npm install
Run: npm run serve

What is expected?
Multiple dynamic slot names should work as expected.
What is actually happening?
The following error is thrown:
Invalid dynamic argument expression: attribute names cannot contain spaces, quotes, <, >, / or =.#[headerslot]>Header slot</template>
    Default slot
    <template #[footerslot]

If one of the dynamic slot names is made static (doesn't matter which), the application is working.
My investigation

file: node_modules/vue-template-compiler/build.js
line: 2563 (inside attrs.forEach(function (attr) {) added the following warn:

warn$1('--------------->> ' +  attr.name);

Investigation results:

In the working scenario with only one dynamic slot name: the value of that dynamic slot name is #[headerslot]
In the error scenario with two dynamic slot names: the value of the first dynamic slot name is

#[headerslot]>Header slot</template>
    Default slot
    <template #[footerslot]

So, it looks like the compiler doesn't know how to extract just the attribute when there are multiple dynamic slot names.

@tbutcaru Bump vue-template-compiler version to 2.6.6. Versions of vue-template-compiler and vue should always be the same.

Reproduction

The shorthand is only available when an argument is provided. Try to use:
 <template v-slot:[dynamicSlotName]>     ...   </template>

The shorthand is only available when an argument is provided. Try to use:
 <template v-slot:[dynamicSlotName]> ... </template>

I've tried that before creating the issue and the result is the same 😞

@davis90 's solution worked for me. I don't get why it works too.

Why are the errors so misleading in vue. Thanks though your solution worked

Hey all, I am using vue 2.6.10, I got same problem, after google something I found this way to fix it.
  <template v-slot:[`content_`+ValueA]="" >
    12345
  </template>
  <template v-slot:[`content_`+ValueB]>
    12345+101
  </template>

the main idea is add '=""' after [], remember only last one can keep without ="", for short just add ="" for all v-slot
good luck for everyone.
btw VUE is good.

Solution proposed by @016 seems to work and is less verbose than adding keys

Hey all, I am using vue 2.6.10, I got same problem, after google something I found this way to fix it.
  <template v-slot:[`content_`+ValueA]="" >
    12345
  </template>
  <template v-slot:[`content_`+ValueB]>
    12345+101
  </template>

the main idea is add '=""' after [], remember only last one can keep without ="", for short just add ="" for all v-slot
good luck for everyone.
btw VUE is good.
a online demo based on @Justineo demo code

Thanks, look
<template v-slot:[cell(+rango.abreviatura+)]="data" v-for="rango in rangos">             <b-form-radio v-model="data.item.valor" :name="'radio-size-'+data.item.id" size="sm" value="1"></b-form-radio>         </template>


Support Spring Boot 3.x / Camunda 7.20

Camunda Keycloak Identity Provider Pull Request
With https://github.com/camunda/camunda-bpm-platform/issues/2755 Camunda7 switched to Spring Boot 3.1.
This should be supported by camunda-platform-7-keycloak.
Issue #121
Description

Bump project version to 7.20.0-alpha3
Upgrade Camunda to 7.20.0-alpha3
Upgrade Spring Boot to 3.1.2
Upgrade to org.apache.httpcomponents.client5:httpclient5
Replace various JavaEE dependencies with a current JakartaEE version.

Migrated Spring Security SecurityFilterChain chain configuration. Please review with extra care!
Additional context
Fixes #121
All integration test using the local keycloak instance are green.
Types of changes

[ ] Bug fix (non-breaking change which fixes an existing open issue)
[ ] New feature (non-breaking change which adds functionality to an extension)
[ x] Breaking change (fix or feature that would cause existing functionality of an extension to change)
[ ] Documentation update (changes made to an existing piece of documentation)

Checklist:

[ ] My code adheres to the syntax used by this extension.
[x ] My pull request requires a change to the documentation.
[ x] I have updated the documentation accordingly.
[ ] I have read the Camunda Community Hub documentation
[ ] I have read the Pull Request Process documentation
[ ] I have added or suggested tests to cover my changes suggested in this pull request.
[ ] All new and existing CI/CD tests passed.
[ ] I will /assign myself this issue, and add the relevant [issue labels] to it if they are not automatically generated by Probot.
[ ] I will tag @celanthe in a new comment on this issue if 30 days have passed since my pull request was opened and I have not received a response from the extension's Maintainer

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

HEADS-UP: HttpCLient5 dropped the LaxRedirectStrategy from HttpClient which has been used here explicitly.

HEADS-UP: HttpCLient5 dropped the LaxRedirectStrategy from HttpClient which has been used here explicitly.

Thanks for the hint! According to https://www.baeldung.com/httpclient-redirect-on-http-post the general behaviour of HttpClient5 seems to implement this "lax redirect strategy" out of the box and is now default.
Anyway - thanks a lot for your work so far!! 👍  I hope I will have time to review this later this week.

Thanks @VonDerBeck for creating and maintaining this excellent plugin.
Some thoughts:
I see that usually this plugin follows hot on the heels of Camunda minor releases. Given the amount of changes necessary to upgrade the baseline to JakartaEE and Spring Boot 3, I thought it is a wise move to start a bit earlier in order to give feedback to Camunda itself before their final 7.20.0 release. Have you considered to create a 7.19.x branch in order to support 7.19.x longer than usual? While we impatiently await the 7.20.0 release, I see quite some projects struggling with the upgrade.

Hello, I encountered an error when packaging this version with Camunda 7.20 using spring boot 3.1.2: BOOT INF/lib/jaxb core 4.0.3. jar is a duplicate but no duplicate handling strategy has been

Hello, I encountered an error when packaging this version with Camunda 7.20 using spring boot 3.1.2: BOOT INF/lib/jaxb core 4.0.3. jar is a duplicate but no duplicate handling strategy has been
when i use bootjar

@yangle94 : thanks for the hint. The PR is a slightly larger one and still needs work in various places. We will be looking into this.

I just upgraded one of my process applications to 7.20.0-alpha3 using the tip of this branch. No issues so far. The application uses the KeycloakIdentityProviderPlugin (from the extension module) + spring-security sso login.

我刚刚使用此分支的尖端将我的一个流程应用程序升级到 7.20.0-alpha3。到目前为止没有问题。该应用程序使用（从模块）+ spring-security sso 登录。 KeycloakIdentityProviderPluginextension ``

you can try ./gradlew bootjar, gradle version 7.5.1

I found that the camunda starter dependency on com. sun. xml. bind: jaxb impl: 4.0.3->com. sun. xml. bind: jaxb core: 4.0.3, but this PR relies on org. lassfish. jaxb: jaxb core: 4.0.3

我刚刚使用此分支的尖端将我的一个流程应用程序升级到 7.20.0-alpha3。到目前为止没有问题。该应用程序使用（从模块）+ spring-security sso 登录。 KeycloakIdentityProviderPluginextension ``

you can try ./gradlew bootjar, gradle version 7.5.1

I found that the camunda starter dependency on com. sun. xml. bind: jaxb impl: 4.0.3->com. sun. xml. bind: jaxb core: 4.0.3, but this PR relies on org. lassfish. jaxb: jaxb core: 4.0.3

@yangle94 Not reproducible for me using camunda-platform-7-keycloak-run-7.20.0-SNAPSHOT.jar produced by this branch together with the current camunda-bpm-run-ee-7.20.0-alpha3-ee distribution.

I just upgraded one of my process applications to 7.20.0-alpha3 using the tip of this branch. No issues so far. The application uses the KeycloakIdentityProviderPlugin (from the extension module) + spring-security sso login.

@cachescrubber: the plugin itself is - apart from migrating the HttpClient version - is not a big deal. I did a first test with the Camunda BPM Run distribution in version 7.20.0-alpha3-ee and the plugin itself worked as expected.
HTTPS tests are ok. Proxy not yet tested. Pipeline here at Github started working again.
More work seems to be necessary when it comes to the SSO example. Generally we're - thanks to your work - a good step forward 👍

@VonDerBeck  Thanks for your review. Indeed, most effort in updating the examples has been the migration of the WebSecurityConfigurerAdapter to SecurityFilterChain bean definitions. I have done that numerous times the last weeks / month, so I'm pretty confident - but as I initially wrote

Please review with extra care!
When you are happy with the various SecurityFilterChain in the examples projects, the embedded code snippets in README.md need to be updated as well.

Sorry, my mistake. The problem is that org. keycloak: keycloak admin client: 22.0.1 integrates with camunda bpm run ee-7.200-alpha3, not this PR

If you agree to support Testcontainers in this project, I could commit the changes to this branch or file them as a separate PR.

You are welcome. 👍

@cachescrubber:
I'm going to merge this PR to a new temporary branch 121-support-spring-boot-3x-camunda-720. The main parts are all working 👍 , but there is remaining work in README's, the Kubernetes build/setup of the example etc. It could be that I have to update the basic Camunda parent pom as well including github workflows, but this is another story. I'm going to do this in the separate branch, so that almost everything is prepared when Camunda 7.20 is officially released and I only need to merge to main and release everthing. For the 7.19 version we have a tag, so that in case of emergency it is possible to create a separate 7.19 branch with special updates for the 7.19 release.
If there is anything you see that has to be done for the 7.20 release - please refer to the mentioned 7.20 branch above.
Thanks a lot for your support, good work! 😃
Gunnar


Subword matching fails on upper case sequences

This is a bug knowingly introduced by #67
Subwords in camel/parcal-cased tokens with a sequence of upper case letters are not distinguished correctly. Anything after a sequence of upper case letters will register as one word.
Visualization of current behavior:
APIMatcherFactory -> APIMatcherFactory

vs desired behavior:
APIMatcherFactory -> API Matcher Factory

Have a look at the regexp I made for the reformatter:
https://github.com/knausj85/knausj_talon/blob/12229e932d9d3de85fa2f9d9a7c4f31ed6b6445b/code/formatters.py#L270
Specificly:
(?<=[A-Z])(?=[A-Z][a-z])

@AndreasArvidsson sorry my lookahead regex syntax is a bit rusty 😅.  Would that be the whole regex?  I don't see any repeats in there

That is not the whole regex. Check the link.
That part just matches where to break when there are sequiential upper case characters.

So do we wanna just use that whole regex then?

I have to look up how it's used first. This regular expression matches where to break not the tokens itself. So I'm going to have to do some modifying probably.

PR #88

closed by #88


Handle preference alerts from the PlatformsListView

The expected alert when choosing to delete a platform was not appearing. If I opened the PreferencesView and moved it off to the side I can see the alert appear over it when clicking the delete button. After adding this change I was able to see the alert in the PlatformsListView.
Before:

After:

Thanks @chickdan - short story is originally I had it in Settings, but forgot to move the alert with it!


Update rainbowhat README

The RainbowHat driver now supports both Rpi3 and Imx7
Hence, the public RainbowHat.BUTTON_A constant has been replaced by a private BoardDefaults.getButtonA(). Same for the LEDs constants.
This commit updates the README.md file to use the new openButtonA(), createButtonAInputDriver(), and openLedRed() methods.

Thanks for the fix!


refactor: move TVA logic into uniteLegale model

Quick refactoring following a call with @skelz0r. Moves the TVA business logic into the model instead of having it in the view

Merci pour les retours !


Incompatible with new versions of Vagrant

Since Vagrant 1.17 2.2.17, it seems this plugin no longer works due to vagrant updating to support ruby 3.0.
Edited to updated the Vagrant version.

I met the same problem after vagrant version updated:
✗ vagrant scp --help
Traceback (most recent call last):
	4: from /opt/vagrant/embedded/gems/2.2.18/gems/vagrant-2.2.18/bin/vagrant:231:in `<main>'
	3: from /opt/vagrant/embedded/gems/2.2.18/gems/vagrant-2.2.18/lib/vagrant/environment.rb:290:in `cli'
	2: from /opt/vagrant/embedded/gems/2.2.18/gems/vagrant-2.2.18/lib/vagrant/cli.rb:67:in `execute'
	1: from /Users/mingli/.vagrant.d/gems/2.7.4/gems/vagrant-scp-0.1.0/lib/vagrant/scp/commands/scp.rb:13:in `execute'
/Users/mingli/.vagrant.d/gems/2.7.4/gems/vagrant-scp-0.1.0/lib/vagrant/scp/commands/scp.rb:44:in `parse_args': undefined method `length' for nil:NilClass (NoMethodError)

✗ vagrant --version
Vagrant 2.2.18

✗ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]

I'm having issues with this plugin as well.
What I noticed is that vagrant 2.2.18 installs vagrant-scp 0.1.0, but from tags here end rubygems.org version 0.5.7 should be available ...
Trying to force 0.5.7 gives
Installing the 'vagrant-scp --version '0.5.7'' plugin. This can take a few minutes...
Vagrant failed to properly resolve required dependencies. These
errors can commonly be caused by misconfigured plugin installations
or transient network issues. The reported error is:

conflicting dependencies net-scp (~> 1.1) and net-scp (= 3.0.0)
  Activated net-scp-3.0.0
  which does not match conflicting dependency (~> 1.1)

  Conflicting dependency chains:
    net-scp (= 3.0.0), 3.0.0 activated

  versus:
    vagrant-scp (= 0.5.7), 0.5.7 activated, depends on
    net-scp (~> 1.1)

Looks like https://github.com/invernizzi/vagrant-scp/commit/6b8b15859b09d4ab89a51bd976011d20f4eb607c needs to be  released.

As a work-around, you can locally build and install it. After you clone the repo, run gem build vagrant-scp.gemspec. Then run vagrant plugin install /path/to/vagrant-scp-0.5.8.gem, you should see something like this:
Installing the '/path/to/vagrant-scp-0.5.8.gem' plugin. This can take a few minutes...
Successfully uninstalled vagrant-scp-0.1.0
Installed the plugin 'vagrant-scp (0.5.8)'!

Once 0.5.8 is installed, you might consider re-installing the plugin normally in order to receive future updates.

I verified that 0.5.9 gets installed when using the latest Vagrant (2.2.19).
Thank you!


Export as Zip not working

Bug Report
The export as ZIP button as no effect
Expected behaviour
ZIP bundle of all files should be downloaded by browser
Actual behaviour
No response
Steps to reproduce the behaviour
Navigate to https://dockstore.org/workflows/github.com/h3abionet/h3agatk:1.0.1?tab=info and click "Export as ZIP" button.
(Any workflow/tool will do)
Environment (Browser or OS and Dockstore version)
Describe your operating system (relevant for CLI and launcher) or your web browser (name and version, relevant for the Dockstore website)
Chrome on macOS: Version 69.0.3497.100 (Official Build) (64-bit)
Thanks!
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.6
┆Sprint: Seabright Sprint 5 Electric
┆Issue Number: DOCK-428

@agduncan94 you are right sir! The popup notification is so non-intrusive that I missed it until I was actively looking for it. Is there a way to have this do a regular file download, rather than have a popup?

@kaushik-work I also didn't notice on Chrome since they don't make the popup block obvious, it was only when I used Firefox did I notice because they had a rather large warning bar for the popup block.
It is possible there is a way to do this as a regular file download, we will have to investigate. I could see this being an issue since a lot of people use Chrome.
I think for now this is a good thing to add to our FAQ in case more people run into this issue.

For whomever is going to make the fix for this: just change the #downloadZipButton button (workflow and tools) into an anchor and [href]="downloadZipLink" and remove the downloadZip() function

Verified that export to zip now works as a regular file download not a pop-up.


01/03/2024 Not able to run on Windows 10

Hello,
I am currently able to run the 12/14 release, but I get an error with 01/03/2024 release. One of the changes must have had a negative impact, or the installation instructions need to be modified for something. I'm unsure.
Error:
{"timestamp":"2024-01-12 17:50:10","level":"error","message":"uncaughtException: Invalid URL\nTypeError: Invalid URL\n    at new URL (node:internal/url:775:36)\n    at getHost (file:///C:/Users/User/Desktop/Purple_A11Y_01032024/purple-a11y/utils.js:15:31)\n    at combineRun (file:///C:/Users/User/Desktop/Purple_A11Y_01032024/purple-a11y/combine.js:42:81)\n    at runScan (file:///C:/Users/User/Desktop/Purple_A11Y_01032024/purple-a11y/index.js:62:11)\n    at file:///C:/Users/User/Desktop/Purple_A11Y_01032024/purple-a11y/index.js:99:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}

Adding a screenshot to show how are I can get with an audit

Thanks @jcrain23 for the feedback.  I will be creating a release soon to fix the issue.  The code fix needed is https://github.com/GovTechSG/purple-a11y/commit/10f7a735392121d59841c94f773ea2603fc5f849

@younglim Thank you! You rock!


bug-fix: Ensure PDB Deletion when VMI Reaches Final State

What this PR does
Before this PR:
When a Virtual Machine Instance (VMI) reaches its Final state (whether Succeeded or Failed, such as after a guest OS shutdown), the associated Pod Disruption Budget (PDB) is not deleted. This can lead to unnecessary PDB alerts being triggered.
After this PR:
The Pod Disruption Budget (PDB) associated with the VMI will be automatically removed once the VMI reaches its Final state. This prevents unnecessary PDB alerts from being triggered.
Why we need it and why it was done this way
Without this fix, when a VMI is shut down from within the guest OS (or in similar cases), a PDB alert is triggered unnecessarily, potentially misleading users about the actual state of their VMs. This fix ensures that PDBs are properly cleaned up.
Approach:
The chosen solution deletes the PDB when the VMI reaches either the Succeeded or Failed phase. This allows the VMI to remain available for inspection by the user, including status, conditions, or virt-launcher pod logs.
Special notes for your reviewer
clone of #12640
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[x] PR: The PR description is expressive enough and will help future contributors
[x] Code: Write code that humans can understand and Keep it simple
[x] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[x] Testing: New code requires new unit tests. New features and bug fixes require at least one e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. Consider a user-guide update if it's a user-facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note
bug-fix: Ensure PDB associated with a VMI is deleted when it Reaches Succeeded or Failed phase

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

Maybe there is another panic?

Maybe there is another panic?

probably, i added the --output-interceptor-mode=none now let's see what's going on

Maybe there is another panic?

probably, i added the --output-interceptor-mode=none now let's see what's going on

Can you move this PR to Draft and for the next executions manually run /test pull-kubevirt-e2e-k8s-1.31-sig-compute?
This will safe some CI resources :)

Maybe we should try to run everything serial, I need to recall where to tweak it

Its in hack/functests.sh:
KUBEVIRT_E2E_PARALLEL_NODES=${KUBEVIRT_E2E_PARALLEL_NODES:-6}

Lets set it to 1 and run the PR in draft mode, the 1.31 compute lane only

@enp0s3 what are the benefits of using 1?

Its in hack/functests.sh:
KUBEVIRT_E2E_PARALLEL_NODES=${KUBEVIRT_E2E_PARALLEL_NODES:-6}

Lets set it to 1 and run the PR in draft mode, the 1.31 compute lane only

@enp0s3 what are the benefits of using 1?

This will run them with only one parallel node, which in effect is the same as setting
export KUBEVIRT_E2E_PARALLEL=false
make functest

done here: https://github.com/kubevirt/kubevirt/blob/main/automation/test.sh#L350C8-L350C29

Its in hack/functests.sh:
KUBEVIRT_E2E_PARALLEL_NODES=${KUBEVIRT_E2E_PARALLEL_NODES:-6}

Lets set it to 1 and run the PR in draft mode, the 1.31 compute lane only

@enp0s3 what are the benefits of using 1?

This will run them with only one parallel node, which in effect is the same as setting
export KUBEVIRT_E2E_PARALLEL=false
make functest

done here: main/automation/test.sh#L350C8-L350C29

Drawback is that the test lane might timeout since running all tests in serial takes longer.

Its in hack/functests.sh:
KUBEVIRT_E2E_PARALLEL_NODES=${KUBEVIRT_E2E_PARALLEL_NODES:-6}

Lets set it to 1 and run the PR in draft mode, the 1.31 compute lane only

@enp0s3 what are the benefits of using 1?

@fossedihelm My assumption was that the required information is shadowed by the parallel runs, otherwise what causes the lack of the stack trace printout?

Its in hack/functests.sh:
KUBEVIRT_E2E_PARALLEL_NODES=${KUBEVIRT_E2E_PARALLEL_NODES:-6}

Lets set it to 1 and run the PR in draft mode, the 1.31 compute lane only

@enp0s3 what are the benefits of using 1?

@fossedihelm My assumption was that the required information is shadowed by the parallel runs, otherwise what causes the lack of the stack trace printout?

@enp0s3 Ginkgo is intecepting output 1 to later attach it - if a process dies (i.e due to a panic) the output goes missing. This has been seen in this PR 2.
In contrast, when adding
--output-interceptor-mode=none

to the Ginkgo call the output will still get printed out.
NB: IMHO it wouldn't matter what number of threads you would use.

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

Strange, we are still seeing the panic in the usbredir tests 1
@xpivarc FYI

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

@enp0s3 @xpivarc Looks like when i'm running the lane without the addition of the new e2e test it's passes just fine

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/12809/pull-kubevirt-e2e-k8s-1.31-sig-compute/1835301497059938304
This is interesting, I was convinced something is wrong with the e2e test, but now when i moved it to different location, the job passes just fine.

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

Maybe there is another panic?

probably, i added the --output-interceptor-mode=none now let's see what's going on

Can you move this PR to Draft and for the next executions manually run /test pull-kubevirt-e2e-k8s-1.31-sig-compute? This will safe some CI resources :)

Hey @dasionov! :)
If there's a single test you're after, it'd be even better to test it locally (I can gladly help you set up the environment!). It would both save CI resources and get you answers more quickly. If there's a need to run the whole suite then you should definitely use CI and you can ignore this comment :)

Maybe there is another panic?

probably, i added the --output-interceptor-mode=none now let's see what's going on

Can you move this PR to Draft and for the next executions manually run /test pull-kubevirt-e2e-k8s-1.31-sig-compute? This will safe some CI resources :)

Hey @dasionov! :) If there's a single test you're after, it'd be even better to test it locally (I can gladly help you set up the environment!). It would both save CI resources and get you answers more quickly. If there's a need to run the whole suite then you should definitely use CI and you can ignore this comment :)

Hey Thanks, but the e2e test itself is innocent and it passes locally just fine, the problem occurs when the compute lane runs with 6 nodes in parallel and somehow my test when it's located in a new test file (pdb_test.go) makes usbredir_test.go panic (in a way I cant explain)

@dasionov Hi, the USB redirection test fix was merged, I think you can graduate the PR from draft.

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

@dasionov Hi, the USB redirection test fix was merged, I think you can graduate the PR from draft.

i would assume that too, but job already failed once after the fix was rebased, so i believe it's not over yet.

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

https://github.com/kubevirt/kubevirt/pull/12842 - sorry for the oversight

/test pull-kubevirt-e2e-k8s-1.31-sig-compute

/approve
Thanks @dasionov for your patience in making sure we were not introducing any regressions!

/cherrypick release-1.3

@dasionov can you take care of the manual backport?


Creation of teleTan should log creators id

Where to find the issue
Solution architecture
Describe the issue
Creation of teleTans is a security risk if they can be created without logging the creator. This may be a low level risk for health authority employees but it is a higher risk with hotline employees.
Suggested change
When generating a teleTan store the id of the employee, who creates it, together with the teleTan on the verification or portal server. This does not endanger the privacy of the CWA-app User because the additional information is not connected with the App User.
But if an employee creates teleTans for misuse (yes this may happen - the world is sometimes bad) it is possible to verify who created the misused teleTans.

The solution architecture document only describes the high-level processes.
Please wait for the documentation and/or code of the Verification Server before making speculations about the specific implementation.

As @tklingbeil said: At this time this issue is speculation and we will therefore close it. Once a concrete, reproducible issue arises, you can either reopen this issue or create a new one. Thank you for your understanding.
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team


code changes for compatibility with new MyRobotLab versions

Ahoy bcarroll !
Thanks for the pull request !
We appreciate all you do.
However, all pull requests need to be against the "develop" branch
This is our development "integration" branch - we test, process, re-test, mrl test - and merge against master internally...
Please do this pull request against our development branch ..
Thank you !


fix: E2E Series Metadata

This is an implementation to wait for the study series to be loaded.
The current implementation we're using in OHIFStudyViewer waits for the image to be rendered. So, it's possible for the first viewport to render an image before any other thumbnails are showing (if the PACS has really slow metadata requests).
https://github.com/OHIF/Viewers/blob/a36cb63926d2cf439e7e68f29be160cc4799eaa3/platform/viewer/cypress/integration/common/OHIFStudyViewer.spec.js#L4
waitDicomImage works now because it buys us more time, and will probably continue to work so long as we have a PACS that isn't super slow, but could still cause the occasional intermittent failure, e.g.:

First series loads
All other series are requested asynchronously (running in background)
First image is displayed
Test fails ❌
Other requested series resolve
Thumbnails 2+ are shown

Slack notes:

We can't know number of thumbnails that will be rendered based on meta
We will know how many we care about at time of testing (context)
Have "minimum" thumbnails to wait for as part of command
Allow user to pass in a custom number

Closing, as discussed


Better CNI handling

Mimic the kubelet behavior in passing extra CNI args
Move hwaddr from CNI veth to the VM
Ignore CNI-provided json config if it has no routes (i.e. no default gw) and extract it from netns instead. This makes Virtlet support Weave.

Fixes #284

This change is

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Reviewed 5 of 5 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

one small nit

Reviewed 4 of 4 files at r1, 5 of 5 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

README.md, line 34 at r2 (raw file):

By default, CNI bridge plugin is used for cluster networking. I's also possible to override this with flannel or weave plugin, e.g.:

s/I's/It's/

Comments from Reviewable

Review status: 8 of 9 files reviewed at latest revision, 1 unresolved discussion.

README.md, line 34 at r2 (raw file):
Previously, vefimova (Victoria Efimova) wrote…
s/I's/It's/

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


gentoobb/glibc rootfs.tar lacks compiled locale-archive

The reference gentoobb/glibc image, which is served as base image for all glibc-based containers, doesn't copy compiled locale-archive to rootfs.tar when building.
You will encounter locale errors
~ docker run -i -t gentoobb/glibc
/ # locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX

This is because locale-gen will generate compiled locale-archive into /usr/lib/locale/locale-archive, while this specific file isn't copied into rootfs.tar. BTW gentoo-bb is based on gentoo nomultilib profile, then /usr/lib is actually a symlink to /usr/lib64.
The locale-gen source has been removed when building gentoobb/glibc image, thus you can no longer rebuild locale inside container by running locale-gen.
To solve this problem I added manually locale-archive to $EMERGE_ROOT before tar'ing the rootfs.
In gentoo-bb/dock/gentoobb/images/glibc/Buildconfig.sh
# Add following lines into either configure_rootfs_build() or finish_rootfs_build()

# copy complied locales into rootfs
mkdir -p $EMERGE_ROOT/usr/lib64/locale
cp /usr/lib64/locale/locale-archive $EMERGE_ROOT/usr/lib64/locale/

Thanks for reporting/fixing @azhuang. :+1:  I placed the fix into configure_bob() hook for better readability.


Windows set up

On the set up steps windows users have half of their json file missing.
There is an easy known fix: undo the deletion with the git tool on vscode
I will go back and update this issue with more specific details later.

cool guy mau

what do you mean by this

When a Windows developer follows the wiki instructions, at some point half of one of the config files gets deleted.

no


Added IITD to the list of educational institutions

@Akshat-IITD This domain belongs to alumni association, i.e. to those who graduated the university already. Former (graduated) students are not eligible for free educational subscription for JetBrains tools. I have to close this request without merging.


v1.0.28 does not write to syncthing.log file

v1.0.27 does, but after upgrading to v1.0.28 it stops. syncthing.log file has old modification time and content.
Using syncthing v0.12.0-rc4 with both versions

I took that out. Syncthing writes to its own log file in %LOCALAPPDATA%\Syncthing, so there wasn't any point.

Hm, weird, for me it doesn't. Anything in config files of synctrayzor that could prevent my syncthing to write to that file? In gui settings I have no flags set...

Hrm, you're right, it's not going it any more for me either. Asking calmh on IRC...

Righty, the next version will log Syncthing's output.

This is in v1.1.0.


Is there a way to split multi line logs into multiple log entries?

Hi! Thanks for reporting this feature/bug/question!
Please keep / fill in the relevant info from this template so that we can help you as best as possible.
Type (choose one):

Question (or feature request)

NLog version: 4.3.7
Platform: .Net 4.6
Current NLog config xml
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

  <!-- optional, add some variables
  https://github.com/nlog/NLog/wiki/Configuration-file#variables
  -->
  <variable name="myvar" value="myvalue"/>

  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets>
    <target
      name="console"
      xsi:type="ColoredConsole"
      errorStream="true"
      layout="${pad:padding=1:fixedLength=true:inner=${level}}${date:format=yyyy-MM-ddTHH\:mm\:ss.ffff}${callsite:className=false:fileName=true:includeSourcePath=false:methodName=false} ${message}">
      <highlight-word regex=" .*$" foregroundColor="White"/>
      <highlight-row condition="level == LogLevel.Trace" foregroundColor="Gray" />
      <highlight-row condition="level == LogLevel.Debug" foregroundColor="White" />
      <highlight-row condition="level == LogLevel.Info" foregroundColor="Green" />
      <highlight-row condition="level == LogLevel.Warn" foregroundColor="Yellow" />
      <highlight-row condition="level == LogLevel.Error" foregroundColor="Magenta" />
      <highlight-row condition="level == LogLevel.Fatal" foregroundColor="Red" />
    </target>
  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="console" />
  </rules>
</nlog>

in case of a FEATURE REQUEST:

Why do we need it?
Since the multiple line message can be hard to read (and the regex to change the color won't work in the multiple line case), it may be helpful if it's separated into multiple entries.

Could you give an example?
It's possible with some C#, but not sure out-of-the-box

Yes, sure.
For example, I have a multi line json object that I want to log. The json is "pretty" with indentation, but will be broken since the log has prefixes.
To accomplish my purpose with extra code, I can do it with

foreach (var line in message.Split('\n'))
{
    logger.Warn(line);
}

but this is not a perfect solution as you may agree.

but how should the file look like in this example?

You mean the output? As my xml above suggests, it should be,
E2016-08-24T10:54:00.0000(Abc.cs:12) {
E2016-08-24T10:54:00.0000(Abc.cs:12)     "name": "data",
E2016-08-24T10:54:00.0000(Abc.cs:12)     "data": [
E2016-08-24T10:54:00.0000(Abc.cs:12)         "a",
E2016-08-24T10:54:00.0000(Abc.cs:12)         "b"
E2016-08-24T10:54:00.0000(Abc.cs:12)     ]
E2016-08-24T10:54:00.0000(Abc.cs:12) }

instead of,
E2016-08-24T10:54:00.0000(Abc.cs:12) {
    "name": "data",
    "data": [
        "a",
        "b"
    ]
}

On another point, it will also be helpful if the "highlight-word" config I provided in the xml config will work for multi line logs.
Currently, for the multiple line logs won't be correctly colored by that config, only colored by the "highlight-row" config, while it works well for single line logs.

On another point, it will also be helpful if the "highlight-word" config I provided in the xml config will work for multi line logs.

Please create a new GitHub issue for that. Guess that one is easy to fix.

You mean the output? As my xml above suggests, it should be,

Yes that's helpful :)
My suggestion is to create a layout renderer wrapper or target wrapper. The first one would be the most logical one, but not sure if it's possible. Have to check the source code in depth for it.

I guess the new issue created #1604?

Yeah, that's right.

They difficult part is here that we should now which parts should be splitted. (e.g. ${message} in this case).
A naieve implementation would be:
using System;
    using System.ComponentModel;
    using System.Threading;
    using Common;
    using Internal;
    using System.Collections.Generic;
    using NLog.Layouts;
    /// <summary>
    ///
    /// </summary>
    [Target("SplitLineWrapper", IsWrapper = true)]
    public class SplitLineTargetWrapper : WrapperTargetBase
    {
        /// <summary>
        ///
        /// </summary>
        public SplitLineTargetWrapper()
        {
            LineLength = 80;
        }

        /// <summary>
        /// Gets or sets the action to be taken when the lazy writer thread request queue count
        /// exceeds the set limit.
        /// </summary>
        /// <docgen category='Buffering Options' order='100' />
        [DefaultValue(80)]
        public int LineLength { get; set; }

        /// <summary>
        ///
        /// </summary>
        private static readonly Layout LengthLayout = "${message}";

        /// <summary>
        ///
        /// </summary>
        /// <param name="logEvent"></param>
        protected override void Write(AsyncLogEventInfo logEvent)
        {
            //render message to test the length
            var rendered = LengthLayout.Render(logEvent.LogEvent);
            if (rendered.Length > LineLength)
            {
                //todo count needed parts
                var events = new List<LogEventInfo>(10);
                //todo split and create new LogEventInfos, split "rendered"
                events.Add(new LogEventInfo());

                this.WrappedTarget.WriteAsyncLogEvents(ToAsyncEvents(events, logEvent));
            }
            else
            {
                this.WrappedTarget.WriteAsyncLogEvent(logEvent);
            }
        }

        private AsyncLogEventInfo[] ToAsyncEvents(List<LogEventInfo> logEventInfos, AsyncLogEventInfo logEvent)
        {
            var wrappedLogEventInfos = new AsyncLogEventInfo[logEventInfos.Count];
            for (int i = 0; i < logEventInfos.Count; ++i)
            {
                AsyncContinuation originalContinuation = logEvent.Continuation;
                AsyncContinuation wrappedContinuation = ex =>
                {
                    originalContinuation(ex);
                };

                wrappedLogEventInfos[i] = logEventInfos[i].WithContinuation(wrappedContinuation);
            }
            return wrappedLogEventInfos;
        }
    }

For registering/usage, see http://nlog-project.org/2015/06/30/extending-nlog-is-easy.html

Has your question being answered?

I see. Thanks.


undefined method `truncate_html' for #<#<Class

Followed the instructions provided for installing this gem. But get an error message. Any idea what might be the problem?
View
<%= truncate_html(micropost.body, length: 40) %>
Error Msg
undefined method `truncate_html' for #<#<Class:

+1, facing the simillar issue, also tried inclusing "include TruncateHtmlHelper
helper_method :truncate_html" with no success.

The gem you get when you gem install truncate_html is actually not this one, but this one: https://github.com/hgmnz/truncate_html
This gem we're looking at hasn't had a commit since 2011, I think it's abandonware.
I am searching for and reviewing html truncation options.


Use datasets in broad-tanagra-dev for PR checks

Underlays - cmssynpuf_broad, aouSR2019q4r4_broad, sd20230331_verily
Currently are used in regression, underlay and service tests that run in databiosphere/tanagra repo for PR checks.
These underlays use the project verily-tanagra-dev for index and source datasets but use broad-tanagra-dev .
As part of some changes on the Verily side, verily-tanagra-dev  will no longer be accessible for edits from mid December, and the data itself would be eventually removed sometime in 2025.

Pending - access to broad-tanagra-dev / transfer permissions
list of data sets -

aouSR2019q4r4_index_060724
aou_static_prep
aou_static_prep_uscentral1
aou_synthetic_SR2019q4r4
cmssynpuf_index_060724
sd20230331_index_010224

After copy, the GH SA may be given access to read it

Should there be indexer file changes to go along with these as well?

There were no corresponding indexer configs, hence skipped them. They were likely indexed in verily-tanagra-dev or sd projects
Also - Not aware if the indexer env infra is set up at all in this project . since it might not be used long term, so setting up the indexing infra might not be needed


Corrected typo in custom_plugins.rst

Checklist

[x ] I have opened this pull request against develop

thanks @evildmp !


[sil] Add an overload to SILDebugScope::dump that just takes a SILMod…

…ule as an argument.
We do not in general want SIL code to root around in the ASTContext. Better to
just have a helper that knows how to fish it out.

@swift-ci smoke test and merge

@swift-ci smoke test linux platform


fix(Transaction): Force Transaction page to re-render when hash changes

This also switches the Transaction component to hooks.
High Level Overview of Change
When the hash changed on the transaction page by either updating the url manually or searching for a transaction using the search box the page would act like it loading it new data but would keep the old transactions information.
By leveraging useEffect the new hash will be used to fetch data.
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

TypeScript/Hooks Update

[x] Updated files to React Hooks
[ ] Updated files to TypeScript

very cool to fix this bug while moving our style forward and while removing lines of code!


Short Install No Work

the short install method does not work cause the first statement is exit
$ curl -fsLS https://git.io/JcDJe
echo "$@"
exit

if [[ $OSTYPE == 'darwin'* ]]; then

Woops, sorry. That’ll be fixed shortly

Fix merged!


ProtectedBranch missing from models.go init

With a new installation with clean git repos, a newly created repo cannot be pushed to. update.log says:
2017/02/22 13:24:38 [T] pushing to 1 master
2017/02/22 13:24:38 [.../gitea/cmd/update.go:63 runUpdate()] [F] retrieve protected branches information failed
2017/02/22 13:38:26 [T] pushing to 2 lol
2017/02/22 13:38:26 [.../gitea/cmd/update.go:63 runUpdate()] [F] retrieve protected branches information failed

Adding a bit of code to update:63 to print the err != nil shows:
2017/02/22 13:50:05 [.../gitea/cmd/update.go:63 runUpdate()] [F] retrieve protected branches information failed%!(EXTRA *pq.Error=pq: relation "protected_branch" does not exist)

This seems to be the same root cause as in #1012 -- and adding new(ProtectedBranch), to the init() also fixes this error, and I can push.
diff --git a/models/models.go b/models/models.go
index 33268fa..0840b46 100644
--- a/models/models.go
+++ b/models/models.go
@@ -114,6 +114,8 @@ func init() {
                new(TwoFactor),
                new(RepoUnit),
                new(RepoRedirect),
+               new(ExternalLoginUser),
+               new(ProtectedBranch),
        )

        gonicNames := []string{"SSL", "UID"}

Duplicate of #1012

(ok, not a duplicate, now that I see #1021)

resolved by #1021


Pull request for python-all

For travis-ci/travis-ci#4236.
Ran tests and found no setuid bits.
See https://travis-ci.org/travis-ci/apt-whitelist-checker/builds/72207376

Looks like a duplicate of #228.


Clarify dates at which software must be available for the available category

It looks like we were not clear on this, as I don't see it in the rules doc, but I believe the goal in the past was that software must be publicly available on submission day (not publication day).

yes, the rule says so (submission day). But in case of "closed software" I'm not sure how this availability can be determined.


Add url filter for SafeApps

See https://github.com/safe-global/safe-client-gateway/issues/855

Add query parameter to SafeAppsListView which matches the url field of a SafeApp
The url needs to be an exact match ie.: the protocol, path, any slash, query parameter, etc. need to be the same

GET /api/v1/safe-apps/?url=https%3A%2F%2Fapp.aave.com

[
  {
    "id": 1,
    "url": "https://app.aave.com",
    "name": "Aave v2",
    ...
]

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.0005%) to 99.886%

Totals

Change from base Build<PHONE_NUMBER>:
0.0005%

Covered Lines:
874

Relevant Lines:
875

💛  - Coveralls


Rails app deployed with Dokku, sometimes job processed twice

So I have an rails app deployed with Dokku that works perfectly most days.
My app has 2 workers.
Every night I have a clock process that triggers a job. The job processes orders and sends me an email with an excel with order data. Most nights this works perfectly, but some nights the orders get processed fine, but the excel I get is blank. I also noticed that the Stripe payment of the orders is split into 2 payments those nights, when it should be just 1 payment (The 2 payments add up to the correct amount though, which is evidence that the job is getting picked up by both of my workers, right?).
How can I fix this? This bug has been a bane to my app. Thank.

No. That would sound like the job is running once but there is something weird with your processing. If it were running twice I would expect 2 full orders, not 2 partials.

Hey @albus522, the job updates tables, so couldn't one worker job start processing and update the table, and the second worker job process the rest of it? Because most days my code works perfectly, so I can't see how it could be a problem with my processing.

How are you starting your 2 workers?

I deploy with Dokku (which is pretty much Heroku), and during the deployment process it starts up two workers (defined in my Procfile and DOKKU_SCALE files).

With what command?

git push dokku master


print link to beer label if available

Print link to the medium sized beer label if available via brewerydb. I created it as a separate hubot message since HipChat will bury it if the description of the beer is too long and thus not automatically displaying the image.

+1

We are actually moving away from adding scripts to repository in favor of separate npm packages per scripts. See #1113 for details, and let us know if you have any questions about getting going with that!


DistributedKeyManagement.md

Project Abstract
This grant is focused on using distributed secret sharing to simplify key management. Development is split into two parts: a research paper that analyzes the distributed key management model and a public, reference implementation. When combined, the research paper and accompanying software will provide an alternative model to key management, which is typically done through a complex hardware wallet, single chain smart contracts, or insecure hot wallets.
Grant level

[x] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $30,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (project_name.md).
[x] I have read the application guidelines.
[x] A BTC, Ethereum (USDT/USDC/DAI) or Polkadot/Kusama (aUSD) address for the payment of the milestones is provided inside the application.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your interest in our grants program and sorry for the late reply. My only comment/request would be: could you make it more specific with the deliveries that this is also beneficial for the Polkadot/Kusama/Substrate ecosystem.

Hi there, thanks for taking a look! I have updated the grant application with additional information pertaining to Polkadot/Kusama/Substrate specific benefits. Please let me know if any further clarifications need to be made.

Hi there, I see the application has been merged. Are there any next steps I need to complete? I reviewed the guidelines, but I am still unsure of what the next steps in the application process are.

Hi there, I see the application has been merged! I reviewed the guidelines, but I am still unsure of what the next steps in the application process are.

An application being merged means it is accepted. We have a bot that usually posts a comment describing the next steps, but since your document is in the wrong folder, it did not trigger. The next step would be for you to conduct the work described in the application and then submit the first milestone as described in our milestone delivery repo.

In addition, I notice I added my application to the wrong directory (docs instead of applications). Should I create a PR that moves my app to the correct directory? Thanks for your help!

Good catch. I already went ahead and did that.

For completeness sake, here is the text:
Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.
Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at<EMAIL_ADDRESS>and we'll be happy to collaborate on an announcement about the work you’re doing.
Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! :rocket:

Gotcha'! Thank you for the quick and thorough response. Looking forward to research and completing the milestones!


Identify the commit for a PyPI version

I'd like to import some of the google.api protos into my own proto, but I need to make sure I'm on the correct commit hash for the released PyPI package (e.g., 1.53.0) because my team depends on the PyPI package.
I searched the git log for 1.53.0 or some of the previous version numbers but found nothing.
Is there a way to identify the commits for released packages?

I'm going to close this issue as obsolete as it is recommended to use the googleapis repo instead.


context_precision metrics changes?

Describe the bug
I was trying to evaluate the metric "context_precision" using ragas. But I hit into below:
The metric [context_precision] that that is used requires the following additional columns ['ground_truth'] to be present in the dataset. Looks like you're trying to use 'context_precision' without ground_truth. Please use consider using  `context_utilization' instead.

As i remember in version 0.0.22 and even the documentation mentioned that context_precision is measured based on questions and context, it does not involved ground truth. But in latest version, it seems that not the case.
And also I bumped into issue of "'AzureChatOpenAI' object has no attribute 'set_run_config' when i using my own azure GPT4 as llm to parse into evaluate(). This, i did not faced when using version 0.0.22.
Seems like version 0.1.1 have lots of broken things.
Ragas version: 0.1.1
Python version: 3.10

are you seeing this warning anywhere?
            logger.warning(
                "Using 'context_precision' without ground truth will be soon depreciated. Use 'context_utilization' instead"
            )

as for you second question could you share a code snippet so I can give you a fix?

Yes the warning i saw when i try to run the evaluate with context_precision metric without providing "ground_truth" just like what i have did using v0.0.22 but using latest version i saw that warning which i paste in my question.
For 2nd question, i just simply follow the guide mentioned in here: https://docs.ragas.io/en/v0.1.1/howtos/customisations/azure-openai.html using my azureopenai gpt as llm.


Enable too-many-format-args linting rule

The editor_notes probably looked a little odd. I've adjusted the sentence so that all the arguments are incorporated now.

Pretty neat, huh? I found myself confused, so figured might as well as the keywords.


[FR] Allow "Insert selected suggestion" and "Open suggestion popup" to use the same hotkey

To save space in my wetware memory, I'd like to map Ctrl+Space to both "Insert selected suggestion" and "Open suggestion popup".  But right now they conflict.   "Insert selected suggestion" won't work if they have the same mappings.
I assume that it wouldn't be too hard to distinguish between the two contexts and do the appropriate thing, right?

I guess one complication could be that some people may want to have "Close suggestion popup" and "Open suggestion popup" to use the same hotkey. In that case, I would say that "Close suggestion popup" would take priority over "Insert selected suggestion", in which case, the user would be forced to use a separate hotkey for "Insert selected suggestion"—which would be fine


DINOv2 worse performance compared to the original version

I've trained Vision Transformer (ViT) models, small and large, with DINOv2 pretrained weights from Facebook (vit_small_patch14_reg4_dinov2.lvd142m) and timm (dinov2_vits14_reg_lc). The timm version underperforms, as seen in feature and attention map, compared to Facebook's fine-tuned version. So any issues with timm's DINOv2 weights?
Despite this, timm's version is faster and uses less GPU VRAM than Facebook's. What are difference aspects of timm's implementation? remains unclear to me.
I hope someone can explain them
Thank you for great work

@davissf a lot more detail required ... you also flipped the models and are using a linear-classifier version from the original and the base pretrain for timm as there are no LC versions in timm.... so should at very least be comparing dinov2_vits14_reg

Thank you for your response.
Upon further examination, I found that the outputs of the two pretrained weights are identical. The model I used was dinov2_vits14_reg_lc, where I utilized only its backbone (it's same with dinov2_vits14_reg, bcz they frozen during the training of the fully connected layer). Despite this, I got differing performance results between the two, even when all factors were held constant except for the backbone sourced from timm and Facebook.
Notably, the Facebook version consumes significantly more GPU RAM and requires a longer training time compared to the timm backbone. This discrepancy raises further questions about the underlying differences in implementation that could lead to that?

@rwightman After fine-tuning on my own dataset, you can see the feature maps generated using backbones sourced from Facebook (on the left) and timm (on the right). The left one demonstrates better attention to hand skin lesions.

@davissf I added F.scaled_dot_product_attention support to timm version, that is a noteworthy speedup / mem improvement. It shouldn't cause train differences but there have been some regressions in that feature in PyTorch. Can be disabled by setting TIMM_FUSED_ATTN=0 (should double check) in the env, or commenting out the path in the code to verify.
Are you sure the resolution is being. handled the same for both? timm doesn't do dynamic interpolation by default, uses a fixed res, but guess that would error out if wrong although might pad differently...

@davissf any more info, won't be able to determine anything without example code, more details on environment, versions, resolutions being used... there are left/right border artifacts on the timm model which possibly suggests different image handling or resizing


command ctr task exec is hold on,  can't output nothing.

Description
I use command ctr task exec but no tty.
➜  ~ ctr task exec --exec-id 0 ningx-1 sh
^C#

There is no output, it looks like the card owner.
so,  I think the -t parameter may be required as a required parameter.
Steps to reproduce the issue

Describe the results you received and expected
No output。
Expect to start a tty interaction.
What version of containerd are you using?
v1.5.8
Any other relevant information
➜  ~ runc --version
runc version 1.0.2
commit: v1.0.2-0-g52b36a2d
spec: 1.0.2-dev
go: go1.16.10
libseccomp: 2.5.1
➜  ~ ctr version
Client:
Version:  v1.5.8
Revision: 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71
Go version: go1.16.10
Server:
Version:  v1.5.8
Revision: 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71
UUID: e3bc8bf4-19b7-419e-88c3-df384ce6eb50
Show configuration if it is related to CRI plugin.
No response

well. sh shell command is waiting for the command input. Obviously, no input, no output. Please type something and see what happens.
And it is not bug.

yep, you are right.  I compared the command line of docker. looks same situation.  Thanks for your answer。

Thanks for the reply. 😀


The provided API key has an IP address restriction.

I am getting the Remote config error. But the code has been working correctly since last week. But suddenly  the following error is coming :
E/FirebaseRemoteConfig: Fetch failed! Server responded with an error.
com.google.android.gms.internal.firebase_remote_config.zze: 403 Forbidden
{
"code": 403,
"errors": [
{
"domain": "global",
"message": "The provided API key has an IP address restriction. The originating IP address of the call (2405:204:1308:bc95:b493:506c:3596:86fa) violates this restriction.",
"reason": "forbidden"
}
],
"message": "The provided API key has an IP address restriction. The originating IP address of the call (2405:204:1308:bc95:b493:506c:3596:86fa) violates this restriction.",
"status": "PERMISSION_DENIED"
}

@msoni-oyo since this is a project-specific issue that will require someone to dig into your API keys, I suggest writing in to Firebase Support:
https://firebase.google.com/support
They have all the tools to look into this!


Update the pingone_notification_template_content to account for multiple notification types

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Currently the pingone_notification_template_content resource can only accept one of sms, email, push and voice notification methods.  The feature request is to update the resource to be able to accept multiple notification methods as a convenience.
New or Affected Resource(s)

pingone_notification_template_content

Potential Terraform Configuration

# Copy-paste your PingOne related Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key.

# Remember to replace any account/customer sensitive information in the configuration before submitting the issue

resource "pingone_notification_template_content" "variant" {
  environment_id = pingone_environment.my_environment.id
  template_name  = "strong_authentication"
  locale         = "en"
  variant = "My Variant"

  email {
    body    = "Please approve this transaction with passcode $${otp}."
    subject = "BX Retail Transaction Request"

    from {
      name    = "BX Retail"
      address =<EMAIL_ADDRESS>    }
  }

  push {
    body  = "Please approve this transaction."
    title = "BX Retail Transaction Request"
  }

  sms {
    content = "Please approve this transaction with passcode $${otp}."
    sender  = "BX Retail"
  }

  voice {
    content = "Hello <pause1sec> your authentication code is <sayCharValue>$${otp}</sayCharValue><pause1sec><pause1sec><repeatMessage val=2>I repeat <pause1sec>your code is <sayCharValue>$${otp}</sayCharValue></repeatMessage>"
    type    = "Alice"
  }
}

References

https://apidocs.pingidentity.com/pingone/platform/v1/api/#patch-patch-bulk-variant-contents
https://apidocs.pingidentity.com/pingone/platform/v1/api/#delete-delete-bulk-variant-contents

Raised from the discussion in #118

looking at #118 it seems like you are considering this already.
mentioning it just in case.
In the current provider I don't see a way to update the default template of a certain type.
I tried with template type general, and it overwrites it.. which is fine, but this seems like there is no way to make two custom templates through the provider to be used in a DV connection.
{"_links":{"self":{"href":"https://api.pingone.asia/v1/environments/bbbe7a62-9f74-4324-a2e2-9c66a95226f3/templates/general/contents/44c342bc-e4a2-4cd3-bb79-9c9d10effb12"},"template":{"href":"https://api.pingone.asia/v1/environments/bbbe7a62-9f74-4324-a2e2-9c66a95226f3/templates/general"},"environment":{"href":"https://api.pingone.asia/v1/environments/bbbe7a62-9f74-4324-a2e2-9c66a95226f3"}},"id":"44c342bc-e4a2-4cd3-bb79-9c9d10effb12","environment":{"id":"bbbe7a62-9f74-4324-a2e2-9c66a95226f3"},"createdAt":"2023-01-21T02:11:28.998Z","updatedAt":"2023-01-21T02:11:28.998Z","locale":"en","variant":"newtemp","template":{"id":"general"},"subject":"Custom email notification!!","body":"Enter your custom message here","deliveryMethod":"Email","default":false}

i.e. I don't see anything accounting for the variant field.

As we discussed the way to override the default is to leave the optional "variant" property out of the HCL definition.  The same optional "variant" property can be set.
I've verified the issue we were talking about - where a default is overridden successfully but doesn't take effect - and raised a new issue #237

This will be an anti-pattern if implemented in the provider, as the APIs don't lend themselves to this implementation.
Closing this ticket as it would be better implemented as a Terraform module


sails console reports "Server doesn't appear to be starting", it has started

Steps to reproduce:

type sails console

observe a console appears: sails>

Sails logs an error message across several lines, "Server doesn't seem to be starting..."

This is on sails 0.10.5, possible it's been fixed, I tried searching for "Troubleshooting" in the issues & didn't see anything matching.

may be related: https://github.com/balderdashy/sails/issues/2321#issuecomment-94385268

I'm not seeing this on 0.11. Have you tried on 0.11.x?

Did we confirm this as an error and does it still exist in the new release?

Turns out we didn't have the timeout set high enough - we needed to set it to ~35 seconds. Closing.


Support for non-HTTPS localhost registries

Description
My work involves using an SPM Registry service hosted locally on my developer machine. This is an important requirement for our development workflow and internal policies.
Up until SE-0392 was implemented, we had to write our own tooling for publishing SPM packages to our registry. Now that the swift CLI has a command for publishing a package to a registry, we would like to be able to deprecate our homegrown tooling in favor of the built-in swift package-registry publish command.
However, we cannot start this migration because swift package-registry publish validates that the given registry starts with HTTPS, and our localhost SPM registry can only support HTTP.
It is not tractable for us to add HTTPS support to our localhost registry, unless using self-signed certificates. I suspect (but was unable to confirm) that the HTTP client SPM uses would reject self-signed certificates, and require TLS verification (If self-signed certificates would be supported, I'm happy to resolve this as a non-issue). Setting up a proper Certificate Authority and key distribution mechanism to be used on our developer machines to pass TLS verification would be extremely costly and does not significantly improve security posture.
While I applaud that SPM has taken a "secure by default" approach for registries in this regard, we should also recognize the risks of not being able to reuse SPM's own tooling for publishing for our use case. If we're not able to use the swift package-registry publish command, we have to continue having our own implementation which has already fallen behind with respect to things like support for package signing. Bespoke implementations may also have flaws that impact the security or correctness of publishing.
I would like to contribute a change to SPM that would allow us to adopt the publishing command in the future, and I am looking for feedback regarding two potential paths to enable my use case:

Don't enforce the HTTPS requirement if the registry host URL component is localhost, <IP_ADDRESS>, or ::1. This is the most simple, but has the downside of skirting the principle of least surprise depending if you have the localhost registry use case or not.
Expose an option for users to allow HTTP registries. There's a few ways this could work such as environment variables or CLI flags, but I think a per-registry configuration in the existing registries.json would have the least risk of being used unintentionally.

@Footpad I assume your local registry does not require authentication?
What do we think of the following?

swift package-registry set and publish subcommands will have a new allow-http flag, which must be set when passing a HTTP URL or if the computed registry URL is HTTP (e.g., publish computes registry URL if one is not provided).
For publish, in addition to (1), the registry must not require authentication if URL is HTTP. i.e., the authentication block in registries.json config file must not contain entry for the registry.
The login subcommand will continue to require HTTPS.

Tracking with rdar://119403494

@yim-lee Yes, our local registry does not require authentication - without going into proprietary details, authN and authZ aspects are handled elsewhere on the local service out-of-band of the registry API.
I think the proposal you have makes sense to me:

I concur with the concern to prohibit authentication in the HTTP case - we don't want to unwittingly have registry credentials transmitted in HTTP plaintext. Login primarily deals with credentials (we don't use it in our use case), so requiring HTTPS there is good.
Regarding the naming of a new allow-http flag, I was originally thinking something like allow-insecure-http. I personally like when I see insecure in an option name like this because it raises the question of "why?" when it's used and forces the user to think twice about using it. I would of course understand if using such language is not preferred.

Regarding the naming of a new allow-http flag, I was originally thinking something like allow-insecure-http.

allow-insecure-http is good! Let's use it. :)


Update FileListItem Type

The property group_id can also be null
export type FileListItem = {
  id: string;
  name: string | null;
  cid: "pending" | string;
  size: number;
  number_of_files: number;
  mime_type: string;
  group_id: string | null;
  created_at: string;
};

Resolved with PR #28


Catching misspelled patterns for take

From the docs, take() or take('*') may be used for matching all actions, however if an undefined value is passed explicitly, it's typically an indicator of a misspelled constant. What do you think about either only using take('*') for matching all actions, adding a check that would error in cases which are likely user error:
export function take(pattern){
  if (arguments.length > 0 && is.undef(pattern)) {
    throw new Error(INVALID_PATTERN)
  }
  return effect(TAKE, is.undef(pattern) ? '*' : pattern)
}

take(constant.MISSPELLED_PATTERN) // would throw

Yeah. It'd be safer.

:+1:


Does nocom or noc*m work at all?

Title. Weren’t these patched???

Title. Weren’t these patched???

Bypass used to work on 0b idk abt now

Do they work on any other servers? If you know

Even if they’re not anarchy

Not sure man sorry. Tried it on some smp a while back that worked but I couldn't tell you what server it was to save my life

xD it’s okay

I’ll test it in a bit


add test and check for feature installation through powershell

Description
Additional testing to check for issues with windows_feature through powershell provider.
Issues Resolved
https://github.com/chef-cookbooks/windows/issues/374
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[x] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[ ] The CLA has been signed. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
Non-GitHub Verified Committers
There are 1 commit author(s) whose commits are authored by a non-GitHub verified email address. Chef will have to manually verify that they are authorized to contribute.
Please sign the CLA here.

Oh awesome! I was just thinking how we need this. :+1:

CLA not needed since this is only testing.  Thanks for adding this @anuriq


Support for installing different ubuntu kernel types.

I tested proposed-edge and proposed-azure kernel, I need wait for new kernel available in esm and fips to test with kernel url and public key, but you can review code.

@lizzha please review, I already tested it.


Enables channel filtering

Very often you might need to save cpu resources by limiting the broadcaster to send data to only a selected set of channels.
This will enable filtering channels for redis and pushstream by using regex, you can config them with environment variable.
HTTP_FILTER_CHANNEL and REDIS_FILTER_CHANNEL
You can see some usage on integration test file.

Please accept this first than https://github.com/jbochi/live_thumb/pull/5


Make a simple true/false questionaire

Questions to ask:

I have used command line
I am comfortable using the command line: moving and changing directories, running files
I have written code in a text editor (like Atom, Sublime Text)
I have written a test and run it (examples: Rspec, Jasmine)
I have written a function that takes in data and returns data (like a Ruby method or a JavaScript function)

@kpearson - Any other good questions to ask first-timers to get a gauge of their experience level?

Questions about git and Github would give us insights, including the ability to setup and use the Exercism cli.
• I have a Github account
• I am comfortable using git to clone a repository form Github


Visualization of open controlled gates added in latex drawer

Summary
Fixes  #3958 .
Details and comments
The visualization of open control gates have been added for all controlled-gates for latex drawer. A sample circuit open controlled gates looks like below:

Looks pretty neat.
How does the example code in the issue draw?
qr = QuantumRegister(4, 'q')
circuit = QuantumCircuit(qr)
circuit.append(U2Gate(pi, -5 * pi / 8).control(3, ctrl_state='100'),
               [qr[0], qr[3], qr[2], qr[1]])
circuit.draw('text')

The example code is drawn as

Looks pretty neat.
How does the example code in the issue draw?
qr = QuantumRegister(4, 'q')
circuit = QuantumCircuit(qr)
circuit.append(U2Gate(pi, -5 * pi / 8).control(3, ctrl_state='100'),
               [qr[0], qr[3], qr[2], qr[1]])
circuit.draw('text')

The example code is drawn as

can it be modified so the line doesn't go through the U2 box? this will happen for any gate whose controls are on either side

can it be modified so the line doesn't go through the U2 box? this will happen for any gate whose controls are on either side

I'm on it.

I have corrected the circuit drawings. Following is an example circuit.

I suppose this is fine.


Vector operations block

[ ] Change "norm" in menu to "unit vector"
[ ] Change "comp" in menu to "component"

@eah13 this seems important but will for sure cause a XML problem for anything that uses these.

Makes sense.  should be bumped up.


Use kubernetes/ingress-nginx 0.22.0 which fixes cookie stickiness issue

Thank you for the PR @khteh . The update should be available on the 1.13.5  release.

Any ETA?


m.init_scene(scene="1a", layout=0, room=1) takes forever

My Latitude-5580 with 4-cored i7-7600U CPU @ 2.80GHz repeatedly blocks on m.init_scene(scene="1a", layout=0, room=1). What can I do to speed this process up?
my gpu info:
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce 930MX       On   | 00000000:03:00.0 Off |                  N/A |
| N/A   51C    P5    N/A /  N/A |    329MiB /  2004MiB |     11%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1012      G   /usr/lib/xorg/Xorg                 38MiB |
|    0   N/A  N/A      1718      G   /usr/lib/xorg/Xorg                162MiB |
|    0   N/A  N/A      1857      G   /usr/bin/gnome-shell               32MiB |
|    0   N/A  N/A      2257      G   ...gAAAAAAAAA --shared-files       86MiB |
+-----------------------------------------------------------------------------+

@JacobFV Hi, sorry for not responding to you right away.
You could try the following changes:

Upgrade to TDW 1.8.4 if you haven't done so already (both the build executable and the Python module)
Upgrade the magnebot module to 1.1.0
If you're still having problems, please attach your player log to this thread: https://docs.unity3d.com/Manual/LogFiles.html

In general, init_scene() should take a minute or so to finish the first time you call it. Subsequent calls are much faster because the assets are cached in memory.
Let me know if any of that helps.

Thank you. That works!


Can i use it on generic api views ?

hi , my question is simple , can i use it on generic api views ? like list api view or create api view ?

Yes, it's compatible but keep in mind that the action will be equal to the name of the view class since generic views don't set this property.
So if this is your class:
class UserList(ListAPIView):
    permission_classes = (UserAccessPolicy,)
    serializer_class = UserAccountSerializer
    queryset = UserAccount.objects.all()

So the action here would be "UserList" which ... doesn't really sound like an action.

Yes, it's compatible but keep in mind that the action will be equal to the name of the view class since generic views don't set this property.
So if this is your class:
class UserList(ListAPIView):
    permission_classes = (UserAccessPolicy,)
    serializer_class = UserAccountSerializer
    queryset = UserAccount.objects.all()

So the action here would be "UserList" which ... doesn't really sound like an action.

Aha, got it ! Thank you !


How to close the green line and red points of the track?

Hi, it is an amazing plung-in for TD, thank for sharing this！
I am a beginner of TD. I created a point following the movement of one finger point，and I wanted to use an over TOP to add the circle TOP above the video of realtime me. I connected the mediapipe directly to the over TOP，but I don't want the grean line and red dot still appearing there. Is there any method to do that excepting add one more camera but to use the realtime video in the mediapipe?

I connect the mediapipe to the over

I want to delet the line and point

Hey! The easiest way to hide those is to turn off "Show Overlays" on the MediaPipe component.


Unhandled Promise Rejection Error: Call .startRecording()

macOS version:  10.14
Kap version:

Steps to reproduce

Record a video
Play the recording
Select a Window

Current behaviour
Unhandled Promise Rejection
Error: Call `.startRecording()` first
    at Aperture.stopRecording (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/aperture/index.js:141:13)
    at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:207:39)
    at Generator.next (<anonymous>)
    at step (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:191)
    at file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:437
    at Promise (<anonymous>)
    at EventEmitter.<anonymous> (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:39:99)
    at EventEmitter.stopRecording (file:///Applications/Kap.app/Contents/Resources/app.asar/dist/renderer/js/main.js:223:20)

Expected behaviour
It should not throw the error.

A lot of the scenarios that would cause this error are handled in the latest beta build, could you see if you're able to recreate it using that @abranhe?

Getting the exact same error. Here's a bit more info:
macOS: Version 10.14.2
Kap: Version 2.2.0 (<IP_ADDRESS>0)
I opened the application and it asked for permission to use the microphone. It's never asked me that before so I'm assuming it's due to a version update.
I said no.
When I start a recording, the following error messages pop up.

Here is my stab at prettifying the content of the error message:
Command failed: /Applications/Kap.app/Contents/Resources/app.asar.unpacked/node_modules/aperture/aperture {
  "destination":"file:///private/var/folders/2p/5pbqmrms5c90c9x1szvzk2hw0000gn/T/e960e9cfa3f3c2e128ffdb7e43697701.mp4",
  "fps":30,"showCursor":true,"highlightClicks":true,"displayId":"69948396",
  "audioDeviceId":"AppleHDAEngineInput:1F,3,0,1,0:1",
  "cropRect":[[514,286],[1209,768]]
}
Fatal error: Error raised at top level:
  Error Domain=AVFoundationErrorDomain
  Code=-11852 "Cannot use Built-in Microphone"
  UserInfo={
    NSLocalizedFailureReason=This app is not authorized to use Built-in Microphone.,
    AVErrorDeviceKey=<AVCaptureHALDevice: 0x7fc964413110 [Built-in Microphone][AppleHDAEngineInput:1F,3,0,1,0:1]>,
    NSLocalizedDescription=Cannot use Built-in Microphone
  }
  : file /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-9<IP_ADDRESS>/src/swift/stdlib/public/core/ErrorType.swift,
  line 187

This clearly indicates the problem is due to not having access to the microphone.
At this point, Kap thinks it is recording (the stop button is shown in the menubar icon). Whether it actually is or not I have no idea.
When I click the menubar icon to stop the recording, I get the identical error posted by @abranhe.
I do not get given a recording at this point. Menubar still shows the stop button. Application is essentially unusable.
Workaround
Re-enabling the microphone for Kap fixes the problem. Open System Preferences, then go to Security & Privacy > Privacy > Microphone and enable microphone access for Kap.
I don't think it should be necessary for Kap to have microphone access to work. I use it for screen captures and don't ever need or want it recording audio, which is why I disabled mic access originally. Hope this gets fixed in future versions!
Thanks for an awesome and extremely useful piece of software otherwise. Keep up the great work.

Closing as it looks like this is fixed in v3.

Sentry issue: KAP-3G3

I can add a +1 to this issue; latest version (<IP_ADDRESS>0) on Mac OS 10.14.4.
From my own testing, it seems as though this has something to do with audio altogether. For me, I get the error consistently when I try to enable the audio just using the regular 'microphone' shaped button. With audio enabled, any action – record, stop record, etc – all trigger the error. It goes away with audio disabled.
Possibly related: when I try to configure the audio source (Preferences > Record audio / select input device), the only "devices" available to select are a list of 100+ instances of "undefined".

Thank you for this report @wosevision, I think these might be separate issues. You mention that the error specifically trigger when starting or stopping a recording, or changing your audio device. It sounds like at least part of that might be relating to Aperture @sindresorhus?
It'd be super helpful if you could test our our latest beta release and tell us which of these issues you're able to recreate in newer version of Kap @wosevision.
Also, you can track the audio input list showing a list of undefined or no input devices at #384

Thanks @skllcrn – I'll track that other issue over there for now then!
Re: this issue, I gave the beta a shot and don't get the error! But then again the enable/disable audio button in this version is different so the nature of the problem seems to be as well. The closest thing I found was in the preferences menu, an 'Audio recording' option that looks like a text box but changes to the shape of an empty switch when clicked. Neither state enables the audio though, so I guess the issue still exists?
Here's the enable option I'm talking about, in both unclicked and clicked states:

Can you check if starting recording gives you the same unhandled promise rejection error @wosevision?

@skllcrn Nope, no error! I haven't gotten the unhandled promise rejection error in this beta yet. Still no audio functionality though. The app prompted for use of my microphone but nothing recognized still; I guess this is a separate issue now since the original error seems to be gone!

https://github.com/wulkano/kap/issues/676#issuecomment-564750626


Running some NumPy methods fail without Atlas on cflinuxfs2

Many of the NumPy methods require Atlas libraries which need to be added to the install-packages.sh. Adding libatlas-base-dev will fix this.
Example error:
2015-11-11T19:31:57.43-0500 [App/0]      ERR     from . import add_newdocs
2015-11-11T19:31:57.43-0500 [App/0]      ERR   File "/app/.heroku/python/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
2015-11-11T19:31:57.43-0500 [App/0]      ERR     from numpy.lib import add_newdoc
2015-11-11T19:31:57.43-0500 [App/0]      ERR   File "/app/.heroku/python/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
2015-11-11T19:31:57.43-0500 [App/0]      ERR     from .type_check import *
2015-11-11T19:31:57.43-0500 [App/0]      ERR   File "/app/.heroku/python/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
2015-11-11T19:31:57.43-0500 [App/0]      ERR     import numpy.core.numeric as _nx
2015-11-11T19:31:57.43-0500 [App/0]      ERR   File "/app/.heroku/python/lib/python2.7/site-packages/numpy/core/__init__.py", line 14, in <module>
2015-11-11T19:31:57.43-0500 [App/0]      ERR     from . import multiarray
2015-11-11T19:31:57.43-0500 [App/0]      ERR ImportError: libcblas.so.3: cannot open shared object file: No such file or directory```

Closing this, as you've submitted a PR to add this to the rootfs.


Improve char parser

Now this parser accepts u21.

Small proposal: rename string to starts. It's confusing name.

Hmm. I disagree that we should rename string to starts. string constructs a parser that matches a specific string. Just like char constructs a parser that matches a specific char. Seems pretty consistent. Anyways, I think the simpler implementation of the char function on a codepoint would be to just encode the codepoint at comptime and call string with the encoded codepoint.

Also, can you try to add pull_request to ci.yml in the on list? I really want the CI to run on pull requests :)
 name: CI
-on: [push]
+on: [push,pull_request]
 jobs:

Hmm, actually, it seems everyone else is doing something like this:
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master

string constructs a parser that matches a specific string.

Hmm?
From docs ():

Construct a parser that succeeds if the string passed in starts with str.

This parser uses mem.startsWith so don't check a whole slice.
Or I can add starts and ends parsers.

Also, can you try to add pull_request to ci.yml in the on list?

In which repo, in mine?

string constructs a parser that matches a specific string.

Hmm?
From docs:

Construct a parser that succeeds if the string passed in starts with str.

This parser uses mem.startsWith so don't check a whole slice.

I see. The string functions docs is a little misleading in terms of consistency. All the current parsers checks the start of the string and not the entire one. This is true for char. range, string int and so on.

Or I can add starts and ends parsers.

Hmm, I don't think you want ends in a parser. Parsers parser from start to end processing everything. ends would skip to the end to do some parsing. I can't think of any parsers that really need that.

Also, can you try to add pull_request to ci.yml in the on list?

In which repo, in mine?

Yea, add it to this PR. Just to check if that would trigger the ci. If it doesn't work, then we can just remove it again and I'll try to add it on master. I'll squash the commits before merging anyways, so no need to worry about a tidy git history.

Too late. :)
/// Construct a parser that succeeds if the string passed in ends
/// with `str`.
pub fn ends(comptime str: []const u8) Parser([]const u8) {
	return struct {
		const Res = Result([]const u8);
		fn func(s: []const u8) ?Res {
			if (!mem.endsWith(u8, s, str))
				return null;
			return Res.init(s[0..str.len], s[str.len..]);
		}
	}.func;
}

test "ends" {
	testParser("aa", "", ends("aa")("aa"));
	testParser("aa", "a", ends("aa")("aaa"));
	testParser(null, "", ends("aa")("ba"));
	testParser(null, "", ends("aa")(""));
}

Grrr, how dare you! Well, nothing stops you from having it yourself :)

Ay, CI seems to work!

Good!
So what is your final decision on my char parser implementation?

Anyways, I think the simpler implementation of the char function on a codepoint would be to just encode the codepoint at comptime and call string with the encoded codepoint.

^ This :)

Ok, I'll do.

Just an idea: split the library into modules, so one parser - one file.
Pros: easy maintence and navigation.
Cons: no :)

Ok, I'll do.
Just an idea: split the library into modules, so one parser - one file.
Pros: easy maintence and navigation.
Cons: no :)

:thinking: We could think about grouping certain parsers together and having a few more files, but having one file per function seems like a navigation nightmare. At least for me. I prefer having things together in one file.

seems like a navigation nightmare. At least for me.

Which editor? Did you try zls?
With SublimeText it's very convenient. :100:

I use files to group related functionality. If two functions are related, they are in the same file. This shows intent and gives structure to the code base. I do not believe having one function per file buys anything. It only really loses the structure I was just talking about.
Also, I navigate faster in between lines of a file, than I do between files :)

^ This :)

Ugh, maybe I'm tired and need to get some sleep. :(
pub fn char(comptime c: u21) Parser(void) {
	var array: [4]u8 = undefined;
	const len = unicode.utf8Encode(c, array[0..]) catch return null;
	return string(&array);
}

It doesn't work.

This maybe?
 pub fn char(comptime c: u21) Parser(void) {
 	var array: [4]u8 = undefined;
 	const len = unicode.utf8Encode(c, array[0..]) catch return null;
- 	return string(&array);
+ 	return string(array[0..len]);
 }

+ 	return string(array[0..len]);

No, I tried it.

./mecha.zig:64:65: error: expected type 'fn([]const u8) ?Result(void)', found '(null)'
const len = unicode.utf8Encode(c, array[0..]) catch return null;
^
./mecha.zig:69:28: note: called from here
testParser({}, "", char('a')("a"));
^
./mecha.zig:68:13: note: called from here
test "char" {
^
./mecha.zig:64:65: error: expected type 'fn([]const u8) ?Result(void)', found '(null)'
const len = unicode.utf8Encode(c, array[0..]) catch return null;
^
./mecha.zig:73:30: note: called from here
testParser({}, "ā", char(0x100)("Āā"));

So, I like my implementation better. :smiley:

Aaah right. Didn't notice that. Here we can just catch unreachable. All parsers are generated at comptime so the catch unreachable would become a compiler error.
 pub fn char(comptime c: u21) Parser(void) {
 	var array: [4]u8 = undefined;
- 	const len = unicode.utf8Encode(c, array[0..]) catch return null;
+ 	const len = unicode.utf8Encode(c, array[0..]) catch unreachable;
- 	return string(&array);
+ 	return string(array[0..len]);
 }

./mecha.zig:65:24: error: unable to evaluate constant expression
return string(array[0..len]);
^
./mecha.zig:69:28: note: called from here
testParser({}, "", char('a')("a"));
^
./mecha.zig:68:13: note: called from here
test "char" {
^
./mecha.zig:65:18: note: referenced here
return string(array[0..len]);
^
./mecha.zig:65:24: error: unable to evaluate constant expression
return string(array[0..len]);
^
./mecha.zig:73:30: note: called from here
testParser({}, "ā", char(0x100)("Āā"));
^
./mecha.zig:68:13: note: called from here
test "char" {

Geeh, maybe I should have written the code and actually compiled it so I knew it worked. This debugging by proxy is not very efficient. Since we call char without comptime the function is evaluated at runtime and there is no way for us to specify that these functions should always run at comptime. What I would do here is simply to wrap the code in comptime inside the char function:
pub fn char(comptime c: u21) Parser(void) {
    comptime {
        var array: [4]u8 = undefined;
        const len = unicode.utf8Encode(c, array[0..]) catch unreachable;
        return string(array[0..len]);
    }
}

I've compiled this and made sure that it works. Sorry for the inconvenience.

Looks good. Thanks!


navbar contrast issue

Navigation colour contrast is not great as navbar and main present a white background

Changed navbar colour to match footer colour and then fixing contrast issue


Handling spaces in arguments with "-D"

This is a proposed fix for https://github.com/CHIP-SPV/chipStar/issues/945 .
The issue looks like it is that currently one large string is made out of all arguments (https://github.com/CHIP-SPV/HIPCC/blob/30f38d7d15e396079ae1e7318d86208e4b616ab0/src/hipBin_spirv.h#L156) and then they are resplit by spaces (https://github.com/CHIP-SPV/HIPCC/blob/30f38d7d15e396079ae1e7318d86208e4b616ab0/src/hipBin_spirv.h#L168) which causes issues if the arguments themselves have spaces in them (like -DMACRO=\"H\ H\"). This instead runs the regex in preprocessArgs on each argument separately to avoid having to resplit it. It also re-adds in a \  if there are spaces in the macro arguments in processArgs. This is just a suggestion for a solution, there may be something cleaner!

https://github.com/CHIP-SPV/chipStar/actions/runs/11389907630/job/31690296397?pr=946
Failing unit tests. I'll look for a solution tomorrow.

Ah, I see! The convert -x <lang> to -x<lang> doesn't get honored with this change, it looks like that causes at least some of the fails. Thanks for looking at it!


Not listening 10.0.19041.1387 I Need Help

Duplicate of https://github.com/stascorp/rdpwrap/issues/1630


Document Project

Update the README with description, feature list, major changes, etc... and ensure code is reasonably commented.

The README has been updated to include all relevant information.