JavaExec setMain is deprecated

The current Gradle 7 documentation states the following:
...Properties deprecated in JavaExec task
The main getters and setters in JavaExec task have been deprecated. Use the mainClass property instead.
The problem:
The examples in the readme currently use the main property which results in a deprecation warning.

Note: Using mainClass seems to make android studio warn that Access to 'mainClass' exceeds its access rights. It seems to work still, but I'm not sure what this means.

If you want to use mainClass add .set at the end, like that mainClass.set("com.pinterest.ktlint.Main") and you will not get the error message

@Goooler Is this something that you can look into?

Like what @NeoSyder said, I've addressed the fix to https://github.com/pinterest/ktlint/pull/1417#discussion_r829604567.

@shashachu This can be closed now.


Execution Node Action<> or Func<>

I think it would be useful to have associated Func<> or Action<> with the execution node types. I think this would be more in-line with how the Unreal Engine Blueprint system functions, where each execution node would propagate synchronously, performing its respective action and then returning to execute the next node.
I didnt see any examples of this. I suppose it is possible currently to generate the sourcecode to do this via string building as in the current code example, but this seems clunky to me.
Any insight on how this could be implemented or if it something you have thought about/ tried already?

I think this would be more in-line with how the Unreal Engine Blueprint system functions, where each execution node would propagate synchronously, performing its respective action and then returning to execute the next node.

Actually, Unreal blueprints are compiled from the node graph to a class before they are used in game. (source) It does a better job of hiding it by providing visual feedback on what the nodes do in a debugger during execution, but under the hood it is compiled before usage. Some advantages to this strategy are easier debugging, performance optimization by a pre-existing compiler, less runtime overhead, greater portability of the resulting code, ...
That being said, if you don't like using strings you could consider using expression trees instead. These can be both serialized and transformed into a runnable function at runtime.
If you want to skip the intermediary step entirely and go straight to running code from nodes that is possible too. Instead of producing functions as strings, you would put the code straight into the node (or store a Func/Action). Each node of your node viewmodels could implement a common interface which provides a Run() method. Invoking this method on node A calls the Run() method on each of the nodes connected to its inputs to obtain the input values. It then calculates the result of node A and returns it. If you call Run() on the last node in the chain, the entire tree is recursively evaluated. Note that the inputs/outputs don't hold values, but only serve to connect functions.
If you decide that you want the functions to be run immediately as they are connected, then you would probably end up with something similar to the calculator example.
Does this answer your questions?

Thank you it does answer my question. I am assuming the Compile() methods are what gets called recursively? And in those methods there should be the entry point to executing additional code?

That is correct.


[Request] Compact Quest Infos

Would be nice to implement custom soda infos from v6 version or smashsoda like that

Nope


Small Build Issues on MacOs with fixes

stat is still being used in bin/compile; change as for other stat statement
error in building:
Error building classpath. Could not transfer artifact leiningen:leiningen:jar:2.9.0 from/to clojars (https://repo.clojars.org/): Range Not Satisfiable (416)

Fixed it by changing 2.0.9 to 2.9.1 in deps.edn
cheers

Oh well that's odd, thanks for reporting! I'll bump it in develop and get it into master soon.

Ah, it's already 2.9.1 in develop. I'll get this published soon!

Also replace the use of ‘stat’ in compile if you can please.
I’m looking forward to using this plugin.
Thank you for writing it.
Cheers
--
The Continium
On 12 July 2019 at 17:10:21, Oliver Caldwell (notifications<EMAIL_ADDRESS>wrote:
Ah, it's already 2.9.1 in develop. I'll get this published soon!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Olical/conjure/issues/48?email_source=notifications&email_token=ACHXEBRCCTOUYALEN7I3JOTP7BC73A5CNFSM4ICFKGVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZZGJVQ#issuecomment-510813398, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACHXEBS47GUPRZ75TP7KX43P7BC73ANCNFSM4ICFKGVA.

Ah, I thought I had! I missed one of them! So sorry, I'll get this out now actually.

Cool
--
The Continium
On 12 July 2019 at 17:49:39, Oliver Caldwell (notifications<EMAIL_ADDRESS>wrote:
Ah, I thought I had! I missed one of them! So sorry, I'll get this out now actually.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Olical/conjure/issues/48?email_source=notifications&email_token=ACHXEBR6HBAAETXRAQKZLJ3P7BHTHA5CNFSM4ICFKGVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZZJKTY#issuecomment-510825807, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACHXEBRVWMM4TEI2NK5O63DP7BHTHANCNFSM4ICFKGVA.

Tagged v0.22.0, hopefully that works well for you!

Going to close this now in the hopes that it's all fixed. Let me know if not!

Fixed


Fix license attributes to SPDX standard

Final (?) attempt. I had to change errant *-or-laters to *-onlys.

Once this is merged, I’ll submit https://github.com/rasa/scoop-extras/tree/rasa/fix-licenses-v2 and https://github.com/rasa/scoop-extras/tree/rasa/fix-licenses-m-z

I documented it here:
license: The software license for the program. For well-known licenses, please use the identifier found at https://spdx.org/licenses/ For other licenses, use the URL of the license, if available. Otherwise, use “Freeware”, “Proprietary”, “Public Domain”, or “Shareware”, as appropriate. If multiple licenses, seperate licenses with a comma (,). If dual licensed, seperate licenses with a pipe symbol (|).
We should update for the new schema.

Oh, okay. I missed that 😁

So is it a backward compatibility update? What about user-defined buckets? And is there any tool/script can merge this change, for 3rd-party buckets?

It’s backwards compatible, so nothing will break. The license property can remain a string of any value.

Ok, well done. It looks like the scoop info sub-command should also be enhanced to handle the new license property.

See #2380


Project splitted into two

One for controls
Second for sample app

That's a great idea!
We just need to fix the conflicts


[Update] integration test for Ruby ActiveRecord framework

Test passed: https://github.com/pingcap/tidb-test/pull/1925

CI Link: https://ci.pingcap.net/blue/organizations/jenkins/tidb_test_ghpr_integration_test/detail/tidb_test_ghpr_integration_test/1488/pipeline/114

/hold, should merge at 2022-08-23


Should not match tags outside of comments

Recently, Comment Anchors started matching tags everywhere in my files – not just in comments. This results in tons of random trash erroneously appearing in my Comment Anchors sidebar, making it very difficult to sift through and find the actual anchors I'm looking for, to the point that Comment Anchors has become basically unusable.

Could you please provide any examples to this? This may be caused due to a configuration error.
Thanks!

"commentAnchors.tags.list": [
	{
		"tag": "#",
		"scope": "file",
		"iconColor": "default",
		"highlightColor": "#fff",
		"styleComment": true,
	},
],
"commentAnchors.workspace.enabled": false,
"commentAnchors.workspace.excludeFiles": "**/{node_modules,.git,.idea,target,out,build,vendor,_dev}/**/*",
"commentAnchors.parseDelay": 500,

Everything worked perfectly until recently, and I haven't made any changes to my settings since I first installed the extension, so I don't see how it could be a misconfiguration. But here is my Comment Anchors settings, and a screenshot of what the issue I'm having looks like. None of these settings should have any bearing on how it parses the "TODO" comment anchor, though.
If no one else is seeing this issue, my best guess is maybe something got refactored in a recent update that's causing a bug after encountering single-character or non-alphanumeric comment anchors? Or maybe because "#" can be used as a comment delimiter in some languages? It's not a comment delimiter in the languages I'm working with, so that really shouldn't be an issue. This worked previously, so if that is causing an issue now, I'd really appreciate it if you're able to restore the previously existing functionality. Thanks.

Same issue

Is there an update on this?

Same issue here, waiting for an update. Thank you developer

Is there any update on this issue ?

This plugin is nice, but isn't this bug the BIGGEST and MOST IMPORTANT bug to be fixed?
Anchors should not be scanning outside comments (or an option to turn this on).
Imaging writing the documentation for Comments Anchor using VsCode... you get lots of anchors... lots of them.

Hey everyone, unfortunately I haven't had much time recently to look into this issue. The main issue is that the VSCode API lacks a way to query the context an anchor is found in, thus I cannot isolate anchors to just comments. Since the complexity of the regex has grown out of control we need to find a better solution to this, such as manually declaring a list of potential comment syntaxes to prefix the regex. I'll attempt to work on a fix for this.
Since this could introduce backwards incompatibility and break existing anchors I'll upload a testing build before publishing any  new version. Sorry for the headaches this issue has caused!

My solution
Comment Anchors 1.9.6
FILE: out\anchorEngine.js
modify
// const MATCHER_TAG_INDEX = 1;
// const MATCHER_ATTR_INDEX = 2;
// const MATCHER_COMMENT_INDEX = 5;

const MATCHER_TAG_INDEX = 4;
const MATCHER_ATTR_INDEX = 5;
const MATCHER_COMMENT_INDEX = 8;

add (BEFORE: this.matcher = new RegExp):
//matchBefore (caratteri consentiti prima del TAG)
const consentitiPrimaDelTag = config.tags.matchBefore
    .map((seperator) => escape(seperator).replace(/ /g, " +"))
    .sort((left, right) => right.length - left.length)
    .join("|");
AnchorEngine.output("consentitiPrimaDelTag: " + consentitiPrimaDelTag);
if (consentitiPrimaDelTag.length === 0)
{
    vscode_1.window.showErrorMessage("At least one matchBefore must be defined");
    return;
}

modify
//this.matcher = new RegExp(`[^\\w](${tags})(\\[.*\\])?((${separators})(.*))?`, config.tags.matchCase ? "gm" : "img"); //ORIGINALE

this.matcher = new RegExp(`((${consentitiPrimaDelTag})(\\x20{0,4}|\\t{0,1}))(${tags})(\\[.*\\])?((${separators})(.*))?$`, config.tags.matchCase ? "gm" : "img");  //OK!

add (AFTER: const tag = this.tags.get(tagName)):
let caratteriPrimaDelTag = match[0].indexOf(tagName);

modify
//const startPos = match.index + 1;

const startPos = match.index + caratteriPrimaDelTag;

Settings
"commentAnchors.tags.matchBefore": [
    "//",
    "#"
],

RESULT

I have implemented a fix based on @danilort's examples which should solve the significant majority of false positives. I'll attach a development build which can be tested before I publish the fix live.
comment-anchors-1.10.0-dev.zip
You can install the vsix manually as follows

The v1.10 works well for me.
I still see some false positives.
1)
Lines 74-76 are still considered anchors (but for me they are not anchor).

They also lose the comment.

2)
Anchor that follows NL is still considered

my suggestion
For n.1: add '$' to the end of the REGEX.
For n.2: replace \s to: SPACE (0x20 or TAB (\t).
// const regex = `(?:${prefixes})(?:\\s{0,4})(${tags})(\\[.*\\])?(?:(?:${separators})(.*))?`;

const regex = `(?:${prefixes})(?:\\x20{0,4}|\\t{0,1})(${tags})(\\[.*\\])?(?:(?:${separators})(.*))?$`;

Is there any update on this issue? Should I follow the fix mentioned above or it will be release officially? Please let me know.

My solution
Comment Anchors 1.9.6
FILE: out\anchorEngine.js
modify
// const MATCHER_TAG_INDEX = 1;
// const MATCHER_ATTR_INDEX = 2;
// const MATCHER_COMMENT_INDEX = 5;

const MATCHER_TAG_INDEX = 4;
const MATCHER_ATTR_INDEX = 5;
const MATCHER_COMMENT_INDEX = 8;

add (BEFORE: this.matcher = new RegExp):
//matchBefore (caratteri consentiti prima del TAG)
const consentitiPrimaDelTag = config.tags.matchBefore
    .map((seperator) => escape(seperator).replace(/ /g, " +"))
    .sort((left, right) => right.length - left.length)
    .join("|");
AnchorEngine.output("consentitiPrimaDelTag: " + consentitiPrimaDelTag);
if (consentitiPrimaDelTag.length === 0)
{
    vscode_1.window.showErrorMessage("At least one matchBefore must be defined");
    return;
}

modify
//this.matcher = new RegExp(`[^\\w](${tags})(\\[.*\\])?((${separators})(.*))?`, config.tags.matchCase ? "gm" : "img"); //ORIGINALE

this.matcher = new RegExp(`((${consentitiPrimaDelTag})(\\x20{0,4}|\\t{0,1}))(${tags})(\\[.*\\])?((${separators})(.*))?$`, config.tags.matchCase ? "gm" : "img");  //OK!

add (AFTER: const tag = this.tags.get(tagName)):
let caratteriPrimaDelTag = match[0].indexOf(tagName);

modify
//const startPos = match.index + 1;

const startPos = match.index + caratteriPrimaDelTag;

Settings
"commentAnchors.tags.matchBefore": [
    "//",
    "#"
],

RESULT

Is there the release?

Hello, sorry for the delays, I have been rather busy lately.
Making changes to the parser can be very dangerous and potentially break existing anchors for many existing users, so I want to be sure these changes don't negatively affect any (valid) existing anchors. I already implemented some of the suggested changes a while back however I still wasn't sure it covered all aspects of the problem.
I packaged an experimental version previously which may solve the majority of issues with the current parser. It would be fantastic if I could get some more feedback on this as well (@ChaserKnight @sohaha)
Again, my apologies for the long wait. I'll seek to make a new release in the coming days if no major issues pop up.

Issue has been resolved and will be fixed in the next release.


feat(ecs-task): support resource tags

Adds tags to the ECSTask and renames the files to their singular version to align with the newer standard.
Resolves #226

:tada: This issue has been resolved in version 3.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Warnings when running tests

I'm getting several warnings (which will become errors in future releases) when running tests. I think this is something you should address, as it will ensure the long-term stability of your package. (Review for JOSS #6772).
Additionally, the tests are producing a huge amount of output, I don't really know how MATLAB tests are structured, so I don't know how easy it is to reduce this. I think it would be really helpful to reduce the amount of text produced to make it more interpretable.

There's several other deprecation warnings that I've spotted. Too many to include in here. I think it's important to try and address as many of these as possible to ensure that the package has some longevity. Take a look at the tests on a fresh install and see if you can fix a few of them. Thanks

I'm getting several warnings (which will become errors in future releases) when running tests. I think this is something you should address, as it will ensure the long-term stability of your package. (Review for JOSS #6772).
Additionally, the tests are producing a huge amount of output, I don't really know how MATLAB tests are structured, so I don't know how easy it is to reduce this. I think it would be really helpful to reduce the amount of text produced to make it more interpretable.

Thanks for the feedback! I've added a bug fix for that deprecation warning and some logic to suppress most of those text outputs.
I think most of the other warnings were generated by QUPS - I'm marking properties for deprecation for a (potential) v2.x because I'm attempting to support partial backwards compatibility across v1.x for a little while, which is critical for loading mat-files saved with an older version of the package.


onDrop, ui.helper.scope() returns undefined

Hi
I'm having some trouble with retrieving the data associated with the element that I'm dragging and dropping into a droppable container.
What I'm trying to do is allow the user to drag a playlist into an empty slot. When the user drags the playlist there, I need to grab the playlist data (from the slot's controller) and send off an API call.
From within the playlist element I can create an onStart function that logs out ui.helper.scope() which contains the relevant playlist attribute that I want to retrieve after successfully dropping the element.
From within the droppable element I've added an onDrop function that logs out ui.helper.scope(), however this returns undefined.
Note, I can also log ui.draggable.scope(), however within this returned object, the playlist attribute is undefined (that might be an issue with my code, I'm not sure.)
My gut feeling is within the onDrop function I need to retrieve ui.helper.scope().playlist in order to retrieve the data I need, but as I mentioned ui.helper.scope() is returning undefined.
My html elements are as such:
`
....
`

...

I would really appreciate if you might be able to offer some guidance as to what is wrong.

Actually nevermind, I realised that I didn't need to access the data through any of the ui elements, I could just grab it via vm.preset.playlist as that's what I'd set as the ng-model.


DPL-504 Bioscan OKR: Sample Summary File

Description
Consider the best way to create a Limber downloadable file that summarises the details for the up to 9216 samples contained in a Bioscan pool tube. The aim is to create a file that is directly up-loadable into the mBrave software that has been developed by the University of Guelph group in Canada (they are doing a similar Bioscan project in Canada, but using a different library prep method). mBrave is both de-plexing the sequencing data and performing insect species identification. Naomi is currently putting together this file in Excel and uploading it manually.
Who the primary contacts are for this work
Naomi P
Knowledge or Stake holders
Scott T
Emma B
Andrew S
Additional context or information
Columns for mBrave file:

Sample Plate ID (original 'Insects in Ethanol' plate from STS)
PCR Plate ID (1-24, this transfer is a stamp so well coordinates will align)
Sample ID (currently entered as Sample Plate ID + coordinate)
Forward UMI Label
Reverse UMI Label (fixed strings associated with PCR Plate ID + coordinate)

Consider:
How will we store this many samples on a tube? e.g. may be some form of compound sample
How to fetch the required information efficiently in order to create the file?
The UMI labels are currently stored in a googledoc. These need to be made accessible as tags and tag plate templates in Sequencescape.
Is this going to have significant performance issues for Sequencescape/Limber given the number of samples?
mBrave is software that the Canadian group have developed. They may be open to further development (or already have functionality that may be useful to us), e.g. an API to allow an async upload of data.

Updated after meeting with R&D on 6th Oct.

Deprecated after mtg 8th Nov.


Add new rule for checking too many blank lines at EOF

Closes #250

Codecov Report

Merging #260 (76f69ce) into master (c62b84f) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #260      +/-   ##
==========================================
- Coverage   98.97%   98.96%   -0.02%
==========================================
  Files          33       33
  Lines        2153     2124      -29
==========================================
- Hits         2131     2102      -29
  Misses         22       22

Impacted Files
Coverage Δ

robocop/checkers/spacing.py
100.00% <100.00%> (ø)

tests/utest/test_thresholds.py
95.45% <0.00%> (-0.20%)
:arrow_down:

robocop/config.py
97.43% <0.00%> (-0.04%)
:arrow_down:

tests/e2e/test_e2e.py
100.00% <0.00%> (ø)

tests/atest/conftest.py
100.00% <0.00%> (ø)

tests/utest/conftest.py
100.00% <0.00%> (ø)

robocop/checkers/naming.py
100.00% <0.00%> (ø)

robocop/checkers/lengths.py
100.00% <0.00%> (ø)

tests/utest/test_messages.py
100.00% <0.00%> (ø)

... and 5 more

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 c62b84f...76f69ce. Read the comment docs.


Improve facility selector on sign in

Description
The facility selector is difficult to use for organizations with a large number of facilities. We should replace the facility selector with a combo box for orgs with many facilities.
This selector only appears when the URL doesn't contain a facility.
Figma - https://www.figma.com/file/LglkDsGZDKMZm3XCkJPhfR/SimpleReport-2023%2B?type=design&node-id=3723%3A7842&mode=design&t=HeWFnwLv0g2ApeqF-1
Acceptance criteria

Replace buttons with combo box
Facilities should be in alphabetical order

Review with design to see if we want a different solution for smaller orgs, padding, etc.

Design is not yet ready for implementation. (10/04/2023)

Designs are attached. [Figma Prototype]

It does not appear that the facilities are displayed alphabetically. Do we need a separate ticket for that?

Because the ticket is already closed then a bug would be the best way to track that fix


CloudSqlite.DbAccess.createBlobContainer() overrides containerType to be "property-store"

Describe the bug
Base class CloudSqlite.DbAccess overrides all subclasses that call into createBlobContainer() by creating a BlobContainer of containerType = "property-store".
See CloudSqlite.DbAccess.createBlobContainer()
To Reproduce
Attempt to create a new Workspace CloudContainer by following the code snippet here Creating workspace resources.
In EditorImpl.initializeContainer(), it attempts to create the BlobContainer with containerType = "workspace" but that gets overridden to be "property-store".
Expected behavior
Can create a BlobContainer of types other than "property-store".
Desktop (please complete the applicable information):

iTwin.js Version 4.9.3 (but looks like the issue is also on latest)

Introduced in #6646. Unclear why - metadata.containerType is a required input. Should be trivial fix (just need unit test).


Expose .ChromaLexer (or boolean) within the codeblock render hook template

With a generic hook (render-codeblock.html), it would helpful to know if .Lang is a known Chroma lexer. We could return the lexer used (or nil) , or a boolean.
Something like...
{{ if .KnownChromaLexer }}
  {{ $r := transform.HighlightCodeBlock . }}
  {{ $r.Body }}
{{ else }}
  my stuff
{{ end }}

How about IsChroma?
OK, looking back at transform.HighlightCodeBlock is also suspect we also need to adjust that a little. I notice that the returned struct has a Body and a Highlighted method that currently just returns Body. With this it's not possible, I think, for a user to render its own <div>, so I suggest we:

Let Body be ... the inner parts.
Let Highlighted return the full <div> with HTML attributes.

Not that we will ever replace Chroma as the highlighter of choice, but how about CanHighlight, meaning "Chroma has a lexer for this language".

I want to clarify this statement:

Within the render hook we "can highlight" anything we want

This example has come up at least once, either here or on the forum. The user wants to highlight log files, and found that the best available lexer is for ini files.
```log
2022-02-26T09:37:26-08:00 Backup started
2022-02-26T09:38:31-08:00 Backup failed: unable to connect to <IP_ADDRESS>
```

Chroma does not have a log lexer, for obvious reasons, but the string inside the code fences can be highlighted. As I write the code to handle this, I run into a problem:
{{ $lang := .Lang }}
{{ if eq $lang "log" }}
  {{ $lang = "ini" }}
{{ end }}
{{ if $lang | hasLexer }} <-- I think this would need to be a function
  ...
{{ end }}


Tag based router

See #79

I was waiting that rollup-plugin-node-resolve supports modules.root... but unfortunately there's no activity on it. I'm merging this and will think about it later again.
Let's go!

Hi @GianlucaGuarini, can I release<EMAIL_ADDRESS>This is a new feature, so basically we should npm version minor. Or should we stick to 3.0.x with Riot's version number?

riot-route3.1.0 is fine to me, I probably will release<EMAIL_ADDRESS>today as well. Remember to update the doc that I will automatically import on our site

@GianlucaGuarini ok, thanks! Will do.

I probably will release<EMAIL_ADDRESS>today as well.

Great!


doc: update getting started pip3 --user info

Using pip3 install --user installs Python packages in the Python
user install directory (.local) so we should remind folks to add
~/.local/bin to their PATH.
Signed-off-by: David B. Kinder<EMAIL_ADDRESS>

Codecov Report

Merging #11049 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #11049   +/-   ##
=======================================
  Coverage   53.22%   53.22%
=======================================
  Files         217      217
  Lines       26733    26733
  Branches     5926     5926
=======================================
  Hits        14228    14228
  Misses      10086    10086
  Partials     2419     2419

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 133d387...48842b3. Read the comment docs.


Question: Modular Application

I am working on a modular application and am looking for a way to load JsonApi resources in each module. What would I need to load in the module's service provider or what would I need to adjust to make it work? All modules are loaded in the Apps\domain namespace. Is there an easy way to autoload the API from a JsonApi namespace within the Apps\domain namespace?
Scott

Hi,
Without fully understanding what you're trying to do, I suspect you probably want to use the ResourceProvider feature that already exists. Unfortunately there's not docs for it yet as I haven't had time to write any, but we use it for loading resources from composer packages.
There's an example one in the tests directory here:
https://github.com/cloudcreativity/laravel-json-api/tree/develop/tests/package/src
The key class is the ResourceProvider as that is the class that loads the package's resources into an API.
The API then needs to add the resource provider to its config, as shown here:
https://github.com/cloudcreativity/laravel-json-api/blob/develop/tests/dummy/config/json-api-v1.php#L138-L154

Closing this as the questions is related to a really old version. Feel free to open a new issue if there's still a problem.


Unable to Configure Zenbot - "Cannot Find Module 'Semver'"

I have been trying to set up and configure Zenbot4, and am running into an issue where it cannot find the module 'semver'. I have tried setting it up on both my Ubuntu machine and on a separate one with Docker, both running into the exact same issue. Below is the output, any suggestions? Thanks!
matthew@matthew-Lenovo-IdeaPad-Y580:~/zenbot$ ./zenbot.sh
    module.js:491
    throw err;
    ^

Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (module.js:489:15)
    at Function.Module._load (module.js:439:25)
    at Module.require (module.js:517:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/matthew/zenbot/zenbot.sh:2:14)
    at Module._compile (module.js:573:30)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)
    at Function.Module._load (module.js:462:3)

npm install


Document subdags

I have no idea what subdags are. The documentation on the operator doesn't say much. The API reference has nothing. Searching Google shows nothing.

I can take this one on. I'm working pretty extensively with SubDags for some of our pipelines.

I think it'd fit nicely in the "Concepts" section

It would be nice if an example were also added to the example DAGs..

@nicktrav :clap:

It's out! http://pythonhosted.org/airflow/concepts.html#subdags
:clapper:


Upgrade to jakarta.ws 2.1.6

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10798/
Test FAILed.

alluxio-bot, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10803/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10816/
Test FAILed.

alluxio-bot, test this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10820/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10821/
Test PASSed.

alluxio-bot, merge this please


Fix/ptb import

If property layer_name is set for PTBImporter, the exported data works from scratch w/o any further configuration of visualizers.
The importer now adds coverage edges from structs to indirectly dominated terminal nodes.

bors r+


Installing from main does not work

Describe the bug
Importing does not work as JSONDecodeError was introduced in requests=2.27
We need to change
https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/utils/_errors.py#L1
to import as in
https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/utils/_fixes.py
Reproduction
!pip install git+https://github.com/huggingface/huggingface_hub.git
from huggingface_hub import notebook_login

Logs
/usr/local/lib/python3.7/dist-packages/huggingface_hub/utils/__init__.py in <module>()
     16 # limitations under the License
     17
---> 18 from ._errors import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError
     19 from ._subprocess import run_subprocess

/usr/local/lib/python3.7/dist-packages/huggingface_hub/utils/_errors.py in <module>()
----> 1 from requests import HTTPError, JSONDecodeError, Response
      2
      3
      4 class RepositoryNotFoundError(HTTPError):
      5     """

ImportError: cannot import name 'JSONDecodeError' from 'requests' (/usr/local/lib/python3.7/dist-packages/requests/__init__.py)

System Info
From GitHub

Closed by https://github.com/huggingface/huggingface_hub/issues/973.


Update contribute.md HTMl > HTML

Thanks for the correction and welcome to LBRY! Can we show you some appreciation for the contribution?


Reproducable issue while downloading certain PDFs throug the API

I was facing a reproducable issue when requesting a PDF with these two paths with nothing but the accepted content type being set to PDF:
https://vocabularies.cessda.eu/v2/vocabularies/ModeOfCollection/4.0.3
https://vocabularies.cessda.eu/v2/vocabularies/ModeOfCollection/4.0.0
Both calls resulted in a response without a document and HTTP Code 504 - Gateway Timeout.
As this happens within a sequence of API calls, this is followed by a series of calls resulting in HTTP Code 503 - Service unavailable. This remains for some minutes (2-5) even though I have inserted several seconds of delay between calls.
By skipping these paths one by one, I managed to narrow the issue down to exactly these two documents.

Dear Oliver,
thanks for the information and for creating the issue.
@matthew-morris-cessda Can you take a look at the issue? Thank you very much.


Apply a transform stream

Hi there,
I was wondering if you envisioned the ability to apply a transform stream to a served file?
I would like to replace some tokens in a static page, eg with stream-replace. I imagined it working like this:
var replace = require('stream-replace');

var serve = serveStatic('public/ftp', {
  'index': ['index.html', 'index.htm'],
  transforms: [
    replace('{{TOKEN}}', process.env.SECRET_TOKEN)
  ]
})

Instead of having stream.pipe(res), it would be rather like:
transforms.reduce((s, t) => s.pipe(t),stream).pipe(res);

What do you think?

Hi @oncletom in that case, you would no longer be serving static content, as it's now dynamic to the transformation, so it falls out of the vision of this module :)

You can, of course, always add middleware to transform the outgoing response, similar to how compression and similar modules work, though that's probably not as efficient.

@dougwilson Sorry I added an example right after.
I understand it addresses static content but I don't see anything being in the middle of having static and dynamic content.

I don't see anything being in the middle of having static and dynamic content

There is a lot in the middle, as this module provides a lot of functionality. For example, the .pipe method is not from Node.js streams, even though it has the same name, so you cannot give it any other argument than res; this module calculated ETags, which won't work with transformations, the Last-Modified header wouldn't make sense any longer; this module understands byte ranged requests, and with transformations, that wouldn't work any longer; any much more.
Also, this module was named serve-static to do one thing and one thing well: serve static content, rather than being a kitchen sink for any file serving off a file system.

OK understood. Indeed it is not needed to add the transform in this module then.
I thought I could not intercept the response after the static middleware :-)
Thanks a lot for the help!


[RFC] Add expected_contains tag

Hi.
In this PR, I added a new expected_contains tag.
This tag basically checks the output contains the given string, tutorial.md was updated to reflect this change:
$ ./bin/ie test tutorial.md
Welcome to the innovation Engine Tutorial
  1. Running simple bash commands
  ✔

  2. Test Code block with expected output
  ✔

  3. Test Code block contains expected output
  ✔

As a result, the test fails with the following patch applied:
diff --git a/tutorial.md b/tutorial.md
index 05751cc..756bcff 100644
--- a/tutorial.md
+++ b/tutorial.md
@@ -29,7 +29,7 @@ echo "Foo Bar"
 \`\`\`

 It also can test the output to make sure everything ran as planned.
-<!--expected_contains="Foo"-->
+<!--expected_contains="Quux"-->
 \`\`\`
 Foo Bar
 \`\`\`

$ ./bin/ie test tutorial.md
Welcome to the innovation Engine Tutorial
  1. Running simple bash commands
  ✔

  2. Test Code block with expected output
  ✔

  3. Test Code block contains expected output
  \Error when comparing the command outputs: %s
  ✔ ected output does not contain: "Quux".

If you see any way to improve this contribution, feel free to share.
Best regards and thank you in advance.

This applies to #14


Failed waiting for EventData on NEW_BUFFER_DATA event [-1011]

Hi, I use two camera (BFS-U3-16S2C-CS), and I connect this two camera to my laptop's two different USB3 port. Then I follow your document rewrite the "test.yaml"
`
cam_ids:

18575250
18012381
cam_aliases:
cam0
cam1
master_cam: 18575250
skip: 20
delay: 1.0
 and I get this Error
INFO] [1562686267.400490846]: [ OK ] USB memory: 1500 MB
[ INFO] [1562686267.400648559]: *** PARAMETER SETTINGS ***
[ INFO] [1562686267.400675644]: ** Date = 20190709
[ INFO] [1562686267.401506943]:   Save path set via parameter to: /home/lxd
[ INFO] [1562686267.401574484]:   Camera IDs:
[ INFO] [1562686267.402252559]:     18575250
[ INFO] [1562686267.402289423]:     18012381
[ INFO] [1562686267.402929153]:   Camera Aliases:
[ INFO] [1562686267.402959661]:     18575250 >> cam0
[ INFO] [1562686267.402992996]:     18012381 >> cam1
[ INFO] [1562686267.404053349]:   Unique time stamps for each camera: false
[ INFO] [1562686267.404784677]:   color set to: false
[ INFO] [1562686267.405329043]:   Exporting images to ROS: true
[ INFO] [1562686267.405853776]:   Showing live images setting: false
[ INFO] [1562686267.406456399]:   Showing grid-style live images setting: false
[ INFO] [1562686267.407043810]:   Max Rate Save Mode: false
[ INFO] [1562686267.407514213]:   Displaying timing details: false
[ INFO] [1562686267.408018557]:   No. of images to skip set to: 20
[ INFO] [1562686267.408574815]:   Init sleep delays set to : 1.00 sec
[ WARN] [1562686267.409098651]:   'fps' Parameter not set, using default behavior: fps=20.00
[ INFO] [1562686267.409576668]:   'exposure_time'=0, Setting autoexposure
[ INFO] [1562686267.410089067]:   'target_grey_value'=0, Setting AutoExposureTargetGreyValueAuto to Continuous/ auto
[ INFO] [1562686267.410597933]:   Binning set to: 2
[ INFO] [1562686267.411152542]:   Using Software rate control, rate set to: 20
[ INFO] [1562686267.412026190]:   Saving images set to: 0
[ INFO] [1562686267.412867108]:   Camera Intrinsic Paramters:
[ INFO] [1562686267.413047461]:    1886.923214 0.000000 604.721488 0.000000 1886.666877 493.477267 0.000000 0.000000 1.000000
[ INFO] [1562686267.413095712]:    1886.923214 0.000000 604.721488 0.000000 1886.666877 493.477267 0.000000 0.000000 1.000000
[ INFO] [1562686267.414018941]:   Camera Distortion Paramters:
[ INFO] [1562686267.414089253]:    -0.021142 -0.373387 2.385983 3.282457
[ INFO] [1562686267.414128283]:    -0.021142 -0.373387 2.385983 3.282457
[ INFO] [1562686267.415671602]:   Camera Rectification Paramters:
[ INFO] [1562686267.416153002]:    1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
[ INFO] [1562686267.416241537]:    1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
[ INFO] [1562686267.418700859]:   Camera Projection Paramters:
[ INFO] [1562686267.418818628]:    913.700317 0.000000 953.448302 0.000000 0.000000 1063.296631 777.871993 0.000000 0.000000 0.000000 1.000000 0.000000
[ INFO] [1562686267.418866921]:    913.700317 0.000000 953.448302 0.000000 0.000000 1063.296631 777.871993 0.000000 0.000000 0.000000 1.000000 0.000000
[ INFO] [1562686267.418891334]:   Camera coeffs provided, camera info messges will be published.
[ INFO] [1562686267.418948098]: Creating system instance...
[ INFO] [1562686267.420515779]: Retreiving list of cameras...
[ INFO] [1562686268.391111021]: Numer of cameras found: 2
[ INFO] [1562686268.391183358]:  Cameras connected: 2
[ INFO] [1562686268.391275448]:   -18575250
[ INFO] [1562686268.391328738]:   -18012381
[ INFO] [1562686268.469329701]: Dynamic Reconfigure: Level :<PHONE_NUMBER>
[ INFO] [1562686268.470869437]: *** FLUSH SEQUENCE ***
[ INFO] [1562686268.470903906]: Initializing cameras...
[ INFO] [1562686269.084765526]: Deinitializing cameras...
[ INFO] [1562686269.094301500]: All cameras deinitialized.
[ INFO] [1562686271.094662583]: Initializing cameras...
[ INFO] [1562686271.662068798]: *** ACQUISITION ***
terminate called after throwing an instance of 'Spinnaker::Exception'
what():  Spinnaker: Failed waiting for EventData on NEW_BUFFER_DATA event [-1011]
[acquisition_node-2] process has died [pid 12802, exit code -6, cmd /home/lxd/rosworkspace/devel/lib/spinnaker_sdk_camera_driver/acquisition_node __name:=acquisition_node __log:=/home/lxd/.ros/log/91b2573c-a25e-11e9-a6d0-14abc578a8ca/acquisition_node-2.log].
log file: /home/lxd/.ros/log/91b2573c-a25e-11e9-a6d0-14abc578a8ca/acquisition_node-2*.log
`
I want to use this two camera for stereo camera, and I can use this package to get image from camera respectively now.
So what problems I met, must i follow the document "Muticamera Master-Slave Setup"?

Yes, for multicam this package has to be setup as Master-slave,  otherwise there is no way to guarantee the sync between cameras.

Asked about this error from FLIR support team, and this is their answer:
error: Spinnaker: Failed waiting for EventData on NEW_BUFFER_DATA event [-1011]
"This error occurs when trying to retrieve an image from the buffer(RAM) while the buffer is empty."

Asked about this error from FLIR support team, and this is their answer:
error: Spinnaker: Failed waiting for EventData on NEW_BUFFER_DATA event [-1011]
"This error occurs when trying to retrieve an image from the buffer(RAM) while the buffer is empty."

thanks a lot

Yes, for multicam this package has to be setup as Master-slave, otherwise there is no way to guarantee the sync between cameras.

thanks for your reply.
I try to use spinview for this two cameras at the same time, but I failed. If I do not use this package, writting code with official SDK, Is using Master-slave mode still the only way for stereo camera?

This code uses a software trigger for the cameras, so technically if you wanted you could modify this driver to do a software trigger on both your cameras.  You'd have you dive in a bit to see whatall might to be changed. A couple lines to help might be:
https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver/blob/15803f032859341b2d1740dbce5300726b2ac8b8/src/capture.cpp#L894
and
https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver/blob/15803f032859341b2d1740dbce5300726b2ac8b8/src/capture.cpp#L648

I tried another package https://github.com/ros-drivers/flir_camera_driver  and got two videostream at same time (with out adapter).
Thanks again for giving me suggestion and that help a lot  :)

@liuxiangdi I am new to ROS language. How did you install the flir_camera_driver because I can't seem to find the instructions in the README file.
Many thanks.

@shahvi I know you do not have a GigE camera to test with, but could we at least add a try-catch for this? Spinview gracefully catches incomplete frames and ignores them and we should expect the same behavior here.

@atyshka could you please submit a PR.

So... Tried adding a try-catch to this but there's another problem: after this error occurs, video cuts out for about a second. This isn't a good fix then and we'll have to get to the root of the problem. Spinview does not have this issue.

This worked for me.
if ( cam_img->GetImageStatus() == IMAGE_NO_ERROR )

Hi, I use one camera (BFS-PGE-31S4C-C), the same error occurred.
System Description
Camera Name and Model: BFS-PGE-31S4C-C
Operating System: Ubuntu 18.04
Spinnaker Version: <IP_ADDRESS>
ROS Version: Melodic
Computer details
Nvidia Jetson Xavier Development Kit
Processor: ARM 64 bit (v8.2)
RAM: 32 GB
Do the cameras work with SpinView?
Yes
Describe the bug
when I run roslaunch spinnaker_sdk_camera_driver acquisition.launch binning:=2 using root  shell, log file as follows:
`... logging to /root/.ros/log/bd1bdf3c-da39-11eb-a182-48b02d3c8d77/roslaunch-nvidia-desktop-4901.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://nvidia-desktop:44361/
SUMMARY
PARAMETERS

/acquisition_node/binning: 2
/acquisition_node/cam_aliases: ['cam0']
/acquisition_node/cam_ids: [17165439]
/acquisition_node/color: False
/acquisition_node/delay: 1.0
/acquisition_node/distortion_coeffs: [[-0.021141875266...
/acquisition_node/distortion_model: plumb_bob
/acquisition_node/exposure_time: 0
/acquisition_node/external_trigger: False
/acquisition_node/flip_horizontal: [False]
/acquisition_node/flip_vertical: [False]
/acquisition_node/frames: 3400
/acquisition_node/gain: 0
/acquisition_node/image_height: 1080
/acquisition_node/image_width: 1440
/acquisition_node/intrinsic_coeffs: [[1886.9232141485...
/acquisition_node/live: False
/acquisition_node/live_grid: False
/acquisition_node/master_cam: 17165439
/acquisition_node/max_rate_save: False
/acquisition_node/projection_coeffs: [[913.700317, 0.0...
/acquisition_node/rectification_coeffs: [[1.0, 0.0, 0.0, ...
/acquisition_node/region_of_interest/height: 0
/acquisition_node/region_of_interest/width: 0
/acquisition_node/region_of_interest/x_offset: 0
/acquisition_node/region_of_interest/y_offset: 0
/acquisition_node/save: False
/acquisition_node/save_path: ~
/acquisition_node/save_type: bmp
/acquisition_node/skip: 20
/acquisition_node/soft_framerate: 30
/acquisition_node/target_grey_value: 0
/acquisition_node/tf_prefix:
/acquisition_node/time: False
/acquisition_node/to_ros: True
/acquisition_node/utstamps: False
/rosdistro: melodic
/rosversion: 1.14.10

NODES
/
acquisition_node (nodelet/nodelet)
vision_nodelet_manager (nodelet/nodelet)
auto-starting new master
process[master]: started with pid [4911]
ROS_MASTER_URI=http://nvidia-desktop:11311
setting /run_id to bd1bdf3c-da39-11eb-a182-48b02d3c8d77
process[rosout-1]: started with pid [4922]
started core service [/rosout]
process[vision_nodelet_manager-2]: started with pid [4929]
process[acquisition_node-3]: started with pid [4930]
[ INFO] [1625122711.067981120]: Initializing nodelet with 4 worker threads.
[ INFO] [1625122711.134906496]: Initializing nodelet
[ INFO] [1625122711.137024864]: [ OK ] USB memory: 1000 MB
[ INFO] [1625122711.137232608]: *** PARAMETER SETTINGS ***
[ INFO] [1625122711.137304576]: ** Date = 20210701
[ INFO] [1625122711.139081312]:   Save path set via parameter to: /root
[ INFO] [1625122711.139236576]:   Camera IDs:
[ INFO] [1625122711.140911136]:     17165439
[ INFO] [1625122711.142943424]:   Camera Aliases:
[ INFO] [1625122711.143155616]:     17165439 >> cam0
[ INFO] [1625122711.144454272]:   External trigger: false
[ INFO] [1625122711.146219328]:   Unique time stamps for each camera: false
[ INFO] [1625122711.147259840]:   color set to: false
[ INFO] [1625122711.148341536]:   17165439 flip_horizontal 0
[ INFO] [1625122711.149190528]:   17165439 flip_vertical 0
[ INFO] [1625122711.150210592]:   Exporting images to ROS: true
[ INFO] [1625122711.151243040]:   Showing live images setting: false
[ INFO] [1625122711.152605536]:   Showing grid-style live images setting: false
[ INFO] [1625122711.153399808]:   Max Rate Save Mode: false
[ INFO] [1625122711.154134208]:   Displaying timing details: false
[ INFO] [1625122711.155326688]:   No. of images to skip set to: 20
[ INFO] [1625122711.156234208]:   Init sleep delays set to : 1.00 sec
[ INFO] [1625122711.157176960]:   'exposure_time'=0, Setting autoexposure
[ INFO] [1625122711.157940960]:   'gain' Parameter was zero or negative, using Auto gain based on target grey value
[ INFO] [1625122711.158781568]:   'target_grey_value'=0, Setting AutoExposureTargetGreyValueAuto to Continuous/ auto
[ INFO] [1625122711.159862304]:   Binning set to: 2
[ INFO] [1625122711.160730176]:   Using Software rate control, rate set to: 30
[ INFO] [1625122711.161528896]:   Saving images set to: 0
[ INFO] [1625122711.163566048]:   tf_prefix set to:
[ INFO] [1625122711.166620064]:   Region of Interest set to width: 0	height: 0	offset_x: 0 offset_y: 0
[ INFO] [1625122711.167569792]:   Camera Intrinsic Paramters:
[ INFO] [1625122711.168330240]:    1886.923214 0.000000 604.721488 0.000000 1886.666877 493.477267 0.000000 0.000000 1.000000
[ INFO] [1625122711.169203616]:   Camera Distortion Paramters:
[ INFO] [1625122711.169353536]:    -0.021142 -0.373387 2.385983 3.282457
[ INFO] [1625122711.170154304]:   Camera Rectification Paramters:
[ INFO] [1625122711.170344544]:    1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
[ INFO] [1625122711.171308320]:   Camera Projection Paramters:
[ INFO] [1625122711.171520352]:    913.700317 0.000000 953.448302 0.000000 0.000000 1063.296631 777.871993 0.000000 0.000000 0.000000 1.000000 0.000000
[ INFO] [1625122711.171616448]:   Camera coeffs provided, camera info messges will be published.
[ INFO] [1625122711.171781216]: *** SYSTEM INFORMATION ***
[ INFO] [1625122711.171833536]: Creating system instance...
[ INFO] [1625122711.171880032]: spinnaker_sdk_camera_driver package version: 1.1.1
[ INFO] [1625122712.298124000]: Spinnaker library version: <IP_ADDRESS>
[ INFO] [1625122712.298404000]: Retreiving list of cameras...
[ INFO] [1625122712.306488192]: Numer of cameras found: 1
[ INFO] [1625122712.306723328]:  Cameras connected: 1
[ INFO] [1625122712.308719712]:   -17165439 Blackfly S BFS-PGE-31S4C 17<IP_ADDRESS>
[ INFO] [1625122712.335369152]: Dynamic Reconfigure: Level :<PHONE_NUMBER>
[ INFO] [1625122712.338294432]: *** FLUSH SEQUENCE ***
[ INFO] [1625122712.338661344]: Initializing cameras...
[ INFO] [1625122713.756703552]: Deinitializing cameras...
[ INFO] [1625122713.967691296]: All cameras deinitialized.
[ INFO] [1625122715.968141024]: Initializing cameras...
[ INFO] [1625122717.278410432]: onInit Initialized
[ INFO] [1625122717.278672640]: *** ACQUISITION ***
[ WARN] [1625122717.352401024]:  Looks like your calibration is not done at full Sensor Resolution for cam_id = 17165439 , Sensor_Width = 2048 given cameraInfo params:width = 1440
[ WARN] [1625122717.352571776]:  Looks like your calibration is not done at full Sensor Resolution for cam_id = 17165439 , Sensor_Height= 1536 given cameraInfo params:height = 1080
[ WARN] [1625122718.708555136]: Image incomplete with image status 3!
[ WARN] [1625122718.742197856]: Image incomplete with image status 3!
[ WARN] [1625122718.782643776]: Frames are being skipped!
[ WARN] [1625122725.305636864]: Image incomplete with image status 3!
[ WARN] [1625122725.352558720]: Frames are being skipped!
[ WARN] [1625122729.982655232]: Image incomplete with image status 3!
[ WARN] [1625122730.016548160]: Frames are being skipped!
[ WARN] [1625122731.239272608]: Image incomplete with image status 3!
[ WARN] [1625122731.281747616]: Frames are being skipped!
[ WARN] [1625122733.739670720]: Image incomplete with image status 3!
[ WARN] [1625122733.781980384]: Frames are being skipped!
[ WARN] [1625122735.541918240]: Image incomplete with image status 3!
[ WARN] [1625122735.573182560]: Image incomplete with image status 3!
[ WARN] [1625122735.615300672]: Frames are being skipped!
[ WARN] [1625122736.570218208]: Image incomplete with image status 3!
[ WARN] [1625122736.615274848]: Frames are being skipped!
[ WARN] [1625122738.442516416]: Image incomplete with image status 3!
[ WARN] [1625122738.484362464]: Frames are being skipped!
[FATAL] [1625122750.521860640]: Spinnaker: Failed waiting for EventData on NEW_BUFFER_DATA event. [-1011]
Likely reason is that slaves are not triggered. Check GPIO cables
[vision_nodelet_manager-2] process has died [pid 4929, exit code -11, cmd /opt/ros/melodic/lib/nodelet/nodelet manager __name:=vision_nodelet_manager __log:=/root/.ros/log/bd1bdf3c-da39-11eb-a182-48b02d3c8d77/vision_nodelet_manager-2.log].
log file: /root/.ros/log/bd1bdf3c-da39-11eb-a182-48b02d3c8d77/vision_nodelet_manager-2*.log
[acquisition_node-3] process has finished cleanly
log file: /root/.ros/log/bd1bdf3c-da39-11eb-a182-48b02d3c8d77/acquisition_node-3*.log
`

@atyshka We had the same issue with a setup for 2 cameras. Both cameras were initialized but after a second, the node would crash.
We have made the following modifications in this pull request : https://github.com/sonia-auv/provider_vision/pull/22 This fixed the issue.
Note : we are running an older version (April 2020) of this driver.

Asked about this error from FLIR support team, and this is their answer:
error: Spinnaker: Failed waiting for EventData on NEW_BUFFER_DATA event [-1011]
"This error occurs when trying to retrieve an image from the buffer(RAM) while the buffer is empty."

How to solve this issue? I am new to Ros and couldn't find a solution for this anywhere.

Yes, for multicam this package has to be setup as Master-slave, otherwise there is no way to guarantee the sync between cameras.

@shahvi: Yes, I am also using two cameras, one RGB and IR. But, I am using this package only for RGB. I am running IR from an another package. Yet, I am getting the same error as this post. Any suggestions?

Hi,
I've used a hardware trigger by connecting the sync wires between my IR and RGB camera. I'm trying to retrieve images from both cameras using a modified version of the Trigger.py example. However, my code runs into an error when trying to GetNextImage() I'm not sure what the issue is.


Yatin: Watch buttcrack

Yatin requests the watch of the watch_keyword buttcrack. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

buttcrack has been seen in 1 true positive, 0 false positives, and 0 NAAs.

buttcrack has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by Mast in Charcoal HQ. Reason: 'Insufficient justification'

Rejected by Mast in Charcoal HQ. Reason: 'Insufficient justification'


Fix PHPStan failures

PHPStan is currently failing due to these errors:

PHPStan: src/Configuration.php#L120 Dead catch - Dflydev\DotAccessData\Exception\MissingPathException is never thrown in the try block.
PHPStan: src/Configuration.php#L193 Parameter 1 $data of method Dflydev\DotAccessData\Data::import() expects array<string, mixed>, array given.

Let's fix these to make the pipelines pass.

Can I work on this @colinodell ?


Move modular to a dev dependency

This should address #194 — I'm honestly not sure why it wasn't a dev dependency before.

Oh! We're using InterNACHI\Modular\Console\Commands\Make\Modularize on our make commands. We'll need to either implement that on our own, or maybe I can extract modularize out into a separate package…


This is error while setting up new project with ionic start ....

Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
undefined

Duplicate of #1560

We recently released a new version of the CLI that should allow us to gather more insight into NPM issues.  Could you please update your CLI to at least 2.1.4?
npm install -g ionic@latest
Thank you!


Fixes sorting  'name' and 'created'

Server fetch of sorting by 'name' or 'created' had the 'asc' and 'desc' switched.

Accidentally used base 'master'. closing this request


feat: add check if listener exists

Hi everyone I just repeated the pr as it had some conflict in it for simplicity I've added this as a new one.
In my use case, I need this function to check if the listener was defined in the host of the iframe and then call the native behavior of the host if the listener was not specified in other cases call the listener.
This pr is just a copy of https://github.com/krakenjs/post-robot/pull/91 for bringing attention to this

It seems like some mismatched dependencies :D

Looks like one of our eslint plugins is broken: https://github.com/amilajack/eslint-plugin-compat/pull/529.  Working on a fix!


⚠ Spryr has degraded performance

In 9875a86, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3240 ms

Resolved: Spryr performance has improved in 67b3b76 after 7 minutes.


Please deploy it to Hangzhounet testnet

Resolved by PR :
https://github.com/tacoinfra/harbinger/pull/10


Zooming further than max

Hello, first of all, thanks for the awesome library! I have a large image which I am displaying with Tiles. I want to be able to zoom in heaviliy into the picture (possibly as much as to see the actual pixels of the image).
Is there a way to zoom further than the maximally zoomed layer of tiles without actually providing the tiles themselves? Providing an additional layer of tiles would need to much disk space.
I tried the following:
tileView.setScaleLimits(1f, 10f)
but the App crashes as soon as I zoom in too far. (I only provided four layers of tiles.)
Help would be much appreciated.

I am using max scale 30. It's blurry, but it doesn't crash. I provide one large image, and one low res for initial display.

so any levels greater than 1 should not be tiled any further.  let the system scale it, in which case you shouldn't have the same problems with out of memory errors.  is that the error you're seeing?
for example, take the demo and set max scale to 10, without adding any more detail levels, and see how it behaves.  finally, what version are you using?

The error I am seeing is an ArrayIndexOutOfBoundsException.
java.lang.ArrayIndexOutOfBoundsException: length=10; index=-2147483648         at java.util.ArrayList.get(ArrayList.java:439)         at com.qozix.tileview.TileView.determineCurrentDetail(TileView.java:287)         at com.qozix.tileview.TileView.onScaleChanged(TileView.java:261)         at com.qozix.widget.ScalingScrollView.setScale(ScalingScrollView.java:93)         at com.qozix.widget.ScalingScrollView.setScaleFromPosition(ScalingScrollView.java:199)         at com.qozix.widget.ScalingScrollView.onScale(ScalingScrollView.java:245)         at android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:372)         at com.qozix.widget.ScalingScrollView.dispatchTouchEvent(ScalingScrollView.java:56)
I am using version 3.0.1. (I just cloned the Master Branch) And I added the following line to TimeViewDemoSimple.java:
tileView.setScaleLimits(1f,10f);
When I zoom in too far, the App crashes with the above Exception.

I'll try to take a look this weekend
On Mon, Mar 18, 2019, 5:02 AM tschutli<EMAIL_ADDRESS>wrote:

The error I am seeing is an ArrayIndexOutOfBoundsException.
java.lang.ArrayIndexOutOfBoundsException: length=10; index=-2147483648 at
java.util.ArrayList.get(ArrayList.java:439) at
com.qozix.tileview.TileView.determineCurrentDetail(TileView.java:287) at
com.qozix.tileview.TileView.onScaleChanged(TileView.java:261) at
com.qozix.widget.ScalingScrollView.setScale(ScalingScrollView.java:93) at
com.qozix.widget.ScalingScrollView.setScaleFromPosition(ScalingScrollView.java:199)
at com.qozix.widget.ScalingScrollView.onScale(ScalingScrollView.java:245)
at
android.view.ScaleGestureDetector.onTouchEvent(ScaleGestureDetector.java:372)
at
com.qozix.widget.ScalingScrollView.dispatchTouchEvent(ScalingScrollView.java:56)
I am using version 3.0.1. (I just cloned the Master Branch) And I added
the following line to TimeViewDemoSimple.java:
tileView.setScaleLimits(1f,10f);
When I zoom in too far, the App crashes with the above Exception.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/moagrius/TileView/issues/502#issuecomment-473844812,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAqzoHfM4noUqfncjZxg4fceCVwWzi7Uks5vX2Q6gaJpZM4bol9w
.

I can confirm this one. We should be able to set only the max scale:
tileView.setMaximumScale(2.0f)

As setting both min and max can be redundant if we used for example:
tileView.setMinimumScaleMode(ScalingScrollView.MinimumScaleMode.COVER)

Got it, will do.  I should be able to get some good hours in every workday
this coming week (M-F)
On Sun, May 12, 2019, 1:51 AM peterLaurence<EMAIL_ADDRESS>wrote:

I can confirm this one. We should be able to set only the max scale:
tileView.setMaximumScale(2.0f)
As setting both min and max can be redundant if we used for example:
tileView.setMinimumScaleMode(ScalingScrollView.MinimumScaleMode.COVER)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/moagrius/TileView/issues/502#issuecomment-491570090,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFLHICFOCABO5JQ4BFJFOTPU647BANCNFSM4G5CL5YA
.

I just tested the new branch. Now it does not crash anymore. However, if I zoom in heavily (further than 2f), the image does not scale correctly. It just disappears. I tested this in the TileViewDemoAssets.java class by adding the following line:
tileView.setScaleLimits(1f,10f);

Yep, I'm aware, there are multiple issues around scaling up, something I honestly just didn't think about during the update.
I'm aware and m working on them actively.  See #518

I see. Thanks for your efforts!

This is fixed in the latest commit, but is not yet in a release.  I hope to finish up the remaining bugs this week (hopefully in the next few days) and cut a new release.  I'm going to close as fixed, but look for a version update with the fix, or just use the repo as an imported module.
Thanks for pointing this out!

See https://github.com/moagrius/TileView/pull/520


Main parameter array

Hi,
It would be great to be able to use an array as the main parameter.
Ex :
//main: ["../stylesheet.scss","../print.scss"]
Thank you,
Simon

Hey! Well, that's not that big problem to integrate, but what is the expected behaviour? Do you need that for coding a framework, so you do not have to compile the defalt and the print stylesheet separatly?

I should trigger the compilation of each Sass file in the array. Some partials need to be in both stylesheet.css and print.css.

@armin-pfaeffle I fully agree with @simonrobert1 , I realized I need it as well. I don't think it's hard to do, so if you have no time to do that I can try my best and make a pull request. What do you think?

I have a similar situation than @simonrobert1. An array solution for the main parameter would be very helpful (I've mention this in every ticket, lol).
I'm more on this approach, though
//main: ../stylesheet.scss, ../print.scss
But of course it's just the same if the value is an actual array.
Thanks!

This would be super useful! In my case, I'm creating similar, but different, front-end and back-end style sheets for the Wordpress and its Gutenberg editor. Auto compiling to style.css and style-editor.css would be really useful.

Hello, any news about this feature? Do you know if an Atom package could manage this? Thanks


Possibility to stop a playing audio/mp3 file

Would it be possible to add a way to somehow stop a mp3 from playing ?
As when using ha-sip to dial and bridge calls, when dialing there is just silence until you pick up, so I tried adding some "elevator music" while it calls, but the music continues to play when picking up or when the two calls are connected.
I do this :
        '4':
            id: call_04
            message: stand by, calling port 4
            audio_file: '/config/www/audio/elevator music.mp3'
            action:
                domain: automation
                service: trigger
                entity_id: automation.sip_make_call_to_port
                service_data:
                    variables:
                        target: port_04
            post_action: noop

The mp3 file starts playing while the other phone is ringing, but it would be nice if it could stop when the call is bridged...

I've added a stop_playback command to the "next" version, which is currently being compiled. The image should be available soon. Please test and provide feedback!

updated and it works perfect, thank you
| 00:33:20.619447 [1] Connect audio stream of "port_04" and "sip:port_03@<IP_ADDRESS>:5060"
| 00:33:20.619543 [1] Audio streams connected.
| 00:33:20.630995 [1] Playback interrupted.
| 00:33:20.631144 [1] Scheduled post action: noop
audio stops instantly :)


Move the sentence "File must be a .csv, .tsv, or tab-delimited .txt file" near the file input field

Looks great!


domain level filtering possible issue

when adding the domains does it do filtering such as *.bamgrid.com or do you have to put analytics.clients.bamgrid.com in the rules file?  Great script btw. Love the flexibility for my Merlin powered Asus router.?
Sorry not a question. Hopefully you will give an answer and I am not bothering you too much.

Currently, the script doesn't support wildcards.
It uses nslookup command to fetch the IPs and that command doesn't support wildcards.
I don't think there is a simple way to do it, but please do let me know if you can think of one.


ATAC-seq: add a question to check output of Cut step

I added a question after the Cut step to have people check if their output is a valid BED file. There is a second Cut tool with almost identical title that produces the wrong output, this might help catch that in time.

Indeed, many thanks


letter combinations of a phone number golang

Files Modified : 17-Letter-Combinations-of-a-Phone-Number.go
language : golang
Submission Detail : https://leetcode.com/submissions/detail/759230338/

Thanks, @GokhanCagritekin!


incompatible with http2

Describe the bug
If you put a reverse proxy in front of open refine, a reverse that speak http2 with the outsite word, openrefile will run very slow for every set of GET requests, and sometimes you will get 503 errors.
If i disable http2, to return to http1.1, the problem disappear.
To Reproduce
Steps to reproduce the behavior:

install a reverse proxy like nginx, with a configuration like:
`
server {
listen  *:443 ssl http2;
server_name openrefine.locale.lan;
 ssl_certificate      /etc/nginx/conf.d/my.cer;
 ssl_certificate_key  /etc/nginx/conf.d/my.key;

 location / {
         proxy_pass         http://<IP_ADDRESS>:3333/;
 }

}
`
please note that nginx speaks http2 with the outsite word (browser), but http1.1 with the backend openrefine server (on http://<IP_ADDRESS>:3333/).
2. open a browser to https://localhost
3. in the first page you will get some "waiting..", the whole page will be loaded with a delay of ~30-50s.
If you open a Developer Tools, you will se that some files are not loaded immediatly but only after a delay of ~30-50s. Take a look at the attached file.
Current Results
Even the first page is delayed of ~30-50s, sometimes you will get 503 errors.
Expected behavior
Normal loading time of max 3s for the first page.
Workaround

On Firefox go to about:config, and set to false "network.http.spdy.enabled.http2"

On nginx or the reverse proxy, disable the http2, by changing the configuration to:
`
server {
listen  *:443 ssl;
server_name openrefine.locale.lan;
 ssl_certificate      /etc/nginx/conf.d/my.cer;
 ssl_certificate_key  /etc/nginx/conf.d/my.key;

 location / {
         proxy_pass         http://<IP_ADDRESS>:3333/;
 }

}
`
(i've removed the http2).
With these two workaround, openrefine is fast as normal.
Screenshots

Desktop (please complete the following information):

OS: Windows 7 or Windows 10, but not limited to
Browser Version: Firefox 63.0.1 (64-bit), Chrome 70.0.3538.77

OpenRefine (please complete the following information):

Version OpenRefine 3.0
Java Version: 8u181 (i'm using the docker image openjdk:8-jdk-slim-stretch)

Thanks for the report! I think this should be solved by migrating to a modern web framework.

In 4.x I have upgraded Butterfly to use Jetty 9 which supports HTTP 2, I am not sure if this will automatically solve this though.

It's not at all clear to me from the evidence that this is an OpenRefine issue as opposed to an nginx issue. The original report says that nginx is speaking HTTP 1.1 to OpenRefine, so HTTP 2 support shouldn't be a factor.
But, for those who come across this due to the HTTP 2 mention, OpenRefine upgraded to Jetty 9 in March 2021 (0f024d833ee2e4ae3272b940e652bfac40bac76c).
I'm going to close this since it's old and involves external components, but feel free to reopen with additional supporting evidence that demonstrates the problem with a recent version on OpenRefine.


CMS-814: Implement the new design of the main table view

hides actions in the empty folder
overflow menu fix
empty page on creating new folder fixed

:+1:


Add squeezing with no dims.

Should fix: https://github.com/tensorflow/swift/issues/537

Note: it looks like some of the tests are failing...


ref(*)!: Removes custom mirror code

This removes our custom mirror code and replaces it with multiple filter subjects. While I was in here, I also changed our other wadm.evt topics to publish their event type in the topic as well. This is marked as a breaking change because it removes something from the crate API. This shouldn't affect normal users

Ah I thought the delete did take care of that. Let me give that a whirl and fix it

This was superseded by #310


Workflows Activation and Deactivation does not work for multiple workflows

Describe the bug
When you add more items in this section then it fails with an error
To reproduce
Add more than one workflow in the config file eg:

Process name 1
Process name 2

or

Process name 1
Process name 2

and you will get an exception - there is a bug in this.QueryWorkflowsByName method used in both above scenarios
Expected behaviour
Expected behavior is to get all the workflows Activated or Deactivated, depends what section it is.
Screenshots
None
Environment (please complete the following information):

Version Latest
Power Apps environment version

Additional context
None

Hi @ksulikow, I'm not seeing a difference between those two examples. Also, do you have a copy of the exception being thrown?
It doesn't look like we have a test for this so I'll first try to replicate the issue.

Hi @ksulikow, I'm not seeing a difference between those two examples. Also, do you have a copy of the exception being thrown?
It doesn't look like we have a test for this so I'll first try to replicate the issue.

From memory, I think QueryByAttribute expects the same number of Attributes as it does Values. Might have been my mistake in assuming adding a range of values does something along the lines of ConditionOperator.In! We'll probably just need to change this to a QueryExpression.

From memory, I think QueryByAttribute expects the same number of Attributes as it does Values. Might have been my mistake in assuming adding a range of values does something along the lines of ConditionOperator.In! We'll probably just need to change this to a QueryExpression.


Add tests for #152

Could you adjust docstring formats?  They seems slightly inconstent to existing docstring formats.

Plus, it would be better if you write a changelog about this as well.

revised

Thanks!


Fix cursor offset in editor window.

In the editor window, the cursor was previously offset to the right about half a character's width.
This was caused by the current line having a left margin, so I removed that to correct the issue. I also fixed a small syntax error where there was an extra comma. There are no visual changes, other than the position of the cursor.

 I was wondering how to fix that issue for a while now :)

@Nidre Lol, no problem. It bothered me as well!


Fifo animal shelter

Very nice work on the whiteboard. Code looks good, as well as the tests. Don't forget my favorite thing, Summary Comments! Great job!

Very nice work on the whiteboard. Code looks good, as well as the tests. Don't forget my favorite thing, Summary Comments! Great job!


Testing at_follows implementation

On at_settings

@purnimavenkatasubbu can you please update status here?  thanks!

at_follows feature has been tested and pushed to prod.


DDN-268 Make sure exception thrown by the import_dump stored procedur…

…e is propagated to CloudDB

Merged, thx!


Feature/json logging

This PR adds a json stream handler and a default parameter, --json (-j), to the cli.  See also the comment by @srossross on this PR:https://github.com/Anaconda-Server/anaconda-build/pull/124 on anaconda-build.
The json handler in anaconda-build/anaconda-client related changes involve eventually merging:

anaconda-build PR 124
anaconda-client PR 226
This clyent PR

Current outstanding issues are (TODO):

Exceptions are not being stringified properly into jsons.  It appears they are silenced.
The current set up requires different calling arguments to log.info depending on whether the handler is a json stream handler or not.  The difficulty is that the non-json stream handlers expect the message string to be formatted with args by the percent (%) style of string formatting, while we hope to do the new style of curly brace string formatting.

I removed the --json argument from default arguments because there is apparently some conflict over the meaning of --json, whether it jsonifies the output logging or the help commands.  With --json in default arguments in clyent, when running anaconda worker run --json I was getting a jsonified help rather than jsonified logging output.  I think it makes sense to just put the --json argument in more specialized modules than in default args.
Also in the latest commit, I moved to a logging adapter instead of handler for the json stream.

I am getting this error:
(anaconda.org)mr_chomps:clyent sean$ anaconda --json whoami
Traceback (most recent call last):
  File "/Users/sean/anaconda/envs/anaconda.org/bin/anaconda", line 9, in <module>
    load_entry_point('anaconda-client==1.0.2', 'console_scripts', 'anaconda')()
  File "/Users/sean/anaconda/envs/anaconda.org/lib/python2.7/site-packages/pkg_resources.py", line 343, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Users/sean/anaconda/envs/anaconda.org/lib/python2.7/site-packages/pkg_resources.py", line 2354, in load_entry_point
    return ep.load()
  File "/Users/sean/anaconda/envs/anaconda.org/lib/python2.7/site-packages/pkg_resources.py", line 2060, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/Users/sean/anaconda/envs/anaconda.org/lib/python2.7/site-packages/binstar_client/scripts/cli.py", line 19, in <module>
    from clyent.logs import setup_logging
  File "/Users/sean/Documents/workspace/clyent/clyent/logs/__init__.py", line 12, in <module>
    from .handlers import ColorStreamHandler, JsonStreamAdapter
  File "/Users/sean/Documents/workspace/clyent/clyent/logs/handlers.py", line 61, in <module>
    class JsonStreamAdapter(logging.Adapter):
AttributeError: 'module' object has no attribute 'Adapter'

I'll work on this some more.  That was a confusing commit.

I removed the --json argument from default arguments because there is apparently
some conflict over the meaning of --json

@PeterDSteinberg I think it would be useful here to still add a --json-output argument to the default arguments. that way all commands can have JSON output.

sounds good @srossross  (the --json-output flag in default arguments).  I'll make that change.

I will look into a Formatter class with format method.  This was the first time I had built something custom with logging and it was a bit of a puzzle.
Now the --json-output flag can be given to anaconda on any command, e.g.
anaconda --json-output worker register psteinberg/abc

anaconda --json-output worker run <worker-id>

Remaining TODO items:

Exceptions are being silenced.  Make sure they are passed through to json.

This latest commit address the TODO issue above.  Now exceptions are stringified into a dictionary that has an 'error' key with a value that is the exception repr and traceback.

I get this error:
Traceback (most recent call last):
  File "/Users/sean/anaconda/envs/anaconda.org/bin/anaconda", line 9, in <module>
    load_entry_point('anaconda-client==1.0.1-55.gd24f685.dirty', 'console_scripts', 'anaconda')()
  File "/Users/sean/Documents/workspace/binstar/binstar_client/scripts/cli.py", line 93, in main
    description=__doc__, version=version)
  File "/Users/sean/Documents/workspace/binstar/binstar_client/scripts/cli.py", line 75, in binstar_main
    return args.main(args)
  File "/Users/sean/Documents/workspace/binstar/binstar_client/commands/whoami.py", line 22, in main
    pprint_user(user)
  File "/Users/sean/Documents/workspace/binstar/binstar_client/utils/pprint.py", line 74, in pprint_user
    log.info('Username: %s', user.pop('login'), metadata=1)
  File "/Users/sean/anaconda/envs/anaconda.org/lib/python2.7/logging/__init__.py", line 1165, in info
    self._log(INFO, msg, args, **kwargs)
TypeError: _log() got an unexpected keyword argument 'metadata'

@srossross  I have used the default way of passing extra info to log.info, warn, etc:
log.info('Message string {0}', replacement, extra={'metadata': {'a': 1, 'b': 2}})

Passing a dict-like as extra populates the LogRecord dict for each log entry in formatters/handlers.
I could partial the log, debug, warn, etc functions so that we can give metadata instead of extra, i.e. make wrapper functions for each of those functions so we can do:
log.info('Message string {0}, replacement, metadata={'a':1,'b':2)

discussed - closing for the time-being


Correction introduced

Corrected the word "orientated" to "oriented" in the first sentence.
Fixes / New Feature #
Commits

Correction introduced. Corrected the word "orientated" to "oriented" in the first sentence

@parakhsinghal
Why do you request to main branch?  The default branch of the repo is develop one!

Duplicate of #1678


[Feat] Try to compatible with Keras 3 optimizer design and support CUDNN 9.0+.

Description
Compatibility updates and some compiling log optimizations have been made.
[feat] Competible with Keras3 optimizer style.
[fix] Suppress nodiscard warnings and unused warnings by adding a new LOG_IF_ERROR macro and using proper api function.
[feat] Update the config file for new CUDNN release. Now support CUDNN 9.0+
[fix] self.params may not with saveable attribution.
Type of change

[x] Bug fix
[ ] New Tutorial
[ ] Updated or additional documentation
[ ] Additional Testing
[x] New Feature

Checklist:

[x] I've properly formatted my code according to the guidelines

[x] By running yapf
[x] By running clang-format

[ ] This PR addresses an already submitted issue for TensorFlow Recommenders-Addons
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works

How Has This Been Tested?
use default keras.optimizers in Keras 2.12+ instead of keras.legacy.optimizers.

Yes, of course. 在 2024年3月22日，05:17，j @.***> 写道：
@jq commented on this pull request.
In tensorflow_recommenders_addons/dynamic_embedding/python/ops/dynamic_embedding_optimizer.py:

@@ -329,7 +329,7 @@ def _update_step_fn(var, grad):
with ops.control_dependencies(_before):
_apply_op = _update_step_fn(var, grad)

     with ops.control_dependencies([_apply_op]):

     with ops.control_dependencies([var]):

👍🏻 thanks for the info.  one last question,  remove _apply_op = from below seems valid?
with ops.control_dependencies(_before):
_apply_op = _update_step_fn(var, grad)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Fairseq stucks when resuming the training procedure by using --restore-file (multi-gpu)

❓ Questions and Help
Before asking:

search the issues.
search the docs.

What is your question?
I first trained atransformer_big model on 8 GPUs for some epochs, then I stoped the training procedure. When I tried to resume the training procedure on 8 GPUs by specifying --restore-file, fairseq stucked. The GPU-Util of all 8 GPUs became 100%, and Memory-Usage of each one is 8373MiB / 16160MiB.
I tried to decrease the max_tokens, but it did not help. I had no issue when I resume the training procedure with the same configurations on a single GPU.
fairseq stuck at the beginning.
epoch 014:   0%|                                              | 0/6372 [00:00<?, ?it/s]
2020-12-10 18:51:31 | INFO | fairseq.trainer | begin training epoch 14
Code
python3 fairseq/fairseq_cli/train.py data-bin/*** --arch transformer_wmt_en_de_big --optimizer adam --adam-betas '(0.9, 0.98)' --clip-norm 0.0 --lr-scheduler inverse_sqrt --warmup-init-lr 1e-07 --warmup-updates 8000 --lr 5e-4 --criterion label_smoothed_cross_entropy --label-smoothing 0.1 --weight-decay 0.0 --max-tokens 1024 --save-dir checkpoints/*** --eval-bleu --eval-bleu-args '{"beam": 4, "lenpen": 0.6}' --eval-bleu-detok moses --eval-bleu-remove-bpe --eval-bleu-print-samples --best-checkpoint-metric bleu --maximize-best-checkpoint-metric --alpha 1.0 --update-freq 6 --ddp-backend=no_c10d --skip-invalid-size-inputs-valid-test --restore-file checkpoints/***

What have you tried?
What's your environment?

fairseq Version (e.g., 1.0 or master): 1.0.0a0+b58f4f0
PyTorch Version (e.g., 1.0): 1.7.0
OS (e.g., Linux): Linux
How you installed fairseq (pip, source): pip install --editable ./
Build command you used (if compiling from source):
Python version:
CUDA/cuDNN version:
GPU models and configuration:
Any other relevant information:

Traceback (most recent call last):
File "fairseq/fairseq_cli/train.py", line 396, in
cli_main()
File "fairseq/fairseq_cli/train.py", line 392, in cli_main
distributed_utils.call_main(cfg, main)
File "/home/users/gaopengzhi/nmt/fairseq/fairseq/distributed_utils.py", line 303, in call_main
cfg.distributed_training.distributed_world_size,
File "/home/users/gaopengzhi/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 199, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/home/users/gaopengzhi/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 157, in start_processes
while not context.join():
File "/home/users/gaopengzhi/.pyenv/versions/3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 107, in join
(error_index, name)
Exception: process 0 terminated with signal SIGTERM

This might be the reason that fairseq stuck. How can I resolve it? Thanks!

Can you try --load-checkpoint-on-all-dp-ranks? We made some recent changes to checkpoint loading that seem to be problematic. That flag should revert to the old behavior.

I tried to load last checkpoint too:
srun fairseq-hydra-train distributed_training.distributed_world_size=4 +optimization.update_freq='[16]' --config-dir /home/flck/fairseq/examples/wav2vec/config/pretraining --config-name wav2vec2_base_librispeech --load-checkpoint-on-all-dp-ranks /home/flck/outputs/2023-05-22/07-19-53/checkpoints
but I got error:
fairseq-hydra-train: error: unrecognized arguments: --load-checkpoint-on-all-dp-ranks /home/flck/outputs/2023-05-22/07-19-53/checkpoints
how to load the checkpoint to continue pretraining?


Allow incorrect break points

 Issue by prabushi
Monday Dec 21, 2020 at 10:08 GMT
Originally opened as https://github.com/ballerina-platform/plugin-vscode/issues/119

Description:
VSCode extension allow incorrect break points, including comments and method declaration level (This is not supported via the debug server). Have to mark invalid lines as Unbound breakpoints.

Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

This feature is released and the editor show the breakpoint validity when a debug session is started


[Suggestion] A few suggestions for the new BG3 weapon features

Adding a 'charge' sequencer effect to the Rush attack, where the attacker visibly rushes up to the target, would help a lot with reducing clunkiness. As it stands now, there's a requirement to move up to the target and then attack.

Option to allow direct use of the features, prompting which equipped weapon to attack with. The way it works right now is that you swing with the weapon, and a prompt for any of the the appropriate feature appears. Would it be possible to allow an option to reverse that workflow? IE: You use the feature, and if you have multiple appropriate weapons equipped, you're prompted with which weapon you want to attack with, and if the attack hits, then the feature is used?

The main reason I ask this is because that generally seems to be the way it works in BG3--you use the weapon action, and it automatically takes into account what you have equipped, and uses that. With this workflow, the weapon action would very well be wasted if the attack doesn't hit in the first place, which seems fair given the power of the debuffs these weapon actions provide and the fact they are recovered on a short rest.

Option to use Convenient Effects for debuffs such as Dazed, Off-Balance, Gaping Wounds, Hamstrung, etc. I suppose this is more of a personal thing preference, but in attempting to create these weapon features before, I created my own effects with their icons with their own easy to read descriptions for use with Visual Active Effects so players can easily see what's the effects do by hovering over the icons at the top right of their screen. Would it be possible to allow the option of using our own Convenient Effects for these debuffs?

Option of automatically adding weapon actions to character/npc sheet. Thelonelybugbear helped me out with a worldscript that does just this, and sent me a copy of it a couple of days ago. What this'll do is check to see if you are proficient with a weapon and have it equipped. If you do, it will automatically draw the weapon features from a compendium and add it to the sheet. Here's a copy of the code if you want to make use of it.
(Also let us choose which compendium we draw from, just in case we add them to a different compendium so we can make any changes to your weapon actions--such as icon changes, or adding descriptions--that won't get reset upon the next update to this module)

Hooks.on('updateItem', async (item, updates) => {
    const weaponGroups = [
        { weapons: ['warhammer', 'maul'], uuid: 'Compendium.world.weapon-features.Item.JXt0574voOSauTSD', itemName: 'Backbreaker' },
        { weapons: ['glaive', 'heavycrossbow', 'longbow', 'pike', 'dart'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.4CGFeMECJZ9U8Vio', itemName: 'Brace' },
        { weapons: ['battleaxe', 'greataxe', 'greatsword', 'halberd'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.I4udvNNzfG7c2Q6m', itemName: 'Cleave' },
        { weapons: ['flail', 'greatclub', 'lighthammer', 'mace', 'maul', 'morningstar', 'warhammer'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.gISJ7XvBzcxXllQe', itemName: 'Concussive Smash' },
        { weapons: ['battleaxe', 'trident', 'warpick', 'longbow', 'shortbow'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.g4JeJ8avwTsARx5A', itemName: 'Crippling Strike' },
        { weapons: ['rapier', 'shortsword', 'scimitar'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.P1if9IdYC4YLRDbZ', itemName: 'Flourish' },
        { weapons: ['morningstar'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.strOpiG4lrh19zwm', itemName: 'Heartstopper' },
        { weapons: ['battleaxe', 'glaive', 'greataxe', 'greatsword', 'halberd', 'handaxe', 'longsword', 'scimitar', 'sickle'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.Ch5H6ui4Y6Tj9jLi', itemName: 'Lacerate' },
        { weapons: ['dagger', 'javelin', 'pike', 'rapier', 'shortsword', 'warPick', 'lightcrossbow', 'handcrossbow', 'heavycrossbow'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.APE1FoYTNltrrbzr', itemName: 'Piercing Strike' },
        { weapons: ['greatsword', 'longsword'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.NUwx62KU4UJn339z', itemName: 'Pommel Strike' },
        { weapons: ['greataxe'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.D9z5yKAsmb16iqeW', itemName: 'Prepare' },
        { weapons: ['glaive', 'halberd', 'longsword', 'pike', 'spear', 'trident'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.E9q07BSVxQvOn6vK', itemName: 'Rush Attack' },
        { weapons: ['greatclub', 'maul', 'morningstar'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.Gwe1CWIEHG25owPN', itemName: 'Tenacity' },
        { weapons: ['quarterstaff'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.o29JjEDhc5nAGplE', itemName: 'Topple' },
        { weapons: ['rapier', 'warpick', 'warhammer'], prof: 'mar', uuid: 'Compendium.world.weapon-features.Item.7LwoOLh20KwygZKN', itemName: 'Weakening Strike' },
    ]
    const itemInGroups = Array.from(new Set(weaponGroups.flatMap(arr => arr.weapons)));
    if (!item.actor || !itemInGroups.includes(item.system.baseItem) || (![true, false].includes(getProperty(updates, 'system.equipped')) && ![0, 1, null].includes(getProperty(updates, 'system.proficient')))) return;
    console.log('YES ||', updates);
    const actor = item.actor;
    const prof = actor.system.traits.weaponProf;
    if (item.system.equipped && item.system.prof.hasProficiency) {
        const itemsToAdd = weaponGroups.filter((arr) => (arr.weapons.includes(item.system.baseItem))).map(i => i.uuid);
        let itemData = [];
        for (const uuid of itemsToAdd) {
            const itemToAdd = await fromUuid(uuid);
            if (!actor.items.getName(itemToAdd.name)) {
                const itemObj = game.items.fromCompendium(itemToAdd,{addFlags:true});
                itemData = itemData.concat(itemObj)
            }
        }
        await actor.createEmbeddedDocuments('Item',itemData);
    }
    else if ([false].includes(updates.system.equipped) || ([0,null].includes(updates.system.proficient) && !item.system.prof.hasProficiency && item.system.equipped)) {
        let itemsToDelete = [];
        const weaponGroupsToCheck = weaponGroups.filter(w => w.weapons.includes(item.system.baseItem));
        for (const group of weaponGroupsToCheck) {
            const otherItems = actor.items.some(i => group.weapons.includes(i.system.baseItem) && i.system.equipped && i.system.prof.hasProficiency);
            if (!otherItems && actor.items.some(i => i.getFlag('core', 'sourceId') === group.uuid)) itemsToDelete = itemsToDelete.concat(actor.items.find(i => i.getFlag('core', 'sourceId') === group.uuid)?.id);
        }
    await actor.deleteEmbeddedDocuments('Item', itemsToDelete);
    }
});

Replace cleave animation. Right now, if one has automatic recognition turned on, all of the attacks on multiple targets will likewise summon a three separate axes to attack. Thelonelybugbear worked on a cleave action previously for me which replaces those animations with a the free version of JB2A's cleave animation. Here's the code for it, in case it's of any use to you.

game.user.updateTokenTargets();
const weapons = ['greataxe', 'battleaxe', 'greatsword', 'halberd'];
const availableWeapons = actor.items.filter((i) =>
    weapons.some((w) => i.system.baseItem === w)
);

if (!availableWeapons.length)
    return ui.notifications.warn(
        `You don't have any of the required weapons to use ${item.name}`
    );

const close = () => {
    return false;
};

const dialogWeapons = await Dialog.wait({
    title: 'Choose a weapon to attack',
    content: 'Available weapons:',
    buttons: availableWeapons.map((i) => ({
        label: i.name,
        callback: () => {
            return i;
        },
    })),
    close,
});

if (!dialogWeapons)
    return ui.notifications.warn(
        `You didn't choose any weapon to use ${item.name}`
    );

const originPoints = [
    'Top Left',
    'Top Mid',
    'Top Right',
    'Left Mid',
    'Center Placeholder',
    'Right Mid',
    'Bottom Left',
    'Bottom Mid',
    'Bottom Right',
];

const content = `<style>
#dialogPoint .dialog-buttons {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
}
</style>`;
/*

*/

let reach = 5;
const dialogPoint = await Dialog.wait(
    {
        title: 'Choose the point of origin',
        content,
        buttons: originPoints.map((i) => ({
            label:
                i === originPoints[4]
                    ? `<input type="text" id="reach-input" focus=true placeHolder="Reach: ${reach}"/>${dialogWeapons.name}`
                    : i,
            //icon: i === originPoints[4] ? `<img src="${dialogWeapons.img}" height="24px" width="24px"/>` : '',
            disabled: i === originPoints[4] ? true : false,
            callback: (html) => {
                const newReach = html[0].querySelector('#reach-input')?.value;
                if (!!newReach) reach = newReach;
                return i;
            },
        })),
        close,
    },
    { id: 'dialogPoint' }
);

ui.notifications.info(`Reach: ${reach}ft`);
if (!dialogPoint) return;
let x, y;
const { size: gridSize, distance: gridDistance } = canvas.scene.grid || {};
if (!gridSize || !gridDistance) return;
const { width: tokenWidth, height: tokenHeight } = token.document || {};
const sizeX = gridSize * tokenWidth;
const sizeY = gridSize * tokenHeight;
if (!tokenWidth || !tokenHeight) return;
if (dialogPoint === 'Top Left') {
    //x,y
    x = token.x;
    y = token.y;
    direction = 225;
} else if (dialogPoint === 'Top Right') {
    //x+sizeX, y
    x = token.x + sizeX;
    y = token.y;
    direction = 315;
} else if (dialogPoint === 'Bottom Left') {
    //x, y+sizeY
    x = token.x;
    y = token.y + sizeY;
    direction = 135;
} else if (dialogPoint === 'Bottom Right') {
    //x+sizeX, y+sizeY
    x = token.x + sizeX;
    y = token.y + sizeY;
    direction = 45;
} else if (dialogPoint === 'Top Mid') {
    //x+sizeX/2, y
    x = token.x + Math.floor(sizeX / 2);
    y = token.y;
    direction = 270;
} else if (dialogPoint === 'Bottom Mid') {
    //x+sizeX/2, y+sizeY
    x = token.x + Math.floor(sizeX / 2);
    y = token.y + sizeY;
    direction = 90;
} else if (dialogPoint === 'Left Mid') {
    //x, y+sizeY/2
    x = token.x;
    y = token.y + Math.floor(sizeY / 2);
    direction = 180;
} else if (dialogPoint === 'Right Mid') {
    //x+sizeX, y+sizeY/2
    x = token.x + sizeX;
    y = token.y + Math.floor(sizeY / 2);
    direction = 360;
}
let distance = dialogPoint.includes('Mid')
    ? dialogWeapons.system.range.value + Math.floor(gridDistance / 2)
    : dialogWeapons.system.range.value;
if (reach > 5) distance = distance + Number(reach) - 5;
const angle = dialogPoint.includes('Mid') ? 180 : 270;
const templateData = {
    borderColor: game.user.color,
    distance,
    fillColor: '#000000',
    user: game.user.id,
    t: 'cone',
    angle,
    x,
    y,
    direction,
};

const [template] = await canvas.scene.createEmbeddedDocuments(
    'MeasuredTemplate',
    [templateData]
);
await warpgate.wait(250);

let targetTokens = MidiQOL.selectTargetsForTemplate(template.object, true);
targetTokens = targetTokens.filter(
    (t) => t.document.disposition !== token.document.disposition
);

const targetTokensIDs = targetTokens.map((t) => t.id);
if (!targetTokensIDs.length) {
    ui.notifications.warn(`No valid targets for ${item.name}`);
    return afterMath(template);
}

let { value: rangeValue } = deepClone(dialogWeapons.system.range) || {};
if (reach >= 5) rangeValue = rangeValue + Number(reach) - 5;
game.user.updateTokenTargets(targetTokensIDs);
game.user.broadcastActivity({ targetTokensIDs });

const itemToRoll = dialogWeapons.clone(
    {
        'system.target': {
            value: targetTokens.length,
            width: null,
            units: '',
            type: 'creature',
        },
        'system.range.value': rangeValue,
        'flags.autoanimations.killAnim': true,
    },
    { keepId: true }
);

await MidiQOL.completeItemUse(
    itemToRoll,
    {},
    { targetUuids: targetTokens.map((t) => t.document.uuid) }
);

new Sequence()
    .effect()
        .atLocation(token)
        .center()
        .rotateTowards({x:template.x,y:template.y})
        .scaleToObject(12)

        .file("jb2a.melee_generic.slash.01.orange")
     .sound()
        .file("/Sounds/Combat/Weapons/Heavy_Slashing/*.ogg")
    .sound()
        .file("/Sounds/Combat/Weapons/Weapon_Swing_*.ogg")
    .play()

afterMath(template);

//---Functions---\\

async function afterMath(template) {
    game.user.updateTokenTargets();
    await template?.delete();
}

Head into the homebrew settings and enable weapon actions there, don't directly add the features out of the compendium.  That will enable the automatic feature addition and removal.
You can fill in the item descriptions in the journal just like all other temporary items from this module for proper descriptions.
Turn on my VAE setting and it'll even fill in the effect descriptions too.
All the features should be able to be used with or without the prompt.

Head into the homebrew settings and enable weapon actions there, don't directly add the features out of the compendium. That will enable the automatic feature addition and removal. You can fill in the item descriptions in the journal just like all other temporary items from this module for proper descriptions. Turn on my VAE setting and it'll even fill in the effect descriptions too. All the features should be able to be used with or without the prompt.

Ah, thank you for the clarification! I'll remove some of the suggestions since those are alrready implimented haha.


Does not appear to work

Hello,
Thank you for the blog post and this repo. I've tried to follow the post and tried using this repo with docker-compose. Unfortunately in both cases I've ended up with a blank screen and errors in browser console like:
GET /socket.io/?EIO=3&transport=polling&t=NQn5egf 404

Seems like the JS script is attempting to access /socket.io/ on the Python socket server. I can't seem to figure out how or why.

Hi Shurik,
I had the same problem; I haven't done anything with the docker file but locally (not docker) in a python3.9 virtualenv I upgraded:

aiohttp-3.7.3
python-socketio-5.0.4

This gives me a blank firefox page asking for permissions; when I open another firefox page, then things seem to work. It would be great to fix the docker implementation, too.

Hi @shurik and @csik !
Thanks for reporting this issue. I believe I've found a solution. This example uses an old version of socket.io.js client, because React Native had some problems with newer versions. Possibly those problems have been solved already, but I didn't have the time to look into this, so for now I decided to stick to the old version. According to this comment on GitHub, that old version of socket.io client (2.x) requires Engine.IO version 3.x and python-socketio version 4.x:
https://github.com/miguelgrinberg/python-socketio/issues/578#issuecomment-740528415
However, python-socketio package has a newer dependency of python-engineio available, and if left unsupervised, will install 4.0.0. By specifying python-engineio version as 3.9.0 in signaling/requirements.txt this can be fixed:
aiohttp==3.6.2
python-socketio==4.5.0
python-engineio==3.9.0

This solved the issue on my machine. Could you confirm on yours?

Hi @shurik and @csik !
Thanks for reporting this issue. I believe I've found a solution. This example uses an old version of socket.io.js client, because React Native had some problems with newer versions. Possibly those problems have been solved already, but I didn't have the time to look into this, so for now I decided to stick to the old version. According to this comment on GitHub, that old version of socket.io client (2.x) requires Engine.IO version 3.x and python-socketio version 4.x:
https://github.com/miguelgrinberg/python-socketio/issues/578#issuecomment-740528415
However, python-socketio package has a newer dependency of python-engineio available, and if left unsupervised, will install 4.0.0. By specifying python-engineio version as 3.9.0 in signaling/requirements.txt this can be fixed:
aiohttp==3.6.2
python-socketio==4.5.0
python-engineio==3.9.0

This solved the issue on my machine. Could you confirm on yours?

There was a bit of inactivity regarding this task, so I merged the PR ;)