Resolve issue with mount_points.readOnly bool and TF15

what

Add backwards compatibility with TF15 related to mount_points variable

why

Incompatibility with TF15, root cause is unknown

references

closes #136

comments/notes

This will force users to specify the readOnly bool, previously where null was specified should now be false per AWS default
Initially wanted to use default optional function within the variable, but this feature is only available in TF15

See the original PR https://github.com/cloudposse/terraform-aws-ecs-container-definition/pull/78/files that changed
Unfortunately this will break backwards compatibility with previous default of readOnly to false which is why the list(object()) definition for this variable was removed since in pre-0.15 versions, we could not set optional map values.
It would be better to analyze why terraform 15 has an issue with unmarshalling string readOnly of type bool. Perhaps it's a bug in terraform?
Even better would be that once we move to all of our modules to tf 15, we use the optional function instead and remove our dependence on previous versions.

/test all

@darpham it seems it's better to explicitly set the variable if there is no other workaround. Thank you for the PR.


URLs where the regex capture less than the annotations are not sanitized

In this document, the aboundance of spaces in the middle of the extracted URL makes sure that our regex falls short. However, the annotation are correct, but we somehow do not extend the matching beyond the initial regex extracted URL.
The result is quite messy:

                    Acknowledgements
                    [...] We thank
                        <rs type="person">Mr. Tetsuo Kishi</rs> from the
                        <rs type="affiliation">Department of Medicine, Kyushu University School of Medicine</rs> for the immunohistochemical analysis. We thank
                        <rs type="person">J. Ludovic Croxford, PhD</rs>, from Edanz (
                        <ref type="url" target="https://jp">https:// jp</ref>. edanz. com/ ac) for editing a draft of this manuscript.

PDF: 10_10.1038_s41598-021-96064-6.pdf
I've already drafted a fix with PR: #1190

I have another case, that seems to happen only on Linux, but not on Mac. The master version on my mac works fine on this document, but not any deployed docker instance. 🤔
PDF (CC-BY): 2_10.1128_spectrum.00536-24.pdf
Mac (master):

                Genome binning

The sequencing depth of each contig was calculated using the functional script "jgi_summarize_bam_contig_depths", a tool of the MetaBAT2 (v.2.12.1) package
                    <ref type="bibr" target="#b46">(46)</ref>, based on the sorted BAM files generated by using BWA-MEM (v.0.7.17;
                    <ref type="url" target="http://biobwa.sourceforge.net/">http:// biobwa.sourceforge.net/</ref>) and SAMtools (v1.546;
                    <ref type="url" target="http://www.htslib.org/">http://www.htslib.org/</ref>). MetaBAT2 was applied to bin the assemblies with contig depth results under the default parameters (minimum contig length ≥ 1500 bp). CheckM v.1.0.3 (
                    <ref type="url" target="https://ecogenomics.github.io/CheckM/">https://ecogenom ics.github.io/CheckM/</ref>) with the lineage_wf workflow was used to estimate the complete ness and contamination of MAGs
                    <ref type="bibr" target="#b47">(47)</ref>. Dereplication based on the average nucleotide identity >95% was performed using dRep (v2.3.2; parameter: -pa 0.95 -sa 0.99)
                    <ref type="bibr" target="#b48">(48)</ref>. The "classify_wf" function of the GTDB Toolkit (GTDB-Tk, version r214;
                    <ref type="url" target="https://gtdb.ecogenomic.org/">https://gtdb.eco genomic.org/</ref>) was introduced to obtain taxonomic information for each MAG. The amino acid sequences encoded by each MAG were also functionally annotated through comparison against the KEGG database.

Linux (0.8.1):

                Genome binning

The sequencing depth of each contig was calculated using the functional script "jgi_summarize_bam_contig_depths", a tool of the MetaBAT2 (v.2.12.1) package
                    <ref type="bibr" target="#b46">(46)</ref>, based on the sorted BAM files generated by using BWA-MEM (v.0.7.17;
                    <ref type="url" target="http://biobwa.sourceforge.net/">http:// biobwa.sourceforge.net/</ref>) and SAMtools (v1.546;
                    <ref type="url" target="http://www.htslib.org/">http://www.htslib.org/</ref>). MetaBAT2 was applied to bin the assemblies with contig depth results under the default parameters (minimum contig length ≥ 1500 bp). CheckM v.1.0.3 (
                    <ref type="url" target="https://ecogenom">https://ecogenom</ref> ics.github.io/CheckM/) with the lineage_wf workflow was used to estimate the complete ness and contamination of MAGs
                    <ref type="bibr" target="#b47">(47)</ref>. Dereplication based on the average nucleotide identity >95% was performed using dRep (v2.3.2; parameter: -pa 0.95 -sa 0.99)
                    <ref type="bibr" target="#b48">(48)</ref>. The "classify_wf" function of the GTDB Toolkit (GTDB-Tk, version r214;
                    <ref type="url" target="https://gtdb.eco">https://gtdb.eco</ref> genomic.org/) was introduced to obtain taxonomic information for each MAG. The amino acid sequences encoded by each MAG were also functionally annotated through comparison against the KEGG database.

Linux (branch: )

                Genome binning

The sequencing depth of each contig was calculated using the functional script "jgi_summarize_bam_contig_depths", a tool of the MetaBAT2 (v.2.12.1) package
                    <ref type="bibr" target="#b46">(46)</ref>, based on the sorted BAM files generated by using BWA-MEM (v.0.7.17;
                    <ref type="url" target="http://biobwa.sourceforge.net/">http:// biobwa.sourceforge.net/</ref>) and SAMtools (v1.546;
                    <ref type="url" target="http://www.htslib.org/">http://www.htslib.org/</ref>). MetaBAT2 was applied to bin the assemblies with contig depth results under the default parameters (minimum contig length ≥ 1500 bp). CheckM v.1.0.3 (
                    <ref type="url" target="https://ecogenom">https://ecogenom</ref> ics.github.io/CheckM/) with the lineage_wf workflow was used to estimate the complete ness and contamination of MAGs
                    <ref type="bibr" target="#b47">(47)</ref>. Dereplication based on the average nucleotide identity >95% was performed using dRep (v2.3.2; parameter: -pa 0.95 -sa 0.99)
                    <ref type="bibr" target="#b48">(48)</ref>. The "classify_wf" function of the GTDB Toolkit (GTDB-Tk, version r214;
                    <ref type="url" target="https://gtdb.eco">https://gtdb.eco</ref> genomic.org/) was introduced to obtain taxonomic information for each MAG. The amino acid sequences encoded by each MAG were also functionally annotated through comparison against the KEGG database.

I've discovered that there might be more than one PDF annotation that overlap over a certain token, so I had to tighten the leash when looking for the PDF annotation in case they are > 1 I need to add a match on the token which is increased recursively by adding the n-1, n-2 tokens if more than one annotation is matching.
PDF documents are a mess :-)


Feature Request: Multi Select Editing and/or Find & Replace

First off, thank you so much for all the time you've put into this.
I use YOURLS to shorten links obviously, but mostly to insert tracking into the link as well. With video and other content creation on the rise, we need more and more links to track individual posts, videos, etc. Now that YOURLS has built in functionality for randomized keywords it's even easier to create individual URLs with specific tracking for each piece of content.
What I'm worried about, is that I have a lot of links going to a specific landing page. In the future I may want those links to go to a different landing page. It would be really nice if I could select multiple links and edit just the domain/path and not the url parameters.
As for coding, the hard way would be to create multiple entries for each part of a URL (like FB Ads and GAds do) so that each piece of the url would have it's own data. What seems easier to me would be a "simple" find and replace of text for the "original url" data. This eliminates the need for multiple entries per URL and eliminates the need to build some sort of multi-selection checkbox editing tool.
Obviously there is nothing simple or easy about what I'm suggesting, I was just using those terms in relativity to the other option. Again, I thank you for all that you do.
P.S.
The only past item I could find on this was closed in 2013 and it said to read the comments, except there were none and the link to the old post is just a loopback to the current post.

This is a very specific need, there won't be such a feature implemented in YOURLS, that's what the plugin API is for (see https://github.com/YOURLS/YOURLS/wiki/Possible-With-A-Plugin)
Without a specific plugin, the easiest way would be to simply edit your URLs in phpmyadmin or similar tool (ie mysql search and replace)

Thank you for your reply and for the tip on using phpmyadmin/mysql. That's very helpful. To me it seemed like a core feature that most software I've used have rather than a plugin addon. However, I do appreciate your response, and I'll check out that link.


⚠ Processors has degraded performance

In d6bcd11, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: Processors performance has improved in a3f57b6.


Cleaner Systolic Array Code

Changed memory widths to be more precise (only include number of bits needed)
Refactored common code patterns (mostly having to do with port naming/connections) to builder.py
Added/clarified documentation

@rachitnigam is it fine to merge this? Most of the changes are pretty minor and no functionality is changing.


[http_server] Optimize the warning information when building rust code to wasm

I used the command line cargo wasi build --release to compile the rust code to wasm bytecode, but it generated 4 warnings as follows.
source code: https://github.com/second-state/wasmedge_wasi_socket/tree/main/examples/http_server
warning: unused imports: `IoDecodeExt`, `ReadBuf`
 --> examples/http_server/src/main.rs:1:21
  |
1 | use bytecodec::io::{IoDecodeExt, ReadBuf};
  |                     ^^^^^^^^^^^  ^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `Error`
 --> examples/http_server/src/main.rs:2:28
  |
2 | use bytecodec::{DecodeExt, Error};
  |                            ^^^^^

warning: unused import: `BufReader`
 --> examples/http_server/src/main.rs:4:15
  |
4 | use std::io::{BufReader, Read, Write};
  |               ^^^^^^^^^

warning: unused `Result` that must be used
  --> examples/http_server/src/main.rs:63:9
   |
63 |         handle_client(listener.accept()?.0);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_must_use)]` on by default
   = note: this `Result` may be an `Err` variant, which should be handled

warning: `http_server` (bin "http_server") generated 4 warnings

It seemed that the repo didn't use the imports above, we should optimize the warnings according to the compiler.

Fixed in https://github.com/second-state/wasmedge_wasi_socket/pull/20


Doctests and test --release disagree about debug_assertions

Problem
As currently stands, there's an inconsistency in doctests running with debug_assertions on even when code was compiled through cargo test --release. I would've expected that cargo test --release means that the doctests get compiled in release mode as well, but that doesn't appear to be the case.
Steps
//! Here's a doctest:
//!
//! ```rust
//! use doctest_da::my_function;
//!
//! if cfg!(debug_assertions) {
//!     assert!(my_function().is_ok());
//! } else {
//!     assert!(my_function().is_err());
//! }
//! ```

pub fn my_function() -> Result<(), ()>{
    if cfg!(debug_assertions) {
        Ok(())
    } else {
        Err(())
    }
}

Notes
I'm a bit confused on where exactly this issue may need to be filed. It seems related to #5777 and #5218, but because this hits doctests, #4669 and rust-lang/rust#45599 may take precedence. Let me know if I should move.
Output of cargo version:
cargo 1.32.0 (8610973aa 2019-01-02)

-C target-cpu in the .cargo/config file also doesn't seem to get passed to doc tests.

I'm not sure what the current status is of rustdoc handling -C flags in doctests. Someone will need to do an audit to make sure that they are all handled the same way as rustc does.
Cargo's handling of these arguments for rustc is done in a function called build_base_args. The flags that are shared between rustc and rustdoc should probably be split off into a separate function.  Arguments for doctests are collected here, it that place would likely need to also include the -C codegen options that are appropriate for the doctest.
S-blocked-external can be removed if we conclude that rustdoc is handling all the options correctly.
There is some risk that adding these flags will start breaking some projects (like if they change behavior on debug_assertions). I don't know if that risk is great enough for us to do something different (like maybe doing a crater run?). I'm inclined to just change it and respond if people run into problems, but I'd like to hear what others think.
For historical perspective: rustdoc originally did not honor the -C flag at all. At some point, it was refectored to use the same option parsing as rustc, but the codegen options themselves weren't wired into the doctest generation. Over time, those have been added, but I am uncertain if all of them are wired up now, or if all the options are handled the same way as rustc (since there are some subtle issues like how some flags imply other flags).

There might also be performance considerations (either positive or negative). Doctests are particularly slow since they essentially require compiling an executable for every test. For some projects with lots of doctests (like the standard library), this can be relatively slow. Compiling doctests with different codegen settings might be faster or slower to compile, and may be faster or slower to execute. I don't think that will be a significant concern, but something I wanted to highlight as something to keep an eye on.

I can say that personally, I've begun actively avoiding all doc tests, and even ripping out existing doc tests, because they are so slow compared to normal tests.
However, assuming your number of doctests doesn't change, then altering the codegen options applied to particular doctests seems unlikely to have a significant effect on compilation time. Any particular doctest is, in general, likely to be extremely small.


Added Compliment Command to compliment a user

for some reason it wants the eslint rules file anyways?

merge when

If this PR does not get any update until 27th October, I'll close this. Please do the requested changes by me and @tech6hutch.

It failed eslint, give me a min to fix.

@kyranet Checks passed now


Migration to bootstrap-loader

New Plan -- keep 2 repositories. Other one is https://github.com/shakacode/bootstrap-loader/
Major new features:

CSS Modules (indirectly)
Easy to not include jQuery
Support for Bootstrap v4

We're planning on keeping the same github repository, renamed to bootstrap-loader, and changing the npm module name to bootstrap-loader.

[ ] Issue one more version of npm bootstrap-sass-loader and deprecate
[ ] Have a changelog with migration steps
[ ] Ensure docs are sufficient.

CC: @alexfedoseev

Submitted https://github.com/shakacode/bootstrap-sass-loader/pulls


Target key does not show under  "prefix" and every new message contains update key in Protojson Format

Hello,
Output data from gnmic in the protojson format, I see that there is no "target" key present under the prefix section.
Earlier gnmi collector had this "target" key in "prefix" section in the protojson format.
Could you let me know if there is any settings to add these "target" key.
Also the messages in the protojson contains an update key at the beginning before timestamp which was not the case for earlier gnmi Collector, Could you let me know how can that be removed or avoided.
Below is one example, i have is for gnmic
{
    "update": {
        "timestamp": "123234242342342",
        "prefix": {
            "origin": "Cisco",
            "elem": [
                {
                    "name": "interfaces"
                },
                {
                    "name": "interface"
                },
                {
                    "name": "interface",
                    "key": {
                        "interface-name": "bundle"
                    }
                }
            ]
        },
        "update": [
            {
                "path": {
                    "elem": [
                        {
                            "name": "interface-handle"
                        }
                    ]
                },
                "val": {
                    "stringVal": "bundle"
                }
            }
     ]
 }
}

This is from the earlier gnmi collector that we were using.
{
        "timestamp": "123234242342342",
        "prefix": {
            "origin": "Cisco",
            "elem": [
                {
                    "name": "interfaces"
                },
                {
                    "name": "interface"
                },
                {
                    "name": "interface",
                    "key": {
                        "interface-name": "bundle"
                    }
                }
            ],
         "target": "target_device_name"
        },
        "update": [
            {
                "path": {
                    "elem": [
                        {
                            "name": "interface-handle"
                        }
                    ]
                },
                "val": {
                    "stringVal": "bundle"
                }
            }
     ]
 }

Hi,
Can you share the commands used to generate these outputs ?
"...the earlier gnmi collector that we were using": Are you referring to an earlier version of gnmic? or another collector ?
If it's gnmic, can you share the version and the command used ?
From: https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md#2221-path-target
The target field within a path is name for the target. This field MUST only ever be present on prefix paths in the corresponding request and response messages. This field is optional for clients. When set in the prefix in a request, GetRequest, SetRequest or SubscribeRequest, the field MUST be reflected in the prefix of the corresponding GetResponse, SetResponse or SubscribeResponse by a server

Thanks for the response. Earlier we were using this thehttps://github.com/cisco-ie/pipeline-gnmi collector.
For gnmic
We are using the configuration file.
For Example we have this kind of gnmic configuration file.
username: dummy
password: dummy
other global variables

targets:
 cisco:
   name: cisco
   address: ip address of the device
   subscription:
      - subscriptionname
  output
      - outputname

subscriptions:
     subscriptionname:
       paths:
         - path to the interface
       stream-mode: sample
      sample-interval: 20S

outputs:
 outputname:
     type: kafka
    name: anyname
    topic: name of the topic
   format: protojson

So where should i include the target to be visible in the the response?

Thanks for the details:
You can try adding a target field under subscriptions
subscriptions:
     subscriptionname:
       paths:
         - path to the interface
       stream-mode: sample
       sample-interval: 20S
       target: "target_device_name"

Thank you @karimra  for the response it works now i can see the target field in the prefix section.
Just wanted to know if we can remove the update key that comes before the timestamp section.
If not, i can do it in my code where the message is received. Just wanted to know if there is any keyword  for that?

Glad it worked.
As for removing the update json key, I'm afraid there is no easy way to do that with configuration.
If you don't mind changing the format to event, there are a lot of processors you could use to transform the response:
https://gnmic.kmrd.dev/user_guide/event_processors/intro/

Thanks Again. Yes I had looked at that event structure earlier, but since there is a time constraint in for our current project. I will go ahead and change in my code, I can just get the value of the update key and it will be same as our old format. But surely will give it a try and do some experiment using the event structure.
Closing this issue.


chore: fix build for upstream-fef2098

What :computer:

Fixes build for fef2098

Not sure why the full CI isn't running, I have 3 failing tests locally still

autoclosed due to branch rename


Zephyr is using randomx algo, pool wont accept miners

zephyr daemon : ./zephyrd
zephyr wallet rpc: ./zephyr-wallet-rpc --rpc-bind-port 17777 --rpc-bind-ip <IP_ADDRESS> --confirm-external-bind --wallet-file pool-wallet --password 110281 --daemon-port 17767 --trusted-daemon --disable-rpc-login --log-level 1
pool wont accept miners, any idea? first time adding randomx algo to pool

this setting work with other pool, but not mine..

Whar error code is in XMrig ?

i have the same problem xmrig say login error code : 2 , and srbminer say : pool send a malformed rpc jobs

Zeph uses a modified version of RandomX.  It's not the same as Monero. It won't work on your pool unless you add the algo variant to it.

Zeph uses a modified version of RandomX. It's not the same as Monero. It won't work on your pool unless you add the algo variant to it.

guide us please?

guide us please?

Still working on it. Turned out to be a bit more complex than I thought at first.


Remove Lorem Ipsum from the gh-pages documentation

The gh-pages branch has several instances of "Lorem ipsum" that should be removed or replaced.

I can't seem to find any lorem ipsum anymore -- is this safe to close out ?

Yep, this is done.


update setup-docs and remove obsolete helpers

with directly cloning plugins-private to ./plugins-ee, we save a bit of
complexity and duplicated config-files. i see no apparent tradeoff (having worked for a couple weeks with this setup now).

:tada: This PR is included in version 2.148.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


how to make it programmable for user define export

for example there are many formats x and how does it allow normal people to use js or some simple language to make their own exporter plugins?

Sprite a packer allows to use custom formats, for this purpose it is necessary to specify a way to custom formats in settings and using JS example to create the format

very nice.


MTL-1871 Port LIVE Image cleanup to 1.3

Description

This added page and its scripts will facilitate cleaning up old squashFS images.
The page mentions cleaning up old OverlayFS but does not include directions intentionally, that function is experimental and is not the main intention of the script.
The 1.4 PR will be just a doc page, no scripts. It'll leverage the existing scripts on the node.
Checklist Before Merging

[ ] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[ ] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

We're not going to put this into 1.3 and will instead introduce it into 1.4.

Instead of putting this into the images, we can do just this docs change for 1.3 so these support files are available.


update(readme.md): organized badges

Description
Moved and organized the badges in README.md.
Output

@BoseSj Although I have merged it, you need to create an issue and link that with this PR.

Okay, cool! I will be creating one😄

Solves issue #81


Use XZ compressed images in CI

What does this PR do?
Use xz compressed VM images in CI.

Motivation

Additional Notes
The test-only suffix will be removed once the associated PR in ami-builder is merged.
The test-infra-definitions buildimage will be updated once the associated PR is merged.

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Will approve once -test-only suffixes are removed, and test-infra-definitions image hash is updated.


For detailed style, show the detailed view as the default action.

The detailed view only can be shown by swipe down gesture. If user action is nil, the detailed view should be shown by tap. But below code won't work.
    @IBAction func didSelectmessage(_ tapgesture: UITapGestureRecognizer) {
        if (notificationBar != nil) {
            UIView.animate(withDuration: 0.5, animations: {
                notificationBar.frame.origin = CGPoint(x: 0, y: -BAR_HEIGHT)
                }, completion: { (yes) in
                    notificationBar.removeFromSuperview()
            })
        }
        closeMessage(nil)
        if ((messageDidSelect) != nil) {
            messageDidSelect(true)
        } else {
            setUpDetailedNotificationBar(header.text, body: body.text, action: [])
        }
    }

hi @internalG ,
You mean when notification bar's preferred style is set to simpleBanner. It should open as detail view when user taps on notification..? If so it should't be like that right.
Use of style simpleBanner is just to notify user about something, developer can handle other things .
If i was wrong feel free to comment back.

I mean the detailed style. But the latest update of var messageDidSelect:((Bool) -> Void)? is a workaround for that. Thank you!


he + rtl fixes

he: proper shorthand for Saturday
rtl: month arrows must be in opposite direction

Hello,
Thank you for the contribution!
Please commit to the src/l10n folder instead, dist is only for automated builds


Make raw bindings backwards compatible

I explained this in #965 where the handling of bindings for .raw was changed in v0.8+ disallowing the use of for example:
knex.raw('username = ?', 'Test');
//generates username = 'T' with 4 bindings ['T', 'e', 's', 't']

So in the spirit of not breaking applications upon upgrading knex version, this is my suggested solution. It doesn't make any sense to enforce Array bindings while the rest of the knex interface is very flexible, and it also allows for easier-to-read code.
knex.raw('username = ?', 'Test');
//now generates username = 'Test'

I added a test case so that this does not break again.
Edit: A good argument to why this should be merged, I am going to quote http://knexjs.org/

Upgrading 0.7 -> 0.8
There should be no major changes breaking the external API. If you encounter issues, please open a ticket.

Yet this broke in 0.8.

@elhigu Ima ping you in on this one as well if that's ok. In my opinion this is a crucial fix before next release.

@wubzz for the arguments why this should be merged... we really can break backwards compatibility on every 0.x change... and actually we are breaking it all the time. And the mention in changes between 0.7 -> 0.8 Tim was saying that most of the APIs should stay the same... this one might be intentional or not.
That being said I'm all in to support those shortcuts being able to pass non array / object value to raw to prevent boilerplate.
However it needs to be added to documentation exactly what parameters knex.raw may take and how they are interpret. Specially the case how to give an array to be bound (weird [[]]) syntax or actually I would prefer named bindings for that raw(":theArray", { theArray: [] }).
@rhys-vdw If it is ok to you I would like to merge this one after some minor changes.

From my experience breaking backwards compatibility should only be done when there's a good reason to do it. Something like this definitely isn't a good enough cause, even less so since it wasn't in the changelog. I understand it may not have been intentional, and I'm not blaming anyone that it broke, my clarity is just that it gets fixed. With a test case in place, at least history won't repeat itself.
I'll try to update the documentation as best I can.

From my experience breaking backwards compatibility should only be done when there's a good reason to do it.

Agree :+1:

Btw. code looks good to me, so if @rhys-vdw says its fine I'll merge :+1:

Can we get a test case for this?
knex.raw('created_at > ?', new Date());

I'm still a bit wary of this change in general. The [[]] thing is pretty dirty. There's still instruction for that in the docs. Also, if we're accepting a single argument, wouldn't it follow to support raw(query, ...args)?

@rhys-vdw the [[]] case is already there and it is pretty dirty, not sure what could be done about it except avoid doing it :)
How system should behave in case of knex.raw('created_at > ?', new Date()); should it fail and tell user to use [new Date()] or should it work and output
> knex.raw('wat < ?', [new Date()]).toString()
'wat < \'2016-02-04T09:21:00.091+02:00\''

Or should we allow using it as an object as it currently works enabling this kind of insanity
a = new Date()
Thu Feb 04 2016 09:26:55 GMT+0200 (EET)
> a.foo = 'OMG'
'OMG'
> knex.raw('wat < :foo', a).toString()
'wat < \'OMG\''

I have nothing against of supporting also raw(query, ...args) syntax, but I don't see it as a must for this pull request.
In the end to me any of the choices how to handle special objects e.g. Date is fine. It all is extra functionality on top of knex 0.9...
Knex already has code, that treats Date objects specially, so if it is documented that one can do knex.raw('?', new Date()) without an array syntax it sounds good to me.

Currently using new Date() does not call .tostring() as far as I could tell. The generated string is built out of the Date object, see https://github.com/tgriesser/knex/blob/master/src/query/string.js#L20 for reference.
Example output
... where date = '2016-02-04 17:03:01.599'

I added this to the test.

the [[]] case is already there and it is pretty dirty

Yeah, but before this PR it's consistent. Every value must be provided in an array. No surprises. I actually think the correct API here is to either support array only or varargs only. That way we eliminate the inconsistent case.
Since this is a PR to restore back compatability I'm happy to go with this for now. We still need an instruction in the docs to warn about passing an array before this can be merged.

Merged. Cheers @wubzz.

@rhys-vdw Perhaps completely unrelated, but any thoughts on the arrival of 0.9.1 ? Nearly 150 commits since 0.9.0.
Currently we're still using 0.7.6 at work due to a few bugs that afaik are fixed in 0.9.1, primarily the event related bugs like proxying query from a transaction object onto the main client. (Used for logging and such)

@wubzz Yes. I was going to do it earlier today but got stuck trying to fix up #1180. Hoping to have it done by Monday. I think it will be 0.10.0 though due to breaking changes.

@rhys-vdw Sounds good, cheers. :+1:


Support calibration function for quantization add an example for the stable diffusion

What does this PR do?
This PR will support customized calibration function to quantize the model with the neural compressor. We add an example of quantization for the stable diffusion model.

Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Thanks for the PR @PenghuiCheng. Would you accept to create two PRs (one for PyTorch 1.13.0 support and one with the quantization example of stable diffusion model), in order for us to iterate and merge the first rapidly ?

Hi, Ella:
Yes, I created another PR of support PT 1.13.0 version. If #95 PR is merged, I will rebase this PR

@PenghuiCheng , please add the perf speedup and accuracy on INT8 vs. FP32.

@echarlaix , please let us know whether you have additional comments. Thanks.


Setup github bot to check for CNFC CLA

We currently have googlebot to check for google CLA, we need to switch that to a bot for CNCF CLA.
Here's what kubernetes has:
https://github.com/kubernetes/kubernetes/wiki/CLA-FAQ

CC @zinuga

@caniszczyk can you provide some details on kubernetes github CLA bot?

A tracking issue for kubernetes might be useful as an additional resource https://github.com/cncf/foundation/issues/1

@jtattermusch I can definitely get things going with the CNCF CLA bot, however, I'd love for the gRPC team to consider dropping the CLA requirement and simply use ALv2 + DCO (https://developercertificate.org/). Would people be comfortable discussing this route via a gRFC? It would simply contributions IMHO :)
I'm also heading on vacation today so I won't be able to get moving on this until next week.

@zinuga needs to answer that.

@caniszczyk
CLA rationale:
https://opensource.google.com/docs/cla/policy/

@jtattermusch after catching up with the Google OSPO and the project leads, we leave the CLA in place for now. To get started in moving to the LF CLA system, can you email "Linux Foundation Helpdesk<EMAIL_ADDRESS>to start the process as LF IT will need admin access to the grpc org/repos to install the bot.

Done.


t-target-api: Fix testcase when there is only 1 or 2 devices

The code sets the default-device-var ICV to 3 – assuming that host fallback is done; well, that's the case for the target regions but not for omp_target_alloc - as that requires a conforming device number.
The solution is to call omp_target_alloc for the host if default-device-var is too large, i.e. instead of checking for no device, the check is now whether the default device is larger than the number of devices.
While that fixes the issue, I guess it is more useful to actually use a device - if there is one or two available - which is the second change.
To check on the host, one way out is still to set
OMP_TARGET_OFFLOAD=DISABLED, which is the supposed way in omptests; cf. utilities/check.h

@doru1004 – What you do think?

@doru1004 – Ping


Html Image error

When I use image component like html.Img( src = "/static/xxx.jpg"), the root location is the module's path "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/streamlit_elements/frontend/build/".
Same issus happens when I use src = "data:image/png;base64,XXXXX", which should use the bytes data.
Thanks for your job on this  cool package!

Hello @yubeizhu, unfortunately Streamlit Elements does not support custom static folders as you noticed.
However using a base64 data URI should work. Do you have any error in your browser's developer console?


Attachments that are not images throw error

In some cases, things like CSVs, PDFs, and other file types throw this error when they are uploaded the form is submitted:
Attempt to read property "childNodes" on null
This is where the error occurs:
Illuminate\Foundation\Bootstrap\HandleExceptions::handleError
vendor/tonysm/rich-text-laravel/src/Fragment.php:78

Hey @mrpritchett
I have tried some advanced templating tweaks and was able to get to a really cool flow. I plan to write about it, but for the meantime, I've published the demo app.
A few interesting places to look at:

The rich-text blade component (the field) which hooks the Stimulus controller (here)
The app is using Spatie's MediaLibrary for the uploads, so there's a custom media model (here), also check out the overriding of the toTrixContent (here) - which is used when rendering the media attachable to feed Trix - and the richTextRender method (here)
The upload handler (here)
The route handler that renders the attachable (here)
And, finally, the Trix Stimulus Controller (here) and the Attachment Uploader (here)

And here's a quick demo of it working.
One interesting thing I found out is that video tags don't play really well with Trix. The editor seems to constantly re-render, so the video gets "flickering". What worked for me was generating a thumbnail for the video (using Spatie's MediaLibrary and FFMPEG, here's the code) and displaying that when the media renders in the Trix editor (here).
Let me know if any of this helps you.

@tonysm We're rushing the new editor to the finish line this week, but I'm going to circle back to this next week to check out in depth. I appreciate all your hard work on this package and in responding to our GH issues. Is there a preferred way we can support your work here on GH or otherwise?


chore: add js and jsx files to gitignore

This change just to prevent spam in pending changes with visual studio.
All typescript files in sample compiled to js with .map. It not really necessary to store this file in git, so better to ignore it may be

Hi @laskoviymishka, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Thanks for pointing this out. Would it be fair to say the root issue is that VS produces these unwanted .js and .jsx files? They are unwanted because they serve no purpose when the project is set up this way - they never get served to the browser, they just clutter up your folders and potentially confuse developers.
To avoid this, I've added <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> to all the .xproj files, so VS will no longer produce this unwanted noise.
Does this adequately resolve the issue? It's probably preferable not to use .gitignore to exclude all .js files indiscriminately, because developers might have some reason to add their own .js files, and would then be confused about why they don't end up in source control.

Good point, agree with you completely :+1:
So it now pretty much already fixed!


Trying to translate to French on TFS2015

Hello Colin,  I'm trying to translate this policy to French and I can't seem to get the hang of it.  I just have no idea what strings the validation is looking for in a system other then english in it's validation.
Thank you
Benoit Audet

I haven't thought about internationalizing this. However, you should be able to see the string comparisons in the code. There are a ton of them though...


1.0.0-RC12 ERROR: Plugin was not found in Android

Description
I use the official guide For all gradle versions: https://arturbosch.github.io/detekt/groovydsl.html
Link bug: https://github.com/arturbosch/detekt/issues/1494
If use the official guide for Android Projects, u will get another exception.
build.gradle (app level)
buildscript {
    ext.kotlin_version = '1.3.11'
    repositories {
        maven { url "myUrl" }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

       // for version >= 1.0.0-RC10
        classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.0.0-RC12"
    }
}
plugins {
    id "io.gitlab.arturbosch.detekt" version "1.0.0-RC12"
}

apply plugin: "io.gitlab.arturbosch.detekt"

detekt {
    toolVersion = "1.0.0-RC12"                              // Version of the Detekt CLI that will be used. When unspecified the latest detekt version found will be used. Override to stay on the same version.
    input = files("src/main/java")                          // The directories where detekt looks for input files. Defaults to `files("src/main/java", "src/main/kotlin")`.
    parallel = true                                         // Builds the AST in parallel. Rules are always executed in parallel. Can lead to speedups in larger projects. `false` by default.
    filters = ".*build.*,.*/resources/.*,.*/tmp/.*"         // Regular expression of paths that should be excluded separated by `;` or `,`.
    config = files("$rootDir/detekt-config.yml")            // Define the detekt configuration(s) you want to use. Defaults to the default detekt configuration.
    reports {
        xml {
            enabled = true                                  // Enable/Disable XML report (default: true)
            destination = file("build/reports/detekt.xml")  // Path where XML report will be stored (default: `build/reports/detekt/detekt.xml`)
        }
        html {
            enabled = true                                  // Enable/Disable HTML report (default: true)
            destination = file("build/reports/detekt.html") // Path where HTML report will be stored (default: `build/reports/detekt/detekt.html`)
        }
    }
}

allprojects {
    repositories {
        maven { url "myUrl" }
        jcenter()
    }
}

Current Behavior
ERROR: Plugin [id: 'io.gitlab.arturbosch.detekt', version: '1.0.0-RC12'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin:1.0.0-RC12')
  Searched in the following repositories:
    Gradle Central Plugin Repository

Steps to Reproduce
add detekt to project
sync project
Context
I see, that jcenter() have a "1.0.0.-RC-12" v. https://mvnrepository.com/artifact/io.gitlab.arturbosch.detekt/detekt-formatting?repo=jcenter
But I have in my new android project a gradle exception
Your Environment

Version of detekt used: 1.0.0-RC12
Version of Gradle used (if applicable): 4.10.1
Android Plugin 3.3.1
Operating System and version: windows 10

See https://github.com/arturbosch/detekt/issues/1494#issuecomment-464934505

@3flex thanks, it works for me.
I had a proxy problem. Sorry.
Hence, move to closed.


how do i find the internal ip and port if i connect to the vps through a tcp connection

for example what should i write in the ip and port if i connect to the vps using this "8.tcp.ngrok.io:19860"

I would recommend building from the latest commit, since that one makes the server.json configure properly. If I understand you correctly you'd want to paste:
{
"Bind": "NONE",
"IServerIP": "8.tcp.ngrok.io",
"Port": 19860,
"NoRender": false,
"Hidden": false,
"Enabled": false,
"Name": "PingBypass"
}
into your Server.json


performance penalty with successive calls of prot2pept

@tvwillem When I run the prot2pept command in the following scenario

read all proteins from a sample from stdin at once
break all of them up into peptides doing a single call of prot2pept

This takes only a few seconds. However, if I implement it in a loop, where there's a single call to prot2pept per protein, this gives a serious performance penalty. Here's the script that shows the problem (it reads a fasta file containing proteins as input).
#!/bin/bash

# process command line arguments
sample_prot=$(readlink -f "$1")
sample_prot2pept="${sample_prot}.prot2pept"
sample_metapept="${sample_prot}.metapept"

# step1: parse fasta file and break each protein sequence into its tryptic peptides
#        this step is needed to be able to aggregate the tryptic peptides back to the
#        protein or DNA read level
cat "${sample_prot}" | while read line
do
  if [ "${line:0:1}" = ">" ]
  then
    if [ -n "${sequence}" ]
    then
      echo "${header}"
      echo "${sequence}" | prot2pept | peptfilter | tail -n +2 | grep -v '^$'
    fi
    header="${line}"
    sequence=""
  else
    sequence="${sequence}${line}"
  fi
done > "${sample_prot2pept}"

Original issue by @pdawyndt on Wed May 14 2014 at 13:11.
Closed by an unknown user on Mon May 19 2014 at 15:26.

unipept 0.5.0 now has preliminary support for FASTA input.
Original comment by ghost on Mon May 19 2014 at 15:26.

@tvwillem This would ease things a lot for client-side scripts. Great addition. I'll test it later on. Now I have to rush a bit doing some more data processing (I have some news for next Wednesday; check your email in a few minutes).
Original comment by @pdawyndt on Mon May 19 2014 at 17:45.


ODIS combiner should retry on connection failure

Observed CELO_ODIS_ERR_09 SIG_ERR Failed to request signature from signer in the logs. This resulted from a connection failure:
Logs
The alerts correctly fired however it would be great if the service gracefully handled this with retry logic with exponential back-off.
Relevant code can be found here: https://github.com/celo-org/celo-monorepo/blob/1f7aa084a9f66ff0264a372cfdcb6d9bc7924642/packages/phone-number-privacy/combiner/src/signing/get-threshold-signature.ts#L304

This could be easily knocked out either as a drive by in CIP40 work and/or as an ODIS onboarding ticket

Sprint planning:

On Alec's backlog (to not lose track of it)
Basically want to look at the code
Doesn't seem super high priority
Eela - this is a problem in the existing ODIS logic
Eela - perhaps get back to this after the merge (more nice to have)
Alec agrees
This could be in the after merge bucket
We'll keep P2 as "after merge"
We'll keep P3 as "after deploy"


github-merge: Add option to overwrite user email

The merge script claims authorship of the merge commit, which is confusing, because the maintainer didn't author the merged code.
Solve this issue by:

Setting the git user name (committer and author) to "merge-script"
Allowing the maintainer to provide an email to use for the merge commit

Just as before, the merge commit is still required to be signed by the maintainer.

Example (without email option):
$ git log --format=fuller -1 --no-decorate
commit 5522408f30ac7a6539072f07d86fb1724ae26f2f
Merge: eb1f5706df 15b8ba500d
Author:     merge-script<EMAIL_ADDRESS>AuthorDate: Thu Sep 9 12:20:06 2021 +0200
Commit:     merge-script<EMAIL_ADDRESS>CommitDate: Thu Sep 9 12:20:06 2021 +0200

    Merge bitcoin/bitcoin#22902: tracing: utxocache tracepoints

    15b8ba500d59c6c5de764cd13c22d0cb44d6bd14 [tracing] tracepoints to utxocache add, spent and uncache (Arnab Sen)
    56f0a048acc1035c65e5f8020943c19f0c2f9d0b [tracing] tracepoint for utxocache flushes (Arnab Sen)

    Pull request description:

      This PR adds some of the UTXO set cache tracepoints proposed in https://github.com/bitcoin/bitcoin/issues/20981#issuecomment-802688809. The first tracepoints were added in bitcoin#22006.

      tracepoint | description
      -- | --
      `utxocache:flush` | Is called after the caches and indexes are flushed
      `utxocache:add` | when a new coin is added to the UTXO cache
      `utxocache:spent` | when a coin is spent
      `utxocache:uncache` | when coin is removed from the UTXO cache

      The tracepoints are further documented in `docs/tracing.md` and the usage is shown via the two newly added example scripts in `contrib/tracing/`.

    Top commit has no ACKs.

    Tree-SHA512: 53ba6c2811c7fed08aa608a888bff83214e754b0f50621e83e4f81e95bc22d21f7f956096d12858d8e85240aa226431845995682eaaf55e93016c5b8f4c9282b

Example (with email option):
$ git log --format=fuller -1 --no-decorate
commit<PHONE_NUMBER>89aa024101a7725d30b90d0b2b9b8e
Merge: eb1f5706df 15b8ba500d
Author:     merge-script<EMAIL_ADDRESS>AuthorDate: Thu Sep 9 12:26:58 2021 +0200
Commit:     merge-script<EMAIL_ADDRESS>CommitDate: Thu Sep 9 12:26:58 2021 +0200

    Merge bitcoin/bitcoin#22902: tracing: utxocache tracepoints

    15b8ba500d59c6c5de764cd13c22d0cb44d6bd14 [tracing] tracepoints to utxocache add, spent and uncache (Arnab Sen)
    56f0a048acc1035c65e5f8020943c19f0c2f9d0b [tracing] tracepoint for utxocache flushes (Arnab Sen)

    Pull request description:

      This PR adds some of the UTXO set cache tracepoints proposed in https://github.com/bitcoin/bitcoin/issues/20981#issuecomment-802688809. The first tracepoints were added in bitcoin#22006.

      tracepoint | description
      -- | --
      `utxocache:flush` | Is called after the caches and indexes are flushed
      `utxocache:add` | when a new coin is added to the UTXO cache
      `utxocache:spent` | when a coin is spent
      `utxocache:uncache` | when coin is removed from the UTXO cache

      The tracepoints are further documented in `docs/tracing.md` and the usage is shown via the two newly added example scripts in `contrib/tracing/`.

    Top commit has no ACKs.

    Tree-SHA512: 53ba6c2811c7fed08aa608a888bff83214e754b0f50621e83e4f81e95bc22d21f7f956096d12858d8e85240aa226431845995682eaaf55e93016c5b8f4c9282b

I'm not really sure about this. I think I prefer the person that merged the commit as author of the merge. I'm not sure about it being confusing, either, this is the same behavior a manual git merge would have. As maintainer you're the author of the merge, but obviously not of the commits that it pulls in.

Ok, closing for now.

I think I'm warming up to this idea. The less places a maintainer's name and e-mail appears the better, probably.


(maint) tweaks to anonymization

when randomizing strings, use a max length equal to the length of the target
when randomizing floats, cap the value with the target
remove some unused leaf types

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-stable/49/
Test FAILed.

@puppetlabs-jenkins test this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-stable/50/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-stable/51/
Test PASSed.


Add battleforthenet.com to message

This website hadn't been mentioned yet.

Awesome, thanks for adding that.


create client interface and add test

Pull Request Test Coverage Report for Build 744230714

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

Totals

Change from base Build 725199992:
0.03%

Covered Lines:
2159

Relevant Lines:
2562

💛  - Coveralls


Matthek triangle method for fast optimization of edges in mechanics and fluid simulation

See matthek triangle method is an extraction of nature forms by trees.
in german
https://publikationen.bibliothek.kit.edu/220072961/3815308
with this method a fast first optimization of edges in solid and fluid is possible.
it is a part of Matthek bionic concepts.
more see
https://mattheck.de/
https://mattheck.de/1poster01.htm
Perhaps a fast fine detail to improve the actual optimization algorithm of meshes in calculations with large stresses or dead edge zones with pressure loss in fluid.

This is a fast solution to gradient based problems in optimization.
With this solution a better start in topology optimization is guaranteed with faster results and less computation time and less energy consumption.
Dear Prof.  Dr. Matthek, not every understands Bionik and your great idea and genius.


Build fails on OSX.

/Users/tyoverby/.cargo/git/checkouts/glutin-666c1766c69e6584/master/src/cocoa/mod.rs:182:17: 182:118 error: unresolved name `NSEvent::otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2`
/Users/tyoverby/.cargo/git/checkouts/glutin-666c1766c69e6584/master/src/cocoa/mod.rs:182                 NSEvent::otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2(
                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error

cc @bjz @glennw
I have no idea what this error is.

That function changed in this commit: https://github.com/servo/rust-cocoa/commit/78509d02d8cc29bc33ab9d06ca54a6c24ea3c532
It appears that a bunch of parameters became more strongly typed.

I will fix this now.

I was going to do it on the train to/from work, but I forgot to update my Rust before hand :(


Can’t get imagePosition to work

I want images to be aligned to the top,
but specifying imagePosition as an option does not seem to have any effect:
http://michiel.schr.fr/lte/natural-symbolism/
I had the problem in Galleria 1.2.4 and in the latest version from Github still.
This is the code I use to initialise:
    defaults: {
        transition: 'fade',
        thumbCrop:  'height',
        thumbnails: false,
        showCounter: true,
        // this doesn’t seem to work:
        imagePosition: '0% 0%',
        _toggleInfo: false
    },

all js for my theme, based on the classic theme:
http://michiel.schr.fr/ndxz-studio/site/michielpijpe/galleria.michiel.js
I tried other keyword combinations as well…
Thanks,
Eric

just a ping—is this a known problem? are there any examples out there where the images are vertically aligned to the top?

Is this still active?

Yes it is! Never found a solution…

Could you please update your link or any other example of a manifest of the error?

I don’t know if this is still bugging you, but you need to add "top" to the image alignment, not "left" as you have on the site.


Map PHMSA Natural Gas Transmission Part M columns

Overview
Closes #3263.
What problem does this address?
What did you change?
Testing
How did you make sure this worked? How can a reviewer verify this?
# To-do list
- [ ] Make sure full ETL runs & `make pytest-integration-full` passes locally
- [ ] For major data coverage & analysis changes, [run data validation tests](https://catalystcoop-pudl.readthedocs.io/en/latest/dev/testing.html#data-validation)
- [ ] If updating analyses or data processing functions: make sure to update or write data validation tests
- [ ] Update the [release notes](../docs/release_notes.rst): reference the PR and related issues.
- [ ] Review the PR yourself and call out any questions or issues you have

@e-belfer do you know that class 3 & 4 are always non-mca/non-hca? Or is it a square and rectangle thing? I tried to read about it and couldn't find a clear a == b although they are clearly related - in that they are about how important/regulated the land is where the infrastructure is located. But this part M has class 1 & 2/non-mca/non-hca.

Seems like operators can either 1) blanket define all Class 3&4 locations as HCAs, or use a formula provided by PHMSA (which would explain the existence of non-MCA/HCA Class 3&4 locations. Class 1 & 2 locations could also be HCAs or MCAs if they meet the criteria (which I think essentially boils down to "many human lives but slightly further away from the pipeline than would the criteria for a Class 3/4". (Source is p.8 here: https://www.phmsa.dot.gov/sites/phmsa.dot.gov/files/docs/technical-resources/pipeline/gas-transmission-integrity-management/62271/faqsgas-transmission-integrity-management201904.pdf)

or @e-belfer is your suggestion that we use other in place of my vv long nonhca_nonmca? that feels good and fine to me. conflating the classes and high/mid consequence areas feels less clear to me.

or @e-belfer is your suggestion that we use other in place of my vv long nonhca_nonmca? that feels good and fine to me. conflating the classes and high/mid consequence areas feels less clear to me.

Yes using "other" instead of "nonhca_nonmca" is my suggestion, I would definitely not conflate the classes and MCA/HCA.


format of number: no decimals for thousands

maybe it is easier to read if we skip the decimal when rounding to thousands
114,2 Tsd TJ => 114 Tsd TJ

good point but when its 1,4 Tsd it's a big difference to just 1 Tsd

I had another issue about the 1 Tsd. numbers, I will close it so we can talk about it here. My idea was to keep the normal number if the number is below 9999. Because 1,1 Tsd. is a maybe harder to read?
1,4 Tsd => 1410
10,6 Tsd => 11 Tsd


Configure AC parameters

Hi! Thanks for the plug-in!
im able to turn on and off and control de AC Mode, but can’t set specific temperature, is this posible through parameters specifications? Do you have an example config of this?
Thanks!!!

Is your device added as AC...if yes, temperature setting is handled by Home app. Can you please share more details if it's not working?

Hi I made it work a few days after..
but what I haven’t worked around yet is, I Have Smart iR controls with temperature and humidity, the HomeKit doesn’t read the device, but it does read the AC and the TV.. is there something different for those? I bought them in China, so I figure it might not be that common for it to be developed..
Thanks!!!

Humidifier are not supported for statuses.


vectraxdr

Name of the app
vectraxdr
Integration
splunksoar
About
Using Splunk SOAR, the Vectra XDR App enables the security operations team to consume the industry's richest threat signals spanning public cloud, SaaS, identity and data center networks and take appropriate action whether automated, semi-automated, or manual
Thank you for contributing to Splunk SOAR!

Repo is created at: https://github.com/splunk-soar-connectors/vectraxdr


Changed Location model to adapt to updated API

Now https://randomuser.me/api/ answers street as object, not String.

Thank you for your PR.


Enter Key Not Work After Restarting Kernel

My environment is:
Windows 10 64-bit build 10586
Python 3.5.2 | Anaconda custom (64-bit)
IPython 5.0.0
Spyder 2.3.8
I found a problem in Spyder IPython console: if you restart the IPython kernel of the Spyder console window by e.g., Ctrl+., then you will not able to run Python code by pressing Enter key in the console. Please fix this bug.

Thanks for your report. This problem is already know, as you can see in #2696. It will be fixed in the next release.


Fix pkg_tar directory entries

Directories appear to work for zip files but not tar files.
This should ensure we don't try to process directories as normal files.
Fixes issues like:
rules_pkg/pkg/private/tar/tar_writer.py", line 242, in add_file
    with open(file_content, 'rb') as f:
IsADirectoryError: [Errno 21] Is a directory: 'bazel-out/darwin-fastbuild/bin/py/selenium/webdriver/common/devtools/v106'

This PR works well, I've got it in the Selenium tree for now.

Could you provide test cases for this?
If this is supporting what I think it is (passing in directory labels that are not TreeArtifacts), I am hesitant to support this any further, as is not a best practice.  @aiuto may have a differing opinion.
Please correct me if I'm wrong, but the relevant code in the Selenium tree is a genrule that looks to be emitting a directory, which is unfortunately unsound (the documentation's words, not mine) and IIRC Bazel emits a warning saying something to this point.  This IMO should instead be a first-class rule that emits a TreeArtifact (via ctx.actions.declare_directory, if you didn't already know).

Maybe, but that case should be working already.


filtering improvements

+1. Works great for me (over branch v-0-4-0)

@antillas21 If you have any chance to look this. please review this request, Could we accept this request on 0.4 verion?

@mebezac

finally I have finished this request which contains changes as:

code refactoring
supporting RMI 1.9.3-2.3.0
released sorting and searching functions - now supports multi sorting and searching.
fixed and updated specs
updated readme
updated sample project

@antillas21 It will be nice If you have any change to look this changes

https://github.com/antillas21/ajax-datatables-rails/pull/118

@antillas21 Hey, could we merge this request into?


learn to simulate

I am trying to train a model using the fallowing command :
 python3.6 -m learning_to_simulate.train --data_path=./learning_to_simulate/tmp/datasets/WaterDrop/ --model_path=./learning_to_simulate/tmp/models/WaterDrop
and I get the fallowing error :
2022-11-10 13:53:37.015640: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 37778160 exceeds 10% of system memory.
2022-11-10 13:53:37.084779: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLAS routine: CUBLAS_STATUS_EXECUTION_FAILED
Traceback (most recent call last):
File "/home/soheilsh/anaconda3/envs/simulate/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1365, in _do_call
return fn(*args)
File "/home/soheilsh/anaconda3/envs/simulate/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1350, in _run_fn
target_list, run_metadata)
File "/home/soheilsh/anaconda3/envs/simulate/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1443, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InternalError: 2 root error(s) found.
(0) Internal: Blas GEMM launch failed : a.shape=(1356, 30), b.shape=(30, 128), m=1356, n=128, k=30
[[{{node EncodeProcessDecode/graph_independent/node_model/sequential/mlp/linear_0/MatMul}}]]
(1) Internal: Blas GEMM launch failed : a.shape=(1356, 30), b.shape=(30, 128), m=1356, n=128, k=30
[[{{node EncodeProcessDecode/graph_independent/node_model/sequential/mlp/linear_0/MatMul}}]]
[[truediv_4/_4847]]
0 successful operations.
0 derived errors ignored.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "anaconda3/envs/simulate/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
...
GPU : NVIDIA GeForce RTX 3060 Laptop
How can I solve this problem ?
Many thanks in advance for your response :)

So, apparently there is a problem with tensorflow and nvidia 30 series GPUs.
Im training the model with the same parameters  in another environment with tensorflow-cpu==1.15 and it works fine
Though I still dont know how to solve the mentioned problem with tensorflow-gpu

https://www.pugetsystems.com/labs/hpc/How-To-Install-TensorFlow-1-15-for-NVIDIA-RTX30-GPUs-without-docker-or-CUDA-install-2005/#Installing_NVIDIAs_build_of_TensorFlow_115_in_a_conda_env


server side slider component

I have a question about implementation details of a slider component. Let say i have a code like

Credit Card Debt			@ApplyFormModel.Debt.ToString("C")	       <input type="range" min="0" max="30000" step="1000" id="creditCardDebt"                  class="form-control"<EMAIL_ADDRESS>@bind:event="oninput" />

So when using Blazor server side every time i move a slider to another position i see a request to the server. Could it be a potential performance issue? Any best practices on how to implement such use case in a different manner? Thanks!

If you use JavaScript it will run in the browser, you could then have it call a SetValue method on your control either when you finish adjusting the scroller, or you could call it on every change but debounce it to keep the number of calls low.

thanks for your response! what i don't quite understand then is what is difference between my example and a standard Blazor Counter example? Counter example doesn't generate server side roundtrips in order to update the UI. Could the reason be because i have my range input inside EditForm tag?

thanks for your response! what i don't quite understand then is what is difference between my example and a standard Blazor Counter example? Counter example doesn't generate server side roundtrips in order to update the UI. Could the reason be because i have my range input inside EditForm tag?

If it is a server-side Blazor app then it absolutely does send an event to the server and receive updated HTML.
If you install the latest version of FireFox (version 72), open developer tools (F12), look in the Network tab, then reload your page, you'll see an item in the list with a response code 101. Click that, then look for the 'WS' option where the formats are listed, then click the Messages tab on the very right.
You'll now be able to watch messages out / in.

yes, i do see 101 when page loads for the first time. but after that when i click a button and counter increases there are no new networks requests.

i am sorry, my bad, i do see messages.

i am sorry, my bad, i do see messages.

The 101 connection remains open. Messages are exchanged via that.

The 101 is the WebSocket connection being used by SignalR to communicate back and forth.

I know this is not related but maybe you can point me to the right direction. Let say i have a long form, and after validation i want to show summary of all errors above the form like:
@if (ShowErrors)
{

@foreach (var error in Errors)
{
@error
}

}
The problem is because the form is really long one, errors div is not in a scroll view, so i want to scroll screen up to that div #errors. I can easily run via JS interop
var element = document.getElementById(elementId);
element.scrollIntoView();
my problem is i don't know when Blazor finished updating a DOM and rendering #errors div, so i call scrollIntoView too early which obviously scrolls to the wrong position. Any way i can catch an event when Blazor finishes DOM update?
Thanks!

@mselinger75 if the errors you want to display are related to the form data entry. I would rather use data annotations. You get a better UX, like:

Displaying error messages below the element it belongs to.
Error messages and elements are styled red.
In the same token, valid entries are styled green.
If you want to try it, just change your form to EditForm. Your input to InputText -there are more-. Don't forget to add <DataAnnotations /> to the end but before closing the EditForm. For more details check this out https://github.com/dotnet-presentations/blazor-workshop/blob/master/docs/05-checkout-with-validation.md#capturing-the-delivery-address

@yopez83 thanks for the response. the problem is i can't use data annotations for validation because i have a complex validation rules which makes calls to SQL database. That's why i prefer to use FluentValidation package and display error messages then.


Enforce pointer cardinality statically in mutations

Make sure we actually raise a cardinality assertion error when an
expression to the right of := in mutations violates the declared
pointer cardinality.
Fixes: #2827

Oh, lol, indeed.


Add d3.mean.

Uses Welford's algorithm to avoid overflow.
See #245.

Added missing src/core/mean.js.

Thanks!


Control logging through options.logging param

This PR introduces optional options param to deployForEnv function changing its signature to:
/**
 * Deploy to a single environment
 * @param {object} deployConfig object containing deploy configs for all environments
 * @param {string} env the name of the environment to deploy to
 * @param {array} args custom deploy command-line arguments
 * @param {object} [options={}] deploy options
 * @param {boolean|function} [options.logging=console.log] logging function or `false` to disable logging
 * @param {DeployCallback} cb done callback
 * @returns {boolean} return value is always `false`
 */
function deployForEnv(deployConfig, env, args, options, cb) { ... }

(It is an optional param, so there is no fear in breaking existing usage pattern which will simply default to console.log as expected.)
This enables control of logging behavior from outside instead of hardcoding console.log calls 🔧

update


replace loading bar on turn transition screen

The current css-based loading bar works on chrome but not firefox (and I haven't tested it on Safari).
Additionally, I would prefer a looping animation rather than a bar so that the loading animation is not dependent on a specific delay time.

assign me

completed by PR #34 (despite that PR's name not mentioning it, since feature branches got mixed up)


types file for roads

@dashron would you include the declarations types for typescript? If you want I can do it in DefinitelyTyped

Hey! Thanks for the interest in roads. I don't use typescript, but I'm happy to accept PRs to make it easier for anyone who does!
I recommend working off of the alpha version in master. I have a couple of minor tweaks, and a handful of unit tests left before it becomes public, but it's a stable, more robust framework.

ok then I will work in it and I will think what is the best way, or create the types definitions in this repository directly or in DefinitelyTyped. I have one question. Is the same way to integrate roads in express like in Koa.js?
var road = ...; // See steps 1 and 2 for road construction
var app = express();
app.use(roads.integrations.express(road));
app.listen(8080);

Unfortunately I only have a koa integration right now (https://github.com/Dashron/roads/blob/master/src/integrations/koa.js). At the time of writing the first version of node generators & promises were so new that I was running into weirdness with express.
I might have time to hack together an express version of the koa integration tonight.
You can also use this http server: https://github.com/Dashron/roads/blob/master/src/httpServer.js and bypass express entirely. Here's an example.
let roads = require('roads');
let road = ...; // See steps 1 and 2 for road construction
let server = new roads.Server(road);
server.listen(8080);

Ok I see that there is intention to integrate in express 👍

I just pushed up an untested express integration to the latest alpha: https://github.com/Dashron/roads/blob/master/src/integrations/express.js.
it's very untested, but I grabbed all the right variable names, and it compiles haha.
I'll be taking the latest version out of alpha once I figure out what is wrong with the browserify pjax build, and write up a test for this new express integration.
It should work like your example above,
app.use(roads.integrations.express(road));

Ok cool @Dashron. I'm working with the types such as you can see here https://github.com/dancespiele/roads/blob/types/index.d.ts . I don't know if you are interesting in some docs generator , I can prepare typedocs such as I do in my projects (ex. https://github.com/spieljs/spiel-client).

Please I need that you specify what arguments in every methods are require and what optional

Do you have a preferred way for me to do that? I would love to just annotate the code if that works for you.

I don't have preferred way. It is fine for me that you annotate the code

I just pushed up full jsdoc compatibility. optional params have their name wrapped in brackets, eg: https://github.com/Dashron/roads/blob/master/src/road.js#L78

About this issues I have already created a PR https://github.com/Dashron/roads/pull/63. It includes all the types for typescript.

I'm thinking in put the types in https://github.com/DefinitelyTyped/DefinitelyTyped because of this I close the pull request. I think that could be more cleaner for this project

:+1: sounds great.

I made a PR already, I need that they approve it https://github.com/DefinitelyTyped/DefinitelyTyped/pull/23832

Finally the types is merged and available to use and it works :) https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/roads


[connect-web] Improved error handling for errors thrown by fetch

Hi all,
first of all thank you for making this library. We recently switched to it and it's been a huge DX improvement 👍
Is your feature request related to a problem? Please describe.
I'm using createGrpcWebTransport from connect-web to create a promise client for our gRPC web backend. Any error thrown by fetch calls is wrapped in a ConnectError with Code.Unknown and no reason set.
For me, these errors are almost all related to a user being offline when the call is made or going offline while a stream is open. I'd like to turn them into domain-specific errors that can be handled by application logic. This is hard to do for errors with Code.Unknown, since they can also be thrown for other unrelated reasons that I don't want to mask.
Describe the solution you'd like
I'd like the errors thrown by fetch to be differentiable from other unkown errors in some way. For me using Code.Unavailable would work, however I could see that being problematic since not all errors from fetch are technically related to availability.
Alternatively I could see setting the reason property or indicating the error source in some other way.
Describe alternatives you've considered
I considered string matching on the error message. But this is just the message of the underlying fetch error, which varies across browsers, making this feel very brittle
For now I'm using the workaround of passing a custom fetch function to createGrpcWebTransport. This function wraps errors from fetch and turns them into a ConnectError with Code.Unavailable as follows:
async function fetchWithConnectErrors(...args: Parameters<typeof fetch>): ReturnType<typeof fetch> {
  // handle errors during the fetch call itself
  let response;
  try {
    response = await fetch(...args);
  } catch (e) {
    if (e instanceof TypeError) {
      throw new ConnectError('Fetch error', Code.Unavailable, undefined, undefined, e);
    }
    throw e;
  }

  if (!response.body) {
    return response;
  }

  const reader = response.body?.getReader();

  // Handle errors during the response's body stream. This is needed for stream calls where the body
  // continues after the fetch already has completed
  const wrappedStream = new ReadableStream<Uint8Array>({
    start(controller) {
      async function push() {
        try {
          while (true) {
            // Read from the stream
            const { done, value } = await reader.read();
            // Exit if we're done
            if (done) {
              controller.close();
            }
            // Else yield the chunk
            controller.enqueue(value);
          }
        } catch (e) {
          if (e instanceof TypeError) {
            controller.error(
              new ConnectError('Fetch error', Code.Unavailable, undefined, undefined, e),
            );
          }
          controller.error(e);
        } finally {
          reader.releaseLock();
        }
      }

      push().catch(reportError);
    },
  });

  const wrappedResponse = new Response(wrappedStream, {
    status: response.status,
    statusText: response.statusText,
    headers: response.headers,
  });
  return wrappedResponse;
}

Hey Tilman, I wish we could raise Code.InvalidArgument in case of an invalid request header or baseUrl, Code.Unavailable for an unreachable host, Code.PermissionDenied for a failed CORS preflight request, and so on.
But with the current fetch API, we would have to string match for many different browsers, and we would still not be able to differentiate properly because "Failed to fetch" is often the only information that Chrome gives us.
Because we don't really know the cause, errors are wrapped with new ConnectError(String(reason), Code.Unknown) (source).  This has the advantage that the type and message of the original error is available on the first line. We can't really use Code.Unavailable here because it means that clients should back off and retry if they want to, and we wouldn't want that to happen for a failed CORS preflight.
Do you think it would be an improvement for your use case to be able to distinguish an error sent by the server from an error raised by the client itself? It's a common problem, see https://github.com/bufbuild/connect-go/issues/222 and https://github.com/bufbuild/connect-go/pull/374.
Specifically for browser going offline, you can make use of navigator.online, or the Network Information API if available.

Thank you for the fast and comprehensive response!

Hey Tilman, I wish we could raise Code.InvalidArgument in case of an invalid request header or baseUrl, Code.Unavailable for an unreachable host, Code.PermissionDenied for a failed CORS preflight request, and so on.
But with the current fetch API, we would have to string match for many different browsers, and we would still not be able to differentiate properly because "Failed to fetch" is often the only information that Chrome gives us.

That would in fact be awesome. Having tried the string matching route myself I understand that it's sadly not feasible to do.

Because we don't really know the cause, errors are wrapped with new ConnectError(String(reason), Code.Unknown) (source).

It would be nice to also have the original error as the cause via ConnectError(String(reason), Code.Unknown, undefined, undefined, reason). That would allow me to inspect it and treat a TypeError that probably originates from fetch differently from other client errors.

Do you think it would be an improvement for your use case to be able to distinguish an error sent by the server from an error raised by the client itself? It's a common problem, see https://github.com/bufbuild/connect-go/issues/222 and https://github.com/bufbuild/connect-go/pull/374.

That would be helpful for sure, but probably not enough for my use case.
To go into a little more detail: This came up due to an error during protobuf serialization, where were passing malformed data into a service (with a cast that masked the typescript error). The resulting error is also an Unknown error and I would also consider it a client error.
In my case it would help to be able to differentiate the layer in the client that was causing the error (e.g. its this a transport error or a serialization error). I'm not sure thats something that makes sense for this project as a whole since it's basically a workaround for the bad fetch error API design.

Specifically for browser going offline, you can make use of navigator.online, or the Network Information API if available.

Thank you for the pointer, I'll look into it. I anticipate that I'll still need to handle errors from fetch, since they could also happen when the user is only but the backend is temporarily offline.

In my case it would help to be able to differentiate the layer in the client that was causing the error

I understand that this can be helpful, but it adds quite a bit of complexity to the transports we want to keep as simple and small as possible - for small bundle size, but also because fetch is often polyfilled.

It would be nice to also have the original error as the cause

We have been considering this early on. This is reasonable, let's do it.

Thank you for the speed fix 👍

The improvement to ConnectError.from was released in v0.12.0. The cause property should contain the original fetch error now.


heterogeneity/loh.h: SyntaxWarning: "is not" with a literal. Did you mean "!="?

This warning popped up while testing the Debian package.

Thank you!


Add support for background color style on a token when highlighting with Rouge

Add support for background color on a token when highlighting source using Rouge.
Example:
style Error, fg: '#a61717', bg: '#e3d2d2'

Additionally, add the following controls:

background color can fill the whole line height (inline_block: true) or just the text height (default)
background color can extend to the end of the line when the fragment is line-oriented (extend: true)

Resolved by 65e5e0136f44a320d22379266397b4c9abfab6db.


nameAlreadyExists: Name already exists when retrieving metadata of file

Category

[ ] Question
[ ] Documentation issue
[X] Bug

Expected or Desired Behavior
Retrieving meta data of a file does not fail.
Observed Behavior
Sometimes, calling this API fails:
GET https://graph.microsoft.com/v1.0/me/drive/special/approot:/my_file:?select=fileSystemInfo
with error: nameAlreadyExists: Name already exists
Why is this happening and can it be fixed?

The error occurs not only when retrieving meta data of file, but even when attempting to download a file


Apply GBM gain correction to files

The gain correction in the RSPs must be applied to the GBM LUT

This is handled with ground processing automatically.


Assertion failed 'assertion failed: path.is_dir()', loda-rust-cli\src\config\config.rs:193:9 when using "C:/Users/frolo/loda/programs/patterns/" as patterns directory instead of "E:/git/loda-patterns"

It happens when i run loda-rust pattern

Try create this dir the C:/Users/frolo/loda/programs/patterns/simple_constant dir, where the dirname is simple_constant.
Ideally the loda-rust pattern subcommand should create all the dirs needed. PR is welcome.

I created C:/Users/frolo/loda/programs/patterns/simple_constant
now it fails with  [2023-07-17T19:58:03Z ERROR loda_rust::subcommand_pattern] Expected 1 or more similarity csv files, but there are none to analyze

If you do this:

copy all the content from "E:/git/loda-patterns" to "C:/Users/frolo/loda/programs/patterns/".
run loda-rust pattern

Does this work?


too heavy , slow compile

don't compile it , . its take 5 or 6 day to compile on cori-7 8th gen CPU with GTX 1080 and SSD.

Try to add the       flag
You should see the following output


Startrails not visible when Not using Autogain

I have an RPiHQ Camera on a Pi4 and 256Gb SD Card.
Everything has been working brilliantly for weeks, but I had been using AutoGain for the majority of the time, and about a week ago decided to change to Manual Gain and set it at 6, with 20s exposure.  This then brings out the Milky Way a bit more than what AutoGain was doing.
TImelapses were brilliant, Star trails (When clouds weren't overwhelming) were decent...
HOWEVER NOW with Autogain off I find 2 issues.  All the Midnight to Dawn images are quite blue (when cloud covered - yet previously with AutoGain the clouds would show white.) - Also when completely clouded over at night previously with Autogain you could at least see the clouds -not it is just a blown out mess looking more like the sky is exploding...
Perhaps more annoying than that though - the Star trails when generated show no stars at all.  In fact as the Moon is currently out it is showing the Moon almost looking like Jupiter instead, and nothing else.
Compare on this playlist I created for my videos:
https://youtube.com/playlist?list=PLjatLMrmD9OGuYtlDxAPr35vbWyBrao1f
In this one here for instance - this is Pre Gain changes:
https://youtu.be/dHc9he7WsJY
And this is afterwards
https://youtu.be/Mk7G_oqAvWg
Any thoughts appreciated.

@itsgps,
Just so I understand, with Autogain OFF the post-midnight images with clouds are blue, but with Autogain ON they aren't?
Did you change ANYTHING between when it was working correctly and when it wasn't, other than Autogain and Manual Gain?  If not, have you tried putting the settings back to when it was working fine?
Things to try:

If you're not running version 0.8, please upgrade.
Make the font size a LOT bigger so I can view it on-line.  Default is 32.  Try 100.
With auto gain OFF, try only changing the gain, from 1 to 16.


Added UUID support

Changed the TypedDag::Sql::RelationAccess to add support for nodes using UUIDs. The fix is to simply wrap the IDs in the generated SQL query with single quotes if the field is of type :uuid.
I tested in an application that I am developing that uses UUIDs.

Thanks, @aaronsama . I'd like @ulferts to take a look on this, who's currently on vacation. We will get back to you

Sorry, missed the PR. I'll merge it but it would be good to have tests for the added behaviour so that I do not accidentally break it in the future.


Minor fixes (Ruby Next compatibility)

Hey @kddnewton,
Thanks for your on Prism and this translator!
I've started experimenting with it in Ruby Next and encountered several minor issues (fixed in this PR, also see comments).

There are still some problems left in my build (see https://github.com/ruby-next/ruby-next/actions/workflows/ruby-prism-test.yml):

Rationals with hex/binary values are not supported:

Parser::Prism.parse("0xffr")

/opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.18.0/lib/prism/node_ext.rb:55:in `Rational': invalid value for convert(): "0xff" (ArgumentError)

      Rational(slice.chomp("r"))
               ^^^^^^^^^^^^^^^^
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.18.0/lib/prism/node_ext.rb:55:in `value'
        from /Users/palkan/dev/parser-prism/lib/parser/prism/compiler.rb:1223:in `visit_rational_node'

Nil keyword pattern (**nil) is missing location information:

Parser::Prism.parse('case i
        in **nil
        else
          true
        end'
)

/opt/homebrew/lib/ruby/gems/3.2.0/gems/parser-<IP_ADDRESS>/lib/parser/source/range.rb:211:in `join': undefined method `begin_pos' for nil:NilClass (NoMethodError)

            [@begin_pos, other.begin_pos].min,
                              ^^^^^^^^^^
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/parser-<IP_ADDRESS>/lib/parser/builders/default.rb:2115:in `keyword_map'
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/parser-<IP_ADDRESS>/lib/parser/builders/default.rb:1484:in `in_pattern'
        from /Users/palkan/dev/parser-prism/lib/parser/prism/compiler.rb:760:in `visit_in_node'
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.18.0/lib/prism/node.rb:7876:in `accept'
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.18.0/lib/prism/compiler.rb:34:in `block in visit_all'
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.18.0/lib/prism/compiler.rb:34:in `map'
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.18.0/lib/prism/compiler.rb:34:in `visit_all'
        from /Users/palkan/dev/parser-prism/lib/parser/prism/compiler.rb:308:in `visit_case_match_node'

Here args.last.loc.expression is nil: https://github.com/ruby-next/parser/blob/0af323526e73b3e8319e856863666e70f57838e0/lib/parser/builders/default.rb#L2117

Hey @palkan thanks for checking it out! I'll review this today and get back to you

Oh gosh I completely lost track of this PR. I'm sorry! I'll review today!

Hey @palkan -
So I've pushed fixes for the rational thing (this turned out to be a bug in the prism Ruby API) and the **nil thing (this was a bug in this compiler). I've also pushed a fix for the Prism.parse options.
The other thing in this PR appears to be related to hash key/value pairs. Could you point me to a snippet that does that? I'm not sure I understand it.

Hey! Thanks for the updates. I checked it (see the latest build, I now run CI against your main branch), and here is what we have now:

The ArgumentError: invalid value for convert(): "0xff" is still there (Prism 0.19, Ruby 3.2).

This change fixes parsing the following code:

case {a: 1}
in {"a" => 1}
end

Currently fails with:
/Users/palkan/dev/parser-prism/lib/parser/prism/compiler.rb:88:in `visit_assoc_node': undefined method `parts' for @ StringNode (location: (2,16)-(2,19)) (NoMethodError)
├── flags: ∅
├── opening_loc: (2,16)-(2,17) = "\""
├── content_loc: (2,17)-(2,18) = "a"
├── closing_loc: (2,18)-(2,19) = "\""
└── unescaped: "a"
:Prism::StringNode

            visit_all(node.key.parts)
                              ^^^^^^
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.19.0/lib/prism/node.rb:864:in `accept'
        from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.19.0/lib/prism/compiler.rb:34:in `block in visit_all'

The following pattern matching code fails:

case [0, 1, 2, 3]
  in [0, 1,] # <---- trailing comma is the cause
    true
 end

with
/Users/palkan/dev/parser-prism/lib/parser/prism/compiler.rb:763:in `visit_implicit_rest_node': Cannot compile implicit rest nodes (Prism::ParserCompiler::CompilationError)
       from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.19.0/lib/prism/node.rb:8058:in `accept'
       from /opt/homebrew/lib/ruby/gems/3.2.0/gems/prism-0.19.0/lib/prism/compiler.rb:34:in `block in visit_all'

Great, thanks for the response.

Ahh shoot, this was fixed in prism main but not parser-prism main. I need to release a new version of prism, then this will be fixed.
Interesting. That's actually invalid code, but it looks like we're not raising syntax errors at all. Whoops! I'll make it so that we properly raise syntax errors in the way parser expects.
Oh no! I'll get that fixed.

Interesting. That's actually invalid code...

Yeah; I guess, that's what this change was for: https://github.com/kddnewton/parser-prism/pull/7/files#diff-4e7038ac7082a00aeeabcd6f11ffb2494661b7274c9d6bc3f3a257e91a821daaR90

Hey @palkan — over the weekend I merged this work into prism itself. You can see the doc here: https://github.com/ruby/prism/blob/main/docs/parser_translation.md. I've fixed all 3 of these issues over there. Could you give it a shot over there?

Hey @kddnewton! Cool!
I checked locally and see the following issue with find patterns:
# parsing the following code:
#
#   case x; in [*, 1, *]; true; else; false; end

/Users/palkan/dev/prism/lib/prism/translation/parser/compiler.rb:616:in `visit_find_pattern_node': undefined method `rest' for @ FindPatternNode (location: (1,11)-(1,20)) (NoMethodError)
├── constant: ∅
├── left:
│   @ SplatNode (location: (1,12)-(1,13))
│   ├── operator_loc: (1,12)-(1,13) = "*"
│   └── expression: ∅
├── requireds: (length: 1)
│   └── @ IntegerNode (location: (1,15)-(1,16))
│       └── flags: decimal
├── right:
│   @ SplatNode (location: (1,18)-(1,19))
│   ├── operator_loc: (1,18)-(1,19) = "*"
│   └── expression: ∅
├── opening_loc: (1,11)-(1,12) = "["
└── closing_loc: (1,19)-(1,20) = "]"
:Prism::FindPatternNode

          elements << node.rest if !node.rest.nil? && !node.rest.is_a?(ImplicitRestNode)
                                        ^^^^^
        from /Users/palkan/dev/prism/lib/prism/node.rb:6268:in `accept'
        from /Users/palkan/dev/prism/lib/prism/translation/parser/compiler.rb:821:in `block in visit_in_node'
        from /Users/palkan/dev/prism/lib/prism/translation/parser/compiler.rb:1806:in `within_pattern'
        from /Users/palkan/dev/prism/lib/prism/translation/parser/compiler.rb:821:in `visit_in_node'
        from /Users/palkan/dev/prism/lib/prism/node.rb:8311:in `accept'

With Parser, I get this AST:
(case-match
  (send nil :x)
  (in-pattern
    (find-pattern
      (match-rest)
      (int 1)
      (match-rest)) nil
    (true))
  (false))

Also, I found that parsing it differs (I guess, Prism follows Ruby 3.4 spec, so that's fine):
PRISM=true bin/parse '-> { it }.call("a")'

(send
  (block
    (lambda)
    (args)
    (lvar :"0it")) :call
  (str "a"))

bin/parse '-> { it }.call("a")'

(send
  (block
    (lambda)
    (args)
    (send nil :it)) :call
  (str "a"))

That's fine, I can adjust my code. However, there is another problem with using Prism: it disallows me to use _1, etc. in assignments:
/Users/palkan/dev/prism/lib/prism/translation/parser.rb:105:in `unwrap': _1 is reserved for numbered parameters (SyntaxError)

I need this to support numparams in Ruby <2.7 (where using _N is legal); for Parser, I just disable the check in the builder class: https://github.com/ruby-next/ruby-next/blob/4e24bd856f3bb57eac9500d46db9f06f47e0a67b/lib/ruby-next/language/parser.rb#L30
Is there a similar workaround for Prism?

Hey @palkan —
Ahh that's unfortunate. I've fixed the find pattern bug. It turns out the fixture we have for pattern matching has something the parser gem doesn't support (_1 being pinned) so the whole thing was being ignored. That's all fixed now.
For the it local variable you can pass a version to Prism.parse (though we need to wire it through the parser class). I think we should probably do that, because it will allow you to turn that off.
For the numbered parameter write, it's a little more difficult. We don't really have a way to turn that off. I've added a hook at the Ruby layer in https://github.com/ruby/prism/pull/2335 where you could inherit from the parser class and then define a custom valid_error? method. You could use it to reject those errors by checking the message/location. It's not a great solution, but hopefully that works for your use case?

Thanks! I think, the valid_error? could do the trick; will try. Right now I'm facing this (using the current main):
$ RUBY_NEXT_PROPOSED=0 PRISM=true be bin/parse '-> { _1 }.call("a")'

bundler: failed to load command: bin/parse (bin/parse)
/Users/palkan/dev/prism/lib/prism/translation/parser/compiler.rb:1011:in `visit_lambda_node': undefined method `parameters' for @ NumberedParametersNode (location: (1,0)-(1,9)) (NoMethodError)
└── maximum: 1
:Prism::NumberedParametersNode

            node.body&.accept(copy_compiler(forwarding: find_forwarding(node.parameters&.parameters))),
                                                                                ^^^^^^^^^^^^
        from /Users/palkan/dev/prism/lib/prism/node.rb:10836:in `accept'
        from /Users/palkan/dev/prism/lib/prism/compiler.rb:29:in `visit'
        from /Users/palkan/dev/prism/lib/prism/translation/parser/compiler.rb:283:in `visit_call_node'
        from /Users/palkan/dev/prism/lib/prism/node.rb:2308:in `accept'
        from /Users/palkan/dev/prism/lib/prism/compiler.rb:34:in `block in visit_all'
        from /Users/palkan/dev/prism/lib/prism/compiler.rb:34:in `map'
        from /Users/palkan/dev/prism/lib/prism/compiler.rb:34:in `visit_all'

@palkan oh man — thank you for your patience. I just merged a fix for this, could you try main on prism now?

Thanks! This issue is fixed now and the #valid_error? does the tick for it. We're almost there 🙂
Found another difference in parsing pattern matching:
$ be bin/parse '
case _
  in "a":
 end'

(case-match
  (send nil :_)
  (in-pattern
    (hash-pattern
      (match-var :a)) nil nil) nil)

$ PRISM=true be bin/parse '
case _
  in "a":
 end'

(case-match
  (send nil :_)
  (in-pattern
    (hash-pattern
      (pair
        (sym :"\"a\"")
        (const nil :"\"a\""))) nil nil) nil)

Parser uses a special node for hash pattern pairs (match-var), while Prism treats them similarly to regular hashes (pair).
That's true not only for string-like keys but for in a: as well.
Is it intentional or a bug? It fails for me because I use pair nodes to perform shorthand Hash syntax transpiling.

That was a bug — should be fixed now. Can you try main again?

It's green 🎉! https://github.com/ruby-next/ruby-next/actions/runs/7761821014/job/21171037498

@palkan I just released v0.21.0 that you should be able to use. I'll close this ticket for now, because I'm going to deprecate this gem.


Cross-chain trade settlement

Cross-chain settlement will be essential for dealing with assets originating on other chains and interfacing between local instances of the Anoma protocol.
There are several methods, which are not mutually exclusive, but a single method will likely make most sense for a class of use-cases.

First method: transfer-to-Anoma

Advantage: efficient (once transferred)
Disadvantage: users must transfer assets
Steps

Transfer assets over IBC
Trade on Anoma chain
Transfer assets back (if desired) once trading complete

Second method: lock-to-Anoma-chain

Advantage: more efficient, generalised
Disadvantage: users must lock assets
Steps

Verify state of other chains on Anoma
Only Anoma chain can now change state
Atomically execute Anoma order to change state on Anoma chain
Relay proofs to other chains
Other chains can now change state
Anoma chain prevents double-spending conflicting orders

Third method: optimistic concurrency

Advantage: users need not lock assets
Disadvantage: less efficient, requires escrow step
Steps

Verify state of other chains on Anoma
State of other chains can be changed (e.g. by users)
Execute Anoma order, relay state changes
Wait for proof of asset escrow
If timeout, proof of escrow revert, relay to other chains
If escrow successful, Anoma chain finalises order
Assume eventual liveness

┆Issue is synchronized with this Asana task by Unito

Closing in favour of https://github.com/heliaxdev/spec/issues/37.


Performance on 300+ elements

This is my template for my slide item (made up data):

  desc
  12345

This template gets repeated 325 times and initialised into a slick.js component:
$("#slider").slick({
      slidesToShow: 1,
      slidesToScroll: 1,
      infinite: false,
      touchMove: false
});

This hangs up Chrome / FF / IE for about 2 seconds and sometimes might even give a "This page is freezing your browser -> Kill or Wait" (paraphrased) notification.
I have tried lazyLoading but it did not make that much of a difference (if any... definitely not conceivable difference). I went through the documentation and can't see anything else that might help.
I have asked at StackOverflow and was pointed to here. Any ideas / upcoming updates to help with this?

I assume that that's simply a browser limitation. At some point the browser needs to render all 325 elements, that just takes a while.
if you're not afraid of customizing the whole thing a bit you could initially just render what you immediately need (in your case just the first slide, or maybe the first two).
Then you hook into the events of slick and detect when the user loads the next slide (or slick does it automatically). if you're close to running out (current index of slide compared to how many slides you've loaded) you simply render a couple more.
You can render one at a time, or in chunks of 5,10,25,etc...
Have a look at Slick Events especially beforeChange and also Slick Methods, especially slickAdd


Develop a more complex game sample like Mario

I've developed go-invation5. Isn't this enough?

Note: https://github.com/hajimehoshi/go-inovation5


applying to staff.   staff view with approved and unapproved list

So it's not complete but here it is today.  Sorry for not pushing this earlier I was out and did not see the msg for pull request.  there will prob be merge conflicts with master but for now here it is to review.
Still needs:
-needs to allow approving as staff admin.
-adding client admins.
-haven't ran flake8 yet so I will fix that when I fix the merge conflicts

okay I got rid of the already implemented stuff.  sorry for not pushing this code freq my masters was quite behind.  it's basically only has the form to applying as a staffing employee now