Wepack todo list: Final deployable branch

This branch contains every required function, because I was having issues with my initial perspective of the project I therefore started with a new perspective and personalization on this branch. This will be my live demo branch as it is working perfectly, though features might be added in future😎

I tried fixing the webhint error for about 12 straight hours but I couldn't until I contacted a fellow student "Fombi Favour" who confirmed to me that the issue is general and that every other students have their projects approved because the webhint error is a general issue. Please kindly confirm this from the Microverse team or other students if needed.

Please note that my project is in the dist folder and not in the src folder. Kindly view the right source. Thank you
-[x] Here is a picture showing the right folder to check for this project

[x] Here is a test result for this project in the dist folder

Thank you for your time to checkout my and review my project😎


add test for time-varying Hamiltonian

lindblad_solve and sesolve are implemented for time-varying Hamiltonians, but they are never tested with actual time-dependent Hamiltonians.

Not relevant anymore since the solvers have been removed


It's easy to fetch all search results accidentally with real_search.

Currently passing start=None to real_search causes it to ignore rows and just return all search results (which will often time out).

Anyway, I'll leave this decision to you. :+1: other than that.

Tx. While this PR was open @rudigiesler fixed the contacts api in https://github.com/praekelt/go-contacts-api/commit/cd9b78f3121fbafcff34d7420f5140a5cb0b3339 but it doesn't appear to have helped in practice. I'd like to understand better what's going on before landing this (in case something more needs to change).


FindAndModify + upsert

I know there is the current discussion going on about findOrCreateEach (
https://github.com/balderdashy/waterline/issues/931) so it might not have been the wisest choice to add a findAndModifyEach but I needed a findAndModify functionality (see http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/) and it seemed like a good solution to put it such a way that other people can use it as well.
Usage is Model.findAndModify(search critieras, values, [options, cb]);
where-as default options look like that:
{
  upsert: false, // on true automatically inserts the values if nothing is found
  new: true, // if false returns the model before it was updated/created
  mergeArrays: false // quite a special case that I needed and I am still testing in my app. When any of the values given contain an array it is merged to the found object rather than just replaced.
}

I added passing unit tests as well as adapter-tests, see https://github.com/balderdashy/waterline-adapter-tests/pull/47
There is something strange going on, even though the findAndModify passes the unit tests and works  in my app (via npm i git+https://github.com/Globegitter/waterline.git#findAndModify) the adapter-tests do not pass and throw the same error throughout:
9) Semantic Interface .findAndModfiy() should return a model instance:
     TypeError: undefined is not a function
      at Context.<anonymous> (Git/waterline/node_modules/waterline-adapter-tests/interfaces/semantic/findAndModify.test.js:73:20)
      at Test.Runnable.run (Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runnable.js:194:15)
      at Runner.runTest (Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runner.js:355:10)
      at Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runner.js:401:12
      at next (Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runner.js:281:14)
      at Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runner.js:290:7
      at next (Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runner.js:234:23)
      at Immediate._onImmediate (Git/waterline/node_modules/waterline-adapter-tests/node_modules/mocha/lib/runner.js:258:5)
      at processImmediate [as _immediateCallback] (timers.js:361:17)

I have no idea why this happens or how to fix this. So apart from if this actually gets merged, anyone got any idea of why that could be?
Also it does not work completely in my app via sails-postgresql, I seem to be getting this error. I am not sure if that is related to my code or to sails-postgresql.
db_1     | ERROR:  syntax error at or near "LIMIT" at character 140
db_1     | STATEMENT:  UPDATE "subject" AS "subject" SET "researchIds" = $1, "text" = $2, "createdAt" = $3, "updatedAt" = $4  WHERE LOWER("subject"."text") = $5  LIMIT 1 RETURNING *

@Globegitter, I think the chances of this being merged to master are slim, you will probably get a more favourable audience if you PR this against 0.11 branch (still depending on the outcome of balderdashy/waterline#931). The idea is that 0.10.x is being used to fix bugs and new features are to be added to 0.11.

Ok will do.


Update event-subscription-template.yaml: Attribute startsAt set optional, info and servers object, sinkCredential description

What type of PR is this?

correction

What this PR does / why we need it:
Attribute startsAt is optional in API Design Guidelines, so it should be in event subscription template file .
Corrections made in info and servers object according to API Design Guidelines.
In SubscriptionRequest description moved to SinkCredential schema; as it is generic enough to be reused in the 2 $ref to this schema, and the allOf above removed.
Which issue(s) this PR fixes:

Fixes #262 #271
Special notes for reviewers:
Changelog input
Attribute startsAt set optional, info and servers object corrected in event-subscription-template.yaml

@rartych initial comment. It is also needed to update https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#121-subscription

Suggestion:
"Date when the event subscription has started. This attribute must not be present in the POST request as it is provided by API server. It ONLY must be present in GET endpoints once the subscription is effectively operative/working."
CLARIFICATION about my comment: Avoiding the use of "ACTIVE" status wording as in MetaRelease v0.4 the umplementation of STATUS is optional

As Cloudevents Subscriptions OpenAPI was used for the template, it defines 2 components: SubscriptionRequest for  POST request and Subscription present only in responses. API Design Guidelines - as you indicated - should be corrected, but I would prefer to do it with the final release, and possibly split the table into 2 tables for request and response parameters in the next version of Commonalities. It would be good to have the input from @bigludo7 for that.
My initial proposal for attribute description:
"Date when the event subscription has started. This attribute must be present in the response when subscription creation process is completed"
The rationale for changing startsAt to optional in Subscription component is the asynchronous subscription creation , when its starting moment is not known yet (#262). It should be decided by subprojects if the asynchronous case is covered by the API.

Line 453: Spectral warning, " Event-typeNotification should be pascal case (UpperCamelCase)"

As Cloudevents Subscriptions OpenAPI was used for the template, it defines 2 components: SubscriptionRequest for POST request and Subscription present only in responses. API Design Guidelines - as you indicated - should be corrected, but I would prefer to do it with the final release, and possibly split the table into 2 tables for request and response parameters in the next version of Commonalities. It would be good to have the input from @bigludo7 for that. My initial proposal for attribute description: "Date when the event subscription has started. This attribute must be present in the response when subscription creation process is completed"
The rationale for changing startsAt to optional in Subscription component is the asynchronous subscription creation , when its starting moment is not known yet (#262). It should be decided by subprojects if the asynchronous case is covered by the API.

It is fine to wait to Ludovic for the API design guidelines, and fine to have for final Commonalities Release v0.4.0.
Indeed i like more your proposal Rafal for the wording:

"Date when the event subscription has started. This attribute must be present in the response when subscription creation process is completed"

Line 453: Spectral warning, "Event-typeNotification should be pascal case (UpperCamelCase)"

Corrected by https://github.com/rartych/Commonalities/commit/52d754e3f9e938679eef69e8affd431e50610e68

Merging this PR as having 2 approvals an Patrice is on holidays.
Let's followUp this comment by Kevin within #243


Update the logged out status bar item with more obvious CTA

Updates the Cody status bar button to have the text "Sign in to Cody" when not logged in.
PRD
Asana task
Before:
https://github.com/sourcegraph/cody/assets/153/a413dfd0-4ad2-4eec-9549-99a17551511e
After:
https://github.com/sourcegraph/cody/assets/153/8d2214f8-1582-4801-b73a-25b4c4cc6451
Events added:

CodyVSCodeExtension:signInNotification:shown
CodyVSCodeExtension:signInNotification:signIn:clicked
CodyVSCodeExtension:signInNotification:doNotShow:clicked
CodyVSCodeExtension:statusBarIcon:clicked, { loggedIn: boolean }

Test plan

CI
Test logged out & logging in
Test logged in

Yep we can update the copy, and I can make it just focus the sidebar.
It does mean the settings quickpick items (links to support/docs) will only be accessible if you’re logged in. I think that’s fine, but just wanted to call it out.

It does mean the settings quickpick items (links to support/docs) will only be accessible if you’re logged in. I think that’s fine, but just wanted to call it out.

Yes that's right. Most of the information here is only relevant to logged in users, and if users want to look for docs they can go to Google.

This PR is ready to go.
@kelsey-brown the final events we ended up logging are slightly different to the Google Doc:

CodyVSCodeExtension:signInNotification:shown
CodyVSCodeExtension:signInNotification:signIn:clicked
CodyVSCodeExtension:signInNotification:doNotShow:clicked
CodyVSCodeExtension:statusBarIcon:clicked, { loggedIn: boolean }

Are these okay? In particular I'm wondering if the loggedIn properly on statusBarIcon clicked can be used to identify people clicking the status bar when loggedIn == false.

@toolmantim is CodyVSCodeExtension:signInNotification:shown the enrollment event then?

In particular I'm wondering if the loggedIn properly on statusBarIcon clicked can be used to identify people clicking the status bar when loggedIn == false.

Yes, if this is logged with the metadata on the event we can filter/pivot clicks by loggedIn = true / loggedIn = false

Thanks @kelsey-brown. Yep, that should work as the enrollment event. Though this isn't running as an experiment in the code at all (I've never done that before)

@sqs I didn't want to confuse it with an Microsoft/GH login button. Are you thinking it's a bad experience for the person that just installed it, or for the person that keeps it installed but doesn't login and wants to ignore it for now (and we don't want them to uninstall)?

@sqs I didn't want to confuse it with a Microsoft/GH login button. Are you thinking it's a bad experience for the person that just installed it, or for the person that keeps it installed but doesn't login and wants to ignore it for now (and we don't want them to uninstall)?

Both. And I just have a negative reaction to anything that takes up a lot of space in my status bar. Can you check with a few other devs on the team for their kneejerk reaction? If I'm the only one, then feel free to disregard.

First impressions matter! Will straw poll.

I've updated the label to be "Sign In" so we can unblock this and get it out


D455 Device or resource busy

Required Info

Camera Model
{ D455 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{ Linux (Ubuntu 18)}

Kernel Version (Linux Only)
(5.4.0)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C# }

Segment
{Robot/Smartphone/VR/AR/others }

hello!My computer tells me that
"RealSense error calling rs2_pipeline_start_with_config(pipe:0x563063287e60, config:0x56306320b190):
xioctl(VIDIOC_S_FMT) failed Last Error: device or resource busy."
I know there is an issue like this,but my realsense is  built from source code and I can not understand the solution you have provided.Can you kindly help me?

Hi @kongxin22  The error xioctl(VIDIOC_S_FMT) failed suggests that it is a kernel related problem.  Would it be possible for you to build the RealSense SDK from source code using the RSUSB backend method, please?  This install method is not dependent on Linux versions or kernel versions and does not require patching, so it can be helpful in situations where there is a possible conflict with the Linux OS or the kernel.  When building from source code, RSUSB mode can be enabled by including the CMake build term -DFORCE_RSUSB_BACKEND=ON

Hi @kongxin22  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Add a params v3 page to the specs

          Overall LGTM. We'll also need to add a params v3 page to the specs and mark the params: `blob.GasPerBlobByte` and `auth.TxSizeCostPerByte` as non governance modifiable on that page.

Ref: https://github.com/celestiaorg/celestia-app/blob/main/specs/src/specs/parameters_v2.md
Originally posted by @rootulp in https://github.com/celestiaorg/celestia-app/pull/3735#pullrequestreview-2221789398

The parameters v3 page isn't visible on https://celestiaorg.github.io/celestia-app/parameters.html. We need to add it to:

https://github.com/celestiaorg/celestia-app/blob/983385a1abe2361fb7f4a78fdaf86bda8ae9af18/specs/src/SUMMARY.md?plain=1#L24-L26
https://github.com/celestiaorg/celestia-app/blob/983385a1abe2361fb7f4a78fdaf86bda8ae9af18/specs/src/parameters.md?plain=1#L5-L6


Kotlin 1.1.2-3 support?

Hello,
could kotlintest be updated to the newest kotlin version?
http://mvnrepository.com/artifact/io.kotlintest/kotlintest/2.0.1

Released as 2.0.2


add action to send special chars.

this is a reference page for this feature.
When implement this action, think about how to implement a multi keys action

could I use java robot class to implement these actions?
Furthermore, how can I write XML file to record these  actions?

What is java robot class?
On 05/27/2015 10:41 PM, ericlu312 wrote:

could I use java robot class to implement these actions?
Furthermore, how can I write XML file to record these actions?
—
Reply to this email directly or view it on GitHub
https://github.com/bigtester/automation-test-engine/issues/149#issuecomment-106152439.

Java.awt.Robot class is used to take the control of mouse and keyboard. Once you get the control, you can do any type of operation related to mouse and keyboard through your java code. This class is used generally for test automation.
I found a link which describe the actions in selenium webdriver
http://www.ibm.com/developerworks/cn/java/j-lo-keyboard/

oops, I thought that I have put this link here when I created the issue, this link does tell how to implement this feature. let me know if you still have question.
http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/Keys.html

Design of fix for this issue,

ATE will add a new action named 'typeSpecialKeysAction' with parameter firstKey (mandatory), secondKey (optional), thirdKey (optional), fourthKey(optional)
each parameter has limited value to select in xml script
parameters could be combined sent to the web page if multiple keys given by the user
implementation will invoke webdriver sendkeys api to send above special keys, either single one special key or combined ones.


[RFC] Quadlet Management Improvements

So far we've been managing Quadlets in a less-than-ideal way - defining them inline inside a Just script.
This can certainly be improved upon.  We are facing issues where the syntax could be incorrect, the scripts are becoming overly complicated and overall both the UX and DX aren't great at all.
I can think of a few options we have to improve these.  I will try and detail them all below.
Option 1: Keep everything as-is
This needs to be an option.
Option 2: Move all Quadlets to a central GitHub repo
Keep a centralised library of Quadlets (such as the containers/appstore project) and create a ujust script that picks and chooses the respective quadlet when the user requests it.
Any logic which selects a quadlet type (i.e. CUDA/ROCM) will be done inside the ujust script.
This solves some of the challenges since we can validate the syntax is correct in CI, and developers are just writing the plain old Quadlet definitions.  No bash hackery.
Option 3: Hardcode Quadlets into the images
Store the Quadlets in a readonly location inside the image, and configure ujust to invoke (i.e. systemctl start) the respective quadlet.
Maintenance here is slightly easier since quadlets on each system will be identical, and updates handled through the regular OS updates.
Any logic which selects a quadlet type (i.e. CUDA/ROCM) will be done inside the ujust script.
This solves the same issues as Option 2 in a simpler way, although people may complain that they have quadlets they don't want.

Personally, I like the sound of option 2 - and we can provide a single Just script that iterates over the Quadlets, allowing the user to select the one they wanted.  Although we would need to try and handle updates.

I love option 2 as well.
 Ideally it'd be great to just help them build out a collection.
This would be slower but if we hosted them ourselves but IMO if we shake out the quadlets first before submitting them then it'd be a good virtuous circle. We can probably do a better job encouraging people to submit to the podman repo anyway.

Strongly in favor of 2. 3 is basically what we are doing with the ubuntu/fedora distroboxes and it definitely isn't the method I would go with now.
For 2. We can use ublue-os/toolboxes. We've started branching into having apps (though admittely under a distrobox consumption model). Going upstream would be nice for spreading the good ideas.


IDL data type convert [14510]

Is there an already existing issue for this?

[X] I have searched the existing issues

Expected behavior
I try to create a data type with IDL
IDL code:
struct AME_DDS
{
    map<string, string> status;
};

shell code:
fastddsgen -python AME_DDS.idl
export LD_LIBRARY_PATH=~/Fast-DDS-python/install/lib
echo 'export LD_LIBRARY_PATH=~/Fast-DDS-python/install/lib' >> ~/.bashrc
cmake . -DCMAKE_PREFIX_PATH=~/Fast-DDS/install（/lib）
make

it's supposed to be ok cause document said that Fast DDS-Gen supports maps and only Primitive types are supported. String is one of the Primitive types.
Other common data types are running normally.
Current behavior
when i do 'make' command , there is error:
[ 66%] Swig compile AME_DDS.i for python
/home/gch/Fast-DDS/install/include/fastdds/dds/core/LoanableTypedCollection.hpp:68: Warning 389: operator[] ignored (consider using %extend)
/home/gch/Fast-DDS/install/include/fastdds/dds/core/LoanableTypedCollection.hpp:93: Warning 389: operator[] ignored (consider using %extend)
/home/gch/gch/web_project/AME_DDS/AME_DDS.i:83: Error: Syntax error in input(1).
CMakeFiles/AME_DDSWrapper_swig_compilation.dir/build.make:73: recipe for target 'CMakeFiles/AME_DDSWrapper.dir/AME_DDSPYTHON.stamp' failed
make[2]: *** [CMakeFiles/AME_DDSWrapper.dir/AME_DDSPYTHON.stamp] Error 1
make[2]: *** 正在删除文件“CMakeFiles/AME_DDSWrapper.dir/AME_DDSPYTHON.stamp”
CMakeFiles/Makefile2:139: recipe for target 'CMakeFiles/AME_DDSWrapper_swig_compilation.dir/all' failed
make[1]: *** [CMakeFiles/AME_DDSWrapper_swig_compilation.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

Steps to reproduce
mentioned above
Fast DDS version/commit
linux installation from sources
Platform/Architecture
Other. Please specify in Additional context section.
Transport layer
TCPv4
Additional context
Ubuntu 18.04.6 LTS
PyCharm
XML configuration file
No response
Relevant log output
No response
Network traffic capture
No response

Hi @Xuezha-Guo,
I have moved the issue to the proper repository. You are correct saying that Fast DDS-Gen supports primitive types for maps and that this case should be supported for the generation of the Python bindings. We will try to allocate some time to fix this issue.
Thanks for your contribution!

thank you very much！
looking forward to your fix.

https://github.com/eProsima/Fast-DDS-Gen/issues/137 An almost identical phenomenon, which can be used as a supplement.

@duchengyao
Fast DDS-Gen latest release, v3.0.0, fixes the issue reported in this ticket. Can you check and, if confirmed, close the issue? Thanks!


Fixed missing path.

The path /etc/nginx/conf.d.disabled used for mv is missing by default.

mv -v /etc/nginx/conf.d /etc/nginx/conf.d.disabled
It's moving directory, not it's content - you shouldn't create it beforehand.

Sorry, probably my bad.


tests: ExecuteRunWeb: update expected SIGTERM exit code on mono.

Adjust the expected exit code of the WebScenarioTests smoke test so it passes on Mono.
With this change, all smoke tests pass on mono.
https://github.com/dotnet/sdk/issues/30095 tracks fixing Mono so the exit code is the same value as CoreCLR.
cc @crummel @MichaelSimons @omajid @uweigand

@tmds - The VMR is readonly in the .NET 8 timeframe.  It is not until .NET 9.0 that we will support edits and mirroring them back to the product repos.  This is documented here.  This PR needs to be opened against installer.  The source-build infra exists at https://github.com/dotnet/installer/tree/main/src/SourceBuild/content.

Replaced by https://github.com/dotnet/installer/pull/15341.


Pause activity recording in popup. Closes #52

Added new pause recording button/entry to popup. Works via communication from the popup script to the background script to toggle the pause state for a number of minutes. User can interrupt a pause at anytime.
System/browser notifications enabled for:

user starts pause timeout (auto disappear)
recording started again, either via interrupt or timeout finished (stay visible until user interacts)

Gif of it working that annoyingly cuts out half way through
TODO:

[X] properly test it; confirm all the different states and possible ways it can change
[X] popup height now too long; fix up styles
[ ] look into seeing how possible it would be to get a countdown/time-left state; not possible with plain event loop timeouts without changing somehow
[x] see if there's a better place for the actual activity-logger module to check pause state
[X] infinite pause

ideas:

might as well add a flag to the new preferences for a user to be able to disable all extension notifications; could get annoying if they use pause feature regularly

Wow, that works greatly!
The feeling of using it is like:

A few things that might improve the experience:

Switching out the icon when in pause mode (using a placeholder for now, will think about a good icon)
using a different color for the pause icon than the other icons in the popup, so it is clear that it is activatable.
I think it is ok to leave the notifications, so that it is really clear that (de)activation worked. If people give us the feedback, we can reconsider (or having it as a beginner task for later). Do you deem it to be really important atm?
Great idea to have an infinite mode 👍. Maybe just using the ∞ symbol in the list? If we use the infinite mode, we may consider reminding the user that the extension is pausing in infinite mode currently. Maybe sending a notification every 2 hours? I would be the first one to forget it being put on hold. :smile:
Regrouping the list elements in the popup

Pause Recording
Quick Blacklist
Archiving Page
horizontal Separator
Setting
Import
Feedback

Switching out the icon when in pause mode (using a placeholder for now, will think about a good icon)
Here's the icon set we're currently using.

Reordered the popup now and gave the play/pause buttons different colours with hover states to try and indicate their difference. Open to other suggestions. Got the infinite option working nicely now as well.
Regarding the time count: At this stage it seems very difficult/time-consuming to do. There would need to be an actual countdown somewhere, or something that tricks the user into thinking it's counting (like only when they click the popup). And getting it in-sync with the actual pause that is happening is difficult. The pause that happens is roughly the # of mins a user specifies. i.e., 25 mins may be 25.1 mins or 25.2342 mins, it all depends what happens in the browser in that time, and there's no way to tell how much time is actually left. So we might be able to calculate roughly the remaining time and simulate a countdown in UI, but the countdown won't be accurate. Can look more into later, but I think better to focus on other features for now?
Regarding notifications, I really don't like the idea of reminding users that the extension is on infinite pause. As I user, if I was sent reminder notifications and had no way to turn them off, I'd consider that a bit of an abuse of notifications feature and just a general PITA. There are many reasons a user might still want the extension enabled in their browser but not record anything, and at the same time not needing to be notified that it's paused (the intention is good, but I can see many grumpy users).
And thinking about it, the notification that comes up when you click pause is basically only saying "yes, your click worked", but that should already be evident via the UI change. I think it's unnecessary. See what you think. In general, I really think it's important that system notifications are not overused, or you end up like all those apps that spam you and your users won't take notice, or just delete your app (Chrome doesn't seem to have a built-in "disable notifs for this app/ext" like mobile OS's do).
Though I really like the use of notifications with the old data conversion and when the pausing finishes: they're purposeful and present the user with important info that they wouldn't know otherwise.

regarding the time count: At this stage it seems very difficult/time-consuming to do

Lets skip it then

And thinking about it, the notification that comes up when you click pause is basically only saying "yes, your click worked",

I think we can remove that actually, you are right.

Regarding notifications, I really don't like the idea of reminding users that the extension is on infinite pause.

Even if it just every 2 hours with a popup that automatically goes away again?
IMO, we either overcommunicate and not have a user by accident have their extension disabled for a few days. Later we can add the ability to disable notifications anyhow.
Good time to ask what the others think. @JessicaML @V-Ho @arpitgogia @treora @reficul31 @obsidianart @danerl @sanjo

Here's the icon set we're currently using.

Thanks for sending, great to look through for icon improvements! Thanks!
I was talking about the icon in the menu bar though, where you click on the 'W' icon.
Its actually time we replace that anyhow.
I played around with a few designs for icons and think these ones are the most visible:
Standard icon:

When paused:

Not sure if we can replace the icon, but there is be the ability to add a callout to the icon: https://stackoverflow.com/questions/5759130/google-chrome-extension-numbers-on-the-icon
Here is also the Unicode version of the pause icon: http://www.fileformat.info/info/unicode/char/23f8/index.htm
We might be able to use this instead of the required text.
In any case you need to add a few lines to the Manifest, similar to this.
"icons": { "16": "images/icon128.png",
           "48": "images/icon128.png",
          "128": "images/icon128.png" },

And if you are already tinkering with the manifest, here is another change:
"browser_action": {
        "default_title": "WorldBrain WebMemex",
        "default_popup": "./popup/popup.html"

    },

@oliversauter Just brought in those new icons and the switching logic between them when user pauses (or a pause finishes automatically). Seems to work alright. Should also take into account infinite pause when the browser is closed and opened again; it will display the unpaused icon for a few seconds while the browser first loads (as it is default) until it realises it's in paused state and swaps them.

Awesome! Looking good and working fine!
Also see now as well, that we might show too many notifications in the process.
However, If you are fine with that, lets merge and work on reducing the notifications later.


Fix cubic spline

Fix detection of consecutive segments. Previously segments were detected incorrectly, all NaN  points were just ignored.
Make tension consistent with a common definition.

@swharden I wonder if introducing the new way of indexing arrays is OK with you.

Great fixes @drolevar, thanks so much!
Regarding the array code, I'm happy to include files like this to add modern language support to the older platforms we target as long as we keep the special features internal.
Can you clarify where you obtained Index.cs? The file in this PR is a bit different than the one I found in the dotnet runtime repo https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/Index.cs

@swharden I got it from here: https://github.com/bgrainger/IndexRange
It's available as a Nuget package, but that would make it an extra dependency. The code gets anyway optimized out in release builds.

It's available as a Nuget package, but that would make it an extra dependency. The code gets anyway optimized out in release builds.

Thanks for the clarification! I found a newer version of the file from an "official" source so I feel a little better about using that one. Either way, these little compiler niceties are great to have in the code base -- thanks!

@swharden That new file doesn't have the necessary ##if guards for the newer versions, which leads to a lot of warnings.

Thanks for pointing that out @drolevar! If I'd implemented #3442 by now, I'd have caught that 😅
I'll mark #3442 high priory and both issues later today 👍


[Deployment/Documentation] Improves deployment documentation on Heroku

Context
I recently did a test deploy of the backstage deploy on Heroku but I realized that using the commands listed in the documentation I didn't have an expected success :(
I had to add some more commands to be able to build and publish the backstage image and add some settings in app-config.yaml.
Some examples of the problems I had.
The heroku stack:set container -a <app-name> command expects a heroku project to have already been created.
The heroku containe:push web -a <app-name> command also expects you to have a Dockerfile at the root and suffix with the dyno type.
I would like to contribute and improve the experience because I believe that Heroku can be a great experience to run the Backstage "online" 😉
Documentation Suggestion
So my suggestion is:

Add additional Heroku commands to create a project and commands to build and publish the docker image.

Show a suggestion to update app-config.yaml in order to receive the necessary settings from Heroku. (app/backend.baseUrl and list.port)

I believe there must also be some cool suggestions because I could see that the demo also has Heroku settings.

Unfortunately, I also have trouble connecting to the Heroku Postgres DB.
Can this point also be taken into the enhancement?

I still haven't done a test on heroku using the postgres add-on but I can try to simulate it in the environment that I did the other tests. The test I did was using SQLite.
We can add this improvement as well a different issues maybe.
I'll run the tests and see if I can contribute too. 😉

Closing as #9318 is merged! :tada:


[eas-cli] Fix rollout-preview ending with republish with code signing

Why
Code signing info must be provided to republish updates that were previously signed.
How
Add private-key-path arg to command, require it when using signed updates and the user chooses to end by republishing.
Test Plan
Create app locally, add code signing, set up to build locally, build in xcode with release scheme.
$ neas channel:rollout-preview --private-key-path keys/private-key.pem

✨ This command is in Developer Preview and has not been released to production yet

✔ What would you like to do? › Manage an existing rollout

🚀 Rollout:
Channel          main
Runtime Version  1.0.0
Branches         wooooo (100%), main (0%)

✔ What would you like to do? › End
✔ Which Update Group would you like to serve? › 🍽  Served by branch wooooo (100%)
    Message          "Initial commit

    Generated by create-expo-app 2.0.3." (32 minutes ago by wschurman)
    Runtime Version  1.0.0
    Platforms        android, ios
    Group ID         bd8a520c-7299-4e57-9268-350294064474

🍽  The Update Group you chose is served by branch wooooo

Ending the rollout will do the following:
1.  🔁 Republish the Update Group from wooooo onto main
2.  ⬅  Route all users back to main
✔ Continue? … yes
✔ The republished update will be signed
🔒 Signing republished update
✔ Republished update

Branch             main
Runtime version    1.0.0
Platform           android, ios
Update Group ID    f9dd2abc-edf8-49c3-b770-a1fdcd0aacc4
Android update ID  a5712201-ab50-467c-a68d-59a5b2dc125f
iOS update ID      a83fd501-da7f-40d9-a248-bd5ac7867ba5
Message            Republish "Initial commit

Generated by create-expo-app 2.0.3." - group: bd8a520c-7299-4e57-9268-350294064474
Website link       https://expo.dev/accounts/wschurman/projects/watwathuh/updates/f9dd2abc-edf8-49c3-b770-a1fdcd0aacc4

🚗 Routed all traffic back to branch main
✅ Successfully ended rollout

/changelog-entry bug-fix Fix rollout-preview ending with republish with code signing


Allow the user to insert custom metadata?

Something like

fig, ax = plt.subplots()
...

Store("root").insert("my_plot", fig, custom_metadata={"description": "this is a plot showing things"})

A possible workaround right now is to pair an item with an altername key suffixed with e.g. _metadata and store a primitive dictionary.
For example:
project.put("myplot", plot)
project.put("myplot_metadata", { "notes": "It was fun to generate this plot." })


fix(versions): update Activiti/activiti-cloud-example-chart versions into master

UpdateBot pushed helm dependency: application to: 0.0.177

UpdateBot commands:
updatebot push-version --kind helm application 0.0.177


Modify cite element to use a variable for the pseudo content

Adds an override variable to specify the cite element's pseudo ::before content.
This pull request resolves #8845
There is also an older pull request of this change in #8860

I like this idea. 👍

@kball can you kick Travis? No reason this PR should cause a failure.

@andycochran kicked into gear


Describe the feature
I intend to develop a component for AI chat situations.
I have developed an basic version in https://github.com/aquarius-wing/radix-vue/tree/feat-ai-chat.
Additional information

[X] I intend to submit a PR for this feature.
[X] I have already implemented and/or tested this feature.

Hey @aquarius-wing .. Can you share more about this component? By first impression this is something custom and relatively straightforward, and it doesn't help dev solves the accessibility concern.

Thanks for the suggestion @aquarius-wing .. However this component doesn't really fit in the project.. Thus will be closing this.


Updated fh-wfm-signature

Bump fh-wfm-signature version

LGTM

Closing as the release process will bump the correct version for the fh-wfm-signature module


Improper parsing of symbols

The current state of how symbols are parsed in both interpreters in som-rs is somewhat non-standard, compared to other SOMs.
This issue stands to track the cases where som-rs behaves differently from other SOMs, in order to get them all fixed.
Here are the problematic cases that I am currently aware of:

[ ] Spaces between # and identifier (ex: #  foo, accepted by most SOMs, rejected by som-rs)
[ ] Spaces between # and operator (ex: #  +, accepted by most SOMs, rejected by som-rs)
[ ] Spaces between # and string literal (ex: #  'foo', accepted by most SOMs, rejected by som-rs)
[ ] Non-leading successive colons in selector (ex: #foo::, rejected by most SOMs, accepted by som-rs)
[ ] Leading digits after colons (ex: #foo:2:, rejected by most SOMs, accepted by som-rs)

Somewhat related to this issue is the situation with array literals, which suffer from a similar problem due to also using the # in the syntax:

[ ] Spaces between # and ( (ex: #   (1 2 3), accepted by most SOMs, rejected by som-rs)

Most of these issues are due to the fact that the lexer is currently tokenizing the whole symbol at once (as: Token::Symbol(String)) instead of simply outputting its fragments (something like: [Token::Pound, Token::Selector(String)]).
Delegating the construction of the symbol to the parser would likely be the way forward to address these problems.

Hmmm. Interesting. I am not sure how I feel about these things.
I think we need more tests :)
Especially the situation around spaces is a little odd and an artifact of having a separate lexer in most SOM implementations. The lexer simply discards the space.
But the Smalltalk grammar (ANSI Smalltalk) doesn't explicitly mention spaces, instead it says that a quoted string is to be immediately preceded by a pound sign.
Squeak has the same behavior as SOM, allowing spaces, but it really looks odd to me, and Pharo seems to have fixed it, disallowing spaces between # and the rest of the symbol.
# foo just doesn't look right. The # could be misread as an operator here, for instance in something like 54 # bar, which should be a parse error, because 54 #bar is not a valid expression.

Hmm. I think the biggest problem with this at the moment is that we don't have a cross-SOM mechanism to test for parser errors.

In.

I

N bc

Sorry about notifications, I was looking at this issue on my phone and forgot to lock the screen when putting it back in my pocket, so some unintentional inputs got registered and it inadvertently posted some comments.


Binding failed, please go to the Model View screen and configure manually

"Binding failed, please go to the Model View screen and configure manually", I did but nothing works. tried pressing f6 and it doesn't work either

So did you go to the Model View screen?
I need more information, like this one #85

Okay, i just restarted it a few times and if fixed

Nvm it just started not working again

Theoretically, most mod models are supported, but need to be configured manually:
First, set the key binding for Open Model View Screen.

Open the model view screen and left click with left Alt held to select the corresponding face of the model, scroll with left Alt held to switch between the different layers of the model.
By clicking the Selecting button on the left, switch between the three to select the Forward Vector, Upward Vector, and Target Plane.
Enter the Preview section, where you can see the relative relationship between the camera and the model and make certain adjustments (you can also adjust through key bindings).

Enter a name and save (if needed, other settings such as priority can be changed).

Thanks, I tried to change the skin location and it started working when there was nothig in the skin location window.


0.3.1

Fixes a few bugs:

Neo4j passes consistently. Added ordering to queries in Query test
OrientSql Command Processor uses orderBy constants correctly
Several minor scrutinizer fixes.

I haven't come across any other bugs that would warrant being released before 0.4. Is there anything else that needs to be in 0.3.1?
After I merge and release, I will merge the updates into develop and down the tree. Be sure to pull changes.

Okay, I'm gonna release this for now. If we come across anything else, there are plenty more numbers :)


[SPARK-20473] Enabling missing types in ColumnVector.Array

What changes were proposed in this pull request?
ColumnVector implementations originally did not support some Catalyst types (float, short, and boolean). Now that they do, those types should be also added to the ColumnVector.Array.
How was this patch tested?
Tested using existing unit tests.

Can one of the admins verify this patch?

How come existing unit tests cover supporting the types that were previously unsupported?

ok to test

Test build #76185 has started for PR 17772 at commit b4054af.

Test build #76185 has finished for PR 17772 at commit b4054af.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76185/
Test PASSed.

Merged build finished. Test PASSed.

Merging in master / branch-2.2.


[QUESTION] 4 points questions and actualizing updates

Your Question

tox became TokTok... but it is information show ip and have some critical secure issues
12bytes links are dead
As adblocker can be used tblock project
signal shows you real telephone number, no way to hide

Please tick the boxes

[X] You have filled out this form accurately, and to the best of your knowledge
[X] A similar question has not already been asked for this software / service
[X] You agree to the code of conduct

12bytes links are dead
#194


fix(deps): allow protobuf 3.19.5

Wait for https://github.com/googleapis/python-api-core/pull/460 to be released


latest flutter version is 3.24.0, but latest tag here is 3.22.2

latest flutter version is 3.24.0, but latest tag here is 3.22.2

Here's an LLM speculating on the update process:

To update this Flutter package from version 3.22 to 3.24, you would typically follow these steps:

Update version numbers:

In pkgs/flutter/sources/data.json, update the version field to "3.24.0" (or the specific 3.24.x version).
Update the engineVersion to match the new Flutter version's engine.

Update source hash:

Fetch the new Flutter source and update the flutterHash in the same JSON file.

Update Dart version:

Check if the Dart version needs to be updated. This is usually specified in the Flutter SDK's bin/internal/dart-sdk.version file.
If needed, update the Dart version in pkgs/dart/sources.nix.

Update artifact hashes:

The pkgs/flutter/artifacts/hashes.nix file will need updating with new hashes for the 3.24 artifacts.
You might need to run the artifact fetching process for each platform and collect the new hashes.

Update pubspec.lock:

The pubspecLock in pkgs/flutter/sources/data.json might need updating to match the new version's dependencies.

Check for breaking changes:

Review the Flutter 3.24 changelog for any breaking changes that might affect the build process or wrapper scripts.

Test and verify:

Build the updated package and test it to ensure everything works correctly.

Update related files:

Check if any patches in pkgs/flutter/patches need updating or if new ones are required.

Run update scripts:

Use the updateScript mentioned in pkgs/flutter/wrapper.nix to automate parts of this process.

To perform these updates, you could:

Modify the update/update.py script to fetch the new 3.24 version.
Run the script to update version numbers and fetch new sources.
Manually verify and adjust any changes that the script couldn't handle automatically.
Use the try-prefetch.nix file to help generate new artifact hashes.
Test the updated package thoroughly before submitting the changes.

Don't currently have time to do it but maybe it'll help someone

Note also #18

The new Flutter versions just don't build with this flake. I am stuck on trying to fix it, as the flutter here is not able to download artifacts trying a wrong URL during nix build .
I have switched to nixpkgs, as it seems to be fixed there (Android build) since Flutter 3.24.

It is also makes it super easy to use with a new option in devenv:
{ pkgs, ... }:

{
  android = {
    enable = true;
    flutter.enable = true;
    platforms.version = [ "32" "33" "34" ];
    buildTools.version = [ "33.0.1" "34.0.0" ];
  };
}


fix: failed && canceled tx

canceled and failed transactions will be removed when request list again and the error detail will error details will be reported to sentry and tagged as debug level (we can filter these errors precisely and check them)
accelerated transactions will replace old ones.
timeout for transactions that are not on chain is one hour, then they will be marked failed.

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1204359404412671
https://app.asana.com/0/0/1204368887911972

those failed transactions refer to the data that was not recorded on the blockchain for some reason but only recorded on the frontend. It means that the backend can't find the corresponding data. If we don't remove them, they will always appear at the top of the list, which means that the successful transactions sent later will be displayed after them. I think this is not quite appropriate.
meanwhile, it will be deleted after cleaning local storage, even though I don't remove it when people reopen the bridge history popover.
@OrestTa

those failed transactions refer to the data that was not recorded on the blockchain for some reason but only recorded on the frontend. It means that the backend can't find the corresponding data. If we don't remove them, they will always appear at the top of the list, which means that the successful transactions sent later will be displayed after them. I think this is not quite appropriate. meanwhile, it will be deleted after cleaning local storage, even though I don't remove it when people reopen the bridge history popover. @OrestTa

Thanks, makes sense. Can a tx "fail" here for another reason than a timeout wrt backend?

such as insufficient gas or an invalid opcode, the problem that @ChuhanJin met is insufficient gas. @OrestTa

OK. So in such a case, we DO want to continue displaying such a 'failed' transaction, so we need to adjust the logic for

canceled and failed transactions will be removed when request list again and the error detail will error details will be reported to sentry and tagged as debug level (we can filter these errors precisely and check them)

correct?

OK. So in such a case, we DO want to continue displaying such a 'failed' transaction, so we need to adjust the logic for

canceled and failed transactions will be removed when request list again and the error detail will error details will be reported to sentry and tagged as debug level (we can filter these errors precisely and check them)

correct?

However, the data is not in the backend and can't be well displayed with the backend data considering sorting and paging I suggest adding a new tab called "Exception" where failed/cancelled transactions can be viewed which means those transactions can be placed separately. It should be noted that the data will be deleted after cleaning local storage.

Failed transactions (here probably because of changed contract addresses) disappear from the history popup for me once they are no longer 'pending' - instead of being shown as 'failed'; example:

we should click the button on the right side of the address button to view the history data.

Oh oops wrong popup open in the screenshot; the correct popup doesn't show failed txes (at least some of them), e.g. if you manually set the gas limit too low, this happens:

yup, the way of catching error in ethers.js v6 is also changed, my original code doesn't work well.
I have communicated with the maintainer and will update it after receiving a solution.

yup, the way of catching error in ethers.js v6 is also changed, my original code doesn't work well. I have communicated with the maintainer and will update it after receiving a solution.

Gotcha. Does it mean we need to block this PR on that, or can we release (a part of) it earlier?

this PR is aimed at solving multiple problems, feel free to let me know if there is anything unexpected. @OrestTa

Thanks. Still a draft or can it be reviewed and merged already? @Holybasil

Based on my self-testing, it can be reviewed.
I have marked it as ready for review.

@Holybasil I submitted one L1->L2 and one L2->L1 tx and both were showing with the 'waiting animation' in the history; i then tried opening the console then but the tab crashed. Now, upon navigating to the bridge again, the tx history is empty, but there seem to be the two txes in the console - I assume this is not correct?

txes:

https://staging-blockscout.scroll.io/tx/0xcb8ba5f8be080797245b7162cfedb30022236e34372ea2cb3e0ad3b905bed80b
https://goerli.etherscan.io/tx/0x4db8811daf966db9713c6bb7df566cca3d392959599f2f1ca6850231c64e1926

Thanks. So you added 1) now? Shall we add 2) already too? Btw, I was using brave wallet for this test.

Thanks. So you added 1) now? Shall we add 2) already too? Btw, I was using brave wallet for this test.

1 and 2 are both added now, and it is better to clear localStorage manually before testing again.


Added missing command of install for ansible-galaxy in README.md instruc...

Command wasn't working for me when copy pasting over. Turns out it was missing the install command.

thanks!


Attu-SSL Enablement issue

Hello ,
I have deployed Milvus 2.2.8 through Milvus helm chart ( milvus-4.0.20) on my kubernetes Cluster.
Our requirement is to enable SSL/TLS on Milvus which i have done and able to communicate through Python client.
But I am not able to enable SSL on Attu, when i am enabling SSL then connection is not establishing. Hence we are facing a huge challenges to manage and maintain Milvus vector DB.
Please help me to fix this issue?

fixed.


[Shopify] Add Metafields to Products and Variants

This is a PR without a dedicated issue as it's part of delivery for development agreed directly with @AndreiPanko
Here's the overview of the changes:
Obsolete fields:
•	Obsoleted Value Type as it‘s no longer used in Shopify API -> Replaced with Type field
•	Obsoleted Owner Resource field. I‘m not sure why this was a free text that was then always populated through a case statement. It‘s replaced with an Owner Type field that is an Enum.
New enums and interfaces:
•	„Shpfy Metafield Type“ and „Shpfy IMetafield Type“ – Used for handling the metafield type. The interface defines if the type has a special AssistEdit, logic to execute the assist edit, and validations when free input is allowed for a value. I have a couple of questions here, see below. Rating, Rich Text, and List Types are not included, Rating and Rich Text options are added but commented out so it‘s clear that it was intentional. It also has String and Integer types which are there to support backward compatibility, if old values are still in Shopify.
•	„Shpfy Metafield Owner Type“ and „Shpfy IMetafield Owner Type“ – Used for building the full owner resource ID (gid://shopify//) and for retrieving metafield IDs of a single resource (used during export, to identify which metafields should be sent for update based on UpdatedAt)
•	Metafield Dimenion/Volume/Weight Type – three enums to support a selection of Units when assist editing these metafield types
Pages:
•	„Shpfy Metafields“ – used for viewing and editing metafields for a resource. It‘s only editable if Shop is syncing Products to Shopify and Can update Shopify products. On Insert of a new record, it‘s immediately sent to Shopify and is only inserted in the DB when we get back the Shopify ID for the metafield. Types that have AssistEdit functionality defined cannot be edited directly on the line. OnValidate of Value a check is executed to ensure value is correct for a type.
•	„Shpfy Metafield Assist Edit“ – used for assist edit of complex metafield types. It has several groups defined, and only the appropriate one is displayed to the user.
•	Action for display metafields for a resource has been added to the Products and Variants pages.
GraphQL query changes:
•	ProductById and VariantById have been modified so that they retrieve the first 50 metafields (previously the first 10). Previously there was a filter to only retrieve Metafields with the „Microsoft.Dynamics365.BusinessCentral“ namespace. I‘ve removed that to get all the metafields of a resource.
•	ProductMetafieldIds and VariantMetafieldIds were added. These are used during the export of metafields to determine which BC metafields should be sent for an update
•	MetafieldsSet – This is used to create/update metafields for a resource
Changes to API codeunits:
•	Product API – on UpdateShopifyProductFields a metafields part of JSON is now passed to Metafields API where it creates or updates Metafields in BC based on information retrieved from Shopify
•	Variant API – on UpdateShopifyVariantFields the metafields part of the JSON is passed to Metafields API, same as above.
•	„Shpfy Product Export“ – on UpdateProductData execute Metafields API to update/create metafields for the product and all variants that belong to the product
•	„Metafield API“ – Implements logic to parse the „metafields“JSON that is retrieved with products/variants during import and creates/updates metafield records in BC.
Adds logic to export metafields for a specific resource. Only sends an update for metafields that have a lower UpdatedAt timestamp than BC record‘s last updated at timestamp. It batches the Metafields to 25 at a time, as that‘s the max MetafieldsSet mutation can handle as per the documentation.
Added logic to delete metafields on delete of a product/variant
A couple of questions or concerns:
•	New metafields that get created in Shopify do not have a Metafield Definition attached to them. Should we care about this right now? If yes, should we also store metafield definitions in BC, or just create new definitions if any are missing in Shopify?
•	I‘ve obsoleted the two fields and one enum, should I be wrapping the obsoletions in some preprocessing symbols? Which one?
•	I‘m doing some regex validations when checking if the value of metafield is correct. I‘m not sure if the one for mixed reference and file reference is correct. I‘d appreciate it if someone could take a look at that.
•	If value validation fails, it throws a pretty „simple“ error message right now, should I make this more expressive?
•	Currently, the „update metafields“ has no error handling in place if the update query fails. Technically I‘m trying to catch everything on data input, but there can always be unexpected situations. How should I handle this?
•	The code for sending the metafield to Shopify immediately after it‘s inserted through UI is currently on the Page‘s OnInsertRecord trigger. I‘m not sure about it, should I move it to the table trigger? The hesitation is because there already is some logic on the table from the partial implementation of metafields on Customers.
•	I‘ve placed interface implementations in a separate folder under Codeunits folder, that‘s not the usual practice on MS apps, so I wanted to double-check it.
•	Money metafield type needs to have the same currency as the shop, which leads to this completely separate code path after validating the Value. I‘m not sure if there‘s a better approach to handle this.
•	I saw that most procedures in the app have documentation triggers that are not really beneficial. I‘ve only added them to the public or internal procedures. I‘ve also skipped on most object documentation triggers.
Fixes #26819
Fixes AB#443908

@tinestaric this is not directly related to your changes, but I was surprised that you didn't changed any permission sets or added InherenPermissionSets to internal Codeunits until I saw the following permission set.
https://github.com/microsoft/ALAppExtensions/blob/main/Apps/W1/Shopify/app/src/PermissionSets/ShpfyObjects.PermissionSet.al
@JesperSchulz is there any good reason to keep this permission Set with the * permissions?
Do the new implementation codeunits needs to have the Access scope Public?
I don't have experience with Shopify but with APIs in general.
After taking a short look in the API and if I understand the documentation for the file reference type correctly then you can reference there to any file on shopify. Not only to images.
Therefore I'd say that the regex should allow other patterns, too. e.g. for gid://shopify/GenericFile/1072273801 (check the response of get files)
https://shopify.dev/docs/api/admin-graphql/2024-01/queries/files#examples-Get_a_list_of_files

Currently, the „update metafields“ has no error handling in place if the update query fails. Technically I‘m trying to catch everything on data input, but there can always be unexpected situations. How should I handle this?

@tinestaric if I understand the documentation correctly then it's possible to define Validations for Metafields in Shopify:
https://shopify.dev/docs/apps/custom-data/metafields/definitions/validation
Currently we don't know in BC which additional validations are set up in Shopify. This could lead to errors that you wouldn't catch on data input.

@pri-kise
Thank you! I've adjusted the RegEx for files.
I've also added error handling on the page where the metafields are sent directly to Shopify on insert. I haven't seen any place in the app that would actually handle the user errors, everything simply gets logged to the log entry table, and someone has to take it from there, so currently metafields have the same approach.

I see that I'm getting errors from AppSourceCop due to field length extension. I assumed this is not an issue since the table is marked as Internal, and as such we're in full control of who this field extension would break?
Is this not the case, and I should only temporary obsolete fields and extend the field under a preprocessing symbol?

I see that I'm getting errors from AppSourceCop due to field length extension. I assumed this is not an issue since the table is marked as Internal, and as such we're in full control of who this field extension would break?
Is this not the case, and I should only temporary obsolete fields and extend the field under a preprocessing symbol?

If you're getting a false positive (which it looks like you're doing), just use a pragma to disable the error.

@onbuyuka Moved all metafield specific objects under a new Metafield folder.
I'm not sure what the sequence of processing PRs is going to be, but Translations and Metafields share the same new "Owner Type" Enum/Interface, that should be merged into one.

Had to re-ID:
Codeunit 30168 -> 30315
Codeunit 30159 -> 30316
Codeunit 30314 -> 30318
Codeunit 30213 -> 30317
Codeunit 30313 -> 30319

@tinestaric, could you extend the range in the app.json to 30360? I had to change some IDs to prevent clashes.

@JesperSchulz Done


move readv/writev to the kernel

Summary
currently, nuttx implements readv/writev on the top of read/write.
while it might work for the simplest cases, it's broken by design.
for example, it's impossible to make it work correctly for files which need to
preserve data boundaries without allocating a single contiguous buffer.
(udp socket, some character devices, etc)
this change is a start of the migration to a better design.
that is, implement read/write on the top of readv/writev.
to avoid a single huge change, following things will NOT be done in this PR:

fix actual bugs caused by the original readv-based-on-read design (cf. https://github.com/apache/nuttx/pull/12674)
adapt filesystems/drivers (except a few trivial examples)
retire read/write syscalls. implement them in libc instead.
pread/pwrite/preadv/pwritev (except the introduction of struct uio)

Impact
Testing

@xiaoxiang781216 can you please review this before i apply the mechanical change to hundreds of files? thank you.

@xiaoxiang781216 do you prefer the latest push?

i wonder what caused this error on the CI.
i couldn't reproduce it with local docker container using the same ghcr.io/apache/nuttx/apache-nuttx-ci-linux image.
FAILED: nuttx
: && /tools/ccache/bin/gcc  -Wl,--gc-sections -Wl,-Ttext-segment=0x40000000 -T nuttx.ld CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostirq.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostmemory.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostmisc.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hosttime.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostuart.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostsmp.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostfs.c.o CMakeFiles/nuttx.dir/empty.c.o -o nuttx  nuttx.rel  -lpthread  -lz  -lrt  -lm && :
/usr/bin/ld: nuttx.rel: in function `loop_writev':
/github/workspace/sources/nuttx/drivers/loop/loop.c:89: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `devnull_writev':
/github/workspace/sources/nuttx/drivers/misc/dev_null.c:94: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `devzero_readv':
/github/workspace/sources/nuttx/drivers/misc/dev_zero.c:79: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `devzero_writev':
/github/workspace/sources/nuttx/drivers/misc/dev_zero.c:108: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `file_readv':
/github/workspace/sources/nuttx/fs/vfs/fs_read.c:97: undefined reference to `iovec_compat_readv'
/usr/bin/ld: nuttx.rel: in function `file_writev':
/github/workspace/sources/nuttx/fs/vfs/fs_write.c:93: undefined reference to `iovec_compat_writev'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
cp: cannot stat 'nuttx': No such file or directory

i wonder what caused this error on the CI. i couldn't reproduce it with local docker container using the same ghcr.io/apache/nuttx/apache-nuttx-ci-linux image.
FAILED: nuttx
: && /tools/ccache/bin/gcc  -Wl,--gc-sections -Wl,-Ttext-segment=0x40000000 -T nuttx.ld CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostirq.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostmemory.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostmisc.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hosttime.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostuart.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostsmp.c.o CMakeFiles/nuttx.dir/arch/sim/src/sim/posix/sim_hostfs.c.o CMakeFiles/nuttx.dir/empty.c.o -o nuttx  nuttx.rel  -lpthread  -lz  -lrt  -lm && :
/usr/bin/ld: nuttx.rel: in function `loop_writev':
/github/workspace/sources/nuttx/drivers/loop/loop.c:89: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `devnull_writev':
/github/workspace/sources/nuttx/drivers/misc/dev_null.c:94: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `devzero_readv':
/github/workspace/sources/nuttx/drivers/misc/dev_zero.c:79: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `devzero_writev':
/github/workspace/sources/nuttx/drivers/misc/dev_zero.c:108: undefined reference to `iovec_total_len'
/usr/bin/ld: nuttx.rel: in function `file_readv':
/github/workspace/sources/nuttx/fs/vfs/fs_read.c:97: undefined reference to `iovec_compat_readv'
/usr/bin/ld: nuttx.rel: in function `file_writev':
/github/workspace/sources/nuttx/fs/vfs/fs_write.c:93: undefined reference to `iovec_compat_writev'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
cp: cannot stat 'nuttx': No such file or directory

this was because of missing changes to cmakefile. fixed.

i will probably rebase to master and squash commits later. other than that, this is ready to review.

i will probably rebase to master and squash commits later.

done

@xiaoxiang781216 thank you for your earlier feedback. now this PR is ready for wider review.

@xiaoxiang781216 thank you for your earlier feedback. now this PR is ready for wider review.

thanks to make a general improve to vfs layer, which fix a major drawback, I will review the change in the weekend.

the ci failure looks unrelated.
https://github.com/apache/nuttx/actions/runs/11546452210/job/32134877419?pr=13498
curl: (28) Failed to connect to github.com port 443 after 135159 ms: Connection timed out

@yamt please squash the comment change to the first patch.

@yamt please squash the comment change to the first patch.

done

@yamt just one minor comment, let's squash the patch, I will merge it after ci pass.

@yamt just one minor comment, let's squash the patch, I will merge it after ci pass.

squashed

Hi folks!
Just ran the internal Espressif CI on this commit and the one before it. Seems this one broke our TWAI (CAN) and RMT tests across multiple devices.
TWAI error output: can -n 5 -b 5 timedout! RMT error output: rmtchar -i 129 timedout!

what do those tests do?

Those are both loopback tests.
Here's the output on ESP32C3 when using TWAI defconfig with loopback enabled.
Configuration used:

./tools/configure.sh -l esp32c3-generic:twai
Set:
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y
CONFIG_DEBUG_FEATURES=y
CONFIG_CAN_LOOPBACK=y
CONFIG_ESPRESSIF_TWAI_TEST_MODE=y
CONFIG_ESPRESSIF_TWAI0_TXPIN=8
CONFIG_ESPRESSIF_TWAI0_RXPIN=8
make and flash

Expected output
Hash: e3d7d236189517129b66557342ed1273c84f8ab8
nsh> can -n 5 -b 5
nmsgs: 5
min ID: 1 max ID: 5
Bit timing:
   Baud: 1818181
  TSEG1: 16
  TSEG2: 5
    SJW: 4
  ID:    1 DLC: 1
  ID:    1 DLC: 1
  ID:    1 DLC: 1 -- OK
  ID:    2 DLC: 2
  ID:    2 DLC: 2
  ID:    2 DLC: 2 -- OK
  ID:    3 DLC: 3
  ID:    3 DLC: 3
  ID:    3 DLC: 3 -- OK
  ID:    4 DLC: 4
  ID:    4 DLC: 4
  ID:    4 DLC: 4 -- OK
  ID:    5 DLC: 5
  ID:    5 DLC: 5
  ID:    5 DLC: 5 -- OK
Terminating!

Current output
Hash: 761ee819568a52f1934ccf17bae20fe9816ebdec (this PR)
nsh> can -n 5 -b 5
nmsgs: 5
min ID: 1 max ID: 5
Bit timing:
   Baud: 1818181
  TSEG1: 16
  TSEG2: 5
    SJW: 4
  ID:    1 DLC: 1

Stops responding at this point

Those are both loopback tests.
Here's the output on ESP32C3 when using TWAI defconfig with loopback enabled.
Configuration used:
* `./tools/configure.sh -l esp32c3-generic:twai`

* Set:
  CONFIG_DEBUG_ASSERTIONS=y
  CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y
  CONFIG_DEBUG_FEATURES=y
  CONFIG_CAN_LOOPBACK=y
  CONFIG_ESPRESSIF_TWAI_TEST_MODE=y
  CONFIG_ESPRESSIF_TWAI0_TXPIN=8
  CONFIG_ESPRESSIF_TWAI0_RXPIN=8

* make and flash

Expected output
Hash: e3d7d23
nsh> can -n 5 -b 5
nmsgs: 5
min ID: 1 max ID: 5
Bit timing:
   Baud: 1818181
  TSEG1: 16
  TSEG2: 5
    SJW: 4
  ID:    1 DLC: 1
  ID:    1 DLC: 1
  ID:    1 DLC: 1 -- OK
  ID:    2 DLC: 2
  ID:    2 DLC: 2
  ID:    2 DLC: 2 -- OK
  ID:    3 DLC: 3
  ID:    3 DLC: 3
  ID:    3 DLC: 3 -- OK
  ID:    4 DLC: 4
  ID:    4 DLC: 4
  ID:    4 DLC: 4 -- OK
  ID:    5 DLC: 5
  ID:    5 DLC: 5
  ID:    5 DLC: 5 -- OK
Terminating!

Current output
Hash: 761ee81 (this PR)
nsh> can -n 5 -b 5
nmsgs: 5
min ID: 1 max ID: 5
Bit timing:
   Baud: 1818181
  TSEG1: 16
  TSEG2: 5
    SJW: 4
  ID:    1 DLC: 1

Stops responding at this point

thank you.
i now have an idea about the cause. i will submit a fix later.

i will submit a fix later.

https://github.com/apache/nuttx/pull/14597

i will submit a fix later.

#14597

Fix is good on Espressif's CI. Thanks @yamt

i will submit a fix later.

#14597

I tested the #14597 branch and seems to fix the problem on Espressif's CI. Thanks @yamt

thank you for testing.


NIFI-13669: Adding alternative processor suggestion in deprecation notice of InvokeAWSGatewayApi

Summary
NIFI-13669
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

+1 LGTM, thanks for the doc! Merging to support/nifi-1.x


Add AmreshSinha's Hackbar

Contribution to hacktoberfest-2020 :)

Thanks @AmreshSinha for your contribution :)

Its my pleasure :)


EPOLL ET AutoRead

Motivation:
EPOLL does not support autoread when in ET mode.
Modifications:

EpollRecvByteAllocatorHandle should not unconditionally force reading just because ET is enabled
AbstractEpollChannel and all derived classes which implement epollInReady must support a variable which indicates
there may be more data to read. The variable will be used when read is called to simulate a EPOLL wakeup and call epollInReady if necessary. This will ensure that if we don't read until EAGAIN that we will try to read again and not rely on EPOLL to notify us.

Result:
EPOLL ET supports auto read.

@normanmaurer @nmittler - PTAL.
@blucas - Please verify this works.

@Scottmitch please fix the buffer leaks.

@normanmaurer - Leak in unit test fixed.

@Scottmitch LGTM...
@blucas @trustin PTAL.

@blucas - any updates?

@Scottmitch - Sorry, I haven't had the chance to do a decent test with this branch. I should be able to do something tonight or tomorrow night.  I have looked at the code, and it seems okay to me.

@blucas thanks please let us know once you had a chance.

@Scottmitch @normanmaurer - I've tested this using TCP traffic and it seems good.

Cherry-picked 4.1 (bfbef03)
Unfortunately this is not a straight forward back port to 4.0 because of the RecvByteAllocator changes. I'm not planning on back porting this change ATM.

No backport is fine

Am 11.03.2016 um 16:48 schrieb Scott Mitchell<EMAIL_ADDRESS>Cherry-picked 4.1 (bfbef03)
Unfortunately this is not a straight forward back port to 4.0 because of the RecvByteAllocator changes. I'm not planning on back porting this change ATM.
—
Reply to this email directly or view it on GitHub.


Clustering Algorithms using Quantum Computing

With regards to ML, Qiskit 0.30 provides Quantum Neural Networks, Neural Network Classifier, Quantum Kernel Machine Learning, qGANs for Loading Random Distributions and Torch Connector and Hybrid QNNs.
I'm working to generate Clustering algorithms. At least k-means. Do you find it useful? Any suggestion?

I have my first version of the k-means classifier.
It does not use the euclidian distance but the cos of the angle, what is directly proportional to the distance as it can be seen in related literature.   I'm attaching the program here, I'm at your disposal for next actions.
k-means.txt

Thanks a lot. I have a few questions:

Is the algorithm from a paper? If so, could you please share the paper then? If no, please provide a description of the algorithm.
What is the advantage of using quantum computers in this algorithm?
Are there any comparisons versus classical algorithms?
The code is in the text file. If you want to finally make a contribution to QML, please take a look at the contributing guideline: https://github.com/Qiskit/qiskit-machine-learning/blob/main/CONTRIBUTING.md

The algorithm is one of the well known family of attempts to make clustering / non-supervised machine learning more efficient by estimating distances with quantum computing. There are many articles written about it, I even could learnt from it in Spanish. Some examples:

Esma Aïmeur, Gilles Brassard y Sébastien Gambs. “Aceleración cuántica para el aprendizaje no supervisado”. En: Machine Learning 90.2 (2013), pages. 261–287.
Nathan Wiebe, Ashish Kapoor y Krysta M. Svore. “Algoritmos cuánticos para métodos del vecino más cercano para el aprendizaje supervisado y no supervisado”. En: Cálculo de información cuántica 15.3 (2015), pages 316– 356.

In that case, the metric instead-of-distance used is P(1) of the auxiliary qbit in a cswap gate. P(1) is proportional to the euclidian distance in the Block sphere of 2 points, as demonstrated here:
https://sitiobigdata.com/2019/12/24/aprendizaje-automatico-cuantico-agrupamiento-k-means/#
My contribution to the information In this link is:

I provide an algorithm that estimated all the distances in parallel (that's really the advantage) instead of a loop to estimate distances.
Maybe it has no consequences. But the link above has a fallacy in the demonstration. It is supposed to demonstrate that the algorithm provides a value that grows as distance grows in the normal representation, but it needs to use the fact that length of the vector is one, so it really demonstrate that the value is proportional to the distance in the Bloch Sphere only.   ---> If it's interesting, I can work on demonstrating / checking that with the representation chosen the distances in the Bloch Sphere grow as they do in the normal cartesian representation if it's interesting. Intuition indicates that this is the case and it has to be true at list for the cases that distances are not very very small.

The advantage:   Instead of computing a loop with the squared root of the sum of the squares of the differences of the coordinates for each point to each centroid, it is all calculated in one step.

I will work on the style.

Sorry for the delay. The idea, in general, is clear. There's nothing on unsupervised learning so far. The implementation may be a good contribution.
Meanwhile, could you please provide an article in English? I don't read in Spanish, unfortunately.

Hi
I recently worked on an implementation of K-Means Clustering as part of my college lab mini-project. I followed the implementation outlined here: https://arxiv.org/abs/1804.10068 pg.32-35.
I'm sharing the code with you. If it seems like a good fit, I would be willing to contribute to the module, following the guidelines
qml.zip
.
It's a Jupyter notebook, I had to upload a zip file due to format constraints.

@prakharb10, Yes, a clustering algorithm can be a good contribution to Qiskit Machine Learning as we don't have anything on that implemented.

Hi, @prakharb10 and @adekusar-drl.
It seems that we both are following the same principle: P(1) in the control qbit of a cswap gate is a monotonous growing function with regards to the euclidiean distance of the swapped points.  As indicated above, what I do different vs what I have found is to measure all the distances to the clusters at the same time. In parallel. The fact that the numbers of qbits are expected to keep on growing and each point can be represented with one qbit only makes it possible. And this parallel calculus based on a single gate instead of all the operations involved to calculate the Euclidean distance one by one is the advantage that the quantum implementation provides.
Here you are my code formatted with Pylint. (Only warnings in Pylint were a few variables wrongly considered constants)
I have added the extension .txt in order to be able to upload it, it can be removed and the .ipynb file is what I have executed.
k_means_formatted.ipynb.txt
@prakharb10, maybe you and I can collaborate to adapt code and provide the best of the two versions.
Thanks.
Regards.

Hi @dquero . I'm unable to open the notebook you shared. Maybe like @adekusar-drl mentioned you could share the source paper for your implementation, in English so we could peruse that.

Hi, I'm working to find the information in English or translate it on my own.
With regards to the code, I always work on-line, using the IBM Quantum Lab in IBM Quantum. The file is just exported from there (formatted and added the extension .txt to be allowed to upload it here). Anyway, maybe the easiest thing is you copy it from the lines below.
"""k_means_formatted."""
Importing standard Qiskit libraries
import numpy as np
import matplotlib.pyplot as plt
from qiskit import QuantumCircuit, execute, Aer
from qiskit.tools.jupyter import *
from qiskit.visualization import *
from ibm_quantum_widgets import *
---  INPUT DATA ------ (User to change them as needed)
Points is a vector of N vectors of n elements.
N is the dimension of the points to classify and n is the number of points.
Points = [[1, 6, 10,2,3,4,5,6,7,8,9],
[1, 8, 10,4,3,3,7,7,7,9,9]]
k is the number of clusters to be created
k = 2
Centroids is a vector of N vector of k elements or an empty vector.
(Empty vector used if user does not want to provide initial values)
#Centroids = [[1,10],[1,10]]
Centroids = []
MAX_ITERATIONS = 1000
#---  INPUT PREREQUISITES -----------
if Points == []:
print("--- ERROR 01: Points (representing the data set) cannot be empty")
N = len(Points)
n = len(Points[0])
for i in range(N):
if len(Points[i]) != n:
print("--- ERROR 02: Points need to have the same number of subelements in each element")
if Centroids != []:
if len(Centroids) != N:
print("--- ERROR 03: Centroids must have the same number of components that Points")
for i in range(N):
if len(Centroids[i])!=k:
print("--- ERROR 04: There must be k centroids.")
print("   (Each element in Centroids is a vector of k elements).")
if N>3:
print("--- ERROR 05: This program cannot handle more than 3 dimensions.")
print("  Remember you can reduce dimensions losing minimal information")
N=3
#----  PREPARATION ---------------
#Normalization of Points
Mins = np.zeros(N)
Maxs = np.zeros(N)
for i in range(N):
Mins[i] = min(Points[i])
Maxs[i] = max(Points[i])
NormPoints = np.zeros((N,n))
for i in range(N):
for j in range(n):
NormPoints[i,j] = (Points[i][j] - Mins[i]) / (Maxs[i] - Mins[i])
#Initial centroids or normalization as required
NormCentroids = np.zeros((N,k))
if Centroids == []:
np.random.seed(100)
for i in range(N):
for j in range(k):
NormCentroids[i][j]=np.random.random()
else:
for i in range(N):
for j in range (k):
if (Centroids[i][j] < Mins[i] or Centroids[i][j]>Maxs[i]):
print("--- ERROR 06: Centroids values must be in the range of the dataset")
else:
NormCentroids[i][j] = (Centroids[i][j] - Mins[i]) / (Maxs[i] - Mins[i])
iteration = 0
Classes = np.zeros((n))
changed = True
while ((iteration < MAX_ITERATIONS) and changed):
iteration = iteration+1
# ---- Calc. a correlated-to-distance-to-centroid metric for all points and centroids ---
qc = QuantumCircuit(nk3,nk)
for i in range(n):
for j in range(k):
qc.rx(np.piNormPoints[0][i], (ik+j)3)
if N>1:
qc.rz(np.piNormPoints[1][i],(ik+j)3)
if N>2:
qc.ry(np.piNormPoints[2][i],(i*k+j)*3)
        qc.rx(np.pi*NormCentroids[0][j],(i*k+j)*3+1)
        if N>1:
            qc.rz(np.pi*NormCentroids[1][j],(i*k+j)*3+1)
        if N>2:
            qc.ry(np.pi*NormCentroids[2][j],(i*k+j)*3+1)

        qc.h((i*k+j)*3+2)
        qc.cswap((i*k+j)*3+2, (i*k+j)*3+1, (i*k+j)*3)
        qc.h((i*k+j)*3+2)

        qc.measure((i*k+j)*3+2, i*k+j)

backend = Aer.get_backend('qasm_simulator')
job = execute(qc, backend=backend, shots=4096)
Keys = job.result().get_counts(qc).keys()
Result = job.result().get_counts(qc)
MatClasses = np.zeros((n,k))

for key in Keys:
    for i in range(n):
        for j in range(k):
            if key[n*k-1-i*k-j]=='0':
                MatClasses[i][j] += Result[key]

changed = False
for i in range(n):
    old_class = Classes[i]
    Classes[i]=0
    tmp = MatClasses[i][0]
    for j in range(k):
        if MatClasses[i][j] > tmp:
            tmp = MatClasses[i][j]
            Classes[i] = j
    if old_class != Classes[i]:
        changed = True

NormCentroids = np.zeros((N,k))
NumClasses = np.zeros(k)
for i in range(n):
    tmp = int(Classes[i])
    NumClasses[tmp] = NumClasses[tmp] + 1
    for j in range(N):
        NormCentroids[j][tmp] = NormCentroids[j][tmp] + NormPoints[j][i]
for i in range(N):
    for j in range(k):
        NormCentroids[i][j] = NormCentroids[i][j]/NumClasses[j]

-------- Plotting -------
fig = plt.figure(figsize=(5, 5))
Colors = []
for i in range(n):
if Classes[i]==1:
Colors += ['red']
else:
Colors += ['blue']
plt.scatter(NormPoints[0], NormPoints[1], color=Colors)
plt.scatter(NormCentroids[0],NormCentroids[1])
plt.show()

Hi, again.
After reading carefully the article mentioned above (https://arxiv.org/abs/1804.10068) I see that the principle of the code is the same: using cswap gates to get a metric that is a monotonous growing function with regards to the euclidiean distance. And therefore, it is valid to calculate what is the nearest centroid of each point.
What I do different is:

I calculate all the point-centroid distances in parallel, while the previous algorithm does not do it, it only calculates in parallelize the dimensions.
I simplify to 2 dimensions if required by means of PCA. (It's a question of simplicity, keeping the outcome something easy to plot and interpretate)

I have adapted the code to the PEP8 style by using Pylint and embedded parts of the program in documented functions.
I would say it is now something reusable. See the link, as in the past, I have added the extension .txt to be allowed to upload it here.
k_means_formatted_v2.ipynb.txt
Thanks.

@dquero Thanks a lot for the update. Let me take a look at the code and at the paper.

In this thread I found an empty space in quantum machine learning area of qiskit: clustering algorithms; I suggested the implementation of one of them (k-means) based on the use of cswap gates; I provided some of the papers demonstrating the algorithm is equivalent in results to the classical one; I also suggested the parallelization of the distance calculation in one shot (based on the roadmap number of qbits is expected to increase in a few years above 1M, so it will keep my version scalable).
After that, the last step is the implementation, started by @prakharb10  with a pull request.  At this point, this thread is therefore complete. Implementation, improvement, documentation, etc. are to be followed in other threads.