Fixed the Multi Instance Display of Envision

Fixes Issue #784. Edited some changes of PR #545 so that envision does not reconnects to a running simulation when switched to "All Simulation" or multi-instance display.

I have tested this out, it appears to be working. I think there are still a few problems remaining here but it is in much better shape than before.


Specification of the new UI

Here's what I have in mind so far

No more buttons
Have a checkbox that allows users to show errors from all files when enabled
Move the inline bubbles to gutter (HUGE performance improvement)

If you have any suggestions/comments, please do post them below
cc @simurai

Move the inline bubbles to gutter (HUGE performance improvement)

Can you mockup what this would look like? I don't care about performance improvements near as much as I care about usability because the linter is fast enough for everything I write.

@AsaAyers As an example, you can goto http://hacklang.org/ and wait for the in-browser IDE to load. When it's done, just mouse over the gutter tooltips and you'll get an idea of what it'll look like in linter.

Please consider those of us that rarely touch the mouse. I need to see the error near my cursor without touching the mouse.
There is a selection at the bottom to show the error on that line, but it's often way too far away.

@AsaAyers You'll be able to choose the behavior, we are considering splitting UI into a separate package, that way you'll have two packages, one that gives you the current UI and one that favors performance

I think it would be really nice to able to get a slide out panel with all the linting issues from every linter/file displayed in a list. Such as with the TODO plugin.

How about something like:

Only show the N issues in the status-bar
You can toggle the Error Panel with a keybinding or click the N issues in the status-bar
The Error Panel shows a list of all errors/warnings
Top right of the Error Panel there is a toggle to switch between linting in "Current file" or "All files"

@simurai that looks beautiful, did you see the images I sent you of the current state of panel?
Also, we might have to rename the Lint in to Show messages from. Because we don't lint all files, we just show messages from all text editors when All files is selected

did you see the images I sent you of the current state of panel?

Yes, like this:

My thinking was that having a permanent linter bar might be too much. Like in the above screenshot, the only information that I would care is the No Issues. So having a whole bar for that seems like wasting space and it could be shown in the status-bar instead. There will be the "all files" checkbox, but I think it's not that important to have it permanently visible. If you wanna change it, you would open the panel first. Feel free to disagree.. :wink:

:+1: Changed the to Show messages from.

Question: Would it be possible to show the nr of issue (3 Issues) in the status-bar for all files, even if I switch to only show messages from the current file (Errors: 1) in the panel?

Or is that confusing? It would have the benefit that I can keep only showing Current file, but still know that there are errors in other files.

@simurai There is already a config for that Scope of Bottom Status or something

Found it. Ok, great.

@simurai I like the toggle but some users could have issue with it. Some users wanted to have the bottom panel show the lint issues on the current line. See #587.

@kepler0 I am personally :-1: from all the experience with current line tab of bottom panel. We are going to solve it a bit differently this time. This time instead of having the panel show errors for a line, users can just hover the gutter and see all messages for that line

As long as issues on one line are considered, especially in the previously
known use cases, we should be good.
On Fri, Nov 27, 2015, 1:54 AM Steel Brain<EMAIL_ADDRESS>wrote:

@kepler0 https://github.com/kepler0 I am personally [image: :-1:] from
all the experience with current line tab of bottom panel. We are going to
solve it a bit differently this time. This time instead of having the panel
show errors for a line, users can just hover the gutter and see all
messages for that line
—
Reply to this email directly or view it on GitHub
https://github.com/atom-community/linter/issues/1006#issuecomment-160075604
.

This time instead of having the panel show errors for a line, users can just hover the gutter and see all messages for that line

@steelbrain : @AsaAyers brought up a good point that you may be forgetting about users who rather not use the mouse.
Most of the time, I prefer to see only the single line's linter error instead of the entire project/file/N lines.  However, when I'm going to fix the linting errors for the entire file, I toggle the "File" button.  I rarely use the "Project" button and, in fact, hide it with the settings.  In addition, I prefer the error at the bottom of the file instead of in a tooltip because I feel that the tooltip gets in the way of writing code.  Also, the tooltiip conflicts with overlays like autocomplete.  I say that the tooltip gets in the way because many linters add an error when you have a space at the end of the line, so every time you press space, you will have a bubble pop up that blocks the code underneath the current line.

You'll be able to choose the behavior, we are considering splitting UI into a separate package, that way you'll have two packages, one that gives you the current UI and one that favors performance

This does not seem like a good long term solution.  I feel like the "current UI" branch will not be maintained and will break eventually.

I see the point about "only show a panel message when my cursor is over an error".
Well, we could just keep it as is, but move the "tabs/buttons" into the panel:

No more buttons

Why? Just because you don't like buttons?

Have a checkbox that allows users to show errors from all files when enabled

This is what the Project tab is for

Move the inline bubbles to gutter (HUGE performance improvement)

Performance improvements are nice, but do we have a real problem here, and does this require redesigning the whole UI?

@AsaAyers Just a side note that the tabs are very confusing for a lot of people

@simurai Your last panel design looks good, We should have a minimize button on it though like we have in the experimental branch

Well, we could just keep it as is

This is what prompted me to try to find out, why does any of this need to change? The whole project is less than a year old, how is it we need to redesign the whole UI? Why can't you just make incremental changes to fix the actual problems vs scrap the whole UI and build a new one?

After evaluation of the options available, here's what I have decided

We will keep all three tabs
We will move all tabs to the panel

Just like shown in @simurai's image. We will be keeping inline bubbles as the default behavior and will be implementing gutter tooltips in the future (not now).
@AsaAyers We are factoring out linter ui into a separate package, that way community can write their own linter UIs, while we were at it, we decided to solve some long-due issues.
Does anyone have any further suggestions?

:+1:

Did you guys consider block decorations for the errors as an alternative to tooltips (and maybe even the panel itself)?

@varemenos Just filed https://github.com/AtomLinter/linter-ui-default/issues/39 so it can be tracked there.

Closing as the work/discussions of the new UI should be brought up in it's repo


Inconsistencies with setting tags

There seems to be inconsistency with PUTting or PATCHing the tag_list item on tickets. In my experience, it works semi-reliably for tag ID 2, but was not working with a blank list or tag ID 1.
Not sure if this can be reproduced or not. Would be good to investigate.

Blank list is fixed. I made the wrong assumptions about where the tag_list would be called when I wrote the business logic to remove tags. Still investigating why ID 1 causes problems.

It's fixed. Pushing


Docs: added pathPrefix to docs. also added Options section.

added docs explaining pathPrefix.
Also added a section to keep all options docs in one place - if you disagree with this I can revert :)

Codecov Report

Merging #267 (ea73517) into main (2763208) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #267   +/-   ##
=======================================
  Coverage   58.95%   58.95%
=======================================
  Files          20       20
  Lines         441      441
  Branches      112      112
=======================================
  Hits          260      260
  Misses        170      170
  Partials       11       11

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@oliverbutler, Thanks for pointing out those mistakes, all fixed now :)


Added ESM loading support - tests pass - MacOS / Linux / Windows works

See https://github.com/oclif/core/issues/130 for more information. Creating the PR for comments, testing, and further discussion.

@typhonrt I did an initial review. Let me know your thoughts.

Apologies the delay. I was deep in refactoring several core modules for ESM / ES2020 / 21 support. I'm readily available going forward through the Oclif v2 launch. I'll answer all queries from above inline:

We don't have a @oclif/core version of the docs yet, but we will have to update the reference to hook execution order when we do. https://github.com/oclif/oclif.github.io/blob/docs/docs/hooks.md

The hook execution order is the same with the changes (everything happens in sequential order). Documentation additions should cover that you can resolve an actual package name as a hook or from Node 12.16+ which supports the exports property in package.json  a particular export w/ a defined path after the package name.

Can we change this to fetchHelpClass now that it is async?

I'm definitely open to all changes regarding name, structure, and formatting; glad to get this code into Oclif v2!

I don't love shipping with 0.x releases. I took a look in the repo and I can't tell if there are plans to have a 1.x release. They might be waiting for a node equivalent?

Re: get-package-type, indeed is a bit of stopgap module examining the source though it is being used by nyc and has many downstream dependents (nearly 500k) and is doing 7MM downloads a month. It does work and is a CJS module and can be easily used by Oclif v2 being a TS project targeting CommonJS.
I didn't want to be so brazen as to try and include my own module that handles the same task. I have a significantly more robust module that is built for easier ESM usage, IE supports file URLs / import.meta.url. It certainly doesn't have the downstream consumers yet and 0.1.0 for current package version too; I'll be bumping all my new ESM modules to 1.0.0 in the coming month. There is thorough documentation and lots of recent activity shoring it up: @typhonjs-utils/package-json
Even if a Node API equivalent became available this wouldn't be available Node 12+, so some solution like get-package-type or my module is necessary.

I think this name is a little weird, maybe loadWithData or loadWithInfo?

I definitely like the WithData suggestion and adopted a similar pattern in my own module mentioned above.

Can't we completely hide this in ModuleLoader and just call ModuleLoader.load() here instead? The getPackageType call in the ModuleLoader code should resolve the correct pjson.type. To potentially reduce file io, you could also pass in pjson.type to the ModuleLoader.load method maybe?

I do agree that this can be moved to ModuleLoader. In this case it might be best to check the pjson.type directly from the config instead of calling getPackageType for every hook. This can be cleaned up and isESM in the config.ts / plugin.ts removed.

Now I think the best way to proceed is to actually make a new PR. I just want to be absolutely sure there is a clean merge process since there are some conflicting files now with the main branch. I do not see any particular overlapping conflict.
I'll cleanup all of the suggested changes above in addition to adding the quality of life changes I mentioned in #130.
The one area I would like to get your input is in the help subsystem going fully asynchronous. This change is not in the initial PR as also mentioned in #130.  While I rewrote ./src/help/index.ts in ESM I have fully prototyped these changes in my middleware as you can see here. The changes are for showHelp, showCommandHelp, showRootHelp, and showTopicHelp to be made async. I'd be glad to discuss these changes in more detail as necessary, but would like to include them in the new PR.
I'll get started on the new feature branch and test things tomorrow. Do let me know if this sounds like a good way to proceed.
Regards...

I'll cleanup all of the suggested changes above in addition to adding the quality of life changes I mentioned in #130.

Sounds good. I'll close this PR. If I remember correctly, I agree with the quality of life changes but it might be better to do separate PRs: one for the ESM then one for quality of life. It will make the PRs easier to digest and focused if they don't depend on each other.

The one area I would like to get your input is in the help subsystem going fully asynchronous.

I don't see a problem with this. Let's definitely keep this in a separate PR. We will also be adding / changing several help class features in the next month, so I can also make these changes if you want.

many thanks for this enhancement!
I was so confused when i couldn't import stuff in version 1.x


Update kernelspecs tar, wheel filenames. Remove notebook 5.1 one-off code

Recent updates have lead to changes within the scripts for the following...

The elyra wheel file contains dev0 per the python specification, old name was just ...dev...
The kernelspecs tar filename and download location has been updated to remove the - from kernel-specs.  New location: elyra-kernelspecs, New tar file: elyra-kernelspecs.tar.gz.
Notebook 5.1.0 has been GA'd and dependencies updated.  As a result, we don't need special one-off code to handle installation of Notebook 5.1.0.

These updates have been tested against elyra-omg-node-1.fyre.ibm.com (consists of nodes 1 - 5)
Please merge only after https://github.com/SparkTC/elyra/pull/147 has been merged.

PR Merged


use LombokParam to add Param automatically

As there is no LocalVariableTable for interface, nor abstract class.
(Mybatis use jdk-proxy, so cglib won't work if we don't write normal method)
So we must use Param and specify the bind name, or use jdk-8's parameter.
LombokParam can add the value for Param automatically, just like springmvc's RequestParam.
(RequestParan is used in method, it has LocalVariableTable).
Note: currently, only javac version is supported, eclipse is not supported.
And if this pr will be accepted, I will add the eclipse support (as it use ecj, not javac).
For lombok, please visit: https://projectlombok.org/
For example, if we write these codes:

import org.apache.ibatis.annotations.*;

@LombokParam
public interface Mapper {

    int select(int a, int b, int c);

    int select(@Param("c") int a, int b);

}

For maven, please add lombok's dependency, provided is ok.
For javac, it may like this:
javac -cp lombok.jar:mybatis.jar Mapper.java

It will be compiled to:

import org.apache.ibatis.annotations.*;

public interface Mapper {

    int select(@Param("a") int a, @Param("b") int b, @Param("c) int c);

    // original Param is kept
    int select(@Param("c") int a, @Param("b") int b);

}

LombokParam will skip the adding-Param if it exists already.

Thank you for your contribution!
I am not so familiar with Lombok, but isn't it possible to use it as an independent extension?
For several reasons, I think it's not suitable for a core feature (see below), but it could be a useful extension.

It brings in new dependencies.
-parameter option in Java 8 will be a cleaner solution (no extra dependency, annotation).

Regards,
Iwao

There is no runtime dependency.
As you see, the added LombokParam is RetentionPolicy.SOURCE.
The user only need to include lombok (only need during compiling), and then use LombokParam.
Yes, JDK 8 is a better solution. But, many users still use jdk 6.
And there is a check-java-1.6-compat in mybatis's pom.xml, it Make sure we only use Java6 methods.
If this pr won't be accept, I will make it a simple project. For myself, I don't want to write many @Param.
(I don't think push this to lombok, as this is not common to add a new annotation for a special param for lombok).

As there are only 2 files (3 for eclipse support)...so I don't want to make it an independent extension.

@harawata As a sidenote only somewhat related here... Lombok is awesome!  I've been using it for years.  As long as the use is only in provided scope, as noted it generates the code during compilation significantly reducing boilerplate code.  More importantly, if we go this route we can get rid of all getters/setters with a single annotation @Data.  Lombok works easily enough with netbeans, intellij, and eclipse.  With Eclipse it takes a slight setup (one line in eclipse ini file and lombok.jar in root), others are easier as usual.
As for this change, this would most likely mean optional usage and not quite clear on other dependency needs or not being on latest lombok.  Seems pretty advanced in general and clearly violates maven with system scoped usage beyond what we would do with mybatis core.  If we were to introduce lombok, I think we should only do so to get rid of current code we could do without but without providing extrenal functionaly based on that.  One reason is that if for some reason lombok ever were to not work with a future jdk, we could easily enough regenerate boilerplate code.  However, if we add external functionality based on that we could find ourselves in a bad spot.
So my two cents to @liudongmiao is yes lombok is awesome but mybatis core exposing features based on it and other third parties jars probably isn't the right spot for it.  This seems more like an extension use-case that maybe we could link to for others that want it but not introduce this in the core.

@hazendaz Thanks. And I finally make a lombok plugin and using it on my project.


Do not overwrite command environment

I run the local agent on NixOS, and without this fix the commands lose their PATH which means they can't execute any external tool (e.g: uname which is needed by some git commands, git-lfs)

That also works @6543.

@ambroisie would you apply to make the linter happy?

@6543 done.


sh-update should respect --quiet/--noop flags

This is a fairly significant change to the sh-update script. However, I believe it has a few benefits.
As much as possible is shared between fish/bash, to minimize code branches. It's not optimal fish, nor optimal bash, but it simplifies the code.

--quiet (and -q, --silent variants) will mute the 'reloading' and 'done' messages.
tty detection is unified between fish/bash, as is the color code printing
--noop now will cause the rbenv re-init to be skipped
the exit code from rbenv-update is now respected, so a failure exit will prevent the rbenv reload (presently, it should exit as failure if an unrecognized option is given). I would have preferred to use a guard and return/exit if failed (instead of wrapping the entire thing in an if) but i'm not confident in how the output of rbenv-sh-update is evaluated to know if that's safe. pinging @mislav for input :)

Some annoyances with this:

The options parsing is partially duplicated between update and sh-update; although sh-update is only concerned with --quiet and --noop. I don't know of a clean way to fix this duplication.
Options parsing in sh-update is brittle. It only checks $1 (so the --noop + --quiet case is weird). We can't shift through all the options because we still need to pass them to update. If someone wants to take a stab at cleaning up the options parsing (looping without shifting, or shifting while still emitting proper flags to update) that would be welcome. looking at you @maxnordlund

For the arguments parsing I would use grep, something like
if echo "$@" | egrep -q "(-n|--noop)"; then noop=true; fi
if echo "$@" | egrep -q "(-q|--quiet|--silent)"; then quiet=true; fi

@maxnordlund  pushed output branch to your repo. feel free to attack the fish output, and the argument parsing as described above

Yeah, I'll get right on it

How does this output look?
if command rbenv update
  if isatty stdout; set_color --bold; end
  printf "Reloading rbenv\n";
  set_color normal
  printf "";
  source (rbenv init -|psub)
  if isatty stdout; set_color --bold; end
  printf " | ";
  set_color normal
  printf "done\n";
end

The printf lines need trailing semicolons because they are shared with bash. I assume that fish requires semicolons between the conditional of an if and its body? (and before end?) The conditionals were one-lined intentionally to keep the colorize function tidy.

I'm pretty happy with the colorize function extraction. That removed the bulk of the mess within the main case statement. Now the main code is (pseudo code):
if rbenv update
  colorize Reloading
  rbenv init
  colorize done
end

That looks nice, and yes semicolons are needed for one liners. Yeah, that's much nicer. I'd say go with it.

:shipit: ?


.keyword - configurable?

Hey,
I'm wondering if instead of forcing people to use the .keyword field, if this can be configurable for the unanalyzed fields, either as a direct replacement or even better, to be an array of acceptable suffixes e.g. .raw,.keyword ?
The reason for this is if you've been upgrading ELK since the early days there's a good chance you'll be using .raw fields and have persisted to do so.
Which would mean to use logtrail all saved searches, visualizations and dashboards would need to be updated to use .keyword as opposed to whatever suffix is in use.

Introduced keyword_suffix parameter in logtrail.json in 0.1.28 release. Checkout https://github.com/sivasamyk/logtrail/releases/download/v0.1.28/logtrail-6.3.0-0.1.28.zip
Specifies the keyword suffix to be appended for hostname & program fields. Set it to "" to not append any suffix.By default set to keyword. If not specified ( undefined) logtrail will append .keyword for backward compatibility.

Awesome - going to test this out right now.

Works perfectly. Thanks @sivasamyk


Bucket Creation is failing from master branch

Issue/Feature Description:
Bucket creation is failing from master branch. some syncing happend to master branch from different other brnachs. So this integration might be causing issue.
Why this issue to fixed / feature is needed(give scenarios or use cases):
How to reproduce, in case of a bug:
The normal process of bucket create.
Other Notes /  Environment Information: (Please give the env information, log link or any useful information for this issue)

Fixed in #1217 Closing it.


Fix tests for Windows

Fixes #313.
Changes:

Removed all uses of shlex.split. Since windows paths use \, string interpolation + shlex.split will result in those backslashes being interpreted as escape sequences. So I used argument arrays everywhere instead.
Removed the assumption that /tmp is a directory that exists.
Removed usage of tempfile.NamedTemporaryFile(). The named file is opened by the test process, which means that it cannot be written to by a sub process on windows.
Added GH CI job for tests with Windows test runner. Since make doesn't exist on Windows, I copied the test command.

Right now, all tests pass on Windows except for test_download_folder_from_gdrive. I have no idea what this command does, so I can't replace it with equivalent python code.

@RunDevelopment Now I added CI for Windows that uses make command with : https://github.com/wkentaro/gdown/pull/324
I'll work on updating the tests next.


Expense - Using non existing account, pay elsewhere must not displays red dot error

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9. 0.54-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to https://staging.new.expensify.com/home
Tap fab -- start chat with non existing user
Create an expense via submit expense option
Note no error displayed on opening expense
Tap plus icon --Pay expense
Enter an amount and tap next
Tap pay elsewhere
Open the expense
Note red dot error displayed and directs to hmm not here page.

Expected Result:
Using non existing account, user can pay elsewhere must not displays red dot error and on opening expense must not direct to hmm not here page
Actual Result:
Using non existing account, user can submit expense but on pay elsewhere displays red dot error and on opening expense directs to hmm not here page
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[x] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/aea01977-f149-453b-934b-76e19e8a3481
View all open jobs on GitHub

@RachCHopkins  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Site down, will triage tomorrow.

Yes, can replicate. Note there is a step missing in the instructions:

Go to https://staging.new.expensify.com/home
Tap fab -- start chat with non existing user
Create an expense via submit expense option
Note no error displayed on opening expense
5. Go back to the chat
Tap plus icon --Pay expense
Enter an amount and tap next
Tap pay elsewhere
Open the expense
Note red dot error displayed and directs to hmm not here page.

I have concerns here: Why would a person send someone an expense to pay, and then pay it themselves? Is this deliberate? I might check this before adding the External label.

Noting that the expense is not shown as Paid at all - I'm adding more expenses.
Payee end:

Payer end:

IOU functionality, not a priority at this stage. Closing.


Protect the latest event from automatic deletion when using MySQL

Detecting the database type by the name this time, because ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter is defined only if the mysql2 gem is loaded.

This is Take 2 of #1974 and should work around #1940.

Thanks, I'm merging this!


[rfe] explain tag filters in documentation

I think the concept of (plug'n'play) filters to add tagging functionality is pretty brilliant. I have to admit, though: I didn't get it till I looked at the code (from that point on it was perfectly clear - no idea how one could ever do it differently ;)).
So I think it either needs explanation in the documentation (so the user may understand why --tag will 'run the tag filter' and what the filter classes are that can be used with --enable-filters) or the current documentation should avoid mentioning the concept of tag filters.

Started with 796f5edcca163c98732627709cde8329f195de7b


Issue: Bug report Jul19 #1

Description
Steps to Reproduce
Expected Behavior
Relevant Logs / Console output
Your Environment

ex: Browser name and version:
ex: Operating System and version:

Additional context

https://issues.newrelic.com/browse/TP-6759


Build for kibana 5.6.2

@nyurik thanks =)

@ekho thx, I just compiled the new 5.6.2 release and published it.


Form to add a user in one click

We should be able, from the admin pane, to add a new user based on its nivol, without the need of registering him first.

#155


Recognise based on shape too

This sort of thing just shouldn't be allowed.

This is relevant to the backpack feature -- it's the most obvious way to create invalid scripts. These blocks are recognised based on their text, and so they have selectors, so can be converted to JSON. This is undesirable.

Would you prefer the scripts you showed to be not backpack-able? What about scripts like this, where everything is the correct shape, but is still cannot be recreated in the editor:
<key (variable) pressed>? Would you allow this or also try to prevent it?

Wait, I would like the blocks to produce the opcodes based on their text, but add to the backpack the blocks with the correct shapes. Would that be acceptable. I think it should allow stack blocks as inputs to blocks, as this new system makes block hacking easier, and while it is true that block hacking is against the Terms of Use, I don't see this kind of block hacking harmful. I do understand that this could be considered sub-optimal, but many Scratchers would prefer this. It rather depends on what the Scratch Team says, whether they deem this type of block hacking bad. My opinion on this is that it should be allowed, but I know that some will disagree

After the user @herohamp created a mock-up, it works as I prefer, the text i forced into its correct shape, but still allowed, and I really like this. It is currently optimal for safe block hacking, and while this may be against the terms of use, if the JSON is valid enough to produce some kind of script in the editor, I think it should be allowed. Please, keep it the way it is, because a bit of block hacking can make more efficient programming, something Scratch should teach. Have a nice day everybody :)

On the other hand this might be a good idea, as long as you are alright with key var pressed type hacking.

Also modify the parser to look for whitespace after {}, to decide whether to parse as a Block or a Script.

Sorry to come if this is not my conversation but I got a notification about it. I think it is cool how we can make our "Custom" blocks


2D transfer functions

Adding 2D transfer functions (with presets to choose from) would really highlight how this dicom volume viewer stands out.

Posted to vtk.js as a feature request.
We would need to explore capabilities for medical once implemented in vtk.js


New release?

Problem/Motivation
#669 was merged a couple of days ago and it appears that this change is needed to fix some issues seen with https://github.com/FutureTense/keymaster/issues/369 for users of this addon
Expected behavior
A new release happens

Closing, new release will happen once it is tested on all different supported platforms.
../Frenck


YoloDataset Contains Misleading Variable Names

Description
I am confused about the following method:
https://github.com/WongKinYiu/YOLO/blob/cdd9a11c144a0a5b882984c1a1dc0a1aa7b0ab66/yolo/tools/data_loader.py#L60-L70
My impression is that this is a general dataset, yet it seems to only load segmentations and no bboxes, judging from the docstring and variable names.
However, the following method, which does the actual loading seems to talk about bboxes again, even though the argument is clearly called seg_data_one_img:
https://github.com/WongKinYiu/YOLO/blob/cdd9a11c144a0a5b882984c1a1dc0a1aa7b0ab66/yolo/tools/data_loader.py#L110-L112

I think it's just a language/translation thing, and it does load bboxes as you say (and maybe can load segmentation masks with the right config, but I haven't tested that or looked into it).


Feat upgrade polkadot 0.9.36

Related to:

#544

I checked the polkadot releases page and I think we can safely go to https://github.com/paritytech/polkadot/releases/tag/v0.9.36 from the current version we have. Let's do that here

Looks good, command to try runtime chaged a bit:
cargo run --release --features=try-runtime try-runtime --runtime target/release/wbuild/tfchain-runtime/tfchain_runtime.compact.wasm --chain chainspecs/main/chainSpecRaw.json on-runtime-upgrade live --uri ws://<IP_ADDRESS>:9944


Idea: stop gh test suite after first test fails

Stop running test suite when the first test has failed. The down side is that you have to run the test suite locally to see all failures but that should be done anyway..

It's helpful to see all tests that fail


Mutation optimisations are leading to missed mutants in the case of mutating unsigned comparison operators

See #284 - this adds an execute test which is failing. If one hacks the scripts that checks execute tests and adds the --no-mutation-opts flag to Dredd, the tests passes. It seems that a number of cases are being inadvertently missed due to optimisations.

Dredd doesn't produce != mutation on >= in default mode because of the difference in prelude function. Here's the prelude functions
Default mode:
static int __dredd_replace_binary_operator_GE_arg1_unsigned_int_arg2_unsigned_int(unsigned int arg1, unsigned int arg2, int local_mutation_id) {
  if (!__dredd_some_mutation_enabled) return arg1 >= arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 0)) return arg1 == arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 1)) return arg1 > arg2;
  return arg1 >= arg2;
}

no-mutation-opts mode:
static int __dredd_replace_binary_operator_GE_arg1_unsigned_int_arg2_unsigned_int(unsigned int arg1, unsigned int arg2, int local_mutation_id) {
  if (!__dredd_some_mutation_enabled) return arg1 >= arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 0)) return arg1 == arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 1)) return arg1 != arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 2)) return arg1 > arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 3)) return arg1 <= arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 4)) return arg1 < arg2;
  if (__dredd_enabled_mutation(local_mutation_id + 5)) return arg1;
  if (__dredd_enabled_mutation(local_mutation_id + 6)) return arg2;
  return arg1 >= arg2;
}

Seems like this is intentional. The difference is caused by the line here

Thanks - that optimisation will need some careful scrutiny.

Add separate execute tests to check that all expected outcomes occur for mutation of each of the following comparison operators when applied to unsigned operands:

[ ] EQ
[ ] NE
[ ] GE
[ ] GT
[ ] LE
[ ] LT

Attaching a C program used to generate the expectations for mutations on relational operators - used in #291 and #292.
result_generator.c.txt

I had gotten confused about the impact of the optimisations implemented in Dredd. They do lead to certain super-mutants being lost, but that's OK.


Major: rebuild testsuite using more modern configurations

The existing test setup is .. quite.. dated.  I've been working with Cypress on some of my other projects, and I have suspicions that using it here could be quite advantageous compared to the older methods of browser testing that the current setup is using.

Cypress has been implemented as the test runner for quagga2-reader-qr and is definitely very helpful.

Issue #15 is now absorbed into this -- upgrading mocha.
Mocha cannot be upgraded beyond v5 while we are still using the current release of PhantomJS.
Sometime recently, PhantomJS seems to have been taken out of development mothballs, but I think  that given it's current pace of development, and the direction that I was watching it go in when they started getting underway, I think it would be good to move to something that is already built for testing specifically.
As having proper tests is absolutely a passion of mine, and I've done some work on testing inside this project, in related projects, and built entire packages using TDD, this is something that I really want to get to work on soon -- perhaps before completing typescript conversion, as the bulk of the code is now typescript, and what isn't appears that it will be much trickier than what has been converted.
I want to propose several different sets of tests -- one set of code tests that can be run in both node and browser, to test the functionality of as many functions independently of their actual use, as possible -- some of the work to move functionality into more pure functions is to support this, so a bit of this is under way, but not very much.  Another set of code tests that test for the end results in node, and in browser.  And finally a set of tests that tests that the package works right -- that it can be imported and required in every method that we support.  I've just recently implemented a minimal test for that, so that part is well on it's way as well.
I know we can just use mocha/chai for all the node-side tests.  We can use Cypress to easily run end-to-end tests in the browser.  We can theoretically even run a set of Cypress tests that could use a real Chrome browser that is running on a machine that has a real camera, to actually test the LiveStream functionality.  What I'm not presently real sure on, is how we can run pure-function testing on browser.  Perhaps we can use something that is similar to PhantomJS, but is more up-to-date.  Or perhaps we can actually use Cypress in a way that I'm not yet familiar with.
Cypress, as I understand it presently, would be serving the built library to a test environment, so I don't know that it would be usable for functional tests inside the browser environment.  This is something that I may have already explored with the QR reader, so I may already have an answer for that, and just don't remember.
Anyway, if anyone has any thoughts about how to implement testing on a package that is intended to be universal node/browser . . . i want to be 100% confident that when we make a chance of any kind, that if it breaks anything, it will actually break existing tests.  I've had far too many things just totally break without the test suite even noticing, and I'm sick of it. :-)

This is basically completed.  There may still be some changes to how things are organized, particularly depending on future directions of Cypress, but we have a working test suite that tests well in both node and browser now, tests much of the functionality end-to-end (we still need a lot of unit testing, but there's a lot of restructuring necessary to really make this whole suite unit testable), and i find it to be reasonably trustworthy in allowing us to make changes without breaking things.


Unable to assign environment variables on windows.

I have sought help here
https://stackoverflow.com/questions/54821920/passing-a-variable-to-a-docker-build-script/
Simple working example
FROM golang:latest
ARG buildtime_variable=default_value
ENV env_var_name=$buildtime_variable
RUN echo $env_var_name
docker build --build-arg buildtime_variable=a_value .
docker info
Containers: 6
Running: 0
Paused: 0
Stopped: 6
Images: 14
Server Version: 18.09.2
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 17134 (17134.1.amd64fre.rs4_release.180410-1804)
Operating System: Windows 10 Pro Version 1803 (OS Build 17134.590)
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 15.95GiB
Name: DESKTOP-IS4P4HM
ID: TBR5:K3XX:637S:F744:K6DO:FV3P:QTE6:AITA:IMEO:Q3LB:VDXQ:FRDX
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: -1
Goroutines: 30
System Time: 2019-02-23T03:53:37.7309134+11:00
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
<IP_ADDRESS>/8
Live Restore Enabled: false
Product License: Community Engine
docker version
Client: Docker Engine - Community
Version:           18.09.2
API version:       1.39
Go version:        go1.10.8
Git commit:        6247962
Built:             Sun Feb 10 04:12:31 2019
OS/Arch:           windows/amd64
Experimental:      false
Server: Docker Engine - Community
Engine:
Version:          18.09.2
API version:      1.39 (minimum version 1.24)
Go version:       go1.10.6
Git commit:       6247962
Built:            Sun Feb 10 04:28:48 2019
OS/Arch:          windows/amd64
Experimental:     false

I've observed this happening on different windows PCs

Closing as this is the wrong repo to open this issue in.
Ask in https://github.com/moby/moby


save_changes is only available for types that implement Copy

As far as I can see, save_changes is only available for types that implement Copy: T: Copy + AsChangeset<Target=T::Table> + IntoUpdateTarget. But for most models that would not be the case, since String, which is arguably one of the most common fields in models, does not implement Copy.
Is it possible to ease the requirements for SaveChangesDsl?

SaveChangesDsl (along with AsChangeset, IntoUpdateTarget, and Identifiable) is implemented on a reference to your struct, not the struct itself. References always implement Copy. If save_changes isn't present, you're probably missing either #[derive(AsChangeset)] or #[derive(Identifiable)]


⚠ Bofrost.de has degraded performance

In b7a5da6, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1428 ms

Resolved: Bofrost.de performance has improved in 42a0514 after 31 minutes.


URL resolution: use ./foo.html for relative paths

See https://github.com/angular/angular/issues/8953
We should generate app layouts using ./ paths.

@hansl @IgorMinar @jelbourn FYI

This will instead be an issue to generate the code as explained in this issue. Issue https://github.com/angular/angular/issues/8953 has been filed on the core side.

Closing this as obsolete. This has been done (and people are struggling but moving over to new conventions).


Create new blog post.

Question: Are the blogs meant as internal tools for GeneNetwork, or can we include them as part of the GeneNetwork blogs? See: an example: cd.genenetwork.org/gn-docs/blogs.

Great point, thanks for bringing this up!  Initially, I went with this approach because it was the simplest solution at the time.  @pjotrp @robwwilliams, when you have a moment, I’d love to hear your thoughts on this.  Since we have our engineering blog entries in gn-gemtext, do you think it makes sense to migrate them over to our main website?  Personally, I'd keep it in gn-gemtext, as it is engineering related.  And leave our main website for things related to bio-informatics.  But since you bring this up, it's a nice opportunity to add more bio-informatics entries related to GN from folk like @fetche-lab


Can you please confirm, whether all existing private Teams are automatically discoverable after this feature launch?

Can you please confirm, whether all existing private Teams are automatically discoverable after this feature launch?

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

ID: f5920152-5fee-41ed-56df-ad7b51b25cc2
Version Independent ID: 88cfc850-5e36-48ee-ba99-088b2b653f1e
Content: Manage discovery of private teams in Microsoft Teams
Content Source: Teams/manage-discovery-of-private-teams.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@gurubn Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@officedocsbot assign @scanum

So I guess the "Team Code" section in Team Settings goes away with the new Team Discovery" section? We still have the Team Code section. Looking forward to this new method for allowing people to discover private teams.

@gurubn thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@officedocsbot close


A minor mistake？

Hi!
Thank you for sharing your code. I notice a minor mistake in your code when you extract features from a pre-trained VGG16.
Source code of pascal.py
vgg16_outputs = []
def hook(module, x, y):
     vgg16_outputs.append(y)

vgg16.features[20].register_forward_hook(hook)  # relu4_2
vgg16.features[25].register_forward_hook(hook)  # relu5_1

out1 = F.interpolate(vgg16_outputs[0], (256, 256), mode='bilinear',align_corners=False)
out2 = F.interpolate(vgg16_outputs[0], (256, 256), mode='bilinear', align_corners=False)

https://github.com/rusty1s/pytorch_geometric/blob/df0612bca76b14464b13c86759eec0c56ebc8154/torch_geometric/datasets/pascal.py#L226
The out2 is edge features from vgg16_outputs[1] ?
Anyway your code helps me a lot. ^_^
Thanks,
Qiafanqie

Can you clarify on what is the exact issue?

Hi, I see you register two hooks. So why get bilinear interpolation for out2 from vgg16_outputs[0] but not vgg16_outputs[1] ? thanks

Can you clarify on what is the exact issue?

Hi, I see you register two hooks. So why get bilinear interpolation for out2 from vgg16_outputs[0] but not vgg16_outputs[1] ? thanks

Oh, I see, you're right! That is a mistake. Thank you, this is now fixed.


Change appearance of attachment boxes in message view screen

Closes #2009

I created issue #4646 for improving the way we display attachments.

Is this default functionality now, or is there a way to turn this on or enable it? because I just pulled version 5.714 and the images in the emails I'm seeing are just little icons, not even thumbnails, and i have to manually tap each one to view the image.

It only works for supported image types (jpeg, png and gif) and only for attachments already downloaded (tap the "download complete message" button).

The images are jpegs, and the message has been fully downloaded already.

I'm guessing the email doesn't contain the proper MIME type for the images.

it's plausible that's the case - the emails are coming from an axis security camera.
Before upgrading to this version, the images were being displayed properly and would render, but theyd show up as teeeny tiny thumbnails, so it was working in previous versions of k9.


Feature request: Include figures in cite checks

Is it possible to include the checking of unreferenced figures as well? This could be useful for scientific papers.
Thanks.

Hi Chris, thanks for the feedback!
checkcites is currently in maintenance mode. We are trying our best to bring the project back on track with new and exciting features. Unfortunately, we don't have the capacity at the moment, but we will definitely keep the community posted.
I see value in having a mechanism for these additional checks (eg., tracking \label's and \ref's), so we will include this topic in our discussions. :wink:
Cheerio!

Hi Paulo,
Thanks for the response.
That's quite understandable! Great software, btw, saved me and my coursemates a lot of trouble for our theses! ❤
Regards,
Christian


Add a license?

Exciting work!
A new Flatland challenge is ongoing: https://www.aicrowd.com/challenges/neurips-2020-flatland-challenge/
I'm one of the organizers, and I'd love to feature your work in our documentation (https://flatland.aicrowd.com/research/top-challenge-solutions.html), both the code here and the Thesis work at https://amslaurea.unibo.it/20412/1/thesis_giulia_cantini.pdf.
Would you be willing to add license information to this repo so participants would be able to build on your current approach?
Cheers,
Florian

Thank you Florian!
The license is now available, you may add our work to the docs, we are happy to possibly help participants in developing new approaches in Flatland.
You can also find additional info on the code at https://amslaurea.unibo.it/20487/1/farinelli_devid_tesi.pdf, the thesis by @misterdev , but only in Italian.
Giulia


package.json: Update core-js package dependency

Check for any outstanding update of point version of any outstanding NPM package dependency

[x] npm-update

npm-update in progress on 4-ci-srv-01.
Log: https://<IP_ADDRESS>:8493/logs/npm-update-858-20191223-171818/

npm-update core-js done: https://github.com/cockpituous/welder-web/commits/npm-update-core-js-20191223-171919

Please manually check features related to these files:
main.js:import "core-js/stable";
package.json:    "core-js": "3.6.0",
package.json:    "core-js-compat": "3.5.0",

Codecov Report

Merging #858 into master will decrease coverage by 6.43%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #858      +/-   ##
==========================================
- Coverage   77.79%   71.35%   -6.44%
==========================================
  Files          69       69
  Lines        3386     3386
  Branches      710      710
==========================================
- Hits         2634     2416     -218
- Misses        752      970     +218

Impacted Files
Coverage Δ

components/Modal/DeleteImage.js
15.78% <0%> (-73.69%)
:arrow_down:

components/ListView/ListItemImages.js
3.44% <0%> (-46.56%)
:arrow_down:

core/sagas/modals.js
40% <0%> (-44%)
:arrow_down:

core/sagas/composes.js
34.32% <0%> (-34.33%)
:arrow_down:

components/ListView/SourcesListItem.js
70% <0%> (-30%)
:arrow_down:

core/reducers/modals.js
45.16% <0%> (-27.42%)
:arrow_down:

core/reducers/composes.js
30.3% <0%> (-27.28%)
:arrow_down:

components/ListView/ImagesDataList.js
75% <0%> (-25%)
:arrow_down:

core/actions/modals.js
61.9% <0%> (-19.05%)
:arrow_down:

components/Modal/ManageSources.js
73.59% <0%> (-18.41%)
:arrow_down:

... and 9 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 e6212e2...a06f56a. Read the comment docs.


SEPG Automated Release - v5.1.1

SEPG Details
Release Build Link: http://sou-jenkins2.swinfra.net:8080/job/Auto-Release/85/
Build Token: github.com/JobService/job-service-client/master/6ac10c44dded193cf8af9c03e49ce7c34e56340d
Versioning Behaviour: Roll on to next minor
Artifacts For Release
Maven

com.github.jobservice:job-service-client:5.1.1-365(javadoc.jar,tests.jar,sources.jar,pom,tests.jar.asc,sources.jar.asc,pom.asc,javadoc.jar.asc,jar,jar.asc)
com.github.jobservice:job-service-client-aggregator:5.1.1-365(pom,pom.asc)
com.github.jobservice:job-service-client2:5.1.1-365(javadoc.jar,pom,javadoc.jar.asc,sources.jar,jar,pom.asc,sources.jar.asc,jar.asc)

 Build Stage
Action
Status

Release Checks
completed
:heavy_check_mark:

Gather Release Data

:white_small_square:

QA Documentation Site Deployment

:white_small_square:

QA Deployment Branch Promotion

:white_small_square:

Docker Image Promotion

:white_small_square:

Maven Artifact Promotion (Closed Source)

:white_small_square:

NuGet Artifact Promotion

:white_small_square:

Artifactory Release Artifact Tagging

:white_small_square:

Generic Artifact Promotion

:white_small_square:

Maven Artifact Promotion (Open Source)

:white_small_square:

Maven Staging Repository Removal (Open Source)

:white_small_square:

Git Tagging

:white_small_square:

Git Release

:white_small_square:

Git Release Asset Deployment

:white_small_square:

Pull Request Merge

:white_small_square:

Release Branch Deletion

:white_small_square:

view the build log here


"Sboghițești", "Slatina" are listed in the drop-down menu

Description:
When user writes "Sboghițești" and "Slatina" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Sboghițești"

Expected results
The location appears in the drop-down menu as "Sboghițești, Argeș (Nucșoara)"

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Slatina"

Expected results
The location appears in the drop-down menu as "Slatina, Argeș (Nucșoara)"


Optionally store username and password as options or env vars?

For authenticate_sb() would you be interested in allowing retrieval of auth strings within the function?
Could use either options (via getOption()) or env vars (via Sys.getenv()) - either in the function definition itself, e.g,.
authenticate_sb = function(username = getOption("sb_username"), password = getOption("sb_pwd")){
    ...
}

Or within the function e.g.,
authenticate_sb = function(username, password){
    if (missing(username)) username <- getOption("sb_username") # or Sys.getenv(...)
    if (missing(password)) password <- getOption("sb_pwd") # or Sys.getenv(...)
    ....# with other logic for prompting for these strings if not stored and not given in function call
}

Eh, I'm hoping to prevent any plain-text storage of passwords where possible.

plain-text storage of passwords

What do you mean?  You mean prevent users from storing them on their machine? Or prevent from storing in the R session?

Both. I'm a little uncomfortable with the ability to pass the password into a function, which could leave it around in R history. But I think we should leave that for now.

okay, makes sense
feel free to close


Feature Request: support skip action for skipping an action

Summary
What change needs making?
For an instantiated workflow, we'd already support resume, suspend, stop such actions, but for a complete workflow engine, we also need to support skip action for allowing to skip an action.
Use Cases
When would you use this?
When we submitted a workflow, and it's running a specific step, which is optional and could be skip, e.g. send a message to say it's doing the task. If we disallow to skip an action, we had to stop this workflow and remove that step if the message system broken and we couldn't run the same workflow anymore.
If we could support skip, life becomes more easier, and we can just skip that action!

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

@Colstuwjx could you elaborate on how you see the skip functionality to work? Would this be something that is similar to suspend or manual approve where a yes/no would result in that the step is skipped or not? How do you see outputs being handled if they are required as input in downstream steps? Thanks.

@alexec would it make sens to extend the "TemplateTypeSuspend" to allow for inputs from the user and propagate as output, this would allow the use of conditionals for to skip actions?

@alexec would it make sens to"TemplateTypeSuspend" allow for inputs from users and propagate as output, this would allow the use of conditionals for to skip actions?

I realised that this is already available example here

I think the skip functionality can be achieved combining suspend with outputs and conditionals, will try it out see if I can create an example.

Here are two questions that I'm concerning about:

If we suspend a workflow and resume it, argo would skip the current action and just set it as succeed, and turn to the next step, right? Why? It looks weird! The general workflows which I've seen are all default to stay with the same action and suspend-resume did same work like retry.

As the general workflows design to retry rather than skip in the previous case, they need separate skip primitive to skip a specific step. If argo said that we could achieve that goal by suspend-and-resume it, yes, it works, but I still wonder if it's a standardized design pattern.

I think the skip functionality can be achieved combining suspend with outputs and conditionals, will try it out see if I can create an example.

As I mentioned before, I don't think it's an elegant way to implement this feature, it might work, but on the other hand, it would make our workflow yaml becomes even more complicated.
Let's say a scenario for illustrating it: we have a workflow for CI/CD pipeline, and it would do build, unit-test, integration-test, security-scan, package and finally deploy. If something wrong with a specific action while instantiated a workflow, I'd like to check or skip it according the action details, and the choice should be user's.
It's hard to write these exception cases into our workflow, even though we could make this, it's still a problem to make different action according to the real run details.
Thanks!

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: suspend-outputs-
spec:
  entrypoint: suspend
  templates:
  - name: suspend
    steps:
    - - name: approve
        template: approve
    - - name: release
        template: whalesay
        arguments:
          parameters:
            - name: message
              value: "{{steps.approve.outputs.parameters.message}}"
        when: "{{steps.approve.outputs.parameters.message}} == approve"

  - name: approve
    suspend: {}
    outputs:
      parameters:
        - name: message
          valueFrom:
            supplied: {}

  - name: whalesay
    inputs:
      parameters:
        - name: message
    container:
      image: docker/whalesay
      command: [cowsay]
      args: ["{{inputs.parameters.message}}"]

To run it:
argo submit -n argo

then user eaither
argo node set suspend-outputs-GENERATE-NAME --output-parameter message="no" --node-field-selector displayName=approve -n argo

or
argo node set suspend-outputs-GENERATE-NAME --output-parameter message="approve" --node-field-selector displayName=approve -n argo

and resume it.
argo resume suspend-GENERATE-NAME -n argo

I don fully follow on what you refer to with

If something wrong with a specific action while instantiated a workflow, I'd like to check or skip it according the action details, and the choice should be user's

I think this will give the user the possibility do decide it or not. @Colstuwjx.  Concerning if retry don't work in this conext I will have to verify that.
I would be interested to get your opinion about having a dedicate template for this or relying on the current features @alexec. Thanks

Do you have some thoughts on this @alexec?

I think having the option to skip a step makes sense. Skip has a semantic meaning. I'm not sure we need a new template. It makes sense to me to have this after a suspend step.

@NikeNano If I have a step executed failed, I can retry it or hope to skip it, just run the next step, your example can resolve my problem?


ci(nvmrc): add nvmrc file

Add .nvmrc file
:house: CI
27ac762 - ci(nvmrc): add nvmrc file

CDS Report deploy-UXCI-EU#750.0 ✘

deploy_uxci

deploy_uxci ✘

Please ignore the ovh-cds comments. It's related to an issue when using the deploy pipeline.


Cirrus: Fix success failing on artifact extraction

There's a clash w/ the x86_64 binary netavark-dhcp-proxy:
unzip armbinary.zip
+ unzip armbinary.zip
Archive:  armbinary.zip
replace bin/netavark-dhcp-proxy? [y]es, [n]o, [A]ll, [N]one, [r]ename:
NULL
(EOF or read error, treating as "[N]one" ...)

Rather than hard-code every new binary file, simply rename them all in a loop.

netavark-dhcp-proxy no longer exists, why is this causing problems? https://github.com/containers/netavark/pull/619
Regardless not hard coding the names LGTM

netavark-dhcp-proxy no longer exists

I can't find a good answer for that.  I searched all over in this PR's CI run and it's not built, stored or restored from any cache.
The example failing job was from 'main' on the 14th, and based on f3eaf86a1739e686fc7ce31af0c2e569863c3099.  The only explanation I have is it was restored from cache. before the build.  I can fix that by invalidating the cache key.

I believe this PR is ready to go.

/lgtm


Tracer misses symlink when shebang points to one

If a file gets executed, and its shebang points to a symlink, only the target will be packed.
See also #16

A solution here is to just read the shebang line from files that were executed.

(note: Linux recurses here)

Relevant part: http://lxr.free-electrons.com/source/fs/binfmt_script.c?v=3.16#L17
execve() tries (here) all the registered binary formats (with register_binfmt). Interesting note: a single argument is accepted for the interpreter (will not be split in words further).

Fixed by 3c063648.


Invisible cursor in View Mode

This happens when you reload the page without entering the document area and go into "View Mode" by pressing the Spacebar. After that you entering the area and the cursor becomes invisible.
Please review this bug in the master branch.

The update_device_list function overwrites the cursor state of the active view mode.
https://github.com/typable/outline/blob/92b71ce9cc463931e9f670a3e9fbbc5293633a1e/public/js/app/index.js#L297

Bug fixed due to e8489a3e19797e23896c45ab3ab1f0635c4f081d.


2d atrous convolution and atrous depthwise convolution

This implements 2d atrous convolution and 2d atrous depthwise convolution, as described in Rethinking Atrous Convolution for Semantic Image Segmentation. Refer to the documentation for tf.nn.atrous_conv_2d for an explanation of of how atrous convolution works.
Atrous convolution is currently implemented in TensorFlow in the following methods (the parameter name is listed next to each method):

tf.nn.conv2d - dilations
tf.nn.conv2d_backprop_filter - dilations
tf.nn.conv2d_backprop_input - dilations
tf.nn.conv3d - dilations
tf.nn.conv3d_backprop_filter_v2 - dilations
tf.nn.convolution - dilation_rate
tf.nn.atrous_conv2d -rate
tf.nn.atrous_conv2d_transpose - rate
tf.nn.depthwise_conv2d - rate
tf.nn.depthwise_conv2d_native - dilations
tf.nn.depthwise_conv2d_native_backprop_filter - dilations
tf.nn.depthwise_conv2d_native_backprop_input - dilations
tf.nn.dilation2d - rates
tf.nn.quantized_conv2d - dilations

This PR modifies the webgl and cpu ops depthwiseConv2d and conv2d to take the parameter dilationRate and perform atrous convolution if the rate width or height is greater than 1.  In its current state, it is potentially a breaking change in the api for conv1d and conv2d as it adds the positional argument dilations.

This change is

This is not ready to merge yet, it's just been opened to get some feedback/review.  Particular things that I would like feedback on:

Both backend_cpu's conv2danddepthwiseConv2d` were inconsistent with the way their corresponding gpu methods were written, and I found it challenging to figure out how to use the dilation parameters in the cpu method.    I refactored those cpu methods to have similar logic to their corresponding gpu methods, and was able to more easily use dilation.  I'm not sure if the cpu methods were different by design for performance reasons.
For testing atrous convolution, a standard filter was converted into the dilated version by padding it with 0s in between the values.  Then atrous convolution was performed using the standard filter, and standard convolution was done with the dilated version of the filter, and the results were compared for similarity.
The change to the apis of conv1d and conv2d would be a breaking change as it adds a positional argument of dilations in the middle of the arguments.  It may be better to add that parameter to the end, or just to create a separate method atrousConv2d.

Besides the above requested feedback, still what needs to be done in this PR:

[ ] raise errors when doing backprop on convolution layers where dilation rates are greater than 1
[ ] If we are sticking with the breaking change, update all the models and examples in the repo to account for this new parameter.
[ ] Add more tests for depthwiseConv2d where dilation is greater than 1.

Hi Dan,
This is an amazing PR. Replies below:

Don't worry much about the backend_cpu implementations. We mostly use it for sanity checking our webgl implementations. Refactoring is fine.
It's ok for testing atrous in a slightly different way.
Regarding API, I left a comment below. We are ok with being a breaking change, but have some request for the order of params and adding dataFormat now.

Thanks again for the awesome PR.

Review status: 0 of 12 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

src/ops/conv.ts, line 129 at r2 (raw file):

  static conv2d<T extends Tensor3D|Tensor4D>(
      x: T, filter: Tensor4D, strides: [number, number]|number,
      dilations: [number, number]|number = [1, 1], pad: 'valid'|'same'|number,

Let's add dilations after padding, but before dimRoundingMode. Also can you add dataFormat = 'NHWC' before the dilations, so we don't break users again when we add data format later.
Basically the signature should be x, filter, strides, pad, data_format='NHWC', dilations=[1, 1].
Throw an error if dataFormat is not "NHWC" for now. We can add the functionality later.
To the same for conv1d

Comments from Reviewable

Regarding testing atrous convolution, I struggled to properly setup a test for depthwiseConv2d when there is dilation,  inDepth, and chMul greater than 1.
What I'm trying to do is populate the weight tensor with 0s to represent dilation, first columnwise then rowwise (first two dimensions) but I can't figure out the proper way.
Here is the test code:
    const fSize = 2;
    const pad = 'same';
    const stride = 1;
    const dilation = 2;
    const chMul = 2;
    const inDepth = 2;

    const x = dl.tensor4d(
        [
          0.675707, 0.758567, 0.413529, 0.963967, 0.217291, 0.101335, 0.804231,
          0.329673, 0.924503, 0.728742, 0.180217, 0.210459, 0.133869, 0.650827,
          0.047613, 0.554795, 0.653365, 0.442196
        ],
        [1, 3, 3, inDepth]);
    const w = dl.tensor4d(
        [
          0.347154, 0.386692, 0.327191, 0.483784, 0.591807, 0.24263, 0.95182,
          0.174353, 0.592136, 0.623469, 0.988244, 0.660731, 0.946534, 0.0801365,
          0.864889, 0.874602
        ],
        [fSize, fSize, inDepth, chMul]);
    // adding a dilation rate is equivalent to using a filter
    // with 0s for the dilation rate
    const fSizeDilated = fSize + (fSize - 1) * (dilation - 1);
    const wDilated = dl.tensor4d(
        [
          0.347154, 0, 0.386692,  0, 0, 0, 0.327191, 0, 0.483784,
          0.591807, 0, 0.24263,   0, 0, 0, 0.95182,  0, 0.174353,
          0.592136, 0, 0.623469,  0, 0, 0, 0.988244, 0, 0.660731,
          0.946534, 0, 0.0801365, 0, 0, 0, 0.864889, 0, 0.874602
        ],
        [fSizeDilated, fSizeDilated, inDepth, chMul],
    );

    const result = dl.depthwiseConv2d(x, w, stride, pad, dilation);

    const expectedResult = dl.depthwiseConv2d(x, wDilated, stride, pad);

    expect(result.shape).toEqual(expectedResult.shape);
    expectArraysClose(result, expectedResult);

This test fails because the matrix does not get populated the right way due to me not putting the 0s in the proper positions.  How should I write something that populates it the right way?  I've also tried something like:
const wDilated = dl.tensor4d(
        [
          [[
            [0.347154, 0, 0.386692, 0, 0, 0, 0.327191, 0, 0.483784],
            [0.591807, 0, 0.24263, 0, 0, 0, 0.95182, 0, 0.174353]
          ]],
          [[
            [0.592136, 0, 0.623469, 0, 0, 0, 0.988244, 0, 0.660731],
            [0.946534, 0, 0.0801365, 0, 0, 0, 0.864889, 0, 0.874602]
          ]]
        ],
        [fSizeDilated, fSizeDilated, inDepth, chMul],
    );

but get the error: 	Error: Error creating a new Tensor. Inferred shape (2,1,2,9) does not match the provided shape (3,3,2,2). Shapes 3,3,2,2 and 2,1,2,9 must match

Review status: 0 of 10 files reviewed at latest revision, 1 unresolved discussion.

src/ops/conv.ts, line 129 at r2 (raw file):
Previously, dsmilkov (Daniel Smilkov) wrote…
Let's add dilations after padding, but before dimRoundingMode. Also can you add dataFormat = 'NHWC' before the dilations, so we don't break users again when we add data format later.
Basically the signature should be x, filter, strides, pad, data_format='NHWC', dilations=[1, 1].
Throw an error if dataFormat is not "NHWC" for now. We can add the functionality later.
To the same for conv1d

Fixed in 25a532b.
The ordering here is slightly inconsistent, in order to match the ordering in Tensorflow:

In conv1d, as in tf.nn.conv1d, it's ordered stride, pad, dataFormat, dilation
In conv2d, as in tf.nn.conv2d, it's ordered strides, pad, dataFormat, dilations
In depthwiseConv2d, as in tf.nn.depthwiseConv2d, it's ordered strides, pad, dilations, dataFormat

Let me know if this is ok with you, or if you think it would be better to keep the ordering consistent within deeplearn.js.
For conv1d it accepts NWC or NCW but throws an error if it's not NWC
Also, TF doesn't have a dilation or rate parameter for tf.nn.conv1d - so not sure if we should get rid of that parameter that was added in this PR for that method.

Comments from Reviewable

Sorry for the long delay. This is amazing work and would love to check this:
Regarding the test, maybe easier to populate the weights using a tensor buffer and using buffer.set(value, ...coords):
const buf = dl.buffer<Rank.R4>([fSizeDilated, fSizeDilated, inDepth, chMul]);
buf.set(0.347154, 0, 0, 0, 0); // [0,0] in filter, 0 inDepth, 0 chMul
buf.set(0, 0, 1, 0, 0); // [0,1] in filter, 0 inDepth, 0 chMul
buf.set(0.386692, 0, 2, 0, 0); // [0, 2] in filter, 0 inDepth, 0 chMul
.....
wDilated = buf.toTensor();

Left 1 comment about the API. Thanks for summarizing the differences so nicely.

Reviewed 2 of 12 files at r1, 1 of 3 files at r2, 3 of 5 files at r4, 3 of 4 files at r5.
Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

src/ops/conv.ts, line 129 at r2 (raw file):
Previously, oveddan (Dan Oved) wrote…
Fixed in 25a532b.
The ordering here is slightly inconsistent, in order to match the ordering in Tensorflow:

In conv1d, as in tf.nn.conv1d, it's ordered stride, pad, dataFormat, dilation
In conv2d, as in tf.nn.conv2d, it's ordered strides, pad, dataFormat, dilations
In depthwiseConv2d, as in tf.nn.depthwiseConv2d, it's ordered strides, pad, dilations, dataFormat

Let me know if this is ok with you, or if you think it would be better to keep the ordering consistent within deeplearn.js.
For conv1d it accepts NWC or NCW but throws an error if it's not NWC
Also, TF doesn't have a dilation or rate parameter for tf.nn.conv1d - so not sure if we should get rid of that parameter that was added in this PR for that method.

Thanks for the detailed list. Let's go with being consistent within deeplearn,
so have depthwiseConv2D take strides, pad, dataFormat, dilations.
Conv1 accepting nwc or ncw sounds great.
Keep dilation and rate in conv1d in deeplearn to be consistent across the board.

Comments from Reviewable

Review status: 5 of 9 files reviewed at latest revision, 1 unresolved discussion.

src/ops/conv.ts, line 129 at r2 (raw file):
Previously, dsmilkov (Daniel Smilkov) wrote…
Thanks for the detailed list. Let's go with being consistent within deeplearn,
so have depthwiseConv2D take strides, pad, dataFormat, dilations.
Conv1 accepting nwc or ncw sounds great.
Keep dilation and rate in conv1d in deeplearn to be consistent across the board.

Fixed 281335f0ed8f72e578a93d3dcc941705dbd533ba

Comments from Reviewable

This looks great. Let me know when the depthwise tests are added, and we'll be good to go. Thanks for the amazing work Dan!

Reviewed 4 of 4 files at r6.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

So I added a couple depthwise conv2d tests for atrous convolution, but in a different way than you suggested.   It would have been challenging to build up a 3x3x2x2 filter then set each value one by one.
It was easier to do it by building individual 2d filters with the desired values, then to stack them:
  const w =
        dl.stack(
              [
                dl.tensor2d(
                    [0.614293, 0.0648011, 0.101113, 0.452887], [fSize, fSize]),
                dl.tensor2d(
                    [0.0582746, 0.426481, 0.872743, 0.765767], [fSize, fSize])
              ],
              2)
            .expandDims(3) as dl.Tensor4D;

    // adding a dilation rate is equivalent to using a filter
    // with 0s for the dilation rate
    const fSizeDilated = fSize + (fSize - 1) * (dilation - 1);
    const wDilated =
        dl.stack(
              [
                dl.tensor2d(
                    [0.614293, 0, 0.0648011, 0, 0, 0, 0.101113, 0, 0.452887],
                    [fSizeDilated, fSizeDilated]),
                dl.tensor2d(
                    [0.0582746, 0, 0.426481, 0, 0, 0, 0.872743, 0, 0.765767],
                    [fSizeDilated, fSizeDilated])
              ],
              2)
            .expandDims(3) as dl.Tensor4D;

I added a couple tests that do this, one with dilation of 2 and chMul of 1, and another with dilation of 2 and chMul of 2 (resulting in a 3x3x2x2 dilated filter).

Review status: 8 of 9 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

 That's really smart. This looks ready to submit. Thanks again for the amazing work!

Reviewed 1 of 1 files at r7.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


[Bug]: DependencyDistanceCalculator: Logging for unresolvable dependencies is in plaintext

Problem Description
Using "@instana/collector": "3.1.1"
and
import instana from '@instana/collector';

instana({
        agentHost: process.env.INSTANA_HOST,
        agentPort: process.env.INSTANA_PORT,
});

im getting mixed log formatting on app startup
{"pid":20,"msg":"The Instana host agent is ready to accept data.","loglevel":"INFO","loglevel_value":30,"service":"redacted","@timestamp":"2024-01-26T09:28:10.983Z","host":"8bdc430ebff8","log_type":"application","application_type":"service","current_color":"blue"}
{"pid":20,"msg":"Transitioning from %s to %s","loglevel":"INFO","loglevel_value":30,"service":"redacted","@timestamp":"2024-01-26T09:28:10.983Z","host":"8bdc430ebff8","log_type":"application","application_type":"service","current_color":"blue"}
{"pid":20,"msg":"Reporting unhandled promise rejections is disabled.","loglevel":"INFO","loglevel_value":30,"service":"redacted","@timestamp":"2024-01-26T09:28:10.984Z","host":"8bdc430ebff8","log_type":"application","application_type":"service","current_color":"blue"}
{"pid":20,"msg":"The Instana Node.js collector is now fully initialized and connected to the Instana host agent.","loglevel":"INFO","loglevel_value":30,"service":"redacted","@timestamp":"2024-01-26T09:28:10.990Z","host":"8bdc430ebff8","log_type":"application","application_type":"service","current_color":"blue"}
Ignoring failure to resolve the path to dependency @types/express for dependency distance calculation.
No main module path for dependency @types/express.
Ignoring failure to resolve the path to dependency pg-native for dependency distance calculation.
No main module path for dependency pg-native.
Ignoring failure to resolve the path to dependency @types/cls-hooked for dependency distance calculation.
No main module path for dependency @types/cls-hooked.
Ignoring failure to resolve the path to dependency type-fest for dependency distance calculation.
No main module path for dependency type-fest.
Ignoring failure to resolve the path to dependency @types/shimmer for dependency distance calculation.
No main module path for dependency @types/shimmer.
Ignoring failure to resolve the path to dependency @types/long for dependency distance calculation.
No main module path for dependency @types/long.
Ignoring failure to resolve the path to dependency @types/node for dependency distance calculation.
No main module path for dependency @types/node.
Ignoring failure to resolve the path to dependency encoding for dependency distance calculation.
No main module path for dependency encoding.
Calculation of dependency distances took 199 ms.

I'm not sure why those dependencies cannot be resolved but my actual problem is with the  logging being plaintext.
We're importing the logs into an elk stack and filebeat cannot parse the plaintext logging.
Using another logger via instana(...).setLogger(...) doesn't seem to change this behaviour.
Is there any way to get the DependencyDistanceCalculator to log in JSON format?
Short, Self Contained Example
No response
Node.js Version
20.11.0
package.json
{
    "name": "redacted",
    "version": "1.0.0",
    "description": "",
    "main": "src/server.js",
    "scripts": {
        "start": "NODE_ENV=production NODE_OPTIONS='--use-openssl-ca' ts-node ./src/server.ts",
        "dev": "NODE_ENV=development nodemon -r dotenv/config ./src/server.ts",
        "test": "npm run lint && npm run jest",
        "jest": "jest --verbose --no-cache --coverage",
        "lint": "eslint . --ext .js,.ts",
        "sonar": "node_modules/sonarqube-scanner/dist/bin/sonar-scanner",
        "audit": "./node_modules/better-npm-audit/index.js audit",
        "reinstall": "rm -rf node_modules && rm -f package-lock.json && npm install --force && rm -rf node_modules && npm ci && npm run audit && npm run test"
    },
    "author": "",
    "license": "ISC",
    "dependencies": {
        "@instana/collector": "3.1.1",
        "consul": "1.2.0",
        "db-migrate": "0.11.14",
        "db-migrate-pg": "1.5.2",
        "express": "4.18.2",
        "express-prom-bundle": "7.0.0",
        "kafkajs": "2.2.4",
        "kafkajs-snappy": "1.1.0",
        "log4bro": "3.18.0",
        "lz4": "0.6.5",
        "object-hash": "3.0.0",
        "pg": "8.11.3",
        "prom-client": "15.1.0",
        "uuid": "9.0.1"
    },
    "devDependencies": {
        "@babel/eslint-parser": "7.23.3",
        "@babel/plugin-transform-runtime": "7.23.7",
        "@babel/preset-env": "7.23.8",
        "@types/jest": "29.5.11",
        "@types/node": "20.11.6",
        "@types/pg": "8.10.9",
        "@typescript-eslint/eslint-plugin": "5.62.0",
        "@typescript-eslint/parser": "5.62.0",
        "better-npm-audit": "3.7.3",
        "dotenv": "16.4.1",
        "eslint": "8.56.0",
        "eslint-config-airbnb-base": "15.0.0",
        "eslint-config-airbnb-typescript": "17.1.0",
        "eslint-plugin-import": "2.29.1",
        "jest": "29.7.0",
        "jest-express": "1.12.0",
        "jest-extended": "4.0.2",
        "jest-sonar": "0.2.16",
        "log4bro": "3.18.0",
        "nodemon": "3.0.3",
        "path": "0.12.7",
        "sonarqube-scanner": "3.3.0",
        "supertest": "6.3.4",
        "testcontainers": "10.6.0",
        "ts-jest": "29.1.2",
        "ts-node": "10.9.2",
        "typescript": "5.3.3"
    },
    "overrides": {
        "protobufjs": ">=7.2.4",
        "semver": ">=7.5.2"
    }
}

package-lock.json
If i include this i get "There was an error creating your issue: body is too long, body is too long (maximum is 65536 characters). "

@el-dom Thanks for your report. We are taking a look.

@el-dom  We've implemented a solution and will be rolling out the fix shortly. Appreciate your bringing the issue to our attention.

Thank you very much @aryamohanan

Hi @el-dom
We've released fix in v3.1.3. Kindly verify whether the issue has been addressed.

Since those log message were debug logs, they're completely gone now for me. This is exactly what i wanted and i'm happy with the fix.
Although it unfortunately means i cannot confirm whether the ouput would be in JSON format now if the message would be logged.

Thank you for getting back to us. Additionally, you can verify the log format by adjusting the log level; you can configure this through:
const instana = require('@instana/collector');
instana({
  level: 'debug'
});

Also please check our documentation for additional information about logging.

I am marking this issue as completed. Please feel free to reopen it if you continue to experience any problems. Thank you.


V2V

Depends on:

https://github.com/kubevirt/web-ui-components/pull/210
https://github.com/mareklibra/v2v-vmware
--> being moved under oVirt: https://github.com/oVirt/ovirt-ansible-v2v-conversion-host/pull/28

https://github.com/kubevirt/web-ui-components/pull/210 is merged now


Incorrect version on istioctl proxy-status

Bug description
The istioctl proxy-status returns me a different version of what is actually installed.
nasty//deadcow istio/istio-1.1.5/bin (master) % ./istioctl proxy-status
NAME                                                           CDS        LDS        EDS               RDS          PILOT                           VERSION
httpbin-v1-78d9ff557d-n7dw2.cb-tests                           SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
httpbin-v2-558f7d7fd5-7h54q.cb-tests                           SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
istio-egressgateway-676f5d9b65-ppnzg.istio-system              SYNCED     SYNCED     SYNCED (100%)     NOT SENT     istio-pilot-8447cfb59-w2ddb     1.1.3
istio-ingressgateway-private-787b749875-8hhpz.istio-system     SYNCED     SYNCED     SYNCED (100%)     SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
istio-ingressgateway-public-5c7bcd867-jwzfr.istio-system       SYNCED     SYNCED     SYNCED (100%)     NOT SENT     istio-pilot-8447cfb59-w2ddb     1.1.3
productpage-v1-5cb458d74f-f5q45.bookinfo                       SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
ratings-v1-76f4c9765f-5pkls.bookinfo                           SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
reviews-v1-56f6855586-lqcm9.bookinfo                           SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
reviews-v2-65c9df47f8-9zv82.bookinfo                           SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
reviews-v3-6cf47594fd-2q5ch.bookinfo                           SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
sleep-7ffd5cc988-rdjw6.cb-tests                                SYNCED     SYNCED     SYNCED (50%)      SYNCED       istio-pilot-8447cfb59-w2ddb     1.1.3
nasty//deadcow istio/istio-1.1.5/bin (master) %

Expected behavior
The correct return of the installed version
Steps to reproduce the bug
Install version 1.1.5 of the istio and run the command istioctl proxy-status
Version (include the output of istioctl version --remote and kubectl version)
nasty//deadcow istio/istio-1.1.5/bin (master) % ./istioctl version --remote
client version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.4-10-g9b6d31b"}
citadel version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b-dirty", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Modified", GitTag:"1.1.4-10-g9b6d31b"}
egressgateway version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.4-10-g9b6d31b"}
galley version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b-dirty", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Modified", GitTag:"1.1.4-10-g9b6d31b"}
ingressgateway version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.4-10-g9b6d31b"}
ingressgateway version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.4-10-g9b6d31b"}
pilot version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b-dirty", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Modified", GitTag:"1.1.4-10-g9b6d31b"}
policy version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b-dirty", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Modified", GitTag:"1.1.4-10-g9b6d31b"}
sidecar-injector version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b-dirty", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Modified", GitTag:"1.1.4-10-g9b6d31b"}
telemetry version: version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b-dirty", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Modified", GitTag:"1.1.4-10-g9b6d31b"}
nasty//deadcow istio/istio-1.1.5/bin (master) % kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.6", GitCommit:"b1d75deca493a24a2f87eb1efde1a569e52fc8d9", GitTreeState:"clean", BuildDate:"2018-12-16T04:39:52Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.7", GitCommit:"65ecaf0671341311ce6aea0edab46ee69f65d59e", GitTreeState:"clean", BuildDate:"2019-01-24T19:22:45Z", GoVersion:"go1.10.7", Compiler:"gc", Platform:"linux/amd64"}
nasty//deadcow istio/istio-1.1.5/bin (master) %

How was Istio installed?
Installed generating templates with helm and applied some customization with kustomize.
Environment where bug was observed (cloud vendor, OS, etc)
Using AWS with CoreOS stable (1967.6.0)
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[X] User Experience
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

This is because we read ISTIO_PROXY_VERSION not ISTIO_VERSION. The latter refers to the istio installation version (ie release-1.1-20190509-09-1, or 1.1.5, etc), where as ISTIO_PROXY_VERSION is the compatibility version -- which is only incremented when backwards incompatible changes are made.
It probably makes sense to use ISTIO_VERSION for istioctl
@esnible thoughts?

I added kind/docs because https://preliminary.istio.io/docs/reference/commands/istioctl/#istioctl-proxy-status doesn't document the output of istioctl proxy-status specifically the meaning of the columns.
As @howardjohn pointed out, there are two versions, and you can see the both by doing istioctl proxy-config bootstrap <pod> | grep VERSION.  I agree with Howard's suggestion, to show the ISTIO_VERSION instead of the ISTIO_PROXY_VERSION.  If we keep the proxy version, we should change the column headers.
@frankbu how should we document the columns the user can expect?  Should we document them in the .go source using Cobra?  The istioctl proxy-status column names are not intuitive.

Documenting the columns in istioctl config proxy-status -h would seem good, but I notice that the help doc of no other istioctl or kubectl command gets into that kind of detail (e.g., kubectl config get-contexts -h).
Maybe this doc could use a little more elaboration? https://preliminary.istio.io/docs/ops/traffic-management/proxy-cmd/#get-an-overview-of-your-mesh

Why are several pods not 100% synced? This wasn't the case with Istio-1.0. Is this expected behavior?

This work item seems to be a duplicate of https://github.com/istio/istio/issues/9597
@frankbu All I want is for the Cobra text to be amended with something like
See https://preliminary.istio.io/docs/ops/traffic-management/proxy-cmd/#get-an-overview-of-your-mesh for details of the output format

@adityats2020 The percentage is the "scope of visibility".  It does not need to be 100% and we may remove that information because it is confusing.  For discussion see https://github.com/istio/istio.io/issues/3853


Is the Project being actively Maintained?

We were checking out on Api for gathering Indian Companies data..
Just wanted to understand if this Project is still being actively maintained?

No, this project is shelved


Is it possible to create server jobs?

From the description I can not tell if it is even possible to create own server jobs. Is it possible?

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

ID: 14955ee9-29f2-46fe-3a8d-a42666f53ffc
Version Independent ID: 5d417cd0-a671-ee30-8fca-5f8b0addd328
Content: Develop a web extension for Azure DevOps Services
Content Source: docs/extend/get-started/node.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @willsmythe
Microsoft Alias: wismythe

Hi, What you mean by own server jobs ? You mean a bot is taking an action to do something ? You can do what you want its possible with the command line

My issue is about build tasks in the azure build pipeline.
I found a document that describes how to create server tasks. maybe it should be referenced from here?
https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/servertaskauthoring.md

Thanks for your question. It looks like your question isn't an issue with the documentation, but an issue or question specific to your implementation or a bug in the product itself.
For help with a specific task, here are a couple of options where you might consider asking your question:

Azure DevOps on Stack Overflow
Azure DevOps Support Bot

If you've encountered an issue with the product itself, to make sure it gets in front of the right people, please submit your bug here.
If you have an idea for improving the product, please submit your idea here.


Aws2: Allow testing of useDefaultCredentialsProvider #4346

fixes https://github.com/apache/camel-quarkus/issues/4346
Adds an option to test using real service with default credentials provider (export AWS_USE_DEFAULT_CREDENTIALS_PROVIDER=true)
See more in README.adoc

cc @llowinge @vkasala

@ppalaga This change affects only the tests. Tests with real account. I think that it make sense to backport to 2.13.x as well.


Xcode plugin with custom DerivedData or result bundle

Hi! I've come across codecov-cli and am trying to use it with a self-hosted codecov instance. I found that in codecov/uploader, it is possible to upload the result bundle (xcresult) directly with the uploader.
For the same feature, is it possible to use codecov-cli to upload xcresult? Running the uploader in Rosetta is not really suitable for our system.
I've checked the Xcode plugin of codecov-cli, and it seems like it will parse DerivedData from a hardcoded path. Is it possible to provide a custom path for the derived_data_folder?

fyi @joseph-sentry I think you had done the port from uploader for this.


properties_library - invalid susbstr call

In the middle of trying to sort out a problem and I noticed a PHP warning about an invalid call. The relevant line is in the file website_code/php/properties/properties_library.php   line 846 (looking at the github version). The code around this line shows:
     default:
        if (substr($accessStr,0,5) == "Other")
        {
            $accessStr = "Other";
            $accessTranslation = PROJECT_INFO_OTHER . " ('" . substr(5) . "')";
            $nrViews = $row_access["number_of_uses"];

'substr(5)' is invalid, and I suppose should be 'substr($accessStr,5)'.

Actually you will need to swap around a couple of lines because otherwise you'll be taking a substr of the string 'Other'.
So swap around the lines:
        $accessStr = "Other";
        $accessTranslation = PROJECT_INFO_OTHER . " ('" . substr(5) . "')";

to:
        $accessTranslation = PROJECT_INFO_OTHER . " ('" . substr($accessStr,5) . "')";
        $accessStr = "Other";

Thanks John, i'll merge that into our next release which is imminent...


AttributeError: 'ConceptModel' object has no attribute 'image_cluster_df'

AttributeError: 'ConceptModel' object has no attribute 'image_cluster_df'
Reinstalled sklearn to pre 1.0 from this thread: https://github.com/MaartenGr/Concept/issues/19
still getting the error.

Could you share your full code? Also which version do you have installed? I do not believe the model has any image_cluster_df attributes at all.
Lastly, it might be worthwhile to also checkout BERTopic since it has multi-modal topic modeling alongside a number of other features that were recently integrated.

Thank you, I will check BERTopic see full code below. We had run it previously (January 2023) with image_cluster_df.
import os
from PIL import UnidentifiedImageError, Image, ImageFile
from tqdm import tqdm
import numpy as np
from concept import ConceptModel
import dill as pickle
import pandas as pd
from datetime import datetime
os.chdir('/image_cluster')
os.getcwd()
ImageFile.LOAD_TRUNCATED_IMAGES = True
frame_dir = "dataPENCE150k/"
timestamp = datetime.now().strftime("%Y_%m_%d")
pkl_path = os.path.join("/concept-pickled-viztopic-model", "pkl_concept_model_run_"+timestamp+".pkl")
clustering_output_path = os.path.join("/image_cluster/concept-clustering-output", "clustering_output_run_"+timestamp+".csv")
print("Running image clustering run timestamp {}".format(timestamp))
Create a list of frames from dir
print("Fetching frames from directory...")
frames = []
excluded_frames=[]
files = os.listdir(frame_dir)
not_found_count = 0
for image in tqdm(files, total=len(files)):
      if image.endswith(".jpg"):
            try:
                  Image.open(os.path.join(frame_dir,image))
                  frames.append(os.path.join(frame_dir, image))
            except UnidentifiedImageError:
                  print("Failed to open the following image: ", image)
                  excluded_frames.append(image)
            except FileNotFoundError:
                  not_found_count+=1
listing frames names
frame_names = [os.path.basename(frame) for frame in frames]
Concept modeling
print("Building concept model...")
concept_model = ConceptModel()
concepts = concept_model.fit_transform(frames,image_names=frame_names)
#concept_model.save("conceptsPENCE150k_v2")
write results
print("Output results...")
#concept_model.image_cluster_df.to_csv(clustering_output_path, index=False)
Pickle model
#print("Pickling concept model...")
#with open('concepts_v2', 'wb') as cm:
#pickle.dump(concepts, cm)
Pickle model
print("Pickling concept model again...")
pkl_file = open(pkl_path, 'wb')
pickle.dump(concept_model, pkl_file)
pkl_file.close()
print("Done pickling...")
Create a directory to save cluster images
cluster_dir = "cluster_images_" + timestamp
os.makedirs(cluster_dir, exist_ok=True)
Iterate over each cluster
for cluster_id in concept_model.image_cluster_df['cluster_id'].unique():
# Exclude the cluster with label -1
if cluster_id == -1:
continue
# Create a subdirectory for each cluster
cluster_subdir = os.path.join(cluster_dir, f"cluster_{cluster_id}")
os.makedirs(cluster_subdir, exist_ok=True)

# Get image names belonging to the cluster
cluster_images = concept_model.image_cluster_df.loc[concept_model.image_cluster_df['cluster_id'] == cluster_id, 'image_name']

# Save images to the cluster subdirectory
for image_name in cluster_images:
    image_path = os.path.join(frame_dir, image_name)
    try:
        image = Image.open(image_path)
        save_path = os.path.join(cluster_subdir, image_name)
        image.save(save_path)
    except UnidentifiedImageError:
        print("Failed to save the image:", image_name)

list of images that failed to open
print("=======================================")
print("Images that failed to load or were corrupted")
for frame in excluded_frames:
      print(frame)
print("")
print("Summary Report")
print("Total number of frames successfully clustered: {}".format(len(frames)))
print("Total number of excluded frames due error in file (corrupt file): {}".format(len(excluded_frames)))
print("Total number of frames with file not found (frames were removed from parler server): {}".format(not_found_count))
print("")

From: Maarten Grootendorst @.>
Sent: Thursday, June 22, 2023 11:35 AM
To: MaartenGr/Concept @.>
Cc: Ayse Deniz Lokmanoglu @.>; Author @.>
Subject: Re: [MaartenGr/Concept] AttributeError: 'ConceptModel' object has no attribute 'image_cluster_df' (Issue #22)
Could you share your full code? Also which version do you have installed? I do not believe the model has any image_cluster_df attributes at all.
Lastly, it might be worthwhile to also checkout BERTopichttps://urldefense.com/v3/__https://maartengr.github.io/BERTopic/getting_started/multimodal/multimodal.html__;!!Dq0X2DkFhyF93HkjWTBQKhk!V5849p3wJYzwb7IhEghg1PS1jJj-Kpm0-9EeB87IOTJXIdiFt47FPjeV7dCFKw8LmVFjvvgL6B6lnqTcK4NEOjyxg57hAYx4JmAG$ since it has multi-modal topic modeling alongside a number of other features that were recently integrated.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/MaartenGr/Concept/issues/22*issuecomment-1602984542__;Iw!!Dq0X2DkFhyF93HkjWTBQKhk!V5849p3wJYzwb7IhEghg1PS1jJj-Kpm0-9EeB87IOTJXIdiFt47FPjeV7dCFKw8LmVFjvvgL6B6lnqTcK4NEOjyxg57hAdk1bXkM$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AN6TK72VQSIIYB76LINAKJDXMRX5JANCNFSM6AAAAAAZQOO4HA__;!!Dq0X2DkFhyF93HkjWTBQKhk!V5849p3wJYzwb7IhEghg1PS1jJj-Kpm0-9EeB87IOTJXIdiFt47FPjeV7dCFKw8LmVFjvvgL6B6lnqTcK4NEOjyxg57hAVOCiUzC$.
You are receiving this because you authored the thread.Message ID: @.***>

If image_cluster_df was still working then, then it would definitely be a version issue. I believe one of the previous version still had that attribute but was removed later on. If you do version control of the package version you used then and use the same version now, then it should work.


Bootstrapped Plan Download

Renamed show_export.html.erb to download.html.erb more closely match page name (updated corresponding controller, policy, link in tab and route)
Renamed export_settings.js to download.js and converted to ES6. Dropped all of the old auto-save JS. Can reimplement if needed with shared ES6 JS once that's been built out
Bootstrapped the form #561

@jollopre it looks like the merge conflict is in the application.js file. You should be able to just resolve it directly in Github. I wonder if it was caused by the new rebasing workflow

Resolved merge conflict on write plan page (pulled in @jollopre changes to the edit plan page).

Fixed tests and linter issues


Anyone knows how to build openSfM on cent os?

Actually i want to run opensfm on aws lambda but i'm getting some so file error in running library. there is no documentation given for installation on cent os.