Awesome Windows Repository

when i started awesome windows repository i didn't knew how to write down the list properly but still i managed to gather all the resources and made a nice awesome windows repository and i did send a pull request here to add it here but instead it was closed because of less stars by sindresorhus.
but soon after that a guy with username https://github.com/RiseLedger copied the whole thing i wrote and managed to get more 'stars' than me and you added him.
Is the one who wrote it originally is not entitled to be added here or is it just you can copy someone's else work and get more stars and go on sending pull request? Is this how the whole thing works?
My repository - https://github.com/rahulkapoor90/awesome-windows
RiseLedger - https://github.com/RiseLedger/awesome-windows
My pull request is here https://github.com/sindresorhus/awesome/pull/326.

Is the one who wrote it originally is not entitled to be added here or is it just you can copy someone's else work and get more stars and go on sending pull request? Is this how the whole thing works?

Not at all. You should be the one who should be added to this list.
I see what the problem is from these commits:

You originally created content here: September 26 2015 https://github.com/rahulkapoor90/awesome-windows/tree/51cbb5dd9748ab751d4f1aeb29c9c2e9360b72b4
It was copied 4 days later by RiseLedger and looks very similar: September 30 2015 https://github.com/RiseLedger/awesome-windows/tree/b3b0ee2acf84f2b1c9d2f6d50d430552054077cc
Also, as your content was licensed under CC-BY then RiseLedger should have credited...

@RiseLedger can you explain?
Else, I think the best thing to do moving forward is to add @rahulkapoor90's repository to this main list instead of @RiseLedger's considering the list that was created first with the original content.

 Instead, it's the typical reason https://github.com/sindresorhus/awesome/pull/326#issuecomment-141786349:

Wait at least a couple of weeks after creating a list before submitting to this list to give it a chance to mature.

By the way, the other list was not accepted at first for the same reason. However, @RiseLedge took the time afterwards to get his list included, while you did not. I suspect that is the reason your list is not included and his one is.
Next to the evidence of @davisonio that shows that @RiseLedger based his list on @rahulkapoor90's work, I found a verbatim piece of overlap (not just "similar"):

Compression

7-Zip - Open source Windows utility for manipulating archives. Formats 7z, ZIP, GZIP, BZIP2 and TAR are supported fully, other formats can be unpacked.
PeaZip - Archiver and file compressor. Extract 7Z CAB ISO RAR TAR ZIP archive files.
WinRAR -  A powerful archive manager. It can backup your data and reduce the size of email attachments, decompress RAR, ZIP and other files.

This can be tracked back to

https://github.com/RiseLedger/awesome-windows/commit/ab5107450b7c367d5475dac0a08d56d7bd442bbe from September 28, 2015 (i.e. in @RiseLedger's original PR #341 from Oct 1, 2015), and
https://github.com/rahulkapoor90/awesome-windows/commit/439b3d906b22aa2a9b9915923ef50832b8850b8d from December 23, 2015 (i.e. made after your PR #326 from Sep 20, 2015 ánd after his PR).

Note also that the latter commit contains more verbatim fragments from @RiseLedger's repository without any attribution and a snarky comment on top.
I.e. evidence that @rahulkapoor90 also plagiarized @RiseLedger's work.
Personally, I think that @rahulkapoor90's list needs a lot of work still:

some links are wrong (e.g. Textual 5 (Mac OS X application) links to mIRC (WindowS)),
some programs do not even exist for Windows (e.g. xScope, Pixelmator, ...)

TL;DR: I think the best course of action is to decide among each other whether or not to collaborate (merge both lists, decide to maintain it together, ...). But I guess the best place for that is to open an issue either in your repository mentioning him or an issue in his repository.
Regardless of cross-plagiarism, I would advise against blindly changing the reference without further review of the quality of both lists and explanations of both involved.

Hi @rahulkapoor90 . As you mention seems that your list was created earlier then my list. I was not aware that such list exist, that's why I created it in first place.
All the apps that I added in initial commits - is application that I use daily on the windows machine for years, and know that they are good, and for help of creating categories and decided which apps to include in the list, I was following ninite website.
I see however some overlaps at the beginning in Terminal and Editors categories.
Like @egeerardyn mention it will be better to create an issue in your or my repository, and decide which path we will take next.

@egeerardyn i accept that i also included some of the things that @RiseLedger added as i was angry at that time and didn't knew what to do and clearly made a rookie mistake but  i also thought i would start contributing daily to my repository and people would somehow recognize that mine is the original one but it all went the other way around.
and i even added this line -

Some users have made their own repositories by copying content from this repository, i request all of you to please fork only this original repository and add/suggest/submit changes.

@rahulkapoor90: I understand why where angry/disappointed that somebody else did something very similar to your work and gets the credit.
However, in such cases it is often most productive to assume no malicious intent and just contact the other author, see what has happened, offer to collaborate and share the workload (because maintaining a good list is quite some work, as you have probably noticed) and also the credit.
What throws me off and looks like copying is the identical wording at the top: A curated list of awesome applications, softwares, tools and shiny things for Windows in both repositories since the beginning.
While this could point towards @RiseLedger copying @rahulkapoor90 , I think the explanation is much simpler: both @rahulkapoor90 and @RiseLedger may have used the same repository as a starting point and inspiration: it also contains A curated list of awesome applications, softwares, tools and shiny things for OS X.
Technically, since that is a CC-BY repo, it should have been mentioned by both.
So I honestly believe that this is also a case of just two people working on something very similar at the same time, without any intent of profiting of the other's work.
I am glad to see https://github.com/RiseLedger/awesome-windows/issues/29 where I think further discussion is most appropriate.

Thanks excellent handling of this @egeerardyn :)

@sindresorhus You're welcome.
I think both @RiseLedger and @rahulkapoor90 have made huge improvements to their joint list since a week ago. So I hope we can treat their new list as just a replacement of the old one when both are ready to fully release it.


Hyperparamater about experiment on ScanObjectNN

Thanks so much for your work! @ma-xu
I also try to train the model on ScanobjectNN ds with the hyperparameter for 200 epochs. But there is a degree of over-fitting. Are there any methods to alleviate this problem and could you analyse why the over-fitting is more significant on this dataset? Because ScanObjectNN is actually more complex and challenging than ModelNet40.
Many thanks in advance.

Hi, thanks for the issue. Currently no specific idea on this. However, both ModelNet40 and ScanObjectNN are small datasets, probably we need a significantly larger dataset.


Remove discretesurface dispatch

Fix https://github.com/rafaqz/Rasters.jl/issues/774

The problem is that DDMakieExt will still fail because it probably has this issue too..


Glitchy VScode panel

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:
OS Version:

Steps to Reproduce:

Notice the text of the code in the upper panel looking like in a 360 p youtube video but in the terminal its okay?

In the last image, the whole of the vscode window is going out of focus and looking horrible. I feel this is enough amount of update about what kind of problem I am facing while using VScode.
My Vscode is having trouble recognising my monitor's screen resolution and looks glitchy. I restarted it many times and tried to find resolution settings but couldn't fix the problem.
Please resolve this issue or tell me if I am doing something wrong.
Thank You.

Does the issue repro with latest insiders https://code.visualstudio.com/insiders/ ?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Update the column datatype of views where nvarchar(max) is required

Description
Update the column datatype of views where nvarchar(max) is required
Following views are fixed with this commit:
sys.computed_columns
sys.xml_indexes
sys.stats
sys.plan_guides
sys.numbered_procedures
sys.default_constraints
sys.check_constraints
Issues Resolved
Task: BABEL-3401
Signed-off-by: Shalini Lohia<EMAIL_ADDRESS>Test Scenarios Covered

Use case based - Added

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 73.194%

Files with Coverage Reduction
New Missed Lines
%

contrib/babelfishpg_tds/src/backend/tds/tdsutils.c
1
70.48%

Totals

Change from base Build<PHONE_NUMBER>:
-0.002%

Covered Lines:
41715

Relevant Lines:
56992

💛  - Coveralls


Cluster-level logging architecture

There is no setup of any logging architecture right now. Streamlining of all logs, persistence, and accessibility is important as it gives us possibility to analyze anomalies and failures after their occurrences.

The retention time of the logs is 7 days and those of metrics 1 day by default, as mentioned here. However, one can change this using a Curator.

A basic cluster-wide logging architecture has been set up using ECK and can be found in base/ops/logging. We use Fluentd + Elasticsearch + Kibana.


Include IPCC 5th assessment report GWPs

Hi Caleb,
As discussed in #23, this pull adds data for the IPCC 5th assessment report. The year is added as an argument to the GWP function to access different reports. I believe this may be a good solution for adding future reports more easily. There are a couple things still left to do:

Finish adding CASRNs. I used the old GWP file to get CASRNs, then used CAS_from_any for the remaining chemical names. I did not use formulas as this would lead to wrong CASRNs. There are still many compounds without CASRN.
The <1 values are returned as None values. We may want to add a "default" parameter to let the user decide what value to use instead of <1, or simply return "<1".

Thanks!

Hi Yoel,
I have found further CAS numbers now, attached to this comment. Still not done. It's boring for sure. The following paper has been helpful:
Hodnebrog, Ø., B. Aamaas, J. S. Fuglestvedt, G. Marston, G. Myhre, C. J. Nielsen, M. Sandstad, K. P. Shine, and T. J. Wallington. “Updated Global Warming Potentials and Radiative Efficiencies of Halocarbons and Other Weak Atmospheric Absorbers.” Reviews of Geophysics 58, no. 3 (2020): e2019RG000691. https://doi.org/10.1029/2019RG000691.
I like the idea of adding more data more easily. However, I had a slightly different implementation in mind - sticking with the method string itself having the year in it. This is preferable to me because switching to the per-year bit makes it harder to include GWPs from different sources, such as from the above document. As well, if the IPCC updates its own values more than once a year chemicals wouldn't be able to support it anymore.
The ratio of AGWP in W m^2 yr/kg to GWP is constant. I believe we can use that to calculate to maybe 2 significant figures the GWP, GTP, etc for the places where the table says they are under 1. If that doesn't make any sense to you I'm cool doing that later after leaving those values as missing.
Official Global Warming Potentials 2013.csv
Caleb

Thanks for the detailed comments! I didn't thought about IPCC updating values more than once a year. We can have the years in the string. Your last note on GWP from AGWP makes sense. I'll try to get this done over this upcoming weekend.

Hi Yoel,
At last, I finished adding the CAS numbers and getting the missing GWPs.
I ended up simplifying some of your code to be more explicit; and to avoid breaking as much backwards compatibility as possible. The only thing which is different is that the method 'IPCC (2007) 100yr-SAR' was renamed to 'IPCC (1995) 100yr' because the old name was misleading and confusing. If anyone complains I will add a translation for it.
Thank you for all your hard work on this PR! Adding new data can be a frustratingly slow process but I don't remember it being this slow. I'm getting out of practice.
I hope to add a new function GTP which uses the global temperature potentials in the future! I believe those are more relevant these days, but most users will be told by a specific regulator which set of values to use.
Cheers,
Caleb

Excellent! Thanks for completing this and improving the code! Yeah, adding data can be pretty slow and I got a little busy with other stuff. Happy to contribute :)
Thanks!


VSTS - the storage-preview is no longer available to install

From my PowerShell script in VSTS, I've been using this command for months:
az extension add --name storage-preview
Now I get the error:
##[error]ERROR: No matching extensions for 'storage-preview'. Use --debug for more information.
I get an additional error from: az storage blob service-properties update  but I assume that's because nothing is installed.

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

ID: dcd3f99a-f522-6edb-6d39-eac1bb917956
Version Independent ID: 69e9c1e5-8deb-8092-46f4-6646d076fbe4
Content: Static website hosting in Azure Storage
Content Source: articles/storage/blobs/storage-blob-static-website.md
Service: storage
GitHub Login: @tamram
Microsoft Alias: tamram

@MouthOfMadness Thanks for clarifying the status of the issue! You need to update your PowerShell version to the latest version.  https://azure.microsoft.com/en-in/downloads/

@MouthOfMadness
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

I’m running Powershell from VSTS (cloud versin) and I always select use the latest version.
More likely, documentation needs to be updated to reflect this change in --name to -n
From: SumanthMarigowda-MSFT<EMAIL_ADDRESS>Sent: Friday, February 1, 2019 3:10 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: James Mattern<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] VSTS - the storage-preview is no longer available to install (#23157)
EXTERNAL EMAIL
@MouthOfMadnesshttps://github.com/MouthOfMadness Thanks for clarifying the status of the issue! You need to update your PowerShell version to the latest version. https://azure.microsoft.com/en-in/downloads/
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/23157#issuecomment-459655472, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ab4Q-j0h2InidABJBEVCqkd_p6_Y1wSoks5vJASAgaJpZM4aPsCB.

@MouthOfMadness  --name and -n both are same. -n is the shortcut for --name.
Example: -g is the shortcut for --resource-group

Hope this helps.

Lol, I get it, it just doesn’t seem to work in VSTS.
This is what my code looks like right now now, where -n works and --name doesn’t.
Write-Host("install storage-preview")
#az extension add --name storage-preview
az extension add -n storage-preview
Write-Host("Finish storage-preview")
From: SumanthMarigowda-MSFT<EMAIL_ADDRESS>Sent: Monday, February 11, 2019 12:50 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: James Mattern<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] VSTS - the storage-preview is no longer available to install (#23157)
EXTERNAL EMAIL
@MouthOfMadnesshttps://github.com/MouthOfMadness --name and -n both are same. -n is the shortcut for --name.
Example: -g is the shortcut for --resource-group
[capture1]https://user-images.githubusercontent.com/44606021/52549064-476cde80-2df7-11e9-8fe9-16978213c591.PNG
Hope this helps.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/23157#issuecomment-462231930, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ab4Q-sa9mlEM0d_0fud6EcuCenCUL85Rks5vMRKOgaJpZM4aPsCB.

@MouthOfMadness  Have you referred to this GitHub article https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview

Yes, as I had previously mentioned the script I was using worked for months and then broke based on the --name -n parameter.
I’d say update this documentation to reflect the working -n parameter and remove the --name
From: SumanthMarigowda-MSFT<EMAIL_ADDRESS>Sent: Friday, February 15, 2019 4:47 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: James Mattern<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] VSTS - the storage-preview is no longer available to install (#23157)
EXTERNAL EMAIL
@MouthOfMadnesshttps://github.com/MouthOfMadness Have you referred to this GitHub article https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/23157#issuecomment-463995123, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ab4Q-mtRJazVeNKBjsPWmBe13qmvSZb5ks5vNpAGgaJpZM4aPsCB.

@MouthOfMadness Your feedback has been shared with the content owner for further review.

@MouthOfMadness - Thanks for your feedback.
The feature is now generally available, so the storage-preview cmdlets are no longer supported. If there is an issue in the future, please let us know.
#please-close


Main Window

A main window must be created. This main window must inherit QMainWindow and must include a ribbon.

Closed with #2


Add configurable logging to the library

Add unobtrusive and configurable logging to the team formation API to print at the error level and above to stderr by default and configurable to show info level logging easily for debugging purposes.

Use Python's built-in logging module.
Create a logger for your package.
Set up a default configuration.
Provide a way for users to customize the logging configuration.

Here's a step-by-step guide:

In your package's init.py file or a separate logging.py file:

import logging
import sys

# Create a logger for your package
logger = logging.getLogger(__name__)

# Create a handler that writes error messages or higher to sys.stderr
stderr_handler = logging.StreamHandler(sys.stderr)
stderr_handler.setLevel(logging.ERROR)

# Create a formatter and add it to the handler
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
stderr_handler.setFormatter(formatter)

# Add the handler to the logger
logger.addHandler(stderr_handler)

# Set the default logging level
logger.setLevel(logging.ERROR)

def configure_logging(level=logging.ERROR, log_file=None):
    """
    Configure logging for the package.

    :param level: The logging level (default: logging.ERROR)
    :param log_file: Optional file path to write logs to
    """
    logger.setLevel(level)

    # Remove all handlers
    for handler in logger.handlers[:]:
        logger.removeHandler(handler)

    # Add stderr handler
    stderr_handler = logging.StreamHandler(sys.stderr)
    stderr_handler.setLevel(level)
    stderr_handler.setFormatter(formatter)
    logger.addHandler(stderr_handler)

    # Add file handler if log_file is specified
    if log_file:
        file_handler = logging.FileHandler(log_file)
        file_handler.setLevel(level)
        file_handler.setFormatter(formatter)
        logger.addHandler(file_handler)

In your package's other modules, import and use the logger:

from .logging import logger

def some_function():
    logger.debug("This is a debug message")
    logger.info("This is an info message")
    logger.warning("This is a warning message")
    logger.error("This is an error message")
    logger.critical("This is a critical message")

In your package's documentation, explain how users can configure logging:

import logging
from your_package import configure_logging

# To enable INFO level logging
configure_logging(level=logging.INFO)

# To enable DEBUG level logging and write to a file
configure_logging(level=logging.DEBUG, log_file="debug.log")

This approach has several advantages:

It uses the standard Python logging module, which is familiar to most Python developers.
By default, it only prints ERROR and CRITICAL messages to stderr, which is suitable for production use.
It provides an easy way for users to configure the logging level and add file logging if needed.
It allows for easy integration with other logging systems that users might be using in their projects.

Remember to document the logging functionality in your package's README or documentation, explaining how users can configure it for their needs.


Post Update instructions

As the pre-update instructions mention, "Set SQL Server AlwaysOn availability groups to manual failover", the post update instructions should remind users to reset the failover to automatic.  My two cents.

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

ID: 2b51948e-fdf8-3a75-2a81-27ff452a6f9d
Version Independent ID: 924773d6-e3d4-5452-6bc2-3640e96b9099
Content: Checklist for 1810 - Configuration Manager
Content Source: sccm/core/servers/manage/checklist-for-installing-update-1810.md
Product: configuration-manager
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Great feedback, thanks @dbronco3 for sharing.

I'm closing this issue as I made a change for the revised checklist that we'll publish for 1906 release.


Implement Instruments Management and Download Functionality of musical instruments directories from GitHub

Added InstrumentsManager class to handle instrument sources, including scanning local directories and downloading from GitHub.
Introduced DownloadDialog for user-friendly instrument downloading with progress tracking and cancellation support.
Updated player configuration to include a new 'source' field for instrument selection.
Updated requirements.txt to include new dependencies: soundfile and humanize.

Now can download musical instruments directories from GitHub. Of course, this is not the best implementation and I did not spend much time to figure it out, but for the first time it will do.
Known Issues:

I didn't understand in five minutes how to add attributes to the box, so now the directory is written to the name of the musical instruments. Therefore, if there is the same name of musical instruments in different directories, then the first instrument found with the same name will be shown in the selection settings, although the correctly selected musical instrument will be indicated in the config file.
The download cancel button does not work well, because after canceling the file is not closed and therefore is not deleted.

Also, need to add other directories with musical instruments from other applications, so that there is a choice.
@yuki-sakura-chan If you want, you can make a pull request with the new directories or I'll add it later.

k. Do you want to make some kind of complex system? It's just that for the first time and due to lack of time I just made a repository download. And in the future I wanted to finish it so that it would be possible to select and download directories or musical instruments separately. That is, select what the user wants to download.


tutorials1-FinRL_PortfolioAllocation_NeurIPS_2020 can't train, it outputs "nan"

i think i have the right data

but when at part6, i failed to train_model

i try to find the problem
it seems here where "features" is no "nan"
but after "mlp_extractor()", the "latent_pi" is a "nan" tensor

is there anybody know why this happen? and how to deal with it?

It seems like your model has diverged and while extracting policy using log, it leads to NaN values. You can try hyperparameters optimization, maybe the current ones are suboptimal and diverging the models. The tutorial for the same is here


Unsaved board warning message

Description
I usually forget to hit the save button before I refresh the page.
It would be good to have a warning message if you have an unsaved progress.
I know it have a pop-up in the corner when you start editing, but if you have a long time editing process, and forget about to save, everything will be lost.
If it's technically not possible , another idea is a constant frame or sign "unsaved progress"  that the user clearly know there is an editing session.
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues

No way, that’s why people have been getting errors 😅 !
We already have that but recently I changed it so we don’t have it in development mode, I guess it doesn’t work in production anymore ?
It should prevent you from closing the page in edit mode

We actually implemented this but it seems that it has been broken for the last releases. I'll label this as a bug.

I already fixed it even better in the board-in-database branch


adding to the cleanup section

Made a gist to automate backups https://gist.github.com/asloan7/55ed4db622a901b635cf42b2053e0864


This dataset is originated from Big-Bench rather than ART...

Check page 21 in https://arxiv.org/pdf/2402.14809.pdf

Hi, thank you for your attention. There might have been some misunderstanding. Table 12 is not about the data source, but rather the "prompt source."

Hi, thank you for your attention. There might have been some misunderstanding. Table 12 is not about the data source, but rather the "prompt source."

But I cannot find relevant information mentioning that repeat copy is from ART.

Yeah, the data is source from Big-Bench, but the prompt is from ART.

Yeah, the data is sourced from Big-Bench, but the prompt is from ART.

Hmm...this is not mentioned in the arxiv.

We have mentioned this: the main text you have presented serves as the citation for the data, and Table 12 indicates the source of the prompt.


Deploy does not output full bin directory for systembridgewindowssensors

Description
https://pypi.org/project/systembridgewindowssensors/#history
What Platform / OS are you running?
Linux
What version are you running?
3.8.0.dev30
Anything in the logs or a references that might be useful?
No response
Additional information
No response

setup.py doesnt seem to be picking up the root directory

Hi
Is this the reason that I can't start the system bridge on my Windows?
2023-07-24 10:24:11 ERROR (Thread-3) [systembridgebackend.modules.sensors.Sensors] Windows sensors error: [WinError 2] Das System kann die angegebene Datei nicht finden

TheBigNeo

The application should work without windows sensors, you will just be missing some data

This was caused by the upgrade to .NET 7 https://github.com/timmo001/system-bridge/pull/2566


Cannot call the counter contract on test demo app: ERROR transaction rejected - ConflictingNonceInMempool

This works well for an existing account trying to see why this failed for the newly created account
CHROME EXTENSION
Cannot call the counter contract on test demo app
The user can bring up the pop up for transaction signing but when they select confrim they get the error below
ERROR transaction rejected - ConflictingNonceInMempool
VIDEO OF BUG http://somup.com/crneFXoPZ5

@timstackblock can you paste the STX address here?

Sure it works well for an existing account not sure why this newly create account is failing I am still testing. I think it might be related to the pending connect token request
ST1ZV5Z31HP25E2D3XA9W32S45MD2KZ177RT6R8TN

We closing this issue because #960 will fix it

@aulneau encountered this issue today while testing the security patch

This popped back up today lets reopen the issue

We can keep this issue open, but #960 gets at the root cause, so we should not keep both of them open

I'm closing this in favor of https://github.com/blockstack/stacks-wallet-web/issues/960.


Wire format change

I would like to propose wire format change. There are two things in my mind:

there is uber in headers: uber-trace-Id for span context and baggage prefix uberctx. This does not tell anything about jaeger. This could be changed to jaeger-
parentId is redundant when using the new model

The change will be problematic due to a large deployment of mixed services (jaeger and zipkin thrift used simultaneously).
I'm not sure how this could be done in the safest manner. Maybe implement new default inejector/extractor which would first extract/inject old and new headers and then after some time remove old headers.
This is also related to #121

-1
this is a duplicate of #121 and we already discussed that this change has practically no merits, just a cosmetic tweak, but is massively destructive on existing deployments.

Closing this, but re-open #121 for tracking in the future.


fix dac request file name

Throughout ClrMD there are multiple checks which allow dump processing only when current process architecture is equal to the dump architecture.
Dac info construction logic however uses current architecture to create dac request file name.
This may lead to the undesired effects.
E.g. you may want to try creating a DataTarget for a x86 dump in a x64 process.
Just to get general info and check if suitable dac can be found, without actual ClrRuntime creation (which will be done afterwards in a separate process with matching architecture)
But this will not work properly because of the incorrect file name in the dac info.
Seems to be a valid usecase. Or am I missing something?

The "long-named dac" has two architectures in it, one for the debugger's architecture and one for the target process (crash dump) architecture.  Some of these combinations actually exist, for example we created an x86 dac that can target an ARM32 process.  The dac for that version is something like
mscordacwks_x86_arm_version.dll.
So the code you see there is intentional, but it clearly doesn't do the right thing in the case where you are debugging an arm32 process on an actual arm32 machine (...arm_arm_version.dll)...  The most common use case for internal folks with ClrMD targeting arm was looking at crash dumps on their regular x86/x64 machines, so this code was "right" in most cases.
Ignoring arm for a moment, CLR has theoretically talked about doing an x64_x86 version of the dac (allowing you to use x64 versions of the debugger to debug a 32bit runtime), but every time someone tried to do this eventually they said "no, this is too much work and too difficult" and gave up.
The summary of all of this is:  The code as written is correct (other than arm <==> arm) and intentional.  It's theoretically possible we could build some of those other cross-architecture dacs to support other scenarios, but if we ever did the x86 <=> x64 one I'd have to modify ClrMD to handle it anyway (too many uses of IntPtr.Size).


fix issues

fix for selector

Hi @fumizo. Thanks for contribution. Why have you changed new selectors' syntax to old one?

I was going to build "GuillotineMenu", but it had 2 issues for selector. So I couldn't build it.

Which version of Xcode do you use?

I use Xcode 7.2 .

Xcode 7.2 has swift 2.1, but we've update our library to be compatible with swift 2.2. Please update to Xcode 7.3 or use GuillotineMenu 2.0.1

It's my honest mistake! I didn't found the difference of Xcode's version. Sorry!


Xrm.WebApi.retrieveRecord retuning names instead of schema names

If I am using 9.0 version, all the fields are coming in lowercase and also, retriveRecord method returning Name fields instead of SchemaName. Is there a way, we can fetch SchemaName?

The question doesn't really make sense. If you are using the Web API, you use the Web API property names and navigation properties. Schema names (usually) have nothing to do with it. In some cases navigation property names will reflect the schema name (mixed case).
If you want to retrieve metadata, the Xrm.WebApi doesn't provide a method for this.


Support for "In-Place" Encryption

Howdy,
I have been playing with the latest caam encryption code in my dev environment and have noticed that the partition to be encrypted will be formatted on initial setup.
Is it (or could it be) possible to check if the partition contains data and move it before encrypting the partition and then move the data back after?
I have my build configured to put data into my "soon-to-be-encrypted" partition, but then once it is mounted it is empty.
It would be nice if the encryption setup accounted for any data on the partition before potentially wiping it.
Not sure if dmsetup has the ability to encrypt the partition with data in-place, or if it would be possible to "detect" any data and move to a RAM-Drive while setting up the encrypted partition, and then move back once setup is completed?

Have made a quick fix for this issue.
Please ignore the first linked changes (I am on windows and managed to mess up the commit).

Interesting. I am not sure if this can be done transparently via dmsetup, but can certainly be done by the script that handles the encryption.
I linked your PR (https://github.com/toradex/meta-toradex-security/pull/26) to this issue.

@sergioprado - Can you unlink the old PR and link the new one #27 to this now I have updated it correctly this time.


Synchronous messaging between .net WebRole and Python

Our site is served by a .net WebRole.  I want to process data from the user synchronously in a Python process.  The Python process has to be able to use extension packages, scikit-learn specifically, so I think Azure lambda is out.
I am considering an architecture whereby the .net WebRole process communicates with a Python WorkerRole via an Azure Relay Hybrid Connection.   Hybrid Connections do not seem documented in Python.
Is my architecture optimal?

Hi @andrewkittredge
I'm not an expert in Azure architecture, so I can't tell right now, and you should ask you question on MSDN to get more input.
However, when you say "Azure lambda is out", assuming you're talking about Azure Functions, WebApp for Containers might do the work for you:
https://azure.microsoft.com/en-us/services/app-service/containers/
Thanks,


Support for electronic Hamiltonians for relativistic quantum chemistry

What should we add?
The minimum requirements to run relativistic quantum chemistry calculations are as follows.

Support for DIRAC and BAGEL software packages by enabling reading relativistic FCIDUMP files
Electronic integrals with complex values
Support for spinor basis (it is a single-particle basis analogous to spin-orbital basis) with no alpha- and beta-blocks, and fewer permutational symmetries
Ensure correct factors in Hamiltonian

Unitary coupled-cluster ansatz requires further development to be able to work with relativistic integrals.

Ensuring the proper HF guess
General excitation pattern without constraints for alpha- and beta-blocks

I am currently working on the first part, and I would be happy to include changes soon.

Some of the proposed features are overlapping with #455.

As discussed in our meeting earlier, please be mindful of the ongoing refactoring which is largely affecting the parts of the code that you will also be working with here. See e.g. this issue: #814

Electronic integrals with complex values

With respect to this point that you brought up: we cannot simply make everything in the entire stack complex by default (that was the problem of #455). Instead, I am thinking a solution could be the introduction of a new option in qiskit_nature.settings which determines the default number type (e.g. float by default, but can be set to complex). That setting would then need to be used accordingly/consistently throughout the entire stack.
I would have to sit down with more time to come up with a more detailed list of the affected locations.
@woodsp-ibm Do you have any thoughts on this? I know we had started a discussion around this in the past at some point..

After the 0.5 release has now shipped, I wanted to provide a quick update on the various points:

Support for DIRAC and BAGEL software packages by enabling reading relativistic FCIDUMP files

I am all for this :+1: Please also be aware of #933 which is targeting some significant performance improvements and might change the code considerably

Electronic integrals with complex values

See my previous comment and the resulting issue tracking this more generally: #932

Support for spinor basis (it is a single-particle basis analogous to spin-orbital basis) with no alpha- and beta-blocks, and fewer permutational symmetries

The FCIDump currently assumes some symmetries but other than that, the code base is largely symmetry-indifferent

Ensure correct factors in Hamiltonian

Could you elaborate a little bit what you mean by this?

Ensuring the proper HF guess

I am assuming this also has to deal with the lack of alpha-/beta-spin differentiation?

General excitation pattern without constraints for alpha- and beta-blocks

This should already be supported except for the complexity suggestion done in #455. See for example the generalized=True option of the UCC ansatz.


added error struct for fault injection

added error struct for fault injection to be used in mesher reverse proxy

Coverage decreased (-0.7%) to 64.292% when pulling 5252f96d6fef028832f85a29cb7be0ff54e77632 on Gauthamiv:faultError into bd86eff92ad57c8b26e9ab6ba02a1b48daeed227 on ServiceComb:master.


Integrate the plugin with angular(angular2) application

Folks,
Is there any way to integrate this with an angular2 application? I was using some wrappers suggested in the   'wrappers and integration' section. Clueless about how to do it with an angular2 application developed using angular-cli

Actually followed the integration methodology suggested in the documentation since without using jquery I couldn't move on to integrate this. Then, I am getting this error on initializing step at the basic integration itself.
$(function () {       $('.editable').mediumInsert({         editor: this.editor       });     });
Error as here -  Property 'mediumInsert' does not exist on type 'JQuery'

@orthes Any help or any support would be appreciated!


Lz4FrameEncoder (and other compressors) Acknowledge Writes Too Early

Expected behaviour: The promise for a write should be completed only once the write makes it to the network
Actual behaviour: Buffering encoders that extend MessageToByteEncoder, most notably Lz4FrameEncoder and other compressors, will notify the promise before the frame containing the message reaches the network.
This behaviour is triggered by MessageToByteEncoder.write which is designed for 1:1 conversions from message to ByteBuf.  For the affected compressors, the encode method returns a ByteBuf that does not fully contain the message, unless it happens to precisely fill the buffer.
Either an empty ByteBuf is returned, or one containing only part of the message, with the remainder in both cases left in the buffer.  In either case, the supplied promise will be attached to the write of this ByteBuf (empty or otherwise), and not to the ByteBuf that contains the end of the message.
Netty version: 4.0+ (I think, certainly confirmed on 4.1)

Unfortunately resolving this issue is less trivial than we might hope, as each buffering MessageToByteEncoder needs to be updated.  We probably want to introduce a MessageToBufferedByteEncoder or some such, that also buffers promises for all messages in a given buffer.  This will mean updating a lot of classes that extend MessageToByteEncoder.
Note that the SslHandler effectively already handles this by buffering the unencrypted messages alongside their promise.  Whether or not we want to port the SslHandler to any new parent class is also a consideration.

@belliottsmith interesting finding :) It does look like a mis-use of MessageToByteEncoder, which doesn't contain much logic to begin with. I like your idea of introducing a new MessageToBufferedByteEncoder (BufferingMessageToByteEncoder?) - hopefully it could be a non-breaking addition if it extended MessageToByteEncoder.
It could have an alternative encode method (bufferedEncode?) which returns a boolean indicating whether the input message was fully included in out, and override encode just to call this. Then existing impls would hopefully need minimal change, i.e. just rename their encode and return the appropriate val instead of void. WDYT?
I'm tempted to label this issue bug but will leave that to @normanmaurer in case there is something we're missing...

@njhill yes it is a bug and yes I think we should have a new base-class that extends MessageToByteEncoder for this. This way we can hopefully implement it without breaking the API (which we can't for 4.1).

@belliottsmith thanks for bringing this up.

This is definitely a bug - sorry if I should have labelled it as such at filing (not sure I have the rights to do so though)
Agreed that we should extend MessageToByteEncoder
A more "correct" fix would be to standardise the buffering encoders on a class that can handle the buffering for them.  But something like what you propose is certainly easier and less invasive.  I'll take a look at rustling up a candidate soon.

Hmm, so taking a closer look at the other encoder implementations, this looks to only affect Lz4FrameEncoder, as none of the others seem to not explicitly buffer - they simply encode a block large enough to contain the input message.  So this might be simpler than we thought - I might keep it simple and just override the necessary methods in MessageToByteEncoder in only Lz4FrameEncoder

@belliottsmith SGTM

@belliottsmith I think at least Bzip2Encoder is similarly affected? I agree that it would be nicer to abstract/consolidate equivalent buffering logic but in the bzip2 case at least, the buffering happens within a separate "block compressor". Having just an aggregate promise in the superclass which is passed to write only when encode... returns true seems like it would be very simple and address both cases.

Another problem with the current implementation is that it does not correctly update the channel writability as it not uses PendingWriteQueue or AbstractCoalescingBufferQueue :/

@belliottsmith did you have time to look into it ?

Sorry @normanmaurer, O did not and since forgot.  It turns out it's harder to keep up with your regular responsibilities when you're distracted by a cute baby in your personal time.
I'd still be willing to take a look, but you might have to bear with me another few weeks.  Please don't feel like you're treading on my toes if you or somebody else wants to address it though.


cloud controller creates lrp port list with duplicate ports (2222)

Issue
Given that a developer pushes a docker images which exposes port 2222
Cloud controller also appends port 2222 without checking if it is already part of the list of ports.
Context
While investigating a bug in Diego connected to recents changes regarding the container proxy work in our environment, we stumbled across LRPs that have port 2222 in their port list multiple times (see https://www.pivotaltracker.com/n/projects/1003146/stories/152181773).
diego-cell/bfe47812-dd23-4375-8f0e-aacf9be0a9b6:/var/vcap/sys/log/rep$ cfdot desired-lrps | grep dd79a82a-8d72-4910-88cf-dccfd523c401-3ad1352c-b993-416d-8ddd-151ca8775f13 | jq  .ports
[
  1337,
  2222,
  8474,
  2222
]

It seems that when a docker image already exposes port 2222, cloud controller simply appends 2222 again without noticing.
Steps to Reproduce
See Diego tracker story above.
Expected result
I'm not quite sure what the expected behaviour should be. I'm undecided between simply de-duplicating the list of ports and returning an error because port 2222 is somewhat "special" and maybe shouldn't be exposed by a docker image pushed to CF.
Current result
Port 2222 appears twice in the port list.
Environment:
cf-release 278
diego 1.29.0
diego.temporary_local* are set to true

For context, the SSH subsystem in Diego will allow the in-container diego-sshd process to serve on a port other than the default 2222, so long as that port is set in both https://github.com/cloudfoundry/cloud_controller_ng/blob/d3e0e9ee1c836b6ac43c9e6dbeba4a0eb50bae21/lib/cloud_controller/diego/app_recipe_builder.rb#L35 and https://github.com/cloudfoundry/cloud_controller_ng/blob/d3e0e9ee1c836b6ac43c9e6dbeba4a0eb50bae21/lib/cloud_controller/diego/app_recipe_builder.rb#L177. So if 2222 is already in the list of specified ports, CC could pick a different one (1024 or greater) that doesn't collide.
Best,
Eric, CF Diego PM

@emalm just to confirm, if we pick a random high port the user shouldn't need to add any new firewall rules right? They'll still connect to the SSH LB on port 2222 but Diego will then forward to a different port once the traffic is inside the network, correct?

@ljfranklin yep, that's right: that port applies only inside the container, garden networking will DNAT it out to some other port on the cell host, and the SSH proxy will connect to that DNATed port. That's all completely independent of the port that the ssh-proxy listens on for incoming SSH connections.

Closing to lack of activity.


conn: disconnection triggers a state change cb

More in line with the Java client, transitioning from DISCONNECTED to
DISCONNECTED via DNS failure should also call the state changed
callback, that will ensurethat the connection will no longer be polled
and also force an early metadata update

Closing this, mostly due to choosing to resolve the root issue in karapace, plus the spam it would create for the metric client, should there be one


Vim installation

[ x] I have read through the manual page (man fzf)
[ x] I have the latest version of fzf
[ x] I have searched through the existing issues

Info

OS

[ ] Linux
[x ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[ x] zsh
[ ] fish

Problem / Steps to reproduce
I see in instructions:
If installed using Homebrew
set rtp+=/usr/local/opt/fzf

but  I have installed fzf by homebrew and don't have folder /usr/local/opt/fzf at all. How I can install fzf in vim?

If you're using a MacBook with Apple silicon, the directory is different. It's /opt/homebrew/opt/fzf. I'll have to update the instruction.


Updating dockerfiles and base images

Description
This PR is cherrypicking from https://github.com/stackabletech/docker-images/pull/527
As we won't downgrade dependencies from airflow and superset ( compiling problems ), this only picks the following.
Airflow
Dockerfile update for statsd_exporter as multi-arch binary
Superset
Same as Airflow
Opa
Same as airflow
Base-Images
Rust-Builder and stackable-base got a multi-arch list of ubi-8 8.9
Definition of Done Checklist

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
Please make sure all these things are done and tick the boxes

- [ ] Changes are OpenShift compatible
- [ ] All added packages (via microdnf or otherwise) have a comment on why they are added
- [ ] Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
- [ ] All packages should have (if available) signatures/hashes verified
- [ ] Does your change affect an SBOM? Make sure to update all SBOMs

Looking good but let's wait for the discussion around https://github.com/stackabletech/docker-images/pull/540

@siegfriedweber may you have a look over the image selection mechanism in superset, airflow, vector, opa and spark?

This is nothing user-visible yet, correct?
This is "only" foundation work?

Yes, customer visible is only 23.11.0 in stackable-experimental . We are going to release a short article on how to access it and what to expect from it https://github.com/stackabletech/documentation/pull/527


Limit use single thread/core for inferance ASR

Question
Hi,
I am able to build and run all module successfully for wav2wec2 training and decoding.
But when i use/import flashlight library it uses all the available threads/cores of the system, do we have any parameter to restrict threads/cores while using?
For example: by loading/using libs it uses all threads (not using GPU at inferance time)
# from flashlight.lib.text.dictionary import create_word_dict, load_words
# from flashlight.lib.sequence.criterion import CpuViterbiPath, get_data_ptr_as_bytes
any help will be appreciated.
Thank you

For which particular function you need to limit number of threads?

Hi @tlikhomanenko
Thanks for quick reply.
For now looking for below functions:
flashlight.lib.text.dictionary.*
flashlight.lib.sequence.criterion.*
flashlight.lib.text.decoder.*

This there any parameter that can be used for entire library?
Thank you

Thanks @joazoa @tlikhomanenko ,
This worked for me.


how to use as a Continuous movement??

Hi
Thanks for your great work.
when i use your lib for example
elif event.type == EVENT_STICK_MOVED:
if event.stick == RIGHT:
print(event.x , event.y )
it seems the events are discrete not Continuous,  i need to reported event.x and event.y very frequently
when i hold STICK_MOVED
any solution ??

Hi there (:
I'm not exactly sure I understand the issue you are having.
The function get_events() returns any changes in the controller state
compared to the last time you called get_events(). Thus, if you want to
get continuous updates, you need to call the method as frequently as
required or you use the GamepadThread class.
mzalaki00 @.***> schrieb am Di., 14. März 2023, 14:35:

Hi
Thanks for your great work.
when i use your lib for example
elif event.type == EVENT_STICK_MOVED:
if event.stick == RIGHT:
it seems the events are discrete not Continuousو i need to reported
event.x and event.y very frequently
when i hold STICK_MOVED
any solution ??
—
Reply to this email directly, view it on GitHub
https://github.com/Zuzu-Typ/XInput-Python/issues/10, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE4E5F7H4SITDFNY43T2IRLW4BX2ZANCNFSM6AAAAAAV2OQCHI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

i was looking for something like event.type == EVENT_STICK_Holded :) to know event.x and event.y every milisecond
that gives Continuous flow of events but i find there is replacement --> your function get_thumb_values(state=get_state(0))
it solved my need.
Thanks


New kind of definitions to verify builtins

I.e.:
declare NativeArray<T>; // type assertion
declare function array#length<T>(a: NativeArray<T>): number; // function assertion

declare asserts that there is such definition being successfully type checked and the type is the same to how it's declared.
Those declares could be used in prelude for builtin synopsis and documentation, which is important.

By default our users don’t need to compile these definitions which might be costly. We could make them type check upon #[cfg(test)] and leave the definitions in release mode as documentation.


should improve logging by adding filter, tracing

filter

Logging.add_filter(filter) api
logging/default_filter is added as following:
default_filter handle LOG_FILTER env var as the regular expressing to filter the progname
for example: LOG_FILTER=* by default => display all progname
before displaying the log message, filters are called, log message is displayed when all filters return true

tracing
every log message must have info of where the log is called (file, line number, function/method name and the message)

@datphan this is what I meant to make it clearer, you can continue implementing it on this branch: https://github.com/hoatle/teracy-dev/tree/features/%23444-logging-filter

fixed: https://github.com/hoatle/teracy-dev/pull/7

merged, tracing is not working yet, need to display the exact number of the file and the function name within which the logger is called

moving this issue to v0.6.0-a2


Add Apache 2 License

The cookiecutter added a BSD 3 license, but under the copywrite of the developer who uses the cookiecutter. Therefore we are switching to the Apache 2 License used by the Elyra org.

As per the discussion in todays JupyterLab dev call, which has been continued here: https://github.com/jupyterlab/extension-cookiecutter-ts/issues/24
The cookie cutter "gives" the copywrite of the code generated to the developer who uses it. That issue has opened the vote to make the entirety of the repo under CC-0, but for our case I (and @akchinSTC) own the copywriter here and we can choose our license.
Therefore as long as @akchinSTC signs off on the update since he contributed code we can commit this.


COMP: Workaround itkPyCommand KWStyle check "error: namespace is wrong"

Worked around the KWStyle check failure ("error: namespace is wrong"), by moving the unnamed namespace of itkPyCommand.cxx inside the itk namespace. Apparently, KWStyle expects the first opened namespace in an ITK source file to be named itk.

Note: From a C++ point of view I think it's entirely correct to have an unnamed namespace at the begin of an ITK cxx file (even before opening the itk namespace). So I think the KWStyle check failure is undeserved. But well, that's why it's just a workaround 😺 The KWStyle check appears implemented at https://github.com/Kitware/KWStyle/blob/1173206c0e7f4bc70dc3af641daf6e33f4042772/kwsCheckNamespace.cxx

Instead of modifying itkPyCommand.cxx like this, I wouldn't mind if this particular KWStyle check would be removed (or at least: skipped). What do you think?

I am totally fine with this modification.

@N-Dekker this can be avoided by overriding the namespace checkout for this file -- see the Utilities/KWStyle/ITKOverwrite.txt file.

Thanks for your comments so far, @dzenanz and @thewtex. Instead of this PR (4047), please consider:

#4048

I like this PR better than the other one.

Thanks @dzenanz I'm not opposed to this PR, but I like the other one (#4048) better 😸

There are valid argument for each, and I think either would be fine to merge. Personally, I also prefer #4048 -- yes, it is applied to all .cxx files, but this is a common enough issue in my experience.

There are valid argument for each, and I think either would be fine to merge. Personally, I also prefer #4048

Thanks Matt. Actually I think the most ideal solution would be to extend the KWStyle Namespace check to allow top-level unnamed namespaces and C++17 nested namespaces (as long as they are nested within the itk namespace). But that's quite some more work than just working around the warning (this PR), or disabling the warning for any cxx file (PR #4048)!
I'll reopen this PR now (Ready for review, so ready for merge). Although I still prefer #4048, I leave it up to the reviewers which one gets merged 😃

Resolved in #4048


State should update periodically

I noticed that when changing a state value externally (eg from iPhone) the Stream Deck is not updated at all.
I would love when I could set an interval per button at which the button should recheck the current state (eg. every 1, 2, 5, 10, 60 ... seconds)

I noticed that when changing a state value externally (eg from iPhone) the Stream Deck is not updated at all.

Yes, current version does not check for updates.

I noticed that when changing a state value externally (eg from iPhone) the Stream Deck is not updated at all.

I am not sure about independent updates configurations. Technically possible to request all statuses in one call, so it should be possible to update all statues together.
Where do you place you Homebridge action button? Main screen or inside profile/folder?
There is an event on potentially allow update statuses before button will appear on Streamdeck.
https://developer.elgato.com/documentation/stream-deck/sdk/events-received/#willappear

Implemented in v1.4.0


Fix tests on Waypoint Mobile Responsive Images

Test for img-responsive class on second image now has expected behavior even if user has added img-responsive class to first image.
Changed order of last two tests to better follow steps given in description.

closes #1078

@joel-bentley Nice work!


Update readme use make tasks.

This is a general cleanup of the readme and includes:

Updated instructs to use make tasks instead of terraform/scripts.
Quickstart and optimized demo usage instructions.

/assign

test this please

/woof

/assign

/unassign @chrislovecnm

/assign @chrislovecnm

/woof

@chrislovecnm
error:  "status code 403 not one of [201], body: {"message":"Must have admin rights to Repository.","documentation_url":"https://developer.github.com/v3/issues/assignees/#add-assignees-to-an-issue"}"

@krzyzacy which user?

I tried to do some history rewriting to resolve the CLA error as described in the help page it links to. The result is pretty ugly, so I'm going to abandon this PR and open a new one.


server: use host record related to a ssvm/cpvm

This implements the systemvm list API response creator to find and use
the host record for a ssvm/cpvm to get the agent status and other
details like last disconnected date and agent version.
Fixes #3875
Signed-off-by: Rohit Yadav<EMAIL_ADDRESS>Description

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✖centos6 ✔centos7 ✔debian. JID-795

API response on fresh zone deployment when VMs are not up:
    {
      "created": "2020-02-10T11:36:11+0530",
      "dns1": "<IP_ADDRESS>",
      "gateway": "<IP_ADDRESS>",
      "hostid": "5735265e-cc04-4b97-8e9f-9a78e6d99855",
      "hostname": "monkeybox-centos7-kvm1",
      "hypervisor": "KVM",
      "id": "2e7293a0-d168-46f3-bc29-262ddbf22474",
      "linklocalip": "<IP_ADDRESS>",
      "linklocalmacaddress": "0e:00:a9:fe:3a:8c",
      "linklocalnetmask": "<IP_ADDRESS>",
      "name": "s-2-VM",
      "podid": "c630a58b-6aa4-4a37-84a0-6cc8d711138b",
      "privateip": "<IP_ADDRESS>",
      "privatemacaddress": "1e:00:03:00:00:6f",
      "privatenetmask": "<IP_ADDRESS>",
      "publicip": "<IP_ADDRESS>",
      "publicmacaddress": "1e:00:81:00:01:7d",
      "publicnetmask": "<IP_ADDRESS>",
      "state": "Starting",
      "systemvmtype": "secondarystoragevm",
      "templateid": "d46f0da6-4bca-11ea-bb57-f4d1082409e6",
      "zoneid": "03a01cbf-aea2-4ea9-b2ff-c7c6394fad53",
      "zonename": "KVM-advzone"
    }

On/after connected:
    {
      "agentstate": "Up",
      "created": "2020-02-10T11:36:11+0530",
      "dns1": "<IP_ADDRESS>",
      "gateway": "<IP_ADDRESS>",
      "hostid": "5735265e-cc04-4b97-8e9f-9a78e6d99855",
      "hostname": "monkeybox-centos7-kvm1",
      "hypervisor": "KVM",
      "id": "2e7293a0-d168-46f3-bc29-262ddbf22474",
      "linklocalip": "<IP_ADDRESS>",
      "linklocalmacaddress": "0e:00:a9:fe:3a:8c",
      "linklocalnetmask": "<IP_ADDRESS>",
      "name": "s-2-VM",
      "podid": "c630a58b-6aa4-4a37-84a0-6cc8d711138b",
      "privateip": "<IP_ADDRESS>",
      "privatemacaddress": "1e:00:03:00:00:6f",
      "privatenetmask": "<IP_ADDRESS>",
      "publicip": "<IP_ADDRESS>",
      "publicmacaddress": "1e:00:81:00:01:7d",
      "publicnetmask": "<IP_ADDRESS>",
      "state": "Running",
      "systemvmtype": "secondarystoragevm",
      "templateid": "d46f0da6-4bca-11ea-bb57-f4d1082409e6",
      "version": "<IP_ADDRESS>-SNAPSHOT",
      "zoneid": "03a01cbf-aea2-4ea9-b2ff-c7c6394fad53",
      "zonename": "KVM-advzone"
    }

Since, this is purely API response change with manual testing, Travis smoketests should be enough.

@rhtyd tested ok.
Just a question, why did you replace lastping with disconnected in response ? we can keep both.

@weizhouapache that value is not updated in the DB, in my test it always was new Date(1543447795) or Mon Jan 19 02:14:07 IST 1970

LGTM

@weizhouapache that value is not updated in the DB, in my test it always was new Date(1543447795) or Mon Jan 19 02:14:07 IST 1970

@rhtyd oh yes. cloud service does not send PingCommand to management server every minute.


content in contentLoaded is always undefined

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
I want to use the contentLoaded api to get the content of my site.
I created the following plugin:
module.exports = function getContent(...pluginArgs) {
  return {
      name:"testplugin",
      async contentLoaded({ content, actions }) {
          console.log("contentLoaded's content: ",content);
      },
  };
}

and added it to the plugins configuration in docusaurus.config.js. When I run yarn build, I get in the console:
contentLoaded's content:  undefined

but I'd expect to get the content of the site. Am I not using the async contentLoaded function correctly? And how can I get access to the content of the site for use in a plugin?
Reproducible demo
https://codesandbox.io/p/devbox/green-firefly-37w5c9
Steps to reproduce
Create plugin such as
module.exports = function getContent(...pluginArgs) {
  return {
      name:"testplugin",
      async contentLoaded({ content, actions }) {
          console.log("contentLoaded's content: ",content);
      },
  };
}

try to use content.
Expected behavior
I would expect content to show the data associated with the site so that it can be parsed, etc.
Actual behavior
content is always undefined.
Your environment

Public source code:  https://codesandbox.io/p/devbox/green-firefly-37w5c9
Public site URL:    https://codesandbox.io/p/devbox/green-firefly-37w5c9
Docusaurus version used:  3.5.2
Environment name and version (Node.js 18):
Operating system and version:

Self-service

[ ] I'd be willing to fix this bug myself.

Each plugin can only get its own content. If you didn't define loadContent, then you will receive no content. It's not possible for a plugin to get content from other plugins, other than possibly in postBuild you can inspect the HTML build output etc.
I'm closing this for now since it's not a bug. If you have questions about how to implement a particular use case, please use GH discussions.

Technically there's a secret allContentLoaded() hook you can use that received the whole site plugins content aggregated. It's used by our debug plugin.
But it's internal and I'm likely to remove it,  but if I ever do there will be an alternative option such as accessing the site content from the upcoming Server Components. So for an app I think it's relatively safe to implement this lifecycle until we have a better option.

Yeah, I was using allContentLoaded for my plugin when that was one of the arguments to contentLoaded (maybe from docusaurus 2.x?) and it worked fine for a while. But then it stopped working when I upgraded from 3.1 to 3.5 and I saw what I was doing was not anywhere in the documentation, so clearly that was asking for trouble. I ended up seeing your reference for doing this (discussion example ) and that was super helpful. Using that code as a template, I was able to recreate my plugin but in a supported / working way. Thanks!


Any chance to have Language Similarity example in python?

Hello,
Is possible to use  Language Similarity in python? Or I have to use C# to use this functionality?
This is the function I am trying to replicate in python.
https://docs.microsoft.com/en-us/academic-services/graph/language-similarity-gettopfieldsofstudy
Regards.
Nelson.

Hi Nelson,
Did you able to use Language similarity in python? Or you just converted the c# code in python?
Please let me know how did you do? Recently I came up with that and I am Mac user, to run code C# in MAC,  I am facing a lot of trouble. I am thinking to do code in python.
Regards
Mahfuja

Hi Nelson and Mahfuja,
Has there been any solution to this? Thank you!
Best,
Jino

No, I didn't get any solution. Thanks


feat: add style-dictionary tokens for download

closes #806

Ich bekomme bei dem Einlesen der Tokens noch folgende Referenzierungsfehler:

Reference Errors: Some token references (180) could not be found.
Reference Errors:
Some token references (180) could not be found.

colors.light.neutral.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.neutral.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.neutral.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.neutral.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.neutral.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.neutral.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.brand.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.brand.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.brand.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.brand.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.brand.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.brand.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.informational.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.informational.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.informational.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.informational.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.informational.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.informational.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.warning.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.warning.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.warning.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.warning.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.warning.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.warning.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.successful.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.successful.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.successful.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.successful.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.successful.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.successful.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.critical.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.critical.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.critical.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.critical.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.critical.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.critical.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.yellow.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.yellow.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.yellow.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.yellow.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.yellow.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.yellow.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.orange.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.orange.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.orange.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.orange.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.orange.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.orange.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.red.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.red.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.red.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.red.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.red.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.red.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.pink.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.pink.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.pink.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.pink.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.pink.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.pink.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.violet.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.violet.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.violet.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.violet.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.violet.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.violet.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.blue.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.blue.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.blue.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.blue.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.blue.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.blue.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.cyan.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.cyan.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.cyan.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.cyan.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.cyan.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.cyan.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.turquoise.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.turquoise.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.turquoise.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.turquoise.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.turquoise.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.turquoise.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.light.green.origin.default.value tries to reference colors.light.origin.default.value, which is not defined.
colors.light.green.origin.hovered.value tries to reference colors.light.origin.hovered.value, which is not defined.
colors.light.green.origin.pressed.value tries to reference colors.light.origin.pressed.value, which is not defined.
colors.light.green.on.origin.default.value tries to reference colors.light.on.origin.default.value, which is not defined.
colors.light.green.on.origin.hovered.value tries to reference colors.light.on.origin.hovered.value, which is not defined.
colors.light.green.on.origin.pressed.value tries to reference colors.light.on.origin.pressed.value, which is not defined.
colors.dark.neutral.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.neutral.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.neutral.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.neutral.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.neutral.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.neutral.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.brand.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.brand.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.brand.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.brand.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.brand.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.brand.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.informational.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.informational.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.informational.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.informational.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.informational.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.informational.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.warning.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.warning.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.warning.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.warning.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.warning.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.warning.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.successful.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.successful.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.successful.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.successful.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.successful.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.successful.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.critical.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.critical.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.critical.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.critical.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.critical.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.critical.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.yellow.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.yellow.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.yellow.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.yellow.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.yellow.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.yellow.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.orange.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.orange.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.orange.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.orange.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.orange.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.orange.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.red.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.red.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.red.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.red.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.red.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.red.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.pink.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.pink.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.pink.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.pink.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.pink.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.pink.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.violet.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.violet.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.violet.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.violet.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.violet.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.violet.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.blue.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.blue.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.blue.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.blue.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.blue.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.blue.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.cyan.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.cyan.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.cyan.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.cyan.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.cyan.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.cyan.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.turquoise.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.turquoise.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.turquoise.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.turquoise.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.turquoise.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.turquoise.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.
colors.dark.green.origin.default.value tries to reference colors.dark.origin.default.value, which is not defined.
colors.dark.green.origin.hovered.value tries to reference colors.dark.origin.hovered.value, which is not defined.
colors.dark.green.origin.pressed.value tries to reference colors.dark.origin.pressed.value, which is not defined.
colors.dark.green.on.origin.default.value tries to reference colors.dark.on.origin.default.value, which is not defined.
colors.dark.green.on.origin.hovered.value tries to reference colors.dark.on.origin.hovered.value, which is not defined.
colors.dark.green.on.origin.pressed.value tries to reference colors.dark.on.origin.pressed.value, which is not defined.


github: Update ci node versions

Detailed description
Test project against node version 18 and 20, dropping testing against version 19 and versions that are under 18.
Since new Debian stable has released, Debian stable uses NodeJS v18 so we don't need to make sure that the project is tested against node 12.
Versions 14 and 19 are EOL and Version 16 is going to be EOL in couple of months so there's no need to test against those versions either.
And since version 20 has been released, we should start testing against it.

Your checklist for this pull request

[x] I've read the Code of Conduct
[x] I've read the guidelines for contributing to this repository
[x] It builds and lints cleanly
[x] I've tested it to the best of my ability
[x] My commit messages provide a useful short description of what the commits do
[x] I've made sure that my commits are signed/verified

Closing issues

This all looks good, so we'll get this merged - thank you!


[FEATURE]: side-to-side comparison in the playground

Description

Added a new side-to-side comparison functionality in the playground.
Implemented a user-friendly interface to toggle between side-to-side view and tab view.

@MohammedMaaz @bekossy
I think the last commit removed some of the features (draggability), can you please check


3420 upgrade flow test

Description

Fixes #3420
Fixes #3421
Fixes #3422
Fixes #3424
Based on #3486
Type of change

[ ] Docs change / dependency upgrade
[x] Configuration / tooling changes
[ ] Refactoring
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Creates a forge tests that:

add routers
add router liquidity
adds pool
adds pool liquidity
performs fast path transfer
performs slow path transfer

on all combinations of supported destination / origin domains
Related Issue(s)
Fixes
Related pull request(s)

Testing on mainnets and found these two issues: #3687 #3686


Continuously poll the color sensor value

TODO: Polish the code up a bit; add checks that one of the fixtures in the contact is the color sensor.
Fixes #176

@JamesWP can you please merge, I don't have the privileges?

You will need to bump the version in the package json to publish to npm


pivot on Ray engine is slow

System information

Modin version: 643596d5f9e519358fe785ccd081ba05edb624ee
Exact command to reproduce:

def test2():
    import modin.pandas as pd
    import pandas
    import numpy as np
    import numpy.random
    from time import time

    size = 10**6
    df = pandas.DataFrame(numpy.random.choice(pd.date_range(start='1/1/2021', end='3/1/2021'), size=size), columns=["timestamp"])
    df["description"] = pandas.Series([f"test_string{x}" for x in range(size)])
    df["numbers"] = pandas.Series(numpy.random.choice(np.random.uniform(1, 10, size=(10_000,)), size=size))

    modin_df = pd.DataFrame(df)
    for _ in range(3):
        start = time()
        df.pivot(index="description", columns="timestamp", values="numbers")
        print(f"pandas time: {time()-start}")
    print("\n\n")
    for _ in range(3):
        start = time()
        modin_df.pivot(index="description", columns="timestamp", values="numbers")
        print(f"modin time: {time()-start}")

test2()

Describe the problem

Modin(8 cores) 2.5 time slower than Pandas.
Source code / logs

pandas time: 2.3854618072509766
pandas time: 2.334975242614746
pandas time: 2.335522413253784

modin time: 5.825315237045288
modin time: 5.775348424911499
modin time: 5.766143798828125

More actual performance results(for 9782a027568d9ad16bf2c3dea434646cec5e4898):
pandas time: 2.2864537239074707
pandas time: 2.187014579772949
pandas time: 2.144266366958618

modin time: 5.857679843902588
modin time: 5.642812728881836
modin time: 5.5898356437683105

@dchigarev is there easy way to fix pivot performance?

The performance essentially depends on the result metadata (index and columns labels). If we are able to compute index/columns before running a remote task and pass them to the result Core Modin Dataframe, that will help to improve the performance. If we are not able compute index/columns preliminary, we should improve metadata management itself. The changes from #3530 may speed up pivot.

Explicit index labels computing requires materialization of the columns that were passed to the pivot as an index argument, we would like to avoid it so we can only rely on a lazy index propagation.
Pivot is essentially df[index + columns + values].set_index(index + columns).unstack(level=columns) or df.groupby(index)[columns + values].apply(lambda df: df.set_axis(columns).T), neither of this has a decent implementation in Modin. In the current master pivot runs via unstack, which is only parallelized column-wise (more granuraly partitioning may help, but not in the case from reproducer, where there is only one "value" column).

Explicit index labels computing requires materialization of the columns that were passed to the pivot as an index argument, we would like to avoid it so we can only rely on a lazy index propagation.

I mean computing index/columns labels directly in the main process (like we compute new columns for join in OmniSci engine link), but not calling remote functions to compute the labels. Is there such a way to compute index/columns labels for pivot beforehand?

The new index and column labels are based on the data of the source frame, data literally being moved from the "index" columns to the index, and the data from "columns" columns to the frame's column labels accordingly.
Example
>>> df
  col1 col2  col3
0    a    A     1
1    b    B     2
2    c    C     3
3    c    A     4
>>> df.pivot(index="col1", columns="col2", values="col3")
col2    A    B    C
col1
a     1.0  NaN  NaN
b     NaN  2.0  NaN
c     4.0  NaN  3.0
>>> df.pivot(index="col1", columns="col2", values="col3").index
Index(['a', 'b', 'c'], dtype='object', name='col1') # equals to the df["col1"].unique()
>>> df.pivot(index="col1", columns="col2", values="col3").columns
Index(['A', 'B', 'C'], dtype='object', name='col2') # equals to the df["col2"].unique()

This behavior is similar to the to_labels core operator, that is implemented via materialization of the columns required to move to the labels:
https://github.com/modin-project/modin/blob/c0191d6beccde97d9b29d05b6228af380bbfaa12/modin/core/dataframe/pandas/dataframe/dataframe.py#L708-L712
Since our Index objects are pure pandas, we can't use anything but materialized data.
It's possible to apply the same approach as for the computing partition's length and width: basically, it stores a future of the following function: lambda df: len(df.axes[axis]) and materialize it only when the length or width value is accessed:
https://github.com/modin-project/modin/blob/c0191d6beccde97d9b29d05b6228af380bbfaa12/modin/core/execution/ray/implementations/pandas_on_ray/partitioning/partition.py#L295-L297
We can store a future of the resulted_df.index as the index_cache and retrieve the value from it only when the index value is accessed:
@property
def index(self):
    if self._index_cache is None:
        self._index_cache = self.get_future_for_the_index()
    if is_future(self._index_cache):
        self._index_cache = pandas.Index(self._index_cache.get())
    return self._index_cache

But this should be tried only after #3662 will be merged.

It's possible to apply the same approach as for the computing partition's length and width: basically, it stores a future of the following function: lambda df: len(df.axes[axis]) and materialize it only when the length or width value is accessed.

Some time ago I was thinking about similar handling index and columns labels for Core Modin Dataframe. That might be implemented separately for PandasOnRayDataframe or PandasOnDaskDataframe. And, of course, some measurements will need to be carried out to compare the performance of the approach with one that is in #3662.

@YarShev updated performance results are on the PR top.

@anmyachev, thanks! Apparently, #3662 doesn't help a lot.

I have added some blocking calls to repr() to make sure we're not measuring just issuing the jobs, and here's the run result on my machine (6 workers used):
def test2():
    import modin.pandas as pd
    import modin.config as cfg
    import pandas
    import numpy as np
    import numpy.random
    from time import time

    size = 10**6
    df = pandas.DataFrame(numpy.random.choice(pd.date_range(start='1/1/2021', end='3/1/2021'), size=size), columns=["timestamp"])
    df["description"] = pandas.Series([f"test_string{x}" for x in range(size)])
    df["numbers"] = pandas.Series(numpy.random.choice(np.random.uniform(1, 10, size=(10_000,)), size=size))

    pd.DataFrame(range(cfg.CpuCount.get() * cfg.MinPartitionSize().get())).to_numpy() # init the engine and start all the workers

    modin_df = pd.DataFrame(df)
    for _ in range(3):
        start = time()
        df.pivot(index="description", columns="timestamp", values="numbers")
        print(f"pandas time: {time()-start}")
    print("\n\n")
    repr(modin_df) # to wait till it's complete
    for _ in range(3):
        start = time()
        repr(modin_df.pivot(index="description", columns="timestamp", values="numbers"))
        print(f"modin time: {time()-start}")

test2()

pandas time: 1.4150474071502686
pandas time: 1.4090681076049805
pandas time: 1.4109303951263428

modin time: 5.301079034805298
modin time: 4.768923282623291
modin time: 4.864060163497925

This was measured against fbd1e2a1b91170a3c45ce9565b1051bb2d55e4eb

Recently there were changes regarding pivot on Ray, maybe this one fixed?


Question: Managing Localization in Redocusaurus

👋 Hello Redocusaurus team!
First, thank you for the fantastic work on Redocusaurus.
I'm currently working on a project where localization is crucial, and I'm trying to understand the best approach for managing multiple languages within a Redocusaurus setup.
Questions:
Does Redocusaurus have built-in support or recommended practices for localization?
If not, could you suggest any workarounds or customization tips?
Are there specific configuration changes in docusaurus.config.js or other files that would make this easier to implement?
🙏 Thank you for any guidance you can provide!

I was testing it here - https://github.com/rohit-gohri/redocusaurus/pull/338
Don't really have a recommendation yet