Eslint-plugin-react was not loaded as a node module from the directory

Hi @sudo-suhas ,
Thank you for creating such a great example. I am new to eslint and trying to lint my code using lint-staged package with pre-commit hook. Frontend project is react+ typescript, common is nodejs project and backend is NestJS project. My project structure is as below:
|-- .gitignore
|-- package.json
|-- frontend
|   |- .eslintrc.yml
|   |- .package.json
|   |   |-- src
|   |   |   --app.tsx
|   |   |   --index.ts
|-- backend
|   |- .eslintrc.yml
|   |- .package.json
|   |   |-- src
|   |   |   --app.tsx
|   |   |   --index.ts
|-- common
|   |- .eslintrc.yml
|   |- .package.json
|   |   |-- src
|   |   |   --app.tsx
|   |   |   --index.ts

My root package.json is as below:
"devDependencies": {
    "eslint": "~6.6.0",
    "husky": "~3.0.7",
    "lint-staged": "~9.4.0"
 },
"husky": {
    "hooks": {
      "pre-commit": "lint-staged",
    }
  },
  "lint-staged": {
    "common/**/*.{ts,tsx}": [
      "eslint --fix",
      "git add"
    ],
    "backend/**/*.{ts,tsx}": [
      "eslint --fix",
      "git add"
    ],
    "frontend/**/*.{ts,tsx}": [
      "eslint --fix",
      "git add"
    ]
  }

But, when I try to commit my staged files having linter errors, I am getting an error as below:
husky > pre-commit (node v12.18.0)
  ↓ Stashing changes... [skipped]
    → No partially staged files found...
  ❯ Running tasks...
    ↓ Running tasks for common/**/*.{ts,tsx} [skipped]
      → No staged files match common/**/*.{ts,tsx}
    ↓ Running tasks for backend/**/*.{ts,tsx} [skipped]
      → No staged files match server/**/*.{ts,tsx}
    ❯ Running tasks for frontend/**/*.{ts,tsx}
      ✖ eslint --fix
        git add

✖ eslint --fix found some errors. Please fix them and try committing again.

Oops! Something went wrong! :(

ESLint: 6.6.0.

ESLint couldn't find the plugin "eslint-plugin-react".

(The package "eslint-plugin-react" was not found when loaded as a Node module from the directory "/Projects/demoproject.)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

npm install eslint-plugin-react@latest --save-dev

The plugin "eslint-plugin-react" was referenced from the config file in "frontend/.eslintrc.js".

If you still can't figure out the problem, please stop by https://gitter.im/eslint/eslint to chat with the team.
husky > pre-commit hook failed (add --no-verify to bypass)

What am I doing wrong here?

The linter eslint is installed at the root but the plugins are not. Run npm install eslint-plugin-react@latest --save-dev as suggested in the error message.

So, do I have to install all the plugins that I am using in any of sub project at root level as well?

Yes.


Hey, where can I find MacOS hermes binary for 0.71?

New Version
0.71
Old Version
0.70
Build Target(s)
MacOS
Output of react-native info
...
Issue and Reproduction Steps
In 0.69 and 0.70, it was attached to the release, but in 0.71 it's missed, in the package present hermesc, but not hermes.

Hi @zloirock, thank you for raising the problem.
If I'm not mistaken, you should be able to use the same framework we are using for iOS.
This job builds Hermes for iOS and for Mac and creates a fat binary that should support both platforms.
The binary is then uploaded to Maven and you should be able to use it from there. The url to download should be: https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.71.0/react-native-artifacts-0.71.0-hermes-ios-release.tar.gz.
The way we install it in iOS is via cocoapods. This is the podspec for the hermes-engine at the line where we set the source to download the framework.
I don't know how MacOS is installing its dependency.
Could you try this out and let me know if it works?

Thank you. That's what I was looking for.


feat (Archicad, Revit): Speckle Levels

Description & motivation
#2956
Changes:
Objects:

public virtual Level? level added to base BIM classes
Revit classes define a property with public new Level?
Archicad classes have a public override Level? level and '[JsonIgnore] public ArchicadLevel? archicadLevel' props

Revit Connector:

Revit Level entity is created based on correct elevation when the corresponding Speckle object has valid level data

Archicad Connector:

When deseraliasing JSON data from Archicad, first stirng--> raw JObject conversion is done, with this we have possibility to change data, properties or independently deserialise parts of it to the relevant Speckle Objects. This is done in in the new Archicad.Converters.Utils.ConvertDTOs function where dynamic objects are used

JSON commands to Archicad direction have been changed to JArray: 'GetBeamData : ICommand<Speckle.Newtonsoft.Json.Linq.JArray>'

For receive a Archicad.Converters.Utils.ConvertLevel is introduced which can "upgrade" the incoming Speckle base Level to ArchicadLevel

Screenshots:

Checklist:

[x] My pull request follows the guidelines in the Contributing guide?
[x] My pull request does not duplicate any other open Pull Requests for the same update/change?
[x] My commits are related to the pull request and do not amend unrelated code or documentation.
[x] My code follows a similar style to existing code.
[ ] I have added appropriate tests.
[ ] I have updated or added relevant documentation.

@JR-Morgan The [JsonIgnore] attribute had to be removed from the Level property in the Revit classes. Otherwise the property was not serialised from the Revit Connector.


Added 2 new HystrixEventTypes: EMIT and FALLBACK_EMIT

** These events only get generated in the HystrixObservable case.
** They correspond to an onNext() by construct() and onNext() by resumeWithFallback(), respectively

Addresses #302

NetflixOSS » Hystrix » Hystrix-pull-requests #19 SUCCESS
This pull request looks good

Hystrix-pull-requests #258 FAILURE
Looks like there's a problem with this pull request


build: remove sed usage in build system

sed is not available on all platforms, we cannot depend on that to
rewrite the module map.  As a temporary stop gap, write the file
statically and generate it at build time.  Eventually, this could be
replaced with a tool or CMake based text processing to generate the
content.  This repairs part of the build for Windows with bootstrapping.

@swift-ci please test

@swift-ci please test

@swift-ci please smoke test

@swift-ci please test macOS platform


Display all cover images with 1.9 aspect ratio

Connected Issues

Issue #18

Summary of goal
Display all cover images in the blog listing page with a uniform aspect ratio
Summary of solution

Set the aspect ratio of the image to be 1.9 using the padding-top property on it's parent. The padding-top is set to (1/<aspect-ratio>) * 100% ( which is 52.5% in this case ).

Remaining TODOs

[ ] ~Remaining change...~

Results

Testing
Tested on all primary browsers for:

Chrome

[X] Desktop
[X] Mobile
[X] Tablet

Safari

[X] Desktop
[X] Mobile
[X] Tablet

Firefox

[X] Desktop
[X] Mobile
[X] Tablet

(Optional) Tested on Safari 12 (Physical or emulator)

[X] iPad
[X] iPhone

(Optional) Tested on physical mobile and tablet device for:

[ ] ~Android~
[ ] ~iOS (including iPadOS)~

Tested analytics events

[ ] ~All pre-existing events are working~
Newly added analytic events

[ ] ~description of when the event would occur~

Reopening as a Netlify preview was not triggered for this PR


add in memory attachment for smtp adapter

Added "data" key in Swoosh.Attachment so you can add "in memory" data as attachment. Added this feature for SMTP adapter.

Thanks again for the PR @davec82!!

Released in 0.12 FYI


.Net: 2nd Embeddings Call from .NET MAUI (just Android) does not get a success

2nd Embeddings call from .NET MAUI (Android) does not get a success
I have got a .NET MAUI Project where I am using the Semantic Kernel for embedding and other related stuff (Image Generation etc.). In my first use-case, which is for embedding, finding out a cosine similarity. I am using my code as below:
 var origEmbedding = await textEmbeddingGeneration.GenerateEmbeddingsAsync(new List<string> { answer });
 var guessEmbedding = await textEmbeddingGeneration.GenerateEmbeddingsAsync(new List<string> { guessedAnswer });
 var similarity = origEmbedding.First().AsReadOnlySpan().CosineSimilarity(guessEmbedding.First().AsReadOnlySpan());

To Reproduce
Steps to reproduce the behavior:

Call textEmbeddingGeneration.GenerateEmbeddingsAsync for the first time.
Again call textEmbeddingGeneration.GenerateEmbeddingsAsync for the second time.
Catch the exception

Below is the exception:
{Microsoft.SemanticKernel.AI.AIException: Unknown error (UnknownError): Something went wrong: Cannot access a closed Stream.  ---> System.ObjectDisposedException: Cannot access a closed Stream.    at System.IO.MemoryStream.EnsureNotClosed()    at System.IO.MemoryStream.get_Position()    at System.Net.Http.HttpContent.LimitMemoryStream.CopyToAsync(Stream destination, Int32 bufferSize, CancellationToken cancellationToken)    at Xamarin.Android.Net.AndroidMessageHandler.WriteRequestContentToOutput(HttpRequestMessage request, HttpURLConnection httpConnection, CancellationToken cancellationToken) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 500    at Xamarin.Android.Net.AndroidMessageHandler.DoProcessRequest(HttpRequestMessage request, URL javaUrl, HttpURLConnection httpConnection, CancellationToken cancellationToken, RequestRedirectionState redirectState) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 575    at Xamarin.Android.Net.AndroidMessageHandler.DoSendAsync(HttpRequestMessage request, CancellationToken cancellationToken) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Xamarin.Android.Net/AndroidMessageHandler.cs:line 417    at Microsoft.SemanticKernel.Reliability.DefaultHttpRetryHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)    at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)    at Azure.Core.Pipeline.HttpPipelineTransportPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline)
at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)    at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)
at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)    at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory1 pipeline, Boolean async)
at Azure.Core.HttpPipelineExtensions.ProcessMessageAsync(HttpPipeline pipeline, HttpMessage message, RequestContext requestContext, CancellationToken cancellationToken)
at Azure.AI.OpenAI.OpenAIClient.GetEmbeddingsAsync(String deploymentOrModelName, EmbeddingsOptions embeddingsOptions, CancellationToken cancellationToken)
at Microsoft.SemanticKernel.Connectors.AI.OpenAI.AzureSdk.ClientBase.d__251[[Azure.Response1[[Azure.AI.OpenAI.Embeddings, Azure.AI.OpenAI, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8]], Azure.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8]].MoveNext()
--- End of inner exception stack trace ---
at Microsoft.SemanticKernel.Connectors.AI.OpenAI.AzureSdk.ClientBase.d__251[[Azure.Response1[[Azure.AI.OpenAI.Embeddings, Azure.AI.OpenAI, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8]], Azure.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8]].MoveNext()
at Microsoft.SemanticKernel.Connectors.AI.OpenAI.AzureSdk.ClientBase.InternalGetEmbeddingsAsync(IList1 data, CancellationToken cancellationToken)
Expected behavior
It should return a correct response.
Platform

OS: [e.g. Windows]
IDE: [e.g. Visual Studio]
Language: [e.g. C#]
Source: [I've tried past 2 SDKs (it's the same)]

Additional context
This works perfectly fine on Windows app (and I assume it should work fine on iOS too). I have also tested in my Polyglot notebooks. It works absolutely well everywhere.
For more context, this isn't primarily a problem for SK I think but.. as it comes with SDK, developer (who is consuming / using it) can't fix with any of the solutions given here:

https://stackoverflow.com/questions/75691627/2nd-android-httpclient-post-throws-system-objectdisposedexception-before-its-ev
https://stackoverflow.com/questions/59933234/httpclient-sendasync-throws-objectdisposedexception-on-xamarin-forms-android-but
https://stackoverflow.com/questions/76568008/error-in-httpclient-net-maui-when-doing-a-post-with-a-body

@arafattehsin thanks for letting us know about this, we will investigate.

All .Net issues prior to 1-Dec-2023 are being closed. Please re-open, if this issue is still relevant to the .Net Semantic Kernel 1.x release. In the future all issues that are inactive for more than 90 days will be labelled as 'stale' and closed 14 days later.


WFLY-15028 Move WildFly Preview to a native jakarta namespace variant…

… of the JBoss EJB Client jar
WFLY-15028 Move WildFly Preview to a native jakarta namespace variant of the JBoss EJB Client jar
WFLY-15626 Upgrade jboss-ejb-client from 4.0.43.Final to 4.0.44.Final

@chengfang This looks good. Ping me whenever you switch it to a non-SNAPSHOT and I'll make sure it gets in.

@bstansberry it will take a day or two, as I'm trying the new ejb-client versions on http-client first before releasing it.

It should be ready to merge now.


Non Android ThreadMode behaviour

On non-Android JVMs ThreadModes MAIN and MAIN_ORDERED follow the same behavior as documented for POSTING. Is that a feature or a bug?
The documentation for MAIN and MAIN_ORDERED seems to be only for Android.

https://github.com/greenrobot/EventBus/blob/1d995077d0b620a6aae9c60a8b96443113752305/EventBus/src/org/greenrobot/eventbus/ThreadMode.java#L38
Docs also say that this is the behavior if not Android, no?

Looks like MAIN is documented correctly in the code for non-Android JVMs. But MAIN_ORDERED doesn't document the non-Android behavior.
Also, I was referring to the documentation on https://greenrobot.org/eventbus/documentation/delivery-threads-threadmode/ for my original post.

@guoci Thanks for the hint, updated that page.


Fix the link to CPI repo

Bug Report
In CPI readme, the link to github is CAPV, instead of CPI https://github.com/kubernetes/cloud-provider-vsphere
https://github.com/vmware-tanzu/community-edition/tree/9b6fe7b5c89fd4b87b575253c6c01eea5410c743/addons/packages/vsphere-cpi/1.22.4
Expected Behavior
The link should be correct
Steps to Reproduce the Bug

Screenshots or additional information and context

Environment Details

Build version (tanzu version):
Deployment (Managed/Standalone cluster):
Infrastructure Provider (Docker/AWS/Azure/vSphere):
Operating System (client):

Diagnostics and log bundle

@kcoriordan can you keep track of this to ensure we get the broken link fixed?

https://github.com/kubernetes/cloud-provider-vsphere


Electron: WebGL: INVALID_ENUM: enable: invalid capability

In Content3D, the following lines cause tons of WebGL errors/warnings (they're repeated twice):
				#if desktop
				// TODO: Cache?
				gl.enable(gl.TEXTURE_2D);
				#end

When compiling for electron, desktop=true but it's using WebGL, which I guess is different to other scenarios.
I assume the TEXTURE_2D flag isn't valid/compatible in WebGL.
Fix is to change to:
				#if (desktop && !html5)
				// TODO: Cache?
				gl.enable(gl.TEXTURE_2D);
				#end

PR:
https://github.com/openfl/openfl/pull/2247


is there a function for variable_group_variable_update ?

Goal
Update variable group variable using the provided python SDK
Summary
The basis of this issue/question is to understand if there is a function function within the azure-devops sdk for updating a variable within a variable group. When inspecting the azure-devops-cli-extension i'm able to see see that the cli is power by python. I'm also able to see that you can update a variable within a variable group using the azure-devops-cli. Which means there is a python function for updating variable groups within a variable group - variable_group_variable_update
With that research and understanding out of the way I jump back to the azure-devops-python-api knowing its possible to update a variable within a variable group. First, I start looking at the REST API which the python sdk is using, specifically for variable groups. After reading over the API docs a few times i'm unable to find anything explicitly calling out  updating variables within a variable group.
With no help within the docs what do you do next? Search the internet forums for anyone who has had better luck than I. I discovered users stating they were able to update variables within a variable group but when I try to reproduce their code using python i'm getting different results. Well, mainly errors but it's getting me closer than what the docs provide.
import requests

username = "username"
password = "password"

pjson = {
        "variables": {
          "fingerscrosse-job": {
            "value": "wishes"
    },
    "special": {
      "value": "new value"
    }
        },
        "type": "Vsts",
        "name": "XXX-TEST",
         "description": "testing vars"
      }

url = "https://dev.azure.com/carmaxpricing/nemesis/_apis/distributedtask/variablegroups/1?api-version=5.0-preview.1"
headers = {'Content-Type': 'application/json'}
r = requests.post(url, json = pjson, auth=(username, password))
print(r.text)

RESPONSE
{"$id":"1","innerException":null,"message":"Variable group 'XXX-TEST' already exists.","typeName":"Microsoft.TeamFoundation.DistributedTask.WebApi.VariableGroupExistsException, Mi
crosoft.TeamFoundation.DistributedTask.WebApi","typeKey":"VariableGroupExistsException","errorCode":0,"eventId":3000}

If you notice in my code i'm not using the SDK because there is no function for updating a variable within a variable group that i'm aware of. Anyway, i'm getting an error stating ...already exists. So this api is for updating variable groups, not updating variables within a variable group, right? The real question is where is the function within THIS SDK for updating variables within a variable group? please advise - Confused Engineer
Notes

Tried multiple different REST API versions
No function under the task_agent_client() for updating  variable in variable group. but there is update_variable_group
Creating NEW variable groups with variables works

You can do this, but it's not elegant.
The update_variable_group method of the task_agent_client takes a VariableGroupParameters object -- basically the specification of the whole variable group, so (AFAICT) you cannot just submit the difference.
But with the as_dict and from_dict methods, you can transform the VariableGroup to a dict, change it, and convert it to a VariableGroupParameters object.
Example code:
# SETUP
from msrest.authentication import BasicAuthentication
from azure.devops.connection import Connection
from azure.devops.v5_1.task_agent.models import VariableGroup, VariableGroupParameters

BASE_URL = "https://dev.azure.com/myorgname"
PAT = "my-access-token"
PROJECT = "myproject"
GROUP_NAME = "my-variable-group"

cxn = Connection(base_url=BASE_URL, creds=BasicAuthentication("", PAT))
task_agent_client = cxn.clients_v5_1.get_task_agent_client()

variable_groups: list[VariableGroup] = task_agent_client.get_variable_groups(project=PROJECT)
variable_group: VariableGroup = next(vg for vg in variable_groups if vg.name == GROUP_NAME)

# EDIT VARIABLES
vg: dict = variable_group.as_dict()
vg["variables"]["variable_to_upsert"] = {"value": "my new value"}
del vg["variables"]["variable_to_delete"]
parameters = VariableGroupParameters.from_dict(vg)

# SUBMIT REQUEST
task_agent_client.update_variable_group(parameters, PROJECT, variable_group.id)

Be careful with the versions. The v5.1 clients work with the cloud-based Azure DevOps, but the latest versions (7.0 and 7.1) do not. The API changed (old, new) and removed the project name from the URL, resulting in a 400 Bad Request, and the client throws an exception:
AzureDevOpsServiceError: Project information name is not valid for variable group.

Debugger shows that the client doesn't specify the version in the URL, so I suppose it's a fault with the client, and the cloud-based AZDO defaults to an earlier version.


GPG error : EXPKEYSIG

Hello :)
Not sure if it's the right place to put this issue (or if it's on your end).
We have an error with GPG during our CI run (Github Actions). Do you need to renew the key ?
I have seen that there is a [trusted=yes] option in the apt installation but when using the github action integration we didn't had to use it.
Error in the Github Actions CI :
Err:6 https://apt.secrethub.io stable InRelease
The following signatures were invalid: EXPKEYSIG 425F7AB667B0B1D8 SecretHub<EMAIL_ADDRESS>Reading package lists...
W: GPG error: https://apt.secrethub.io stable InRelease: The following signatures were invalid: EXPKEYSIG 425F7AB667B0B1D8 SecretHub<EMAIL_ADDRESS>E: The repository 'https://apt.secrethub.io stable InRelease' is not signed.
How we use the Action :
        - name: Load Secrets
          uses<EMAIL_ADDRESS>          env:
              SECRETHUB_CREDENTIAL: ${{ secrets.SECRETHUB }}
              MY_TOKEN: secrethub://orga/passwords/my/token

Waiting for your answer :)
(and sorry again if it's not the right place ;) )

Thanks for filing this @VictorGobel! You're in the right place. We'll look into this and report back when we know more.


Provide a promotile component in Sanity

In order to promote certain content, we need to provide a "promotile" component
Acceptance criteria

Things we need to discuss once @BirteThornquist is back from holiday:

Should the promo tile component have an ingress/body text instead of only a title
Which fields should be required
Figma states "always a pair of tiles", does this mean the component should have a minimum and maximum of 2?

Add more guards for live preview while adding tiles

On todays meeting we discussed a proposal for splitting the label field into two fields, one for a visible label and one for an aria label. By using this pattern, we can allow for catchy link texts like "Read more" while still creating usable content for all users.
Read more

We should fix the runtime error with preview while adding promo tiles. After that, it should be ready for testing

I think this is ready for your review as well @nicholas-haggerty


download.icu-project.org is down and I cannot compile the 'make' command

connect to <IP_ADDRESS> port 80 failed: Timed out
Failed to connect to download.icu-project.org port 80: Timed out
Closing connection 0
     --- LOG END ---
     error: downloading 'http://download.icu-project.org/files/icu4c/58.2/icu4c-58_2-src.tgz' failed
     status_code: 28
     status_string: "Timeout was reached"
     log:

Can anyone help me with this?

I couldn't download that dependency neither. Use the docker provided here instead, which solved my problem.

Thank you for your suggestion. I am, however, unable to locate the path code/meta in the Msys directory. Where should I copy the docker and the assignment to?

Thank you for your suggestion. I am, however, unable to locate the path code/meta in the Msys directory. Where should I copy the docker and the assignment to?

It seems that you're not familiar with docker, maybe you should read something about docker to find out how to use it first, it's very easy. It will offer you a complete environment with the software inside, and you won't need MSYS any more.

Hi there, are the MeTA developers/maintainers planning to provide a fix for this? @Nut-Guo's workaround is nice, but I'm interested in a permanent solution such that the build instructions in the documentation work again as-is. Thanks!

One solution is to modify the CMakeLists.txt file that you get when you clone this repo. Replace the now-outdated ICU url (line #57) with this one:
https://github.com/unicode-org/icu/releases/download/release-58-2/icu4c-58_2-src.tgz


Change variable name to be complain with phpdoc

Body is a better variable name. You don't name a variable "string" neither "integer" you usually name it by his content not by his type.

Headers was well assigned, save memory and unsafe headers (unfiltered) should not be used ever.

Modify gitignore file is totally out of the scope.

I'll close this PR because has too many faults. I suggest you open a new one modifying the PHPDoc tag.


build: update to polkadot-v0.9.43

hey @rakanalh is this still in progress? :)

Yea sorry i got side tracked on other stuff lately... but still planning to complete this PR

Hi @rakanalh, I'm part of the Moonbeam protocol dev team and we are currently upgrading our dependencies to v0.9.43. Is this supposed to get merged soon? Thanks :)


test(starknet_integration_tests): test proposer-validator setup in flow test

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2348  👈 (View in Graphite)
#2299
#2242
#2253
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 10, 7:43 AM EST: A user started a stack merge that includes this pull request via Graphite.


WIP: Add view for displaying the forks of a tweak

Fixes #183

Coverage decreased (-1.07%) to 80.488% when pulling 0992fc6c5fe7167603ea98a000c292d7afb9bae9 on bug-183 into 85c0dfc79e4476bb3bdc707964df7adda4690c2a on master.

Going to start over from scratch here.


Add arbitrary constants in TTNN dialect/runtime

We need to add the ability to create tensors from raw data. This can be represented in TTIR already with the ttir::ConstantOp, but no such op exists in TTNN. We want

New TTNN op ConstantOp which can take an arbirary buffer of data, this is the fallback path if we can't pattern match to FullOp or a different data constructor.  This enables us to populate arbitrary constant data from the compiler
Data will be inlined in the flatbuffer as part of the flatbuffer op definition
Runtime will mitigate wrapping that flatbuffer data into a TTNN tensor that can then be referenced by the rest of the graph

ttnn doesn't have an "op" to do this, but we can use the ttnn::Tensor constructor to make it happen.
Looking for input from: @nsmithtt @jnie-TT @mrakitaTT @sdjordjevicTT

Thank you for bringing this up @LPanosTT! I've opened an issue https://github.com/tenstorrent/tt-mlir/issues/685 for this long time ago (also being tracked as part of https://github.com/tenstorrent/tt-mlir/issues/991), but we didn't have a particular use case in models so far.
Seems like @mmanzoorTT found a use case in LLAMA: https://github.com/tenstorrent/tt-mlir/issues/757 but I don't see this in LLAMA shlo from tt-torch, this might be JAX specific. I'll prioritize LLAMA JAX model bringup to see if this will be an issue for us. In the meantime, @mmanzoorTT can you please tell me (if you remember) where did you get the model from and how you encountered this LLAMA case in that issue?

Looking at the metal implementation for other tensor creation functions like arrange for example, it seems quite feasible to implement it like @LPanosTT and @nsmithtt described - by constructing the host tt::tt_metal::owned_buffer, filling it with values and passing to ttnn::Tensor constructor.
My only worry there is: Is it better to implement this in metal repo as another tensor creation function, instead of doing this on our side? Contribution benefits aside, they are already working on some Tensor rewrite effort and they might be changing the Tensor constructors in the future, so we could have additional uplift troubles with this. Also, they might be already adding something similar to the new Tensor api. I would first communicate this with them just to be sure what is the best course of action.

Sure, for cases like arange where we can pattern match to a creation function that's great. For Jax upsample which lowers to matmul against a constant tensor of bilinear coefficients there will never be an automatic creation function for this.

For the LLAMA example above I think this would also be right approach.  I don't think a new op in TTNN is desirable because this is already captured by tensor.

@mrakitaTT Huggingface used EasyLM to train llama_3b model using JAX. I have made following modifications in the code.

Modified the code to simplify the forward_loglikelihood graph (you can uncomment the changes)
Printed the stablehlo graph for forward_loglikelihood before actual function call and exit the program.
I have downloaded the weights from I downloaded the model weights from hugging face (https://huggingface.co/openlm-research/open_llama_3b_easylm).
The changes are as follow.

diff --git a/EasyLM/models/llama/llama_serve.py b/EasyLM/models/llama/llama_serve.py
index 273f239..69c157d 100644
--- a/EasyLM/models/llama/llama_serve.py
+++ b/EasyLM/models/llama/llama_serve.py
@@ -37,7 +37,7 @@ FLAGS, FLAGS_DEF = mlxu.define_flags_with_default(
     do_sample=True,
     num_beams=1,
     add_bos_token=True,
-    load_checkpoint='',
+    load_checkpoint='params::/localdev/mmanzoor/programs/open_llama_3b_easylm/open_llama_3b_easylm',
     tokenizer='openlm-research/open_llama_3b_v2',
     llama=LLaMAConfigurator.get_default_config(),
     lm_server=LMServer.get_default_config(),
@@ -83,21 +83,21 @@ def main(argv):
     @partial(
         pjit,
         in_shardings=(model_ps, PS(), PS()),
-        out_shardings=(PS(), PS(), PS())
+        #out_shardings=(PS(), PS(), PS())
     )
     def forward_loglikelihood(params, rng, batch):
         batch = with_sharding_constraint(batch, PS(('dp', 'fsdp')))
         rng_generator = JaxRNG(rng)
         input_tokens = batch['input_tokens']
-        output_tokens = batch['output_tokens']
+        #output_tokens = batch['output_tokens']
         input_mask = batch['input_mask']
-        output_mask = batch['output_mask']
+        #output_mask = batch['output_mask']

         logits = hf_model.module.apply(
             params, input_tokens, attention_mask=input_mask,
             deterministic=True, rngs=rng_generator(LLaMAConfigurator.rng_keys()),
         ).logits
-        loglikelihood = -optax.softmax_cross_entropy_with_integer_labels(
+        """loglikelihood = -optax.softmax_cross_entropy_with_integer_labels(
             logits, output_tokens
         )
         loglikelihood = jnp.sum(loglikelihood * output_mask, axis=-1)
@@ -107,7 +107,8 @@ def main(argv):
         )
         total = jnp.sum(output_mask, axis=-1)
         is_greedy = match_count == total
-        return loglikelihood, is_greedy, rng_generator()
+        return loglikelihood, is_greedy, rng_generator()"""
+        return logits

     @partial(
@@ -211,6 +212,10 @@ def main(argv):
                 output_mask=output_mask,
             )
             with mesh:
+                print('forward_loglikelihood-graph')
+                graph = jax.jit(forward_loglikelihood).lower(params, sharded_rng, batch)
+                print(graph.as_text())
+                exit(0)
                 loglikelihood, is_greedy, sharded_rng = forward_loglikelihood(
                     params, sharded_rng, batch
                 )

@nsmithtt what I've meant is that this code:

by constructing the host tt::tt_metal::owned_buffer, filling it with values and passing to ttnn::Tensor constructor

could exist as another tensor creation function here like:
template <typename T>
static Tensor from_values(const std::vector<T>& values, ...);

since we will already have these values in memory because we load them from the flatbuffer. This way if anything internal on the Metal side changes, for example tt::tt_metal::owned_buffer, they will update this function together with the rest of Tensor creation functions and we will have less uplift issues.

I don't think a new op in TTNN is desirable because this is already captured by tensor creation.

How is this different from the other tensor creation ops? You can also manually create the buffer full of zeros and pass it to tensor constructor instead of having ttnn.zeros.

@nsmithtt what I've meant is that this code:

by constructing the host tt::tt_metal::owned_buffer, filling it with values and passing to ttnn::Tensor constructor

could exist as another tensor creation function here like:
template <typename T>
static Tensor from_values(const std::vector<T>& values, ...);

Sorry I misunderstood you, I thought you meant to introduce a new op since you compared it to arange which is a ttnn op.

How is this different from the other tensor creation ops? You can also manually create the buffer full of zeros and pass it to tensor constructor instead of having ttnn.zeros.

Tensor creation ops are different because they could be implemented on device, arange, empty, zeros, ones, could all be implemented via kernel and require no data from the outside world, i.e. they are self contained generators.
This is different because it's more like activations or parameters which come from outside world and need to be loaded from the host.  It seems natural to use the same host tensor creation APIs used for activations and params for this kind of arbitrary constant data.

Oh, sorry I think we both confused each other with the terminology using "creation functions" and "ops" interchangeably :) When I said "ttnn op" I meant metal::ttnn public functions that are in tt-metal/ttnn/cpp/ttnn/operations/creation.hpp, that's why I wondered how is this one different and why shouldn't it exist there. You were talking about how there are no creation functions for this case and then said how this shouldn't be added as a new ttnn op, so I thought you were saying that this shouldn't be added as a new function there.
What you meant I guess is that this shouldn't be added in our TTNN dialect as a new op because it can't ever be efficiently implemented as a device op, it is simply a data transfer from host. But then I am not sure what TTNN op we will use instead, we are currently lowering ttir.constant into ttnn.full for splat tensors, and erroring out for multi-value tensors.
Or did you mean that this new function that we add in tt-metal/ttnn/cpp/ttnn/operations/creation.hpp shouldn't be proclaimed as "op" in metal::ttnn API with ttnn::decorators::register_operation<...>? Maybe I am missing a distinction of what in metal API they call "ops" and what are simply API functions. It was the same in my head because they are the ones who can implement this in a most optimized way, be it a device kernel or fast transfer from host or whatever, so I considered everything in their public API as "metal::ttnn ops".

Sorry, yeah I think there isn't really good terminology here, let me try to be super clear by what I meant.
TTNN API (tt-metal project)

Tensor Creation Op: These are TTNN operations, arange, ones, zeros etc. these can be implemented via kernel and require no data from the outside world, i.e. they are self contained generators.  These are all defined under ttnn/cpp/ttnn/operations/*
Tensor Construction: This is not an operation, this is act of creating a TTNN host tensor that wraps storage/data using the tensor object's constructor ttnn/cpp/ttnn/tensor/tensor.hpp.

TTNN Dialect (tt-mlir project)
In MLIR the only thing we have are Operations, so from the compiler's perspective regardless of the runtime's implementation, we need to represent this as an Operation.
Proposal
Framing the proposal using the above definitions:

TTNN Dialect: Introduce a new Operation, ttnn.constant which can take an arbitrary data, this is the fallback path if we can't pattern match to FullOp or a different data constructor. This enables us to populate arbitrary constant data from the compiler.  Semantics are identical to ttir.constant.

  %0 = "ttnn.constant"() <{value = dense<2.71828, 3.14159, -1.0> : tensor<3xf32>}> : () -> tensor<3xf32>

Flatbuffer: Data will be inlined in the flatbuffer as part of the flatbuffer ConstantOp definition:

table ConstantOp {
  out: tt.target.TensorRef;  // Tensor ref holds layout/format information used by runtime for construction
  data: [ubyte];             // The constant data inlined
}

Runtime: Will use Tensor Construction to implement flatbuffer ConstantOp.  There is no need for a new TTNN Tensor Creation Op or any TTNN changes to implement this.

Thank you for detailed writeup Nick! I agree with the proposal. My only concern here was in the last part:

Runtime: Will use Tensor Construction to implement flatbuffer ConstantOp. There is no need for a new TTNN Tensor Creation Op or any TTNN changes to implement this.

My concern was that we would need to use tt::metal internals to construct the Tensor on our side, that's why I was suggesting adding new creation function in their repo so they can update it if internals change. I've now realized that constructs like tt::tt_metal::owned_buffer are not internals but actually part of public ttnn classes, and that we are already using it in our runtime, so I have no concerns anymore :)

@nsmithtt @sdjordjevicTT @mrakitaTT On the tt-torch frontend we have enabled torch fx constant folding. This allows us to consteval things like upsample weights and make them graph inputs instead. For tt-xla though we have no such thing. If we have our own consteval and we end up making constants graph inputs then we may not need this at all. Although I'm sure it will come in handy one way or another in the future.


Large strings may be kept too long

In getMatch(), we try to avoid keeping large strings in memory (such as a whole web page) when we only need a small part by using an explicit String constructor, in a way similar to
    final String newString = new String(oldString);

However, when looking at Android sources (through my CyanogenMod checked out copy), I noticed that this constructor is implemented as
    public String(String string) {
        value = string.value;
        offset = string.offset;
        count = string.count;
    }

which defeats the purpose, value being the real storage.
To avoid keeping long strings around, if this is needed, we may have to use something like
   final String newString = new String(oldString.getBytes())

Comments, thoughts?

Additional info (the original comment from carneo):
"Java copies the whole page String, when matching with regular expressions
later this would block the garbage collector, as we only need tiny parts of the page
see http://developer.android.com/reference/java/lang/String.html#backing_array
And BTW: You cannot even see that effect in the debugger, but must use a separate memory profiler!"

Anybody used to a memory profiler ? Did we experience memory becoming low ?

On the other hand. A fresh one. version 6.10a and up
java.lang.OutOfMemoryError
at org.apache.http.util.CharArrayBuffer.expand(CharArrayBuffer.java:59)
at org.apache.http.util.CharArrayBuffer.append(CharArrayBuffer.java:77)
at org.apache.http.util.EntityUtils.toString(EntityUtils.java:136)
at cgeo.geocaching.cgBase.getResponseData(cgBase.java:2895)
at cgeo.geocaching.cgBase.requestLogged$6f49c010(cgBase.java:2916)
at cgeo.geocaching.connector.GCConnector.searchByGeocode$60a7be06(GCConnector.java:76)
at cgeo.geocaching.cgBase.searchByGeocode(cgBase.java:2227)
at cgeo.geocaching.cgeodetail$loadCache.run(cgeodetail.java:1330)

Another one
java.lang.OutOfMemoryError
at java.lang.String.(String.java:468)
at org.apache.http.util.CharArrayBuffer.toString(CharArrayBuffer.java:261)
at org.apache.http.util.EntityUtils.toString(EntityUtils.java:141)
at cgeo.geocaching.cgBase.getResponseData(cgBase.java:2895)
at cgeo.geocaching.cgBase.getMapUserToken(cgBase.java:3508)
at cgeo.geocaching.maps.CGeoMap$DownloadThread.run(CGeoMap.java:1211)

Well, that code in question and also the comment are from me, not carnero.
Yes, I used a memory profiler (Yourkit) and inspected memory snapshots before and after my changes. The old code (without constructor call) held all the page Strings (and even multiple copies). The new code did no longer hold all the page Strings. So yes, the code works as expected. At least on my phone (2.2), where I debugged that.
And I also know why. :)
The source code given above is NOT the source code from Android. This is what is in the 2.3 Android sources:
/**
 * Constructs a new string with the same sequence of characters as {@code
 * toCopy}. The returned string's backing array
 * is no larger than necessary.
 */
public String(String toCopy) {
    value = (toCopy.value.length == toCopy.count)
            ? toCopy.value
            : Arrays.copyOfRange(toCopy.value, toCopy.offset, toCopy.offset + toCopy.length());
    offset = 0;
    count = value.length;
}

I wonder why Cyanogen changed it this way, this is surprising. Thanks for checking out!

Suprising for JSE Developers where Strings are copied when needed.

In fact, Cyanogen inherited this file from Android cupcake, where this memory optimization was probably absent. I'll submit a patch when android.git.kernel.org is up again.


Questions about the Annotation Count in Ego4D-HCap Dataset

First, I sincerely thank you and your team for your incredible work and for making this valuable resource available to the research community!
I am currently working on research based on the Ego4D videos, and am particularly interested in leveraging your dataset for my research. While analyzing the annotations from your dataset, I noticed a discrepancy. For example, in the paper, it is mentioned that 8,267 videos have been annotated. After processing the video-level annotations (provided in videos_train.json and videos_val.json), I noticed the total number of annotations contained in the 2 files does indeed add up to 8,267, as mentioned in the paper. However, it seems that these annotations correspond to only 4,492 unique videos, with several videos being annotated multiple times (i.e., the same "vid" identifier is repeated across annotations). Also, the number of unique videos annotated in segment description is also not consistent with the 8,267 mentioned in the paper.
I wanted to inquire whether the dataset indeed contains annotations for only 4,492 distinct videos, and this duplication of annotations is expected, or if there is additional data or context that I might have overlooked. Any clarification or guidance on this would be greatly appreciated!

I also have this question.

Similar question!
If you try to read segment_train.pkl, there are 15774 dicts in the list.
but if you check the number of unique f'{vid}{start_sec}{end_sec}' strings, it comes out to be 8911. A lot of the elements are repeated in the files!


feat: rename API support overwrite changes to files

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[X] Y

re #880

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):
feat: rename API support overwrite changes to files

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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.82%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2300

Relevant Lines:
2619

💛  - Coveralls

@CodiumAI-Agent /review

PR Analysis

🎯 Main theme: Adding a feature to rename symbols in files and apply changes to the files
📝 PR summary: This PR introduces a new feature to the KCL language server that allows renaming symbols in files. It provides the ability to find all occurrences of a symbol in a set of files and rename them to a new name. The changes are then applied to the files. The PR also includes updates to the tests to cover the new functionality.
📌 Type of PR: Enhancement
🧪 Relevant tests added: Yes
⏱ Estimated effort to review [1-5]: 4, because the PR introduces a new feature with a significant amount of new code. It requires a good understanding of the existing codebase and the language server protocol to review effectively.

PR Feedback

💡 General suggestions: The PR is well-structured and the new feature is implemented in a modular way. The code is readable and follows good coding practices. However, it would be beneficial to add more comments to the new functions to explain their purpose and functionality in more detail. This would make it easier for other developers to understand the code.

 🤖 Code feedback:

relevant file: kclvm/tools/src/LSP/src/rename.rs
suggestion: Consider handling the case where the file cannot be read in the 'apply_rename_changes' function. Currently, the function uses unwrap which may cause the program to panic if the file cannot be read. Instead, you could return an error to the caller. [important]
relevant line: '+        let file_content = read_file(

How to use
  Instructions

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review: Request a review of your Pull Request.
/describe: Update the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
/ask <QUESTION>: Ask a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.
/add_docs: Generate docstring for new components introduced in the PR.
/generate_labels: Generate labels for the PR based on the PR's contents.
see the tools guide for more details.

To edit any configuration parameter from the configuration.toml, add --config_path=new_value.
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, add a /config comment.


refactor(sbb-menu): lit migration

Migrate sbb-menu and sbb-menu-action to Lit.

Codecov Report

:exclamation: No coverage uploaded for pull request base (lit-migration@b876720). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@               Coverage Diff                @@
##             lit-migration    #2024   +/-   ##
================================================
  Coverage                 ?   88.97%
================================================
  Files                    ?       87
  Lines                    ?     9118
  Branches                 ?      379
================================================
  Hits                     ?     8113
  Misses                   ?     1001
  Partials                 ?        4

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


[add-resource] New Plugin/Theme

I would like to add my new theme to the Grav Repository. My theme uses Zurb's Foundation front-end framework and my plan is to add a high-performance build script to create an optimized cached version of the site. With the end goal being able to create super fast site that rank well using Google's PageSpeed tool.
I'd like to get the theme into the GPM so I can more easily test the install.
Here are the project details: https://github.com/brettdewoody/grav-theme-foundation

Thanks Brett, I'll get it tested and added shortly! Cheers.

BTW i noticed first thing that the screenshot via the README.md on github is broken.  Also is there a demo?

Haven't been able to put up a demo just yet, though I probably can in the
next day or two.
Can we add the theme to GPM so I can test a full install. Also, if needed
we could leave the theme off the Themes page on GetGrav.org while I clean
things up.
On Tue, Jun 23, 2015 at 8:48 AM Andy Miller<EMAIL_ADDRESS>wrote:

BTW i noticed first thing that the screenshot via the README.md on github
is broken. Also is there a demo?
—
Reply to this email directly or view it on GitHub
https://github.com/getgrav/grav/issues/210#issuecomment-114531897.

Hi Brett, I tried to add the theme to GPM but it failed because of the missing screenshot.  Can you please double check you have all the times here covered:
http://learn.getgrav.org/advanced/grav-development#themeplugin-release-process

I've added a screenshot. Let me know if that does the trick.

Just need to re-release now so that the screenshot is in the latest released version too.  Then it should automatically show up next time the repo is generated (hourly).

Doesn't look like the screenshot did the trick. Am I missing something else?

You need to either have a screenshot.jpg at the root of the project or add a screenshot entry pointing to the location of it. Right know you have it under assets and named screenshot1.png so the repository doesn't find it.
Have a look here http://learn.getgrav.org/advanced/blueprints
// Djamil Legato // From iPhone //

On Jun 24, 2015, at 18:35, Brett DeWoody<EMAIL_ADDRESS>wrote:
Doesn't look like the screenshot did the trick. Am I missing something else?
—
Reply to this email directly or view it on GitHub.

Looks like you have this sorted! I see foundation is now showing up on the Themes page: http://getgrav.org/downloads/themes


Update sharepoint-add-ins-compared-with-sharepoint-solutions.md

Category

[x] Content fix
[ ] New article

What's in this Pull Request?
Replaced some old MSDN links with redirected learn links.
Removed redundant whitespace

Bump reminder @flcdrg ... can you address the issues in this PR so we can review & process it?

I've made all the links relative where it makes sense. Ironically the linter then complains it can't find the links. The links in the validation warnings are no good to non MS folks - I can't get to anything under https://review.learn.microsoft.com

@flcdrg The rendering engine was correct in throwing errors/warnings how you were referencing files. When using relative links within the same repo to a file, you must specify the file name, including the extension. More stuff I found that I'm working on:

line breaks between headings
no line breaks between bullet points
the reason you're getting broken links is because you're referencing files with your relative path, but not the actual file... when you do this, you must give it the full relative path, including the file extension ('.md')
the relative links to pages in the previous-versions path weren't correct
don't use anchor tags...let the rendering engine define the anchors based on the headings

Thanks for the the assistance with the PR and the explanations. For future PRs, if there's a chance the internal content on https://review.learn.microsoft.com/ could be made public, or shifted to somewhere that is public, that would make it easier for us non-MS folks to follow along.

No worries - but it also seems to point to documentation that would presumably explain the various warnings.. eg.

https://review.learn.microsoft.com/en-us/help/platform/validation-ref/link-broken?branch=main
https://review.learn.microsoft.com/help/contribute/validation-ref/file-not-found?branch=main
https://review.learn.microsoft.com/help/contribute/validation-ref/docs-link-absolute?branch=main


Enhancement - Composable

Hello,
Thanks for sharing vue-timer!!
What do you think about moving the code into a composable ?

Hello, it really makes sense.
Unfortunately, I don't have enough time now.
If you'd like, you can create a PR and improve it :)


Introduction

https://www.kubeflow.org/docs/started/introduction/

@Hamidmsa what is the issue with the introduction that you'd like to call out?

Incomplete issue.
/close


solver return infeasible for a solvable problem

Hello,
When I input the attached ISDP problem, the solver returned "infeasible". However, there are some feasible solutions to this problem, such as x_2, x_5, and x_11 are 1, and 0 for the rest variables. What's more interesting is that when I add the 53th constraint x_5>=1, the solver returns "optimal solution found", which is unreasonable since adding constraints will not enlarge the solution space. Could you please provide some guidance? Thanks in advance.
The following is the content of test.dat-s, which is a binary SDP problem.
15
2
4 -52
0 1 2 0 1 2 0 0 0 0 0 0 0 0 0
0 1 1 1 -17834.694217631153
0 1 1 2<PHONE_NUMBER>691147
0 1 1 3 -291.61806365614996
0 1 1 4 -1.0
0 1 2 2 -1834.694217630329
0 1 2 3 -291.61806365605264
0 1 2 4 -2.0
0 1 3 3 -52.08506915514171
0 1 3 4 -1.0
0 1 4 4 -4.0
1 1 1 1<PHONE_NUMBER>5574554
1 1 1 2 -1664.7225462411939
1 1 1 3<PHONE_NUMBER>945695
2 1 1 1 -12000.666555574515
2 1 1 2<PHONE_NUMBER>482388
2 1 1 3 -83.3194467589139
3 1 1 1 18667.555407432712
3 1 1 2 -332.9445092482388
3 1 1 3 83.3194467589139
4 1 1 2 -13329.445092483375
4 1 2 2 46685.5524079284
4 1 2 3<PHONE_NUMBER>886523
5 1 1 2 2665.889018496675
5 1 2 2 -1334.4442592900086
5 1 2 3 -166.63889351773045
6 1 1 2 -2665.889018496675
6 1 2 2 4001.9996667218993
6 1 2 3<PHONE_NUMBER>1773045
7 1 1 2 -33327.77870354647
8 1 1 2 6665.555740709295
9 1 1 2 -6665.555740709295
10 1 1 2 6665.555740709295
11 1 1 2 -1333.1111481418588
12 1 1 2 1333.1111481418588
13 1 1 2 -6665.555740709295
14 1 1 2 1333.1111481418588
15 1 1 2 -1333.1111481418588
1 2 1 1 1
1 2 2 2 -1
0 2 2 2 -1
2 2 3 3 1
2 2 4 4 -1
0 2 4 4 -1
3 2 5 5 1
3 2 6 6 -1
0 2 6 6 -1
4 2 7 7 1
4 2 8 8 -1
0 2 8 8 -1
5 2 9 9 1
5 2 10 10 -1
0 2 10 10 -1
6 2 11 11 1
6 2 12 12 -1
0 2 12 12 -1
7 2 13 13 1
1 2 14 14 1
7 2 14 14 -1
4 2 15 15 1
7 2 15 15 -1
7 2 16 16 1
1 2 16 16 -1
4 2 16 16 -1
0 2 16 16 -1
8 2 17 17 1
1 2 18 18 1
8 2 18 18 -1
5 2 19 19 1
8 2 19 19 -1
8 2 20 20 1
1 2 20 20 -1
5 2 20 20 -1
0 2 20 20 -1
9 2 21 21 1
1 2 22 22 1
9 2 22 22 -1
6 2 23 23 1
9 2 23 23 -1
9 2 24 24 1
1 2 24 24 -1
6 2 24 24 -1
0 2 24 24 -1
10 2 25 25 1
2 2 26 26 1
10 2 26 26 -1
4 2 27 27 1
10 2 27 27 -1
10 2 28 28 1
2 2 28 28 -1
4 2 28 28 -1
0 2 28 28 -1
11 2 29 29 1
2 2 30 30 1
11 2 30 30 -1
5 2 31 31 1
11 2 31 31 -1
11 2 32 32 1
2 2 32 32 -1
5 2 32 32 -1
0 2 32 32 -1
12 2 33 33 1
2 2 34 34 1
12 2 34 34 -1
6 2 35 35 1
12 2 35 35 -1
12 2 36 36 1
2 2 36 36 -1
6 2 36 36 -1
0 2 36 36 -1
13 2 37 37 1
3 2 38 38 1
13 2 38 38 -1
4 2 39 39 1
13 2 39 39 -1
13 2 40 40 1
3 2 40 40 -1
4 2 40 40 -1
0 2 40 40 -1
14 2 41 41 1
3 2 42 42 1
14 2 42 42 -1
5 2 43 43 1
14 2 43 43 -1
14 2 44 44 1
3 2 44 44 -1
5 2 44 44 -1
0 2 44 44 -1
15 2 45 45 1
3 2 46 46 1
15 2 46 46 -1
6 2 47 47 1
15 2 47 47 -1
15 2 48 48 1
3 2 48 48 -1
6 2 48 48 -1
0 2 48 48 -1
1 2 49 49 1
2 2 49 49 1
3 2 49 49 1
0 2 49 49 1
1 2 50 50 -1
2 2 50 50 -1
3 2 50 50 -1
0 2 50 50 -1
4 2 51 51 1
5 2 51 51 1
6 2 51 51 1
0 2 51 51 1
4 2 52 52 -1
5 2 52 52 -1
6 2 52 52 -1
0 2 52 52 -1
*This is constraint (x_5 >= 1)
*5 2 53 53 1
*0 2 53 53 1
*INTEGER
*1
*2
*3
*4
*5
*6
*7
*8
*9
*10
*11
*12
*13
*14
*15

When I use Mosek as SDP-solver, the solution of the first SDP fails with status "UNKNOWN". SCIP-SDP then  tries to solve  a penalty  formulation, for which Mosek says that one cannot drive the penalty term to 0. But it is only very slightly off, with a value of 1.45e-05 (the tolerance is 1e-5). Thus, SCIP-SDP decides that the relaxation and thus the problem is infeasible.
When I use DSDP, the problem is solved without problem. The same happens when I only solve LPs.
I am not sure why Mosek cannot solve the relaxation. However, the matrices are "not nice" in the sense that they contain values of very different magnitude (160006.6 vs. -1).


feat!: java interfaced union generation for oneOf

This is a first end to end draft.  The first priority is to agree a way forward for representing allOf in Java. Any feedback on the direction of the implementation, coding style and generated code would be appreciated.
Description

Generate a Java interface for unions

Common property accessors are defined as part of the interface

All classes that are part of unions implement the union interface
Add union support to the Jackson annotation preset

Support using a discriminator property or deducing union members via property names

Example output - java-generate-union-discriminator-jackson
Schema:
{
   "$schema":"http://json-schema.org/draft-07/schema#",
   "title":"Vehicle",
   "type":"object",
   "discriminator":"vehicleType",
   "oneOf":[
      {
         "$ref":"#/definitions/Car"
      },
      {
         "$ref":"#/definitions/Truck"
      }
   ],
   "definitions":{
      "Car":{
         "title":"Car",
         "type":"object",
         "properties":{
            "vehicleType":{
               "type":"string"
            },
            "name":{
               "type":"string"
            }
         }
      },
      "Truck":{
         "title":"Truck",
         "type":"object",
         "properties":{
            "vehicleType":{
               "type":"string"
            },
            "name":{
               "type":"string"
            }
         }
      }
   }
}

Java output:
@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.PROPERTY, property="vehicleType")
@JsonSubTypes({
  @JsonSubTypes.Type(value = Car.class, name = "Car"),
  @JsonSubTypes.Type(value = Truck.class, name = "Truck")
})
/**
 * Vehicle represents a union of types: Car, Truck
 */
public interface Vehicle {
  String getVehicleType();
  void setVehicleType(String vehicleType);
  String getName();
  void setName(String name);
  Map<String, Object> getAdditionalProperties();
  void setAdditionalProperties(Map<String, Object> additionalProperties);
}

public class Car implements Vehicle {
  @JsonProperty("vehicleType")
  private String vehicleType = "Car";
  @JsonProperty("name")
  private String name;
  private Map<String, Object> additionalProperties;

  public String getVehicleType() { return this.vehicleType; }
  public void setVehicleType(String vehicleType) { this.vehicleType = vehicleType; }

  public String getName() { return this.name; }
  public void setName(String name) { this.name = name; }

  public Map<String, Object> getAdditionalProperties() { return this.additionalProperties; }
  public void setAdditionalProperties(Map<String, Object> additionalProperties) { this.additionalProperties = additionalProperties; }
}

public class Truck implements Vehicle {
  @JsonProperty("vehicleType")
  private String vehicleType = "Truck";
  @JsonProperty("name")
  private String name;
  private Map<String, Object> additionalProperties;

  public String getVehicleType() { return this.vehicleType; }
  public void setVehicleType(String vehicleType) { this.vehicleType = vehicleType; }

  public String getName() { return this.name; }
  public void setName(String name) { this.name = name; }

  public Map<String, Object> getAdditionalProperties() { return this.additionalProperties; }
  public void setAdditionalProperties(Map<String, Object> additionalProperties) { this.additionalProperties = additionalProperties; }
}

Todo

--Add common property assessors methods to the interface--
Work through the various options around the discriminator property semantics (constant, read only, set by default, etc...) and make sure the right flexibility/safety trade offs are being weighted up
Work out what do to when unions include primitive/built-in types (int, bool, float, String, etc...)
Documentation
Fix up the failing tests (currently due to primitive type handling)
Support OpenAPI style discriminator property syntax

Related issue(s)

#391

@kennethaasan can you take a look at this? 🙂

Subsumed into #1271 closing as redundant.


Fix inconsistences in demo build_terrain.py

import dtcc

# Load point cloud from LAS file
pointcloud = dtcc.load_pointcloud("data/helsingborg-residential-2022/pointcloud.las")

# Remove global outliers
pointcloud = pointcloud.remove_global_outliers(3.0)

# Build terrain
terrain = dtcc.builder.build_terrain_mesh(
    pointcloud=pointcloud,
    max_mesh_size=10,
    min_mesh_angle=25,
    smoothing=3,
)

# View mesh
terrain.mesh.view()

There are several inconsistencies here:

The function is named build_terrain_mesh but returns a Terrain rather than a Mesh
It's note possible to view the terrain, only the mesh of the terrain
Why is poincloud==pointcloud needed? I would expect sending that as the first (single) argument plus the parameters.

Is the problem the naming or the return type? I think returning a terrain object is the right thing to do, but I agree that the naming should be clearer.
This needs to fixed in dtcc-viewer. Not too hard
The reason is that build_terrain_mesh can take either a pointcloud or raster as it's input, so you have to call it with either (raster=myraster,...) or (pointcloud=mypointcloud,...). Agree that this should be solved with type introspection.

point 3. is fixed


Getting intermittent 502 Bad Gateway error from azure-service-bus queue

Hi,
While trying to create/delete queue I am getting 502 Bad Gateway error intermittently.
Here is one such example error activity/diagnosis log collected from azure-portal: (request-id removed )
HTTP/1.1 502 Bad Gateway [Cache-Control: no-cache, Pragma: no-cache, Content-Type: application/json; charset=utf-8, Expires: -1, x-ms-failure-cause: service]

What might be the reason for these errors? Is it due to any request throttling?
Regards,
Prakash

Tagging owner from service team @binzywu

@prakash-ag Are you still experiencing the isue?

@prakash-ag - We are going to be closing this issue, but feel free to reopen it if you still are interested in us researching the root cause of this issue.


Make VirtualizedScrollPane FXML ready

see https://github.com/TomasMikula/Flowless/issues/25

Thanks and sorry for the long delay. This is now in the updated 0.6-SNAPSHOT.


BitmapData.copy blendMode is wrong type on Typescript definition file

The parameter type for the blendMode argument of the copy(), copyRect(), draw() and drawGroup() methods of BitmapData are set to type "number" on the Typescript definition file, while the expected (and working) values are of type "string".
This is probably because it used to expect values from the PIXI.blendModes enumeration (which is number based), and now is using HTML5's globalCompositeOperation (a string value), but the type remains "number" in the definition file (the documentation states the type as "string" though).
It is easily fixed by updating the definition file (phaser.d.ts or phaser.comments.d.ts), replacing all instances where "blendMode" is "number" to either "string" or "any".

I just made a PR to fix this, thanks

Fixed via PR merge.


Show a warning when trying to install mods for the wrong game version

If the detected game version is not listed by beatmods, and the user manually selected a game version, show a warning about the mismatch game version when trying to install mods.
This has happened many times before. When there is a new update, before beatmods update their version list, some users may attempt to manually select the previous moddable version which results in a broken game. Especially during the unity update.
Some users even thought they could downgrade the game by simply selecting an older game version in ModAssistant.

Just resolved the conflicts with the version detection changes


[XTrending√VIDEOs!]* Sofia Ansari Viral Leaked Video 2024 FULL LINK On Social Media X Telegram [NOW√S.E.X.73K]

14 sec ago Sofia Ansari Leaked Video Viral On Social Media. [XTrending√VIDEOs!]* Sofia Ansari Viral Leaked Video 2024 FULL LINK On Social Media X Telegram [NOW√S.E.X.73K]

Sofia Ansari's latest video has taken the internet by storm, grabbing the attention of users and igniting widespread discussions on social media. This rising digital creator, renowned for her captivating content, particularly her recent Spiderman-themed video, has experienced a notable surge in interest from fans eager to discover where to view the full version. Many are flocking to platforms like Instagram, X (formerly known as Twitter), and Discord to access her work.
As excitement continues to build, fans are actively expressing their reactions online, demonstrating the significant impact of social media in propelling creators like Sofia Ansari into the limelight. With her distinct style and creative approach, she has quickly become a leading figure in the digital space, leaving many intrigued about her future projects and content.
[Trending√_S.E.X√NOW!] Sofia Ansari Viral Leaked Video 2024[FULL~HD]

thank you

FG

.
.
.

vf
.
.

.

.
sdsd
.

xcvcxvcx


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit d7d20af:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch 74ff19e1-541e-44e8-b77c-bc54c02852a0 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Assert that runApp is called in the same zone as binding.ensureInitialized

Fixes https://github.com/flutter/flutter/issues/94123

Looks like the checks are unhappy. Could you take a look?

This should be ready for review now.

Thanks for the comments; applied the fixes. Will land on green.

Google tests found that I'd missed the driver binding when it comes to skipping the zone check. Trying again with the driver binding skipping the zone check.

@goderbauer I've walked this back a bit. Now it's a warning with a flag that lets you make it fatal, rather than an error. I did this because the google tests convinced me that making it fatal was too potentially breaking. I suggest we consider switching the default for the flag to true after a few more stable releases, once people have had enough advance warning.


Cannot set input image

I am trying to run itk.ContourExtractor2DImageFilter on numpy arrays, but I cannot set the input image. I load a 3D volume first, not using ITK, and then try to process one slice at a time.
ExtractorType = itk.ContourExtractor2DImageFilter[ImageType]
extractor = ExtractorType.New()

# Loop over slices
image = volume[:,:,slice] % numpy array
itk_image = itk.image_from_array(image)
extractor.SetInput(itk_image)

TypeError: in method 'itkImageToPathFilterIF2PLPP2_SetInput', argument 2 of type 'itkImageF2 const *'
Additional information:
Wrong number or type of arguments for overloaded function 'itkImageToPathFilterIF2PLPP2_SetInput'.
  Possible C/C++ prototypes are:
    itkImageToPathFilterIF2PLPP2::SetInput(itkImageF2 const *)
    itkImageToPathFilterIF2PLPP2::SetInput(unsigned int,itkImageF2 const *)

I don't understand what this means

I am using the python version, if it makes any difference.

ExtractorType = itk.ContourExtractor2DImageFilter[ImageType]

This creates an ExtractorType that is optimized for ImageType. One issue may be that your input image is not of ImageType, in this case a 2D image with 32-bit float pixels.
If this is the case, casting to 32-bit float may help:
itk_image = itk.image_from_array(image.astype(np.float32))

But, it is easier to dynamically create an optimized filter based on the input image type, e.g.
extractor = itk.ContourExtractor2DImageFilter.New(itk_image)

Or, use the functional, Pythonic interface:
paths = itk.contour_extractor2_d_image_filter(cthead1, contour_value=150)

With the latest version of itk, 5.1.0.post2, this may take NumPy arrays directly as inputs.
Here is a notebook: https://gist.github.com/thewtex/56ca60e9db19dc73a1b3ca25caa93e18


First and word in title should always be capitalized

I noticed that the first and last words from a Case.title call are not uppercased if they are a small word. I think this should be dealt with internally.
This is a pretty good implementation of title casing for reference.

Fixed in version 1.3.1
Thanks for the catch!

Thanks for the quick fix @nbubna. I noticed that the last word is also not capitalized if it is small. You could fix it up with a little bit of post-processing like I have done with this workaround.
// Capitalize the first character of the last word
var lastSpaceIdx = title.lastIndexOf(' ');
if(lastSpaceIdx > -1) {
   var lastWord = title.substr(lastSpaceIdx + 1);
   if(lastWord.length > 0) {
      title = title.slice(0, lastSpaceIdx + 1) + lastWord.charAt(0).toUpperCase() + lastWord.substr(1);
   }
}

Ah, should've have thought of that...

Ok, should be taken care of in 1.3.2.

Thanks a lot @nbubna


closure-compiler-maven-plugin fails to compile if web folder is empty or does not exist

closure-compiler-maven-plugin fails to compile if web folder is empty ( not having any js files) or does not exist.
Error received when web folder does not exist -
Failed to execute goal com.github.blutorange:closure-compiler-maven-plugin:2.26.0:minify (compress-assembly) on project allinone-test-run: Execution compress-assembly of goal com.github.blutorange:closure-compiler-maven-plugin:2.26.0:minify failed: basedir C:\New folder5\alfresco-sdk\archetypes\archetypes-it\target\test-classes\allinone-test-run\src\main\assembly\web does not exist ->
Error received when web folder exist but there are no js files in it -
org.apache.maven.it.VerificationException: Error in execution: [ERROR] No valid JavaScript source files found to process.
Could you please help on this.

If I understand this correctly, it's failing because it does not find any JavaScript files to bundle or minify. Is this intentional that you want to run the plugin on any input files, or is the plugin supposed to do something, but the directory is wrong?
I could change it so the plugin simply does nothing when it doesn't find any input, although this could be considered a configuration error, hence why it currently emits an error. I'd probably add an option <failOnMissingInput></failOnMissingInput> to the plugin, would that solve your issue?

Yes, that should solve the issue. Previously we using yuicompressor-maven -plugin but it was not able to minify js files. We are looking to migrate it to closure-compiler-maven-plugin now. Just to add, yuicompressor-maven-plugin didn't throw error on missing inputs, rather it used to succesfully compile. Thanks.

one query..can we get this fix early. Appreciate your help on this.

Shouldn't be too hard to fix. I'm busy right now but I'll take a look at it later this day.

Ok, so I took a look at it.
The first error

plugin:2.26.0:minify failed: basedir C:\New folder5\alfresco-sdk\archetypes\archetypes-it\target\test-classes\allinone-test-run\src\main\assembly\web does not exist ->

is definitely wrong and I'll fix that.
The second "error"

is just a log message, it does not fail the build. I can reduce the log level to warn though if that is a problem for you.

I released version 2.28.0, if it's still not working please feel free to reopen


List View top padding

Re #178626. Experimenting top padding for list view by tweaking rangemap.

Hello, I noticed that this issue has been solved and all the automated checks are passing. Would it be possible for a maintainer to review this and merge the changes? Thank you!

@joaomoreno thanks for the review and didn't rush to get fixes in and merge last iteration. Now I addressed all the comments, the padding is now paddingTop and paddingBottom.

Summarizing the bug: the list doesn't scroll all the way up if the user navigates to the first item with the keyboard

It's actually the opposite, when users press arrow down, we fail to reveal the full cell before. Here is a comparison between now (left side) and before (after)
https://github.com/microsoft/vscode/assets/876920/60d2a3f0-6341-4d8a-a794-9ca966c617d6
In this video you can see that, in OSS with this branch, we can fully reveal the cell when navigating down, allowing users to see the full output along with the "insert toolbar", while on the right side, it didn't reveal enough, and often the output can be cut off and also we don't have enough space for the insert toolbar.
For scrolling up, the experience you are seeing is then the same as text editor in below video: it only reveals the top of the first cell, but it won't scroll all the way to the top padding.
https://github.com/microsoft/vscode/assets/876920/48c3487e-c610-4108-a77e-f6820a2687a3


MemPostings.Delete(): reduce locking/unlocking

(The description has been updated since I created this PR)
MemPostings.Delete is called from Head.gc(), i.e. it gets the IDs of the series that have churned.
With current implementation, it tried to acquire the Lock() for each label/value combination: this can be quite expensive for tenants who have lots of those combinations.
This changes the implementation to call Lock only once per each label name (not value), and only if it is affected by the series churn.
I'm also adding a benchmark, which I ran with -benchtime=10x: it's quite difficult to get meaningful result here as each time the operation called, the benchmarked entity is being changed.
The benchmark runs some read operations which would make the Lock() operation wait, which is the scenario that I'm trying to mitigate, as in a downstream project we've seen some profiles waiting continuously on this Lock() call.
goos: darwin
goarch: arm64
pkg: github.com/prometheus/prometheus/tsdb/index
                                            │     main     │                 new                 │
                                            │    sec/op    │    sec/op     vs base               │
MemPostings_Delete/refs=1/readers=0-12         141.2m ± 5%   157.2m ±  1%  +11.29% (p=0.002 n=6)
MemPostings_Delete/refs=1/readers=1-12        1152.1m ± 1%   205.7m ±  5%  -82.14% (p=0.002 n=6)
MemPostings_Delete/refs=1/readers=10-12        10.424 ± 3%    1.149 ± 45%  -88.98% (p=0.002 n=6)
MemPostings_Delete/refs=100/readers=0-12       173.8m ± 5%   202.2m ± 13%  +16.36% (p=0.004 n=6)
MemPostings_Delete/refs=100/readers=1-12      1203.4m ± 1%   226.8m ±  5%  -81.15% (p=0.002 n=6)
MemPostings_Delete/refs=100/readers=10-12      10.791 ± 2%    1.164 ± 49%  -89.21% (p=0.002 n=6)
MemPostings_Delete/refs=10000/readers=0-12     198.3m ± 7%   176.3m ±  2%  -11.08% (p=0.002 n=6)
MemPostings_Delete/refs=10000/readers=1-12    1246.2m ± 2%   241.1m ±  4%  -80.66% (p=0.002 n=6)
MemPostings_Delete/refs=10000/readers=10-12    10.571 ± 3%    1.122 ± 49%  -89.39% (p=0.002 n=6)
geomean                                         1.292        357.2m        -72.34%

I haven't found the reason for such a high variance in some of the new implementation's results.
I only ran memory benchmarks with readers=0, and the results are very similar:
                                           │   main_mem    │                new_mem                │
                                           │     B/op      │     B/op       vs base                │
MemPostings_Delete/refs=1/readers=0-12       28.17Mi ± ∞ ¹   27.65Mi ± ∞ ¹       ~ (p=1.000 n=1) ²
MemPostings_Delete/refs=100/readers=0-12     31.22Mi ± ∞ ¹   30.70Mi ± ∞ ¹       ~ (p=1.000 n=1) ²
MemPostings_Delete/refs=10000/readers=0-12   30.37Mi ± ∞ ¹   29.84Mi ± ∞ ¹       ~ (p=1.000 n=1) ²
geomean                                      29.89Mi         29.37Mi        -1.74%
¹ need >= 6 samples for confidence interval at level 0.95
² need >= 4 samples to detect a difference at alpha level 0.05

                                           │   main_mem   │                new_mem                │
                                           │  allocs/op   │  allocs/op    vs base                 │
MemPostings_Delete/refs=1/readers=0-12       36.000 ± ∞ ¹    8.000 ± ∞ ¹        ~ (p=1.000 n=1) ²
MemPostings_Delete/refs=100/readers=0-12      248.0 ± ∞ ¹    221.0 ± ∞ ¹        ~ (p=1.000 n=1) ²
MemPostings_Delete/refs=10000/readers=0-12   20.18k ± ∞ ¹   20.15k ± ∞ ¹        ~ (p=1.000 n=1) ²
geomean                                       564.7          329.0        -41.74%

I've recently seen a head GC taking 3h on a downstream project, and it looked like a possible lock contention, so I thought it would be interesting to recover this.
I have no idea how I could benchmark it. It looks like it only has impact under pressure.

I've optimized the code further, now locking at most once per label name in the storage, pushed a benchmark and updated the PR description.

FWIW, I ran the benchmark with 1 iteration removing 100k series with 100 concurrent readers: it too 265s on main and 1.7s on this new implementation.

/prombench main

I wonder if the whole operation might be more efficient if we started with the series to be deleted, and collected together each name/value pair affected. I guess it depends on the
relative size of the Postings index and the set of series to be deleted.
But that would be another PR entirely.

Right, I think we can just hook to the call made to seriesLifecycleCallback:
https://github.com/prometheus/prometheus/blob/08621bebe976c683683aa8198303bb000381be57/tsdb/head.go#L1966-L1966
It shouldn't be an issue to split this Delete call into multiple calls.

/prombench cancel


Support for lower versions of python

As of right now the package uses syntax of python 3.10 or bigger. The syntax should be changed to at least support python 3.9. (RaspberryPi's come preinstalled with this version of python)

8ad27cfd51ee3813d9bd238f0c842006bdc984c4 should now support lower versions


Triangle

Made style changes to ruby file.

Nice work.  There are a few comments throughout.  Keep them in mind for future exercises.


mustafah layouts

What are the 367 DRC errors about?  Ok to waive?

Also will there be another YAML file for the other design?


[FEATURE] Pull Schedule Data From OMUN API

Currently, the schedule is hard-coded into the App. This doesn't allow for instantaneous editing if needed.

[ ] Write OMUN API Schedule Data Endpoint
[ ] Pull Schedule Data From OMUN API
[ ] Integrate Schedule Data With Offline Mode Caching #2

Closing issue since we'll just hard-code offline data for the schedule API. Might change in the future, but not required for production build.


Logo

Logo

squircle shape
32-bit color

Sizes

72x72
48x48
96x96
144x144
192x192

Deliverables

.xml export format
.webp of the above sizes

You can use this for .webp conversion: https://convertio.co/image-converter/

Submission
Place inside: (same filenames)
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp      # 192x192
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp         # 72x72
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp       # 144x144
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp         # 48x48
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp        # 96x96
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml    # XML export

720 x 720 original dimensions png compressed into 43kb


throw an exception when using a big value for timeout

The exception should remind about the behavior of setTimeout when the timeout value is greater than 2^31. Related: #1643.
This would be a breaking change, and it should be added on a major version.

I can take this one. Which branch should I use? v3.0.0?

@callumacrae sounds good! :)

Closing since https://github.com/mochajs/mocha/pull/1652 was merged in the 3.0.0 branch. :)


Single model training with all good ground truth

The goal of this issue is to track the training and performance of a single model(s) (instead of fine-tuning).
Steps involved:

Concatenate all the subjects from #25, #35, #38 and #40 into one dataset (will be called data_superset from now on)
Take the default 3d_fullres nnUNetv2 generated plan using nnunetv2_preprocess (here) and train a model. The plan configured by nnUNetv2 is attached below:
nnUNetPlans.json
To reproduce the experiment, run the following command:

nnUNetv2_preprocess -d <DATASET_ID> -c 3d_fullres

Experiment 2: To check if changing the default patch_size configured by the nnunetv2_preprocess affects the model performace
How
Customize the spacing hyperparameter (instructions). Attaching the nnUnetv2 plan for this below:
nnUNetPlans.json
To reproduce the experiment, run the following command:
nnUNetv2_preprocess -d 021 -c 3d_fullres_mod_patch_size -np 1


Evaluate Function sometimes work but sometimes failed

chromedp version - 0.7.6
@ZekeLu thanku so much for helping me, I want to ask one question,
and the question is that, I have been using the Evaluate function, but I have noticed that sometimes it works fine but, sometimes it  throws the error, I don't know what is happening, can you please help me in this
this is my code
func (g *gogoAnimeServer6) Episodes() {
	pageCount := 1
	var noOfPages int
	js := fmt.Sprintf(`document.querySelectorAll('section.content section.content_left div.main_body div.anime_video_body ul#episode_page li a')[%d].click()`, pageCount)
	url := "https://gogoanime.mom/movie/gintama/"

	var innerHtml string
	tasks := chromedp.Tasks{
		chromedp.Navigate(url), //click to get the next set of episodes
		chromedp.Evaluate(js, nil),
		//get the no of pages
		chromedp.Evaluate(`document.querySelectorAll('section.content section.content_left div.main_body div.anime_video_body ul#episode_page li a').length`, &noOfPages),
		chromedp.Sleep(2 * time.Second),
		chromedp.InnerHTML(`div#load_ep ul#episode_related`, &innerHtml),
	}

	//run the tasks
	g.intializeChromeDpContext(func() chromedp.Tasks {
		return tasks
	})

	//check the page cond
	if pageCount+1 == noOfPages {
		fmt.Print("pagination disabled as it reached the threshold")
                return
	}

	//get the doc
	byteData := []byte(innerHtml)
	readerData := bytes.NewReader(byteData)

	//process the html and parse it to the main json value
	doc, err := goquery.NewDocumentFromReader(readerData)
	if err != nil {
		panic(err)
	}

	doc.Find(`li`).Each(func(i int, s *goquery.Selection) {
		navigationUrl := ""
		episodeName := fmt.Sprintf("%s %s %s", "Episode", s.Find(`a`).AttrOr("data-order", "empty"), s.Find(`a div.cate`).Text())

		fmt.Printf("%s\n%s\n", navigationUrl, episodeName)
	})
}

this is the error Iam facing
DAP server listening at: <IP_ADDRESS>:56146
Type 'dlv help' for list of commands.
2021/12/10 12:04:31 exception "Uncaught" (0:124): TypeError: Cannot read properties of undefined (reading 'click')
    at <anonymous>:1:125

but this same code sometimes work perfectly fine, but sometimes it doesn't
I don't know why this is happening, can you please help me in this
Originally posted by @egnimos in https://github.com/chromedp/chromedp/issues/969#issuecomment-990671707

I have been searching, why this issue is happening, but I didn't get any clear reason for this

exception "Uncaught" (0:124): TypeError: Cannot read properties of undefined (reading 'click')

As the error suggests, document.querySelectorAll('section.content section.content_left div.main_body div.anime_video_body ul#episode_page li a')[1] is undefined sometimes. That's because the element is not always exists when chromedp.Evaluate is called. I guess the element is created by JavaScript. You can use chrome.Poll to wait for the element being created (note: the code below is not tested):
	tasks := chromedp.Tasks{
		chromedp.Navigate(url), //click to get the next set of episodes
+		chromedp.Poll("document.querySelectorAll('section.content section.content_left div.main_body div.anime_video_body ul#episode_page li a').length > 0", nil, chromedp.WithPollingMutation()),
		chromedp.Evaluate(js, nil),
		//get the no of pages
		chromedp.Evaluate(`document.querySelectorAll('section.content section.content_left div.main_body div.anime_video_body ul#episode_page li a').length`, &noOfPages),
		chromedp.Sleep(2 * time.Second),
		chromedp.InnerHTML(`div#load_ep ul#episode_related`, &innerHtml),
	}


Adding new broker logging config support

When using default_with_user_address_settings.yaml.jinja2 profile
one can generate customized logging configurations so that
it only generate what the tune file specified, no more no less.
It can facilitate tools that use it to merge new logging config
into broker existing logging.configuration files.
Fixes #
Proposed Changes (What, How, and Why)

@enkeys Hi I'm closing this PR for now as the logging support is not on the plan. Thanks!

@enkeys Hi I'm closing this PR for now as the logging support is not on the plan. Thanks!


Immediately send CodeCov notifications

Apparently CodeCov seems to wait until all CIs have finished:

This is based on a CodeCov issue I found:
https://github.com/codecov/support/issues/312
On the CodeCov side it looks like this:

CircleCi error was:

Root package styles references unknown package libdparse
make: *** [../tools/styles/test_extractor] Error 2

That's unfortunately a rather common DUB error, see e.g. https://github.com/dlang/dub/pull/1104

@wilzbach:

echo 'Unknown command'
Unknown command

exit 1

./circleci.sh has_public_example returned exit code 1

echo 'Unknown command'

Looks like a problem on the CircleCi side (we don't have has_public_example in the circle.yml since a couple of weeks anymore), maybe related to this:

Seems pretty weird in any case ...

Seems pretty weird in any case ...

Argh ok. This is due to https://github.com/dlang/phobos/commit/ffc6ec5d6b5ca81cc4c97cbce4c7874d476898f6 - not sure about a good solution though. We painfully realized that not triggered a hard error on an unknown command isn't smart either (for a couple of weeks the CI didn't ran the commands).
Maybe we can let the dlang-bot rebase PRs automatically (if possible without conflicts).

And now DUB fails in the Jenkins tester:
+ dub test --compiler=dmd gfm:opengl
Building package gfm:opengl in /var/lib/jenkins/dlang_projects/d-gamedev-team/gfm/
Memory allocation failed
script returned exit code 2

This madness needs to stop!

Looks like a problem on the CircleCi side (we don't have has_public_example in the circle.yml since a couple of weeks anymore)

We can try disabling & re-enabling CircleCI. Hopefully that would force CircleCI to reload the circle.yml file, which looks like it too aggressively caches.

And now DUB fails in the Jenkins tester

[...]

Memory allocation failed

CC @MartinNowak
The only robust solution for that is to have fallback CI service run the Jenkins tests.


provide commonjs builds

Description
provide commonjs builds
Why
not everyone is running es modules
Alternatives
N/A

Hi,
I don't think I'll be able to do that because a dependency of this package, file-type, is pure esm since v17.0.0 and it made support for pdf detection better in v18.2.1.
If you wish to use the package in a commonjs program, you could use version 1.5.0, which is the last cjs version of office-text-extractor.
Regards


Refactor the hash_aggregate

hash_aggregate is using compute::take to split the columns into lots of small columns.  This is the main reason why hash_aggregate works slow.  It'll be slower if the indices are more dispersed (more keys).
https://github.com/apache/arrow-datafusion/blob/4ddd2f5e7582ffe662aea27bbb74c58cd0715152/datafusion/src/physical_plan/hash_aggregate.rs#L422-L438

You are right that the current hash aggregate is quite a bit slower in this case than it should be.
There is some work already by @alamb to make the hash aggregate faster for smaller keys and already gives a ~2x speedup on a tougher query.
https://github.com/apache/arrow-datafusion/issues/790
I don't think the slow code is in the code you quoted, the take is only done once for each input array. The slower part just below though works on each new input key + input array and does e.g. slice on it which has a high overhead because of that.
There are some ideas linked in the issue to deal with that.
There are currently also some other parts in the code that are even contributing more to the runtime, such as materializing the end keys/states to an array.

the take is only done once for each input array.

It's done to the entire record batches. Considering the batches are 1024 rows with 3 columns, if the key number is 256,  then there will be 256 small batches after the take. Simd will make no sense in this situation.

materializing the end keys/states to an array.

Yes, this may be a good point to go.

It's done to the entire record batches. Considering the batches are 1024 rows with 3 columns, if the key number is 256, then there will be 256 small batches after the take, each batch is about 4 rows. Simd will make no sense in this situation.

Yes, but not in the code you linked. There the take is done once for the arrays in aggr_input_values, regardless of how many distinct keys we have in the batch. The take only rearranges the data to be in the same order as the keys but does it for only once for each input array for the aggregate expression values (not even the entire batch).
In other places, yes, operations like Array::slice are done for each key that occurred which starts to become inefficient when having a lot of small groups in the batch and also show up in profiles.

FWIW I believe @jhorstmann  also had some thoughts in this area (aka on the use of take vs some other ways to speed up the distinct calculation) in https://github.com/apache/arrow-datafusion/issues/790#issuecomment-888591358 which may be related to this conversation

If I'm reading the code correctly, this specific reference to code no longer exists.

Closing this. Thanks @drauschenbach.


adding new documentation md file: Accessing and decrypting Beiwe data

I created a new documentation MD file titled "Accessing and decrypting Beiwe data stored on Amazon S3".
I believe it should fall under "MISC" category on the documentation website https://forest.beiwe.org/en/latest/; it is unclear to me if I should have explicitly specified something within this MD file in order to make it fall under "MISC" -- @hackdna please advise. Thank you!
I'd appreciate a content review from @biblicabeebli . Primarily, I hope to have checked if I am correctly using the wording of what we are doing (e.g., "reading in").

This is great.
I am seeing that there is a file path that includes your computer username, we should replace /Users/martakaras/Documents/... with ~/Documents/...
We should add this example IAM policy to the directions - in principle this should be a full set of directions for non-Onnela Lab Beiwe instances, but we can expect a reasonable level of general system administration competence.  Providing the policy should be enough.
In the AWS Online Console go to the IAM service and create a new policy that you can assign to an AWS user to grant them access to the S3 bucket and objects.  The example below contains both participant-specific and study-specific example lines, clean up and delete trailing commas as appropriate.  (Note that AWS has a 6,144 character limit on policy JSON length, if you are doing participant-based restriction you may need to split this up across several policies.)
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::NAME_OF_YOUR_BEIWE_S3_BUCKET",
                "arn:aws:s3:::NAME_OF_YOUR_BEIWE_S3_BUCKET/STUDY_ID*",
                "arn:aws:s3:::NAME_OF_YOUR_BEIWE_S3_BUCKET/CHUNKED_DATA/STUDY_ID*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::NAME_OF_YOUR_BEIWE_S3_BUCKET",
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "STUDY_ID*",
                        "CHUNKED_DATA/STUDY_ID*"
                    ]
                }
            }
        }
    ]
}

And we should add links to the documentation for the boto3 library, we make use of GetObject and ListObjectsV2, can you find a good spot to insert these?
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.list_objects_v2
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.get_object
After that just ping me and I'll approve the pull request.

Thanks, @biblicabeebli !
I updated per your suggestions. I wasn't 100% clear if you were suggesting to add "Granting access to Amazon S3 bucket" section to this doc page, but I did.

@martakarass you can add aws_s3.md to the Misc section of index.md: https://github.com/onnela-lab/forest/blob/develop/docs/source/index.md?plain=1#L23

@hackdna I added add aws_s3.md to the Misc section of index.md, thanks!

looks good to me....


Batch - remove potential race condition

The initial ordering of the attribute declaration:
job_state = FAILED
job_stopped = True

Which lead to the race condition like this:
!  No-op, as the jobs are still running
# job_state = FAILED
! job = describe_jobs()
! job.status == FAILED
! job.container != None
@@ FAIL -  job.container is only set if the `job_stopped`-attribute is True @@
# job_stopped = True

Switching the ordering of the attribute declaration should solve this.

FYI @bpandola

Codecov Report

Merging #3965 (74dabd8) into master (3265e89) will not change coverage.
The diff coverage is 85.71%.

@@           Coverage Diff           @@
##           master    #3965   +/-   ##
=======================================
  Coverage   94.88%   94.88%
=======================================
  Files         454      454
  Lines       49498    49498
=======================================
  Hits        46967    46967
  Misses       2531     2531

Flag
Coverage Δ

servertests
55.70% <14.28%> (+<0.01%)
:arrow_up:

unittests
94.75% <85.71%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/batch/models.py
85.62% <85.71%> (ø)

Continue to review full report at Codecov.

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


On Using maybePop(). I'm getting this error. Can anyone help?

type 'MaterialPageRoute' is not a subtype of type 'Route' where
MaterialPageRoute is from package:flutter/src/material/page.dart
Route is from package:flutter/src/widgets/navigator.dart
String is from dart:core
#0      NavigatorState.maybePop (package:flutter/src/widgets/navigator.dart:1643:37)

#1      SignUpState.build. (package:ecommerce_pro/screens/SignUp/index.dart:47:39)
#2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:478:14)
#3      _InkResponseState.build. (package:flutter/src/material/ink_well.dart:530:30)
#4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
#5      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
#6      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:94:7)
#7      PrimaryPointerGestureRecognizer.handleEve<…>

What's the output of flutter doctor -v

[✓] Flutter (Channel beta, v0.2.3, on Mac OS X 10.13.4 17E199, locale en-IN)
• Flutter version 0.2.3 at /Users/sahusoft/Sites/projects/flutter
• Framework revision 5a58b36e36 (4 weeks ago), 2018-03-13 13:20:13 -0700
• Engine revision e61bb9ac3a
• Dart version 2.0.0-dev.35.flutter-290c576264
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /Users/sahusoft/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
• Xcode at /Users/sahusoft/Downloads/Xcode.app/Contents/Developer
• Xcode 9.2, Build version 9C40b
• ios-deploy 1.9.2
• CocoaPods version 1.3.1
[✓] Android Studio (version 3.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
[✓] IntelliJ IDEA Community Edition (version 2017.3.4)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 21.2.3
• Dart plugin version 173.4548.30
[✓] Connected devices (1 available)
• iPhone X • E6EF78DA-77F4-44FC-8262-B8760FBE5153 • ios • iOS 11.2 (simulator)

Do you have relative imports in your lib/main.dart? (where the path doesn't start with 'package:...')

Can you show package:ecommerce_pro/screens/SignUp/index.dart ?


[Event Request] Maybe...not 100% sure...

To migrate a NAV add-on to an app/extension...
Our product has a scenario where we need to bypass the "CheckSalesDocNoIsNotUsed" and "CheckPurchDocNoIsNotUsed" functions in codeunit 11.  In our product we added a field to the Gen. Journal Line table for this purpose - "Bypass Doc. No Check" (boolean) and then modified the logic in codeunit 11 to bypass those checks whenever this field is TRUE.  Somehow i need to be able to do the same thing in an extension.

You are asking for a event with a parameter. In your extension you can create the field in the table and then using the event you can modify the behaviour of the codeunit 11 using this parameter and the created field. Lot of events have been requested here with that idea.

Sounds good - that should work.

We already have function in COD80 and CODD90 to skip check (although I think you need to check document before you post somehow):
[External] SetSkipCheckReleaseRestrictions()
SkipCheckReleaseRestrictions := TRUE;

Hi Alexander -
Our add-on has processes where it posts directly to customer and vendor accounts without going through codeunits 80 / 90, so we need a way to bypass this check directly in codeunit 11.

Hi everyone ,
Any Idea on How to bypass the CheckPurchaseReleaseRestrictions?
I want to be able to change the boolean variable (SkipCheckReleaseRestrictions)  before the function.
OnBeforeReleasePurchaseDoc(PurchaseHeader,PreviewMode);
IF NOT (PreviewMode OR SkipCheckReleaseRestrictions) THEN
CheckPurchaseReleaseRestrictions;
Thanks