ctr cann't export image pulled by crictl

What happened:
when in containerd environment, if we use old version crictl and ctr, no matter the images pulled by ctr or crictl, the ctr can export the image successfully.
But when crictl >= 1.24.0, the issue happens, the image pulled by crictl, when use ctr export, it will failed;  For comparison, images pulled by ctr  have no problem.
ctr export image which pulled by crictl  , will show error message
ctr  -n k8s.io images export my_image.tar sha256:af282666faecdad41485bea589ff4c6f25af2abbf76c7b8dff24e7df2570798e
ctr: failed to get reader: content digest sha256:10d56570098259f40562e64b4d5ad9374c94af3e00688d62827e8c79c47d9617: not found
the crictl version: 1.25.0, ctr version 1.7.20
What you expected to happen:
I have another env (crictl:1.19.0; ctr:1.3.7), in this machine, images pulled by crictl can be  exported by ctr successfully.
I think there maybe some changes between crictl versions, which changes the export perform.
Would you please tell me how to export images pulled by new version crictl?
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:
the crictl version: 1.25.0, ctr version 1.7.20

THank you for opening this report @johnsonisjiang. Both crictl v1.19.0 and v1.25.0 are end of life. crictl also just invokes the RPC to pull the image, so the main issue seems to be on the containerd side here.

THank you for opening this report @johnsonisjiang. Both crictl v1.19.0 and v1.25.0 are end of life. crictl also just invokes the RPC to pull the image, so the main issue seems to be on the containerd side here.

Thanks, I got the reason, if the "/etc/containerd/config.toml"->"discard_unpacked_layers" was true, the image pulled by crictl may exported failed, but it have no effect on images pulled by ctr(ctr use contained api not grpc with containerd, default was false)

@johnsonisjiang unfortunately I don't think there is much we can do from a cri-tools perspective.


Improve error messages when buildSrc uses incompatible Java toolchain

Given that JAVA_HOME points to Java 1.8, when I use Java toolchains to set the Java version to 11 in buildSrc
// buildSrc/build.gradle.kts

plugins {
  `kotlin-dsl`
}

kotlin {
  jvmToolchain(11)
}

I get incomprehensible errors
Could not determine the dependencies of null.
> Could not resolve all task dependencies for configuration ':buildSrc:buildScriptClasspath'.
   > Could not resolve project :buildSrc.
     Required by:
         project :buildSrc
      > No matching variant of project :buildSrc was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.0.1' but:
          - Variant 'apiElements' capability :buildSrc:unspecified declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
          - Variant 'mainSourceElements' capability :buildSrc:unspecified declares a component, and its dependencies declared externally:
              - Incompatible because this component declares a component of category 'verification' and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
                  - Doesn't say anything about its usage (required runtime)
          - Variant 'runtimeElements' capability :buildSrc:unspecified declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
          - Variant 'testResultsElementsForTest' capability :buildSrc:unspecified:
              - Incompatible because this component declares a component of category 'verification' and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about how its dependencies are found (required its dependencies declared externally)
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
                  - Doesn't say anything about its usage (required runtime)

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

The errors are very confusing

Could not determine the dependencies of null - this is the first line and it's already confusing. What is null?
Could not resolve all task dependencies for configuration ':buildSrc:buildScriptClasspath'

'Configuration' is a vague word and could be replaced with something more descriptive like 'dependency container'
this is the first time I've seen buildScriptClasspath, so I don't know what it's referring to. It doesn't pop up in build scripts, it's something very under-the-hood.

Could not resolve project :buildSrc. Required by: project :buildSrc - buildSrc requires buildSrc indicates some sort of circular dependency problem
Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8 - coupled with the error above this looks like its saying "buildSrc provides a Java 11 component, but buildSrc needs a Java 8 component".

Improvements that would help

Gradle checks to make sure that the JAVA_HOME it is using is compatible with the Java toolchain requested, and outputs a more specific error message if they are incompatible
The error message has an entry in https://docs.gradle.org/current/userguide/troubleshooting.html

Related: #23993

Thank you for your interest in Gradle!
This issue will be closed as a duplicate of

#xxx

Please add your use case and 👍 to that issue.


Pyconsole

Hello. What a fantastic package, but unfortunately, many of the things you did here go beyond my capability to make it work in my project. Would you find a moment of time to give an idea how:

Connect the stdin to pyodide console from their own pyodide console? I.e. the console uses interpreter (command) to read from (jquery) console. I imagine it would be calling one of your functions
I do not want to read files from a zip file, but from a database, i.e. I want to pass an array of files with {name, source}[] format.

Thank you!

Nevermind ... this has to be called in a worker.

@alexmojaki i learnt a lot going through your solution. I managed to get the sharedarraybuffer working with my next.js instance and others.
But, I still struggle to make your solution work.

All I would love to see is a text box, and a button. When button is pressed, the code is sent to the worker and executed. If the code calls input() it will wait for input from text box.
I kind of now understand how to start … but it does not work for me. Thank you.


Limiting Message Sent per Min

Hi,
Is there a way to limit the messages sent per minutes?
Thank you

Unfortunately the only limit is hourly (see also #361)


Built-in Profiles for CapabilityStatement.instantiates entry for the "supported"

Is your feature request related to a problem? Please describe.
Built-in Profiles for CapabilityStatement.instantiates entry for the "supported" implementation guides on the server.
Describe the solution you'd like

Add support with Built-in Profiles for CapabilityStatement.instantiates entry for the "supported"
Consider adding bulkdata to this as an extended / supported ig - note this is not necessarily correct, will have to carefully evaluate the addition to the capability statement - https://jira.hl7.org/browse/FHIR-26683?jql=text ~ "capabilitystatement instantiates"

Describe alternatives you've considered
None
Additional context
None

Troy and I discussed a couple different options on this one.

driving the "instantiates" for a simple array of strings from the fhir-server-config.json
retrieving all CapabilityStatement resources from the fhir-registry and constructing canonicals from the url+version fields of those resources

An advantage of number 1 is that it could be tenant-aware, so that each tenant can advertise a different set of IGs.
However, we already populate the profiles that are supported for each resource type from the registry (and its not tenant-aware).  Also currently the validator is using all registered resources (and not just a subset).
Therefore, lets pursue option 2 at this time so that it is the most consistent with the rest of the working system.
We can revisit this decision if/when we implement #1449 and/or decide that we need to filter the list of all CapabilityStatements down to just some configured list (on a per-tenant basis or otherwise).


[New Primitive] MultiSelect

Feature request
Overview

I'd love to see a new primitive that works as a multi-select component where it could extend the functionality of the Select itself by allowing multi-selection and displaying the information accordingly.

Examples in other libraries

Good examples would be the good old jQuery Chosen or something already on the React ecosystem such as React Select.
Who does this impact? Who is this for?

Anyone who wants to build custom/complex forms which is quite a lot of people.
At this point, the only available solution is React Select is the only viable option out there giving the research my team and I were doing over the past few weeks due to the lack of support of the current Select primitive.
Additional context

It would be nice to see Select at least supporting multi-selection somehow.

I think this is more like Combobox since it has that input element.

Reminds me of https://www.downshift-js.com/use-multiple-selection/

I think this is more like Combobox since it has that input element.

I agree, this would be covered by https://github.com/radix-ui/primitives/issues/1342

I've assembled one using shadcn/radix-ui primitives
Try it: https://shadcn-multi-select-component.vercel.app/

I think you are talking about this one.
https://ariakit.org/examples/combobox-radix
Using just the necessary Ariakit components to build a Combobox with Radix UI. For projects already using Radix UI and looking for autocomplete, autosuggest and search features.


Resizer not working with iframe having multiple iframes inside it .

I have a url which i am trying to put it in an iframe
https://www.profiledata.co.za/brokersites/NedbankPrivateWealth/sharedata/scripts/Overviewind.asp
This url has a lot of iframes inside it .
Iframe resixzer does not works on this one .
any Idea ?

You most likely need to add iframe resizer to the inner iframes


Code obfuscation in Blazor

The code obfuscation helps us convert source code into completely unreadable form, preventing it from analyzing and theft etc. What tool or approach offers Blazor? Thanks in advance.

I am interested too, I had case in the past when I wanted to protect source code from disassembling and this was very sensitive.
This is not relevant for Server Side Blazor because code never reaches client but for Client side blazor I would love to have option to protect my app's code form anyone's eyes.

If I remember there's a bunch of .Net obfuscator tools out there, it'll probably work at the moment since it's still .Net dlls and when AOT gets done I'd assume if you really want to obfuscate it'll be going through two phases which might make it really hard to disassemble easily.
I'd assume it'd be like this: .Net IL > Obfuscate > AOT > wasm. The result prolly won't be easy to reverse at least compared to JS minifying.

We don't plan to provide built-in support for code obfuscation, but as @RyoukoKonpaku mentioned you should be able to use existing .NET obfuscator tools, since Blazor apps are normal .NET dlls. Hope this helps!

thank you all


Add support to transfer hip buffer

Cherry-picked commit for HIP Buffer Transfer

Have created the PR to develop branch


Cannot pass TransferTransaction to setScheduledTransaction() in v2.13

Description
When trying to pass a TransferTransaction to setScheduledTransaction I get an error:

TS2345: Argument of type 'TransferTransaction' is not assignable to parameter of type 'Transaction'.   Property 'override' is protected in type 'TransferTransaction' but public in type 'Transaction'.

This happens in v2.13, but I believe it started in v2.12. This worked well in v2.11.3 and prior versions.
Steps to reproduce

Create a TransferTransaction
Create a schedule transaction with new ScheduleCreateTransaction()
Pass the TransferTransaction as a parameter to the method setScheduledTransaction() of the schedule transaction
Try to build / run the code

Additional context
No response
Hedera network
mainnet, testnet
Version
v0.2.13
Operating system
No response

Huh, the error isn't very helpful because override is not a property, but since you're getting the error I think we need to create a unit test for each schedulable transaction. Also, it may be wise for us to try and enable tsc on our unit tests.

@bluemonad do you have any additional information to help troubleshoot the issue you submitted?

@bluemonad the linked PR shows me just randomly using what you aforementioned and I don't seem to get any errors with tsc or eslint. I also ran the example which ran fine; although the scheduled transaction wasn't executed.
Closing until we get more details since I was not able to reproduce.


any growl support in plans?

I'm not a growl user myself.
How do other projects handle this? Is there a standard way to integrate with growl or do all these libraries have to add growl knowledge to their internals?

Guard uses ruby_gntp for notifications.
In my opinion growl support is not really something for spin, because it's essentially a way to run TestUnit/Rspec faster. If you are running your tests manually you'll see your output already so I don't know what Growl has as an added benefit, it would only be useful if you have a really large/slow testsuite so you can do something else in the meantime.
So I would advice to just use guard-spin if you want growl support :)

@bittersweet guard-spin doesn't use growl for notifications.

Yes but in my opinion growl support should be added there and not in the main project.

i don't see why it should be added into guard-spin but not into spin itself. spin can be used without guard, and itself should support growl.

The fact is that spin doesn't really know or care about the test output. So it would be hard to generate useful growl notifications. So my point was that this would be solved better via a rspec formatted for example.

green or red notification would be enough. spin does know about success or failure result.

If you want formatted output then there are gems that will do this for you. It won't be added to spin, but spin should work fine alongside them.
I also don't see a compelling reason to add growl support. Closing for now.


Company/Organization Support

I would love to use this tool, but my O'Reilly sub is through my university, which uses single sign-on.

Pretty much, I put my edu email in and am redirected to my school's portal for login. If there is any quick way to get this to work with what's currently in place, please let me know! Idk if extracting a client_id + secret would be enough. Please let me know what you think.
I'd be happy to help add support too!
Thanks

Realized this has been discussed in https://github.com/lorenzodifuccia/safaribooks/issues/2 and https://github.com/lorenzodifuccia/safaribooks/issues/148


make_dataset: make normal download

[ ] make param download, by witch will be downloaded from file with id list.
[ ] delete param id, if only one file it should be the same as from list of id.
[ ] should be param with path to download data and further use.
[ ] should be param with path to create and safe dataset file.

[ ] should be option to use data from local computer #5


Better clarity for configuration API

Note: This is mostly just bike-shedding.
The current API has a ConfigurationBuilder that finalizes, and Configuration that builds, but really provides ConfigurationBuilder. The former is fine, however I feel it lacks parity when combined with the latter.
I think a better approach would be

ConfigurationBuilder::new() -> ConfigurationBuilder
ConfigurationBuilder::build() -> Configuration (or this could be finalize as well - This is fine).
Configutation::from(ConfigurationBuilder)

Also:

Rename Configuration::build() to Configuration::builder() as Configuration::build intuitively signals building the configuration rather than giving out a builder.

I see the current one is used this way:
let config = Configuration::build().finalize();

This changes to one of:

ConfigurationBuilder::new().build();
Configuration::builder().build() or Configuration::builder().finalize()

I'd be happy to submit a PR if this is desirable.

@prasannavl Thanks for the issue; that's an excellent point! -- we're currently waiting on #156 to progress, but once that's in I think we should definitely take a closer look at our builders.

After #156, none of these configuration APIs exist any more :-)


Persistence of VM stats

Description
This PR addresses issue #5935.
In summary, this PR makes ACS persist VM stats in the database to provide more consistency and make it possible to obtain historical data.
For more information, please refer to the spec contained in issue #5935.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[X] Major
[ ] Minor

Screenshots
New API

Getting all available stats:

Filtering by start and end date:

UI changes

Metrics disabled. It shows all VMs:

Metrics enabled. It shows only running VMs and their current stats:

Metrics enabled and filtering by stopped VMs. It forces the display of stopped VMs and their latest stats collected (not reflecting their current stats):

How Has This Been Tested?
I added unit tests to several methods.
Also, in a local lab, I performed the following tests:

I tested different combinations of the global settings vm.stats.increment.metrics, vm.stats.max.retention.time, and vm.stats.interval. All tests resulted in the expected behavior, as described in section 2.2 of the spec.
I tested the listVirtualMachinesMetrics API with different combinations of its new accumulate parameter with the global configuration vm.stats.increment.metrics, and everything worked as expected. See sections 2.2 and 3.3 of the spec for more details.
I tested the UI modifications mentioned in section 3.4 of the spec. The obtained behavior was as follows:

When clicking on the "Metrics" button only running VMs and their respective stats were listed;
Then it was possible to "force" the listing of stopped VMs by changing the filter from "All" to "Stopped".

I tested the new listVirtualMachinesUsageHistory API by filtering by different time periods and VMs. All the filtering described in section 2.4 of the spec was successfully tested.

Looks good @joseflauzino . Can you confirm it is ready for review and testing, please?

@DaanHoogland  Yes, it's ready.

@blueorangutan package

@joseflauzino a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2685

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3412)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 33543 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5984-t3412-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

@borisstoyanov @rohityadavcloud care to review?

@GutoVeronezi a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2787

The tests were performed based on the code changes and the spec (#5935).
I tested the situations with an environment without the changes (ENV-1) and another one with the changes (ENV-2). I separeted the CloudMonkey results in files to avoid posting a big comment.
Situations
:heavy_check_mark: I created a VM, waited for management to gather the information and restarted it. After restart it, ENV-1 was without the informations. ENV-2 had the last collected information.

test-restart-ENV-1.md
test-restart-ENV-2.md

:heavy_check_mark: I created a VM and verified in two management nodes. ENV-1 presented divergent informations. ENV-2 persented the same information for both nodes.

test-multiple-mgmt-ENV-1.md
test-multiple-mgmt-ENV-2.md

:heavy_check_mark: I tested some combinations of the global configs:

test-config-interval-30000-retention-2.md
test-config-interval-30000-retention-5.md
test-config-interval-60000-retention-5.md

:heavy_check_mark: UI not showing stopped VMs when seeing metrics unless we filter only stopped:

:x: Analyzing the database, the column vm_stats.mgmt_server_id is storing the node's MacAddress, not the management's id.

@joseflauzino Analyzing the new API's return, I think it would be better if the element stats was ordered by its inner element timestamp.

@GutoVeronezi Thanks for your efforts to test the environment and review the code!
I'll apply your suggestions as soon as possible.

@blueorangutan package

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2868

I have noticed some bugs related to disk stats. I will fix them as soon as possible.
Please do not merge it.

I have noticed some bugs related to disk stats. I will fix them as soon as possible. Please do not merge it.

marking this as draft @joseflauzino

Hi @joseflauzino please advise when it is ready again for review, thanks

Close & reopening to re-run travis' tests.

@blueorangutan package

@joseflauzino a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2980

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3724)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32789 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5984-t3724-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

@GutoVeronezi a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan package

@joseflauzino a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 3071

I re-ran the manual tests (one of the results below). The feature seems working fine to me.

Test with 15 seconds of interval and 1 minute of retention, with 2 MGMT:
Note: the stats are ordered by the field timestamp now.
(lab) 🐱 > list configurations name=vm.stats
{
  "configuration": [
    {
      "category": "Advanced",
      "description": "When set to 'true', VM metrics(NetworkReadKBs, NetworkWriteKBs, DiskWriteKBs, DiskReadKBs, DiskReadIOs and DiskWriteIOs) that are collected from the hypervisor are summed before being returned.On the other hand, when set to 'false', the VM metrics API will just display the latest metrics collected.",
      "isdynamic": true,
      "name": "vm.stats.increment.metrics",
      "value": "true"
    },
    {
      "category": "Advanced",
      "description": "The interval (in milliseconds) when vm stats are retrieved from agents.",
      "isdynamic": false,
      "name": "vm.stats.interval",
      "value": "15000"
    },
    {
      "category": "Advanced",
      "description": "The maximum time (in minutes) for keeping VM stats records in the database. The VM stats cleanup process will be disabled if this is set to 0 or less than 0.",
      "isdynamic": true,
      "name": "vm.stats.max.retention.time",
      "value": "1"
    }
  ],
  "count": 3
}
(lab) 🐱 > list virtualmachinesusagehistory id=167e5918-4762-4536-a526-942fa2fc62cb
{
  "count": 1,
  "virtualmachine": [
    {
      "id": "167e5918-4762-4536-a526-942fa2fc62cb",
      "name": "i-2-113-VM",
      "stats": [
        {
          "cpuused": "15.78%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:37:26+0000"
        },
        {
          "cpuused": "16.8%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:37:29+0000"
        },
        {
          "cpuused": "16.08%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:37:41+0000"
        },
        {
          "cpuused": "16.18%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:37:44+0000"
        },
        {
          "cpuused": "16.2%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:37:57+0000"
        },
        {
          "cpuused": "16.88%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:38:00+0000"
        },
        {
          "cpuused": "16.13%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:38:12+0000"
        },
        {
          "cpuused": "14.47%",
          "diskiopstotal": 0,
          "diskioread": 0,
          "diskiowrite": 0,
          "diskkbsread": 0,
          "diskkbswrite": 0,
          "memoryintfreekbs": 0,
          "memorykbs": 524288,
          "memorytargetkbs": 524288,
          "networkkbsread": 0,
          "networkkbswrite": 0,
          "networkread": "0.00 MB",
          "networkwrite": "0.00 MB",
          "timestamp": "2022-04-05T17:38:15+0000"
        }
      ]
    }
  ]
}

The column vm_stats.mgmt_server_id is storing the management server's id now:
MariaDB [cloud]> select * from mshost;
+----+----------------+---------------+-----------------------------+--------------------------------------+-------+-------------------+-----------------+--------------+---------------------+---------+-------------+
| id | msid           | runid         | name                        | uuid                                 | state | version           | service_ip      | service_port | last_update         | removed | alert_count |
+----+----------------+---------------+-----------------------------+--------------------------------------+-------+-------------------+-----------------+--------------+---------------------+---------+-------------+
|  1 |<PHONE_NUMBER>1922 |<PHONE_NUMBER>554 | cloudstack-lab-management-1 | cd30ed1b-daed-4f23-bd5a-439ed609bf13 | Up    | <IP_ADDRESS>-SNAPSHOT | <IP_ADDRESS> |         9090 | 2022-04-05 17:38:12 | NULL    |           0 |
|  3 |<PHONE_NUMBER>8830 |<PHONE_NUMBER>017 | cloudstack-lab-management-2 | ea6b28f8-8511-43f8-bff7-03a9c3fc01d8 | Up    | <IP_ADDRESS>-SNAPSHOT | <IP_ADDRESS> |         9090 | 2022-04-05 17:38:11 | NULL    |           0 |
+----+----------------+---------------+-----------------------------+--------------------------------------+-------+-------------------+-----------------+--------------+---------------------+---------+-------------+
2 rows in set (0.001 sec)

MariaDB [cloud]> select * from vm_stats;
+-----+-------+----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id  | vm_id | mgmt_server_id | timestamp           | vm_stats_data                                                                                |
+-----+-------+----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 136 |   113 |              1 | 2022-04-05 17:37:26 | {"vmId":113,"cpuUtilization":15.784281486353175,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"} |
| 137 |   113 |              3 | 2022-04-05 17:37:29 | {"vmId":113,"cpuUtilization":16.801075268817204,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"} |
| 138 |   113 |              1 | 2022-04-05 17:37:41 | {"vmId":113,"cpuUtilization":16.078753076292042,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"} |
| 139 |   113 |              3 | 2022-04-05 17:37:44 | {"vmId":113,"cpuUtilization":16.183412002697235,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"} |
| 140 |   113 |              1 | 2022-04-05 17:37:57 | {"vmId":113,"cpuUtilization":16.203322914953116,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"} |
| 141 |   113 |              3 | 2022-04-05 17:38:00 | {"vmId":113,"cpuUtilization":16.87624090006618,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"}  |
| 142 |   113 |              1 | 2022-04-05 17:38:12 | {"vmId":113,"cpuUtilization":16.1276982879828,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"}   |
| 143 |   113 |              3 | 2022-04-05 17:38:15 | {"vmId":113,"cpuUtilization":14.468924695823743,"networkReadKBs":0.0,"networkWriteKBs":0.0,"diskReadIOs":0.0,"diskWriteIOs":0.0,"diskReadKBs":0.0,"diskWriteKBs":0.0,"memoryKBs":524288.0,"intFreeMemoryKBs":524288.0,"targetMemoryKBs":524288.0,"numCPUs":1,"entityType":"vm"} |
+-----+-------+----------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
8 rows in set (0.001 sec)

@nvazquez can we re-run the smoke tests for this one?

Thanks @GutoVeronezi, sure
@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3826)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 42884 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5984-t3826-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

@GutoVeronezi @nvazquez @DaanHoogland
Can we merge this?

At this stage, i'd leave that with the RM, @nvazquez ?

@GutoVeronezi @nvazquez @DaanHoogland Can we merge this?

@joseflauzino it will only need some manual testing - will update this week

@joseflauzino sorry, have deleted my previous comment - have seen its been manually tested - can be merged

Hi @joseflauzino - does the new API return the exact same API output format/keys as the deprecated listVirtualMachinesMetrics with this PR?


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test-source

Docs Build status updates of commit 930dcbd:
:clock10: Pending: waiting for processors (7 builds ahead of you)
:warning: Docs Build is busy, currently there are 7 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 930dcbd:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-10-08-09-14-39 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-10-08-09-14-39

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update for recent changes to other repos

Add crev
Use 'fail-fast: false' instead of specific matrix exceptions
Add some TODOs
Remove cargo-audit (GH does this for us)
Update deny.toml to reject more stuff
Update codeowners to explicitly disown files of interest to everyone

Current dependencies on/for this PR:

main

PR #12

PR #13   👈

This comment was auto-generated by Graphite.


Not working anymore for selfhosted

After Upgrade to 2.0.2 from 1.3.6:
Analytics shows "Please enter your Shared Link under Self-Hosted Settings.
This link is already set. Removed the domain and link, and setting it again also not helped.
Analytics script is also not injected anymore.

Downgraded for now to version 1.3.6

Thx for fast fix. Will try the new version when released.


[Build System: CMake] Install the apinotes in the 'compiler' install component.

We should always install the remaining apinotes when building and installing the compiler component. That way they'll always end up in the toolchain, even if you aren't building the standard library.

@swift-ci please smoke test

@swift-ci please clean test

Build failed
Swift Test OS X Platform
Git Sha - 991730e7ba0ebdf7114a2dc7ce296a9a2206d35c

Build failed
Swift Test Linux Platform
Git Sha - 991730e7ba0ebdf7114a2dc7ce296a9a2206d35c

@swift-ci please clean test

Build failed
Swift Test OS X Platform
Git Sha - 96668605bb72d581b88b776eaadd55d7d1221652

Build failed
Swift Test Linux Platform
Git Sha - 96668605bb72d581b88b776eaadd55d7d1221652

I've updated my PR to now include a new CMake cache option SWIFT_INCLUDE_APINOTES which controls if the install targets are created. This variable will default to TRUE when CMAKE_SYSTEM_NAME is Darwin. Overriding this will always ensure you install the apinotes if you're also installing the compiler itself.


select properly the XML url in csw invoke

should fix #561

This is a quick fix that works, the break did not work as intended.
Proper way would be to terminate the outer loop as soon as an xml url was found,
but I think this works slightly slower with only minimal changes.


Add churchill county nv

Addresses look good; city probably shouldn't be defined though.

Also, this weirdness in the original source made me a little sad:

I was outputting city with the raw CONCAT value for edge-case comparisons.  It will be removed in the final output.

Yeah, the data is a little dirty.

Fixes #2447

(The "Fixes #xyz" thing only works in the description of the PR, not a comment)

I'll figure out github one of these days

\o/
new data!


Update to match new error message from powershell

The powershell error message has changed its wording causing this implementation to break and just return the same wrong command each time. Updated the script with the new wording to match against.

Thanks for the heads up @ramykl I had not seen this yet. I have altered the line in the merge to change it to use regex though, for backwards compatibility,


feat: add MEW wallet

Thanks for the PR!
Thanks for giving us access to your fork — I've pushed some updates to your PR migrating it to the our newly update wallets API along with some other updates.

hey @andrewdahn – is there any plans for you all to combine names/branding for Enkrypt and MEW?

@nickbytes Hello Nick, we won't be merging the branding as they are separate products under MEW.

@markdalgleish Hello, just wanted to follow up on this PR. Would love to get this merged soon.


Dont load

18:33:28.659] [Server thread/CRITICAL]: InvalidArgumentException: "Block registration 218:0 conflicts with an existing block" (EXCEPTION) in "pmsrc/src/block/BlockFactory" at line 896
[18:33:28.659] [Server thread/CRITICAL]: #0 plugins/VanillaPM4_dev-2.phar/src/brokiem/vanillapm4/block/BlockFactory(25): pocketmine\block\BlockFactory->register(object brokiem\vanillapm4\block\ShulkerBox#22868)
[18:33:28.659] [Server thread/CRITICAL]: #1 plugins/VanillaPM4_dev-2.phar/src/brokiem/vanillapm4/VanillaPM4(20): brokiem\vanillapm4\block\BlockFactory::init()
[18:33:28.659] [Server thread/CRITICAL]: #2 pmsrc/src/plugin/PluginBase(140): brokiem\vanillapm4\VanillaPM4->onEnable()
[18:33:28.660] [Server thread/CRITICAL]: #3 pmsrc/src/plugin/PluginManager(401): pocketmine\plugin\PluginBase->onEnableStateChange(true)
[18:33:28.660] [Server thread/CRITICAL]: #4 pmsrc/src/Server(1267): pocketmine\plugin\PluginManager->enablePlugin(object brokiem\vanillapm4\VanillaPM4#22799)
[18:33:28.660] [Server thread/CRITICAL]: #5 pmsrc/src/Server(1025): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#22797)
[18:33:28.660] [Server thread/CRITICAL]: #6 pmsrc/src/PocketMine(300): pocketmine\Server->__construct(object BaseClassLoader#3, object pocketmine\utils\MainLogger#2, string[16] /home/container/, string[24] /home/container/plugins/)
[18:33:28.660] [Server thread/CRITICAL]: #7 pmsrc/src/PocketMine(323): pocketmine\server()
[18:33:28.660] [Server thread/CRITICAL]: #8 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)
[18:33:28.660] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump
[18:33:28.664] [Server thread/EMERGENCY]: Please upload the "/home/container/crashdumps/Fri_Sep_3-18.33.28-UTC_2021.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.
[18:33:28.940] [Server thread/EMERGENCY]: The crash dump has been automatically submitted to the Crash Archive. You can view it on https://crash.pmmp.io/view/5160385 or use the ID #5160385.

some of blocks from this plugin is already added in latest pm4 commit, please don't use this plugin anymore. Thanks


Showing letters

A letter which is being shown the first time may be hidden in a word. So we have to check this letter even if it is already shown at the beginning of the game

This issue would be fixed with #53 soon, Hang tight!

Reopened this comment because hangman python version is not fixed yet. May closed by #56


changed BorderThickness from int to float

I was able to accomplish <1 thickness by only changing the BorderThicknessProperty from int to float at the Shared project.  There was no need to edit iOS/Android renderers.
For my use, it wortked just fine :)

I was able to build the project manually. Is there something different on the CI?

Yeah, it's a permissions thing on my Azure Devops instance that I'm struggling with to get fixed.

Ok, I'm using this in my project, once and if you approve the request I'll update install the plug-in via NuGet. Nice plug-in you have here bro, congratulations!


Interactive mode

Seems fine, merging. Thanks!
Now I am going to merge the initial stub for the symbol solver, later I am going to plan some effort on increasing test coverage.


Windows not supported?

    from multiprocessing.context import ForkProcess
ImportError: cannot import name 'ForkProcess' from 'multiprocessing.context' (D:\Python\lib\multiprocessing\context.py)

ForkProcess only on Unix?  Any chance you can patch it for Windows compatibility too?

"from multiprocessing.context import ForkProcess" this line of code doesn't seem to be in our repo. Can you provide a more detailed error message? Our model also supports running on Windows, and this error looks like an issue with your Python environment.

Here is the complete output when I run python app.py
Traceback (most recent call last):
  File "D:\Tests\MagicTime\MagicTime\app.py", line 18, in <module>
    import spaces
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\spaces\__init__.py", line 10, in <module>
    from .zero.decorator import GPU
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\spaces\zero\decorator.py", line 21, in <module>
    from .wrappers import regular_function_wrapper
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\spaces\zero\wrappers.py", line 15, in <module>
    from multiprocessing.context import ForkProcess
ImportError: cannot import name 'ForkProcess' from 'multiprocessing.context' (D:\Python\lib\multiprocessing\context.py)

I created a batch file to do the install clean and create its own venv.  Run this from any empty directory to do the install.
@echo off

echo *** Deleting MagicTime directory if it exists
if exist MagicTime\. rd /S /Q MagicTime

echo *** Cloning MagicTime repository
git clone https://github.com/PKU-YuanGroup/MagicTime
cd MagicTime

echo *** Creating venv
python -m venv venv
call venv\scripts\activate.bat

echo *** Removing triton from requirements.txt
type requirements.txt | findstr /v triton > stripped.txt
del requirements.txt
ren stripped.txt requirements.txt

echo *** Installing requirements.txt
python -m pip install --upgrade pip
pip install -r requirements.txt

echo *** Installing other required packages
pip uninstall -y xformers
pip install --no-cache-dir --ignore-installed --force-reinstall --no-warn-conflicts xformers==0.0.25 --index-url https://download.pytorch.org/whl/cu118
pip uninstall -y torch
pip uninstall -y torch
pip install --no-cache-dir --ignore-installed --force-reinstall --no-warn-conflicts torch==2.2.2+cu118 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

call venv\scripts\deactivate.bat
cd ..

echo *** Finished MagicTime install
echo.

I modified the code, you can try it now

OK, that got past the ForkProcess error.  Gives this error at startup as rm is not a Windows command.
### Cleaning cached examples ...
'rm' is not recognized as an internal or external command,
operable program or batch file.

Clicking the examples does not work and gives these errors.
Traceback (most recent call last):
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\helpers.py", line 539, in load_from_cache
    value_as_dict = ast.literal_eval(value)
  File "D:\Python\lib\ast.py", line 110, in literal_eval
    return _convert(node_or_string)
  File "D:\Python\lib\ast.py", line 99, in _convert
    return dict(zip(map(_convert, node.keys),
  File "D:\Python\lib\ast.py", line 109, in _convert
    return _convert_signed_num(node)
  File "D:\Python\lib\ast.py", line 83, in _convert_signed_num
    return _convert_num(node)
  File "D:\Python\lib\ast.py", line 74, in _convert_num
    _raise_malformed_node(node)
  File "D:\Python\lib\ast.py", line 71, in _raise_malformed_node
    raise ValueError(msg + f': {node!r}')
ValueError: malformed node or string on line 1: <ast.Call object at 0x000001A4B98E90C0>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\routes.py", line 737, in predict
    output = await route_utils.call_process_api(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\route_utils.py", line 276, in call_process_api
    output = await app.get_blocks().process_api(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\blocks.py", line 1928, in process_api
    result = await self.call_function(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\blocks.py", line 1514, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 2177, in run_sync_in_worker_thread
    return await future
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 859, in run
    result = context.run(func, *args)
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\utils.py", line 833, in wrapper
    response = f(*args, **kwargs)
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\helpers.py", line 511, in load_example
    ] + self.load_from_cache(example_id)
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\helpers.py", line 551, in load_from_cache
    output.append(component.read_from_flag(value_to_use))
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\components\json_component.py", line 114, in read_from_flag
    return json.loads(payload)
  File "D:\Python\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "D:\Python\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\Python\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

If you are running on Windows, you can try changing “rm ”to “del”

Yes, running on Windows.
Can you add some code so the rm or rd works?  Detect Windows and if so use
os.system(f"rd gradio_cached_examples /s/q")
otherwise use the existing rm linux command.
Once that change is made and the UI is launched, clicking the examples still gives these errors...
Traceback (most recent call last):
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\helpers.py", line 539, in load_from_cache
    value_as_dict = ast.literal_eval(value)
  File "D:\Python\lib\ast.py", line 110, in literal_eval
    return _convert(node_or_string)
  File "D:\Python\lib\ast.py", line 99, in _convert
    return dict(zip(map(_convert, node.keys),
  File "D:\Python\lib\ast.py", line 109, in _convert
    return _convert_signed_num(node)
  File "D:\Python\lib\ast.py", line 83, in _convert_signed_num
    return _convert_num(node)
  File "D:\Python\lib\ast.py", line 74, in _convert_num
    _raise_malformed_node(node)
  File "D:\Python\lib\ast.py", line 71, in _raise_malformed_node
    raise ValueError(msg + f': {node!r}')
ValueError: malformed node or string on line 1: <ast.Call object at 0x0000019D870739A0>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\routes.py", line 737, in predict
    output = await route_utils.call_process_api(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\route_utils.py", line 276, in call_process_api
    output = await app.get_blocks().process_api(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\blocks.py", line 1928, in process_api
    result = await self.call_function(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\blocks.py", line 1514, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 2177, in run_sync_in_worker_thread
    return await future
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 859, in run
    result = context.run(func, *args)
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\utils.py", line 833, in wrapper
    response = f(*args, **kwargs)
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\helpers.py", line 511, in load_example
    ] + self.load_from_cache(example_id)
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\helpers.py", line 551, in load_from_cache
    output.append(component.read_from_flag(value_to_use))
  File "D:\Tests\MagicTime\MagicTime\venv\lib\site-packages\gradio\components\json_component.py", line 114, in read_from_flag
    return json.loads(payload)
  File "D:\Python\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "D:\Python\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\Python\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

The reason for this fix request is that is that users have requested that I added support for MagicTime into Visions of Chaos.  I can automate the install, but having you edit your code to support windows (with the rm vs del) would make things easier, and allow MagicTime to be installed easily on any Windows PC.
I could just auto-edit the code for del when the user finishes the install, but it would be good to have a fix for the examples failing when clicked.  Thanks if you could have a look and fix that.

thanks for your interest. You can try changing os.system(f"rm -rf gradio_cached_examples/") to os.system(f"rmdir /s /q gradio_cached_examples"), and keep the other codes unchanged. Theoretically, it can be adapted to Windows after modification.

OK, we may have some language issues.
Can you make the change in ytour code.  Something to detect if Windows and run the Windows code.
Also, the examples fail.  Click any of the lower examples in the gradio GUI and you get the errors I posted above.

I don’t have a Windows machine with a GPU to debug right now, so I may need to fix this later.

OK, I won;t bother with it for now then.
If you do make the change (and fix the other bug) in the future let me know and I will add it to Visions of Chaos for Windows users.

Thank you for your understanding and attention, I will definitely fix this problem

发件人: SoftologyPro @.>
发送时间: 2024年7月5日 10:43
收件人: PKU-YuanGroup/MagicTime @.>
抄送: Shenghai Yuan @.>; Comment @.>
主题: Re: [PKU-YuanGroup/MagicTime] Windows not supported? (Issue #32)
OK, I won;t bother with it for now then.
If you do make the change (and fix the other bug) in the future let me know and I will add it to Visions of Chaos for Windows users.
―
Reply to this email directly, view it on GitHubhttps://github.com/PKU-YuanGroup/MagicTime/issues/32#issuecomment-2209895045, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BBTMABSBL5VHLVEYQ3U7GGTZKYB37AVCNFSM6AAAAABIX3QK36VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBZHA4TKMBUGU.
You are receiving this because you commented.Message ID: @.***>


Tile-size

I wanted to know how exactly tile-size correlates with vram. I know that, by default, it is set to "0" and automatically chooses the best value. But, on Video2X or Waifu2x-Extension-GUI, I need to choose a value. So, as videos take a long time to upscale, what is the better tile-size for my 1060 6GB? Considering that I want it to use everything it can to go as fast as possible.
Thanks in advance

The maximum auto tile size that's set whatever you have a 1060 or a 3090 is 400.
In Waifu2x-Extension-GUI's case, the total amount of video memory used by the software = number of threads * Tile size
Hope that helps.


JS errors after removing layer from a map

Test case is the following:
var mvtSource = new L.TileLayer.MVTSource({...})
map.addLayer(mvtSource)
map.removeLayer(mvtSource)

This code results in a JS error in L.TileLayer.bringToFront() method.
Here is online demo: http://aparshin.ru/temp/mvt_bug.html
Looks like the reason is that you are trying to do some actions when previously requested vector tile is received for already removed layer.

Solved in #68 :question:


Details about Phenotypic variance relative enrichment.

Thank you very much for sharing the analysis code! I have a question about a detail seems not to be involved in these manuscripts or published papers.

In this image, you mentioned

Cell-type-specific ACRs were associated with a lower density of polymorphisms compared to nonspecific ACRs (Figure 3G).
However, genetic variants embedded within cell-type-specific ACRs were more frequently associated with phenotypic variation determined by genome-wide association studies .

Could you please provide more detailed explanation of how the y-axis was calculated in this figure?  What's the defination of relative enrichment? It would be greatly heplful if you can upload the plotting code as well. Thank you! Have a nice weekend!

We used the same method as in Fig. 1 of this paper: https://www.nature.com/articles/s41477-019-0547-0
Hope this helps

It helpes a lot, thanks!


✨ Text Recognition

What feature or enhancement are you suggesting?
I think that It would be awesome if react-native-vision-camera supported text recognition in the same way that it supports barcodes/qr codes. Using the iOS native APIs or MLKit on Android.
What Platforms whould this feature/enhancement affect?
iOS, Android
Alternatives/Workarounds
Currently trying to re-work vision-camera-ocr to work with the new version of react-native-vision-camera.
Additional information

[X] I agree to follow this project's Code of Conduct
[X] I searched for similar feature requests in this repository and found none.

Hey!
No sorry this is not something I want to integrate into VisionCamera. QR/Barcode already was a tough decision since VisionCamera's goal is to stay as lean as possible, allowing the user to extend the API however he wants with powerful APIs that allow you to run fully native Frame Processor Plugins.
If I add QR-Code, people will want text recognition. If I add text recognition, people will want face detection. If I add face detection, people will want object detection.
Just write a frame processor plugin, it ain't that hard 😅

Yeah no worries @mrousavy . I can definately see the logic behind this decision and am eager to explore how frame processors work anyway.
Thanks for all your work!

awesome thanks!

I tried to use react-native-vision-camera-v3-text-recognition but does not work on IOS, just android.


Automatic Persisted Queries

can we use persisted queries with graphql-request?

I wrote a fetch implementation that implements graphql persisted queries and can be used with graphql-request (and probably also with other clients but I haven't tested this).
Use it like this:
const client = new GraphQLClient(
  graphUrl,
  {
    fetch: createPersistedQueryFetch(fetch)
  }
);

It'd be nice if graphql-request added support for request transformers, but this approach works well for me in my project.

Hi, Thanks for the fetch implementation @talzion12.
Unfortunately, the sha256 function in your snippet didn't work in my case (iOS), so I had to replace it with the help of native implementation (https://github.com/itinance/react-native-sha256). Then it worked.
I'm pasting here my version, so that it could help others if they get the same issue.
const VERSION = 1;

import { sha256 } from 'react-native-sha256';
type Fetch = typeof fetch;

/**
 * Creates a fetch implementation that sends GraphQL persisted query requests.
 */
export const createPersistedQueryFetch =
  (fetchImpl: Fetch): Fetch =>
  async (info, init) => {
    const request = { info, init };

    const processor = getRequestProcessor(request);

    const requestWithQueryHash = await processor.addHash(request);
    const requestWithoutQuery = processor.removeQuery(requestWithQueryHash);

    // send a request without the query
    const res = await fetchImpl(
      requestWithoutQuery.info,
      requestWithoutQuery.init,
    );
    const body = await res.json();

    // if the query was not found in the server,
    // send another request with the query
    if (isPersistedQueryNotFoundError(body)) {
      return fetchImpl(requestWithQueryHash.info, requestWithQueryHash.init);
    } else {
      res.json = () => Promise.resolve(body);
      return res;
    }
  };

/**
 * Manipulates a fetch request, implemented per HTTP method type.
 */
interface RequestProcessor {
  /**
   * Removes the GraphQL query argument from the request
   */
  removeQuery(request: Request): Request;

  /**
   * Adds the GraphQL request query hash to the request
   */
  addHash(request: Request): Promise<Request>;
}

function getRequestProcessor(request: Request) {
  const method = (request.init?.method ?? 'GET').toUpperCase();
  const requestProcessor = requestProcessorByMethod[method];

  if (!requestProcessor) {
    throw new Error('Unsupported request method: ' + method);
  }

  return requestProcessor;
}

const requestProcessorByMethod: Record<string, RequestProcessor> = {
  GET: {
    removeQuery: request => {
      const [url, params] = splitUrlAndSearchParams(
        getRequestInfoUrl(request.info),
      );
      params.delete('query');
      return {
        ...request,
        info: requestInfoWithUpdatedUrl(
          request.info,
          `${url}?${params.toString()}`,
        ),
      };
    },
    addHash: async request => {
      const [url, params] = splitUrlAndSearchParams(
        getRequestInfoUrl(request.info),
      );

      const query = params.get('query');
      if (!query) {
        throw new Error('GET request must contain a query parameter');
      }

      const hash = await sha256(query);

      params.append(
        'extensions',
        JSON.stringify({
          persistedQuery: {
            version: VERSION,
            sha256Hash: hash,
          },
        }),
      );

      return {
        ...request,
        info: requestInfoWithUpdatedUrl(
          request.info,
          `${url}?${params.toString()}`,
        ),
      };
    },
  },
  POST: {
    removeQuery: request => {
      if (typeof request.init?.body !== 'string') {
        throw new Error('POST request must contain a body');
      }

      const body = JSON.parse(request.init.body);
      const { query, ...bodyWithoutQuery } = body;

      return {
        ...request,
        init: {
          ...request.init,
          body: JSON.stringify(bodyWithoutQuery),
        },
      };
    },
    addHash: async request => {
      if (typeof request.init?.body !== 'string') {
        throw new Error('POST request must contain a body');
      }

      const body = JSON.parse(request.init.body);

      if (typeof body.query !== 'string') {
        throw new Error('POST request body must contain a query');
      }

      const hash = await sha256(body.query);

      return {
        ...request,
        init: {
          ...request.init,
          body: JSON.stringify({
            ...body,
            extensions: {
              persistedQuery: {
                version: VERSION,
                sha256Hash: hash,
              },
            },
          }),
        },
      };
    },
  },
};

interface Request {
  info: RequestInfo;
  init?: RequestInit;
}

function requestInfoWithUpdatedUrl(
  info: RequestInfo,
  url: string,
): RequestInfo {
  return typeof info === 'string'
    ? url
    : {
        ...info,
        url,
      };
}

function getRequestInfoUrl(info: RequestInfo) {
  return typeof info === 'string' ? info : info.url;
}

function splitUrlAndSearchParams(
  url: string,
): [urlWithoutSearchParams: string, params: URLSearchParams] {
  const startOfSearchParams = url.indexOf('?');

  return startOfSearchParams === -1
    ? [url, new URLSearchParams()]
    : [
        url.slice(0, startOfSearchParams),
        new URLSearchParams(url.slice(startOfSearchParams)),
      ];
}

interface GraphQLResponse {
  errors?: {
    message?: string;
  }[];
}

function isPersistedQueryNotFoundError(resBody: GraphQLResponse) {
  return (
    resBody.errors &&
    resBody.errors.length > 0 &&
    resBody.errors.find(err => err.message === 'PersistedQueryNotFound') != null
  );
}

@jasonkuhrt May I ask if this feature interests you?
Can we at least put the @talzion12 and @rubanraj54 code in the Readme and in a "plugins" folder so the magic of open source can infect all future users better than us who will make improvements?

@talzion12, @rubanraj54 do you have new code? I think this is not usable with today graphql-request.

I'm getting the error Failed to execute 'text' on 'Response': body stream already read in console.

This is the issue:
export const createPersistedQueryFetch =
  (fetchImpl: Fetch): Fetch =>
  async (info, init) => {
    // ...

    // send a request without the query
    const res = await fetchImpl(
      requestWithoutQuery.info,
      requestWithoutQuery.init
    );
    const body = await res.json();

    // if the query was not found in the server, send another request with the query
    if (isPersistedQueryNotFoundError(body)) {
      return fetchImpl(requestWithQueryHash.info, requestWithQueryHash.init);
    } else {
      res.json = () => Promise.resolve(body);
      return res;
    }
  };

graphql-request is trying to re-read the body already read in createPersistedQueryFetch function.
Why the re-assignment to res.json (with res.json = () => Promise.resolve(body)) is not working?

I found a way to make it work:
export const createPersistedQueryFetch = (fetchImpl: Fetch): Fetch =>
  async (info, init) => {
    const request = { info, init };

    const processor = getRequestProcessor(request);

    const requestWithQueryHash = await processor.addHash(request);
    const requestWithoutQuery = processor.removeQuery(requestWithQueryHash);

    // send a request without the query
    const res = await fetchImpl(requestWithoutQuery.info, requestWithoutQuery.init);
    const body = await res.json();

    // if the query was not found in the server,
    // send another request with the query
    if (isPersistedQueryNotFoundError(body)) {
      return fetchImpl(requestWithQueryHash.info, requestWithQueryHash.init);
    } else {
      // ---------> Here the changes! <-----------
      // I'm returning a new Response here
      return new Response(JSON.stringify(body), {
        status: res.status,
        statusText: res.statusText,
        headers: res.headers
      });
    }
  };

I would like to know your thoughts and if there is room for improvement.
I don't think it's the best solution, but it's working great so far.

@frederikhors sorry man, I moved to a new organization. So not sure what they are doing now with the code now.

I just contributed to the bounty on this issue:
https://until.dev/bounty/jasonkuhrt/graphql-request/269
The current bounty for completing it is $20.00 if it is closed within 1 month, and decreases after that.

@frederikhors It looks like Response.clone() will work to avoid having to manually create a new Response. I'm using const body = await res.clone().json(); and then just returning res itself.

Hi @jasonkuhrt, we implemented a wrapper of graphql-request client where we added APQ using an implementation similar to the ones proposed above, but the result is suboptimal and we think there may be improvements in putting all of that into graphql-request itself.
I saw that you're working on an extension system. Do you think that APQ should be part of extensions or can we try implement it in the core?

but the result is suboptimal

What do you mean?

Our implementation follows the following flow:

perform a GET, adding the hash but removing the Query
if it fails, perform a POST adding the hash to the body. (our queries are too big to fit in querystring params)

Because of this, we fall in a scenario similar to the one shown above:
>   POST: {
>     removeQuery: request => {
>       if (typeof request.init?.body !== 'string') {
>         throw new Error('POST request must contain a body');
>       }
>
>       const body = JSON.parse(request.init.body);
>       const { query, ...bodyWithoutQuery } = body;
>
>       return {
>         ...request,
>         init: {
>           ...request.init,
>           body: JSON.stringify(bodyWithoutQuery),
>         },
>       };
>     },
>     addHash: async request => {
>       if (typeof request.init?.body !== 'string') {
>         throw new Error('POST request must contain a body');
>       }
>
>       const body = JSON.parse(request.init.body);
>
>       if (typeof body.query !== 'string') {
>         throw new Error('POST request body must contain a query');
>       }
>
>       const hash = await sha256(body.query);
>
>       return {
>         ...request,
>         init: {
>           ...request.init,
>           body: JSON.stringify({
>             ...body,
>             extensions: {
>               persistedQuery: {
>                 version: VERSION,
>                 sha256Hash: hash,
>               },
>             },
>           }),
>         },
>       };
>     },
>   },
> };
> ```

and as you can see we're "stringifying" and "parsing" the body twice (one in `removeQuery`, the other in `addHash`). We think that if we do this inside the client itself, we'll be able to access `body` and `searchParams` directly, therefore improving performance.

There should be an extension to achieve the goals of this issue. I'll try to make the extension system support what's needed to make that happen.

Can someone please summarize in high level point form what the requirements here are?
E.g. A GraphQL document just needs to be SHA'd and have that value sent to the serve in place of the actual document? What above variables? Etc.
Thanks

Reference for APQ: https://www.apollographql.com/docs/apollo-server/performance/apq/ (it's from Apollo but it's become the de facto standard)

Client sends a request with the sha256 of the query and without the body. (other parameters are sent as is) - usually this is sent as GET so that the request can be cached. But POST is good as well.
If server finds the query, it returns the response => all good
If server does not find the query, returns a PERSISTED_QUERY_NOT_FOUND error
The client sends the request again with both the sha and the query (alongside other params). Server persists the sha alongside the query and uses that for future requests.

(A note on point 1: to avoid calculating sha256 on each request, we run a codegen with our queries to pre-calculate the sha and bundle them with our code)

@marcoreni

to avoid calculating sha256 on each request, we run a codegen with our queries to pre-calculate the sha and bundle them with our code

Can I ask you how?

@frederikhors we're using graphql-codegen Client Preset with persistedDocuments configured as follow:
persistedDocuments: {
    hashAlgorithm: "sha256",
    mode: "replaceDocumentWithHash",
},

This generates:

a persisted-documents.json containing a dictionary of hash - queries
a graphql.ts file where each query is associated to its hash

Then, it's just a matter of connecting this to graphql-request (in our wrapper we send the dictionary to the client upon creation, and send the appropriate hash when we need to run the query)

Thank you @marcoreni I'll take a look at that as a next step for this issue. Will remove the needs more info label once I have had time to do that. ty!

I found this helpful as a kind of primer on the topic https://the-guild.dev/graphql/yoga-server/docs/features/persisted-operations.
Because Graffle will have a query builder interface, solutions that is based on statically analyzing for GraphQL syntax documents is not going to work.
I am curious about using the Graffle CLI to expose a solution native to Graffle. The entire thing is rather ambitious for me though and I don't expect this to get done soon.
If anyone has proposals/hints on solutions let me know. Just keep in mind the query builder interface requirement of Graffle.

@marcoreni I'm currently looking at migrating our Apollo codegen solution over to a React Query + graphql-request codegen solution. We also use APQ at the moment and would love to see your wrapper solution for reference if you're happy to share.


Unable to install via Composer

Defining the php-http/client-implementation virtual package dependency interactively does not work, as it is unable to resolve a package.
Setting up both values manually in composer.json like so:
"require": {
        ...
        "php-http/client-implementation": "^1.0"
    },
    "require-dev": {
        ...
        "php-http/guzzle6-adapter": "^1.0"
    },

also fails with the following errors:
  Problem 1
    - The requested package php-http/client-implementation could not be found in any version, there may be a typo in the package name.
  Problem 2
    - The requested package php-http/guzzle6-adapter could not be found in any version, there may be a typo in the package name.

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

@dbu says it's due to the adapter being outdated and providing the wrong thing.
FYI I am using php-http to replace the concrete Guzzle 5 dependency in this lib. The whole thing will result in a post on SitePoint.

On further inspection, the adapter as set in Packagist does indeed provide adapter-implementation. If someone could just push the most recent version to Packagist, that would solve things on that end, but it still doesn't clarify the error that says php-http/guzzle6-adapter can't be found in any version.

@sagikazarmark can you please add bruno on slack? i have no slack on my mobile to do it and out of home today.

Sure. @Swader can I use your sitepoint email address for slack.
As for the dependency problem: guzzle6-adapter currently has a 0.2 branch alias for dev-master. You could use ~0.2@dev as a version constraint. The correct virtual package is php-http/client-implementation.

@sagikazarmark yeah, sure<EMAIL_ADDRESS>will do fine, cheers

Invite sent

@Swader is this working for you now?

Have not checked yet, swarmed with other stuff atm, sorry. Will dive into it tomorrow.

great. note that you will need to have minimum-stability at dev for now to
get anything installed

Installed fine, proceeding with implementation


Update Nuget package versioning for dev branch to use pre-release semver

Dev branch package versions should have a -beta suffix so that they list as pre-release packages.

Quick one, where are they not being listed as pre-release? VS seems to show them as pre-release versions.


Add support for Neotest

@adalessa thank you very much for this PR !
Actually, I already have a pretty advanced draft on my side (locally).
I might do a PR with what I have and include your changes if needed. Would that work for you ?

Cool !


Statemachine, task refactor

What does this PR do
Prep work to support task restarts, inband firmware installs.

Moves away from the stateswitch library, to internal packages.
Refactors Task objects for KV storage.
Adds Steps as the smallest unit of work in a Task Action.
Use github.com/stretchr/testify/mock instead of go.uber.org/mock/gomock.
Updates export CLI command for current Flasher flow diagram.

The commits in this PR are grouped by the kind of changes, recommend reviewing in commit order.

rebase on main

Since I cherry-picked commits from main in the previous rebase attempt, the conflicts with main couldn't be resolved.
This force push includes a proper rebase on main.


Rename private FUNCTION macro

Rename private FUNCTION macro to CESTER_FUNCTION to prevent…warning on MSVC compilers

Use Microsoft's built-in FUNCTION macro if it's available and func is not

Hello,
First of all, I was looking around for a simple to use, preferably header
only, test framework for a library I just started working on, because
google test is a pain to set up and maintain and I wanted something much
more lightweight. I came across yours and gave it a try. Its only been a
couple of days, but so far it is just what I needed. So, thanks!
Seeing the "#include <windows.h>" removed is what I meant. The biggest
issues that I personally have had with including "windows.h" is when you
get to socket and network communications code that is trying to be cross
platform. Even libraries like boost asio give problems if you include
windows.h along with them, or in the wrong order. So, for the project I am
using the test framework for now (which is purely a  3D math library), it
is not a problem. The only thing I ran into is the min/max issue. However,
if I was to use the framework on some of my other projects, especially the
ones that do network communication, I think it would be more of a headache.
While I have your attention, I do have a question.
I haven't studied the documentation closely yet, but I was trying to do
something that failed miserably and I'd like to ask directly if its
possible:
The library I am using the test framework is all header only templates so
that the user can use it with float, double (or long double eventually). It
would be great to templatize some of the test cases so that I don't have to
duplicate them for each of the supported types. Is that possible?
Best regards,
Marcel
On Wed, Mar 10, 2021 at 10:53 AM Youngmaster27<EMAIL_ADDRESS>wrote:

Hello @MarcelInTO https://github.com/MarcelInTO apologies for the late
reply, I have been logged out by guthub and I don't have access to my 2fa
device anymore.
When you say "windows.h causes lot of problems to cross platform code" and
"would love to see it gone entirely from the test framework"
What do you intend to see go from the test framework, windows.h or the
problems related to cross platform builds
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/exoticlibraries/libcester/pull/47#issuecomment-795907106,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJT45VVJCB7TZRWS77HTKLTC6523ANCNFSM4Y4YNZZA
.

Hello MarcelInTO,
I just made a new release, which includes the option to compile without the
windows.h header file. By simply defining the macro
CESTER_EXCLUDE_WINDOWS_H before
including cester.h all features depending on windows.h will use
an alternative. See this page
https://exoticlibraries.github.io/libcester/docs/selective_compilation.html#do-not-include-windows-h
for more detail on how to exclude windows.h
On Wed, Mar 10, 2021 at 8:28 PM Azeez Adewale @.***>
wrote:

Actually, the ONLY thing windows.h is used for is printing the result with
color in the terminal,
so removing it won't cause any issue I'll provide a macro to prevent the
inclusion of the windows.h
header in the next release before the weekends.
For the use case that failed miserably can you open an issue for it with
detail and if possible with some code snippet.
It currently not possible to templatize a test case, that sounds like a
good feature, open an issue on what to expect from the template feature.
I'll sure to prioritize the two issues after the upcoming release.

See this test for how to exclude windows.h
https://github.com/exoticlibraries/libcester/blob/main/test/test_no_windows_h.c
On Fri, Mar 12, 2021 at 9:18 PM Azeez Adewale @.***>
wrote:

Hello MarcelInTO,
I just made a new release, which includes the option to compile without
the windows.h header file. By simply defining the macro
CESTER_EXCLUDE_WINDOWS_H before including cester.h all features depending
on windows.h will use an alternative. See this page
https://exoticlibraries.github.io/libcester/docs/selective_compilation.html#do-not-include-windows-h
for more detail on how to exclude windows.h
On Wed, Mar 10, 2021 at 8:28 PM Azeez Adewale @.***>
wrote:

Actually, the ONLY thing windows.h is used for is printing the result
with color in the terminal,
so removing it won't cause any issue I'll provide a macro to prevent the
inclusion of the windows.h
header in the next release before the weekends.
For the use case that failed miserably can you open an issue for it with
detail and if possible with some code snippet.
It currently not possible to templatize a test case, that sounds like a
good feature, open an issue on what to expect from the template feature.
I'll sure to prioritize the two issues after the upcoming release.


Project 100%

If a project has closed all issues the progress bar is no longer shown, it should not be at 100%?
I'm using Redmine 3.3

@mausampaio It would be great if you could provide a screenshot of the issue.
Thank you.

No problem, here prints:
If i have 2 issues, 1 closed and 1 open:

If I close the 2 issues,
the progress bar disappears instead of being 100%.

Thank you for the help.

https://github.com/stgeneral/redmine-progressive-projects-list/pull/69


Enable Minimal mDNS unit tests

Problem
Enable Minimal mDNS unit-tests [gn deps]:

/src/lib/mdns/minimal/tests
/src/lib/mdns/minimal/core/tests
/src/lib/mdns/minimal/responders/tests

Proposed Solution
Enable Minimal mDNS unit-tests for mbed test application [CMakeList.txt, BUILD.gn]
Blocked by

#142

Minimal DNS unittests fixed and passed sucessfully.
Changes commited to test-unittests branch