Cycle during symlink resolution prevents syft/grype scans from enumerating vulnerabilities

What happened:
We recently came across an image where a user had accidentally created a symlink loop within their container image.  This resulted in the image failing both syft and grype scans.
This could be used by an attacker or developer who wants to hide vulnerabilities through malicious compliance.  By generating a symlink loop, syft/grype will error and fail to output results.  If scan errors are not closely monitored the image could avoid detection.
What you expected to happen:
Malformed symlinks should be logged, but allow the rest of the syft or grype scans to complete.
How to reproduce it (as minimally and precisely as possible):
Using old, known vulnerable image from webgoat/webgoat-8.0:latest grype shows a bunch of vulns:
% grype webgoat/webgoat-8.0:latest
 ✔ Vulnerability DB                [no update available]
 ✔ Pulled image
 ✔ Loaded image                                                                                webgoat/webgoat-8.0:latest
 ✔ Parsed image                                                                                sha256:6664051b8808540cf920e5802e7eb025f9cb19346dcb0fc2be137a26979bb111
 ✔ Cataloged packages              [315 packages]
 ✔ Scanned for vulnerabilities     [581 vulnerability matches]
   ├── by severity: 73 critical, 185 high, 152 medium, 60 low, 111 negligible
   └── by status:   304 fixed, 277 not-fixed, 0 ignored

Build a downstream image and create a symlink loop in a cataloged binary, /usr/bin/xz for example:
echo "FROM webgoat/webgoat-8.0:latest
USER root
RUN yes | ln -sfi /usr/bin/xzcat /usr/bin/xz
USER webgoat" | docker build -t symlink-loop:latest .

Syft error:
% syft symlink-loop:latest
 ✔ Loaded image                                                                                symlink-loop:latest
 ✔ Parsed image                                                                                sha256:108309a3bb9c201ffe0f2c4fc1300f434485e5216d6edad8c76d6d2ec8d3e7de
 ✔ Cataloged packages              [315 packages]
[0003]  WARN unable to create any package-file relationships cataloger=dpkgdb-cataloger error=unable to find path for path="/usr/bin/xz": cycle during symlink resolution package=xz-utils
[0003]  WARN unable to process mimetypes=[application/x-executable application/x-mach-binary application/x-elf application/x-sharedlib application/vnd.microsoft.portable-executable]: unable to get ref
[0005]  WARN error while cataloging cataloger=graalvm-native-image-cataloger
1 error occurred:
        * failed to find binaries by mime types: unable to get ref for path="/usr/bin/xz": cycle during symlink resolution

Grype error:
% grype symlink-loop:latest
 ✔ Vulnerability DB                [no update available]
 ✔ Loaded image                                                                                symlink-loop:latest
 ✔ Parsed image                                                                                sha256:108309a3bb9c201ffe0f2c4fc1300f434485e5216d6edad8c76d6d2ec8d3e7de
 ✔ Cataloged packages              [315 packages]
[0003]  WARN unable to create any package-file relationships cataloger=dpkgdb-cataloger error=unable to find path for path="/usr/bin/xz": cycle during symlink resolution package=xz-utils
[0003]  WARN unable to process mimetypes=[application/vnd.microsoft.portable-executable application/x-executable application/x-mach-binary application/x-elf application/x-sharedlib]: unable to get ref
[0004]  WARN error while cataloging cataloger=graalvm-native-image-cataloger
1 error occurred:
        * failed to catalog: 1 error occurred:
        * failed to find binaries by mime types: unable to get ref for path="/usr/bin/xz": cycle during symlink resolution

Anything else we need to know?:
This issue was validated on latest syft/grype versions:
% syft version
Application: syft
Version:    0.94.0
BuildDate:  2023-10-20T17:21:07Z
GitCommit:  8f6bdde6662aa8050a71eadbdb7bd5a3b079a56d
GitDescription: v0.94.0
Platform:   linux/amd64
GoVersion:  go1.21.3
Compiler:   gc

% grype version
Application:         grype
Version:             0.72.0
BuildDate:           2023-10-20T18:17:05Z
GitCommit:           04df28051b7694a5e4a28fc5b2ea2068f24ef213
GitDescription:      v0.72.0
Platform:            linux/amd64
GoVersion:           go1.21.3
Compiler:            gc
Syft Version:        v0.94.0
Supported DB Schema: 5

Environment:

OS (e.g: cat /etc/os-release or similar):

$ cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"

If I'm understanding correctly, if there is an infinite symlink within a dir, and it's half way through the entires in a directory, then we're not reading the remaining entires in the directory. There may be more cases here I haven't considered. This is the part of the code we should scrutinize further https://github.com/anchore/stereoscope/blob/50ce3be7aa1fb8829234ae648215e7907196bfa5/pkg/filetree/depth_first_path_walker.go#L90-L93

@kzantow  you pointed out this might play into the known-unknowns work in syft https://github.com/anchore/syft/issues/518 -- specifically noting that there could be symlink loops that is occluding catalogable part of the filetree.


Android build not compiling flutter_web_auth_2 anymore

Describe the bug
I'm trying to compile my flutter app for android but I'm getting the following error:
Execution failed for task ':flutter_web_auth_2:compileReleaseJavaWithJavac'.
> error: invalid source release: 16

I actually tried everyting from increasing version etc. but I'm always getting the same error.
Expected behavior
A clear and concise description of what you expected to happen.
Device (please complete the following information!)

OS: Android
flutter_web_auth_2 version: 2.2.1

Checklist

[x] I have read and followed the entire troubleshooting guide and it has not provided the solution I need.
[y] I have provided all the information I can (incl. auth URL etc.)

Yeah, the problem is that appwrite has a version constraint on everything < 3 :( ... So I cannot upgrade the package ...
Any other idea? It is working perfectly on iOS :(

Ah, so you are using this package through appwrite!
Sadly, I am unsure what the problem seems to be, but I can imagine it is because of https://github.com/ThexXTURBOXx/flutter_web_auth_2/commit/96a58a6c930a8e8132101325c6a5214b7b1dd829.
However, that has been fixed in versions 3.x of flutter_web_auth_2.
I have already opened https://github.com/appwrite/sdk-generator/pull/723, but it has not been accepted yet.
Another possibility would be to specify flutter_web_auth_2: 2.1.5 which does not have this constraint.
Otherwise, you sadly have to wait until https://github.com/appwrite/sdk-generator/pull/723 is merged and published

Oh damn, I was searching half a day and did not find anything ...
Thanks for the hint ...
I just added 2.1.5 to the pubspec.yaml ... this should be enough?

Well I tried version 2.1.4 which actually was not working. but 2.1.5 did the trick - thank you very much

Well I tried version 2.1.4 which actually was not working. but 2.1.5 did the trick - thank you very much

It's weird that 2.1.4 did not work, but very nice to hear that at least 2.1.5 worked for you!
I will close this issue and hope that my PR will get merged on appwrite's side rather sooner than later!

Yeah.
That’s okay, thanks for the fast reply and help 😊


Navigate user to report details page when clicked on header in task

Details

Clicking on header view in task page was taking user to assignee user page and in some cases it was redirecting to empty details page.
Fixed Issues

$ https://github.com/Expensify/App/issues/24144
$ https://github.com/Expensify/App/issues/23296
PROPOSAL: https://github.com/Expensify/App/issues/24144#issuecomment-1668353267
Tests

Create a task/ or existing task also works
Open the task page
Click on the header
Task details modal should open where - Avatar is of task creator and below that is name of task and settings option should not be displayed.

[X] Verify that no errors appear in the JS console

Offline tests

Create a task/open the task
Open the task page
Click on header in the task
Task detail page should be opened, and the details should be as same as above

QA Steps

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/27822551/bef5153f-d70c-4098-afb9-fe35b8601382

Mobile Web - Chrome

https://github.com/Expensify/App/assets/27822551/111d406a-2c07-4cea-8ba0-dfca3b0662ff

Mobile Web - Safari

https://github.com/Expensify/App/assets/27822551/7d4ce903-e488-44d2-a88e-9513f8317fdc

Desktop
https://github.com/Expensify/App/assets/27822551/f8b01296-6fd1-4570-8191-43c917494dbd

iOS
https://github.com/Expensify/App/assets/27822551/9deff6bf-b935-450a-9fe8-c0cdeee82338

Android
https://github.com/Expensify/App/assets/27822551/14a462c2-cb21-44b2-bb59-135e32af4361

@s77rt Please have a look -

This is  how it appears for thread -

The header of /details should show Details
The header of /participants should show Members

Also before I forget :sweat_smile: Remove the task condition here https://github.com/Expensify/App/blob/774b78c31c3b4f93585446ed807d07cece4de737/src/pages/home/HeaderView.js#L167
The header should be clickable no matter the task status

Update condition will be -
disabled={shouldDisableDetailPage}

updated code @s77rt

@BhuvaneshPatil In buildOptimisticTaskReport please add
participantAccountIDs: ownerAccountID === assigneeAccountID ? [] : [assigneeAccountID],

This is needed so the "Members" option is visible instantly without having to wait for the backend response.

@s77rt
We shall another condition here as well for task report-
https://github.com/Expensify/App/blob/00615f0cbb3e188ebcdc02e5637ffa83f8de5a1d/src/libs/ReportUtils.js#L462-L464
or here
https://github.com/Expensify/App/blob/00615f0cbb3e188ebcdc02e5637ffa83f8de5a1d/src/pages/home/HeaderView.js#L136

@BhuvaneshPatil In buildOptimisticTaskReport please add
participantAccountIDs: ownerAccountID === assigneeAccountID ? [] : [assigneeAccountID],

This is needed so the "Members" option is visible instantly without having to wait for the backend response.

We shall consult this with @thienlnam as well, because AFAIK participantAccountIDs is calculated from backend only. We don't do that in fronted/optimistic report.

@s77rt ^

Reviewer Checklist

[X] I have verified the author checklist is complete (all boxes are checked off).
[X] I verified the correct issue is linked in the ### Fixed Issues section above
[X] I verified testing steps are clear and they cover the changes made in this PR

[X] I verified the steps for local testing are in the Tests section
[X] I verified the steps for Staging and/or Production testing are in the QA steps section
[X] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[X] I checked that screenshots or videos are included for tests on all platforms
[X] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[X] I verified proper code patterns were followed (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I verified that this PR follows the guidelines as stated in the Review Guidelines
[X] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Also cc @thienlnam in case you have any concern regarding the optimistic participantAccountIDs.

@cristipaval ^

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.54-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.3.54-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add the resolve recursion program

This PR adds the resolve recursion program. With this program it becomes possible to produce succinct proofs for zkVM executions that utilize proof composition through the env::verify API for logically verifying RISC Zero receipts within the RISC Zero zkVM.
Resolves: https://github.com/risc0/risc0/issues/991

This PR is marked as "draft" because it contains some TODO comments I still need to address. All of those are minor, and so the PR is ready to review.


IRKGL16-SIMD

This is a rebased and squashed version of https://github.com/SciML/IRKGaussLegendre.jl/pull/69 . The issue is the ipynb checkpoints were bloating the repo, causing unremovable memory. That is fixed in the squashed commits that should mostly prevent against repo bloat. It would probably be good to not include all of the notebooks here but if they aren't changed often.
@mikelehu

Unless you squash before merging, old binaries are never removed from a Git repo. The major factor at play here are the notebooks and the images inside of them. Each time they are changed, the old versions are still there in the history. With this squash I removed all of the checkpoints which keeps it a bit tame:

so ~100mb. But we should probably watch that growth. If they aren't changing much or often from this point then I think that's okay (and you cannot remove that without changing old git hashes which effects versioning). Though for the future benchmarks, we may want to make this in SciMLBenchmarks in order to avoid the repo growth (this is why the benchmarks were moved out of DifferentialEquations.jl, the repo is over 1gb and we cannot remove the history 😅)


Added maximum projectile length

Allows for rounds to have a maximum projectile length, limiting the size of the warhead.

See: https://github.com/TwistedTail/ACF-3-Missiles/pull/32


includes GetLifeCycleBase mixin on delete/dispose

Not sure is this is bug or a desired behavior. But there are some situations where need to inject or binding a class that already have another base class, e.g. an existing BLoC/Cubit, and my only option is to add GetLifeCycleBase mixin to they.
Because of that looks like makes sense "Get Instance Manager" looks for GetLifeCycleBase on delete() and not only GetLifeCycle to corretly dispose they.
class SignUpCubit extends Cubit<SignUpState> with GetLifeCycleBase {

  SignUpCubit() : super(SignUpState.valid()) {
    $configureLifeCycle();
  }
  [...]

  @override
   void onClose() {
     close(); // close bloc stream
  }
}

Another [better imho] option is delete() even test if the instance to delete is Sink/Stream and right close() then before remove from map, something like
if (i is GetLifeCycleBase && i.onDelete != null) {
      i.onDelete();
      Get.log('"$newKey" onDelete() called');
    }
}

if (i is Sink) {
    i.close();
    Get.log('"$newKey" is a Sink, close() called');
}

I can add the second test if it makes sense, just let me know.

In fact, extending the base class seems more convenient.
LGTM

In fact, extending the base class seems more convenient.
LGTM


[5.7] Add aperture collection method

This PR adds a new collection method that transforms an existing collection into overlapping sub-collections that contain $length elements (default: 2).
Examples:
collect([1, 2, 3, 4])->aperture()->toArray(); // [[1, 2], [2, 3], [3, 4]]
collect([1, 2, 3, 4])->aperture(1)->toArray(); // [[1], [2], [3], [4]]
collect([1, 2, 3, 4])->aperture(0)->toArray(); //  []
collect([1, 2, 3, 4])->aperture(-1)->toArray(); //  []
collect([1, 2, 3, 4, 5])->aperture(3)->toArray(); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

Isn't it chunk method?

@sisve I got the name from RamdaJS (where name finding was also hard :see_no_evil:). I like the metaphor/image of a "moving window", similar to its physical pendant. However, consecutive or overlapping would be suitable as function names too but I think it'll be hard to find a name that will exactly describe what the function does.
You are right! haven't thought of n-grams by now.

"moving window"

"sliding window" ?
However I do like the n-gram analogy: ngram(int $n)?
I think the ngram name might be a good choice because only this will lead to search results remotely related to the functionality. The other names are less idea in that case.

collect([1, 2, 3, 4])->aperture(-1)->toArray(); // []

Negative value don't make sense? Shouldn't they throw an error?
I think this is one the functions which would benefit from examples right in the phpdoc. No simple amount of textual description will explain what the output will look like IMHO aka "pictures says a 1k words" (I know there are the tests but if you trace code to the method you'll end up there first).
Btw, I would like to know your application of this. Can you give a real-life example where you will use this?

@antonkomarev Yeah, sliding window is what I meant :D It was somewhat late :see_no_evil:
@sisve @antonkomarev  I've altered the function to ngram($n)
This function can help greatly when you want to find consecutive pairs/triples/... with f.ex. same properties. Like: Orders that have the same items, actions of the same type, ...

You can macro this into Collection if you need it or release it as a package.


After installing Visual Studio 2017 15.5 Preview 2, FSharpPackage fails to load

This is similar to #2917 and #3040.
I installed 15.5 Preview 2 over an existing VS 2017 Enterprise 15.5 Preview 1 installation and noticed that F# Desktop Language Support was unchecked, although I had installed F#.  I added the package. The upgrade finished without errors.
After that, I started getting the same error dialog box as the other issues. ActivityLog.xml contains the same entries:
  <entry>
    <record>1016</record>
    <time>2017/10/24 12:08:40.315</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [FSharpPackage]</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>
  </entry>
  <entry>
    <record>1017</record>
    <time>2017/10/24 12:08:40.327</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>LegacySitePackage failed for package [FSharpPackage]Source: 'Microsoft.VisualStudio.Composition' Description: Expected 1 export(s) with contract name "Microsoft.VisualStudio.FSharp.Editor.SettingsPersistence+ISettings" but found 0 after applying applicable constraints.
Microsoft.VisualStudio.Composition.CompositionFailedException: Expected 1 export(s) with contract name "Microsoft.VisualStudio.FSharp.Editor.SettingsPersistence+ISettings" but found 0 after applying applicable constraints.
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](String contractName, ImportCardinality cardinality)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](String contractName)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T](String contractName)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T]()
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValue[T]()
   at Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetService[T]()
   at Microsoft.VisualStudio.FSharp.Editor.FSharpPackage.Initialize()
   at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>

80131500

    <errorinfo></errorinfo>
  </entry>
  <entry>
    <record>1018</record>
    <time>2017/10/24 12:08:40.330</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>SetSite failed for package [FSharpPackage](null)</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>

80131500

    <errorinfo></errorinfo>
  </entry>
  <entry>
    <record>1019</record>
    <time>2017/10/24 12:08:40.333</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>End package load [FSharpPackage]</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>

80131500

    <errorinfo></errorinfo>
  </entry>
  <entry>
    <record>1020</record>
    <time>2017/10/24 12:08:40.336</time>
    <type>Warning</type>
    <source>VisualStudio</source>
    <description>Package failed to load; error message suppressed by skip flag</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>
  </entry>
  <entry>
    <record>1021</record>
    <time>2017/10/24 12:08:40.336</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>
  </entry>
  <entry>
    <record>1022</record>
    <time>2017/10/24 12:08:40.336</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [FSharpPackage]</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>
  </entry>
  <entry>
    <record>1023</record>
    <time>2017/10/24 12:08:40.357</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>LegacySitePackage failed for package [FSharpPackage]Source: 'Microsoft.VisualStudio.Composition' Description: Expected 1 export(s) with contract name "Microsoft.VisualStudio.FSharp.Editor.SettingsPersistence+ISettings" but found 0 after applying applicable constraints.
Microsoft.VisualStudio.Composition.CompositionFailedException: Expected 1 export(s) with contract name "Microsoft.VisualStudio.FSharp.Editor.SettingsPersistence+ISettings" but found 0 after applying applicable constraints.
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](String contractName, ImportCardinality cardinality)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](String contractName)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T](String contractName)
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T]()
   at Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValue[T]()
   at Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetService[T]()
   at Microsoft.VisualStudio.FSharp.Editor.FSharpPackage.Initialize()
   at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>

80131500

    <errorinfo></errorinfo>
  </entry>
  <entry>
    <record>1024</record>
    <time>2017/10/24 12:08:40.361</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>SetSite failed for package [FSharpPackage](null)</description>
    <guid>{871D2A70-12A2-4E42-9440-425DD92A4116}</guid>

80131500

    <errorinfo></errorinfo>
  </entry>

My F# projects load and build, but therere is no syntax highlighting and the Enter key doesn't work on F# files.
The same error appeared for a time whenever I loaded a solution that contained F# projects. After restarting Visual Studio 2-3 times the error dialog box disappeared but the editor still doesn't work.
Uninstalling and reinstalling the F# package didn't help. The same error dialog box started appearing again.
The problem does not occur in a 15.5 Preview 1 Community edition I have installed side-by-side. The F# package is installed and called F# Language support. The same projects open and build without problems. The version of F# tools installed in this installation has <IP_ADDRESS>929605.
Update
I was able to solve this by removing the 15.5.2 package and installing the latest nightly build, <IP_ADDRESS>02302

This is actually the same root cause as #3799, which has been fixed by #3804.  As you've noticed this is indeed fixed in the nightly channel, and it'll be available in the next preview release of 15.5.


Update issue 2023.10.2 BT proxy (M5Stack Atom Lite)

With ESPHome 2023.10.2 the M5Stack Atom lite cannot be updated with the BT proxy firmware.
Repo is pointing to github://esphome/firmware/bluetooth-proxy/m5stack-atom-lite.yaml@main
INFO ESPHome 2023.10.2
INFO Reading configuration /config/esphome/atom-bluetooth-proxy-84b9b0.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing atom-bluetooth-proxy-84b9b0 (board: m5stack-atom; framework: espidf; platform<EMAIL_ADDRESS>--------------------------------------------------------------------------------
Library Manager: Installing esphome/noise-c @ 0.1.4
INFO Installing esphome/noise-c @ 0.1.4
Unpacking  [####################################]  100%
Library Manager<EMAIL_ADDRESS>has been installed!
INFO<EMAIL_ADDRESS>has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.1
INFO Installing esphome/libsodium @ 1.10018.1
Unpacking  [####################################]  100%
Library Manager<EMAIL_ADDRESS>has been installed!
INFO<EMAIL_ADDRESS>has been installed!
Library Manager: Installing esphome/Improv @ 1.2.3
INFO Installing esphome/Improv @ 1.2.3
Unpacking  [####################################]  100%
Library Manager<EMAIL_ADDRESS>has been installed!
INFO<EMAIL_ADDRESS>has been installed!
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40405.230623 (4.4.5)
 - tool-cmake @ 3.16.9
 - tool-ninja @ 1.10.2
 - toolchain-esp32ulp @ 2.35.0-20220830
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
Generating assembly for certificate bundle...
Dependency Graph
|-- noise-c @ 0.1.4
|-- Improv @ 1.2.3
Compiling .pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_connection.o
Compiling .pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_frame_helper.o
Compiling .pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_pb2.o
Compiling .pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_pb2_service.o
In file included from src/esphome/components/network/util.h:4,
                 from src/esphome/components/api/api_connection.cpp:4:
src/esphome/components/network/ip_address.h: In constructor 'esphome::network::IPAddress::IPAddress(ip4_addr_t*)':
src/esphome/components/network/ip_address.h:40:14: error: 'ip_addr_t' {aka 'struct ip4_addr'} has no member named 'type'
     ip_addr_.type = IPADDR_TYPE_V4;
              ^~~~
Compiling .pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_server.o
*** [.pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_connection.o] Error 1
In file included from src/esphome/components/network/util.h:4,
                 from src/esphome/components/api/api_server.cpp:4:
src/esphome/components/network/ip_address.h: In constructor 'esphome::network::IPAddress::IPAddress(ip4_addr_t*)':
src/esphome/components/network/ip_address.h:40:14: error: 'ip_addr_t' {aka 'struct ip4_addr'} has no member named 'type'
     ip_addr_.type = IPADDR_TYPE_V4;
              ^~~~
*** [.pioenvs/atom-bluetooth-proxy-84b9b0/src/esphome/components/api/api_server.o] Error 1
========================= [FAILED] Took 104.61 seconds =========================

Seems a fix is already in PR https://github.com/esphome/esphome/pull/5595


Support for ESMfold with newer Ubuntu and CUDA version

Hi,
First of all, thanks for all works put in.
The system I have is Ubuntu 22.04
My issue is as follow. I am trying to use ESMfold which is depend on Openfold. What I did was installing https://github.com/aqlaboratory/openfold/tree/pl_upgrades to my environment and then install ESMfold via
pip install "fair-esm[esmfold]"
I run into this error when using the ESMFold Structure Prediction test script from ESMfold README
RuntimeError: Keys 'trunk.structure_module.ipa.linear_q_points.linear.weight, trunk.structure_module.ipa.linear_q_points.linear.bias, trunk.structure_module.ipa.linear_kv_points.linear.bias, trunk.structure_module.ipa.linear_kv_points.linear.weight' are missing.
From there I've found this thread on the issue: https://github.com/facebookresearch/esm/issues/435
and the resolution is seems is to use openfold v1.
However, openfold v1 is using cuda 11.3 which is not supported on Ubuntu 22.04. It really seems this a dead end.
It is frustrating as I struggled for a week and couldn't find solution. Please spare some help.
Sincerely thanks!

Hi, thanks for your effort in maintaining this project! 😄
I find the same dead end. In my case, I am trying to make ESMfold work in cuda 12 for this reason I followed this comment on this other issue and installed openfold from the pl_upgrades branch as suggested. This enables me to create the environment (docker image) but I am also struggling with the error reported by @Wan8uq1. I know this is probably more of a problem in the ESMfold which is archived now, but if you could suggest a workaround to fix the issue that would be great!

@JoseEspinosa @Wan8uq1 Maybe you could use just the OpenFold itself in the Soloseq mode? It works fine for me with the pl_upgrades branch and provides the ESMfold functionality (and more) and is supported.

@JoseEspinosa @Wan8uq1 Maybe you could use just the OpenFold itself in the Soloseq mode? It works fine for me with the pl_upgrades branch and provides the ESMfold functionality (and more) and is supported.

Hi, @vaclavhanzl  Thanks so much for the reply! I found the solution earlier myself and it seems the trick is to separate dependencies and pip in setting up conda env, and making sure the environment is using - PyTorch 1.12.1 + CUDA 11.3 + cuDNN 8.9 + GCC 7. @JoseEspinosa , I hope this might help.
My Env is as follow: Ubuntu 22.04 & Nvidia-smi is 12.2, and here is what I did:
Save the following as conda_environment.yml
name: esmfold
channels:
 - conda-forge
 - bioconda
 - pytorch
dependencies:
 - conda-forge::python=3.7
 - conda-forge::setuptools=59.5.0
 - conda-forge::pip
 - conda-forge::openmm=7.5.1
 - conda-forge::pdbfixer
 - conda-forge::cudatoolkit==11.3.*
 - conda-forge::cudatoolkit-dev==11.3.*
 - conda-forge::einops==0.6.1
 - conda-forge::fairscale
 - conda-forge::omegaconf
 - conda-forge::hydra-core
 - conda-forge::pandas
 - conda-forge::pytest
 - bioconda::hmmer==3.3.2
 - bioconda::hhsuite==3.3.0
 - bioconda::kalign2==2.04
 - pytorch::pytorch=1.12.*

Run the following command to create the esmfold environment:
conda env create -f conda_environment.yml
Save the following as pip_requirements.txt
biopython==1.79
deepspeed==0.5.9
dm-tree==0.1.6
ml-collections==0.1.0
numpy==1.21.2
PyYAML==5.4.1
requests==2.26.0
scipy==1.7.1
tqdm==4.62.2
typing-extensions==<IP_ADDRESS>
pytorch_lightning==1.5.10
wandb==0.12.21
biotite==0.39.0
matplotlib
joblib

Activate conda environment esmfold or whatever you name it, and Install the pip packages
Use the following command to install pip packages:
pip install -r pip_requirements.txt
And then run the esmfold installation command they provided:
pip install fair-esm           # Latest release
pip install git+https://github.com/facebookresearch/esm.git  # Main branch
pip install "fair-esm[esmfold]"
# OpenFold and its dependencies
pip install 'dllogger @ git+https://github.com/NVIDIA/dllogger.git'
pip install 'openfold @ git+https://github.com/aqlaboratory/openfold.git@4b41059694619831a7db195b7e0988fc4ff3a307'

Then it should be good to go.

Happy to hear you made it work @Wan8uq1 and thanks as lot for sharing your solution.
I'd still love to hear what does ESMfold provide and OpenFold's Soloseq does not? I guess it is using a different set of weights so you might get slightly different prediction sometimes?

Happy to hear you made it work @Wan8uq1 and thanks as lot for sharing your solution.
I'd still love to hear what does ESMfold provide and OpenFold's Soloseq does not? I guess it is using a different set of weights so you might get slightly different prediction sometimes?

Hi, Using esmfold over Openfold soloseq is more on my end: I am trying to do structural cluster for some proteins, part of their structures are from esmfold repo so I just want to be consist for those that I have to predict.

OK, thanks for the explanation @Wan8uq1 and good luck!

Thanks both for the feedback! 😄
Regarding why using esmfold, we are maintaning the nf-core/proteinfold pipeline which implements several structural prediction tools. We wanted to keep giving support to esmfold, but it is true that if it is not longer maintained might be tricky. Regarding openfold, actually we have an issue open from long time to implement it in the pipeline, so probably it is time to finally implement it

I don't see a way to run Soloseq with multimers.


ROS 2 Logging documentation

https://github.com/ros2/ros2_documentation/issues/2026

I don't think this is a relevant MoveIt epic at this point. Are we still planning on adding MoveIt-specific documentation over this, or simply reference any ROS 2 documentation?


Apple Chip M2 error message

ERROR: Could not find a version that satisfies the requirement xformers==0.0.19 (from versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.0.11, 0.0.12, 0.0.13, 0.0.16rc424, 0.0.16rc425, 0.0.16, 0.0.20.dev539, 0.0.20.dev540, 0.0.20, 0.0.21.dev541, 0.0.21.dev542)
ERROR: No matching distribution found for xformers==0.0.19

I have the same issue on Mac. Please let me know if you find a solution for it.

anyone found a solution for this issue yet?

Hey. No, I haven't opened mlops for a while. I had other issues with licensing problems that seem to be related to the os of the mac...I don't really know and don't have the expertise to say who is at fault but I just need to say the experience of Houdini in general on mac is awful so far.

anyone found a solution for this issue yet?

I will try tomorrow

same error here

I resolved this error by cloning from repo instead of downloading the .zip. The repo has a newer requirements.txt file


demangled function type parameters are resolved incorrectly

Version and Platform (required):

Binary Ninja Version: 4.2.6204-dev
OS: macOS
OS Version: 15.1 Beta (24B5077a)
CPU Architecture: M3

Bug Description:
getting the demangled function type and assigning it doesn't always work correctly. it doesn't matter if the type is defined or not.
Steps To Reproduce:
>>> demangle_gnu3(bv.arch, current_function.symbol.raw_name, bv)[0].parameters[0].type.target.type_id
'demange:[]'
>>> demangle_gnu3(bv.arch, current_function.symbol.raw_name, bv)[0].parameters
[IOMFB::AppleRegisterStream* ]
>>> current_function.type = demangle_gnu3(bv.arch, current_function.symbol.raw_name, bv)[0]
>>> current_function.type.parameters[0]
IOMemoryCursor::PhysicalSegment* arg1

this is happening even though IOMFB::AppleRegisterStream is defined and IOMemoryCursor::PhysicalSegment doesn't even exist in the bndb, I have no idea where it is pulling that from.
Expected Behavior:
current_function.type.parameters[0] should've been IOMFB::AppleRegisterStream* arg1.
Additional Information:
working with a bndb that was opened before iOS typelib was introduced, however I am uncertain of its relevancy to the issue.

>>> bv.types.get("IOMemoryCursor::PhysicalSegment") is None
True
>>> bv.type_names.index("IOMemoryCursor::PhysicalSegment")
7540

What's the value of current_function.symbol.raw_name? The type name may be coming from that, or could be some artifact of the id being empty.

What's the value of current_function.symbol.raw_name? The type name may be coming from that, or could be some artifact of the id being empty.

Sorry, I didn't get a notification for this comment somehow.
The value is __ZN27AMDRadeonX6000_AmdHdcpProxy12initWithInfoERKNS_12HdcpInitInfoE.
The type name displayed is correct, but the type it points to is the wrong one. It must be a problem with the id I would guess.

Yeah, looks like the demangler doesn't assign a type id to it properly:
>>> (t,n) = demangle_generic(Architecture["aarch64"], "__ZN27AMDRadeonX6000_AmdHdcpProxy12initWithInfoERKNS_12HdcpInitInfoE")
>>> t
<type: immutable:FunctionTypeClass 'int64_t(AMDRadeonX6000_AmdHdcpProxy::HdcpInitInfo const&)'>
>>> t.parameters
[AMDRadeonX6000_AmdHdcpProxy::HdcpInitInfo const& ]
>>> t.parameters[0]
AMDRadeonX6000_AmdHdcpProxy::HdcpInitInfo const&
>>> t.parameters[0].type
<type: immutable:PointerTypeClass 'AMDRadeonX6000_AmdHdcpProxy::HdcpInitInfo const&'>
>>> t.parameters[0].type.target
<type: immutable:NamedTypeReferenceClass 'unknown'>
>>> t.parameters[0].type.target.name
'AMDRadeonX6000_AmdHdcpProxy::HdcpInitInfo'
>>> t.parameters[0].type.target.type_id
'demange:[]'

Thanks for the report, looks like this has been causing some pretty nasty mistyped symbols when you only have the demangler for type information.
Fixed in >=4.3.6467-dev

@CouleeApps Just tried 4.3.6467-dev and it's still broken.

Er, >=4.36468, copied the wrong version

Oh, so it hasn't built yet, okay.

Yeah, it's the one going through CI right now, should include commit 74779826

That CI sure took a while, maybe you should look into improving that :^)
Anyways, while it does not resolve into a random other type now, if the type already exists, it does not resolve into that type; Binary Ninja thinks it's a different one, just named the same.

CI took a while cause it actually took two builds before it succeeded :P
Looks like this part of the issue is fixed for you, just what remains is what is described in #4551, namely that of actually lining up the types the demangler creates with the types that exist in the view. I detailed a couple of the problems with this being fully solved in a comment on that issue.

CI took a while cause it actually took two builds before it succeeded :P
Looks like this part of the issue is fixed for you, just what remains is what is described in #4551, namely that of actually lining up the types the demangler creates with the types that exist in the view. I detailed a couple of the problems with this being fully solved in a comment on that issue.

Well, no, it's not that issue. Like with the previous issue details, it only happens to specific types and not all.
This type resolves, for example:

The only difference I see with the previous and this one, is that the other is behind a namespace and this one not

Haha yep, that's the second problem I detailed in there:

There's also a secondary problem of QualifiedName and The Great QualifiedName Flattening of 202X (v35: see internal wiki page) where the names returned by the demangler are structurally different than those entered by users, and need some post-processing to be correct. This is probably not required for this issue but it came up again because the demanglers started making types with those names that technically don't conflict with user types, but actually yes they do.

When a type has a namespace its qualified name is teeeechnically different than the one you have created (it is split into two components versus one component which includes the double-colon). I can look into mitigating this but it's going to be a pain to solve completely.

Ah, okay, I was going off memory and didn't remember this existing in the issue.


Works with S31 but can it report energy?

I can confirm this is working with the newer S31 plug.  The plug also has power monitoring.  I am looking for a way that it would also report the energy use back in the json object.
Going to keep digging around but its hard to follow the code I didnt make so I didnt know if it was easy to add in.
This is the packet that the energy is in.  It is a different cmd number then the state (42)
Socket ->  {"cmd":127,"serial":215,"uid":"<UID removed>","timestamp":1549919006,"energy":"0.00"}
If there is anything I can do to help, or where I can go to add this let me know.

Hey Scott,
Sorry I just saw your message. Good to know that it works with the new S31 plug. I don't have any of them to test with but I could give you some pointers.
You could try adding  this to the OrviboPacket.js
pkt.prototype.getEnergy = function() {
    return this.payloadJSON.energy;
};

Then in the heartbeatHandler in Orvibo.js you could try adding this to the packet data like:
let pkData = Object.assign({}, socketData, {
        serial: plugPacket.getSerial(),
        uid: plugPacket.getUid()
       energy: plugPacket.getEnergy()
    });

Then it should appear in the socket data :)
let me know how you go and if you get it working.

I tried to put this code in but I think there is more to it on the side of the switch because I only get one power measurement when I connect then I dont see anymore.  Also, I only see 0.0 so I am not sure its even right.  I'm thinking its a parameter that needs to be queried.  I'll have to investigate it more when I have time but for now its working well to switch it on and off after I modified the function to be able to send either a 1 or 0 to turn it on or off instead of just  toggle.
Appreciate the code you have written and its confirmed that the S31 is working with the basic on and off function.


Put RowGenerators in the Results object

We need unique objects per result set so that if multiple tables are
being generated at once, they don't interfere with each other's state.

Looks good. I would reword the commit message as "Move RowGenerator instantiation to the Results object".

merged


Feat/kratos/profile settings UI

Description
[Created the EditProfile screen UI]
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

Screenshots (if appropriate)

make a pull request to the featured branch not the main


[For Netlify Redirect Test] Add a fake redirect

See https://answers.netlify.com/t/placeholder-redirects-dont-support-periods/113543/2
Head's up I couldn't reply to that thread anymore because Netlify reported my account as spam
If you try https://deploy-preview-4029--react-native.netlify.app/docs/0.72/sourcemaps this link -- the redirect fails
If anyone else can message on that thread with this PR, that will be helpful, thanks!
Edit: Actually what's even stranger is that it does work.. but just not for 0.72?
Do we hardcode something for 0.72? I'm very confused

@knupska hey! haha yes an aggressive spam filter
Yea this is super strange since hard-coding a redirect from 0.72 also fails. It's pretty high-up on the _redirects page too. Anyway, it does seem related to Netlify's placeholders and periods as I had concluded -- thanks for all your help investigating!

Figured it out, we needed to actually delete the documentation for the redirects to match. It's not 100% consistent though which is still a mystery but unblocked!


[WIP] feat(constraints): Implementation of constraint filtering (cmd + toml + matching functions), implementation proposal with consul

see #311

Hi @samber thanks a lot for your great work!
What do you think of simplifying this a bit by moving constraints inside GlobalConfiguration, instead of being defined in each provider?
I think constraints should be defined for the whole instance, and be used by each provider.
WDYT?
/cc @keis, @vdemeester

@emilevauge constraints defined for the instance sounds like the right way to go.
One potential problem with that is if there is a difference in what "constraint types" the different backends support. Right now the only supported type is matching on "tags" but I guess there could be others? like the overlay network for docker but that would not make any sense for consul. But I don't think it worth worrying to much about :)

@keis, you're right, maybe we could keep the providers constraints and add global constraints?
I think that global constraints are much simpler in the multiple traefik instances per environment use case :)

Improvement in the last commit:
@emilevauge : global constraints + provider-specific constraints
@keis : refactored ;-)

@samber validation error ;)

Yes I didn't finish working on that.
if everybody agrees on implementation, it's time for me to write some tests ;-)

After reading https://github.com/containous/traefik/issues/311#issuecomment-215738849 I like the idea, but as @emilevauge I like the idea of having global constaints to (no matter the provider used) and maybe merge them.
On the implementation side, for docker, the way to filter the contstaint would definitely be labels (but with a mix of container labels and node/host labels).

OK thanks @vdemeester!
@samber I think everybody is OK on the implementation :)

Concept ACK :+1:

It's alright on my side. Ready for review and merge ;-)
cc @pnegahdar

Thanks a lot @samber ! Great job :)
Few minor comments, but other than, looks good to me.
/cc @vdemeester

I did a large refacto because of the new cli library.
Ready for review ;-)

@samber impressive job :heart_eyes_cat:
Only one comment on the code.
Once rebased, LGTM!
/cc @vdemeester

Fixed and rebased 👍

Very good job indeed :+1:
LGTM 🐮


[1.16.4] Third Eye Removed by trinket from Lost Trinkets

Describe your problem
The mod Lost Trinkets has a trinket called Magical Herbs, which removes all negative potion effects from you. If you're wearing that when eating Demon's Dream Fruit, Third Eye will be instantly removed without notifying the user.
This can result in the player being unable to progress in Occultism, as Otherworld Logs/Saplings will never drop.
System (please complete the following information):

Minecraft Version 1.16
Enigmatica 6, https://www.curseforge.com/minecraft/modpacks/enigmatica6, in-dev 0.3.3
Lost Trinkets: https://www.curseforge.com/minecraft/mc-mods/lost-trinkets

Edit: Reported by user Thiana here: https://github.com/NillerMedDild/Enigmatica6/issues/674

Thanks for the report! That could be a tricky one to solve, but I think I can declare demon's dream a positive effect to avoid issues of that kind.

That'd be nice!

@NillerMedDild the next build should fix this - Demon's Dream is now declared beneficial instead of neutral. The associated hunger will still be removed by the magical herbs. .

Perfect, thanks!


[uwp] using the MediaComposition.RenderToFileAsync as IAsynOperationWithProgress cause huge memory leaks

Treating the result of MediaComposition.RenderToFileAsync as IAsyncOperationWithProgress can cause HUGE memory leaks.
In my experiments, for a roughly 30 second file at 640x360, it will be a 150-200 Mb memory leak, while a 90 second file at 1920x1080 can cause a 4-5GB memory leak
Steps to reproduce the bug
The following:
var composition = new MediaComposition();
...
var save = composition.RenderToFileAsync(file, MediaTrimmingPreference.Precise, encoding_profile);
save.Progress = (i, progress) => {
...
};
save.Completed = (i, status) => {
...
};

causes the memory leak. If I do the same code as above, but do an await, the memory leak goes away.
var composition = new MediaComposition();
...
await composition.RenderToFileAsync(file, MediaTrimmingPreference.Precise, encoding_profile);

To be clear, even if you have save.Progress = (i,progress) => {}; and save.Completed = (i,status) => {}, the memory leak still happens.
More details
While I can't paste my whole application here, my code creates a video file. I do this, more or less like this:
var clip = MediaClip.CreateFromColor(Colors.Transparent, TimeSpan.FromMilliseconds(duration_ms));
clip.VideoEffectDefinitions.Add(new VideoEffectDefinition(typeof(SaveVideoEffect).FullName, save_configuration));

var composition = new MediaComposition();
composition.Clips.Add(clip);

var  encoding_profile =  MediaEncodingProfile.CreateMp4( quality());
var folder = await StorageFolder.GetFolderFromPathAsync(Path.GetDirectoryName(model_.commands_array.mp4_name));
var file = await folder.CreateFileAsync(Path.GetFileName(model_.commands_array.mp4_name), CreationCollisionOption.GenerateUniqueName);
// ... here, I call the RenderToFileAsync

The SaveVideoEffect is a class that will generate each frame of the resulting video.
If the RenderToFileAsync call is simply awaited, there's no memory leak. If I treat it as an IAsyncOperationWithProgress operation, as shown above, the memory leak appears.
I ended up commenting all the code that would consume any memory, the leaks still appear.

Windows 10 version
Saw the problem?

May 2020 Update (19041)
Yes

November 2019 Update (18363)
Yes

May 2019 Update (18362)
Yes

October 2018 Update (17763)
Not sure

I've pinged our media folks, stay tuned!

The team is tracking this as http://task.ms/31627483 (@andrewleader fyi).  They note that the callback fires every 250ms or so, which might be generating lots of GC pressure.  If you do have a minimal reproduction that we can debug please do share. the Team may post here asking more questions as they dig in.
We hope to welcome more of the Media stack to Project Reunion in the future. Until then I'm going to close this issue.

@jonwis Thanks! I can't access the task.ms link.
About sharing a debug example - unfortunately it's close to impossible to have a small example, since this is part of a huge project (close to 300K LOC)


How to add new values to the chart editor?

Describe your problem here.
Hello! I've been following Psych Engine for quite some time now! Anyways. I have a stepper that I have created for the chart editor that displays a "Remaining Misses" counter in game. Currently the value is able to be modified by the chart editor, but when I go to save the chart, the value is not present in the JSON. However, if i manually specify the value in the JSON file, the chart editor is able to read this value and display it properly on the stepper. But, this value is not saving when I save the chart. As far as I'm aware all of my code is in line. But I just wanted to see if anyone had any possible solutions to my issue.

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
I edited both ChartingState and Song to accomodate a new value.

I'm guessing it has something to do with the template song at the beginning of ChartingState

Did you add the function in "getEvent"? Like one of these:

If not then that is probably the cause.

Did you add the function in "getEvent"? Like one of these:
If not then that is probably the cause.

Ah, I haven't tried that yet, I'm going to do that now.

Well now it's saving as null, regardless of what I put as the value.


Helper function to log incoming request

Fixes : #71

@astoycos  I tried this but this is currently not working.
But this was one approach i was thinking.
Other was adding this method inside :
https://github.com/Kong/blixt/blob/main/dataplane/ebpf/src/bindings.rs#L111 as one of the function.
But i thought it is not the right place and utility is only correct.


ROS Noetic RVIZ Install From Source

Your environment

OS Version: e.g. Ubuntu 22.04
ROS Distro: Noetic
RViz, Qt, OGRE, OpenGl version as printed by rviz: See console output:

Command Output:

-- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: filesystem program_options system thread
-- Checking for modules 'OGRE;OGRE-Overlay'
--   Found OGRE, version 1.9.0
--   Found OGRE-Overlay, version 1.9.0
-- OGRE_INCLUDE_DIRS=/usr/include/OGRE/Overlay;/usr/include/OGRE
-- OGRE_LIBRARIES=/usr/lib/aarch64-linux-gnu/libOgreOverlay.so;/usr/lib/aarch64-linux-gnu/libOgreMain.so;/usr/lib/aarch64-linux-gnu/libpthread.a
-- OGRE_PLUGIN_DIR=/usr/lib/aarch64-linux-gnu/OGRE-1.9.0
-- Found OpenGL: /usr/lib/aarch64-linux-gnu/libOpenGL.so
-- Found Qt 5.15.3
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
/home/foo/ros_noetic_base_2204/catkin_ws/src/catkin/cmake/interrogate_setup_dot_py.py:43: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
import distutils.core
-- rviz: 0 messages, 1 services
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/aarch64-linux-gnu/libX11.so;/usr/lib/aarch64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/aarch64-linux-gnu/libX11.so;/usr/lib/aarch64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- making version 1.14.20.
No display, will not configure tests for rviz/stl_loader
-- Configuring incomplete, errors occurred!
See also "/home/foo/ros_noetic_base_2204/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/foo/ros_noetic_base_2204/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

If source build, which git commit?

Git Commit: 9911c32

System locale, i.e. the output of echo "$LANG $LC_NUMERIC": en_US.UTF-8

Current issue is that the math library seems to return and can not find "trunc", here is the output of the CMakeError.log:

Determining if the function trunc exists failed with the following output:
Change Dir: /home/foo/ros_noetic_base_2204/catkin_ws/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_07aae/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_07aae.dir/build.make CMakeFiles/cmTC_0>
gmake[1]: Entering directory '/home/foo/ros_noetic_base_2204/catkin_ws/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_07aae.dir/CheckFunctionExists.c.o
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=trunc -o CMakeFiles/cmTC_07aae.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.22/Modules/CheckFunct>
: warning: conflicting types for built-in function ‘trunc’; expected ‘double(double)’ [-Wbuiltin-declaration-mismatch]
/usr/share/cmake-3.22/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’
7 |   CHECK_FUNCTION_EXISTS(void);
|   ^~~~~~~~~~~~~~~~~~~~~
/usr/share/cmake-3.22/Modules/CheckFunctionExists.c:1:1: note: ‘trunc’ is declared in header ‘<math.h>’
+++ |+#include <math.h>
1 | #ifdef CHECK_FUNCTION_EXISTS
Linking C executable cmTC_07aae
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_07aae.dir/link.txt --verbose=1
/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=trunc -rdynamic CMakeFiles/cmTC_07aae.dir/CheckFunctionExists.c.o -o cmTC_07aae
/usr/bin/ld: CMakeFiles/cmTC_07aae.dir/CheckFunctionExists.c.o: in function main': CheckFunctionExists.c:(.text+0x10): undefined reference to trunc'
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_07aae.dir/build.make:99: cmTC_07aae] Error 1
gmake[1]: Leaving directory '/home/foo/ros_noetic_base_2204/catkin_ws/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:127: cmTC_07aae/fast] Error 2

Please let me know if any further information is needed. Thank you.

I'm not sure what you are doing. ROS Noetic is targeted to Ubuntu 20.04. However, you state Ubuntu 22.04.
If you are looking for a Noetic-based release into Ubunto 22.04, have a look at https://ros.packages.techfak.net and https://github.com/ubi-agni/ros-builder-action.

I installed from source Noetic on LTS 22.04 as there is a specific package I need for my use case. It has a use in rviz so I wanted to build that from source as well. All upstream packages were already built from source, it is just this CMAKE error gets thrown because of some problem with a linker to the math library and I am not sure where in the CMakeLists.txt this occurs at.

I have no idea, where this error comes from and I can't reproduce it.

Very well then, I will continue to debug this issue and update this when I see what has occurred wrong. I will close it otherwise.


add hints about vector size and docs

Added hints in the README which I required to build avecado.

Thanks!
Hopefully there'll be a release version of Mapnik 3.x some time soon so we can stabilise on that and work out all the kinks in the build process.


Try to keep user in channels if the link could open in RHS

These links might conceivably just open in the RHS instead of taking the user to the Playbooks product:

Issue created from a Mattermost message by @lieut-data.

Closing this to reduce scope in the short-term.


Documentation

Don't forget to tag the releases. easy to see which commit is what version

will do :)


[README] Update README Community Section

Description
The Community section in the README says "Access the Community Drive". There is a new procedure of having this automated based on the individual filling in a community member form
Expected Behavior
Update "Access Community Drive" to "To Access Community Drive, fill Community Member Form"
Screenshots

Resources
Refer to the Contributing guide
Environment:

OS: [e.g. Ubuntu]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]
Device: [e.g. laptop, iPhone 8]

I'll fix this.

Good, good, good

This was actually fixed yesterday.

Oh, very good. 👍


What does -Force do?

I have not seen "Force" used in a "Get-" command before. Can you add an example of when we should use this?

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

ID: 4504ef6f-28cd-bf4e-bf26-02a0acf292b8
Version Independent ID: 7a12f628-6004-f100-4112-a95f4d4df8ff
Content: Get-CsOnlineDialInConferencingUserInfo (skype)
Content Source: skype/skype-ps/skype/Get-CsOnlineDialInConferencingUserInfo.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

@officedocsbot assign @yogkumgit

Hi @NickDorak, thank you for your feedback.
I agree with you, I think this parameter is not useful here. I´m suggesting an update, let´s see if it gets approval.

@tomkau Please merge this PR #5421

@dariomws  Thank you very much for the contribution and updating the documentation with PR. @NickDorak Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


add gamma (gAMA) support

Would you be able to add a simple test case? Drop an image with a gAMA chunk into test/


Uncaught Type Error in viewer.js in package Web

Expected Behavior
A model related method should not break if provided with invalid values such as null values.
Actual Behavior
Given any method that takes repeatable geom2, geom3 or etc, upon being flatten, it doesn't detect or filter the value of being a null type, resulting in an Uncaught Javascript error.
For example, the null should either be ignored, filtered or captured but it is let through and results in an uncaught error in viewer.js
  return [Primitive.sphere({
    center: [0, 0, 0],
    radius: 12
  }), null];

Steps to Reproduce the Problem

paste this piece of code into codemirror editor

const jscad = require('@jscad/modeling');
const Primitive = jscad.primitives;

function main() {
return [Primitive.sphere({
  center: [0, 0, 0],
  radius: 12
}), null];
}

module.exports = { main }

SHIFT+ENTER
Uncaught error thrown and there isn't any way to rerun except for a hard reload of the page.

Specifications

Version: production
Platform: all
Environment: browser

Line 266 is assuming the object is an object instead of being a null
Line 264 is the fix I made locally

I am open for a discussion on this issue.
Given the complexity of the codebase there might be several ways to solve it.
Here are a few options I can think of.

Address this issue in flatten() but IMO flatten should just do flatten even there are null elements in the list. Introducing filtering logic seems a bit off.
In all the model methods, every single one of them, add a filtering logic to make sure null is either not accepted, ignored or filtered to protect the existing implementations anywhere else.
In compareSolids, return false if any null is detected. It is not wrong to assert that because any solid compares to null is not equal but should a solid be compared to a null?

Option 2 seems to be a right thing to do
Option 3 generates no error in all existing test cases but side effect is unknown to someone new

I am in favor of viewer handling null by ignoring it.

@platypii you are absolutely right here. I wanted to fix it so any errors including this one and even user syntax errors can be captured and handled in a recoverable way. That would be ideal but I am still digging into the whole design to find out how. At a first glance it seems non-trivial. Not sure if this is something has been discussed before in the community.

@samuelwang48 current viewer uses most library that streams events and personally it is annoying to deal with, or trach what code does. Fixing the viewer to ignore nulls among geometries would be nice, but I personally am working on a new viewer prototype rather than dealing with most library.

@hrgdavor thanks for providing the background and I agree. Will submit a change along with test cases later.

@samuelwang48 interesting issue.
Since javascript supports sparsely populated arrays, this library should as well. there are those that want to pass nothing to the common operations, like #820 . And there have been previous requests that wanted to pass 'null' in order to create shapes using complex loops.
sadly, you hit one of those edge cases. i remember testing various combinations of sparse arrays in the return of main. obviously, there's still a few bugs.

Yeah. This is bad. The whole application should recover, and allow the user to continue.

Seems like null is user error and should fail. The problem here is that the viewer handles it poorly:

Viewer doesn't show the error to the user. It prints "processing, please wait" forever.
After the error, the viewer is in an unrecoverable state, even if the design is fixed.

Yeah. This is bad. The Web UI should recover and allow the user to recover. And as @hrgdavor mentioned error handling is tricky in the current framework.

@samuelwang48 I took a look at the compareSolids() function. i think a simple filter would be best, i.e. reduce current to a list of objects.

@z3dev I will have a try tomorrow.
Something similar to this
…current.filter((s)=>{s!=null}).map(…

here I have some updates. I've tried to filter as suggested by @z3dev
I did something similar to this within the implementation of compareSolids(a, b) => boolean
current = current.filter((s) => { s != null })
previous = previous.filter((s) => { s != null })

Unfortunately the result was not ideal as it didn't fix the issue.
Moreover I also realized that this idea was to mutate one or more "Inputs" of a function inside the implementation of this function.
It was not very "functional". If we followed this idea, we should fix the caller of this function before an improper input gets passed into the function OR simply throw an exception in the callee.
If we throw an exception, it is hard to be captured and hard for users to recover.
I would stick to option 2 for now. We can hold this PR until we all agree.

Another similar but not directly related issue.
If null is present in colorize() the UI becomes unrecoverable.
jscad = require('@jscad/modeling');
const Array_Utils = require('@jscad/array-utils');
const Booleans = jscad.booleans;
const CssColor = jscad.colors.cssColors;
const Colors = jscad.colors;
const Primitive = jscad.primitives;

function main() {
  return [Colors.colorize(CssColor.silver, [Booleans.union(Primitive.cube({
    center: [0, 0, 0],
    size: 1
  })), null]), null];
}

module.exports = { main }

jscad = require('@jscad/modeling');
const CssColor = jscad.colors.cssColors;
const Colors = jscad.colors;
const Primitive = jscad.primitives;

function main() {
  return [Colors.colorize(CssColor.silver, [Booleans.union(Primitive.cube({
    center: [0, 0, 0],
    size: 1
  })), null]), null];
}

module.exports = { main }

Found more cases that will break the web and cause the web to be unrecoverable especially with the dist'ed package.
Looks like once an error is detected in a user script some state will not immediately be restored or reverted.
I am struggling to figure out how to solve it in a more elegant way but I lack the redux expertise.
My workaround is to flush the state by feeding the codemirror an empty payload to execute immediately after user script failure. This kind of "flush" workaround seems to restore those clogged state.
The workaround will be triggered in setErrors() from ui/flow/errors.js. It's not an elegant way of dealing with reverting/recovering state so I keep it local.

Personally I am not against this fix. It is useful, and if sbdy will want to tackle it elegantly, that is fine as well. I just think app is better with it than without.

I found the old issue #665 which also reported the same issue.
Here's my test case for it...
const { path2, geom2, geom3 } = require('@jscad/modeling').geometries
const { square } = require('@jscad/modeling').primitives

const main = () => {
  let a = path2.create()
  let b = geom2.create()
  let c = geom3.create()
  let d = 'hello'
  let e = square()

  return [undefined, a, null, b, null, c, null, d, null, e, undefined]
}

module.exports = { main }

@samuelwang48 the latest release contains YOUR fix for this error. if satisfied then please close this issue.

Verified the changes in the merged branch. Ok to close now. Closing.


Question: Disable everything on load

Hello,
I just wanted to ask the best way of loading the form with disabled fields and next step button and have an 'edit' button to enable all the fields?
The scenario is that if multiple users have opened the same record at a time one user should be able to edit the record and fires off an event to notify the others that the record is currently on edit mode.
Thanks!

Hi @mjcombalicer
The fields should be trivial to disable but it depends on what you use for forms.
Here is an example with vue-form-generator.
https://jsfiddle.net/bt5dhqtf/1200/
The wizard buttons however might be trickier since you have to redefine the buttons with a scoped slot yourself.  https://cristijora.github.io/vue-form-wizard/#/?id=footer-slot
It might be a bit of boilerplate for the wizard footer but then you have full control over the buttons. You can disabled/hide and do whatever you need with them.
If you have a proposal for this, I would probably implement it since I think it might be useful to have disabled steps.

Thanks @cristijora,
Your example is perfect as I am using vfg.
In terms of a proposal, can I ask what you mean? Please excuse my ignorance as I'm fairly new to this.

I was asking whether you have a proposal on how to improve this. The downside of the implementation I showed you is that you have to redefine the footer content.
I was thinking of maybe providing a disabled prop for tab-content
<tab-content disabled> which would disable the next and prev button

Hi @cristijora
I see what you mean now.
From how I see it I think it is best if there is hierarchy to it.
For example with my question, the form itself will be loaded on disable. I think a disabled option within form-wizard (I'm just guessing here) should be available and all tab-content will inherit that property.
Then for tab-content is something you mentioned above which means that all fields within that tab will inherit the prop.
I'm not sure if that makes sense.

@mjcombalicer After looking a bit into this, I think sticking to the initial example I gave above would be the best idea. Adding stuff on top of it would only make it harder to maintain.


Add date and time to received messages

When the WhatsApp account receives messages and the program is not running, these are automatically delivered when the listener starts running. However, it is not possible to know when the message was sent in WhatsApp.
It would be useful to know the date and time of the message when it is delivered by the Telegram bot. This could be done, for instance, sending the timestamp when relaying the message to Telegram through the signal.

I'm gonna try to work in this one. Do you have any kind of IRC or communication channel to speak with you, by the way?

Awesome, thanks! I don't have any particular communication channel as of yet (apart from email or issues), but I can create a Gitter room or something like that if you want.

That would be nice if you don't mind.

Here you go: https://gitter.im/wat-bridge/Lobby


[Serialization] Apple platforms have default framework search paths.

Follow Clang's lead in defining /System/Library/Frameworks and /Library/Frameworks as default framework search paths. I'm doing this manually rather than adding them to the actual list of search paths because Clang will also do this by default, and I don't want to needlessly duplicate that work.
rdar://problem/31126655

@swift-ci Please test


Wrong category 'tool' processing

README.md
# category:tools has special meaning - it will run for steps, that explicitly request it in the
# step`s containerSelector key.

but
  - name: Service
    containerSelector:
      - "{variant:1}"
    agentSelector:
      - "{variant:1}"
    run: |
       echo SERVICE
...
  - name: Black Duck
    containerSelector: "{category:'tool', name: 'blackduck', variant:1}"
    enable: false
    shell: action
    module: ngci
    run: NGCIBlackDuckScan

launch Service step too on blackduck node
See:
http://hpc-master.lab.mtl.com:8080/blue/organizations/jenkins/LIBVMA-PRO/detail/LIBVMA-PRO/106/pipeline/1835/

Is it planned to be resolved? it brakes effective usage.

yep, bug:
here tool is scheduled to be skipped
https://github.com/Mellanox/ci-demo/blob/master/src/com/mellanox/cicd/Matrix.groovy#L439
but here - it can be re-elected
https://github.com/Mellanox/ci-demo/blob/master/src/com/mellanox/cicd/Matrix.groovy#L448
testing fix

agentSelector can operate only by nodeLabel

the behaviour is correct. for tools container - step should have explicit selector which picks what passes or what not.
you can try to specify category:  '' to filter out tools.

or you can add any custom tag to container definition and pick only containers with tag: doit

the behaviour is correct. for tools container - step should have explicit selector which picks what passes or what not.
you can try to specify category: '' to filter out tools.

It does not work for me.  Service step is not run at all.
  - name: Service
    containerSelector:
      - "{category:'', variant:1}"
    agentSelector:
      - "{category:'', variant:1}"

or you can add any custom tag to container definition and pick only containers with tag: doit

It is problematic to do for containers with predefined tags as
  - {name: 'rhel8.3-mofed-x86_64', url: 'harbor.mellanox.com/hpcx/x86_64/rhel8.3/builder:mofed-5.2-<IP_ADDRESS>', arch: 'x86_64'}
  - {name: 'sl15sp2-mofed-x86_64', url: 'harbor.mellanox.com/swx-infra/x86_64/sles15sp2/builder:mofed-5.2-<IP_ADDRESS>', arch: 'x86_64'}
  - {name: 'fc31-mofed-x86_64',    url: 'harbor.mellanox.com/swx-infra/x86_64/fedora31/builder:mofed-5.1-<IP_ADDRESS>', arch: 'x86_64'}
...

So, I still do not see obvious way to launch Service step for all containers and bare-metal nodes in variant 1 excluding containers having category:'tool'.
It stops me from enabling ci based on ci-demo

It seems that only way to get needed is
   - name: Service
     containerSelector:
      - "{name: 'rhel8.3-mofed-x86_64', variant:1}"
      - "{name: 'sl15sp2-mofed-x86_64', variant:1}"
      - "{name: 'fc31-mofed-x86_64', variant:1}"
      - "{name: 'ub20.04-mofed-x86_64', variant:1}"
      - "{name: 'rhel8.3-inbox-x86_64', variant:1}"
      - "{name: 'rhel8.3-inbox-aarch64', variant:1}"
      - "{name: 'rhel7.6-mofed-x86_64', variant:1}"
      - "{name: 'rhel7.6-inbox-x86_64', variant:1}"
     agentSelector:
      - "{nodeLabel: 'r-aa-zorro014', variant:1}"

It does not look friendly and requires updating readme.

It seems as using special category can do what is expected.
For example:
  - {name: 'ub20.04-mofed-x86_64', url: '..', category: 'base', arch: 'x86_64'}
...
    containerSelector:
      - "{category: 'base', variant:1}"
    agentSelector:
      - "{category: 'base', variant:1}"


DNS request do not return the IP answer

@ingve mind adding some of your debug output in this issue?

When using the http client to get() the url http://api.ipify.org/ the get request fails with Unable to resolve host.
By placing a call to request.print() in DNSClient::resolve right after request.parseResponse(data);, the following is printed:
1 questions
 2 answers
 0 authoritative servers
 0 additional records

Name: .piipifyorg has alias: api.ipify.org.herokudns.com
Name: api.ipify.org.herokudns.com has IPv4 address: <IP_ADDRESS>

If I try to use the api.ipify.org.herokudns.com address in the call to get(), the following is printed by request.print():
1 questions
 0 answers
 1 authoritative servers
 0 additional records

Name:  has unknown resource type: 6

So the problem is it can be many answer, and not all of them has to be IP4 addresses (but aliases etc). getFirstIP4() returns the first answer, not the first IP4 answer.


Show Block Name in GuiExternalConnectionSelector. Fixes #1984

Its been a year, since #1984, so i thought i might give it a shot.

For 1.7.10. I hope you still accept PRs for it and that it can be easily ported to 1.9.8 and above.

@HenryLoenwind Will your changes to the GUI in 1.8 easily backport to this version? If not this PR seems like a good midway point.

Are there changes in the 1.8 version that make my changes useless?
If not I will probably write another pull for 1.8 this evening.
I'm really sick of seeing DW20 using F3 to figure out the direction :wink:

"I'm really sick of seeing DW20 using F3 to figure out the direction"---LOL, that was what made me do the 1.8.9 changes. I literally paused the video to do it.
I think those two changes will combine nicely. But we may want to reduce the text size of the block names. (That should be possible somehow, the tooltip of the "Enderios" does it...)

See #3288 for the 1.8.9 Pull Request. I could not find out how to easily reduce the font size, but i think it might be fine without that.


Merge container_definition and container

Merge Container and ContainerDefinition
@enoodle Please review
cc @simon3z @cben @moolitayer

@miq-bot add_label providers/containers

@miq-bot add_label wip

@miq-bot remove_label wip

@cben @agrare can you take a look/review? This is has implications on your graph refresh work.

@simon3z I'm good with it re: impact on graph refresh, looks like just a few of the collections will need to change.

OK. Waiting on the UI side (still WIP).
Do we need to modify any report? cc @nimrodshn

Database migrations have now been moved to the https://github.com/ManageIQ/manageiq-schema repo.  Please see http://talk.manageiq.org/t/new-split-repo-manageiq-schema/2478 for instructions on how to transfer your database migrations.  If this PR contains only migrations, I will leave it open for a short time during the transition, after which I will close this if it has not been moved over.

@simon3z there shouldn't be any problem with reports - there is no report relying on either Container or ContainerDefenition.
cc @zeari

@Fryguy @blomquisg can you have a look here? this PR is tightly coupled with https://github.com/ManageIQ/manageiq-schema/issues/24 and both should be ready to merge

@simon3z @cben @enoodle can you please approve this PR?

cc @Loicavenel

Merged the schema PR, so just rekicking to runs the specs.

Just a rant here, but it would be nice if definitely-breaking changes such as these were actually tested in the UI .. just opening a container summary screen blows up ;). (Fixed by ManageIQ/manageiq-ui-classic#1760, I hope.)

Just a rant here, but it would be nice if definitely-breaking changes such as these were actually tested in the UI .. just opening a container summary screen blows up ;). (Fixed by ManageIQ/manageiq-ui-classic#1760, I hope.)

@himdel I feel your pain :( but --> https://github.com/ManageIQ/manageiq/pull/15393#event-1128148617
Ill link to the UI PR in the description next time


Node is Produced by Multiple commands

Hello  ,
I recently installed your library in my Xcode 9 pods, it worked very fine ( very good job putting it all together by the way ) until I switched to the new build system of Xcode .
Each time I try to build the project it tells me that node is produced by multiple commands
Some logs to show you the pain :
:unable to build node: '/Users/MacMini/Library/Developer/Xcode/DerivedData/simplyCE-hbbxrxxtffnvuzaadifobdmphokj/Build/Products/Debug-iphonesimulator/SimpleAnimation/SimpleAnimation.framework/Info.plist' (node is produced by multiple commands; e.g., '2679b397d3d677894c5d5e050b13ad81bc6020fe184ac6802105ce37562e9d05:CopyPlistFile /Users/MacMini/Library/Developer/Xcode/DerivedData/simplyCE-hbbxrxxtffnvuzaadifobdmphokj/Build/Products/Debug-iphonesimulator/SimpleAnimation/SimpleAnimation.framework/Info.plist /Users/MacMini/Desktop/simplyCE/Pods/SimpleAnimation/Source/Info.plist' and '2679b397d3d677894c5d5e050b13ad81bc6020fe184ac6802105ce37562e9d05:ProcessInfoPlistFile /Users/MacMini/Library/Developer/Xcode/DerivedData/simplyCE-hbbxrxxtffnvuzaadifobdmphokj/Build/Products/Debug-iphonesimulator/SimpleAnimation/SimpleAnimation.framework/Info.plist /Users/MacMini/Desktop/simplyCE/Pods/Target Support Files/SimpleAnimation/Info.plist')
I Actually tried these solutions :

removing my derived data , cleaning the project and rebuilding --> same result
removing the Pod , cleaning and rebuilding --> everything works fine , ( the new build system is 27 times more fast I think) but NO SIMPLE ANIMATION T_T
Posting this Issue --> still waiting for your precious answer
PS : There is no why I'd deliver my app without using this Lib .

Have a good day !

I found a solution : 👍
I placed the source code in a folder under my project and uninstalled the pod. Now I can access all the functions and use the new build system .
Peace and Love ;)


Example pages

Thanks for developing this wonderful theme. I really liked it a lot.
I have a query that do you have any example page created here or somewhere else. I was that almost all the components are documented and by using those admin dashboard or website designed can be created. But if there is any example page it would be helpful for new users.

Hi @nasirkhan,
Please feel free to check http://daemonite.github.io/material/docs/4.1/getting-started/introduction/


Files deleted in the Dockerfile come back

Description

When I delete or move a file inside of my Dockerfile, it is still there in future steps and in the container.
Steps to reproduce the issue:

Create a Dockerfile with these steps

FROM phusion/baseimage:0.9.17

RUN touch /tmp/foo
RUN ls /tmp/foo
RUN rm /tmp/foo
RUN ls /tmp/foo
RUN rm /tmp/foo && ls /tmp/foo

docker build .

Describe the results you received:
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM phusion/baseimage:0.9.17
 ---> 035cda81a0b6
Step 2 : RUN touch /tmp/foo
 ---> Running in b96578add1c6
 ---> a9577650d9ac
Removing intermediate container b96578add1c6
Step 3 : RUN ls /tmp/foo
 ---> Running in b7ee9ff259f9
/tmp/foo
 ---> d89659425c4b
Removing intermediate container b7ee9ff259f9
Step 4 : RUN rm /tmp/foo
 ---> Running in 06b19c325ffb
 ---> add8965aabe9
Removing intermediate container 06b19c325ffb
Step 5 : RUN ls /tmp/foo
 ---> Running in a58a777ef095
/tmp/foo
 ---> 930d8f92999a
Removing intermediate container a58a777ef095
Step 6 : RUN rm /tmp/foo && ls /tmp/foo
 ---> Running in 5a9dc5e81120
ls: cannot access /tmp/foo: No such file or directory
The command '/bin/sh -c rm /tmp/foo && ls /tmp/foo' returned a non-zero code:

We remove the file in Step 4, but we can still see it with ls in Step 5.
Describe the results you expected:
Step 5 should say that /tmp/foo does not exist, like Step 6 says.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 21:09:07 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 21:09:07 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 26
 Running: 3
 Paused: 0
 Stopped: 23
Images: 717
Server Version: 1.12.0-rc2
Storage Driver: overlay2
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host null bridge overlay
Swarm: inactive
Runtimes: default
Default Runtime: default
Security Options: apparmor seccomp
Kernel Version: 4.4.0-24-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 15.6 GiB
Name: ginger
ID: UTGO:YQ4V:3C3A:W4EC:F4BO:73UP:UXTG:5FT3:TLPO:L6NE:SDNM:ZYJ4
Docker Root Dir: /export/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 vulcan0:5000
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):

Looks like you're running a old pre-release of docker 1.12; would you be able to upgrade to 1.12.1 (the current release), or 1.12.2-rc1 (a release candidate for the upcoming 1.12.2 release); many things were fixed since this pre release. https://github.com/docker/docker/releases

Yeah, that looks like it fixed it. Should have tried that first....

Thanks! Good to hear it's resolved


Issue with Wordpress pages

Hello I was using slidebars and it works well on the homepage of my wordpress site, but when I attempt to use it on any other pages, the slidebar moves to the incorrect spot and the canvas "content" stays put.
Here it is working well: http://web170.frcrescioni.net/wordpress/
Here it is working not correctly: http://web170.frcrescioni.net/wordpress/about-us/
Thank you for making this, I am still learning a lot so it may be something I'm doing incorrectly but I have been staring at the different pages' code and don't see what would be causing the issue.

Fixed it. Turned out I was misplaced a
wooof.


Manage TOC:Toogle for multiple files in the same Window

Maybe I do not this right, but I am using Atom as a note editor and like the Markdown format :)
I open multiple note files and I would like to manage a TOC for each of this files.
Unfortunately I have to open a new window to be able to generate a TOC.
Can this be a feature or not ?

Hello,
I've got the exact same issue thus it's not related to your setup. Indeed, It would be good to be able to manage multiple table of content across tabs.
I don't know if nok planned for this.

Thank you @xakraz and @grumpycatt ,
sorry, currently my time is limited because of my study. Nevertheless I noted that issue as an enhancement for the next update.
Happy coding,
Darius

Any updates ?

Same problem here -.-


Incorrect script tag detection on span tag

Is this a bug report?
Yes
Take the following line of JSX:
JavaScript:Competent
According to CRA:
Line 30:  Script URL is a form of eval  no-script-url
The aforementioned line of JSX is line 30, I can understand the mistake CRA made, it includes the word JavaScript. But this isn't a script tag.
I've tried reproducing this with other tags, but it only appears on line 30 in the span tag.

Sounds like a bug in the ESLint rule.


color change from default black

how do we change color of the cursor in normal HTML

Use cursor states and your CSS.
See advanced section: https://github.com/Cuberto/mouse-follower#advanced-usage


Update checkmarx-ast-cli binaries with 2.1.6

Updates checkmarx-ast-cli to 2.1.6
Auto-generated by [create-pull-request][2]

Checkmarx One – Scan Summary & Details – 59066765-884a-468f-b6e8-46be79b4355a
No New Or Fixed Issues Found


clr-loader failed to load dll if the assembly path contain Chinese

Environment

Pythonnet version: 3.0.1
Python version: 3.8.10
Operating System: Windows 11
.NET Runtime:

Details
I find that everything just works fine if Python path doesn't contains any Chinese characters. But if the path contain some Chinese chars, let's said, start a python interactive shell via the following command:
D:\中文测试\CCInsight\python-3.8.10-embed-amd64\python.exe

And then when I run import clr, the following error will be raised.
>>> import clr
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\中文测试\CCInsight\python-3.8.10-embed-amd64\lib\site-packages\clr.py", line 6, in <module>
    load()
  File "D:\中文测试\CCInsight\python-3.8.10-embed-amd64\lib\site-packages\pythonnet\__init__.py", line 143, in load
    if func(b"") != 0:
  File "D:\中文测试\CCInsight\python-3.8.10-embed-amd64\lib\site-packages\clr_loader\types.py", line 64, in __call__
    return self._callable(ffi.cast("void*", buf_arr), len(buf_arr))
RuntimeError: cannot call null pointer pointer from cdata 'int(*)(void *, int)'

I delivery a software that provide a GUI depends on pythonnet, this become an annoy bug as user may choose their own installation location, which may contain Chinese chars. Hope to find a fix or a work around.
Update:
I try to narrow down the scope of code to
https://github.com/pythonnet/clr-loader/blob/master/clr_loader/netfx.py#L36-L44
It looks to me like the _get_callable failed to get the right callabe object by the following args
assembly_path:  d:\中文测试\CCInsight\python-3.8.10-embed-amd64\lib\site-packages\pythonnet\runtime\Python.Runtime.dll
typename:          Python.Runtime.Loader
funcname:          Initialize

can fix by change the _get_callable() function to this
import locale

def _get_callable(self, assembly_path: StrOrPath, typename: str, function: str):
    encoding = "gbk" if locale.getpreferredencoding() == "cp936" else "utf8"
    func = _FW.pyclr_get_function(
        self._domain,
        str(Path(assembly_path)).encode(encoding),
        typename.encode("utf8"),
        function.encode("utf8"),
    )