how to be sure that nanpolish index is running ?

Hi,
My command nanopolish index is running, since 270 hours. I'm wondering if I'm waiting for nothing...
In htop command nanopolish index is running it's ok but I see none new files as .readbb or other in writting. My command :
sudo ~/softs/nanopolish/nanopolish index -d /data2/200113_gI_run048/fast5_pass/ /data2/200113_gI_run048/fastq_pass/
Nanopolish didn't accept the parameter -f for sequencing_summary.txt file.
The fast5 are mutli fast5 files. Must I use the multi_to_single_fast5 script before Nanopolish ?
Can you help me ?
Thanks for your help.

Hi,
The second argument should be a fastq file, not a directory. I suspect this has caused the unexpectedly long run time. Can you fix this and try again?
The summary file should be provided with the -s option, not -f.
Jared

yes, sorry I was too speed.
sudo ~/softs/nanopolish/nanopolish index -s /data2/200113_gI_run048/sequencing_summary_FAL11939_1d8f98e1.txt -d /data2/200113_gI_run048/fast5_pass/ /data2/200113_gI_run048/reads_pass.fastq
Could not find filename column in the header of /data2/200113_gI_run048/sequencing_summary_FAL11939_1d8f98e1.txt
I can launch without option -s ... ?

Can you run head -2 /data2/200113_gI_run048/sequencing_summary_FAL11939_1d8f98e1.txt and show me the result?

head -2 /data2/200113_gI_run048/sequencing_summary_FAL11939_1d8f98e1.txt
filename_fastq  filename_fast5  read_id run_id  channel mux     start_time      duration        num_events      passes_filtering        template_start  num_events_template     template_duration       sequence_length_template        mean_qscore_template       strand_score_template   median_template mad_template    pore_type       experiment_id   sample_id       end_reason
FAL11939_pass_1d8f98e1_0.fastq  FAL11939_pass_1d8f98e1_0.fast5  5212ca5d-f712-47a1-ad90-e57a7292ed26    1d8f98e1d5b4d4330c10dedd511982b48ba1370b        407     1       7.127500        0.600250        1200    TRUE    7.129000        1197    0.598750   175     12.858709       0.000000        77.659004       8.591344        not_set DUPONT  DUPO2_1 unblock_mux_change

This is a newer format of the summary file, which is only supported in the most recent version of nanopolish. Can you update to the latest version from github and try again?

~/softs/nanopolish$ git pull
Already up-to-date.
?

What does nanopolish --version say?

~/softs/nanopolish/nanopolish --version
nanopolish version 0.10.2
Written by Jared Simpson.
Copyright 2015-2017 Ontario Institute for Cancer Research

That version is very old (Sept 2018). Try to recompile (make clean; make)

~/softs/nanopolish$ ~/softs/nanopolish/nanopolish --version
nanopolish version 0.11.3
Written by Jared Simpson.
~/softs/nanopolish/nanopolish index -s /data2/200113_gI_run048/sequencing_summary_FAL11939_1d8f98e1.txt -d /data2/200113_gI_run048/fast5_pass/ /data2/200113_gI_run048/reads_pass.fastq
warning: detected invalid summary file entries for 2 of 464 fast5 files
These files will be indexed without using the summary file, which is slow.
Index is working, thanks!

great!


Support for UUID, Decimal128 and more tests for Model level APIs

What this PR does:
This PR covers tests at the mongoose API level as mentioned in #97
Which issue(s) this PR fixes:
Fixes #97
Checklist

[X] Changes manually tested
[X] Automated Tests added/updated
[X] Documentation added/updated
[X] CLA Signed: DataStax CLA

Hi @vkarpov15 I'm keeping this PR as draft for now, as I'm still more tests and I would like to get your review specifically in httpClient.ts on the changes related to UUID and Decimal128 support. Please let me know if that looks, I'll add more tests and ll make it ready for final review.


Provide possibility to rotate db certificates w/o ZITADEL restart

With the current pgx db connection pool, the certificates for connecting to the database are only read once (on startup).
Clients rotating their certificates on the database (on a regular basis) need to restart ZITADEL in order to reconnect to the database.
We should provide the possibility to exchange the certificate and reconnect to the database after the connection fails, resp. always read the cert from path.
An idea was to implement the GetCertificate / GetClientCertificate method on the tls.Config for that.
Acceptance criteria

[ ] The connection pool automatically uses the new certificate if it got exchanged

I think we need a solution that resolves this together with https://github.com/zitadel/zitadel/issues/7962.
I like the idea of having file watchers on configured paths because it wouldn't require any additional interaction with ZITADEL apart from updating the files.

Notice that it would be nice to use the new certificates before a connection fails.
It would be nice we could provide a DB connection max lifetime to ensure connections are rotated onto new certificates.

Notice that it would be nice to use the new certificates before a connection fails. It would be nice we could provide a DB connection max lifetime to ensure connections are rotated onto new certificates.

From what I know, this issue arose with the exchange of the db driver. With the old it used to worked, so I assume you exchanged the (mounted) certificates on the same path, correct?
So having a file watcher / SIGHUP or even getting the current certificate without caching it, would again solve the issue.

From what I know, this issue arose with the exchange of the db driver. With the old it used to worked, so I assume you exchanged the (mounted) certificates on the same path, correct? So having a file watcher / SIGHUP or even getting the current certificate without caching it, would again solve the issue.

Yes, we changed the certificates on-disk. What we actually have is a Kubernetes Pod that mounts a secret to a path. The files on disk will be updated by Kubernetes when the secret is updated.
I am pretty sure that the old driver had a connection max-lifetime set. It thus recreated SQL connections once in a while and it always used certificates freshly read from disk.
So a different solution is to re-create connections at some interval, using certificates on disk when new connections are made.


ref(Dockerfile): use base 0.3.4, smaller packages and better cleanup

Use python3-pip instead of using non-package management approach as this provides us with the proper pip version anyway, and better cleanup
Old vs New image size:
REPOSITORY                TAG                 IMAGE ID             SIZE
quay.io/deis/controller   v2.5.1              8e926c780d4d         214.4 MB
quay.io/helgi/controller   canary              a1017a79f8a2       204.8 MB

Current coverage is 87.78% (diff: 100%)

Merging #1088 into master will not change coverage

@@             master      #1088   diff @@
==========================================
  Files            42         42
  Lines          3603       3603
  Methods           0          0
  Messages          0          0
  Branches        610        610
==========================================
  Hits           3163       3163
  Misses          290        290
  Partials        150        150

Powered by Codecov. Last update 260b1e4...790c9d2

this caused the controller to crashloop

@jchauncey thanks, already looking into it - doesn't happen on my persona cluster so I'm having to look at other places right now


[hi] Localized docs/reference/tools/_index.md

Did [hi] localization of a file

My a/c is verified and CLA signed as well. But the git of my laptop doesn't had verified label and that's not CLA signed. (Git of my laptop is associated with my brothers a/c) What to do? I already had tried resolving it but it's not working. How do i resolve it?

/remove-lifecycle rotten

Hey @aj11anuj, can you retry by pushing another commit?

/remove-lifecycle stale

There are two approaches:

Close this PR & open a new one with the correct configuration.
Amend the previous commit's sign off and config to reflect the right credentials.


SBOM cataloger

Supports ad hoc binary application layouts:
CI saves CycloneDX SBOM JSON in docker image or application deployment/installation folder.
During image/directory scanning, Syft does not need to rely on specific layouts supported by specific catalogers.
Instead, application may use whatever layout and format it needs, and provides SBOM JSON artifact for integration with Syft or other tools.
Typical scenario is a node/react/webpack build folder with static content for web server. This particular use case can be supported by providing npm/yarn lock file and enabling javascript-lock-cataloger (#1022).
SBOM cataloger provides more generic approach to this problem.

Related https://github.com/anchore/syft/issues/737
We should catalog sboms using known file extensions.
Currently each format that syft supports has a registered file name/extension.
spdx - *.spdx.json
CycloneDX - *.cdx.json and sbom.json
syft - *.syft.json
We should use the above file patterns for the sbom cataloger.

A larger question re:design is that we have now introduced a dependency on our internal formatting library on the cataloger. The way that syft is currently structured, we have kept the formatters as a separate layer of logic that build on top of the syft sbom model. This is probably something we might want to think about as we introduce dependencies between the formatters and the catalogers.
The PR also currently only parses cyclonedx SBOMs, we should probably extend it to the other formats syft supports if we agree with the proposed design.
One of the other things we have discussed in the past when we have talked about cataloging sboms is providing links back to the original sbom as evidence. Currently syft is able to provide details as to 'why' it included a specific component in the output. One of the blockers to implementing #737 has been figuring out an appropriate way to represent that syft itself didn't discover the cataloged components, rather it pulled them from an sbom present in the image.
cc: @wagoodman, @luhring

@patrikbeno I just thought about merging SBOMs or filtering it with a tool like Dependency Track.
Very nice that you created a PR, already.

Currently syft is able to provide details as to 'why' it included a specific component in the output. One of the blockers to implementing https://github.com/anchore/syft/issues/737 has been figuring out an appropriate way to represent that syft itself didn't discover the cataloged components, rather it pulled them from an sbom present in the image.

I've just had a play with this branch to look at this, as I'm keen to see this function get added.
It is determinable from the SBOMs that syft discovered this component from an SBOM on disk:

for cyclonedx format, the syft:package:foundBy package property has a value of sbom-cataloger
for syft json format, foundBy has a value of sbom-cataloger
for spdx format, the source information field of packages indicates that it came from an SBOM

Also, thanks to https://github.com/anchore/syft/pull/1038, users can disable the SBOM cataloger should they desire.
Is this still a blocking issue?

rebased

Hi!
I am wondering about the status of this PR.
@patrikbeno does your latest force-push includes a fix for the mentioned bug of wrong spdx reported by @tofay ?
Kind regards
Timo

rebased

Hi! I am wondering about the status of this PR. @patrikbeno does your latest force-push includes a fix for the mentioned bug of wrong spdx reported by @tofay ?
Kind regards Timo

sort of, I did my best, but it needs some improvements

Hi! I am wondering about the status of this PR. @patrikbeno does your latest force-push includes a fix for the mentioned bug of wrong spdx reported by @tofay ?
Kind regards Timo

sort of, I did my best but it needs some improvements
https://github.com/anchore/syft/pull/1029/commits/cb10e394641abf0c0f776b6c44163d69edcce046#diff-c7a11830ac100436d2a97b022ed008c98df328cb13aff4f8108200305fbc0f34L52

Hi! I am wondering about the status of this PR. @patrikbeno does your latest force-push includes a fix for the mentioned bug of wrong spdx reported by @tofay ?
Kind regards Timo

sort of, I did my best but it needs some improvements cb10e39#diff-c7a11830ac100436d2a97b022ed008c98df328cb13aff4f8108200305fbc0f34L52

improvement?
https://github.com/anchore/syft/commit/3016aefad035782d29ce3248d3a5c62d806e5bbc#diff-c7a11830ac100436d2a97b022ed008c98df328cb13aff4f8108200305fbc0f34R50

@tofay I think that's correct

Integration tests that prove no collision and assert on packages being resolved as imported or detected as part of an SBOM and not asserted on disk
disable by default
cc @wagoodman if he had other ideas on additions or updates to this PR

rebased

Hi @patrikbeno and @tofay, hope you are doing well. We were discussing this pull request as a team today, and we realized it would be helpful to have a live conversation about this feature. Would you be able to join one of our upcoming community meetings? They are held every two weeks on Thursdays, at 1200 EST. The next one is August 18: https://github.com/anchore/grype#join-our-community-meetings -- thanks in advance!
Tim

Hi @patrikbeno I've added an integration test and made the sbom-cataloger off by default at, https://github.com/tofay/syft/commit/a36650fcb4b7765aa9d1e9b1513e6470f3f0728d - can you bring those changes into this PR?
Hi @tgerla. I can't make today's meeting - I should be able to make the 1st September one. FWIW my use case is to use SBOMs as a solution for https://github.com/ossf/wg-vulnerability-disclosures/issues/76 - if I include dependencies in a binary that syft can't detect then I can make an SBOM and include it alongside the binary.

merged with tofay/syft, goimports-ed, rebased

rebased on main

@wagoodman @tofay @patrikbeno @kzantow @tgerla
I'd like to add this PR as the first topic for the next community meeting:
https://calendar.google.com/calendar/u/0/r?cid=Y182OTM4dGt0MjRtajI0NnNzOThiaGtnM29qNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
@patrikbeno has been extremely diligent in keeping it inline with main and @tofay has added a patch that means we've covered some of the integration areas for this kind of cataloger.

We have been discussing some changes that would probably be required to get this PR to the finish line. We would love some community feedback, as we will probably discuss this at the next community meeting, Sep. 1 at 12 noon ET: https://calendar.google.com/calendar/u/0/r?cid=Y182OTM4dGt0MjRtajI0NnNzOThiaGtnM29qNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t if anyone is able to join, please do so we can move this forward!

We have been discussing some changes that would probably be required to get this PR to the finish line. We would love some community feedback, as we will probably discuss this at the next community meeting, Sep. 1 at 12 noon ET: https://calendar.google.com/calendar/u/0/r?cid=Y182OTM4dGt0MjRtajI0NnNzOThiaGtnM29qNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t if anyone is able to join, please do so we can move this forward!

@kzantow, hello! I'm trying to join the meeting, but that link asks me to sign in with a Google account, which I don't have. Is there a direct link? Thanks!

@seabass-labrax are you on the community slack? If you pm me I can message you the zoom link directly

@seabass-labrax are you on the community slack? If you pm me I can message you the zoom link directly

@spiffcs thank you for the offer! I've found a direct link in the previous meeting minutes though, so it's all good now :smiley:

rebased on main

Hi,
I tried it out with some images. I have marked and @type/marked as a dependency.
The SBOM, generated in the CI looks as following:
[...]
    {
      "type": "library",
      "bom-ref"<EMAIL_ADDRESS>      "group": "@types",
      "name": "marked",
      "version": "4.0.3",
      "description": "TypeScript definitions for Marked",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "1e73164242c911ffcf9f16487db9b4c862514596183216fef8ef4cdfa5024c0f73e77b8fbd5a12940c09af75cea4312bc9bec7c25d6a031fcc57a6085b5457c6"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl"<EMAIL_ADDRESS>      "externalReferences": [
        {
          "type": "website",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/marked"
        },
        {
          "type": "issue-tracker",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ]
    },
   {
      "type": "library",
      "bom-ref"<EMAIL_ADDRESS>      "author": "Christopher Jeffrey",
      "name": "marked",
      "version": "4.0.18",
      "description": "A markdown parser built for speed",
      "hashes": [
        {
          "alg": "SHA-512",
          "content": "c1b2c327b661d2ca80d15760e9aaa56d3fb23f1a8b6e5a40661d662b6f803b6b704243f2c2fbea40d7c43d5c124918d9edd65c75e5412008223bb30ca770eccf"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "purl"<EMAIL_ADDRESS>      "externalReferences": [
        {
          "type": "website",
          "url": "https://marked.js.org"
        },
        {
          "type": "issue-tracker",
          "url": "http://github.com/markedjs/marked/issues"
        },
        {
          "type": "vcs",
          "url": "git://github.com/markedjs/marked.git"
        }
      ]
    },

[...]

This cataloger doesn't take into account the group, and incorrectly creates entries for marked in two different versions (4.0.8 correct and 4.0.3 incorrect because it should be @types/marked):
    {
      "bom-ref": "pkg:npm/marked@4.0.18?package-id=b522ea0afa5eb188",
      "type": "library",
      "name": "marked",
      "version": "4.0.18",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "cpe": "cpe:2.3:a:marked:marked:4.0.18:*:*:*:*:*:*:*",
      "purl"<EMAIL_ADDRESS>      "properties": [
        {
          "name": "syft:package:foundBy",
          "value": "sbom-cataloger"
        },
        {
          "name": "syft:package:language",
          "value": "javascript"
        },
        {
          "name": "syft:package:type",
          "value": "npm"
        },
        {
          "name": "syft:cpe23",
          "value": "cpe:2.3:a:*:marked:4.0.18:*:*:*:*:*:*:*"
        },
        {
          "name": "syft:location:0:layerID",
          "value": "sha256:1a33777c9e6e4d82347a8d1acb94e00cfb8cebbf21cde62b760da6d12a589067"
        },
        {
          "name": "syft:location:0:path",
          "value": "/bom.json"
        }
      ]
    },
    {
      "bom-ref": "pkg:npm/marked@4.0.3?package-id=8f09fb5a1744981d",
      "type": "library",
      "name": "marked",
      "version": "4.0.3",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "cpe": "cpe:2.3:a:marked:marked:4.0.3:*:*:*:*:*:*:*",
      "purl"<EMAIL_ADDRESS>      "properties": [
        {
          "name": "syft:package:foundBy",
          "value": "sbom-cataloger"
        },
        {
          "name": "syft:package:language",
          "value": "javascript"
        },
        {
          "name": "syft:package:type",
          "value": "npm"
        },
        {
          "name": "syft:cpe23",
          "value": "cpe:2.3:a:*:marked:4.0.3:*:*:*:*:*:*:*"
        },
        {
          "name": "syft:location:0:layerID",
          "value": "sha256:1a33777c9e6e4d82347a8d1acb94e00cfb8cebbf21cde62b760da6d12a589067"
        },
        {
          "name": "syft:location:0:path",
          "value": "/bom.json"
        }
      ]
    },

I researched a bit further. It might be an issue with syft in general.
By taking a look at the output of the javascript cataloger, it doesn't use group (specified in . It places the group in front of the name.
I am using the following components/flow:
cyclonedx/cyclonedx-npm (uses group) -> image -> syft (doesn't support group) with https://github.com/CycloneDX/cyclonedx-go (does support groups)  -> new-bom.json (without group attribute/prefix in name)
Is there a reason that syft doesn't use the specified group in a package? The cycloneDX specification uses
a group https://cyclonedx.org/docs/1.4/json/#components_items_group?
A workaround might be to do make the bom.json it like the javascript cataloger uses it and add the group in front of the name and remove the group attribute.

rebased on main

@wurstbrot, this cataloger does NOT build SBOM from any specific platform artifacts (jars, poms, npms, nugets, etc)
Instead, it simply relies on PROVIDED SBOMs.
Hence, its quality, content-wise, cannot be better than original SBOM provider, be it Syft or other tool.

@wurstbrot, sorry, I get it now. Syft incorrectly parses CycloneDX generated by other than Syft :-/ if the SBOM uses group attribute.
Since SBOM cataloger is the one that introduces handling 3rd party SBOMs, this should certainly be fixed in this PR.
I'll try to look into this.

fixed, I guess:
$ (cd test; npm i marked @types/marked); npx @cyclonedx/bom test/ -o bom.json; ./syft.exe bom.json

up to date, audited 3 packages in 707ms

found 0 vulnerabilities
NAME           VERSION  TYPE
@types/marked  4.0.7    npm
marked         4.1.0    npm

yeah, that is a quick hack I think. Thank you. I will test it also.

I tried this on a project I hope to convert to syft. It has an SPDX fragment (in tag value format) for each dependency. I noticed two issues (with regards to the SPDX fragments already there):

syft complains about missing SPDXID. While it's probably correct in doing that, the output SPDX has new ids anyway, so maybe it would be nice to relax this requirement.
It doesn't recognize DataLicense

I guess this isn't this PR's fault but from the syft parser, but I wanted to put them out there for discussion. And potentially get an idea of the amount of effort needed to implement in a followup.

@patrikbeno We recently came to a conclusion internally that SBOMs with multiple sources aren't anywhere on the near-term horizon, which brought the finish line much closer to the current state of this PR. I wanted to try and get this to the finish line.
I've rebased this PR and made a few additions based on multiple conversations in the community meeting and other threads:

The pkg.Package.Locations array is overwritten with a single location: the path to the SBOM that describes this package. Why make this change? The Locations field is meant to be the paths where the existence of this path is evident. In this case the cataloger only considers SBOM paths, thus, the only evidence paths should be the SBOM itself and not what is contained within the SBOM. I'm not 100% about this suggestion, but wanted to stick to the existing semantics of pkg.Package.Locations by default.

For every package the SBOM cataloger finds a relationship to the SBOM that describes that package is additionally returned.

What do you think about these additions? Happy to chat through them or remove them if that's not what you're looking for.

While adjusting for https://github.com/anchore/syft/pull/1029#discussion_r1023095084 to generalize the SBOM parsing, it became apparent that high-level API functions were needed. All of the functions under the top-level API at syft.Format* were exposed when all format implementations were under internal. Once internal/formats was moved to syft/format to expose it on the API, a similar migration of the syft.Format* functions should have been migrated to that package. In order to use these functions without an import cycle this PR migrates these functions. The original syft.Format* functions still remain as empty shells that call back to the migrated function under format to not break folks out in the world. That being said, this should be removed at syft v1.0.

Huge thanks to everyone who contributed thoughts, comments, and guidance on this PR!
Special shoutout to @patrikbeno for getting the ball rolling and starting the discussion. Congrats to @wagoodman for getting it finalized and @kzantow for the review needed to get something like this merged into syft.

Thanks @spiffcs 🙌  -- @patrikbeno let me know if there is anything about the changes mentioned in https://github.com/anchore/syft/pull/1029#issuecomment-1314377218 that don't sit right or you have questions on and we can follow up with changes in another PR.

Very exciting to see this PR merged, amazing work everyone!


Added benchmarking code

Performs load testing PolkadexTEE Worker using Scala based benchmarking tool i.e. Gatling.
Will close #181

Due to limitation of current web-socket lib as it cant hold more than 100 connections simultaneously, we still dont know current throughput of PolkadexTEE Worker.  As soon as issue #41 closes, I will benchmark PolkadexTEE worker again.


the trait bound poise::serenity_prelude::Context: AsRef<poise::serenity_prelude::Context> is not satisfied

What is this error? I am trying to use poise::execute_modal_on_component_interaction.
Here is my function:
pub async fn dispatch(ctx: &serenity::Context, mci: &ComponentInteraction) -> Result<(), Error> {
    match mci.data.custom_id.as_str() {
        "birthday.submit" => {
            let data: Option<AgeModal> =
                poise::execute_modal_on_component_interaction(ctx, mci.clone(), None, None).await?;
        }
        _ => (),
    }
    Ok(())
}

And my error is:
error[E0277]: the trait bound `poise::serenity_prelude::Context: AsRef<poise::serenity_prelude::Context>` is not satisfied
   --> src\discord\on_component_interaction.rs:12:63
    |
12  |                 poise::execute_modal_on_component_interaction(ctx, mci.clone(), None, None).await?;
    |                 --------------------------------------------- ^^^ the trait `AsRef<poise::serenity_prelude::Context>` is not implemented for `poise::serenity_prelude::Context`
    |                 |
    |                 required by a bound introduced by this call
    |
    = help: the following other types implement trait `AsRef<T>`:
              <poise::serenity_prelude::Context as AsRef<Arc<Cache>>>
              <poise::serenity_prelude::Context as AsRef<Arc<poise::serenity_prelude::Http>>>
              <poise::serenity_prelude::Context as AsRef<Cache>>
              <poise::serenity_prelude::Context as AsRef<ShardMessenger>>
              <poise::serenity_prelude::Context as AsRef<poise::serenity_prelude::Http>>
    = note: required for `&poise::serenity_prelude::Context` to implement `AsRef<poise::serenity_prelude::Context>`
note: required by a bound in `execute_modal_on_component_interaction`
   --> C:\Users\sarah\.cargo\registry\src\index.crates.io-6f17d22bba15001f\poise-0.6.1\src\modal.rs:123:15
    |
122 | pub async fn execute_modal_on_component_interaction<M: Modal>(
    |              -------------------------------------- required by a bound in this function
123 |     ctx: impl AsRef<serenity::Context>,
    |               ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `execute_modal_on_component_interaction`

For more information about this error, try `rustc --explain E0277`.
error: could not compile `girlpound-bot` (bin "girlpound-bot") due to 1 previous error

What is happening? I know in general there is no blanket impl AsRef<T> for &T in Rust because of some sort of conflict, but what do I do in this case? I feel like I am missing something obvious.

It's possible your Cargo.toml contains a different serenity version than the one poise uses, which means the two mismatching serenity Context types only mismatch because they're of two different versions.. Poise 0.6 needs Serenity 0.12. Is that the case in your Cargo.toml?

There is no serenity in my Cargo.toml. I am using the one that comes in the poise crate. The types are the same. Rust does not have a blanket impl AsRef<T> for &T. To solve this I had to implement execute_model_generic myself.

@kangalio See https://doc.rust-lang.org/std/convert/trait.AsRef.html#reflexivity

Please attach your Cargo.lock file, so we can see if you have duplicate dependencies.

Here. Poise 0.6.1 and Serenity 0.12.1. Cargo.lock.txt
The problem is not duplicate dependencies. The types are the same. AsRef<poise::serenity_prelude::Context> is NOT implemented for poise::serenity_prelude::Context. This is a known quirk of the rust language.
See https://doc.rust-lang.org/std/convert/trait.AsRef.html#reflexivity
Also see this minimal example
To fix this I copied the existing but private execute_modal_generic here into my own code.

I'm not a Rust pro but maybe this should be impl Into<> or Deref<> or Borrow<> instead?

It shouldn't be AsRef in the first place, it should just be &serenity::Context, I'll make that change now. Anyway, for now can't you just pass &serenity::Context?

No! You cannot pass &serenity::Context to a parameter of type impl AsRef<serenity::Context> because as per my last comments, &T does not implement the trait AsRef<T>. You would think it would, but it doesn't. See https://doc.rust-lang.org/std/convert/trait.AsRef.html#reflexivity.
Changing execute_modal_on_component_interaction's first argument to &serenity::Context instead of impl AsRef<serenity::Context> will fix this issue. Thanks ^^

That is so weird.

is this issue still being worked on ?

This is fixed on next. For current, make a newtype of &Context that implements AsRef<Context>.


Remove has_peptide_quantifications, deprecate associated classes and slots, and implement migrator

Closes #2250
This PR will

Remove the has_peptide_quantifications slot from the MetaproteomicsAnalysis class.
Implement a migrator to remove all has_peptide_quantifications data from MetaproteomicsAnalysis records.
Deprecate the class ProteinQuantification (range of the has_peptide_quantifications, no other application in the schema).
Deprecate the class PeptideQuantification (no connection in the schema's Database class).
Deprecate the following slots : all_proteins, best_protein, min_q_value, peptide_sequence, peptide_spectral_count, peptide_sum_masic_abundance, peptide_sequence_count, protein_spectral_count, protein_sum_masic_abundance.  The only application of these slots are on the now-deprecated ProteinQuantification and PeptideQuantification classes.
Update the makefile to remove a removal of has_peptide_quantifications data for the make  local/mongo_as_unvalidated_nmdc_database.yaml (Closes #2231, reverts https://github.com/microbiomedata/berkeley-schema-fy24/pull/270)

I've tested the migrator (in its combined form migrator_from_11_0_3_to_11_1_0 ) and it passed validation with no errors.

Hi @turbomam, the deadline for getting this into the schema is tomorrow, according to the timeline of events for the upcoming release (scheduled for next Tuesday).
Will you take a look at this PR today; in particular, the files outside of the migrators/ directory?

@kheal and @eecavanna is PeptideQuantification actually deprecated in this PR? I do see that ProteinQuantification is deprecated.

I found it!

You can double check with @mslarae13 and or @sierra-moxon, but I think we remove the assignments of deprecated slots in classes. Like I would expect something like this:
  PeptideQuantification:
    class_uri: nmdc:PeptideQuantification
    description: This is used to link a metaproteomics analysis workflow to a specific peptide sequence and related information
    slots:
      - type
    deprecated: "not used. 2024-11 https://github.com/microbiomedata/nmdc-schema/issues/2250"

Took me a while to find, too, given the way GitHub's diff viewer happened to collapse things. Here's a screnshot:

Do we know what happens if we include an instantiation of a deprecated class in the invalid examples file directory?

Here are the deprecation guidelines I see. Deprecation happens in two stages (i.e. across two consecutive releases). In the first release (what we're working on now), the guidance is to "add deprecation-related annotations" to the element's definition. In the second release (that'll be next month), one of the multiple pieces of guidance is to remove references to the deprecated elements.

I've added an invalid example for the ProteinQuantification class.  They other deprecated class (PeptideQuantification) is in-line only and its associated slot has been removed.  Therefore any invalid examples with this class would be invalid for more than one reason.
I see value in keeping the deprecated slots on a deprecated class. Its allows for transparency for why the slots ever existed.  By removing those slots from the class, we remove that transparency.
I will add (and link) an issue to move the deprecated aspects from this release to the deprecated.yaml file for the next release.

Thanks for sharing your reasoning for leaving the associated classes, @kheal
The deprecation guidelines shared by @eecavanna do say to remove them.

**Remove any references to the deprecated element from the original schema YAML file. **
** note: For a deprecated class, references could be in the is_a or mixin elements of another class, or in the domain or range elements of an existing slot. For deprecated slots, check all classes that reference that slot, etc.

@turbomam, that guidance is in the "Second release cycle" section.

We are in the first release cycle here.

Thanks guys, I got my phases wrong.
I have to think about the invalid examples some more. @kheal does have a good point about sticking to the practice of including a single invalid feature.

Sounds good. Is that thinking something you will be doing before merging this in, or after? In other words, is there anything more you expect anyone to do in this PR before it gets merged in?

I don't think we have thought through the implications of the deprecation process on the invalid examples as well as we have through the rest of the deprecation process.
src/data/invalid/PeptideQuantification_deprecated.yaml:
# This example is invalid because the ProteinQuantification type is deprecated.
type: nmdc:PeptideQuantification

that doesn't fail the validation framework, ie it doesn't fail to fail to validate there, but it does fail to fail to fail when directly using linkml-validate
poetry run linkml-validate \
    --schema nmdc_schema/nmdc_materialized_patterns.yaml \
    --target-class ProteinQuantification src/data/invalid/ProteinQuantification_deprecated.yaml

No issues found

So I am going to walk back my request for invalid example files. Sorry bout that, @kheal . Do you want to delete it or should I?

As I said on Slack just now, I'll delete the deprecation-specific example file from this branch. I'll do it now.


freecad: Ignore global gitconfig

If a global /etc/gitconfig exists, git inside the sandbox will attempt to read it.
However, this is forbidden and thus git inside the snap fails with:
warning: unable to access '/etc/gitconfig': Permission denied
fatal: unknown error occurred while reading the configuration files
As a result, the addon manager gets stuck at the "Cloning module..." stage.
Prevent this by telling git to ignore the global config, which is not necessary at all
to download the addons.

Sorry I have been away from the project for too much time. I am now back

Good to see. Two new FreeCAD snaps have emerged in the meantime:
freecad-realthunder: https://github.com/realthunder/FreeCAD/tree/LinkDaily/snap
freecad-ppd: https://github.com/ppd/freecad-ppd
Maybe we can reduce redundancy at some point in the future and merge the snaps. We'll see.


book/tuto-08: mention GLSL version bump to v150

Fixes #1311 (Tutorial 08 doesn't run)

PTAL

Thanks


Shared Memory client fails for batch size != 1

Requests with batch size 1 and correct input_byte_size calculation work correctly.
Increasing batch size to two and multiply input_byte_size by two leads to the following exception (modified version of simple_shm_client.cc):
int batch_size = 2;
options->SetBatchSize(batch_size);
size_t input_byte_size = 608 * 608 * 3 * sizeof(float) * batch_size;

failed setting shared memory input: [ 0] INVALID_ARG - The input '000_net' has shared memory of size 8871936 bytes while the expected size is 4435968 bytes

So the expected size does not take batch size into account.
Matching the expected size then fails during a different sanity check:
int batch_size = 2;
options->SetBatchSize(batch_size);
size_t input_byte_size = 608 * 608 * 3 * sizeof(float);

error: unable to run model: [inference:0 6] INVALID_ARG - unexpected shared-memory size 4435968 for input '000_net', expecting 8871936 for model 'yolov3'

So now batch size is taken into account for the expected byte size.

Probably related to #541

The input_byte_size must be the size of the entire batch and not just that of one element in the batch since this is the total size in shared memory that will be allocated for that corresponding input.
In this case you should do:
size_t input_byte_size = 2 * 608 * 608 * 3 * sizeof(float) * batch_size;

No matter which size I set, the client side sanity check complains about the shared memory region being too large and tells me it expects a input_byte_size equal to the byte size of batch size 1.

int batch_size = 2;
options->SetBatchSize(batch_size);
size_t input_byte_size = 608 * 608 * 3 * sizeof(float) * batch_size;

This is equal to the equation you provided, except that the leading 2 is missing, because I'm dealing with a single input and no double input via offsets like the simple_shm_client does.
The error shows, that while I set the correct input_byte_size of the full batch (~8.8MB), the client sanity checks always expect batch size 1 (~4.4MB). I can do the very same for any batch size other than 1.

failed setting shared memory input: [ 0] INVALID_ARG - The input '000_net' has shared memory of size 8871936 bytes while the expected size is 4435968 bytes

My current fix for this is to hardcode the byte size in request_grpc.cc starting from line 849:
    // set shared memory
    if (reinterpret_cast<InputImpl*>(io.get())->IsSharedMemory()) {
      auto rshared_memory = rinput->mutable_shared_memory();
      rshared_memory->set_name(
          reinterpret_cast<InputImpl*>(io.get())->GetSharedMemoryName());
      rshared_memory->set_offset(
          reinterpret_cast<InputImpl*>(io.get())->GetSharedMemoryOffset());
      // Hardcoded byte size for exemplary batch size 2:
      rshared_memory->set_byte_size(8871936);
    }

And to then disable the client sanity checks in request_common.cc starting from line 244:
  // verify byte size of shared memory matches that of expected byte size
  /*if ((int64_t)byte_size != byte_size_) {
    return Error(
        RequestStatusCode::INVALID_ARG,
        "The input '" + Name() + "' has shared memory of size " +
            std::to_string(byte_size) + " bytes while the expected size is " +
            std::to_string(byte_size_) + " bytes");
  }*/

This way batch sizes other than 1 work with the server.

The fix to this is simple. I shall test it and create a new PR for it.

Thanks, very much appreciated @CoderHam !


Update the DB schema version directly rather than slowly, laboriously…

… "faking" every migration.

I would really like us to move to using django-migrations and completely get rid of schematic. I think we shouldn't worry about altering this.


Fixing containers and moving files around

This PR solves the issue described on #34 - by doing some small changes to the Dockerfiles and docker-compose file.
Also, it updates the README file with new instruction, and move some files around, in order to provide a better organization to the repository structure.

Just to track things up. We decide to remove the Swagger API schema from this repository, and also the Makefile related to the Swagger. From now on, the API schema should be declared inside every microservice repository. However, this repository will keep a docker-compose file that should be able to run all the mock APIs.
I'm not sure if it would be interesting to also keep the mocks under a very simple API gateway service, but, let's make it as simple as possible for now.


Wavesurfer.loadBlob error

Hello, I tried using the wavesurfer.loadBlob method to load a blob but I get this error instead:

And the error points here:

Originally posted by @longyarnz in https://github.com/katspaugh/wavesurfer.js/issues/1862#issuecomment-591426896

Hi, I met the same error, how did you solve this problem?

In order for loadBlob to work you'll have to use WebAudio as your backend element instead of MediaElement

Thx, it works!


Incorrect syntax near 'DISTRIBUTION'

Issue Type: Bug
My T-SQL create table query (with distribution) is working fine, but Azure Data Studio keeps throwing this error message:
Incorrect syntax near 'DISTRIBUTION'
I can't get rid of it. Could you help?
Azure Data Studio version: azuredatastudio 1.19.0 (4095037f2578c23033867e611e82c13de114ca5a, 2020-06-11T22:06:05.429Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8365U CPU @ 1.60GHz (8 x 1896)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.78GB (8.36GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

Still seeing the problem here too.

Can we get an update on this or get it scheduled for an upcoming release?
While it doesn't seem to cause any issues. it does cause the red squiggles and also adds the following item to the problems window:

it is worth noting that the project build from ADS is clean with no warnings or errors
for reference here is my code:
CREATE TABLE [dbo].[table1] (
[column1]           BIGINT        IDENTITY (1, 1) NOT NULL,
)
WITH (CLUSTERED INDEX([colum1]), DISTRIBUTION = REPLICATE);


BUG: Testimonials Section: Hover Glitch and Lag

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
https://github.com/anuragverma108/SwapReads/assets/119524954/fe70d593-e472-4be1-87f5-0301f4f28f89
While interacting with the Testimonials section on the website, I noticed a significant glitch and lag during hover events. The animation is not smooth and appears jittery, which detracts from the overall user experience.
Steps to Reproduce:

Navigate to the Testimonials section of the website.
Hover over the testimonials.
Observe the glitchy and lagging behavior of the hover effect.

Expected Behavior:
The hover effect should be smooth and responsive, providing a seamless user experience.
Proposed Solution:
I want to work on this issue to enhance the responsiveness and smoothness of the hover effects in the Testimonials section. This will involve optimizing the CSS and possibly the JavaScript handling these events to ensure a fluid and glitch-free experience.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
https://github.com/anuragverma108/SwapReads/assets/119524954/fe70d593-e472-4be1-87f5-0301f4f28f89
While interacting with the Testimonials section on the website, I noticed a significant glitch and lag during hover events. The animation is not smooth and appears jittery, which detracts from the overall user experience.
Steps to Reproduce:

Navigate to the Testimonials section of the website.
Hover over the testimonials.
Observe the glitchy and lagging behavior of the hover effect.

Expected Behavior:
The hover effect should be smooth and responsive, providing a seamless user experience.
Proposed Solution:
I want to work on this issue to enhance the responsiveness and smoothness of the hover effects in the Testimonials section. This will involve optimizing the CSS and possibly the JavaScript handling these events to ensure a fluid and glitch-free experience.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

work on it 💪

I want to work on this issue

Hello @anuragverma108 sir, I would like to work on this issue.

@huamanraj sir can I work on this issue? Please reassign this to me.


Add Java 17

Summary
Adds pipeline information for Java 17
Use Cases
To support the latest Java release.
Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[ ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

Don't merge this quite yet. The Azul API we use hasn't updated yet.


mx_value dbo.gobject

Did you figure out what the contents of mx_value column of dbo.gobject is?

@kasajian I believe the MxValue Conversion.xslm document lays it all out. Let me know if it doesn't make sense. I haven't really poked around it myself yet.

I believe the value mx_value column is or refers to a blob of some sort.   The content is directly stremable by the MxValue COM object.  Do QueryInterface on it.  You should be able to obtain a IPersistStream or something similar then do a load to construct a new MxValue from the blob.

Wow, that's some awesome insight.  Can you post an example showing this?

I don't have access to System Platform installation so I can't try it out
myself.
When you say code, are you looking for C++ code ?  C#?  VBA?
It's easiest to do this in C++, and increasingly more complicated in the
other languages.
On Fri, Jan 23, 2015 at 9:49 PM, Andrew Robinson<EMAIL_ADDRESS>wrote:

Wow, that's some awesome insight. Can you post an example showing this?
—
Reply to this email directly or view it on GitHub
https://github.com/aaOpenSource/galaxy-db-tools/issues/1#issuecomment-71301760
.

If you or anyone wants to try this, this is what I recommend that you do to.   I'm writing the instructions the way I would go about it, so I admit some of this has to do with style and is quite subjective as to how to approach in solving this type of problem.
First, set up a system where you can effectively use GRAccess to access attribute values.  I suspect that the attribute value is of type IMxValue.   As you know, once you have an interface to an object, you can QI (QueryInterface) the object for other types.   In higher level languages, QI is just another word for cast.   So if you're using C#, try casting the attribute value to a variable of type IPersistStream.   If that works, then the result will be non-null.  Example:
 IPersistStream p = myValue As IPersistStream

IPersistStream is built-in to Windows, but you may have to add a reference like stdole.tlb or something like that.   I'm sure you can Google to find out how.
Anyway, if 'p' is not null, then you have a persistStream access to the attribute.   At that point, try to call the Save method, passing in a memory stream.   Then, take a look at the content of the memory stream.  I personally would go one step further at this point and export that value as hex to a data file
Then I would create a separate program which creates a new MxValue from scratch, gets the IPersistStream for it, then call Load, passing binary data that was loaded perviously.   I would load the hex data from disk, convert it to binary, then load it that way.   If all that worked, I should be able to get to the original value I originally read from GRAccess.
I would make sure all of the above works first.   If I have any problems, then I've minimized the possible places where I probably did something wrong.   Once all that works, now I know how to load/save MxValues binary data.
The next step, is to pull the binary data out of the database mx_value column of the dbo.gobject.   Output that to a file as hex, since you now have code to do that.
Then use the program that loads hex data into MxValue and see if that still works.  If it does, then you've now found a way to load attribute data from the database directly, bypassing GRAccess.   This should let you create a set of tools that can be much faster than you could otherwise.
As I said, I don't have access to System Platform, or else I would try it.   I believe the above should work if you take it one step at a time, and introduce something new incrementally.   That's better than writing some code trying 27 unknown things and then trying to figure out what part is not working.
Good luck.

Thanks.  Will try to hack around with that.

reviving the dead, is the soft of thing you were think of using it for(runs on galaxy sql server):
/* =============================================
Author	:	Maurice Butler
when		:	3 Oct 2018
What		:	PLC Tag to HMI tag dump
Why		:	allow to find where tag used
Changes
Who			: Maurice Butler
When		: 20 Jun 2019
Why			: added Shortdesc & Description & fixed missed stuff with auto reference
Where		: Extensive, require restructure of code
Notes : based on supplied view 'internal_reference_primitive_attribute' and vDeviceTagDump
============================================= */
CREATE VIEW [dbo].[vTagDumpPLC]
AS
With Devices as
(SELECT		greferring3.hierarchical_name AS HierarchicalName
, greferring3.tag_name AS Area
, greferring2.tag_name AS BaseTag
, greferring1.tag_name + '.' + pinst.primitive_name AS Object_Tag
, CASE
WHEN reference_string = N'---Auto---' THEN
-- unravel auto reference to DI object
(SELECT  dio.tag_name
FROM [dbo].[object_device_linkage]		odl
INNER JOIN gobject dio
ON dio.gobject_id = odl.dio_id
WHERE odl.gobject_id	= ar.gobject_id )
ELSE -- Direct reference
LEFT(ar.reference_string, CHARINDEX('.', ar.reference_string) - 1)
END  ConnectionObject
, CASE
WHEN reference_string = N'---Auto---' THEN
-- unravel auto reference to PLC
(SELECT  sg_pi.primitive_name + '.---Auto---'
FROM [dbo].[object_device_linkage]		odl
INNER JOIN gobject dio
ON dio.gobject_id = odl.dio_id
INNER JOIN primitive_instance sg_pi
ON sg_pi.gobject_id = dio.gobject_id
AND sg_pi.package_id = dio.checked_in_package_id
AND sg_pi.mx_primitive_id = sg_mx_primitive_id
WHERE odl.gobject_id	= ar.gobject_id )
			ELSE -- Direct reference
				RIGHT(ar.reference_string, LEN(ar.reference_string) - CHARINDEX('.', ar.reference_string))
		  END AccessString
		, dbo.udf_extract_hex_string(convert(nvarchar(500), dyn.mx_value)) as Object_Description
		, ar.gobject_id -- needed to find ShortDesc

FROM            dbo.attribute_reference AS ar
-- find tag to go with reference
INNER JOIN dbo.gobject AS greferring1 ON ar.package_id = greferring1.checked_in_package_id
-- walk back up hierachy to get base tag
INNER JOIN dbo.gobject AS greferring2 ON ar.gobject_id = greferring2.gobject_id
-- walk back up next step to get area
INNER JOIN dbo.gobject AS greferring3 ON greferring2.area_gobject_id = greferring3.gobject_id
-- start looking for attribute data by finding attribute
INNER JOIN dbo.primitive_instance AS pinst ON ar.package_id = pinst.package_id AND pinst.mx_primitive_id = ar.referring_mx_primitive_id
-- get data associated with attribute
INNER JOIN dbo.dynamic_attribute AS dyn ON dyn.gobject_id = pinst.gobject_id and dyn.package_id = pinst.package_id and dyn.attribute_name = pinst.primitive_name+'.Description'
WHERE        ((ar.resolved_gobject_id > 0) AND (ar.is_valid = 0) AND (ar.resolved_mx_primitive_id = 0)
--filter out view tags
AND  ar.reference_string NOT LIKE '%.Tagname%')
OR ar.reference_string = N'---AUTO---'
)
-- uses the global_id from above to find the short description, then displays the data from above with short description
select	Devices.BaseTag
, case
when ad.mx_data_type = 4 then convert(nvarchar, dbo.udf_extract_hex_double(dbo.udf_extract_hex_attr_value(pinst.primitive_attributes, ad.mx_attribute_id, 0)))
when ad.mx_data_type = 5 then dbo.udf_extract_hex_string(dbo.udf_extract_hex_attr_value(pinst.primitive_attributes, ad.mx_attribute_id, 0))
when ad.mx_data_type = 15 then dbo.udf_extract_hex_intl_string(dbo.udf_extract_hex_attr_value(pinst.primitive_attributes, ad.mx_attribute_id, 0))
when ad.mx_data_type = 69 then dbo.udf_extract_hex_custom_enum_def(dbo.udf_extract_hex_attr_value(pinst.primitive_attributes, ad.mx_attribute_id, 0))
else dbo.udf_extract_hex_attr_value(pinst.primitive_attributes, ad.mx_attribute_id, 0)
end BaseTag_ShortDesc
, Devices.Object_Tag
, Devices.Object_Description
, Devices.Area
, Devices.HierarchicalName
, Devices.ConnectionObject
, Devices.AccessString
FROM primitive_instance pinst
inner join devices on Devices.gobject_id = pinst.gobject_id
inner join attribute_definition ad on ad.primitive_definition_id = pinst.primitive_definition_id
WHERE (ad.attribute_name ='ShortDesc'
OR ad.attribute_name  IS Null)

@like-magic
Great example on how to get actual content out of the mx_value columns. Been struggling with finding this content for some time.
In your example you are referring to some udfs, e.g. dbo.udf_extract_hex_string etc. Are these your own udfs or where did you find these? Is it possible for you to share these?
Thanks in advance

custom developed
udf_extract_hex_.zip

custom developed udf_extract_hex_.zip

Greatly Appreciated!
thank you


Fix edit mode for Text Style Presets

Fix edit mode.
Summary

Relevant Technical Choices

To-do

[x] Karma tests for colors edit mode, too.

User-facing changes

Testing Instructions

Fixes #4481

Some comments on tests, otherwise good catch on the bug!

Main props go to @swissspidy for finding the way how to reproduce this bug!


".from" class name is transformed

I work with "from prices" and use a class named .from. The transform that checks @keyframes isn't sufficiently specific, so:
.from {
  display: block;
}

becomes
0%{display:block}

@michael-ygt Try it on https://github.com/ben-eb/postcss-minify-selectors, please. Need to locate problem.

Looked at the logic and yeah it looks like it isn't specific enough. Thanks for reporting. :+1:

Published a fix in postcss-minify-selectors @ 1.4.3.


Multiple display for webcam device

Your environment.

Version: v0.4.0
Browser: Chrome Version 114.0.5735.106
Other Information:   Apple Mac Mini M1 - Arm64 , another test device: Orange Pi - Ubuntu 20.04 LTS

What did you do?
I wanted to display the webcam camera image connected to my computer on an html page.
What did you expect?
I wanted to display the webcam image on the html page and completed it successfully. But things started when I made a request to the same link from a different tab.
What happened?
When I made a second request I got an "invalid state: driver is already opened" error.
Here is the code where I got the error;
	mediaStream, err := mediadevices.GetUserMedia(mediadevices.MediaStreamConstraints{
		Video: func(constraint *mediadevices.MediaTrackConstraints) {
			constraint.Width = prop.Int(600)
			constraint.Height = prop.Int(400)
		},
	})
	if err != nil {
		panic(err)
	}

Is there a function available for multiviewing or how can I solve this error?

Are you asking if you can open a device and stream images in two separate processes?  Linux only allows one process to open and use a device driver at a time. There are exceptions: you can query a driver's device capabilities while another process is streaming images from that same driver. But you can not stream from two separate processes.

@SouL-H Closing for now. Feel free to reopen if this is still an issue or if I misread your question.


Build destination should default to user home and read from an environment variable

Suggest QUILT_BUILD_PATHas env vars. See #1 for details.

Would this supersede the current folder search logic (i.e. search in current folder and all above)?

We were discussing this today. Concluded that we shouldn't mess with "look in parent" logic for module resolution?
I updated this issue to only affect where quilt build writes the package to, as we've seen users build a package in a random directory and then not be able to import it.
@stillmatic What do you think?

I think that makes sense and resolves a pain point I had while writing the R package. I had to create a random temp directory (https://github.com/stillmatic/quiltr/blob/master/R/build.R#L28) to ephemerally dump the changed files. This method 'works' but is definitely suboptimal.
Having a fixed QUILT_BUILD_PATH would make that part easier. How would you deal with collisions?

Collisions would overwrite (as we have today). Any pushed packages are of course tracked by quilt log and users can revert with quilt install.

OK this turns out to be nontrivial with unforseen effects on push and install--as I discovered when testing a "quick fix". We're going to need a more comprehensive fix--likely in the spirit of Docker where there's flat repository for all builds. I'm working on it. CC @salvor7


Buy and Sell is a little confusing

I'm selling 10000 pizza to 1 beer and when I click view it's saying buy: 10000beer for:10pizza with price being 0.001

HyperDEX 0.1.0-alpha.1
Electron 2.0.0
darwin 17.5.0
Locale: en-US

Thanks for helping us test HyperDEX and providing feedback 🙌
This is a knows issue and is due to how marketmaker works.
More information here:
https://github.com/lukechilds/hyperdex-bugtracker/issues/15
https://github.com/lukechilds/hyperdex/issues/184
Feel free to continue the discussion on the existing issue if you think we should change the current functionality.


I can't download the datasets of 300w-style and AFLW-style

Hi,I'm interested in your algorithm, so I'd like to try the implementation of the algorithm, but I can't download the dataset, could you send the datasets to my mailbox ?Thank you(●'◡'●)

Sure, please provide your email.

<EMAIL_ADDRESS>thank you so much～

<EMAIL_ADDRESS>thank you so much～

Hi, I am interested in the SAN algorithm and the dataset 300W-style and AFLW-style. But I cannot find the dataset, can you send me the dataset? Thank you. My email is<EMAIL_ADDRESS>

@lisha-chen Can you download these two datasets from https://drive.google.com/open?id=14f2lcJVF6E4kIICd8icUs8UuF3J0Mutd ? The names are AFLW-Style.tgz and 300W-Style.tgz.


Jest not working with @babel/core

https://github.com/babel/babel/tree/master/packages/babel-core
If I use jest (21.2.1) with @babel/core (7.0.0-beta.31) I get this error:
 FAIL  src\index.test.jsx
  ● Test suite failed to run

    Couldn't find preset "@babel/env" relative to directory "frontend"

      at node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
      at Array.map (native)
      at OptionManager.resolvePresets (node_modules/babel-core/lib/transformation/file/options/option-manager.js:275:20)
      at OptionManager.mergePresets (node_modules/babel-core/lib/transformation/file/options/option-manager.js:264:10)
      at OptionManager.mergeOptions (node_modules/babel-core/lib/transformation/file/options/option-manager.js:249:14)
      at OptionManager.init (node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
      at File.initOptions (node_modules/babel-core/lib/transformation/file/index.js:212:65)
      at new File (node_modules/babel-core/lib/transformation/file/index.js:135:24)
      at Pipeline.transform (node_modules/babel-core/lib/transformation/pipeline.js:46:16)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        2.085s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

If I use jest@test I get this error:
 FAIL  src\index.test.jsx
  ● Test suite failed to run

    Cannot find module 'babel-core'

      at _load_babelCore (node_modules/babel-jest/build/index.js:17:49)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        2.134s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

Process finished with exit code 1

See discussion in #4557. We don't quite know how to handle it yet


Fix track not considered complete when reaching beyond length

This fixes a lazer-side issue where tracks sometimes do not loop when they end even though they should.
Reason
When a track is played to finish, the position could end up beyond the track length, and with the current isRunning update conditions, the track loop logic below will never be executed:
https://github.com/ppy/osu-framework/blob/0a14a592d25399ffd4ac69768227761f11ce055f/osu.Framework/Audio/AudioComponent.cs#L111-L112 https://github.com/ppy/osu-framework/blob/d394011eeaddec8aa523424a5bb2c4a10d56c535/osu.Framework/Audio/Track/Track.cs#L24
Upon blaming, this commit https://github.com/ppy/osu-framework/pull/3025/commits/1c7df503908d623fbcc119fce154e7134385fd91 was the one introducing the conditions, and there didn't seem to be any reason on why it's exactly position != length.
But I've removed the whole condition and make hasCompleted set to true whenever track is ended.
This is not testable currently as I can't find any path for getting the track to play beyond length yet...

Is this referenced in BASS documentation? Or are you guessing here?

Is this referenced in BASS documentation? Or are you guessing here?

Good point, I actually haven't checked which value is at wrong here, but upon doing so, in the documentation of BASS_ChannelGetLength(...), it seems that the byte length may not be 100% accurate, but it should be exact on MP3 files when using BASS_STREAM_PRESCAN, which we are using...
Will investigate further in a bit.

Good point, I actually haven't checked which value is at wrong here, but upon doing so, in the documentation of BASS_ChannelGetLength(...), it seems that the byte length may not be 100% accurate, but it should be exact on MP3 files when using BASS_STREAM_PRESCAN, which we are using...
Will investigate further in a bit.

Seems the length we're getting from BASS.ChannelGetLength(...) is actually near correct checking with audacity:

But, on checking with ffprobe, the mp3 length is shown to be higher than the above:
salman@Salmans-MacBook-Pro files % ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 ./2/22/2231a6d635ada1c165499e66a17f9305951697a9ef6e41917968c0bcaf26518d
41.377959

And leaving the track not restart on loop and keeping it until it stops by itself stops at a position between the known length, which is 43.343sec, and the length returned by ffprobe (actual data length?), which is 43.377sec.
Not sure whether that should be reported to BASS as a bug for continuing past 43.343sec (the length returned by BASS and audacity as well), what do you think?

Seems the length we're getting from BASS.ChannelGetLength(...) is actually near correct checking with audacity:

But, on checking with ffprobe, the mp3 length is shown to be higher than the above:
salman@Salmans-MacBook-Pro files % ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 ./2/22/2231a6d635ada1c165499e66a17f9305951697a9ef6e41917968c0bcaf26518d
41.377959

And leaving the track not restart on loop and keeping it until it stops by itself stops at a position between the known length, which is 43.343sec, and the length returned by ffprobe (actual data length?), which is 43.377sec.
Not sure whether that should be reported to BASS as a bug for continuing past 43.343sec (the length returned by BASS and audacity as well), what do you think?

Is this a theoretical "issue", or can this be hit in some way from the game? I'm asking so that I can reproduce and investigate myself if it's the latter.

Is this a theoretical "issue", or can this be hit in some way from the game? I'm asking so that I can reproduce and investigate myself if it's the latter.

This is something you can hit in game, as in the description:

This fixes a lazer-side issue where tracks sometimes do not loop when they end even though they should.

So basically keep playing track at different positions and at some point the track will stop and not loop at the end.

This is something you can hit in game, as in the description:

This fixes a lazer-side issue where tracks sometimes do not loop when they end even though they should.

So basically keep playing track at different positions and at some point the track will stop and not loop at the end.

If you're comparing to some external source, why are you rounding arbitrarily to milliseconds?
Also I'm not sure this fix it going to work; what happens if the length is wrong in the other direction?

If you're comparing to some external source, why are you rounding arbitrarily to milliseconds?
Also I'm not sure this fix it going to work; what happens if the length is wrong in the other direction?

Sounds like we shouldn't be using this method of telling if the tracked got to the end in the first place?

Yeah, I thought about using the track end callback instead but wasn't sure if that's how we should be treating things (CurrentTime >= Length doesn't necessarily mean track completed), but seems more correct anyway as we have a HasCompleted boolean to use, will clarify in the Length property that it doesn't exactly mean the track's length, I'll have a go on it now.

Sounds like we shouldn't be using this method of telling if the tracked got to the end in the first place?

Yeah, I thought about using the track end callback instead but wasn't sure if that's how we should be treating things (CurrentTime >= Length doesn't necessarily mean track completed), but seems more correct anyway as we have a HasCompleted boolean to use, will clarify in the Length property that it doesn't exactly mean the track's length, I'll have a go on it now.

Test failure seems to be directly caused by these changes. I can reproduce hangs/deadlocks on TestLoopingTrackDoesntSetCompleted. Whatever that test checks, that seems to be terminally broken.
@frenzibyte Did you even attempt to run audio tests before pushing this?

Test failure seems to be directly caused by these changes. I can reproduce hangs/deadlocks on TestLoopingTrackDoesntSetCompleted. Whatever that test checks, that seems to be terminally broken.
@frenzibyte Did you even attempt to run audio tests before pushing this?

One small change amended ate my life apparently, the deadlock was happening because of the track's end sync callback invoking Restart() synchronously (enqueue to audio thread and wait), but the audio thread only gets updated manually by the test itself, causing the deadlock.
Not sure what the best course of action is, but I guess making the Restart() invocation happen asynchronously from itself (enqueue to audio thread and continue) is the way to go for now:
                    stopCallback = new SyncCallback((a, b, c, d) => RaiseFailed());
                    endCallback = new SyncCallback((a, b, c, d) =>
                    {
                        if (Looping)
-                            Restart();
+                            EnqueueAction(() => Restart());
                        else
                        {
                            hasCompleted = true;
                            RaiseCompleted();
                        }
                    });

One small change amended ate my life apparently, the deadlock was happening because of the track's end sync callback invoking Restart() synchronously (enqueue to audio thread and wait), but the audio thread only gets updated manually by the test itself, causing the deadlock.
Not sure what the best course of action is, but I guess making the Restart() invocation happen asynchronously from itself (enqueue to audio thread and continue) is the way to go for now:
                    stopCallback = new SyncCallback((a, b, c, d) => RaiseFailed());
                    endCallback = new SyncCallback((a, b, c, d) =>
                    {
                        if (Looping)
-                            Restart();
+                            EnqueueAction(() => Restart());
                        else
                        {
                            hasCompleted = true;
                            RaiseCompleted();
                        }
                    });

I'm pretty sure sync callbacks don't run on the audio thread. They run on a native BASS thread. So doing operations with that usually should be done on the audio thread on the callback seems fundamentally unsafe, and yes, enqueueing that seems like the logical thing to do.
Although given that the restart now won't proceed immediately it should be ensured that there is no audio glitching caused by this change (i.e. the track looping on its own between the sync callback executing and the enqueued restart executing).

I'm pretty sure sync callbacks don't run on the audio thread. They run on a native BASS thread. So doing operations with that usually should be done on the audio thread on the callback seems fundamentally unsafe, and yes, enqueueing that seems like the logical thing to do.
Although given that the restart now won't proceed immediately it should be ensured that there is no audio glitching caused by this change (i.e. the track looping on its own between the sync callback executing and the enqueued restart executing).

Track looping working properly lazer-side, so things should be fine if I understand you correctly.

Track looping working properly lazer-side, so things should be fine if I understand you correctly.

On an initial test, it looks like the bass loop flag can be applied to any channel, including track playback (http://www.bass.radio42.com/help/html/9781ee5b-e613-8409-0c73-8dcc6505083a.htm). This logic is already implemented in SampleChannelBass and should work much better than manually triggering a restart - as @bdach mentioned doing it manually could cause a gap due to thread synchronisation.
I've applied this change, please test and confirm everything looks as you'd expect.

On an initial test, it looks like the bass loop flag can be applied to any channel, including track playback (http://www.bass.radio42.com/help/html/9781ee5b-e613-8409-0c73-8dcc6505083a.htm). This logic is already implemented in SampleChannelBass and should work much better than manually triggering a restart - as @bdach mentioned doing it manually could cause a gap due to thread synchronisation.
I've applied this change, please test and confirm everything looks as you'd expect.

Right, seems fine.

Right, seems fine.

@peppy Actually, your changes regressed looping behaviour, now it always loops back to 0, instead of RestartPoint, can't find any way to make BASS's built-in looping actually loop back to a specific point.
Enqueuing the restart to audio thread at least will not change behaviour of how track looping used to be, and on testing with osu!lazer I see no regressions.

@peppy Actually, your changes regressed looping behaviour, now it always loops back to 0, instead of RestartPoint, can't find any way to make BASS's built-in looping actually loop back to a specific point.
Enqueuing the restart to audio thread at least will not change behaviour of how track looping used to be, and on testing with osu!lazer I see no regressions.

Adding back custom logic when RestartPoint is non-zero sounds like a good solution. I'd still rather have/use the bass-level looping when we can.
Note that the track endCallback is still fired even with the bass looping flag, so adding a seek operation in there may be enough to fix said behaviour.

Adding back custom logic when RestartPoint is non-zero sounds like a good solution. I'd still rather have/use the bass-level looping when we can.
Note that the track endCallback is still fired even with the bass looping flag, so adding a seek operation in there may be enough to fix said behaviour.

Yeah actually BASS already has a sync type (BASS_SYNC_MIXTIME) that is invoked immediately when it occurs, not when the sync is heard, and it can be OR'd with BASS_SYNC_END to perform the seek:
http://www.un4seen.com/doc/#bass/BASS_ChannelSetSync.html

Not sure about making Completed event raised on "mixtime" as well, will separate this type of sync to a separate callback.

Yeah actually BASS already has a sync type (BASS_SYNC_MIXTIME) that is invoked immediately when it occurs, not when the sync is heard, and it can be OR'd with BASS_SYNC_END to perform the seek:
http://www.un4seen.com/doc/#bass/BASS_ChannelSetSync.html

Not sure about making Completed event raised on "mixtime" as well, will separate this type of sync to a separate callback.


zabbix trigger table not showing real data

Describe the bug
zabbix trigger table not showing the real value. I am using Zabbix 3.4.12 and grafana with latest version.
Expected behavior
it shows some value but if I compare to the zabbix then value is not correct
Screenshots
Last two days graphs which not matches with zabbix side

Software versions
| Grafana | Zabbix | Grafana-Zabbix Plugin |
| 5.4.13 | 3.4.12 | 3.9.1|

Could you provide Zabbix screenshot? I don't see what's a problem.

Zabbix trigger table showing only current status?
Actually I am confused about this. If this table can show the all alerts so
daily/weekly/monthy/yearly basis we can show this for reports purposes.
On Mon, 11 Feb 2019, 7:08 pm Alexander Zobnin<EMAIL_ADDRESS>wrote:

Could you provide Zabbix screenshot? I don't see what's a problem.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alexanderzobnin/grafana-zabbix/issues/666#issuecomment-462321017,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATCvRXeNfRAw_XQfD-rv8iFotFBILDcIks5vMWsxgaJpZM4aOIYr
.

Problems in this table are filtered by dashboard time range. So different range may return a different result.


Update CXX code to use new layout for PCI device.

I changed PciDeviceHardware to take an address field of type Option. Two things need to be done here.
1: It has to be changed to a Result, so the appropriate error (unavailable on the platform, permission denied, etc) can be included in the field.
2: The CXX backends need to be updated to include definitions of PciDeviceAddress.

This also goes hand-in-hand with my proposed removal of the field availability system (as it is right now). Instead of returning a zeroed structure, we should use constants in the PCI module to define whether each field is available, and they can be configured depending on the platform compilation.

Revision to the previous comment:
The field availability system can be made simpler by just privatizing fallible fields and only providing Getters if the platform supports them.

This also goes hand-in-hand with my proposed removal of the field availability system (as it is right now). Instead of returning a zeroed structure, we should use constants in the PCI module to define whether each field is available, and they can be configured depending on the platform compilation.

The problem with doing that is that permission issues are very much environment dependent. Sometimes certain fields will be available whilst others aren't not purely based on platform, but also based on the user permission level.

Revision to the previous comment:
The field availability system can be made simpler by just privatizing fallible fields and only providing Getters if the platform supports them.

Maybe. The issue is having each backend communicate which fields are and aren't available and for what reason succinctly. Ideally we figure out a way to do it without adding hundreds of lines of boilerplate code in.
Notwithstanding all of that, I've updated the CXX code to adapt the layout on the C++ side to the one on the Rust side. Though std::optional is a thing, moving it over to Rust isn't currently possible (at least not easily possible), so I've simply had each field set to zero when non-existent, which the Rust side then uses to determine whether or not the address structure should be Some or None.


Error creating driver 'Oracle' instance.

This software looks very promising. I liked the connection wizard - but it fails, unfortunately.
I can not create an oracle driver connection:
Can't create driver instance
  Error creating driver 'Oracle' instance.
Most likely required jar files are missing.
You should configure jars in driver settings.

Reason: can't load driver class 'oracle.jdbc.OracleDriver'
  Error creating driver 'Oracle' instance.
Most likely required jar files are missing.
You should configure jars in driver settings.

Reason: can't load driver class 'oracle.jdbc.OracleDriver'
    oracle.jdbc.OracleDriver
    oracle.jdbc.OracleDriver

Network is ok.

@labeldevops did you try to reset to defaults driver in driver settings dialog?

Hmm, I checked that again, and now it works - I am not clear why that happened, seems to be ok now, sorry for the error report.

BTW I see in your screenshot that you too have these bad fonts... this is the old Java problem and it still seems to persist... sigh... I will search in this issue tracker for a solution...


NAV-19 Bidirectional communication between BBB and land server

This commit includes two projects:
bbb_rockblock_listener and land_satellite_listener
and completes the bidirectional transfer of data
between the BBB and land server with the rockblock
as a middle man.
Sensor and UCCM diagnostic data is sent from the BBB
to the rockblock via serial connection. The rockblock
relays this data to the land server via HTTP_POST request.
Waypoints are sent from the land server to the rockblock
via HTTP_POST. The rockblock relays this data to the
BBB via serial connection.
Note: Testing has only been done with dummy data and the
virtual iridium, yet to be tested with the actual rockblock.
Both projects will likely be updated to write data to their
respective network tables.

fyi I removed the test project i accidentally included in the original pull request :'))

This PR depends on NAV-80 being completed to fully work. So I will merge NAV-80 into the virtual iridium repo first, then update the submodule in this branch to point to the latest master in the virtual iridium repo. Then everything should be good. If I merge it in now, this branch will be pointing to the wrong virtual_iridium commit


Change post/preprocessing for taus.

-Add transformation to Tau_idDeepTau2017v2p1VSjet, Tau_idDeepTau2017v2p1VSmu and Tau_idDeepTau2017v2p1VSe
-Add unsmear_decayMode
-Add postprocessing for decayMode

Dear Thammachath,
Thanks for the pull request and sorry for the delay in our answer. Results and code are mostly fine, however we still have some doubts about your pre-processing of MTau_idDeepTau2017v2p1VSe and similar variables.
Left a comment,
Best
Francesco & Filippo

Dear Francesco & Filippo,
About the pre-processing of MTau_idDeepTau2017v2p1VSe and similar variables
In NanoAOD v9 bitmask of idDeepTau2017v2p1VSe are 1, 2, 4, 8, 16, 32, 64, 128 and 256 for Tau that pass VVTight.
which you can see from
https://cms-nanoaod-integration.web.cern.ch/autoDoc/NanoAODv9/2018UL/doc_TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8_RunIISummer20UL18NanoAODv9-106X_upgrade2018_realistic_v16_L1v1-v1.html#Tau
but the data from NanoAOD v9 root file bitmask of idDeepTau2017v2p1VSe are 0, 1, 3, 7, 15, 31, 63, 121 and 255.
So, I decided +1 to all bitmask to match the reference.
For NanoAOD v11 bitmask of idDeepTau2017v2p1VSe are 1, 2, 3, 4, 5, 6, 7, 8 and 9.
So, Phat and I think that convert to 1, 2, 3... (use binary logarithm) will be a good move for the future support.
However, the results after convert are 0, 1, 2, 3, 4, 5, 6, 7 and 8.
I wanted to seek your guidance for the value conversion. Can I use a format of 1, 2, 3, 4... or should I stick to the original format 1, 2, 4, 8... ?
Thank you for your guidance and pull request reviewing.
Best
Thammachath

Dear Thammachath,
You are right. We didn't know about the data being 0, 1, 3, 7, 15, 31 etc.
If that is the case, then log2(x+1) seems a good preprocessing operation. You can certainly use it for letting the network learn the distribution.
Regarding postprocessing (what to write in the final NanoAOD) we think it's best to stick to the v9 standard for now. So from the output of your network (which will be 0, 1, 2, 3, 4, 5, 6, 7 and 8) you can write the inverse function to get back the v9 values.
Let us know if you have other questions, and if you do not I think we can safely proceed with the merge.
Best
Francesco & Filippo

Dear Francesco & Filippo,
Thank you for your feedback and guidance on the preprocessing and postprocessing. I agree with the approach you've laid out regarding maintaining the standard for NanoAOD v9.
I will make the necessary adjustments to the post-processing to ensure it matches the original. Once done, I'll send another pull request for review.
Please let me know if there are any other considerations or changes required.
Best regards,
Thammachath


python37Packages.qtawesome: 0.5.7 -> 0.6.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-qtawesome/versions.
meta.description for python37Packages.qtawesome is: '"Iconic fonts in PyQt and PySide applications"'.
meta.homepage for python37Packages.qtawesome is: '"https://github.com/spyder-ide/qtawesome"

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.6.0 with grep in /nix/store/2js9rxcgkkpdd3d4l606xvj0nbhb7zf5-python3.7-QtAwesome-0.6.0
directory tree listing: https://gist.github.com/706337f0974a068692f1ef8c9dc3a493
du listing: https://gist.github.com/e465351f0c47cd360d5e3ff0dc2bd514

Rebuild report (if merged into master) (click to expand)

15 total rebuild path(s)
5 package rebuild(s)
5 x86_64-linux rebuild(s)
5 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
5 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
python27Packages.qtawesome
python27Packages.spyder
python37Packages.qtawesome
python37Packages.spyder
spyder

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2js9rxcgkkpdd3d4l606xvj0nbhb7zf5-python3.7-QtAwesome-0.6.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python37Packages.qtawesome https://github.com/r-ryantm/nixpkgs/archive/6bde4614fb9d95c15fde568fc2261b3bfc87d106.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2js9rxcgkkpdd3d4l606xvj0nbhb7zf5-python3.7-QtAwesome-0.6.0
ls -la /nix/store/2js9rxcgkkpdd3d4l606xvj0nbhb7zf5-python3.7-QtAwesome-0.6.0/bin

@GrahamcOfBorg build spyder


fixing ipywidgets

This is an attempt at fixing ipywidgets following the suggestions of @akhmerov...for some reason it still doesn't work though :-/

Still this to add?

@akhmerov i believe that is here: https://github.com/ExecutableBookProject/sphinx-notebook/blob/master/sphinx_notebook/init.py#L83

Uhhh, maybe this then? :)

Or otherwise did you verify that the notebook that you're converting has widget state metadata stored?

I believe it does -if I open it up in jupyterlab then the widgets pop back up. I added in the javascript code from the function you mentioned - that definitely should be there either way

ugh - OK I think I figured out what the problem is - bootstrap (loaded by the theme we're using) seems to be clashing with RequireJS (required by ipywidgets). It's not related to this codebase at all :-P
I opened up https://github.com/jupyter-widgets/ipywidgets/issues/2787 and https://github.com/pandas-dev/pydata-bootstrap-sphinx-theme/issues/93 to try and spot-check this.
@akhmerov do you know if anybody has gotten jupyter-sphinx to run on a bootstrap-based site?

Latest commit should get this working by switching themes to Alabaster, which doesn't have this problem. These docs aren't complex enough yet to warrant a theme like pydata anyway, so we can test on alabaster and spot-check the pydata them problem in another issue


Eliminate deadlock scenario during file edit/open/close requests

Pull Request Description
At the beginning of the execution EnsureCompiledJob acquired write compilation lock. When compiling individual modules it would then

acquire file lock
acquire read compilation lock

The second one was spurious since it already kept the write lock. This sequence meant however that CloseFileCmd or OpenFileCmd can lead to  a deadlock when requests come in close succession. This is because commands:

acquire file lock
acquire read compilation lock

So EnsureCompiledJob might have the (write) compilation lock but the commands could have file lock. And the second required lock for either the job or the command could never be acquired.
Flipping the order did the trick.
Partially solves #6841.
Important Notes
For some reason we don't get updates for the newly added node, as illustrated in the screenshot, but that could be related to the close/open action. Will need to dig more.

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[ ] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

I don't have any ideas on how to simulate this deadlock, hence no test.
It would have to rely on some job being processed in the background while open/close arrives. @4e6 any thoughts?

I'm going to merge this, continue working on lacking expression updates (currently blocked by this PR) and then come back to add a test for this.


[command-not-found] Document support for macOS

This adds docs for b0c85eddf6bee4d75ca9920c9c6180ab7ff1962a which was added in https://github.com/sorin-ionescu/prezto/pull/1376/

This seems like a useful update. Thanks!


Fix s6 execution

Sorry I broke your addon, there was an issue with s6 overlay which was introduced as a breaking change in HA 2022.6 (s6-overlay-suexec: fatal: can only run as pid 1; https://www.home-assistant.io/blog/2022/06/01/release-20226/#breaking-changes)
I fixed by setting 'init: false' in config.yml and adding several execution rights on init, run and finish scripts
Here is logs from my working version
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

-----------------------------------------------------------
 Add-on: Traefik
 Traefik is a modern HTTP reverse proxy and load balancer that makes deploying
microservices easy.
-----------------------------------------------------------
 Add-on version: 4.2.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.11.1
 Home Assistant Supervisor: 2023.11.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
Log level is set to INFO
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/traefik.sh
[17:14:57] INFO: Ensuring SSL directory...
[17:14:57] INFO: Generating static config...
[17:14:57] INFO: Static config generated
cont-init: info: /etc/cont-init.d/traefik.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun nginx (no readiness notification)
services-up: info: copying legacy longrun traefik (no readiness notification)
[17:14:57] INFO: No additional environment variables found
[17:14:57] INFO: Starting Traefik...
[17:14:57] INFO: Running Traefik without env_vars
s6-rc: info: service legacy-services successfully started
time="2023-11-09T17:14:57+01:00" level=info msg="Configuration loaded from file: /etc/traefik/traefik.yaml"
time="2023-11-09T17:14:57+01:00" level=info msg="Traefik version 2.10.5 built on 2023-10-11T13:54:02Z"
time="2023-11-09T17:14:57+01:00" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n"
time="2023-11-09T17:14:57+01:00" level=info msg="Starting provider aggregator aggregator.ProviderAggregator"
time="2023-11-09T17:14:57+01:00" level=info msg="Starting provider *file.Provider"
time="2023-11-09T17:14:57+01:00" level=info msg="Starting provider *traefik.Provider"
time="2023-11-09T17:14:57+01:00" level=info msg="Starting provider *acme.ChallengeTLSALPN"
time="2023-11-09T17:14:57+01:00" level=error msg="the router homeAssistantRouter@file uses a non-existent resolver: le"
[17:14:58] INFO: Starting Nginx for dashboard...

Hope I didn't mess up yall, have a good day 🙏

No worries friend, 💩 happens. Thanks for noticing and fixing it asap.
Would you be so kind also upping the version number and amending the changelog in a new PR? That would be great.
Thanks again for your contribution 🚀 !

Sure doing, thanks =)


Can excerpt take a markdown file or markdown syntax instead of string?

We can provide excerpt, which is great, but I am getting this if I provide a markdown syntax to the excerpt:
can not read a block mapping entry; a multiline key may not be an implicit key at line 15, column 1:
Below is the markdown that I give to my exceprt

I also got the following when I tried a longer markdown
error: bad indentation of a mapping entry at line 28, column 100:
     ... e weight and should be ordered "equally" without precedence
                                         ^ {"mark":{"buffer":"title: "My title" ...

Is there a way to create markdown based excerpt rather than just a string?
I see here that (https://builderbook.org/books/builder-book/set-up-node-js-project-vs-code-editor-and-lint-set-up-next-js-project-material-ui-integration-server-side-rendering-custom-styles) the preview provided has all sort of markdown capabilities like image adding, indentation, bullet points, bold text, large text etc. How do you provide these to the excerpt? I can only provide plain strings to the exceprt?
Any insights would be greatly appreciated. Thanks.

Hi @ya332 , thanks for the question.
Yes, you can write with Markdown in the excerpt content, but we've found that some symbols cause errors. The error messages will usually point you the right location. You will often need to replace a symbol with its HTML entity.
One symbol in particular that causes an error is a quotation mark. Since the excerpt itself is indicated by surrounding quotations marks, when you include any quotation marks within the excerpt, it becomes unclear where the start and end of the excerpt are.
In your first example, instead of writing "Hello", try writing "Hello".
Feel free to share additional code (e.g. line 28 in your second example), and I may be able to pinpoint the issue.

Thanks @klyburke. This is very helpful. I was able to solve my issue. I am closing this thread.


Hotspot app syncing and discovery bugged

Describe the bug
From about 3 weeks i can't use discovery on my senscap hotpot because the status is syncing (ios) and discovery telling me the hotspot has to be synced in order to run discovery. My hotspot is always synced but the app is saying 'syncing' I opened a ticket in senscap discord but they said is related with the hotspot app and they can't help me.
My other hotspot helium hs1, i can run discovery but the results are most of the time 0 or only 4-5 hotspots when i should get around 300 hotspots in discovery
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: iPhone12
OS: [e.g. iOS8.1]
App Version e.g. 3.8.3

Additional context
Add any other context about the problem here.

going to close this issue for now. please reopen if this still occurs when we re-enable discovery mode in the future. My initial thoughts are that discovery mode was so popular that it overwhelmed the router instance and state channels, such that some users were unable to see consistent results.
we'll be revisiting the how we can make discovery mode available to users in a better, future-proof, and consistent manner.
On the sync issue: gossip times mean the app is unable to properly recognize a Hotspot is fully synced until gossip has told the app this. We'll also consider this when we revisit the feature.


[BUG] AutoMM does not early stop upon reaching a perfect validation score

[X] I have checked that this bug exists on the latest stable version of AutoGluon
[X] and/or I have checked that this bug exists on the latest mainline of AutoGluon via source installation

Describe the bug
When a perfect validation score is reached, training continues despite no chance of obtaining a better result.
Expected behavior
The training should immediately stop for the model, with the epoch that reached a perfect validation score being used as the final model.
An easy way to achieve this is to use the metrics defined in autogluon.core.metrics, for example:
from autogluon.core.metrics import roc_auc
error = roc_auc.convert_score_to_error(1)
if error <= 0:
    early_stop()

To Reproduce

if __name__ == '__main__':
    from autogluon.tabular import TabularPredictor, TabularDataset
    path_prefix = 'https://autogluon.s3.amazonaws.com/datasets/AdultIncomeBinaryClassification/'
    path_train = path_prefix + 'train_data.csv'
    path_test = path_prefix + 'test_data.csv'

    label = 'class'
    sample = 10  # Number of rows to use to train / infer
    train_data = TabularDataset(path_train)

    if sample is not None and (sample < len(train_data)):
        train_data = train_data.sample(n=sample, random_state=0).reset_index(drop=True)

    test_data = TabularDataset(path_test)
    fit_kwargs = dict(
        train_data=train_data,
        hyperparameters={
            'AG_AUTOMM': {},
        },
    )
    predictor = TabularPredictor(
        label=label,
        eval_metric='roc_auc',
        verbosity=2,
    )
    predictor.fit(**fit_kwargs)

    leaderboard = predictor.leaderboard(test_data)

Screenshots
  | Name              | Type                | Params
----------------------------------------------------------
0 | model             | MultimodalFusionMLP | 109 M
1 | validation_metric | AUROC               | 0
2 | loss_func         | CrossEntropyLoss    | 0
----------------------------------------------------------
109 M     Trainable params
0         Non-trainable params
109 M     Total params
439.137   Total estimated model params size (MB)
/Users/neerick/workspace/virtual/autogluon38/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py:1892: PossibleUserWarning: The number of training batches (1) is smaller than the logging interval Trainer(log_every_n_steps=10). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
  rank_zero_warn(
Epoch 0, global step 1: 'val_roc_auc' reached 1.00000 (best 1.00000), saving model to '/Users/neerick/workspace/code/autogluon-scratch/scripts/AutogluonModels/ag-20230103_230805/models/MultiModalPredictor/automm_model/epoch=0-step=1.ckpt' as top 3
Epoch 1, global step 2: 'val_roc_auc' reached 1.00000 (best 1.00000), saving model to '/Users/neerick/workspace/code/autogluon-scratch/scripts/AutogluonModels/ag-20230103_230805/models/MultiModalPredictor/automm_model/epoch=1-step=2.ckpt' as top 3
Epoch 2, global step 3: 'val_roc_auc' reached 1.00000 (best 1.00000), saving model to '/Users/neerick/workspace/code/autogluon-scratch/scripts/AutogluonModels/ag-20230103_230805/models/MultiModalPredictor/automm_model/epoch=2-step=3.ckpt' as top 3
Epoch 3, global step 4: 'val_roc_auc' was not in top 3
Epoch 4, global step 5: 'val_roc_auc' was not in top 3
Epoch 5, global step 6: 'val_roc_auc' was not in top 3
Epoch 6, global step 7: 'val_roc_auc' was not in top 3
Epoch 7, global step 8: 'val_roc_auc' was not in top 3
Epoch 8, global step 9: 'val_roc_auc' was not in top 3
Epoch 9, global step 10: 'val_roc_auc' was not in top 3
`Trainer.fit` stopped: `max_epochs=10` reached.

Potential duplicate of https://github.com/autogluon/autogluon/issues/2555

Closing due to being a duplicate.


Update README.md

Fixed some common typing errors.

@dlemstra any reason for marking it as invalid?


More repos

Realized in searching for metabolomics repositories that sometimes the links people need are not in the interactive table and so I want to emphasize that they should look in the other links that NIH provided too

I am trying to modify @avahoffman's beautiful flowchart to also emphasize these resources, needs some help but I think I might be getting somewhere.

LGTM! Only thing I might add is a screenshot of the table

ooh I like that idea!

LGTM! Only thing I might add is a screenshot of the table

ooh I like that idea!

oh wait I am confused... we already have the interactive table - do you mean some of the others?

LGTM! Only thing I might add is a screenshot of the table

ooh I like that idea!

oh wait I am confused... we already have the interactive table - do you mean some of the others?

I do think we should move that though...

I do think we should move that though...

Nope, I'm just confused and missed it in the preview for some reason! feel free to move it around.

I do think we should move that though...

Nope, I'm just confused and missed it in the preview for some reason! feel free to move it around.

I forgot about it too!


CSS Syntax highlighting breaks on comments in values

See https://drafts.csswg.org/css-tables-3/#mapping

Fixed.

Thanks


Modifies graph to improve readability and usefulness

Graph configurations have been moved to their own module to reduce main clutter (still needs to be cleaned more formally). The allele graph can now display different tick counts (per generation/per week) and respectively have more detailed labels.

 Evo: Improve readability/timeline in the data points; "the story"