Icon Request: Sexually Transmitted Diseases icons

I could really use some sexual health icons. Gonorrhea, chlamydia and syphilis are three of the most commonly spread STIs in the United States. Syphilis can be represented as a coil. Gonorrhea is a bacteria

We just added quote a few STI icons! Please let us know if there are more that you would like to see added to the collection.

PS: Thanks for your patience. I know this took a long time.


libxslt blocks upgrade to npm >6 and node >12

As described in https://github.com/enketo/enketo-express/issues/240

This also blocks using node versions greater than 12.
libxslt is open to new maintainers: https://github.com/albanm/node-libxslt/issues/68#issuecomment-461075364
I think we should also evaluate level of effort for doing transformations without XSLT.

@MartijnR have you had any conversations beyond that with the maintainer or other users of the library?

Only here as far as I can recall.

Some next steps:

Look for drop-in replacements that are maintained across node version updates
Explore getting node-libxslt to support node 16 (mostly C++ changes; can someone with limited C++ experience do this safely?)
Evaluate level of effort for doing transformations without XSLT

I started a thread at https://github.com/albanm/node-libxslt/issues/83 about maintenance. The original author and sole maintainer is responsive and willing to review PRs but hasn't used the lib in a long time so it doesn't make sense for him to invest time in. I'm hoping other users with more C++ experience chime in but I don't know how likely it is.

I now have node-libxslt supporting node 16 -- https://github.com/albanm/node-libxslt/pull/84. Right now only 14 and 16 are supported. Is there a strong need to keep support for node 12? I'm going to give it a try but not sure it's worth much investment.

Thanks to @albanm's speedy review, node-libxslt 0.10.0 is now available! 🎉
Currently it would allow us to bump node to 16 but npm would have to stay at 6 because of what looks like a bug in 7. I've filed at https://github.com/npm/cli/issues/3556 and I think we can give that a little bit to settle as we decide what node version to pin to and explore the implications for the various repos.


Usage of numericInput in data-inputmask causes reversed value

When using numericInput in the data-inputmask attribute the opts.isRTL value is not set in the mask function causing the value to be reversed.
Reversed: http://jsfiddle.net/msj5qfu1/255/
Working: http://jsfiddle.net/msj5qfu1/256/

@Cycor ,
Good catch, I will fix asap.


local client won't start

I can start the server and it completes.  But when I call StartConnection on the client.  It hangs.

yep it's working now.  Great! Thanks!

Cool, and what about this issue?


[Clean up] Enhance TableSizeReader to reduce the logs

In MultiGetRequest, log a warning for failed GET request (there is no way to get the failed url info from the caller side because we don't keep the order of URLS in CompletionService)
In TableSizeReader, if there are missing segments from all servers, log only one lines with all missing segments
Also fixed the issue where getResponseBodyAsStream should be used instead of getResponseBodyAsString for large size response

Codecov Report

Merging #3328 into master will increase coverage by 0.01%.
The diff coverage is 88.88%.

@@             Coverage Diff              @@
##             master    #3328      +/-   ##
============================================
+ Coverage     70.79%   70.81%   +0.01%
  Complexity        4        4
============================================
  Files           984      984
  Lines         45369    45344      -25
  Branches       6092     6086       -6
============================================
- Hits          32121    32110      -11
+ Misses        11135    11124      -11
+ Partials       2113     2110       -3

Impacted Files
Coverage Δ
Complexity Δ

...ntroller/helix/core/PinotHelixResourceManager.java
59.83% <0%> (+0.24%)
0 <0> (ø)
:arrow_down:

...ler/api/resources/PinotSegmentRestletResource.java
29.41% <0%> (ø)
0 <0> (ø)
:arrow_down:

...inkedin/pinot/controller/util/TableSizeReader.java
96.07% <100%> (+1.96%)
0 <0> (ø)
:arrow_down:

...om/linkedin/pinot/common/http/MultiGetRequest.java
100% <100%> (+5%)
0 <0> (ø)
:arrow_down:

...ontroller/api/resources/ServerTableSizeReader.java
97.22% <100%> (+19.72%)
0 <0> (ø)
:arrow_down:

...ot/core/realtime/stream/PartitionCountFetcher.java
54.16% <0%> (-20.84%)
0% <0%> (ø)

...e/operator/dociditerators/SortedDocIdIterator.java
54.05% <0%> (-10.82%)
0% <0%> (ø)

...kedin/pinot/core/util/SortedRangeIntersection.java
83.82% <0%> (-7.36%)
0% <0%> (ø)

...e/impl/dictionary/LongOnHeapMutableDictionary.java
82.22% <0%> (-6.67%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
68.88% <0%> (-6.67%)
0% <0%> (ø)

... and 27 more

Continue to review full report at Codecov.

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


Don't search for the spec file path when loading a remote config

Don't perform a recursive search for a spec file when loading the
package configuration remotely, from a forge with
get_package_config_from_repo().
This will decrease the number of API calls to the forge, and speed up
things in general.
Loading a package config from the forge is used by Packit Service in
order to be able to figure out what jobs need to be executed for a given
event. But this activity does not require knowing the spec file. When
knowing the spec file is important, Packit Service always clones the
whole repository and uses the local project.
Signed-off-by: Hunor Csomortáni<EMAIL_ADDRESS>

I started looking into this b/c of the Sentry issue above.
The way auto-detecting the spec file worked when loading the package config from the forge or from a local project was not consistent with the documentation: auto-discovery should have happened only if specfile_path or downstream_package_name was not set.
But maybe it's not necessary to do a recursive file search on the Git forge. I think that the spec file path is never used, when loading the package config from the forge, and all operations that will need it will happen on a local project in Packit Service. But I'm not 100% sure about this. @lbarcziova @lachmanfrantisek please double check it, and let me know if this is a bad idea :)


Keys mangement endpoints are not documented or exposed via Azure SDK for .NET consistently

The create/update and delete host/functions or system key endpoints added to resolve Azure/azure-functions-host#3994 are not documented in Azure REST API reference (https://learn.microsoft.com/en-us/rest/api/azure/) or exposed via the Azure SDK for .NET (https://learn.microsoft.com/en-us/dotnet/api/overview/azure/?view=azure-dotnet), and I suspect other languages too but haven't verified this.
PUT api/sites/{name}[/slots/{slot}]/host/default/{functionkeys|systemkeys}/{keyName}
DELETE api/sites/{name}[/slots/{slot}]/host/default/{functionkeys|systemkeys}/{keyName}
The current version of the SDK Azure.ResourceManager.AppService does not expose the HttpClient it uses and so it's not possible (without creating another HttpClient instance) to make requests to these endpoints.
There is inconsistency across other key management endpoints too:
The list host keys endpoint is documented and exposed via the Azure SDK for .NET
POST /host/default/listkeys
https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/list-host-keys
https://learn.microsoft.com/en-us/dotnet/api/azure.resourcemanager.appservice.websiteresource.gethostkeysasync?view=azure-dotnet
The list function key endpoint is documented and exposed via the Azure SDK for .NET
POST /functions/{functionName}/listkeys
https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/list-function-keys
https://learn.microsoft.com/en-us/dotnet/api/azure.resourcemanager.appservice.sitefunctionresource.getfunctionkeysasync?view=azure-dotnet#azure-resourcemanager-appservice-sitefunctionresource-getfunctionkeysasync(system-threading-cancellationtoken)
The create/update and delete function key endpoint is not document but is exposed via the Azure SDK for .NET
PUT /functions/{functionName}/keys/{keyName}
https://learn.microsoft.com/en-us/dotnet/api/azure.resourcemanager.appservice.sitefunctionresource.createorupdatefunctionsecretasync?view=azure-dotnet#azure-resourcemanager-appservice-sitefunctionresource-createorupdatefunctionsecretasync(system-string-azure-resourcemanager-appservice-models-webappkeyinfo-system-threading-cancellationtoken)
https://learn.microsoft.com/en-us/dotnet/api/azure.resourcemanager.appservice.sitefunctionresource.deletefunctionsecretasync?view=azure-dotnet

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Hi, @thegrahamking , Thank you for using Azure SDK for .NET.
The APIs you mentioned has been updated into the REST APIs, as well as our SDK.
But the content has some changes when applying, please check:
https://github.com/Azure/azure-rest-api-specs/pull/7174
https://github.com/Azure/azure-rest-api-specs/pull/17653

Hi @HarveyLink, with the age, length and depth of the issues you've linked to I'm struggling to see what you mean by "the content has some changes when applying", could you outline please?
I also can't see this change in the Azure SDK for .NET.  Could you point me to the relevant classes/methods in the docs please?

Hi @HarveyLink Minghao Chen (WICRESOFT NORTH AMERICA LTD) Vendor, with the age, length and depth of the issues you've linked to I'm struggling to see what you mean by "the content has some changes when applying", could you outline please?
I also can't see this change in the Azure SDK for .NET. Could you point me to the relevant classes/methods in the docs please?

PUT api/sites/{name}[/slots/{slot}]/host/default/{functionkeys|systemkeys}/{keyName}
DELETE api/sites/{name}[/slots/{slot}]/host/default/{functionkeys|systemkeys}/{keyName}
Applied as:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/{keyType}/{keyName} with PUT and DELETE
SDK PUT operation  , DELETE operation

The create/update and delete function key endpoint is document at
https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/create-or-update-function-secret?view=rest-appservice-2022-03-01&viewFallbackFrom=rest-appservice-2021-02-01

@HarveyLink thank you.
I can't see any merged updates in the Azure SDK for .NET nor a PR for these changes.  Could you point me to the relevant docs for .NET or provide an ETA for when they will be available please?


Changed secondstate to second-state

Solves #125 by changing secondstate to second-state in README.

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


Change type of sentence(messages table) to TEXT

Fixes #67

@eviltoylet @egtann Please let me know if this is ok. Thanks in advance. 😄

Looks good to me! Thank you! Merging now.


net: http: allow HTTP_NETWORK_TIMEOUT to be configured

Currently, the HTTP_NETWORK_TIMEOUT setting is hard-coded as 20 seconds.
Not every application may want to wait that long, so let's change this
to a CONFIG option: CONFIG_HTTP_CLIENT_NETWORK_TIMEOUT
NOTE: This also removes HTTP_NETWORK_TIMEOUT from the public http.h
include file.  It was not being used externally to HTTP client sources.
Signed-off-by: Michael Scott<EMAIL_ADDRESS>

include @pfalcon as well.
This change could also be accomplished by including a timeout parameter in http_client_init() / https_client_int() and letting the app decide.  But this way it keeps the current functionality and doesn't break any apps.  Open to suggestions.

This change could also be accomplished by including a timeout parameter in http_client_init() / https_client_int() and letting the app decide

Or have a separate function like http_client_set_timeout() to set the timeout as the init functions have lot of options already. But we can start with Kconfig option and if needed can introduce new function for setting the option at runtime.


Battery State

Hi,
With this package, is it possible to access the battery state of the robot? I cant see any related topic.
How could I help to develop this feature if it is not available yet?
Thanks.

I remember that I saw this data inside some of the topics, can you look at
RTC_TOPIC = {
"LOW_STATE": "rt/lf/lowstate",
"MULTIPLE_STATE": "rt/multiplestate",
"FRONT_PHOTO_REQ": "rt/api/videohub/request",
"ULIDAR_SWITCH": "rt/utlidar/switch",
"ULIDAR": "rt/utlidar/voxel_map",
"ULIDAR_ARRAY": "rt/utlidar/voxel_map_compressed",
"ULIDAR_STATE": "rt/utlidar/lidar_state",
"ROBOTODOM": "rt/utlidar/robot_pose",
"UWB_REQ": "rt/api/uwbswitch/request",
"UWB_STATE": "rt/uwbstate",
"LOW_CMD": "rt/lowcmd",
"WIRELESS_CONTROLLER": "rt/wirelesscontroller",
"SPORT_MOD": "rt/api/sport/request",
"SPORT_MOD_STATE": "rt/sportmodestate",
"LF_SPORT_MOD_STATE": "rt/lf/sportmodestate",
"BASH_REQ": "rt/api/bashrunner/request",
"SELF_TEST": "rt/selftest",
"GRID_MAP": "rt/mapping/grid_map",
"SERVICE_STATE": "rt/servicestate",
"GPT_FEEDBACK": "rt/gptflowfeedback",
"VUI": "rt/api/vui/request",
"OBSTACLES_AVOID": "rt/api/obstacles_avoid/request",
"SLAM_QT_COMMAND": "rt/qt_command",
"SLAM_ADD_NODE": "rt/qt_add_node",
"SLAM_ADD_EDGE": "rt/qt_add_edge",
"SLAM_QT_NOTICE": "rt/qt_notice",
"SLAM_PC_TO_IMAGE_LOCAL": "rt/pctoimage_local",
"SLAM_ODOMETRY": "rt/lio_sam_ros2/mapping/odometry",
"ARM_COMMAND": "rt/arm_Command",
"ARM_FEEDBACK": "rt/arm_Feedback",
"AUDIO_HUB_REQ": "rt/api/audiohub/request",
"AUDIO_HUB_PLAY_STATE": "rt/audiohub/player/state",
}
some of these topics have this info, thanks!


CosmosDB Insights and Kubernetes Cluster Dashboard

Checklist

[x] Azure CosmosDB Account Dashboard
[x] Azure CosmosDB Account Detail
[x] Azure CosmosDB Mongo Database Detail
[x] Azure Kubernetes Cluster Dashboard

@karanpopat can you pls check it breaks to render the graph when no database is created

@karanpopat can you pls check it breaks to render the graph when no database is created

@rajlearner17 works fine when no database is attached, As we discussed the error was because the Azure plugin was not updated


add docs.go (godoc) to config module

Can you also add some "testable (godoc) examples" while you're at it, @chrisvdg? And than you can tick of the box for the config module in #439. You can find more information about what I mean with this in that issue.

@GlenDC, will do, actually wanted to try that out!


sagemath-installer: fix forwarding args from shim

This is a little hacky way to pass arguments to sage. It grabs the arguments the shim passes to bash.exe, cuts out the user-specified part, and then passes it to sage executable.
I also propose removing the shim for bash.exe (which I have no idea why is exposed in the first place) and the other two shims, as they are not needed now. But they might need to be kept for backwards compatibility?
(Also, if we decide to make backwards incompatible changes, it would be nice to rename the shim from sagemath to sage (for platform consistency) and the package from sagemath-installer to just sagemath (because the -installer part has no meaning).)

This does not seem to respect current working directory, marking WIP until I find out how to fix

This is now ready, with full argument and Windows path support. (As said previously, this makes other shims obsolete, but I don't know what is Scoop's deprecation policy.)

I really do not understand what this should do.
Why do you create ugly and unmaintable way how to deal with it? Just create wrapper powershell script in installer.script with all the argument handling and then shim this wrapper.

@Ash258 I considered this option, but ultimately it will just be the same code, echoed into new ps1 file. I know that the code looks ugly, but cygwin is just shitty at Windows interop and Sage has to be run through cygwin bash (and it furthermore has to be login shell). Also all paths need to be translated to the UNIX format by cygpath.
I can remake it as an installer script that echoes it into ps1 file and then shims that, if you think that's the better option. That would at least allow me to define variables and thus make the line more readable. But again, it would be powershell in string in powershell in JSON...

It will be simple pre_install with Array of single quoted strings.
"pre_install": [
    "$CONT = @(",
    "    '#SOme hadnling of parameters'",
    "    '....'",
    "    '$login = ....'",
    "    '& \"$PSScriptRoot\\..\\bin\\bash.exe\" --login ....'",
    ")",
    "Set-Content sagemath.ps1 $CONT -Encoding ASCII",
]

@Ash258 OK, I'll try that. Hope I won't get lost in the 6 layers of escaping... 😄

@Ash258 Could please look at #3003 first? It's a pretty simple path fix for the same manifest. It also touches installation scripts, so I don't want to create conflicts.

@Ash258 What about now?
BTW, what's your opinion on renaming sagemath-installer to simply sagemath? (The part -installer is nonsensical in the first place.) Does Scoop has some non-havoc-wreaking way of renaming packages, or is it too much hassle?

Synchronize with master. There are no changes from #3003

Since right now I am under metered connection I will see later with whole installation process as soon as I am able to download bigger files.

Fixed manifest with optimized checkver and autoudpate

Also some properties sort and manifest ergonomic tweaks

{
    "version": "0.5.1-8.9",
    "description": "Mathematics software system",
    "homepage": "https://www.sagemath.org",
    "license": "GPL-2.0-or-later",
    "architecture": {
        "64bit": {
            "url": "https://github.com/sagemath/sage-windows/releases/download/0.5.1-8.9/SageMath-8.9-Installer-v0.5.1.exe",
            "hash": "955f47f50052a9819b2c4aa9b75fc7bfa994eeb83e98a8df44beacb762a653cb"
        }
    },
    "innosetup": true,
    "installer": {
        "script": [
            "$CONT = @(",
            "    '$exedir = \"$PSScriptRoot\\runtime\\bin\"'",
            "    '$cwd_unix = (& \"$exedir\\cygpath.exe\" -- (Get-Location).Path)'",
            "    '$args_unix = ($args | ForEach-Object { & \"$exedir\\cygpath.exe\" -- $_ })'",
            "    '$args_unix_quoted = ($args_unix | ForEach-Object { \"''$_''\" })',",
            "    '& \"$exedir\\bash.exe\" --login -c \"cd ''$cwd_unix'' && /opt/sagemath-*/sage $args_unix_quoted\"'",
            ")",
            "Set-Content $dir\\sagemath.ps1 $CONT -Encoding ASCII",
            "@('etc\\fstab.d', 'dev\\shm', 'dev\\mqueue', 'home\\sage') | ForEach-Object {",
            "    New-Item \"$dir\\runtime\\$_\" -Force -Type Directory | Out-Null",
            "}",
            "Get-Content \"$dir\\runtime\\etc\\symlinks.lst\" | ForEach-Object {",
            "    (Get-Item \"$dir\\runtime\\$_\").Attributes = 'System'",
            "}"
        ]
    },
    "bin": [
        "sagemath.ps1",
        [
            "sagemath.ps1",
            "sage"
        ],
        [
            "sagemath.ps1",
            "sagemath-shell",
            "-sh"
        ],
        [
            "sagemath.ps1",
            "sagemath-notebook",
            "--notebook"
        ]
    ],
    "shortcuts": [
        [
            "runtime\\bin\\mintty.exe",
            "SageMath",
            "-t 'SageMath' /bin/bash --login -c '/opt/sagemath-*/sage'",
            "sagemath.ico"
        ],
        [
            "runtime\\bin\\mintty.exe",
            "SageMath Shell",
            "-t 'SageMath Shell' /bin/bash --login -c '/opt/sagemath-*/sage -sh'",
            "sagemath.ico"
        ],
        [
            "runtime\\bin\\mintty.exe",
            "SageMath Notebook",
            "-t \"SageMath Notebook\" /bin/bash --login -c \"/opt/sagemath-*/sage --notebook\"",
            "sagemath.ico"
        ]
    ],
    "checkver": {
        "github": "https://github.com/sagemath/sage-windows",
        "regex": "tag/([\\d-.]+)"
    },
    "autoupdate": {
        "architecture": {
            "64bit": {
                "url": "https://github.com/sagemath/sage-windows/releases/download/$version/SageMath-$preReleaseVersion-Installer-v$matchHead.exe"
            }
        }
    }
}


Fixing psycopg2-binary 2.8.4

Type: Incorrect
Summary:
Fixing psycopg2-binary 2.8.4
Details:
Declared is incorrectly GPL when it should be LGPL.  See LICENSE file in "Files" section.
Resolution:
Curated:  LGPL-3.0-or-later  (Note:  a BSD license applies to some files, but I think that would be considered a "Discovered" license).  Thoughts?
Affected definitions:

psycopg2-binary 2.8.4

@ariel11 Should we add WITH OTHER since it looks like they included an exception:
In addition, as a special exception, the copyright holders give
permission to link this program with the OpenSSL library (or with
modified versions of OpenSSL that use the same license as OpenSSL),
and distribute linked combinations including the two.

@capfei - yes, I agree adding "WITH OTHER."  Thanks


Update GoodCollective Homepage to include stats & explainer

Business Description
Current GoodCollective home page dumps people into a list of Collectives without any context for where they are or what to do! This update will add a section at the top of the page that describes GoodCollective and offers some quick stats.
Detailed Description of Functionality
Users will see this page when they navigate to gooddollar.org/goodcollective or goodcollective.xyz, whether or not they have a connected wallet. The new page contains:

Header copy
A short description
A "How it works" button that links to a sub-page
A "Donate to a Collective" button which indexes to the Collectives part of the same page (scrolls down)
A "Create a Collective" button which directs users to our typeform
Impact Stats, which include: Total # of pools/ Collectives, Total amount of donations (all time), Total # of wallets paid through collectives
Another header and short description
A list of all collectives as cards (which link to collective detail pages)

Technical Implementation

[x] Add header component
[x] add hook useSubgraphTotalStats
[x] - move create pool button

Nice-to-have:

[x] where possible and no time-waste, use native-base theming

Awaiting design:

[x] How to works redirects

Design Reference
Figma link

Acceptance Criteria
Specify criteria that will be used to determine if the feature meets the requirements and functions correctly.
Test Cases
Specify the happy path and unhappy path scenarios to test to verify the feature works as expected.

@decentralauren @SanaJamm still need the link for 'how it works'

verified on feature branch

verified on prod


Enum structs in input

Describe the bug
Say I want to put an enum struct into input object:

// The Enum Struct
enum Episode {
    Test1(i32),
    Test2(String),
}

juniper::graphql_interface!(Episode: () where Scalar = <S> |&self| {
    instance_resolvers: |_| {
        &Episode => match *self {
            Episode::Test1(ref h) => Some(h),
            Episode::Test2(ref s) => Some(s),
        },
    }
});

#[derive(juniper::GraphQLObject)]
#[graphql(description = "A humanoid creature in the Star Wars universe")]
struct Human {
    id: String,
    name: String,
    appears_in: Vec<Episode>,
    home_planet: String,
}

// There is also a custom derive for mapping GraphQL input objects.

#[derive(juniper::GraphQLInputObject)]
#[graphql(description = "A humanoid creature in the Star Wars universe")]
struct NewHuman {
    name: String,
    // Here is the error
    appears_in: Vec<Episode>,
    home_planet: String,
}

And I just got:
error[E0277]: the trait bound `Episode: juniper::ast::FromInputValue<__S>` is not satisfied
  --> src/main.rs:29:10
   |
29 | #[derive(juniper::GraphQLInputObject)]
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `juniper::ast::FromInputValue<__S>` is not implemented for `Episode`
   |
   = note: required because of the requirements on the impl of `juniper::ast::FromInputValue<__S>` for `std::vec::Vec<Episode>`

Which says the trait juniper::ast::FromInputValue<__S>is not implemented forEpisode``? But why? I do implement graphql_interface, aren't I?

@UkonnRa yup, that's the limitation of GraphQL type system, not juniper itself:

GraphQL enums are flat, they cannot have structures inside;
GraphQL unions which can have structures, cannot be used as input.

So if I want to pass an enum struct, the only solution is to pass an JSON/String or something and deserialize it after receiving it?

That is  possible, but is quite unnatural for GraphQL.
We overcome such situations in our codebase just by using multiple optional args:
#[derive(GraphQLInputObject)]
#[graphql(description = "A humanoid creature in the Star Wars universe")]
struct NewHuman {
    name: String,
    appears_in_episode_by_num: Option<i32>,
    appears_in_episode_by_name: Option<String>,
    home_planet: String,
}

After that we tend to impl something like impl TryFrom<(Option<i32>, Option<String>)> for Episode and use a regular enum in the downstream code.
Not very pleasant, by just how it is.
P.S. Sorry for too late reply.


Extern Specs for Bitwise Operands on Ints

It seems that at the moment, going from integers to bitvectors and back to reason about certain bit operands is not possible. For example, the following does not work:
flux_rs::defs! {
    fn negated(x: int) -> int {
        bv_bv32_to_int(bv_not(bv_int_to_bv32(x)))
    }
}

#[flux_rs::sig(fn (u32[@x]) -> u32[negated(x)])]
fn negated(x: u32) -> u32 {
    !x
}

I'm assuming that this is because there is no refinement for Not on u32's?
If so, I think it would be great to add this to Flux itself. I know that @nilehmann mentioned he wanted to do this with extern specs needed in VTock at one point.
I need to add refinements for most of the bit operands, and I'm happy to do this somewhere other people can use it? This could probably be implemented fairly easily (for int types at least) by using macros similar to those Rust use (See here and here)

The issue here is that ! (and all bitwise operators) are primitive operations. The type of primitive operations is hardcoded here https://github.com/flux-rs/flux/blob/ddb4935383b8c6b66550930ecbc9595c667268cd/crates/flux-refineck/src/primops.rs#L386. We could easily hardcode ! to have type fn(x: u32) -> u32[bv_bv32_to_int(bv_not(bv_int_to_bv32(x)))], but I'm not sure that's what we want because the cost of bitvectors is high. I think it's also not enough because if you are mixing various bitwise operations you want to do the entire computation in bitvectors and only go back to ints at the end. I wish we had a way in which you can locally opt-in to bit vectors.
The best idea I have so far is to define a (trusted) wrapper around u32 that overloads all arithmetic operations with bit-vector semantics. You would explicitly go from u32 to the wrapper, do operations in bitvector land, and then explicitly go back to int again.

@nilehmann, the wrapper seems interesting. Are you thinking something along these lines?
use std::ops::{BitAnd, Not};

flux_rs::defs! {
    fn bv32(val: int) -> bitvec<32> {
        bv_int_to_bv32(val)
    }

    fn int(val: bitvec<32>) -> int {
        bv_bv32_to_int(val)
    }

    fn not(val: bitvec<32>) -> bitvec<32> {
        bv_not(val)
    }

    fn and(val1: bitvec<32>, val2: bitvec<32>) -> bitvec<32> {
        bv_and(val1, val2)
    }
}

#[flux_rs::opaque]
#[flux_rs::refined_by(x: bitvec<32>)]
pub struct B32(u32);

impl From<u32> for B32 {
    #[flux_rs::trusted]
    #[flux_rs::sig(fn (u32[@val]) -> B32[bv32(val)])]
    fn from(value: u32) -> B32 {
        B32(value)
    }
}

impl Into<u32> for B32 {
    #[flux_rs::trusted]
    #[flux_rs::sig(fn (B32[@val]) -> u32[int(val)])]
    fn into(self) -> u32 {
        self.0
    }
}

impl Not for B32 {
    type Output = B32;

    #[flux_rs::trusted]
    #[flux_rs::sig(fn (B32[@x]) -> B32[not(x)])]
    fn not(self) -> B32 {
        B32(!self.0)
    }
}

impl BitAnd for B32 {
    type Output = B32;

    #[flux_rs::trusted]
    #[flux_rs::sig(fn (B32[@x], B32[@y]) -> B32[bv_and(x, y)])]
    fn bitand(self, rhs: Self) -> B32 {
        B32(self.0 & rhs.0)
    }
}

#[flux_rs::sig(fn (u32[@x], u32[@y]) -> u32[int(not(and(bv32(x), bv32(y))))])]
fn some_bitwise_op(x: u32, y: u32) -> u32 {
    (!(B32::from(x) & B32::from(y))).into()
}

I think this is kind of nice, but I really don't like how verbose B32::from and .into() are. Also, if you wanted to run this program, would all that code get eliminated? I'm assuming yes but would be nice to see if that's actually the case.

@nilehmann, I have a file that implements bitwise operands for most types (see below). Is this something we could include in a flux-support crate? I can open a PR into that if you think it's useful.
use std::ops::{BitAnd, BitOr, Not, Shl, Shr};

macro_rules! bitops_wrapper_def {
    ($($name:ident, $type:ty, $bits:literal)*) => ($(
        #[flux_rs::refined_by(b: bitvec<$bits>)]
        pub struct $name($type);
    )*)

}

bitops_wrapper_def! {
    B8, u8, 8
    B16, u16, 16
    B32, u32, 32
    B64, u64, 64
    B128, u128, 128
    Bi8, i8, 8
    Bi16, i16, 16
    Bi32, i32, 32
    Bi64, i64, 64
    Bi128, i128, 128
}

macro_rules! not_impl {
    ($($name:ident, $t:ty)*) => ($(
        impl Not for $t {
            type Output = $t;

            #[flux_rs::trusted]
            #[flux_rs::sig(fn ($t[@b]) -> bv_not(b))]
            #[inline]
            fn not(self) -> $t { $name(!self.0) }
        }
    )*)
}

not_impl! { B8, B8 B16, B16 B32, B32 B64, B64 B128, B128 Bi8, Bi8 Bi16, Bi16 Bi32, Bi32 Bi64, Bi64 Bi128, Bi128 }

macro_rules! and_impl {
    ($($name:ident, $t:ty)*) => ($(
        impl BitAnd for $t {
            type Output = $t;

            #[flux_rs
            #[flux_rs::sig(fn ($t[@b1], $t[@b2]) -> bv_and(b1, b2))]
            #[inline]
            fn bitand(self, rhs: $t) -> $t { $name(self.0 & rhs.0) }
        }
    )*)
}

and_impl! { B8, B8 B16, B16 B32, B32 B64, B64 B128, B128 Bi8, Bi8 Bi16, Bi16 Bi32, Bi32 Bi64, Bi64 Bi128, Bi128 }

macro_rules! or_impl {
    ($($name:ident, $t:ty)*) => ($(
        impl BitOr for $t {
            type Output = $t;

            #[flux_rs::trusted]
            #[flux_rs::sig(fn ($t[@b1], $t[@b2]) -> bv_or(b1, b2))]
            #[inline]
            fn bitor(self, rhs: $t) -> $t { $name(self.0 | rhs.0) }
        }
    )*)
}

or_impl! { B8, B8 B16, B16 B32, B32 B64, B64 B128, B128 Bi8, Bi8 Bi16, Bi16 Bi32, Bi32 Bi64, Bi64 Bi128, Bi128 }

macro_rules! shl_impl {
    ($($name:ident, $t:ty)*) => ($(
        impl Shl for $t {
            type Output = $t;

            #[flux_rs::trusted]
            #[flux_rs::sig(fn ($t[@b1], $t[@b2]) -> bv_shl(b1, b2))]
            #[inline]
            fn shl(self, rhs: $t) -> $t { $name(self.0 << rhs.0) }
        }
    )*)
}

shl_impl! { B8, B8 B16, B16 B32, B32 B64, B64 B128, B128 Bi8, Bi8 Bi16, Bi16 Bi32, Bi32 Bi64, Bi64 Bi128, Bi128 }

macro_rules! shr_impl {
    ($($name:ident, $t:ty)*) => ($(
        impl Shr for $t {
            type Output = $t;

            #[flux_rs::trusted]
            #[flux_rs::sig(fn ($t[@b1], $t[@b2]) -> bv_shl(b1, b2))]
            #[inline]
            fn shr(self, rhs: $t) -> $t { $name(self.0 >> rhs.0) }
        }
    )*)
}

shr_impl! { B8, B8 B16, B16 B32, B32 B64, B64 B128, B128 Bi8, Bi8 Bi16, Bi16 Bi32, Bi32 Bi64, Bi64 Bi128, Bi128 }

@vrindisbacher awesome! I think this is generally useful and isolated so we can "upstream" it to flux_rs. I always meant for flux_rs to be sort of like flux standard library and this falls into this category. Feel free to open a PR.

Sounds good! I'll open a PR. Is there a good place to put it?

This is the first time we do this so there's no precedence...
I'd add a module to flux_rs. I don't know about the name, maybe bitvec. Then people can use it as
use flux_rs::bitvec::B32

fn foo(x: B32, y: B32) -> B32 {
    !x >> y
}


questions on my own dataset

hi,@tinghuiz
I have the depth images ,but how can i get the depth ground truth in .bin files like the velodyne_points in datasets kittti？
and,I train my own dataset ,the loss is about 3 or so. while the total loss is about 1 or so when  I train the datasets kitti or odometry ,how can i change the value learning_rate or other parameters？

Why do you want your depth ground-truth to be like velodyne points?
Is your own dataset very different from KITTI? I'm not sure what would be a correct loss value for other datasets. There are definitely hyperparameters (e.g. smoothness weight) that could be tuned to potentially improve the performance.

thanks for your reply. @tinghuiz
the reason why I want the depth ground-truth to be like velodyne points  is that evaluation on depth CNN.  the code depth_evaluation_utils.py  needs the depth ground-truth in form of  .bin file.
the second question have been solved.

It's probably easier to modify the depth evaluation code to handle your specific file format. You can take a look at the ground-truth depth generated by this line: https://github.com/tinghuiz/SfMLearner/blob/master/kitti_eval/eval_depth.py#L32, and format yours in the similar manner.


fix(schematics): avoid multiple async calls

I'm not sure this is the right thing for the schematic. Generally the Angular team considers using the async pipe the best practice. Since the schematics are a starting point for many developers, we want to make sure they're following that.
cc @robwormald for input

async pipe is best practice? in most cases it really isn't. When telling developers to use async pipe you need them to understand the exceptions (cold observers etc,.). It's much more practical to avoid using aync pipe when there is more than 1 subscription (no exceptions). People without much experience with Angular can manage that without breaking things.

@amitport this PR was accidentally merged and thus reverted in #13399 ; feel free to reopen a new PR with the change


ActiveForm breaks when ::begin and ::end are called in different views

It is related with recent changes to support auto setting of enctype property. This feature works only when ::begin and ::end methods are called in the same view. Otherwise, output buffers stack will be corrupted, which leads to broken output.
What steps will reproduce the problem?
wizard.php
<?= $this->render('_form_top', [
    'model' => $model,
]) ?>

<!-- SOME CONTENT HERE -->

<?= $this->render('_form_bottom', [
    'model' => $model,
]) ?>

_form_top.php
<?php use yii\widgets\ActiveForm ?>

<?php $form = ActiveForm::begin(); ?>

<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>

_form_bottom.php
<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
?>

<?= Html::submitButton('Save', ['class' => 'btn btn-primary btn-btn']) ?>

<?php ActiveForm::end(); ?>

What is the expected result?
<form>
    <input />
    <!-- some content -->
    <button />
</form>

What do you get instead?
<input />
<!-- some content -->
<form>
    <button />
</form>

Additional info

Q
A

Yii version
2.0.8

PHP version
5.6

Operating system
CentOS

So, it should be stated implicitly in documentation and upgrade guide, or auto-enctype should be removed/rewritten.

<?php $form = ActiveForm::begin(); ?>
<?= $this->render('_form_top', [
    'model' => $model,
    'form' => $form,
]) ?>

<!-- SOME CONTENT HERE -->

<?= $this->render('_form_bottom', [
    'model' => $model,
    'form' => $form,
]) ?>
<?php $form->end(); ?>

Yeah, but I have some common content before ::begin and some after ::end, so I need another 2 renders with 2 more views. And I have them in 6 wizard steps. So, I ended up with custom ActiveForm override to speed up things.
Anyway, mentioned change breaks backwards compatibility between 2.0.7 and 2.0.8, so it should be stated implicitly in docs.

it's Strange, that code works for me...

@pana1990 hm, render output buffer - in close tag form. First view on this time also rendered (without open form tag)

@lynicidn upsss, yeah i see, i will try to fix later

While it was possible before it was never intended to work this way. I am updating the docs to be explicit about this.


Does tarpaulin support code coverage without unit tests?

I'm testing my application using component testing (in addition to unit testing) by talking to it's external API and would like to see which  code paths are excercised. It doesn't look like tarpaulin can provide code coverage in this case?

So if you have a program that spins up a server and then sends a bunch of requests to it, closes down the server and then exits you can get coverage for it.

It's not as simple because the process under test needs to run in a separate directory (requires some mocked directory structure).

If the API is built separately to building the tests you may have to do cargo tarpaulin --print-rust-flags as well as your other flags to get the RUSTFLAGS variable to build the server with beforehand.

Do you mean that I should do cargo build using whatever RUSTFLAGS cargo tarpaulin --print-rust-flags spits out? And then  simply run the process under test directly? E.g. target/debug/foo?

Well as long as your directory is within the project directory it's fine, it can be a subdirectory.
And yes you should cargo build with those rustflags

And yes you should cargo build with those rustflags

I've switched to a hello world example to keep things simple:
$ cargo clean
$ RUSTFLAGS="-Cdebuginfo=2 --cfg=tarpaulin -Clink-dead-code" cargo build
   Compiling llvm-tools v0.1.1
   Compiling hello_cargo v0.1.0 (.../tmp/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.86s
$ target/debug/hello_cargo
Hello, world!

Am I supposed to see any code coverage information?
As opposed to:
$ cargo clean
$ cargo tarpaulin --skip-clean --command build --bin hello_cargo
May 16 10:44:41.644  INFO cargo_tarpaulin::config: Creating config
May 16 10:44:41.743  INFO cargo_tarpaulin: Running Tarpaulin
May 16 10:44:41.744  INFO cargo_tarpaulin: Building project
    Finished dev [unoptimized + debuginfo] target(s) in 0.03s
May 16 10:44:41.829  INFO cargo_tarpaulin::process_handling::linux: Launching binary
May 16 10:44:41.829  INFO cargo_tarpaulin::process_handling: running
.../tmp/hello_cargo/target/debug/hello_cargo
Hello, world!
May 16 10:44:42.137  INFO cargo_tarpaulin::report: Coverage Results:
|| Uncovered Lines:
|| Tested/Total Lines:
|| src/main.rs: 2/2
||
100.00% coverage, 2/2 lines covered

Which seems to be doing what I want.

If the API is built separately to building the tests you may have to do cargo tarpaulin --print-rust-flags

The point of the building with Rust flags is if you tests spawn a process or something which is already built and building+running the acceptance tests won't build all the artefacts used for the tests. You may not need it

The point of the building with Rust flags is if you tests spawn a process or something which is already built

My tests do spawn the already built process under test, so that's the behavior I want. However, in the hello world example I posted earlier, I don't seem to get any coverage? Do I still need to run the process under test via some specific cargo tarpaulin command?

So you run it via tarpaulin if you want coverage, so something like:
RUSTFLAGS="-Cdebuginfo=2 --cfg=tarpaulin -Clink-dead-code" cargo build
cargo tarpaulin --skip-clean --command build --bin hello_cargo

The first step is just for building things which aren't hello_cargo but are spawned by it

Maybe --root might do it, not 100% sure.
Also I don't think it's worth adding this to the readme tbh, it's a niche use case maybe refining the help text for --command but I'm not fussed enough to spend time bikeshedding it. If a PR was raised that was a clear improvement though I would merge

Going to close this as solved


mime / pkcs7 (p7m file )

mime / pkcs7 (p7m file )
how deel it ?

Elaborate in details, please. What is the issue? What are you trying to do?

server side encrypt the content
app receive the .p7m file
how decrypt the .p7m file ...


[$500] Web - Mini context menu keeps visible after opening Search RHN by Ctrl/CMD + K

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

Action Performed:

Open report page with multiple chat messages.
Move the mouse pointer over a message and mini context menu will be shown.
Open Emoji Picker by clicking 'Add reaction' button in mini context menu.
Press Ctrl/CMD + K to open Search RHN.
Close Search RHN and move the mouse pointer over messages.

Expected Result:
Mini context menu should be only shown on hovered message.
Actual Result:
Previously opened mini context menu keeps visible regardless of hover state.
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/2946efaf-6267-4f4c-bee7-78238be98e0e
https://github.com/Expensify/App/assets/93399543/14cd712a-bdb2-4ab5-8e4f-c4f119e9110f
Expensify/Expensify Issue URL:
Issue reported by: requested
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694699303165169
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~018c0c625b3a053d7e
Upwork Job ID:<PHONE_NUMBER>085298688
Last Price Increase: 2023-09-15

Possibly a duplicate of https://github.com/Expensify/App/issues/27244

Yep, I think you're right @paultsimura - @mollfpr is also the C+ assigned, so if it isn't a dupe, let me know and I'll re-open this.

I was wrong, sorry. While working on the other issue, I found out that this one is a completely different root cause.
@jliexpensify @mollfpr
This issue is actually a regression from https://github.com/Expensify/App/issues/15276

Proposal
Please re-state the problem that we are trying to solve in this issue.
When opening the search page using cmd+k with the emoji picker open, the mini context menu stays visible.
What is the root cause of that problem?
The emoji picker context menu action has a special function that manually closes the mini context menu on the picker being closed:
https://github.com/Expensify/App/blob/4e75989f28bd7a90f7ee9cc564ff0771d35dd2c8/src/pages/home/report/ContextMenu/ContextMenuActions.js#L51-L60
However, when navigating, this function is being neglected:
https://github.com/Expensify/App/blob/a7c53edc968e3998e50a0566b8a7b84097569dff/src/components/EmojiPicker/EmojiPicker.js#L72-L78
What changes do you think we should make in order to solve the problem?
My suggestion is to remove the if (isNavigating) logic here:
    const hideEmojiPicker = (isNavigating) => {
-        if (isNavigating) {
-            onModalHide.current = () => {};
-        }
        emojiPopoverAnchor.current = null;
        setIsEmojiPickerVisible(false);
    };

In https://github.com/Expensify/App/issues/15276, this change was introduced to prevent the Search Input from losing focus on opening. Seems like since then the focusing logic has changed, and if we remove the if (isNavigating) part, the focus still works.
What alternative solutions did you explore? (Optional)

@aimane-chnaif just posted the proposal with the details.


Added visibility to pre-load mechanism list

Fixes the tick when an armor_stand is visible before applying the mechanism in a script.

Added more mechanisms that I found both A) work and B) make a worthwhile difference
I also extended my tests outside of just Armor_Stands. These changes are all noticeable changes that happen in-between pre-loading the entity and when the mechanism is actually applied after spawning.


logo should be Mashcard, but not Brickdoc

Describe the bug

To Reproduce

view page without login

in login page

Expected behavior
No response
Additional context
No response
Logs/tracebacks
No response

We are still waiting for the new logo from the design team.

duplicate of https://github.com/mashcard/mashcard/issues/211


Ignore external modules that are included only through source of external module

Fixes #33926
Forgot to create this as draft, but note that this isn't ready for review since I doubt that the issue reported is actually desired behavior

I am not sure if we should be fixing this at all..
The repro has package json with dependency to aws-sdk so technically the behavior before this fix is better since the import wouldn't be wrong. The problem with repro is that the referenced project (files and config) is inside the root project and both project reference and root share the node_modules, Even in the test I wrote, if I disableSourceOfProjectReferenceRedirect is true and inner test exports something from aws-sdk we would start getting the auto import suggestions from the aws-sdk
@andrewbranch  can you comment on this since you have more context on what should happen here (may be @DanielRosenwasser has some input too)

From original issue:

No symbols from aws-sdk, e.g. IAM since aws-sdk is being used only in the inner module

This is not a behavior we should be asserting anything about right now—the fact that you only get auto-import suggestions once a package has been referenced once in your project is just a symptom of an implementation detail. It’s inconsistent with what happens with @types packages (you get suggestions for those eagerly, because we include them in your program automatically), and lots of people have asked if we can provide auto-imports for other packages eagerly.
Conversely, if the two projects had separate node_modules directories, we should ensure that unreachable auto-imports don’t leak from one to the other, but I think that case is already handled today.

[quote]
The problem with repro is that the referenced project (files and config) is inside the root project and both project reference and root share the node_modules
[/quote]
What about monorepo structure with hoisted node_modules folder ? technically a sub-projects share it too, but may have different package.json files.
Anyway, if the fix won't be included, what is your recommendation for the project structure in this case? Move the inner project to the separate private package ?

@asvetliakov I’m not sure if I’m understanding your scenario correctly, so let me see:
/monorepo/
  node_modules/
    aws-sdk/
  packages/
    a/
      package.json { "aws-sdk": "*" }
      a.ts
      tsconfig.json { "composite": true }
    b/
      package.json {}
      b.ts
      tsconfig.json { "references": [{ "path": "../a" }] }

In this case, you should not get import suggestions from aws-sdk in b.ts, because it does not exist in the only package.json visible to b.ts. If you do, that’s a bug. Does that answer your question?

@andrewbranch
Yes, thanks.


single cunsuming workers

Ones I set a token to a job, consumers fetch all messages in that queue.
I would like to set pre_fetch count 1 for different queues. Can you please add this functionality?
The problem is I can not utilize the queue at all since jenkins workers fetch all messages at ones
BR

No.
You should have dedicated queue for this purpose.


Support for coffee-script source maps

Hi everyone, great to see that this module isn't dead already :)
That would great if you could generate source maps with coffee-script files at compile. It's now available with CS 1.6. Maybe it's more a snockets enhancement ?

Any news in this?

Seems that mincer now supports that feature. This is currently the only reason holding me back to use this.

Any updated on this? How to enable generating source maps in connect-assets? Seems Mincer now supports it, as mentioned by @domachine. Without source maps debugging minified assets is impossible.

I haven’t made the time to make it happen in connect-assets, but pull requests are always welcome!


VCardDB Exception handling consistency, clean-up

In order to be used in production, consistency of exception handling in VCardDB routines must be cleaned up. It is quite conceivable at the moment that exceptions thrown from \PDO calls, for instance, will leak resources when the stack is unrolled. Specifically:

Ensure that exception-throwing routines are wrapped in try-catch-finally statements to ensure cleanup of resources (e.g. prepared statements).

Re-throw exceptions as appropriate.

Ensure that all re-thrown exceptions are declared appropriately in doc comments.

In the end, we need to work toward a Unit-of-Work model, but as we only doing the C & R of the Create-Read-Update-Delete cycle at the moment... Still, the changes between now and closing Issue #46 should look toward making Unit-of-Work easier to put in place.


FEATURE:

Description
Can not we add slang words or phrases in this application?
Screenshots
No response

I mean there are some slangs that are in words(lingos), not abbreviations, so can we add such slang to this website?

An example would be great. I'm sorry, but I am still not catching on.

I think she meant slangs like "bonkers" is a Uk slang for "crazy". Would adding a feature where users can search for slangs and not just abbreviations be nice?

Ah I see. In that case, it won't really be slang. It would be an expression of some sort. I don't really think that's going to fit I'm sorry.


#106: Added My Submissions

Added Tab as suggested.
Now able to view My | Friend | Global submissions.
Introduced one for get variable 'my'.

@souravgl0 : Still on this ?

@raj454raj Yes, Give me some time.

Closing due to inactivity.


Reusing Modules across Form objects that both use and don't use Composition

So, I commonly find myself needing to update models in one way for an admin user and another way for a non-admin user
For example, our user might be signing up as a new artist and be asked various questions that will prompt further questions based on those answers. We might have forms that look like such
class ArtistForm < Reform::Form
  property :name
  property :goes_on_tour
  property :sell_swag
end

If the user says "Yes" to goes_on_tour, we're going to ask more questions about that on a subsequent page. Perhaps with a form like:
class TouringProfileForm < Reform::Form
  property :favorite_month_to_tour
  collection :touring_partners do
    property :name
  end
end

Cool, right? Then we've got an admin user that has a different workflow. She wants to go in and edit the touring profile as a whole. So we end up with a form that looks like this:
class Admin::TouringProfileForm < Reform::Form
  include Composition

  property :goes_on_tour, on: :artist
  property :favorite_month_to_tour, on: :touring_profile
  # ... more_stuff, on: :touring_profile
end

That's a contrived example, but the duplication is obvious. Now add in complex validations and more and you really start wanting to just straight up reuse the existing forms. There's two options that I can currently see to achieve this: extract the contents of the TouringProfileForm into a Module and include it in the two places. But this doesn't work since one uses Composition and the other doesn't! The other option, which admittedly does work:
class Admin::TouringProfileForm < Reform::Form
  include Composition

  property :goes_on_tour, on: :artist
  property :touring_profile, form: TouringProfileForm
end

However, that doesn't have the same structure as the duplicated example. All the touring profile stuff is nested. In the real life problem I'm trying to solve, I have this form backing an API and I don't want to enforce a specific structure on my consumers that doesn't make sense.
It'd be great if I could use Modules interoperably across Composition and non-Composition Forms. Or am I missing another approach?

The Form::Module should work for both approaches as long as you include it after including Composition, because it really just replays the declarations (use reform/master until 2.1 gets released, though!).
module SharedProperties
  include Reform::Form::Module
  property :goes_on_tour, on: :artist # the :on is ignored in non-Composition.
end

Then, include that.
class TouringProfile::Form < Reform::Form
  include Composition
  include SharedProperties
end

Is that what you need?

Yes, that effectively worked. I'm not currently up-to-date with the latest reform and don't have the capacity to upgrade, so here's what worked for those unable to track master at the moment:
module SharedProperties
  def self.included(base)
    base.class_eval do
      property :goes_on_tour, on: :artist
    end
  end
end

And so on. The rest of the implementation matches yours. Thanks!

In Reform 2.0, once the module was included properties were "natively" created and then inherited using a rather complex inheritance mechanism, in Reform 2.1, those property calls are simply "remembered" and re-evaluated when inheriting/including.
You should update to 2.1 once it's released - the public API hasn't changed, only that we deprecate a few things to make it more awesome.
Thanks for the snippet to help others. :heart:


Collect artifact's usage count: Make spring-data-cosmos support new application id.

Please check parent issue for more information.

Closing this issue in favor of https://github.com/Azure/azure-sdk-for-java/issues/27103.


mlag_peer not avaiable for Context for interface_descriptions templates

Issue Summary
I have a mlag_port_channel_interfaces (and a mlag_ethernet_interfaces) template to generate the interface descriptions.
But when I use {{ mlag_peer }} I get an error during the build playbook.
I have to use {{ switch.mlag_peer }}, but seems to be deprecated in 4.x.x
Why is that variable not workign for the mlag_port_channel_interfaces and mlag_ethernet_interfaces interface_descriptions ?
Which component(s) of AVD impacted
eos_designs
How do you run AVD ?
Ansible CLI (with virtual-env or native python)
Steps to reproduce
Create a template mlag_ethernet_interfaces.j2 with the content
   MLAG:{{ mlag_peer }}:{{ mlag_interface }}

Assign this to the node_type_keys/interface_descriptions/mlag_ethernet_interfaces

run the build.yml

I using v4.10

Relevant log output
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/avd/.ansible/tmp `"&& mkdir "` echo /home/avd/.ansible/tmp/ansible-tmp-1725460566.787541-1564389-118440501178577 `" && echo ansible-tmp-17
25460566.787541-1564389-118440501178577="` echo /home/avd/.ansible/tmp/ansible-tmp-1725460566.787541-1564389-118440501178577 `" ) && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/__init__.py", line 993, in do_template
    res = myenv.concat(rf)
          ^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/native_helpers.py", line 81, in ansible_concat
    return ''.join([to_text(v) for v in nodes])
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<template>", line 14, in root
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/__init__.py", line 294, in wrapper
    ret = func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/__init__.py", line 541, in _ansible_finalize
    return thing if _fail_on_undefined(thing) is not None else ''
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/__init__.py", line 513, in _fail_on_undefined
    elif is_sequence(data):
         ^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/module_utils/common/collections.py", line 93, in is_sequence
    if not include_strings and is_string(seq):
                               ^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/jinja2/runtime.py", line 857, in _fail_with_undefined_error
    raise self._undefined_exception(self._undefined_message)
jinja2.exceptions.UndefinedError: 'mlag_peer' is undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/shared_utils/utils.py", line 49, in template_var
    return template_var(template_file, template_vars, self.templar)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_utils/template_var.py", line 29, in template_var
    return str(template(template_file, template_vars, templar)).strip()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_utils/template.py", line 46, in template
    result = templar.template(j2template, convert_data=False, escape_backslashes=False)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/__init__.py", line 747, in template
    result = self.do_template(
             ^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/ansible/template/__init__.py", line 1027, in do_template
    raise AnsibleUndefinedVariable(e)
ansible.errors.AnsibleUndefinedVariable: 'mlag_peer' is undefined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/avd/.ansible/collections/ansible_collections/arista/avd/plugins/action/eos_designs_structured_config.py", line 94, in run
    output = get_structured_config(
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/structured_config/__init__.py", line 78, in get_structured_config
    results = eos_designs_module.render()
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/structured_config/mlag/__init__.py", line 20, in render
    return super().render()
           ^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/avdfacts.py", line 67, in render
    return {key: getattr(self, key) for key in self.keys() if getattr(self, key) is not None}
                                                              ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/functools.py", line 995, in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/structured_config/mlag/__init__.py", line 207, in ethernet_interfaces
    "description": self.shared_utils.interface_descriptions.mlag_ethernet_interface(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/interface_descriptions/__init__.py", line 127, in mlag_ethernet_interface
    return self.mlag_ethernet_interfaces(mlag_interface=data.peer_interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/interface_descriptions/__init__.py", line 132, in mlag_ethernet_interfaces
    return self._template(template_path, mlag_interface=mlag_interface)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/interface_descriptions/__init__.py", line 34, in _template
    return self.shared_utils.template_var(template_path, template_vars)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/avd/.local/lib/python3.12/site-packages/pyavd/_eos_designs/shared_utils/utils.py", line 51, in template_var
    raise AristaAvdError(f"Error during templating of template: {template_file}") from e
pyavd._errors.AristaAvdError: Error during templating of template: mlag_ethernet_interfaces.j2
fatal: [beaz1-ix215-pp001-lfs-03.infra.cie.ac -> localhost]: FAILED! => {
    "changed": false,
    "msg": "Error during templating of template: mlag_ethernet_interfaces.j2"
}

Contributing Guide

[X] I agree to follow this project's Code of Conduct

Additionally, I see that other defined variables are also not usable.
I have a 'fact' called 'device_details'.
That fact can be used in the connected_endpoints_ethernet_interfaces template, but not in the mlag interface templates

Thank you for reporting this. I can see that the docs mention that mlag_peer should be available, but all our own examples use the deprecated switch.mlag_peer, so this is clearly a bug on our side.
We will fix the availability of mlag_peer, but until then you can use the switch.mlag_peer. We have moved on to work on 5.0 now, but I will mark this fix for backporting to a 4.10.2 release.

Additionally, I see that other defined variables are also not usable. I have a 'fact' called 'device_details'. That fact can be used in the connected_endpoints_ethernet_interfaces template, but not in the mlag interface templates

I cannot see any explanation for this difference. Please make sure your fact is scoped to all devices and not only set as fact on a subset of devices.

Thank you for taking this and addressing the bug.
I use 4 interface templates on the devices.
The ethernet templates can access that variable,  but the mlag templates cannot, all in the same device

Thank you for taking this and addressing the bug.

If you have time I would appreciate if you could test the fix in #4429. Note the comment on that PR with instructions on how to download it.

I use 4 interface templates on the devices. The ethernet templates can access that variable, but the mlag templates cannot, all in the same device

That is really weird. The template code is exactly the same, including how it picks up "hostvars" in the templating context. Could it be some inplace update of the data that garbles is before the mlag template runs?

I figured it out.. I started a new fabric, and that one does not have any connected endpoints defined, hence the ethernet template was never used.
Turned out I marked out the vars_global_vars section in my ansible.cfg..
that is working now.
I'll see to get that #4429 tested out and let you know


[web] show pskc on the "status" web page

Displaying PSKC on a web page is more convenient for users to obtain value as a credential for the commissioner to join the network.

LGTM.
Did you verify that this can actually work?

Closing stale PR.


Semi-hard triplet loss implementation

Excuse me, if I'm wrong, but i believe there is a minor mistake in your semi-hard negative selector:
def semihard_negative(loss_values, margin):
    semihard_negatives = np.where(np.logical_and(loss_values < margin, loss_values > 0))[0]
return np.random.choice(semihard_negatives) if len(semihard_negatives) > 0 else None

In the FaceNet paper it says that

We call these negative exemplars semi-hard , as they are further away from the anchor than the positive exemplar, but still hard because the squared distance is close to the anchorpositive distance. Those negatives lie inside the margin α

Considering that loss_values is computed as ap_distance - distance_matrix[torch.LongTensor(np.array([anchor_positive[0]])), torch.LongTensor(negative_indices)] + self.margin, you want the |f(x_a) - f(x_p)| - |f(x_a) - f(x_n)| to lie on segment [α, 2α], instead of lying on the interval [-α, \inf].
Briefly put: i believe that the function should be defined this way:
def semihard_negative(loss_values, margin):
    semihard_negatives = np.where(loss_values > 0)[0]
return np.random.choice(semihard_negatives) if len(semihard_negatives) > 0 else None

UPD: Found a mistake in my calculations. Actually in your implementation |f(x_a) - f(x_p)| - |f(x_a) - f(x_n)| lies on a segment [-α,0] (as it does in the paper).
I still don't understand intuition behind this (why we only take negative examples, that are farther away from the anchor than the positive example), but that's a question for FaceNet authors, not you)

the intuition behind that is that negatives that are closer to the anchor than positives make the gradient of the triplets loss null, thusly no weight updates happen.


💡 [REQUEST] - Add onStoryChange event emitter

Referenced Issue:
24
Summary
This request proposes the introduction of an onStoryChange event emitter in the ngx-stories component to notify developers when a user navigates from one story to another within a person’s story group.
Event Triggering:
The onStoryChange event should fire every time a user moves to a different story within the same person’s story group.
This event should also be triggered when the story changes automatically due to the built-in autoplay feature.
It should provide details about the newly active story, including the story index and the currently active person.
Event Payload:
The event should emit an object containing the following information:
currentPerson: Person: The person whose story is currently being viewed.
currentPersonIndex: number: The index of the currently active person in the list.
currentStory: Story: The specific story being viewed in the person’s story group.
currentStoryIndex: number: The index of the currently active story in the person’s story array.
previousStory?: Story (optional): The story that was previously viewed before the current one.
previousStoryIndex?: number (optional): The index of the previously viewed story.
Use Cases:
Story-based Analytics: Track which specific stories within a person’s group are being viewed, and for how long.
UI Updates: Modify on-screen information, such as captions, controls, or overlays, based on the currently active story type (e.g., image or video).
Autoplay Actions: Developers can respond to autoplay events and detect when a story automatically changes due to the timer.
Use Cases:
Analytics: Track how many users view specific story groups, or record the time spent on each person’s stories.
Custom UI Updates: Modify UI elements or display additional information based on the currently active person’s stories.
Conditional Logic: Trigger actions such as loading new data when a user navigates to a specific story group.
Acceptance Criteria:
The onStoryChange event is emitted every time a user moves to a different story within a person’s story group.
The event payload contains details about the currently active person, their current story, and optionally the previous story.
The event can be subscribed to and used to trigger custom logic such as analytics, dynamic content, or UI updates.
Basic Example
handleStoryChange(event: {
  currentPerson: Person,
  currentPersonIndex: number,
  currentStory: Story,
  currentStoryIndex: number,
  previousStory?: Story,
  previousStoryIndex?: number
}) {
  console.log('Current person:', event.currentPerson);
  console.log('Current story:', event.currentStory);
  console.log('Previous story:', event.previousStory);
}

Drawbacks
No response
Unresolved questions
No response

Hi..
Intrested to work in this issue.
Can you please assign it to me?

Sure, Assigned @Ashu1823

Hi @Ashu1823 ,
I've implemented onStoryGroupChange event emitter, so you can take reference from there.

Hi @Gauravdarkslayer sure I will through your modifications and I will follow the same way.

Closing this issue as it's now implemented successfully !


Feature request: allow passing in pre-existing csr pixel graph to Skeleton obj

@GenevieveBuckley is working on improving skan's compatibility with dask. For now, we can assume that the pixel graph is small enough to fit in memory. But there is no way to create a Skeleton object with a giant input image and pre-computed pixel graph. So we can either make skan reliant on dask or we can allow someone to pass in the pre-computed graph, which we then use to compute the rest of the skeleton statistics.

My core problem is that there is no way to run the summarize function (for calculating branch statistics) without passing in a Skeleton object.
But I can't just create a Skeleton object for my distributed analysis use case. One issue is that the __init__ of the Skeleton class immediately calls the skeleton_to_csgraph method, and skeleton_to_csgraph doesn't support distributed analysis. I'd prefer initialization was separate from calculating things.
Some other things we'd need to change include:

Allowing users to pass in skelint (an array where pixels belonging to the skeleton are labelled with integer ids), instead of just passing in a boolean skeleton array to the function skeleton_to_csgraph.
Separate the sparse graph creation currently in _pixel_graph from the generation of data[:k], (row[:k], col[:k]. If we have a function that puts data[:k], (row[:k], col[:k] all into a single numpy array, then we can combine the ragged shaped results with Dask. (Dask can't unpack tuples to work out what's what, though).
Add a check to drop any duplicates before creating the sparse graph. We only expect duplicates in the context of a distributed analysis.

Even so, I think we can't quite just jam in a Dask array and hope for the best. Right now we have to do some fiddling with dask delayed and a list generator outside of skan anyway.


Linux version for this awesome browser

I've seen your wonderful, awesome and ultimately useful browser, please make a linux version

Agreed

Just compile it yourself :tm:

See my comments in closed issues for steps with Linux.

+1


Add more algorithms

This repo has less contributions. Please add more algorithms.
See the structure and README of this repo for reference
https://github.com/TheAlgorithms/Python

i would like to contribute. thanks

@goyaljai  Sure. Thanks.

which type of algortihms? and where and how to add?

Is there any kind of contribution guide, or at least more information about the desired format of the contributions?
For example: should every algorithm be a single file? should they aim to be runnable without additional dependencies? etc.

can we add cocktail sort algorithm??

@joealam A single file is preferred and keep modular approach. Divide you code into function instead of breaking into multiple files and use the general head files for basic algorithms.

I would like to contribute to this. Thanks!

I would like to contribute by adding Dijsktra Algorithm.

I would like to add - Disjoint_Set_Union , Range_Minimum_query(Using Sparse Table) , KMP(Knuth–Morris–Pratt) Algorithm , Lowest_Common_Ancestor.

I'd like to add some sweet functions to Linked Lists and other algorithms like Count Sort, segmented sieve and totient functions. It'd be great if you acknowledged!

I'd like to add the following shortest distance algorithms :

Dijkstra
Bellman-Ford
Floyd-Warshall

Hello, I'd like to add Comb Sort algorithm

I would like to add Dynamic Programming Algorithms.

Edit Distance
0/1 Knapsack
Egg Dropping Puzzle
Subset Sum
All Valid Parentheses

#138 Have a look at this PR, I am looking to add more programs related to Mathematics.

I want to add optimal BST in DP category

Hi, I would like to add the following Dynamic Programming Algorithms,

Trapping Rain Water (1D)
Maximum Product Subarray
Number of ways to decode a given number as a string (Decode Ways)

Hi, I would like to add the following Algorithms,

Binomial Coefficient in the DP category.
Finding LCM using the Euclidean algorithm in the Math category.

Hi, I would like to add the following Algorithm to Range Queries:
-> Binary Indexed Tree/Fenwik Tree

I would like to add Bit Masking / Bit Manipulation Algorithms

Check ith bit
Check Odd or Even
Check Power of 2
Clear all bits from MSB
Convert Number to Binary
Flip ith Bit
Return First Set Bit
Turn Off First Set Bit
Turn Off ith bit
Turn On ith bit

I want to add a new searching algorithm.

Added Iterative Implementation of Quick Sort #343

i want to add algorithm to detect loop in a linked list.

I have implemented manually code for split a string.
I would like to add this algorithm here...

Split a string through a separator char

I would like to contribute by adding solution to Maximum Size Sub-Square problem through Dynamic Programming

I would like to add Counting Sort Algorithm

Added a Bresenham Line Algorithm under the Graphics section. Adding more
#478

would like to add data structure programs for queue , linked list variations , if this issue is still open

I would like to contribute to this project. Are there any particular algorithms that this project needs?

You can contribute

code that addresses open issues
code that is in line with the repo objectives in the readme file
Suggestions in the projects

Whatever you contribute, ensure to read the repo guidelines and checklist provided in the description when creating a pull-request. This is your checklist that you have not reviewed at all: https://github.com/TheAlgorithms/C-Plus-Plus/pull/1187#issue-497492333

@kvedala this issue seems like an anti-pattern type of issue with no particular way of resolving it. Let me close it and reopen if  you think there's a good reason to have it.


Add Wutang Financial meme?

Is there any place we can sneak this in?

I think we could put it in the faq page lol
Either by just plainly placing it there, or hiding it in a "One more tip" button as an easter-egg 😂


Remove support for clang/llvm 8.0

Remove old workarounds for clang/llvm 8.0, which we'll no longer support, for building WASI libc or WASI sdk releases.
Removing --no-threads was recently discussed in https://reviews.llvm.org/D76885 .
Also related is https://github.com/WebAssembly/wasi-libc/issues/212 in which we're planning to remove an LLVM 8.0 workaround from WASI libc.

Sorry about the PR race :-}.


Where is the configuration file?

Is there a configuration file where I can configure the API endpoint, OAuth providers, etc?

Hey @nsankaranarayanan, auth module can be configured in your app.module. Take a look at the 3rd step here https://akveo.github.io/nebular/#/docs/auth/conceptsinstall

@nnixaa the link leads to a blank page. can you explain how to configure my api endpoints ?
thanks


Docker Image Size: Identify image size reduction opportunities

Current State
The docker image created by cloud-concierge is ~950 MB in size. An immediate obvious area to improve upon is the current need to include Python in the engine to enable usage of major cloud provider clis, as well the execution of two Python scripts.
Desired State
Identify viable strategies for reducing the image size as much as possible to enable a better user download experience.
Do I want to work on this issue?

Yes

Steps

Assess ability to convert major cloud provider cli commands to native Go SDK calls:

[ ] AWS
[ ] Azure
[ ] GCP

Assess ability to convert python scripts to native Go:

[ ] Markdown PR comment generation
[ ] Spacy NLP model (it may end up being cleaner to stand-up a stand-alone service outside of cloud-concierge that performs the NLP training service, to be determined).

[ ] Assess opportunities for sliming down the terraformer binary currently being used.
[ ] Plan and execute the identified opportunities for size reduction

Experimented with this library for slimming docker images, after exploration the tool is not particularly well suited for optimizing cloud-concierge for the following reasons:

slimtoolkit/slim is best suited for HTTP servers with its automated probing mechanisms. Because cloud-concierge is an E2E executing job having tracing through what is "actually used" in the container is not easy to set up, especially given our support of all three public cloud providers. Furthermore, even in a local test and build, slimtoolkit was unable to pick up on the packages being used.
Slimming is further complicated by our cloud-concierge binary calling other executables on the OS during execution, which slimtoolkit seems to strip away.
Debugging on the slim container seem challenging, and another slow step to compress + test additional executable files.

Next step is to locally test how large the image would be if we do the following:

Strip out all python packages
Change the main base image from Python for gcloud to a go-alpine image

The cloud GoLang SDKs are very robust and should allow for relatively straightforward replacement of major cloud provider CLIs.


Minor UI error when deleting an alert

I noticed this today when trying to delete alerts in an area with very weak cell service. In those conditions, the site throws an error that says

Could not delete spot: Network Error

Looks like https://github.com/manuelkasper/sotlas-frontend/blob/2192dff486ff543852972834602fbc51da8c8374/src/components/AlertsList.vue#L186 just needs to be updated to specify alerts rather than spots. Super trivial but I thought I would report it.

Classic copy & paste mistake 😉 Thanks for the report!


Error when reading block data

Hi, I have an error reading block data that is taken from SibeliaZ output
It actually looks pretty identical to the example you have.
The log is attached:
output.txt
I am using Windows 10 and Python 3.6.7 (I will try to run it with newer Python today)

This bug is presented only at Windows machine. So as a hot fix you can try to use UNIX based system or send me full input and I will run tool (provide Newick tree).
I will try to find windows machine and reproduce this bug to fix it.

Added tree to Google drive folder :)

This bug is fixed! Install the new version:
pip install PaReBrick==0.1.22

If you have other questions, you can write me in telegram @what_a_name


build(ts-model-api): move from TSLint to ESLint

TSLint is deprecated and ESLint is the recommended successor.
Do not preserve the old TSLint configuration.
Start with the recommended ESLint configuration.
This is a preparation to raise the Typescript version in #437

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


Open assets

How to configure electrum to show open assets?

assets?

Open source open assets on top of the blockchain, as used by NASDAQ, coinprism, blockcypher https://github.com/OpenAssets

It seems like the protocol is not implemented in electrum.

This is not part of was electrum does. electrum is Bitcoin only for the time being.


Adding field SecurityContext

Addressing Issue: https://github.ibm.com/IBMPrivateCloud/roadmap/issues/64462

@Tirumalavasa @DaniyalMustafa This PR did not edit the manager.yaml base, which means that running make bundle does not automatically generate the correct content for prod or dev bundle builds. Whenever you need a change to happen in the bundle directory, it needs to either be happening because of a change to config or a change to kubebuilder annotations in the Operator source. Thanks.

@Tirumalavasa @DaniyalMustafa This PR did not edit the manager.yaml base, which means that running make bundle does not automatically generate the correct content for prod or dev bundle builds. Whenever you need a change to happen in the bundle directory, it needs to either be happening because of a change to config or a change to kubebuilder annotations in the Operator source. Thanks.

Thanks Rob, Noted.


kibana can't find mapping

Aftr install and manual start of kibana "sudo sh /opt/kibana/bin/kibana "
Kibana is unable to find the logstash-* index.
Error:
unable to fetch mapping

I have the same issue on the Pi 3/Raspian Jesse. Kibana, elasticsearch, and logstash all fail to start.  Once services are manually restarted everything seems to respond on the correct ports, but logstash does not seem to be creating indexes.

I've same issue on a PI2
Any idea to solve it ?

Can you post any excerpts from the logstash log file to help give an indication as to what may be happening?

In /var/log/logstash there's following files:
0 -rw-r--r-- 1 root root     0 May 13 06:25 logstash.err
88 -rw-r--r-- 1 root root 87349 May 13 06:25 logstash.err.1
4 -rw-r--r-- 1 root root  2470 May 12 06:25 logstash.err.2.gz
4 -rw-r--r-- 1 root root  2469 May 10 06:25 logstash.err.3.gz
0 -rw-r--r-- 1 root root     0 May 12 20:26 logstash.stdout
With in logstash.err.1 following !st lines:
io/console on JRuby shells out to stty for most operations
LoadError: Could not load FFI Provider: (NotImplementedError) FFI not available: java.lang.UnsatisfiedLinkError: /var/lib/logstash/jffi3051690098859420415.so: /var/lib/logstash/jffi3051690098859420415.so: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:361)
at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:254)
at com.kenai.jffi.internal.StubLoader.(StubLoader.java:434)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.kenai.jffi.Init.load(Init.java:68)
at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
at com.kenai.jffi.Foreign$InstanceHolder.(Foreign.java:45)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
at com.kenai.jffi.Platform.isSupported(Platform.java:370)
at org.jruby.ext.ffi.jffi.Factory.(Factory.java:16)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

Looks like an error with the JFFI stuff.  Can you confirm that the new JFFI was installed?  Lines 64-71 of the latest script if you wanted to re-run the installation.

I ran the installation script few days ago
Anyway re-run the jffi installation and now it looks better
Nevertheless Kibana is still unable to fetch maping
Any other verifications to do ?
Note: after each pi reboot i'm obliged to restart services to get Kibana operational

I've below content in logstash.log
Normal ?
pi@PiWall:/var/log/logstash $ cat logstash.log
{:timestamp=>"2016-05-16T10:36:54.660000+0200", :message=>"fetched an invalid config", :config=>"input { \n  #stdin { } \n  file {\n    path => "/opt/nsm/bro/logs/current/.log"   \n    sincedb_path => "/opt/nsm/bro/logs/current/.log"\n    start_position => "beginning" \n  }\n}\n\nfilter {\n  if [message] =~ /^(\d+\.\d{6}\s+\S+\s+(?:[\d\.]+|[\w:]+|-)\s+(?:\d+|-)\s+(?:[\d\.]+|[\w:]+|-)\s+(?:\d+|-)\s+\S+\s+\S+\s+\S+\s+\S+\s+[^:]+::\S+\s+[^:]+::\S+\s+\S+(?:\s\S+)*$)/ {\n    grok{\n      patterns_dir => "/etc/logstash/custom_patterns"\n      match => {\n        message => "%{291009}"\n      }\n      add_field => [ "rule_id", "291009" ]\n      add_field => [ "Device Type", "IPSIDSDevice" ]\n      add_field => [ "Object", "Process" ]\n      add_field => [ "Action", "General" ]\n      add_field => [ "Status", "Informational" ]\n    }\n  }\n  translate { \n    field => "evt_dstip"\n    destination => "tor_IP"\n    dictionary_path => '/etc/logstash/translate/torIP.yaml'\n  }\n  translate { \n    field => "evt_srcip"\n    destination => "tor_IP"\n    dictionary_path => '/etc/logstash/translate/torIP.yaml'\n  }  \n  translate { \n    field => "evt_dstip"\n    destination => "malicious_IP"\n    dictionary_path => '/etc/logstash/translate/maliciousIP.yaml'\n  }\n  translate { \n    field => "evt_srcip"\n    destination => "malicious_IP"\n    dictionary_path => '/etc/logstash/translate/maliciousIP.yaml'\n  }  \n  date {\n    match => [ "start_time", "UNIX" ]\n  }\n}\n\noutput { \n  stdout { \n    codec => rubydebug \n  }\n  if [tor_IP] == "YES" {\n   email  {\n        address => "smtp.gmail.com",\n        from =><EMAIL_ADDRESS>      htmlbody => "Traffic has been detected coming from or going to a TOR Exit Node IP address.  \nSource IP: %{evt_srcip}\nSource Port: %{evt_srcport}\nDestination IP: %{evt_dstip}\nDestination Port: %{evt_dstport}\nRaw Log: %{message}"\n        password => "Zebrasoma38!"\n        port => 587\n        subject => "Tor Exit IP Detected by SweetSecurity"\n        to =><EMAIL_ADDRESS>      use_tls => true\n        username =><EMAIL_ADDRESS>   }\n  }\n  \n  if [malicious_IP] == "YES" {\n   email  {\n        address => "smtp.gmail.com",\n        from =><EMAIL_ADDRESS>      htmlbody => "Traffic has been detected coming from or going to a malicious IP address.  \nSource IP: %{evt_srcip}\nSource Port: %{evt_srcport}\nDestination IP: %{evt_dstip}\nDestination Port: %{evt_dstport}\nRaw Log: %{message}"\n        password => "Zebrasoma38!"\n        port => 587\n        subject => "Malicious IP Detected by SweetSecurity"\n        to =><EMAIL_ADDRESS>      use_tls => true\n        username =><EMAIL_ADDRESS>   }\n  }\n\n  elasticsearch { \n    hosts => localhost \n  } \n}\n\n", :reason=>"Expected one of #, {, } at line 55, column 36 (byte 1459) after output { \n  stdout { \n    codec => rubydebug \n  }\n  if [tor_IP] == "YES" {\n   email  {\n        address => "smtp.gmail.com"", :level=>:error}

below files in bro log directory
No ".log" file . => error ?
pi@PiWall:/opt/nsm/bro/logs/current $ ls -lsa
total 112
4 drwxr-xr-x 3 root root 4096 May 11 20:42 .
4 drwxr-xr-x 5 root root 4096 May  9 20:53 ..
4 -rw-r--r-- 1 root root  121 May  9 20:52 .cmdline
4 -rw-r--r-- 1 root root  496 May 11 20:42 communication.log
4 -rw-r--r-- 1 root root 2302 May 11 20:42 conn.log
4 -rw-r--r-- 1 root root  331 May  9 20:52 .env_vars
4 -rw-r--r-- 1 root root  772 May 11 20:42 notice.log
4 -rw-r--r-- 1 root root    6 May  9 20:52 .pid
4 -rw-r--r-- 1 root root   18 May  9 21:00 .rotated.communication
4 -rw-r--r-- 1 root root   18 May 11 20:42 .rotated.conn
4 -rw-r--r-- 1 root root   18 May 11 20:42 .rotated.conn-summary
4 -rw-r--r-- 1 root root   18 May 11 17:00 .rotated.dhcp
4 -rw-r--r-- 1 root root   18 May 11 20:42 .rotated.dns
4 -rw-r--r-- 1 root root   18 May 11 18:00 .rotated.dpd
4 -rw-r--r-- 1 root root   18 May  9 22:00 .rotated.files
4 -rw-r--r-- 1 root root   18 May 10 20:00 .rotated.http
4 -rw-r--r-- 1 root root   18 May 10 23:00 .rotated.known_services
4 -rw-r--r-- 1 root root   18 May  9 21:00 .rotated.loaded_scripts
4 -rw-r--r-- 1 root root   18 May 11 11:00 .rotated.notice
4 -rw-r--r-- 1 root root   18 May  9 21:00 .rotated.packet_filter
4 -rw-r--r-- 1 root root   18 May 11 20:42 .rotated.reporter
4 -rw-r--r-- 1 root root   18 May 10 21:00 .rotated.software
4 -rw-r--r-- 1 root root   18 May 11 20:42 .rotated.weird
4 -rw-r--r-- 1 root root   59 May  9 20:52 .startup
4 drwx------ 3 root root 4096 May 11 20:42 .state
4 -rwx------ 1 root root   20 May 11 20:42 .status
4 -rw-r--r-- 1 root root 2084 May 11 20:42 stderr.log
4 -rw-r--r-- 1 root root  188 May  9 20:52 stdout.log
pi@PiWall:/opt/nsm/bro/logs/current $

I'm having the same problem with Kibana no being able to fetch the logstash-* index.

Try manually running logstash to see if there are any issues with the configuration.  The command for that is /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf
This should at least output from information about what may be the problem, such as not finding a yaml file or other supporting config files. Paste results here and we can figure out what the issue may be.

Here is my full output:
io/console not supported; tty will not be manipulated
Settings: Default pipeline workers: 4
Invalid setting for email output plugin:
output {
email {
# This setting must be a number
# Expected number, got "SMTP_PORT" (type SMTP_PORT)
port => "SMTP_PORT"
...
}
} {:level=>:error}
Pipeline aborted due to error {:exception=>#<LogStash::ConfigurationError: Something is wrong with your configuration.>, :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/config/mixin.rb:134:in config_init'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/outputs/base.rb:63:in initialize'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/output_delegator.rb:74:in register'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:181:in start_workers'", "org/jruby/RubyArray.java:1613:in each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:181:in start_workers'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:136:in run'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/agent.rb:465:in start_pipeline'"], :level=>:error}
stopping pipeline {:id=>"main"}
I don't understand why I'm getting this because I filled out the relevant information at the start of the script. Also I need some guidance as to why this would affect indices in Kibana.

Without knowing what you entered when prompted for the initializing script, it's hard to say why it didn't format the config file correctly.  For now, you can remove the email {...} section under output.  Alternatively you can manually input the email settings in the config file.
The reason why it effects the indices is that logstash is failing to start to be able to normalize any data.  Since it hasn't normalized any data, Kibana does not have any indices to load.

Where is the email data stored so I can see if something is formatted incorrectly?

Here is my newest log.
{:timestamp=>"2016-07-28T00:33:53.643000+0000", :message=>"Pipeline aborted due to error", :exception=>#<LogStash::ConfigurationError: Something is wrong with your configuration.>, :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/config/mixin.rb:134:in config_init'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/outputs/base.rb:63:in initialize'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/output_delegator.rb:74:in register'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:181:in start_workers'", "org/jruby/RubyArray.java:1613:in each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:181:in start_workers'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:136:in run'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/agent.rb:465:in start_pipeline'"], :level=>:error}
{:timestamp=>"2016-07-28T00:33:56.659000+0000", :message=>"stopping pipeline", :id=>"main"}
{:timestamp=>"2016-07-28T03:34:26.854000+0000", :message=>"Pipeline main started"}
{:timestamp=>"2016-07-28T21:47:42.019000+0000", :message=>"Connection refused", :class=>"Manticore::SocketException", :level=>:error}
{:timestamp=>"2016-07-28T21:47:44.115000+0000", :message=>"Pipeline main started"}

The logs are saying that the connection is refused, which most likely is a connection to elastic search.  Run the command to check if elasticsearch is running or not.  If it is not running, you can start the service and try the command again.  Once it's running, the connection refused error should go away.
curl 'localhost:9200/_cat/health?v'

It says that elasticsearch's status is yellow. active shards 50%.

Should be OK then.  Copy this to a sample config file and see if logstash can write to your elasticsearch instance.  Command will be /opt/logstash/bin/logstash -f <file_name.conf>
You should be able to just type jibberish into the console (stdin) and see it write to elasticsearch and the console (stdout).  If it's successful, kibana should see the index created.
input {
  stdin { }
}
output {
  stdout {
    codec => rubydebug
  }
  elasticsearch {
    hosts => localhost
  }
}

I'm also trying to figure this out. I have very little experience of Bro, kibana etc. But "out of the box" (after following your sweetsecurity setup script) Kibana is not presenting any information.
I've followed the advice given above. I get no errors from the different components.
Do I have to manually enter any index patterns or should they show up automatically?

I finally solve all issue to have system running:
1st Jffi stuff don't compile successfully when lunch inside script Sweetsecurity.... out of memory ..... So do it manually
2nd sed function do not work properly so i edit concerned configuration files to put manually Email address and other parameters
3rd After reboot finished i've to restart manually services (last lines of script). I've haven't found yet how to solve it but it's minor problem
Next it's running well and you can make your settings in kibane
The main problem i'm facing now is that when i make my switch port mirrorring for monitoring traffic the raspberry goes overloaded ...  ==> Any idea to solve it ? Cluster ?

I re-ran parts of the install script, even though I could not find any errors in the individual components.
This part went smoother the second time. No idea what could have caused it.
sudo dpkg -i node_latest_armhf.deb
I do not know if it mattered, but I also corrected the indentation the logstash.conf file.
Anyway, it is working for me now. Sorry I couldn't be more accurate about what was the cause.

I'm experiencing the same issue with timestamp index as the others have described. I've tried all the above steps and still cannot get it working. Can anyone provide any more specific detail or steps to get index fetching working?

ElasticSearch was running on port 9200 for my install. Modifying the logstash.conf file with the following got me past the "Unable to fetch mapping" error in Kibanna.
elasticsearch {
hosts => localhost:9200
}
Note: This should be under the output section

Appears all the issues in here have been resolved.  v2.0 has included everything noted.


XM_CACHE_LINE_SIZE value is incorrect for ARM/ARM64

The XM_CACHE_LINE_SIZE is defined as 64 bytes.
This works fine for x86 & x64, but for ARM/ARM64 the 'correct' value is 128. Since this only impacts prefetch, this doesn't impact correctness... just peformance

Fixed in this commit


How do I enable hinting + Javascript hinting?

I am trying to make it so that when you select Ctrl-Space the system shows you Javascript hints, like in this example:
https://codemirror.net/demo/complete.html
I think I'm missing something here; not sure how to make this work. In my config:
{

    theme: 'blackboard',
    lineNumbers: true,
    smartIndent: true,
    extraKeys: {'Ctrl-Space': 'autocomplete'}
  };

In main.ts:
import "codemirror/addon/hint/show-hint";
import "codemirror/addon/hint/javascript-hint";
import "codemirror/addon/hint/css-hint";
import "codemirror/addon/hint/html-hint";

And in angular.json:
     "styles": [
...
              "node_modules/codemirror/addon/hint/show-hint.css",

            ],

I'm expecting the javascript hinting to function as it does in the example; when I move the cursor to line 3 and type "fou" and hit Ctrl-Space, the editor autocompletes to the variable "found".
Doesn't work.
What am I missing?

I'm also hoping to use the show hint option.

Should this be working right now? Is there a working example of it? Or isn't this implemented yet?


Create webassembly pipeline

Create webassembly pipeline

/azp run microsoft.ort-customops

@wenbingl, there are some failed tests due to Eager model. After investigation, I can't figure out the root cause. (Maybe it's related to the new version of onnx -- 1.9)


Cloustack agent (<IP_ADDRESS>) status stuck on activating

● cloudstack-agent.service - CloudStack Agent
Loaded: loaded (/lib/systemd/system/cloudstack-agent.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2024-04-30 16:00:42 IST; 6s ago
Docs: http://www.cloudstack.org/
Process: 16062 ExecStart=/usr/bin/java $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS (code=exited, status=67)
Main PID: 16062 (code=exited, status=67)
CPU: 5.778s
agent logs---------------------
2024-04-30 16:00:53,973 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Agent started
2024-04-30 16:00:53,983 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Implementation Version is <IP_ADDRESS>
2024-04-30 16:00:53,988 INFO  [cloud.agent.AgentShell] (main:null) (logid:) agent.properties found at /etc/cloudstack/agent/agent.properties
2024-04-30 16:00:54,097 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Defaulting to using properties file for storage
2024-04-30 16:00:54,100 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Defaulting to the constant time backoff algorithm
2024-04-30 16:00:54,221 INFO  [cloud.utils.LogUtils] (main:null) (logid:) log4j configuration found at /etc/cloudstack/agent/log4j-cloud.xml
2024-04-30 16:00:54,222 INFO  [cloud.agent.AgentShell] (main:null) (logid:) Using default Java settings for IPv6 preference for agent connection
2024-04-30 16:00:54,425 INFO  [cloud.agent.Agent] (main:null) (logid:) id is
2024-04-30 16:00:54,435 INFO  [cloud.resource.ServerResourceBase] (main:null) (logid:) Trying to autodiscover this resource's private network interface.
2024-04-30 16:00:54,449 INFO  [cloud.resource.ServerResourceBase] (main:null) (logid:) Using NIC [name:docker0 (docker0)] as private NIC.
2024-04-30 16:00:54,462 ERROR [kvm.resource.LibvirtComputingResource] (main:null) (logid:) uefi properties file not found due to: Unable to find file uefi.properties.
2024-04-30 16:00:54,623 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Failed to find passphrase for keystore: cloud.jks
2024-04-30 16:00:54,652 INFO  [kvm.resource.LibvirtConnection] (main:null) (logid:) No existing libvirtd connection found. Opening a new one
2024-04-30 16:00:55,089 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) IO uring driver for Qemu: enabled
2024-04-30 16:00:55,286 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor
2024-04-30 16:00:55,299 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.StorPoolStorageAdaptor
2024-04-30 16:00:55,301 WARN  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) Duplicate StorageAdaptor type PowerFlex, not loading com.cloud.hypervisor.kvm.storage.ScaleIOStorageAdaptor
2024-04-30 16:00:55,302 INFO  [kvm.storage.KVMStoragePoolManager] (main:null) (logid:) adding storage adaptor for com.cloud.hypervisor.kvm.storage.IscsiAdmStorageAdaptor
2024-04-30 16:00:55,305 INFO  [kvm.resource.LibvirtComputingResource] (main:null) (logid:) No libvirt.vif.driver specified. Defaults to BridgeVifDriver.
2024-04-30 16:00:55,325 ERROR [kvm.resource.LibvirtComputingResource] (main:null) (logid:) Failed to get private nic name
2024-04-30 16:00:55,326 ERROR [cloud.agent.AgentShell] (main:null) (logid:) Unable to start agent:
javax.naming.ConfigurationException: Failed to get private nic name
at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.configure(LibvirtComputingResource.java:1178)
at com.cloud.agent.Agent.(Agent.java:190)
at com.cloud.agent.AgentShell.launchNewAgent(AgentShell.java:452)
at com.cloud.agent.AgentShell.launchAgentFromClassInfo(AgentShell.java:431)
at com.cloud.agent.AgentShell.launchAgent(AgentShell.java:415)
at com.cloud.agent.AgentShell.start(AgentShell.java:511)
at com.cloud.agent.AgentShell.main(AgentShell.java:541)

@Ash6990
Have the bridges (cloudbrX) been configured  ?
If not, please refer to the cloudstack document how to setup a kvm host.