[RFC] Check services before deleting MLModel

Background
Currently, models in ML-commons are widely used, particularly by pipelines and the agent framework. However, we lack a mechanism to detect if a model is being utilized by other services. To address this, we propose a new feature that will identify whether a model is in use by another service. If so, an error should be raised—similar to when attempting to delete a connector that is still in use (like here).
All related service
We list all service using MLModel.

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Solution
We can apply the same solution used for connectors and models. Generally, when attempting to delete a specific model ID, we can search both services (pipelines and agents) to check if they are using the current model ID. We have separate solution for each service since they are different
Pipeline:
For all the pipelines we developed, we found that they all use the key model_id to document their relevant model id. Therefore, we can use GetPipelineAction or GetSearchPipelineAction to retrieve all pipelines and then check the key “model_id” to detect whether they reference the current model ID.
Agent and Tools
Tools are more complex than pipelines because they use different keys to store the model IDs they reference. Furthermore, some tools use more than one model ID. For example, RAGTool requires both embedding_model_id and inference_model_id, while PPLTool uses model_id to document its model. The target field we need to check varies by tool, making it challenging to detect relevant models with a single template. Therefore, we propose a few options to address this complexity.
Option 1 (prefer)
We add an abstract function GETAllModelKeys in Base Class Factory.
interface Factory<T extends Tool> {
     List<String> GETAllModelKeys;
}

Each Tool’s factory needs to implement function and return a list of string which contains all fields can use model. For example, PPLTool should return [“model_id”] while RAGTool will return [“embedding_model_id”, “inference_model_id”].
When registering an agent, we call these functions to retrieve the relevant field names, parse the input parameters, and then write them to a fixed key, relatedModelIds. For example, A flow agent containing PPLTool's registration body is:
{
  "name": "Test_Agent_For_RAG_2",
  "type": "flow",
  "tools": [
      {
      "type": "PPLTool",
      "parameters": {
        "model_id": "test_model_id,
        "model_type": "FINETUNE"
      }
    }
  ]
}

After parsing in registering, we will write the following body into index
{
  "name": "Test_Agent",
  "type": "flow",
  "relatedModelIds": ["test_model_id,"],
  "tools": [
      {
      "type": "PPLTool",
      "parameters": {
        "model_id": "test_model_id"
      }
    }
  ]
}

Then we can use the following DSL template to query:
{
  "query": {
    "terms": {
            "relatedModelIds": ["delete_model_id"]
        }
  }
}

Pros: We don’t change any API. When develop new tools, we don’t have additional maintenance cost.
Cons: When customer call GET AGENT API, the “relatedModelIds” field will be shown and may confuse customer.
Option 2
For basic class Tool, we will implement an attribute  “relatedModelIds”.  All tools can be registered with a parameter:, it’s an optional one. For example,
{
  "name": "Test_Agent_For_RAG_2",
  "type": "flow",
  "tools": [
      {
      "type": "PPLTool",
      "parameters": {
        "model_id": "test_model_id,
        "model_type": "FINETUNE",
        "relatedModelIds": ["test_model_id"]
      }
    }
  ]
}

then we can use the following DSL template to query agent index:
{
  "query": {
    "terms": {
            "tool.parameters.relatedModelIds": ["delete_model_id"]
        }
  }
}

Pros: Relatively low code change.
Cons: If customer doesn’t provide this in request body, we cannot know which model is used by tool and the solution won’t become effective. It also requires redundant information in the request body, which may confuse users.
option 3
We maintain two separate mapping objects in ML-commons and skills. The key is the tool type, and the value is the field name that stores related model IDs. When searching for relevant agents, we iterate through all mappings and construct a DSL for each tool.
For example, we have
{
   "PPLTool": ["model_id"],
   "....."
}

Then we would create a DSL for PPLTool like
{
  "query": {
    "terms": {
            "tool.parameters.model_id": ["delete_model_id"]
        }
  }
}

Pros: It will not impact the user interaction experience.
Cons: High maintenance cost, as each new tool requires adding a corresponding value to the map.

Cons: If customer doesn’t provide this in request body, we cannot know which model is used by tool and the solution won’t become effective. It also requires redundant information in the request body, which may confuse users.

How about each tool provides a default value from code?

Hi @zane-neo and @dhrubo-os ! Is it possible that some field, when the user is searching for the agent, can be hidden? We don't wish to return redundant fields like relatedModelIds. For example, when the user is using the search agent API, it implicitly excludes relatedModelIds in the search request.

Pros: It will not impact the user interaction experience.
Cons: High maintenance cost, as each new tool requires adding a corresponding value to the map.

Plus one more con for option 3: need to maintain 2 maps, one in ml-commons and another in skills. It's not quite straightforward to merge two maps.

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Plus one thing: model controller

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Plus one thing: model controller. Hi @xinyual! Can you include it in the RFC?
model controller is to set limitation for multiply users. We don't need to consider it here.

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Plus one thing: model controller. Hi @xinyual! Can you include it in the RFC?

model controller is to set limitation for multiply users. We don't need to consider it here.

Cons: If customer doesn’t provide this in request body, we cannot know which model is used by tool and the solution won’t become effective. It also requires redundant information in the request body, which may confuse users.

How about each tool provides a default value from code?

If so, it comes back to the option 1. Why option 2 is here is we want customer to input it and be clear about what relatedModelIds is. Besides, option 2 will keep the consistency between request body and GET/SEARCH agent API.

If so, it comes back to the option 1. Why option 2 is here is we want customer to input it and be clear about what relatedModelIds is.

IMO, the difference lies in whether the customer can override the default value of relatedModelIds.

model controller is to set limitation for multiply users and not a downstream task. We don't need to consider it here.

To the best of my knowledge, model controller relies on a single model id. If the model gets deleted, the model controller becomes useless. Let's also discuss whether the model controller should get deleted after deleting the model.

Hi @zane-neo and @dhrubo-os ! Is it possible that some field, when the user is searching for the agent, can be hidden? We don't wish to return redundant fields like relatedModelIds. For example, when the user is using the search agent API, it implicitly excludes relatedModelIds in the search request.

Yes this can be excluded in search and get request.

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Plus one thing: model controller. Hi @xinyual! Can you include it in the RFC?

It make sense, we should consider model controller as it's targeting specific models.

Option1 LGTM, but let's refine the names like method name and field name. Also another thing we need consider is the new field is not visible to users and it's reserved, we should update the doc and add validation logic in agent creation to ensure users are not using it as their business key.

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Plus one thing: model controller. Hi @xinyual! Can you include it in the RFC?

It make sense, we should consider model controller as it's targeting specific models.

From my perspective, model controller is just a config for one user when using a model. Deleting the model won't influence the user's experience related with the deleted model so much.

Pipeline

rag-pipeline
neural-sparse search pipeline
neural-sparse ingest pipeline
neural-sparse two phase pipeline
ml inference pipeline
text-embedding

Tools

MLModel Tool
PPLTool
RAGTool
.....

Plus one thing: model controller. Hi @xinyual! Can you include it in the RFC?

It make sense, we should consider model controller as it's targeting specific models.

From my perspective, model controller is just a config for one user when using a model. Deleting the model won't influence the user's experience related with the deleted model so much.

True it doesn't have functionality impact not cleaning model controller, but it's a good practice to remove the unnecessary resources in system if the underlying dependency is been cleaned up.

True it doesn't have functionality impact not cleaning model controller, but it's a good practice to remove the unnecessary resources in system if the underlying dependency is been cleaned up.

Agree that model controller should be cleaned up. There are a few options for user experience.

Stops the user from deleting the ML Model as long as there is a model controller referring to this model. This options follows the connector behavior.
Implicitly deleting the model controller.
Let's user define whether to automatically clean up the corresponding model controller

The problem also persist in agent and search processor. I prefer a unified way.


Feature request: Add more / Continue response

Sometimes we don't need to regenerate the whole message, but we just need it to be a bit longer.
I think it would be cool to allow users to generate another response from the AI just below it's previous answer.
Or maybe some kind of button "add more" attached to the AI's response.

You can prompt the AI to reply again by typing /ai, but sometimes the AI may get confused and reply as the user if it has become accustomed to the back-and-forth pattern. Unfortunately with the chat-based 3.5-turbo there's no way to extend a message - so you have to add a new message. I hope OpenAI adds this ability at some point


Allow to empty cache manually

When files in the repository  are exchanged (some deleted, some new) it takes some time until parts of VoCol work with the new files. Visualization worked instantly, Documentation (myvocol.org/documentation) took at least some hours, maybe even more.

Hi @hauschke,
Normally, we are not caching since we disable the cache from the server.
I think some framework such 'require' do the problem, so I just delete its cache everytime you reload documentation.
so you can update you vocol with the current repo and update us


Catch PaginationError

Re: #27, this PR catches PaginationError such that the iterator doesn't fail if botocore returns the same nextToken twice.
I considered adding a log entry for this case, but I'd like to get logging ettiquette right since this is a library, and that seems outside the scope of the issue here.

Coverage remained the same at 100.0% when pulling f69a953fa8a5f7818ab7031d92b145c015be3bb2 on paginate-errors into 6b32a22ffc15da44fe93faa6b2960ced1acccdc1 on master.

Coverage decreased (-0.4%) to 99.585% when pulling 53a1300b38fcef914c762cac38e796365c9d0b4d on paginate-errors into 6b32a22ffc15da44fe93faa6b2960ced1acccdc1 on master.

Coverage decreased (-0.4%) to 99.585% when pulling 53a1300b38fcef914c762cac38e796365c9d0b4d on paginate-errors into 6b32a22ffc15da44fe93faa6b2960ced1acccdc1 on master.

Coverage remained the same at 100.0% when pulling c63e4a8b3e5a724705a105a873bc585e93fef667 on paginate-errors into 6b32a22ffc15da44fe93faa6b2960ced1acccdc1 on master.

LGTM


torch + mkl fails with RPATH_CHANGE could not write new RPATH

Describe the bug
torch build fails when mkl is enabled.
Steps To Reproduce
{
  inputs.nixpkgs.url = "github:nixos/nixpkgs/e4ad989506ec7d71f7302cc3067abd82730a4beb";

  outputs = { nixpkgs, ... }: let
    pkgs = import nixpkgs {
      system = "x86_64-linux";
      config.allowUnfree = true;

      overlays = [
        (final: prev: {
          blas = prev.blas.override { blasProvider = final.mkl; };
          lapack = prev.lapack.override { lapackProvider = final.mkl; };
        })
      ];
    };
  in
  {
    packages."x86_64-linux".default = pkgs.python311Packages.torch;
  };
}

-- Install configuration: "Release"
-- Set runtime path of "/build/source/torch/bin/protoc-<IP_ADDRESS>" to "$ORIGIN/../lib64"
-- Set runtime path of "/build/source/torch/lib/libc10.so" to "$ORIGIN"
CMake Error at caffe2/torch/lib/libshm/cmake_install.cmake:55 (file):
  file RPATH_CHANGE could not write new RPATH:

    $ORIGIN:/lib

  to the file:

    /build/source/torch/lib/libshm.so

  The current RUNPATH is:

    /nix/store/sxad83cvhxjxlqhqv4xcvlxr5yfbbvw4-python3.11-torch-2.0.1-lib/lib:/nix/store/vr8a599l7wrn4q0164vldran7hirj6kk-mkl-2<IP_ADDRESS>342/lib:/nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib:/nix/store/myw67gkgayf3>

  which does not contain:

    /lib:/build/source/build/lib:

  as was expected.
Call Stack (most recent call first):
  caffe2/torch/cmake_install.cmake:47 (include)
  caffe2/cmake_install.cmake:101 (include)
  cmake_install.cmake:127 (include)

FAILED: CMakeFiles/install.util
cd /build/source/build && /nix/store/vnhl4zdy7igx9gd3q1d548vwzz15a9ma-cmake-3.27.7/bin/cmake -P cmake_install.cmake
ninja: build stopped: subcommand failed.
/nix/store/wr08yanv2bjrphhi5aai12hf2qz5kvic-stdenv-linux/setup: line 1559: pop_var_context: head of shell_variables not a function context

Expected behavior
Build succeeds.
Additional context
The overlay that enables MKL is written in accordance with the nixpkgs manual.
Notify maintainers
@teh
@thoughtpolice
@tscholak
Priorities
Add a :+1: reaction to issues you find important.

Upd: still failing on latest nixos-unstable (68c9ed8bbed9dfce253cc91560bf9043297ef2fe).

FYI, I was able to successfully build torch with mkl by  applying the following patch:
diff --git a/cmake/public/mkl.cmake b/cmake/public/mkl.cmake
index 68bf1b9..4963f22 100644
--- a/cmake/public/mkl.cmake
+++ b/cmake/public/mkl.cmake
@@ -15,9 +15,3 @@ foreach(MKL_LIB IN LISTS MKL_LIBRARIES)
     endif()
   endif()
 endforeach()
-
-# TODO: This is a hack, it will not pick up architecture dependent
-# MKL libraries correctly; see https://github.com/pytorch/pytorch/issues/73008
-set_property(
-  TARGET caffe2::mkl PROPERTY INTERFACE_LINK_DIRECTORIES
-  ${MKL_ROOT}/lib ${MKL_ROOT}/lib/intel64 ${MKL_ROOT}/lib/intel64_win ${MKL_ROOT}/lib/win-x64)

Not sure, if this issue could be worked around in some other way, so I opened an issue with upstream.
See, https://github.com/pytorch/pytorch/issues/133823.
You may also need to apply PR #334941 that fixes the MKL build of magma.


Typecheck spread attributes in JSX

TypeScript Version:  2.1.5
When using spread attributes in JSX, I would like to see the values typechecked. I use spread attributes in all of my JSX rather than property='value' because it's much easier to copy / paste / manipulate these properties into and out of regular JavaScript.
When you use the property='value' syntax it's painful if you have to move this code into JavaScript to manipulate it.
Code
// Foo.tsx
interface IFooProps {
  bar: string,
  baz: number
}

const Foo = (props: IFooProps) => (
  <div>
    bar = {props.bar}
    baz = {props.baz}
  </div>
)

// Foobar.tsx
import Foo from './Foo'

// Example 1
// my preference
const Foobar = () => (
  <Foo {...{
    bar: 45,
    baz: 'test',
  }}/>
)

vs.

// Example 2
const Foobar = () => (
  <Foo
    bar={45}
    baz='test'
  />
)

Expected behavior:
Example 1 should be typechecked, however it isn't.
Actual behavior:
Example 1 is not typechecked. Example 2 is.
I have a codebase with 500+ components using the style of example 1 and Typescript essentially doesn't work for me.

What do you mean by "not typechecked" ? The types of spread attributes are checked.

It looks like the issue is in the higher-order-components I'm using that return any. My bad.


[APMON-193] Single Step Instrumentation: allow pinning library versions

Previous PRs:
PR1
PR2
What does this PR do?
Allows pinning specific library versions for Single Step Instrumentation
Motivation
Injecting libraries with the tag latest for Single Step Instrumentation has the number of problems:
Breaking changes in major releases;
Inconsistent library versions for the service. The new library version can be released during Single Step Instrumentation setup and in the middle of Pods rollout. As a result, the Pods that started before the library release will have older version. This scenario can impact customer’s ability to debug issues and get a consistent view of their services.
If services pull libraries from container registries other than Datadog public registries, Single Step Instrumentation will rely on the users’ registries to have the latest images and sync images from the Datadog registry regularly in order to stay up to date.
To address these issues, Cluster Agent needs to allow pinning a specific library version for Single Step Instrumentation:
datadog.apm.instrumentation.lib_versions is a list of dictionaries mapping the library language to the version that users want to pin for Single Step Instrumentation. It is a cluster-level configuration, i.e. all Deployments in the cluster with Single Step Instrumentation enabled will have the same library version injected.
Available libraries are: java, js, python, dotnet, ruby. If a library doesn’t pin a version, latest tag will be used for that language.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

I did change base from origin/liliya.belaus/single-step-apm-2 to origin/main to break the dependance between this PR and https://github.com/DataDog/datadog-agent/pull/19595.


Example how to add Routes dynamically to update the Sidebar item

Please show some example how to add async routes (asyncRouterMap in the doc here) and the Sidebar will reflect these changes...
i.e:
const extraRoutes = [{
	path: '/form-2',
	component: Layout,
	meta: {title: 'Dynamically Added Forms', icon: 'form'},
	children: [
		{
			path: 'index',
			name: 'Form21',
			component: () => import('@/views/form/index'),
			meta: {title: 'Form #2 Item #1', icon: 'form'}
		},
		{
			path: 'item-2-2',
			name: 'Form22',
			component: () => import('@/views/form/index'),
			meta: {title: 'Form #2 Item #2', icon: 'form'}
		},
	]
}]

this.$router.addRoutes(extraRoutes)
this.$router.options.routes = [...this.$router.options.routes, ...extraRoutes]

will add routes (if i manually type new path in the query string in a browser the new async component will be loaded) BUT the Sidebar does not change.
King Regards!

The permission-control branch has the example you want

How can i add it to the sidebar guys need help ? didnt find in  permission-con


[Enhancement] Label Group: Line-based limit with "more" link

Per the mockup below it would be helpful for the Label Group to have some form of "clamping" set up so that a developer could use this utility to display a set of Labels within but clamp to a provided number of "lines", at which point a "view more" label is shown. Consider the following modifications to this component:

[ ] Allow a set of Label configurations to be provided using an items prop (or similar) so that the developer could pass such an array of varied size into the component. The component should then loop through and display all items passed in. note that the existing affordance for composing children should also persist for backwards compatibility.

Note that if the clamping feature described below is outside of realistic development, the Developer using this component may just manually limit the size of this array to the maximum desired labels, such as 5, regardless of how many lines this occupies.

[ ] Allow a view more link to appear at the end of the provided list of tags. This should allow for a customizable label and attributes (so that, per the Button component, this could be either a a tag with href or a button with click action.
[ ] Given the prior, add a clamp property that accepts an integer value and outputs a data-js-... attribute that can be observed by JS. This JS should detect when labels overflow beyond the set number of rows and hide the overflow as well as any labels needed in order to show a "view more" link at the end of the last line.

Moved to Jira https://kajabi.atlassian.net/browse/UXD-57


Double-tap on Weapon icon toggles equip/move to vault

Also confirming that of the possible interactions we'd talked about, clicking on the weapon icon to bring up the detail page in a single click is the only one that's present now, right?
The double-click or swipe/drag options to toggle moving to character/vault are not expected to be there.

Correct! I would like to implement this 😄

Unfortunately you cannot support both single-tap and double-tap on the same element without some SwiftUI trickery that has been finicky to get working 😿


Empty page on Firefox

Needs diagnosis.
Equally affected on Android.

Go figure; some sort of interaction between piwik.js and uBlock Origin was causing this issue.
We're moving away from Piwik anyway so it's been removed.


Proxy rdpsnd support

This one adds rdpsnd support for the proxy.
Please do not merge this one before #5513 is merged

@akallabeth rebased on master + added the settings getter in include/freerdp/client/rdpsnd.h

@akallabeth for some reason the commits order has changed (locally it seems okay...) server: proxy: rdpsnd support is supposed to be the last commit. i think it has something to do with the CI.


How to get pictures from PhotoStream?

Hi.
How do I get pictures from photo stream for continuous back up purposes?
Tried to use download_photos, but it tells me 'Downloading 0 original photos'.
thanks.

Hello @latonita, sorry I'm not sure about that. This project is just a small wrapper around pyicloud, so it might be better to ask over there.

Thanks. Will check there. 12:54, September 25, 2017, Nathan Broadbent notifications@github.com:Hello @latonita, sorry I'm not sure about that. This project is just a small wrapper around pyicloud, so it might be better to ask over there.—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.    -- Sent from Yandex.Mail for mobile: http://m.ya.ru/ymail


API hooks for image/file uploading

I'm submitting a...

[x] Feature request

We would like to give our users the ability to upload images and files, and I think that GitHub has solved this really nice. In order to implement this, I would love it if there was some way to register hooks for when a file is dropped onto the editor.
To be clear, I would not like the editor to do anything regarding the actual uploading of the files. Just a hook that calls my own function when a file has been dropped.
My own code could then upload the file, and insert the correct markdown syntax for it to be displayed ☺
I'd be happy to help contribute code for this, please let me know what you think!

I'm working on this, I will send a PR soon. :)


Add structures to the map

Once the map view is added to the FHIR app and you are able to see the structures pre-populated (as covered in issue: https://github.com/opensrp/opensrp-client-reveal/issues/1438_), we will want to add the ability to add/ record new structures to the map.

[ ] Add geowidget support (new widget that displays the map). (Needs further research)

[ ] Complete customizable widget functionality on SDK PR (Done)
[ ] Implement Geowidget using the customizable widget functionlaity in FhirCore (3 days)

[ ] Questionairre with the geowidget and details for the structure (name, type of structure e.g household,mosquito collection point) (1 hr authoring questionnairre)
[ ] Questionairre extraction to Fhir location (0.5 days)

3.5 days days FTE + 20% buffer

like with the kujaku integration issue, do we want every app to have a map?
if not we'll want to isolate this in configs so it isn't included but instead loaded on demand


Can I pivot by matching both two columns

What version of React-Table are you using?
6.5.3
What bug are you experiencing, or what feature are you proposing?
As the title, how can I do that? For example in the codesandbox I put later on this issue: How can I pivot by both Name and Subject? I want to see the mean score for every Subject of student name Tim. And by matching like that, I also can filter by Subject name. Any help is very appriciated. Thank in advanced!
Reproduce the issue.
https://codesandbox.io/s/k932noo06v

Since this is more of an implementation question and not an issue or bug,
we suggest you use our slack channel to ask for more assistance. Thanks!


AAD sees an IPv6 address coming from an Azure VNET, only if the subnet has the Microsoft.AzureActiveDirectory service endpoint enabled

Hi,
In the IPv6 section, the doc states: " In addition, if you are using Azure VNets, you will have traffic coming from an IPv6 address. If you have VNet traffic blocked by a Conditional Access policy, check your Azure AD sign-in log. Once you’ve identified the traffic, you can get the IPv6 address being used and exclude it from your policy."
But according to our tests, AAD sees an IPv6 address coming from an Azure VNET, only if the subnet has the Microsoft.AzureActiveDirectory service endpoint enabled (which is actually an endpoint used by Data Lake, according to this). If the subnet doesn't have that endpoint enabled, AAD sees the VM's public IPv4 address.
Note, in our test, the VNet / subnet / VM don't have IPv6 enabled.
Also, it would help to clarify if that IPv6 address coming from the subnet is fixed per VM, internal, and if it's safe to white-listed in a CA policy (I have a MS support ticket open, asking for this clarification).
Thanks.

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

ID: 74b164a7-31c5-7cb3-c8e2-7533d375bd43
Version Independent ID: 11399252-d935-2cba-a414-a44e51e67007
Content: Location condition in Azure Active Directory Conditional Access
Content Source: articles/active-directory/conditional-access/location-condition.md
Service: active-directory
Sub-service: conditional-access
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@andresm53 Thank you for your feedback . We will investigate and update the thread further.

@andresm53 after several tests it looks like it's a range per subnet, at the moment I assume that is a /120. I this my issue #59653 can be linked to this one.

Hi, we also have noticed this condition, in our case we are using a web job which accesses Azure Active Directory over a vNet service endpoint (the app service is attached to a vnet), the source address is using an IPv6 Unique Local Address (fd00::/7) however  this address range is not assigned to the vnet or visible anywhere else in the Azure Portal. Several questions are brought up, What is the size of this subnet (/64 ?) is this ULA unique to this tenant/vnet/subnet? is it safe to add this to a trusted location in Conditional Access? (note this is how we are working around the issue currently, using "Named Locations - Preview")

@andresm53 if this is still an issue please let me know. It sounds like you had a support case open for this. #please-close

@andresm53 if this is still an issue please let me know. It sounds like you had a support case open for this. #please-close

@MicrosoftGuyJFlo the documentation is still not updated with the missing information. Please chase for an update internally instead of closing an unsolved issue.

@MicrosoftGuyJFlo the documentation is still not updated with the missing information. Please chase for an update internally instead of closing an unsolved issue.

I'm experiencing this also, noticed Azure AD Connect from my server is signing in with IPv6 not the VM IPv4 and so it was being blocked by Conditional access policy. I see the IPv6 is not constant so without knowing the IPv6 block how can we add to the exclusion?

Hi all - I'm not sure why MS has been silent on this, but in all my cases the last 32 bits of the ipv6 is a mapping to the ipv4 address subnet/scope configured on the vnet. So in CA policy if you create a conditional access policy with the ipv6 address with the first 96 bits + the mask bits for your ipv4 network (i.e /24).
So if you had <IP_ADDRESS>/24 for the vnet ipv4 subnet - the resulting ipv6 address space COULD BE something like fd00:0000:0000:a9b0:6d26:0100:c000:0200/120. So then in CA you'd add a named location for fd00:0000:0000:a9b0:6d26:0100:c000:0200/120.
I've observed this pattern in ALL our isolated VNET service endpoint Resource Groups.
I hope this helps some of you.

Have the same issue

Hi - we are experiencing this, @aaronnavratil - did you ever find a way to reliably determine the first 96 bits?

Thanks @aaronnavratil - we're trying to get some traction on this through support channels too. Some testing this afternoon has brought to light that it seems like the first 64 bits are statically allocated to the virtual network resrouce. The prefix survives having service endpoints removed & re-enabled. Any over variable (for example, changing the subscription, resource group, location, virtual network) yields a different prefix.
Working backwards and considering one of the use cases for service endpoints within Azure, e.g., for allowing named subnets (by resource ID) to access storage accounts using network ACL's, it seems to be that within Azure there's a mechanism to translate the IPv6 address back to the originating resource (subnet).
All of that leads me to the viewpoint that given a VNET resource ID and a subnet it should be entirely possible - at the very least for Azure support engineers - to determine what that IPv6 address will be.

I had the same issue today.  Logged a support call and got the following information back.
This is due to service endpoints being enabled on the VM vnet.  These service endpoints allows the VMs to connect directly to various microsoft services including Azure AD for authentication.
Vnet service endpoints uses IPv6 encapsulation and NAT (along with some other under-the-hood principles not relevant here) to provide direct connectivity and Vnet metadata to various first-party services across Microsoft's backbone. This enables customers to allow traffic only from their virtual network to their storage account, for example. It builds a VM's source IP address via several factors that get computed to a IPv6 ULA IP (which is like an RFC1918 IPv4 IP) which is unique to a single Vnet and not internet-routable. The IPv6 ULA subnet prefix will not change for the lifetime of the Virtual Network, so long as the Service Endpoints remains enabled on the Vnet.
To stop this from happening you can delete the service endpoints from the vnet for Azure AD.

according to the public documentation
https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoints-overview#limitations
"he Microsoft.AzureActiveDirectory tag listed under services supporting service endpoints is used only for supporting service endpoints to ADLS Gen 1. Microsoft Entra ID doesn't support service endpoints natively. "


feat: add centos8 repo support

Fixes: https://github.com/apache/apisix/issues/6462
This PR is not ready to be merged until the following PR is merged.

#182 - migrate container repo patch to container description file
#183 - refactor release tool scripts to add multi-release repo support

@leslie-tsang it's ready for review?

@leslie-tsang it's ready for review?

Yes for sure. :)


ci/eval: add rebuildsByPlatform to the comparison result

Things done
Follow-up of #362844
This adds a new key to the JSON generated by the compare function.
It lists the rebuilds for each platform.
This will make https://github.com/Mic92/nixpkgs-review/issues/433 way easier.
cc @infinisil @Mic92

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Test run: https://github.com/Mic92/nixpkgs/pull/40

Test run: Mic92#40

It seems like the comparison step does not run.

@infinisil how can we test this in our own forks?

@Mic92 Need to also push something on the master branch to get the eval there going

Ah maybe the issue is that my base branch is called main and not master?

I was able to test in my fork:

mock changes: https://github.com/GaetanLepage/nixpkgs/pull/4/files
Result: https://github.com/GaetanLepage/nixpkgs/actions/runs/12279483898?pr=4

{
  "attrdiff": {
    "added": [
      "gh-cal-bis"
    ],
    "changed": [
      "python311Packages.equinox",
      "python311Packages.flowmc",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.flowmc",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ],
    "removed": [
      "materialize",
      "quake3demo"
    ]
  },
  "labels": [
    "10.rebuild-darwin: 1-10",
    "10.rebuild-linux: 1-10"
  ],
  "rebuildCountByKernel": {
    "darwin": 9,
    "linux": 9
  },
  "rebuildsByKernel": {
    "darwin": [
      "gh-cal-bis",
      "python311Packages.equinox",
      "python311Packages.flowmc",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.flowmc",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ],
    "linux": [
      "gh-cal-bis",
      "python311Packages.equinox",
      "python311Packages.flowmc",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.flowmc",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ]
  },
  "rebuildsByPlatform": {
    "aarch64-darwin": [
      "gh-cal-bis",
      "python311Packages.equinox",
      "python311Packages.flowmc",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.flowmc",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ],
    "aarch64-linux": [
      "gh-cal-bis",
      "python311Packages.equinox",
      "python311Packages.flowmc",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.flowmc",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ],
    "x86_64-darwin": [
      "gh-cal-bis",
      "python311Packages.equinox",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ],
    "x86_64-linux": [
      "gh-cal-bis",
      "python311Packages.equinox",
      "python311Packages.flowmc",
      "python311Packages.lineax",
      "python311Packages.optimistix",
      "python312Packages.equinox",
      "python312Packages.flowmc",
      "python312Packages.lineax",
      "python312Packages.optimistix"
    ]
  }
}


How I can contribute to your project

I am kamal Joshi and I am new to tech and want to contribute to your project.How I can do that.Please reply as I also love web developement a lot.

Maybe try it and fix the bugs you encounter


change brightBlack to reset get neutral color on dark themes

To fix #173.
Grey colors do not show up on solarized dark (and a few others). But the neutral color is already grey.
Here is solarized dark before the change (with some highlighing to show the invisible text)

Here is solarized dark after the change

For extra comparison here is Solarized light before and after

I tested several other themes just to be sure, but since this uses reset() it should be safe everywhere.

I forgot to mention, I tried the other grey/black/bright colors, but they produced poor looking reports. White looked ok, but it seemed to break the intention of the muted color brightBlack is supposed to produce. All the other colors clashed with the green and yellow in the report.

Good job! Thanks a lot!


New Searxng instance

https://searx.albony.xyz/

Once your instance is added on searx.space, farside is going to add it automatically.

Ref https://github.com/searxng/searx-instances/issues/56

Oh.. I didn't knew it automatically adds that
nice


Support node 4.0

I am using node 4.x popper-simple didn't support this node version

I just published v1.3.0 today which supports Node 4, thanks to some updates in poppler-simple. https://github.com/lob/calipers/blob/master/CHANGELOG.md


Do not wait for the GET session request to display the GUI

Right now we are waiting for the backend to respond to a first request (is the user logged in?) before displaying anything on the client.
This method has the advantage of being straightforward: we can use the info returned by the server as the initial state.
However, it adds latency to the first render, which is pretty bad.
If you have ideas or propositions to improve this, I'll be happy to discuss them.

I finally came up with a solution to this.
In short:

I got rid of the thunk middleware and implemented a new one. It is inspired by the one in react-redux-universal-hot-example.
This middleware handle actions that have a promise attribute. It will dispatch a first action before the promise is called and a second when it is fulfilled/rejected.

This allows us to keep a boolean is the state to know wether we are currently loading the session.
It is also a cleaner way to deal with rest API, IMHO.

The App component which is the parent of everybody will call the getSession() action once when the application loads.

We no longer use the onEnter hook of the router to define private pages.
Instead, I created a method makePrivate() which takes a component and... make it private.
A private component will display a spinner if the session is currently being loaded.
It will display the original component if the session finished loading and we are correctly logged in.

If you want to play with it, you can add a Thread.sleep in the getSession() resource on the server and see how the GUI behaves.


fix(credo): use -S in shebang line

Current dependencies on/for this PR:

main

PR #122   👈

This comment was auto-generated by Graphite.


chore: update permissions in CI

Overview

Fix this error.
I referred to this stackoverflow.
PR Checklist

[x] I did below actions if need

I read the Contributing Guide
I added documents and tests.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 76.26%. Comparing base (fe7cb5e) to head (38b9975).

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1152   +/-   ##
=======================================
  Coverage   76.26%   76.26%
=======================================
  Files          62       62
  Lines         594      594
  Branches      117      117
=======================================
  Hits          453      453
  Misses        131      131
  Partials       10       10

Components
Coverage Δ

@suspensive/utils
47.16% <ø> (ø)

@suspensive/react
95.74% <ø> (ø)

@suspensive/react-query
72.18% <ø> (ø)

@suspensive/react-query-4
0.00% <ø> (ø)

@suspensive/react-query-5
0.00% <ø> (ø)

@suspensive/jotai
0.00% <ø> (ø)

@suspensive/cache
98.23% <ø> (ø)

@suspensive/react-image
80.39% <ø> (ø)


Fix opening links in desktop IDE

Pull Request Description
Fixes #6438
Fixes cloud-v2/#413
Screencasts
(an error dialog no longer appears)
https://user-images.githubusercontent.com/4046547/235679808-d34fc849-7bee-46c5-b426-721b91321b82.mp4
Important Notes
None
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

adding @wdanilo as a reviewer as he is familiar with lib/client//electron in general

this may not be considered a particularly clean solution, however i can't think of a better one - suggestions are more than welcome though

I believe this is the correct solution here :)

@PabloBuchu @indiv0 could one of you possibly QA this?
@vitvakatu you opened #6438 so you may want to confirm this fixes the issue
things to check:

-startup.entry=_ then clicking on the link
clicking the help button on dashboard. both of these should work (and should still be failing on develop)
trying to break this, if possible. is it possible to navigate the electron windows away to another origin(/domain)? (not desired since this is a security feature, after all)

@somebody1234  QA 🟡

entry points mostly works (profile panics with missing required parameter error and profiling_run_graph complains on missing /assets/profile.json)

|clicking the help button on dashboard. both of these should work (and should still be failing on develop)
not sure I understand what exactly should work here? Currently its not failing but it also do nothing
|trying to break this, if possible. is it possible to navigate the electron windows away to another origin(/domain)? (not desired since this is a security feature, after all)
I can type window.location.href="https://github.com" in the console and it gets me Github webpage

some entry points panic

might want to check that this PR is the cause - if not then maybe create an issue for it, but i'll try to repro real quick anyway

Prevented navigation to discord

whoops, forgot to whitelist discord

window.location.href="https://github.com"

this works because github is whitelisted, and is (apparently) required for authentication to work

Sorry I wasn't clear the non working debug scenes are not related to this PR.. I just mentioned that they are not working.
Looks like everything works so QA 🟢

some gui cis are broken, merging with develop has been working for some other PRs so i figured i'd try here

It fixes the issue I had with opening demo scenes. I didn't check anything besides that


Service Feasibility - Configuration Issue

If you select any the following checkboxes.  The drop downs to the right are blank.  When you try and save it like this, you get an error.

@MikeMillerGIS When user selects the checkbox for business layer, configuration evaluates for target layer name while saving configuration. If the layer name is not available, its shows an error message.
When webmap has no ediatable layers, save to layer target options for business layer are empty. Similarly for route layer when webmap has no editable polyline layers, save to layer target options are empty. In either case, do you want us to hide the respective section if options are empty.

@MikeMillerGIS We are awaiting further direction on this.

I think we can leave it as is.


Unable to get rules.yml working for unexpected intent and entities

I am just a week old in playing around with RASA, so request to bear with me if it seems to be an obvious solution for my issue. I am trying to write some input validations for unexpected user replies(intents) after an action. The documentation of RASA suggests i write a rules.yml file and incorporate the below
from rasa_addons.superagent import SuperAgent
agent = SuperAgent.load(...,rules_file='rules.yml')
I have included the rules.yml file and did the above update, However i have a question here.

Do we need to substitute the Agent with SuperAgent in only train_init.py file in rasa_core?. or also in training_online.py?. I have done in train_init.py , However updating same in training_online.py gives me error. The error is because SuperAgent doesn't provide the facility to provision the action_endpoint argument which is required in my case.

as a result of above issue i am unable to perform input validations.Am i missing anything?.  Could anyone please help me get this right?.
Regards,
Asheesh Janda

Hi @AsheeshJanda , rules are only applied at running time, not at training time.
Using the rules mean you have to start running your bot with a python script and not with the bash command.
For example with 0.11:
from rasa_core.run import start_server
rom rasa_addons.superagent import SuperAgent
agent = SuperAgent.load(...,  rules_file="rules.yml")
    input_channel = ...
    start_server([input_channel], None, None,5000, agent).serve_forever()

Hi @znat  thanks for your response. You mean setting up a channel like slack , FB etc will help me get the rules executed ?. I have executed the dialogue management .py  with Super agent over the Command line , that doesn't help.

Addons work only if Core is started from a python script: https://rasa.com/docs/core/connectors/#id18


problem in running sample example

Hello,
Thanks for creating this good looking suvery kit, I think this will help to implement in our project.
Im facing issue to run the example project.
Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_app.dart:577:9: Error: No named parameter with the name 'scrollBehavior'.
scrollBehavior: dataRouter?.scrollBehavior ?? scrollBehavior,
^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/material/app.dart:217:9: Context: Found this candidate, but the arguments don't match.
const MaterialApp.router({
^^^^^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_app.dart:632:9: Error: No named parameter with the name 'scrollBehavior'.
scrollBehavior: data?.scrollBehavior ?? scrollBehavior,
^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/material/app.dart:167:9: Context: Found this candidate, but the arguments don't match.
const MaterialApp({
^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_circluar_progress_indicator.dart:75:7: Error: No named parameter with the name 'color'.
color: data?.color,
^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/material/progress_indicator.dart:542:9: Context: Found this candidate, but the arguments don't match.
const CircularProgressIndicator({
^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_nav_bar.dart:166:7: Error: No named parameter with the name 'enableFeedback'.
enableFeedback: data?.enableFeedback,
^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/material/bottom_navigation_bar.dart:257:3: Context: Found this candidate, but the arguments don't match.
BottomNavigationBar({
^^^^^^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_page.dart:128:7: Error: No named parameter with the name 'restorationId'.
restorationId: data?.restorationId ?? restorationId,
^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/material/page.dart:153:9: Context: Found this candidate,
but the arguments don't match.
const MaterialPage({
^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_page.dart:140:7: Error: No named parameter with the name 'restorationId'.
restorationId: data?.restorationId ?? restorationId,
^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/cupertino/route.dart:419:9: Context: Found this candidate, but the arguments don't match.
const CupertinoPage({
^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-1.9.0/lib/src/platform_text_form_field.dart:386:7: Error: No named parameter with the name 'scrollController'.
scrollController: data?.scrollController,
^^^^^^^^^^^^^^^^
../../../../Google%20Drive/src/flutter/packages/flutter/lib/src/material/text_form_field.dart:135:3: Context: Found this
candidate, but the arguments don't match.
TextFormField({
^^^^^^^^^^^^^
FAILURE: Build failed with an exception.
can you help me or fix this problem so that I can have example project as reference one.
Thank you.

Hi nandithasreenivasalu,
which version of Flutter are you running ?  You can check with "flutter doctor". The current SurveyKit release should work at least with Flutter 2.2.2 and up.


Console log "Ractive.js: Failed to compute <...>"

On edge, getting this message in the console for the fiddle below:
Ractive.js: Failed to compute "${current-akey-0-astring-slice(0,4)}"
<snip callstack>

Fiddle:
http://jsfiddle.net/a6v45t9m/

That is very strange. It only errors if all three of the ractive.set() calls are present.

What happens is that the expression gets evaluated prior to the section fragment being removed.
I just tried with #1740 branch (0.8) where I put some effort into being smarter about these kinds of changes and there's no error - so looks like a won't fix for 0.7 - it's harmless other than the annoying console warn.

I'll close this issue then, as it looks like it'll get cleaned up automatically by the next release. Feel free to open a new issue if you run into any more problems.

Waiting on this as I have the same message when section fragment is being removed and updated with a new set of items.

Also I tried 0.8 edge, and noticed it breaks my ractive tabs component. The isActive function doesn't get called - I suppose the view is no longer re-eval'ing the function {{isActive(i)}}


[Hold until caskroom/homebrew-cask#5248] keyremap4macbook: all versions before rename

Refs #586.
Hold until caskroom/homebrew-cask#5248 is fixed.

@vitorgalvao What's the status of this? Looks like caskroom/homebrew-cask#7815 has been closed and somewhat fixed by caskroom/homebrew-cask#7935. Are we still waiting on caskroom/homebrew-cask#5248 ?

Yes. Without it, the cask still does not pass audit.

@vitorgalvao This looks like an old PR (with a lot of unrelated commits).
Safe to close?

Clearly it got screwed at some point, so yes.


fix maven-surefire-report will always be empty

looking at the generated mvn site  maven-surefire-report will always be empty and does not contain any information because the configuration advises just to create an empty report. Removing the selected lines resolves this.

Hi @serious6, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;


Feature: Combine linear constraints

add math simplification for the combination of sum constraints, maybe optimize constraints

benchmarks/seeknumbers-wise21/008.seeknumbers.lp


promote ioBroker.unifi to stable 0.6.6 version

Please update ioBroker.unifi to 0.6.6

0.6.5 released 20.6 = today
Not even at latest
New releases must be available at latest for some time unless an urgent release is rwquired as hotfix. Please state if thi is rhe case.

0.6.5 is a minor release but the last stable was 0.5.x. Thus, time to get 0.6.x into stable and no need to wait if 0.6.5 is stable enough, since only minor changes happened in there. So please promote 0.6.5 to stable as requested.

PR changed
0.6.6 has just been released
And replaces 0.6.5 from earlier this day..

RE-CHECK!

0.6.6 20.6.2023, 319 User (6%)
OK


Update rebuses.js

Associated Issue: #
Summary of Changes

change 1
change 2

Pull Request Test Coverage Report for Build 814

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.143%

Totals

Change from base Build 514:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls


WIP: Eltwise Aarch64

can you please merge hfp/aarch64_eltwise into your branch? Right now I cannot merge back due to conflicts.

Fixed it now, Ld is enabled for Broadcast=0 case.


Support for Blast Sepolia

Describe the feature
Can you add blast_sepolia to the list of built in supported chains?
Additional context
No response

it is not supported.
In order to support blast we'd need a few more changes, most notably the account model needs to be different. Currently account types are fixed, though we're working on making parts of the chain more configurable, but no specific plans for the account yet.
I'm closing this because there are currently no plans for this


Implement a script execution engine

I've loosely based it on the Bitcoin execution engine, adding code attribution for any borrowed code.
Unlike Bitcoin, we do not have to support historic opcodes such as P2SH (see isPayToScriptHash), but may instead replace it with something smaller by introducing a locking script tag.
Missing features:

Time locks (todo later)
SIGHASH support (needed for Eltoo as well as advanced scripting)
Integer arithmetic. We may want to add OP_ADD, etc, however inadvertently this brings in platform-specific behavior and needs lots of care. E.g. signed vs unsigned.
Integration into Agora

There will be more work put into this, but I'll likely do it in another branch.
Part of: #237

I'll take care of the code coverage soon. It seems I missed some test-cases, though 92.60% is pretty good. :P

I've fixed all the comments diff.
I now have to increase the code coverage.

I've increased code coverage to 100%
(minus the assert(0); which is unreachable in some places)

I've originally thought that I don't have to add support for a multisig opcode because we have Schnorr,, but I've realized that our  signature scheme is insecure for regular users.
It's secure for the Validators between them to use them because they already committed and signed with their private key (through the enrollment), proving they own the key. But it's not secure for users because of the possibility of rogue key attacks. MuSig is one key aggregation scheme which tries to solve it. The following is a good read (I've highlighted the relevant part):
https://blockstream.com/2018/01/23/en-musig-key-aggregation-schnorr-signatures/#:~:text=fuss
We currently don't have anyone working on Schnorr. But this will become important soon.
For users to initiate channels and therefore use the flash layer, we need to have a secure multi-party signature scheme for the funding transactions.
It doesn't block us from any work right now. We can build an implementation now, and harden the security later. I'll open up a Schnorr-related issue in the coming days.

For anyone who is interested in MuSig (and also other schemes), I highly recommend this guide: https://tlu.tarilabs.com/cryptography/musig-schnorr-sig-scheme/The_MuSig_Schnorr_Signature_Scheme.html
There are other chapters in this book which are great to study.

Resolved proper payload extraction when the scope is false.

Pushed a change to add the Input parameter to execute(). It's needed to implement SigHash.NoInput and other sighash types for the signatures. It's folded into the previous commit.

Removed isValidPointBytes() as it's now part of Point.isValid() in a recent master change. And also fixed the accidental unittest breakage.

Update: Added OP.VERIFY_SIG because it doesn't make sense to split it into a separate PR. This change also introduced a verifySignature method which is used by both CHECK_SIG and VERIFY_SIG. It will become even more useful once SigHash is added.

I will merge this later today if there are no further comments.
This PR does not integrate the engine with Agora yet, it's part of another PR.

This went through a lengthy self-review and received no other comments in the ~20 days it's been open. I'll merge and continue working on the other integration & feature PRs.


TestClient does not consume instance of yarl.URL

I think it would be more consistent to allow it working with yarl.URL. Eg because reversing url by app.route returns it. But now it can't because of assert path.startswith('/') in TestServer.make_url() method here.

Would you provide a PR?

Done :)

Fixed by #1391


:sparkles: WIP: Add completion for git stash

WIP: Preview doesn't work

@yuki-yano I added completions for git stash, but the preview does not work.
Cloud you tell me how to debug this?

I checked that "zeno" command returns failure.
$ echo "git stash pop" | zeno --zeno-mode=completion
failure

Merged #56


Fix up mappings for OBX 16, 23, 24, 25.

User Story
As a ReportStream user, I want the mappings for an observation result's performer to be consistent and match the HL7 specifications.
Description/Use Case
In debugging for an ELIMS ticket, we saw some oddities in the handling of some OBX fields.
Risks/Impacts/Considerations
Anytime we change mappings for the UP, we should be careful to preserve any relied upon behavior for CA/SimpleReport, and any in progress pilots, like ELIMS.
Dev Notes
In observation-result.yml, there is both resource and an observation constant which both reference observations, but which seem to have different availability of information. The duplicated elements there probably ought to be able to be consolidated into one each, but in order to do so, the HL7->FHIR mapping for those fields needs to be nailed down, ideally in a way that's consistent with this spreadsheet.
Acceptance Criteria

[x] OBX-16, 23, 24, and 25 are consistently preserved in HL7->FHIR->HL7 conversion
[x] The mappings for these fields match the HL7 spreadsheet
[x] Obsolete schema elements in observation-result.yml have been removed

These acceptance criteria have been covered by an in-progress PR, so I'm closing this story.


Wakatime "failed to fetch today" error in vscode

WakaTime fails to sync data in vscode with wakapi. In the logs it says "failed to make request to \"https://api.wakatime.com/api/v1/users/current/statusbar/today\"
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:194","func":"runCmd","level":"error","message":"failed to run command: failed to fetch today: failed fetching today from api: failed to make request to \"https://api.wakatime.com/api/v1/users/current/statusbar/today\": Get \"https://api.wakatime.com/api/v1/users/current/statusbar/today\": unexpected EOF","now":"2021-09-03T13:35:35Z","version":"v1.22.1"}
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:194","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: won't send heartbeat due to backoff","now":"2021-09-03T13:35:37Z","version":"v1.22.1"}
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:194","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: won't send heartbeat due to backoff","now":"2021-09-03T13:40:40Z","version":"v1.22.1"}
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:194","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: won't send heartbeat due to backoff","now":"2021-09-03T13:40:50Z","version":"v1.22.1"}
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:194","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: won't send heartbeat due to backoff","now":"2021-09-03T13:40:52Z","version":"v1.22.1"}
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:194","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: won't send heartbeat due to backoff","now":"2021-09-03T13:40:54Z","version":"v1.22.1"}

Wakapi version: v1.22.1
Operating system: Windows 10

This issue is a duplicate of #153.


EF Core 8 Support

With the release of .Net RC 1 and EF Core 8 it is time to start work on a compatible version of EFCore.Jet
Alpha 1 is now out and available for testing. Most things should be working and I don't believe there is any significant regressions from v7
Some notable changes are:

Updated to .Net 8. Note that EFCore requires .Net 8 and is not able to run on a lower version
Updated tests to match. Generally along the lines of different optimizations applied
Uses the new way of doing StartwWith/EndsWith/Contains

Previously used to get a substring the length of the searched for string and compared on that. Now translates into a LIKE pattern

Fix formatting of a single byte in the SQL string literal
Using DISTINCT in the same select as TOP in Jet is mutually exclusive. Hence push the SELECT TOP statement into a subquery
Fix handling some versions of our generated SELECT TOP statement when it had the sum of 2 numeric constants
When generating sets (UNION, INTERSECT) it didn't get to the part where it generated the SQL for the Alias
When translating IndexOf, it used the INSTR Sql method. According to the docs the first parameter is the start index and is optional but found some tests that didn't like that. Including all parameters fixed that

There is still some work to go but some new EF Core 8 features do work. Some notes:

Complex types do work
DateOnly/TimeOnly still need to be implemented
Json support is obviously not working (Jet has no concept). Might be doable to handle this within EFCore.Jet by having the column has a text/memo with the full Json, the select/update statements read/write the full json but within EFCore.Jet we process it to return the required portion (or update).

Beta 1 is now out.
This is compatible is dependent on at least 8.0.1 of EF Core and only runs on .Net 8
New features

Add back in the SkipTake Collapsing feature. We can simplify if the Limit is known to be a 0

Bug fixes

Tests: Remove unsupported tests
Tests: More test fixes
When using the option to use short strings as default is set, the length value (via attribute or fluent api) was ignored when it was over 255. Upgrade the value to a long char in that case
Fix Any,All,Contains with Many to Many relationships within a Where clause. Some queries have a SELECT 1 inside a WHERE NOT EXISTS clause which doesn't work. Having a column in the projection works
When generating the update sql, the command to fetch the number of affected rows needs the ResultSetMapping.ResultSetWithRowsAffectedOnly value set as well
Retrying Execution Strategy: Check the exception.HResult as well. Our test classes can't exactly mimic the exact way and put in into the Errors list
Handle some more NULL constant in projection Jet quirks
GetByte also needs hardening to handle some potential cases when the result is of type string
Handle Skip...Take in its own post processor.
Test Utilities: Improve the execution of a setup script
Handle the find and throw of a split query with offset and not order by in our own SkipTake postprocessor rather than its own postprocessor
DateTime.Today was not translated properly. It is a static member and not under an instance as originally expected
QueryableMethodTranslatingExpressionVisitor: TranslateElementAtOrDefault we do not throw on this. Was thought to be Json related at one point but this is actually for translating the Linq ElementAt. Basically does a Skip(x).Take(1)
The static Guid.NewGuid is translated client side as there is no equivalent function in Jet
The default C# DateTime (0001-01-01 00:00L:00) is mapped to the 0 value for Jet (30/12/1899 00:00:00)
TPC Mapping: EF Core requires all entities in a hierarchy to have a unique value. This is normally set up via sequences in the databases that support it. For those that don't (Sqlite and Jet) the OnAdd value generated strategy is turned to to have the Id just a normal integer. The client needs to handle keeping the id's unique. Everything else works
Expand the JetOrderByPostProcessor to be more general and de-duplicate more clauses in the ORDER BY and projection

RC 1 is out now
Bug fixes

Test fixes
DateTimeOffset: UtcNow passes in the offset from utc acquired in the client so that it can convert Now() to utc
Option to ignore MSys (system) tables when scaffolding. Add IgnoreMsys=YES; to the connection string
Better support for byte arrays (#228). Most functions work now when working on byte arrays except for getting its length. Due to Jet treating it all as unicode strings, the default length function will return the length as multiples of 2. There is a workaround that will work in most cases. Please use the specific EF Function instead: EF.Functions.ByteArrayLength
Use the correct precision in string literal for double (15) and float (7). This matches how they are saved. If passed in with more precision when reading back the saved value, they would not be equal
Keys are allowed to be case-insensitive (same as sql server). Add a Case Insenstive comparer to the JetStringTypeMapping
Parameter name was the same when multiple contains/startswith/endswith was used. Hence one of them did not use the correct pattern. See also issue 32432 in efcore
Workaround for ValuesExpression (#222). The VALUES clause was able to generate a constant table (and with multiple rows). Use a work around with a SELECT for each row combined with a UNION****


Rename "Azure" to "Azure Storage", and prefix settings with "Storage"

Summary
Fixes #2572

Does there need to be some migration since the DefaultDisplayName was changed, and that's used in the mapping names?

@bdukes I didn't think so, I figured it was just used for display. I figured on upgrades it would just show the new value, but I haven't tested that yet.

@ohine this is great! Thanks for submitting this much needed clarification on the Azure Storage Connector. Just about everyone I have talked to about the Azure Connector that didn't know better didn't realize it was just for Azure Storage


feat(logger): new loglevel 'verbose' and some more log statements

new log statements for:

toDb
fromDb
other:
include failing value in mapping errors

closes #248

Coverage increased (+0.7%) to 94.234% when pulling ccc135f2e2874ae323453d72ca51e203a48bc7b8 on #248-more-logs into 083f9b7e903c19166728f585613916b36762be6d on master.


Any analytics into active devices or usage rate in field?

I'm trying to convince a client and our team to do a project using physical web, but obviously people are skeptical to a new technology.   Are we aware of any data showing number of devices currently in market that support phys web, or that are actively using so I can help benchmark and set expectations?  Or projections of what they might be in 3mo, 6mo, 1yr etc?   Or geographic/demographic breakdown.  (Considering a test in Seattle and Portland markets.)

I haven't seen any device data parsed by protocol but the best resource in terms of net aggregation I've seen thus far is from : https://www.proxbook.com/

Thanks for the lead @alexboogie - I just pulled their proximity marketing in retail report and the most useful thing I found was this stat:
"Eddystone is the most recent beacon standard by Google.
Eddystone can trigger URL’s in smartphones as well as
notifications within mobile apps and is supported on both
iOS and Android. As of Chrome 49, which was released in
March 2016, 80% of global smartphones are passively
beacon-enabled. Eddystone-URL eliminates the need for
an app. Therefore, we expect a significant increase in new
use cases and companies supporting this standard. "
If anyone has a paid subscription to App Annie there may be some more detailed info in there.  I only have a free account, which doesn't get super in depth.


Add RePlAce/OpenDP unit testcases.

Could you check this PR for RePlAce test cases?
I can't check Jenkins' behavior in my forked repo...

I can confirm that my testcases worked well in Jenkins.

The integrated OpenDP only has a problem with multi-height testcases.
Other testcases (fence-region, simple-case, low-util) worked well.

I see this failure in jenkins.
Access or-multi-height-test-01:
run_opendp.tcl
CMD: /OpenROAD/build/src/openroad or-multi-height-test-01/run_opendp.tcl
Compare with golden:
Traceback (most recent call last):
File "regression.py", line 140, in
Run("simple", prog, openroadList)

File "regression.py", line 106, in Run
SimpleGoldenCompare(rptFile, goldenFile)

File "regression.py", line 49, in SimpleGoldenCompare
f = open(orig, "r")

FileNotFoundError: [Errno 2] No such file or directory: 'or-multi-height-test-01/ten_cells_multi.rpt'
script returned exit code 1

Use the edit button to change this to merge into develop instead of mastdr


Test each scan in test set individually and output individual metrics

Expand output from currently just averaging metrics of all tested scans to now including metrics for each scan in a test dataset.

Revise prepare_dataset.py to create one folder per scan inside test folder inside dataset_ID. The one folder per test scan then includes images and masks. Revise test_segmentation_model.py  to test each scan individually then output individual metrics and avg. The avg is the only current output and isn't particularly helpful

@Josh-Joseph closing this without addressing, just to record that we thought about it. Cannot see very valuable return for effort here


refactor(core): Massive refactor of text and ASCII output functions, separating them further

Fixes #18 #16
Big refactor of output logic.

Combined print_ascii and format_ascii
Moved a lot of the info printing logic into a new function print_info
Moved almost all of the main script logic (other than flags) into a main() function
Almost all of the looping through ASCII logo lines and display fields happens in main() now

Fixes #16


Xcode 9 crash

When i use in XCode9, it crash everytime

hello can you provide the crash logs? thank you


[API Feature Request] Render newline in Detail view

Describe the feature and the current behavior/state.
Most markdown editor render newlines by default. When using markdown text from these apps, it is rendered incorrectly.
Will this change the current api? How?
Add a new renderNewlines props to the Detail component.
Who will benefit with this feature?
Every integration interacting with markdown from external source.
Any Other info.

@pomdtr hey 👋 we meet again 😄
Could you elaborate on what you mean here, what's the issue you're having (or what's not rendering correctly)?

The markdown spécification join lines separated by a single newline. Raycast follow this convention.
This is the first line.
This will be append to the first line.

However a lot of custom variant of markdown do not follow this standard, and will render the preceding text as two separated lines.
When rendering some contents originating from these editors in raycast, I ended up with broken contents.

I don't know if we should start to add more and more options to support "variants" of markdown.
This issue can be solved by passing markdown={string.replaceAll(/(?!^)\n(.)/gm, '\n\n$1')} which I agree isn't nice to read but has the merit to avoid expanding the API surface. Maybe could be part of the utils if it's really useful

I just tested this locally, and looks like when text is seperated by a single line, they are joint together

Just to clarify, is this what you'd exepct?

@mathieudutour agrees. if it becomes a common requirement, we can explore a util to convert to other flavours.


Fixed #22

Used @rolandhordos suggestion: system version is now fetched from SystemVersion.plist.
Signed-off-by: Stefan Paychère<EMAIL_ADDRESS>

is this sandbox, i.e. Mac App Store safe?

I did not think of that, probably not...
I'll do another version using NSProcessInfo.

Well I'm not sure what to do:

Gestalt(gestaltSystemVersionMajor, &majorVersion) was the way to do this, but it's deprecated since 10.8
NSProcessInfo:operatingSystemVersion is the new proper way of doing this, but it only appeared in 10.10.

Would you be ok with something like:
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
    NSOperatingSystemVersion osVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
        majorOSVersionInteger = osVersion.majorVersion;
        minorOSVersionInteger = osVersion.minorVersion;
        patchOSVersionInteger = osVersion.patchVersion;
#else
    SInt32 majorVersion, minorVersion, patchVersion;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
    Gestalt(gestaltSystemVersionMajor, &majorVersion);
    Gestalt(gestaltSystemVersionMinor, &minorVersion);
    Gestalt(gestaltSystemVersionBugFix, &patchVersion);
#pragma clang diagnostic pop
        majorOSVersionInteger = majorVersion;
        minorOSVersionInteger = minorVersion;
        patchOSVersionInteger = patchVersion;
#endif

That seems like the only reasonable approach.
I would however make the check at runtime rather than at compile time. Why? Because if Apple decides to remove the Gestalt call in the next version of OS X, and the library is built with a minimum target which is older than 10.10, then it will crash.
So I'd write it like this:
if ([[NSProcessInfo processInfo] respondsToSelector:@selector(operatingSystemVersion)]) {
    NSOperatingSystemVersion osVersion = [[NSProcessInfo processInfo] operatingSystemVersion];

    majorOSVersionInteger = osVersion.majorVersion;
    minorOSVersionInteger = osVersion.minorVersion;
    patchOSVersionInteger = osVersion.patchVersion;
}
else {
    SInt32 majorVersion, minorVersion, patchVersion;

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
    Gestalt(gestaltSystemVersionMajor, &majorVersion);
    Gestalt(gestaltSystemVersionMinor, &minorVersion);
    Gestalt(gestaltSystemVersionBugFix, &patchVersion);
#pragma clang diagnostic pop

    majorOSVersionInteger = majorVersion;
    minorOSVersionInteger = minorVersion;
    patchOSVersionInteger = patchVersion;
}

Fixed in b237f1bd1129ec7c11ae572cb0b6443caf4454bd

Now on cocaapods as 3.0.0


Use larger runners for bottleneck builds of release artifacts

Uses a different runner for builds that take >15m.
Most of the builds finish in ~10 minutes.

The Windows jobs still look like a bottleneck, but I'm not sure I want to switch to the extra large runners.

I don't think we can, we're using the GitHub defaults which are small and free.
If anything, I'd want to use the fast runners for everything and get the release time down so we don't need to monitor it as long — it's not worth the investment right now though.


Able to run Python Script(or packaged APK file) when reboot

From @GoogleCodeExporter on May 31, 2015 11:30
What should be supported?

Able to run Python Script(or packaged APK file) automatically after reboot.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 31 Aug 2011 at 3:05
Copied from original issue: damonkohler/android-scripting#564

From @GoogleCodeExporter on May 31, 2015 11:30
Android Java API able to do that.

BlackBerry API also able to do that.

More feature always better.

Original comment by<EMAIL_ADDRESS>on 31 Aug 2011 at 3:46

From @GoogleCodeExporter on May 31, 2015 11:30
This has the capability of going horribly wrong.
However, I believe there are other apps on the market (Tasker? Locale?) which
can trigger on boot.
See the Remote Control page on the wiki for how to start sl4a scripts from
another app.

Original comment by rjmatthews62 on 31 Aug 2011 at 3:28

From @GoogleCodeExporter on May 31, 2015 11:30
I don't see much reason to add this to SL4A, since there are already several
ways to accomplish this.

Tasker[1] can definitely start SL4A scripts when the system boots. Locale might
be able to as well, but I don't have it installed at the moment to check. If
you don't want to use Tasker or Locale, you could write a regular Android app
that starts on boot and runs your script.[2] You could also root the phone and
use standard linux tools to run your script on boot.

[1]: http://tasker.dinglisch.net/
[2]:
http://code.google.com/p/android-scripting/wiki/FAQ#Can_I_run_an_SL4A_script_fro
m_my_application?

Original comment by<EMAIL_ADDRESS>on 1 Sep 2011 at 1:47

From @GoogleCodeExporter on May 31, 2015 11:30
Here is the reason why I need run Python Script automatically after reboot:
2 Projects:
1. Auto-Pilot for hobby helicopter, I want to open the phone,
   take out the mainboard and use it only,
   without the LCD of the phone,consume less power and weight less.
2. High-Altitude balloon camera, upload pictures automatically to cloud.
   Same thing, use only the mainboard, light and use less battery.

If you open the phone, you will see how small and light the mainboard.

Original comment by<EMAIL_ADDRESS>on 1 Sep 2011 at 12:31

From @GoogleCodeExporter on May 31, 2015 11:30
[deleted comment]

From @GoogleCodeExporter on May 31, 2015 11:30
Right! I can root the phone and put in init.rc

But how can I run Python script from Linux command line?
After I did some research, I am able to run python after I SSH to the phone.
But when I tried to run my script,is says:
dlopen libpython2.6.so
Traceback (most recent call last):
  File "compass.py", line 2, in <module>
    droid = android.Android()
  File "/sdcard/com.googlecode.pythonforandroid/extras/python/android.py", line 34, in __init__
    self.conn = socket.create_connection(addr)
  File "/home/manuel/AptanaStudio3Workspace/python-for-android/python-build/output/usr/lib/python2.6/socket.py", line 498, in create_connection
socket.gaierror: [Errno 8] hostname nor servname provided, or not known.

Original comment by<EMAIL_ADDRESS>on 1 Sep 2011 at 3:14

From @GoogleCodeExporter on May 31, 2015 11:30
"But how can I run Python script from Linux command line?
After I did some research, I am able to run python after I SSH to the phone.
But when I tried to run my script,is says:
dlopen libpython2.6.so
Traceback (most recent call last):
  File "compass.py", line 2, in <module>
    droid = android.Android()
  File "/sdcard/com.googlecode.pythonforandroid/extras/python/android.py", line 34, in __init__
    self.conn = socket.create_connection(addr)
  File "/home/manuel/AptanaStudio3Workspace/python-for-android/python-build/output/usr/lib/python2.6/socket.py", line 498, in create_connection
socket.gaierror: [Errno 8] hostname nor servname provided, or not known."

Exact same problem here...
Any hints?

Original comment by<EMAIL_ADDRESS>on 31 Mar 2012 at 5:08


.Exact modifier annotation error

Modify the.Exact modifier annotation error in events.md

@jxDeveloper
I think current description is correct.
Without .exact modifier, it will fire events even if (Ctrl and)Alt or (Ctrl and)Shift are pressed.


[BUG] Commissioning failed with src/app/CommandSender.cpp:328: CHIP Error 0x00000032: Timeout

Reproduction steps
I have used python controller to done a stress test on my RPI sample dut (all-clusters-app) on Pair-Unpair operation for 10000 iteration. The iteration 2570 is passed without any error but the 2571 is failed to commission the dut during the SendNOC step with the below traceback error and the next iteration 2572 is also passed without any issues.

Traceback (most recent call last):
File "/Users/chaitanyajandhyala/code/python/matter-qa/src/matter_qa/library/helper_libs/matter_testing_support.py", line 1177, in pair_dut
raise CommissionFailure(f"Pairing with DUT failed Reason {commission_device_result.str()} ")
chip.commissioning.CommissionFailure: CommissionFailure(Pairing with DUT failed Reason src/app/CommandSender.cpp:328: CHIP Error 0x00000032: Timeout )

Bug prevalence
Whenever i do this
GitHub hash of the SDK that was being used
3718e996b56f36a553c1b4571f77728396590776
Platform
python, raspi
Platform Version(s)
RPI-4, 8GB RAM
Anything else?
Example of Failed iteartion details:
The iteartion number 2570 is passed below file for the same
TH log: log_2024-04-26_04-12-01.log
DUT log: Dut_log_2570_2024-04-26T04_12_11_598075.log
The iteration number 2571 is failed with this error below the logfile
TH log : log_2024-04-26_04-12-21.log
DUT log: Dut_log_2571_2024-04-26T04_17_27_934283.log
The iteartion number 2572 is passed below file for the same
TH log: log_2024-04-26_04-17-36.log
Dut log: Dut_log_2572_2024-04-26T04_17_45_908760.log
For the detailed summary please reference this json: summary.json
Script reference: https://github.com/CHIP-Specifications/matter-qa/blob/main/src/matter_qa/scripts/reliability_scripts/TC_Pair.py

OK, so on the DUT this is what I see:
[1714129942.591993][489230:489230] CHIP:EM: >>> [E:56552r S:51405 M:78484474] (S) Msg RX from 0:FFFFFFFB00000000 [0000] --- Type 0001:08 (IM:InvokeCommandRequest)
...
[1714129942.593713][489230:489230] CHIP:EM: <<< [E:56552r S:51405 M:44984139 (Ack:78484474)] (S) Msg TX to 0:FFFFFFFB00000000 [0000] [UDP:[fe80::1887:8597:775f:fcc8%wlan0]:63338] --- Type 0000:10 (SecureChannel:StandaloneAck)
...
[1714129942.613441][489230:489230] CHIP:EM: <<< [E:56552r S:51405 M:44984140 (Ack:78484474)] (S) Msg TX to 1:FFFFFFFB00000000 [03F8] [UDP:[fe80::1887:8597:775f:fcc8%wlan0]:63338] --- Type 0001:09 (IM:InvokeCommandResponse)
...
[1714129942.960479][489230:489230] CHIP:EM: Retransmitting MessageCounter:44984140 on exchange 56552r Send Cnt 1
[1714129943.368354][489230:489230] CHIP:EM: Retransmitting MessageCounter:44984140 on exchange 56552r Send Cnt 2
[1714129943.975605][489230:489230] CHIP:EM: Retransmitting MessageCounter:44984140 on exchange 56552r Send Cnt 3
[1714129944.944039][489230:489230] CHIP:EM: Retransmitting MessageCounter:44984140 on exchange 56552r Send Cnt 4
[1714129946.426007][489230:489230] CHIP:EM: Failed to Send CHIP MessageCounter:44984140 on exchange 56552r sendCount: 4 max retries: 4
[1714130002.110713][489230:489230] CHIP:FS: Fail-safe timer expired

So it sent the response but never got an ack for it or any followup commands.
On the TH side, what I see is:
2024-04-26 04:12:22,509 - chip.native.EM - INFO - __init__.py:_RedirectToPythonLogging:40 - <<< [E:56552i S:60591 M:78484474] (S) Msg TX to 0:FFFFFFFB00000000 [0000] [UDP:[fe80::dea6:32ff:feab:25e5%en1]:5540] --- Type 0001:08 (IM:InvokeCommandRequest)
...
2024-04-26 04:12:22,524 - chip.native.EM - INFO - __init__.py:_RedirectToPythonLogging:40 - >>> [E:56552i S:60591 M:44984139 (Ack:78484474)] (S) Msg RX from 0:FFFFFFFB00000000 [0000] --- Type 0000:10 (SecureChannel:StandaloneAck)
...
2024-04-26 04:17:18,713 - chip.native.DMG - INFO - __init__.py:_RedirectToPythonLogging:40 - Time out! failed to receive invoke command response from Exchange: 56552i

So for some reason network communication broke down for a while there (at least 4s, since the DUT retransmitted over a 4s period), but without packet traces it's impossible to say whether the DUT failed to send, the TH failed to receive, or something in between failed to route.

closing the ticket for now, following-up with a new ticket..


Fix a memory leak found by mpickering

closes https://github.com/haskell/haskell-ide-engine/issues/1296

@alanz implemented your suggestion

Thanks @lorenzo

Hello, I came here as a consequence of reading https://lukelau.me/haskell/posts/leak/.
I would be very interested to know, if the information is available, whether any space improvement was actually seen as a result of merging this PR.  @bubba's PR had already been merged the day before and should make this PR redundant.  In particular, modifyTVar' forces its argument before returning, and subsequent to @bubba's PR forcing the IdeState forces the GhcModuleCache it contains (that's what making a field strict means).
I have spent, many, many, days investigating the causes of various space leaks.  I'm trying to come up with a set of principles that make it easy to write space-leak-free code.  I would like to test my principles against the space leak that you have discovered.  If this PR did indeed remove a space leak then my principles are incorrect and i need to go back to the drawing board!

(Oh, and I got to Luke Lau's post via https://mpickering.github.io/ide/posts/2020-05-08-state-of-haskell-ide.html)

The code-base has changed signifitcantly since this PR has been merged.

That may be so, but I'm wondering whether there is any residual evidence either way that this PR helped.

I am sorry, I dont think we have any hard numbers anymore. Doesnt the blog post state that the leak has been solved?

Sure, I've no doubt the space leak has been solved. My question is whether it was by this PR or by @bubba's earlier PR.

@tomjaguarpaw these PRs might have been created in parallel - it does seem strange that we enforce strictness here as well. You might want to checkout to both of these revisions and try running the script from the blog post to see if it does make a difference. Otherwise its probably out of an abundance of caution


chore(deps): update common-dev-assets digest to 9fe7626

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
6699dc1 -> 9fe7626

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

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


Webpack setup

Alex, this should set up your webpack configs and dependencies. Had to adjust a little bit of the source to make sure it built but my changes should be revisited. Not familiar enough wit hteh Atomic Design concepts and how it exposes components as an importable ojbect. If we can get rid of the relative paths it would def look cleaner.
TODO: Currently dev server port just displays file system. Need to figure out how to have dev server serve the right files.

Hey Josh, I'd like to try taking this approach rather than using eject: https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables
If we can't do what we want, we can take the eject route then.

Sure. we can close this PR and shelve the work :+1:

Thanks, sorry about the (potentially) lost effort

:100:


Resolve SwiftPM dependencies before fetching build settings

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
This PR fix #15454 and fix #15301
Description
On Xcode 11 is possible to use SwiftPM for iOS projects and any call to xcodebuild (at least with -showBuildSettings) command, makes the system resolves dependencies. The timeout and retrying logic for this call can fail the build, as the resolving process is still active.
Testing Steps
Requirements: Xcode 11 and a project with SwiftPM dependencies

Run the action gym

When this pr will be released? 👍

@bguidolim Can I use gem 'fastlane', :git => 'https://github.com/bguidolim/fastlane', :branch => 'fix-swiftpm-resolve' until this PR is merged?

@bguidolim I tried but I still get xcodebuild: error: Could not resolve package dependencies: An unknown error occurred. I set FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=30.

You can use 'xcodebuild -resolvePackageDependencies' in your config.yml

@MaximSkorynin What config.yml are you talking about? CircleCI? I use Bitrise. Thank you.

This is what I have in my Fastfile:
gym(
    project: "{ProjectName}.xcodeproj",
    scheme: "{SchemaName}",
    configuration: "Release",
    export_method: "app-store",
    include_bitcode: true,
    xcargs: "-showBuildSettings -UseModernBuildSystem=YES -resolvePackageDependencies"
)

Added the code below just before scan and/or gym and it worked
    for ip in $(dig @<IP_ADDRESS> bitbucket.org +short); do ssh-keyscan bitbucket.org,$ip; ssh-keyscan    $ip; done 2>/dev/null >> ~/.ssh/known_hosts
    xcodebuild -resolvePackageDependencies


EnumSet<> options

I have a enum and I want an argument to be an EnumSet so I can set flags on the CLI, for example:
foo --result-types PARTIAL,COMPLETE

with code similar to:
public enum ResultTypes {
    NONE,
    PARTIAL,
    COMPLETE
}

@Option(names = "--result-types")
private EnumSet<ResultTypes> resultTypes = EnumSet.of(ResultTypes.COMPLETE);

But I get the error when executed:
Invalid value for option '--result-types' (<ResultTypes>): expected one of [NONE, PARTIAL, COMPLETE] (case-sensitive) but was 'PARTIAL,COMPLETE'

I have written a converter to parse the string:
public class ResultTypesEnumSetConverter implements CommandLine.ITypeConverter<EnumSet<ResultTypes>> {
    @Override
    public EnumSet<ResultTypes> convert(String value) throws Exception {
        String[] split = value.split(",");
        EnumSet<ResultTypes> types = EnumSet.noneOf(ResultTypes.class);
        for (int i = 0; i < split.length; i++) {
            types.add(ResultTypes.valueOf(split[i]));
        }
        return types;
    }
}

but this doesn't seem to work:
InstantiationException: java.util.EnumSet while processing argument at or before arg[1] 'PARTIAL,COMPLETE'

Can you run again with -Dpicocli.trace=DEBUG and show the output?

Thank you for raising this issue! I was able to reproduce the problem, please ignore my previous comment.
This is a shortcoming in the current version of picocli.
Both problems have the same cause: picocli detects that EnumSet<ResultTypes> is a Collection that can hold multiple ResultTypes instances. If the original field value is null or has a non-empty collection as it initial/default value, it tries to create an empty instance of the collection and add the ResultTypes instances found during parsing to this new collection instance. The idea is that when done, it will replace the field value with the new collection.
The problem is that picocli currently has no special treatment for EnumSet, and there is no default constructor so the instantiation fails. Even with the custom type converter, picocli will try to instantiate the empty EnumSet...
At the moment the workaround is to either:

use a different Set implementation like HashSet, TreeSet or LinkedHashSet
initialize the field with an empty EnumSet with EnumSet.noneOf(ResultTypes.class)

With that last workaround, this test passes:
enum ResultTypes {
    NONE,
    PARTIAL,
    COMPLETE
}
@Test
public void testEnumSet() {
    class App {
        @Option(names = "--result-types", split = ",") //, converter = ResultTypesEnumSetConverter.class)
        //private EnumSet<ResultTypes> resultTypes = EnumSet.of(ResultTypes.COMPLETE);
        private EnumSet<ResultTypes> resultTypes = EnumSet.noneOf(ResultTypes.class);
    }
    App app = new App();
    new CommandLine(app).parseArgs("--result-types", "PARTIAL,COMPLETE");

    assertEquals(EnumSet.of(PARTIAL, COMPLETE), app.resultTypes);
}

I am a big fan of using EnumSet wherever possible and I am looking at ways to fix this.

Note to self: potential fix:
Index: src/main/java/picocli/CommandLine.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/picocli/CommandLine.java	(date<PHONE_NUMBER>374)
+++ src/main/java/picocli/CommandLine.java	(date<PHONE_NUMBER>374)
@@ -8803,7 +8803,12 @@
             List<Object> converted = consumeArguments(argSpec, lookBehind, arity, args, type, argDescription);
             if (collection == null || (!collection.isEmpty() && !initialized.contains(argSpec))) {
                 tracer.debug("Initializing binding for %s with empty %s%n", optionDescription("", argSpec, 0), argSpec.type().getSimpleName());
-                collection = createCollection(argSpec.type()); // collection type
+                if (collection instanceof EnumSet) {
+                    Object enumSet = EnumSet.noneOf((Class<Enum>) type);
+                    collection = (Collection<Object>) enumSet;
+                } else {
+                    collection = createCollection(argSpec.type()); // collection type
+                }
                 argSpec.setValue(collection);
             }
             initialized.add(argSpec);
@@ -9005,7 +9010,7 @@
                 return new ArrayList<Object>();
             }
             // custom Collection implementation class must have default constructor
-            return (Collection<Object>) collectionClass.newInstance();
+            return (Collection<Object>) factory.create(collectionClass);
         }
         @SuppressWarnings("unchecked") private Map<Object, Object> createMap(Class<?> mapClass) throws Exception {
             try { // if it is an implementation class, instantiate it

Many thanks for your prompt response and help.
I've used your workaround and, because I need to set a default value, rather than assigning it in the code (which causes the exception) I can use a IDefaultValueProvider.

Fixed in master and the 3.9.x branch. Please verify.
I plan to release 3.9.4 including this fix soon.

Picocli 3.9.4 with a fix for this issue has been released. Enjoy!


Faq accordion card

I can't find the unnecessary diff. Looks good to me.

I can't find the unnecessary diff. Looks good to me.

I'm referring to the images. You moved favicons and other images.

I get it now.