BUG: matlab loadmat failure with large file due to address position is limited by numpy.int32

Describe your issue.
loadmat function failure ,
RuntimeWarning: overflow encountered in long_scalars
remaining_bytes = hdr.dtype.itemsize * n
this is because  hdr.dtype.itemsize  type is numpy.int32, will convert the address postion from python int type into numpy 32bit int type , will for large file , 64 bit address is enough , but 32nit address will be overflowed
suggest:

Reproducing Code Example
from scipy import io
data=io.loadmat('data.mat') # data.at file size 2.45GB , with over 800,000 parameters

Error message
:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py:358: RuntimeWarning: overflow encountered in long_scalars
  remaining_bytes = hdr.dtype.itemsize * n
W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py:176: RuntimeWarning: overflow encountered in long_scalars
  num_bytes *= d
Traceback (most recent call last):
  File "w:\Users\jwajus3\Downloads\Case2_Tier1_8HP_HP_overloadCooling52_L_120_20211213\test.py", line 2, in <module>
    data=io.loadmat('data.mat')
  File "W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio.py", line 226, in loadmat
    matfile_dict = MR.get_variables(variable_names)
  File "W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py", line 405, in get_variables
    mdict[name] = self.read_var_array(hdr)
  File "W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py", line 380, in read_var_array
    return self._matrix_reader.array_from_header(header, process)
  File "W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py", line 141, in array_from_header
    arr = self.read_full_array(hdr)
  File "W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py", line 211, in read_full_array
    return self.read_sub_array(hdr)
  File "W:\Programs\Python\Python38\lib\site-packages\scipy\io\matlab\_mio4.py", line 177, in read_sub_array
    buffer = self.mat_stream.read(int(num_bytes))
ValueError: read length must be non-negative or -1

SciPy/NumPy/Python version and system information
scipy version : 1.8.0 ; 1.13.1 both have this issue .

would you like to submit a PR?

Sure, I’d be happy to submit a PR。

Just to unpack - there are two problems here - you've pointed to them both, but just to explain for our readers...
The first, at https://github.com/scipy/scipy/blob/main/scipy/io/matlab/_mio4.py#L359 - is that we are (I was) multiplying a dtype.itemsize (that is always of type int32) by the number of elements (a Python int). This would not overflow in Numpy < 2, because the result gets cast to int64:
[nav] In [5]: type(np.int32(1) * 1)
Out[5]: numpy.int64

but it does in Numpy 2, because the result is now int32:
[ins] In [2]: type(np.int32(1) * 1)
Out[2]: numpy.int32

and, indeed, I think the right fix is to cast as int or maybe np.intp (to preserve the overflow check) before multiplying.
The second is at https://github.com/scipy/scipy/blob/main/scipy/io/matlab/_mio4.py#L177
Here the elements in dims are constrained by the format to be int32, but the product of the dims and the itemsize (the size of the array) need not be within int32.  The calculation in Numpy < 2 and Numpy 2 gives an int32 result, so this was a bug before and after Numpy 2.
I think the right thing to do there is a slight refactor to use the same fast-product trick as in the code above, and replace:
        num_bytes = dt.itemsize
        for d in dims:
            num_bytes *= d

with something like:
        num_bytes = reduce(lambda x, y: x*y, dims, np.intp(dt.itemsize))  # fast product.

The trick will be making a good test!

thanks for your explain ,you give better solution， you will fix this right ?   : )

I will - yes - PR soon.  Just trying to work out a test.


make popover-select widget narrower

Right now, we are using a 30rem width. Because of https://github.com/patternfly/patternfly-react/issues/5483, we are forced to use a min-width of 15rem (50% of the popover width, due to that patternfly issue) on the left-most widget, which currently is the CurrentWorkingDirectory widget. This mostly isn't a huge issue, but it looks awkward when the CWD is short, especially when it is ~, i.e. my home directory.
And this is going to be the situation for new users, or any users that launch Kui by double-clicking on the prebuilt executable. So the out-of-box experience suffers.
My suggestion is that, until patternfly resolves that enhancement request, we can at least use a narrower popover-select.

Maybe also we can avoid using just ~ for the CWD display.


Add support to releases list

Add support to update releases list
*

Please check if you want to enforce single entries with the specific pattern for inputs validation and for a more specific matching of the version strings in our files.
See https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string


audit: check GitHub tags for prerelease status

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

For GitHub formulae based on a tag vs a release, see if there is a corresponding release and if so, check to see if it's a prerelease.
$ brew audit --online cbmc
cbmc:
  * cbmc-5.12.6 is a GitHub prerelease
Error: 1 problem in 1 formula detected

The 5 affected formulae are
cbmc.rb
elm-format.rb
infrakit.rb
riff.rb
volta.rb

telegram-cli is also a GitHub prerelease based on a tag but is already in the allowlist and the one other formula on the allowlist is gitless.
I'll file an issue with the five above prior to merging this, but I'm wondering if we should contact the other two/get rid of the the allowlist for prerelease since Homebrew should be packaging/distributing stable software, and the GitHub prerelease tag implies that the tag is not ready for production:

To notify users that the release is not ready for production and may be unstable, select This is a pre-release.

https://docs.github.com/en/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release

Previous discussion about prerelease: https://github.com/Homebrew/brew/issues/7177
Previous discussion about prerelease allowlist: https://github.com/Homebrew/brew/pull/7737

In the short term, it might make the most sense to allow the current prerelease formula versions to remain and then have a conversation with the upstream projects when somebody tries to update the formula, so I added the few existing prerelease formulae to the allowlist and also added a check to ensure the formula version matches the allowlist version.

In the short term, it might make the most sense to allow the current prerelease formula versions to remain and then have a conversation with the upstream projects when somebody tries to update the formula

Agreed 👍🏻. Great work @dtrodrigues!


Downloading external sources is disabled TestNG.xml

TestNG Version : 7.4.0

Note: only the latest version is supported

Expected behavior
Downloading external sources is disabled TestNG.xml error should not displayed
Actual behavior
Downloading external sources is disabled TestNG.xml error is displayed
Is the issue reproducible on runner?
Operating System - Ubuntu

[ ] Shell

[ ] Maven -- 3.9.5

[ ] Gradle

[ ] Ant

[ ] Eclipse - Version: 2023-09 (4.29.0)

[ ] IntelliJ

[ ] NetBeans

Test case sample

Please, share the test case (as small as possible) which shows the issue

Contribution guidelines
Incase you plan to raise a pull request to fix this issue, please make sure you refer our Contributing section for detailed set of steps.

This is NOT a TestNG problem. It looks like a problem related to your machine and eclipse NOT being able to download the XSD.
You would need to check this checkbox (Download external resources like referenced DTD, XSD) in preferences/settings


Add support to highlight.js

Dears,
how can I add support for highlight.js? I tried to follow these steps but to no avail.
Kind regards,
@prdm0.

Add the code below at the top of the page-header.html file:
<link rel="stylesheet"
      href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.0/styles/night-owl.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.0/highlight.min.js"></script>
 <script>hljs.initHighlightingOnLoad();</script>

Thanks for including your solution here for others.

@budparr , see how it was clicking here. The code is at the bottom of the page.
Just add the code below in page-header.html:
<link href="//cdn.bootcss.com/highlight.js/10.1.0/styles/default.min.css" rel="stylesheet">
<script src="//cdn.bootcss.com/highlight.js/10.1.0/highlight.min.js"></script>
<script src="//cdn.bootcss.com/highlight.js/10.1.0/languages/r.min.js"></script>
<script>
hljs.configure({languages: []});
hljs.initHighlightingOnLoad();
</script>

For those who program in a different language of R, just change r.min.js for language.min.js, where language is the language of interest. If you want another theme, just change default.min.css to theme.min.css, in which theme you will change to the desired theme. For example, to use dracula and python language:
<link href="//cdn.bootcss.com/highlight.js/10.1.0/styles/dracula.min.css" rel="stylesheet">
<script src="//cdn.bootcss.com/highlight.js/10.1.0/highlight.min.js"></script>
<script src="//cdn.bootcss.com/highlight.js/10.1.0/languages/python.min.js"></script>
<script>
hljs.configure({languages: []});
hljs.initHighlightingOnLoad();
</script>

It would be interesting to provide this support in config.toml. The user could choose the language and the theme.
A list of all supported themes and languages can be found here.
Kind regardsm
@prdm0.


Updated content for backup under DR

@sachdevaswati : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#Sign-off

@sachdevaswati: I'm sorry - only the author of this article, @MashaMSFT, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Hello,
I am the PM with the Azure Backup product team and have only modifies the 2 lines that concern me. Request you to merge it on priority. Thanks.
From: PRMerger15<EMAIL_ADDRESS>Sent: Thursday, June 20, 2019 4:09 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Swati Sachdeva<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Updated content for backup under DR (#33669)
@sachdevaswatihttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsachdevaswati&data=02|01|Swati.Sachdev%40microsoft.com|04f69060b1f842d1aedc08d6f56b7d54|72f988bf86f141af91ab2d7cd011db47|1|0|636966239355545469&sdata=Ml%2FCY0qO9P3u6gtstaHMznYNPPRD4vmdh2RdEohZdaU%3D&reserved=0: I'm sorry - only the author of this article, @MashaMSFThttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMashaMSFT&data=02|01|Swati.Sachdev%40microsoft.com|04f69060b1f842d1aedc08d6f56b7d54|72f988bf86f141af91ab2d7cd011db47|1|0|636966239355545469&sdata=3n6BRnoL67XE56uyP8AZ3pSZF9Rto%2F36DAZW%2BRZJIxU%3D&reserved=0, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F33669%3Femail_source%3Dnotifications%26email_token%3DAI6KKPEF2KCARNJQMUY5BPTP3NM3ZA5CNFSM4HZRKJG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYFA4AI%23issuecomment-503975425&data=02|01|Swati.Sachdev%40microsoft.com|04f69060b1f842d1aedc08d6f56b7d54|72f988bf86f141af91ab2d7cd011db47|1|0|636966239355555469&sdata=2jOJGoNoTuc%2BxV43NdwhY4phfwzSpLPtAR2AF91IzCI%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAI6KKPB6NYHWO7MPKHHES5TP3NM3ZANCNFSM4HZRKJGQ&data=02|01|Swati.Sachdev%40microsoft.com|04f69060b1f842d1aedc08d6f56b7d54|72f988bf86f141af91ab2d7cd011db47|1|0|636966239355565462&sdata=ATpqD1sjzY8ZXI1Stgxxmi5PM110yYzKmc650hp5MEo%3D&reserved=0.

Hello Swati -
We'll review the PR now.
Thanks,
Kristine
PR review team
AQUENT at Microsoft | Content + Learning
Cloud + AI Developer Relations
Editorial service for technical contenthttps://review.docs.microsoft.com/en-us/help/contribute/contribute-apex-editorial-service?branch=master
From: Swati Sachdeva
Sent: Thursday, June 20, 2019 7:26 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Azure Doc Pull Request Reviewers<EMAIL_ADDRESS>Cc: Mention<EMAIL_ADDRESS>Subject: RE: [MicrosoftDocs/azure-docs] Updated content for backup under DR (#33669)
Hello,
I am the PM with the Azure Backup product team and have only modifies the 2 lines that concern me. Request you to merge it on priority. Thanks.
From: PRMerger15 <notifications<EMAIL_ADDRESS>Sent: Thursday, June 20, 2019 4:09 PM
To: MicrosoftDocs/azure-docs <azure-docs<EMAIL_ADDRESS>Cc: Swati Sachdeva <Swati.Sachdev<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Updated content for backup under DR (#33669)
@sachdevaswatihttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsachdevaswati&data=02|01|v-krmaxw%40microsoft.com|2dae6b9849bf4c89294008d6f58b4678|72f988bf86f141af91ab2d7cd011db47|1|0|636966375879662106&sdata=mPWb1pYB%2FWyyewHh4hw%2BJBNhbLrvb7dH5lJ%2Bh34iQ%2BU%3D&reserved=0: I'm sorry - only the author of this article, @MashaMSFThttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMashaMSFT&data=02|01|v-krmaxw%40microsoft.com|2dae6b9849bf4c89294008d6f58b4678|72f988bf86f141af91ab2d7cd011db47|1|0|636966375879662106&sdata=RLK9yBsTT8s1FlGgWTpqceVPpKu%2Bu7aBccie%2FECuxPY%3D&reserved=0, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F33669%3Femail_source%3Dnotifications%26email_token%3DAI6KKPEF2KCARNJQMUY5BPTP3NM3ZA5CNFSM4HZRKJG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYFA4AI%23issuecomment-503975425&data=02|01|v-krmaxw%40microsoft.com|2dae6b9849bf4c89294008d6f58b4678|72f988bf86f141af91ab2d7cd011db47|1|0|636966375879672099&sdata=dod1r%2Bqq8IV6e2khFM5cXjI%2FT6O0flCMELnGEv5sFu8%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAI6KKPB6NYHWO7MPKHHES5TP3NM3ZANCNFSM4HZRKJGQ&data=02|01|v-krmaxw%40microsoft.com|2dae6b9849bf4c89294008d6f58b4678|72f988bf86f141af91ab2d7cd011db47|1|0|636966375879672099&sdata=FoueZUj1grOnnoEYzphgGMAG6Vdy4E5rUSmZ9OB4anE%3D&reserved=0.

#close

Not required anymore


11/05/2018 04:47 : Create Pull Request for branch prTesting_2018110504 -> master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Labels don't get removed

Hi, I am using this action but it is not removing the labels and throwing an HttpError: Not Found. I am suspecting that the action is treating other environment variable as a label and trying to remove it, and throwing an error because it does not exist as a label in the PR.  Would you please be able to shade some light?
Here is my step:
- name: remove label
        if: contains(steps.pr-labels.outputs.labels, 'deployed-feature')
        # remove all 'deployed' labels when adding more commits in the PR
        uses<EMAIL_ADDRESS>        with:
          github_token	: ${{ secrets.PUSH_TOKEN_FOR_GITHUB }}

And here is the output
Run<EMAIL_ADDRESS>  with:
    github_token: ***
  env:
    GITHUB_PR_LABEL_DEPLOY_ME: 1
    GITHUB_PR_LABEL_DO_NOT_MERGE: 1
    GITHUB_PR_LABEL_BUILD_APP: 1
    GITHUB_PR_LABEL_DEPLOYED_FEATURE: 1
    PR_LABELS:  deploy-me do-not-merge build-app deployed-feature
Error: HttpError: Not Found
Error: Not Found

Many thanks in advance!
Edit: My assumption was wrong, the action did not work even after removing other env variable.

Hi @mukherjeer-mms 👋
Weird, I haven't heard of any issues like that. Have you tried using this github_token instead? github_token: ${{ secrets.github_token }} (as shown in the documentation). It's been awhile since I don't use GitHub Actions so I don't recall the exact syntax of things 😅
The only key difference between your config file and the sample one in this repo's README is that you want to run this action when a certain criteria is met. Maybe the issue is in that part of the code then, might be worth double checking.
Without further context it's hard for me to be any more helpful than this, sorry 🤷♂ this is a very simple action that simply removes all the labels in a PR :)


Installation Failure in Raspberry Pi 4

Expected behaviour
pip install opencv-python was expected to install seamlessly
Actual behaviour
Could not find a version that satisfies the requirement ...
The FAQ steps was followed but still getting the same error. The OS installed (tried to) in Raspberry Buster
Steps to reproduce

We're currently working on building things for buster but there's a big backlog; no outlook when opencv specifically will be ready but we'll get there. May be a couple of weeks though.

Appreciate it. Thank You.

Ticket in the piwheels repo: bennuttall/piwheels#172


Bump engine.io from 6.2.0 to 6.2.1

Bumps engine.io from 6.2.0 to 6.2.1.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: engine.io dependency-type: indirect ...

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>

ok


Plugin "SOAP::Server" missing

Another possible dependency problem:
PERL_DL_NONLAZY=1 "/opt/perl-5.26.3/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Can't load application from file "/home/cpansand/.cpan/build/2019120517/Mojo-SOAP-Client-0.1.0-1/t/../example/exsoaple.pl": Plugin "SOAP::Server" missing, maybe you need to install it?
Compilation failed in require at (eval 154) line 1.
t/basic.t ..
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run

thank you fixed


Error when loading without JQuery

I am trying to load the modal with pure angular and using template parameter.
I get this error:
....
[jqLite:nosel] Looking up elements via selectors is not supported by jqLite!
...
The error is reported in line #179:
....
contentData.append($compile(htmlTemplate)(scope));
....

Found the solution by wrapping the html tag inside a  element.Thanks!


Extension causes high cpu load

Issue Type: Performance
Extension Name: vsliveshare-audio
Extension Version: 0.1.48
OS Version: Windows_NT x64 10.0.17134
VSCode version: 1.32.3

:warning: Make sure to attach this file from your home-directory: C:\Users\shubham\ms-vsliveshare.vsliveshare-audio-unresponsive.cpuprofile.txt :warning:
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

@shubhamsinha2009 Thanks for reporting this issue.
To help us investigate, can you please attach this file from your home-directory: C:\Users\shubham\ms-vsliveshare.vsliveshare-audio-unresponsive.cpuprofile.txt to this github issue?
Thanks!

We believe this issue is fixed by a combination of 2 changes:

We switched to webpack to avoid excessive loading of many small modules.
We resolved an issue related to the use of the source-map-support module that made some errors result in an infinite loop processing the stack.

The first fix is already available in the latest version of the extension in the marketplace. The second fix will be available in the update to be published tomorrow.


Config file generator and encryptor

It would be useful to have a wizard form that requests all the config variables for the staticman.yml and at the end it encrypts the needed fields with the service public key.
As you mentioned there is going to be a defined set of config keys that need to be encrypted.
With this set and the pubkey and the submitted data, it is possible to generate the whole thing in the browser without the need for a service endpoint.
It would help newbies to begin with this service.

Not sure I understand what form this would take. Is it a standalone web app that generates a config file based on whatever people type in a series of input fields?
If so, that sounds like a cool idea, but I don't have the capacity to look into it. If you or someone else wants to have a go, then happy days!

I've added an endpoint that allows people to encrypt any piece of text: https://api.staticman.net/v2/encrypt/{TEXT}. I think this is as far as we'll go for now. Will add to the docs soon.

Added new page to the docs: https://staticman.net/docs/encryption

Do you salt the encrypted content with any user/repository specific data?
Otherwise the users will be able to reuse each others API keys for 3rd party services.


[BUG] This is a test

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Thanks for raising the issue Tom! This was useful for testing some internal automation (:


[ISSUE #292] Add support of transactional message feature

Please do not create a Pull Request without creating an issue first.
What is the purpose of the change
In order to implement  eventual consistency in distributed system, we define a new type of message named transactional message, it can be thought of as a two-phase commit message implementation to ensure eventual consistency in distributed system. Transactional message ensures that the execution of local transaction and the sending of message can be performed atomically.
Brief changelog
In our implementation, we made full use of the mechanism of rocketMQ itself to avoid external dependencies, and we defined a pair of message: named half message and commit/rollback message.  Half message means prepared message, which are not visible to consumers，and it will be sent before local transaction is executed. After the local transaction ends，producer will send a commit or rollback message to broker based on local transaction execution result
Verifying this change
This is a trivial change.
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Related Issue:
@lizhanhui @vongosling @dongeforever Have any comments and review about this PR？

LGTM if a rational response to my point out. This is an awesome feature, @lizhanhui @Jaskey @shroman Could we speed up the feedback for my kindly proposer, I would like to integrate into our develop branch :-)

@duhengforever Forget to comment, What is the coverage of the new code, over 80%?

For transactional messages, I added some documentation, including examples and design documentation., I hope these documents can help you to review this PR, thanks!

great job!!

Newly added classes, member variables & methods should be well documented, explaining their role in your solution.
Corner cases are not yet properly handled. For example, if pushing back half message experiences failure, what is the recovering procedure?
How is the HA guaranteed in case the master is down?
We prefer to use full-word in the identifier, it would be better if this pull request may follow this convention.
I am wondering whether the service locator and tx service bridge is an excessive abstraction.  IMO,  simplicity takes precedence.
A lot of the tx related configurations are hard-coded, making them configurable is preferable.

congrats!

@klaus-pd In order to avoid external dependencies, such as database, we used the mechanism of rocketMQ itself to implement the check logic. and if the producer down, broker will send check request to other producers with same produceId.

@duhengforever I know, but if only one producer of the same produceId, how to solve the problem of checking back?

@klaus-pd broker will resend the check request when the producer restart util reached a limit.


Proxy Requests: Silencing Capability

Expected Behavior
I was dealing with this in past when proxy requests were not available and workarounds were only option. However, situation is same also for proxy requests.
This is applicable not only to "proxy requests" itself but all checks which are created "ad-hoc" when using Results API.
Proxy check is executed by real Sensu Client on behalf of source, which is for instance generic network device communicating just with SNMP.
Proxy check is created out of result, where source attribute is replaced by name of network device.
All look good at this time. Proxy client has its own "proxy check".
It is possible to create silencing (via API, etc. by Uchiwa) for particular check@device, however, it is being ignored and handler is executed anyway.
Silencing should be possible also for results delivered by Results API / proxy requests.
Current Behavior
Silencing is ignored.
Possible Solution
If POST request to Results API had option to include "silenced": true, this could work at least from manual perspective.
Steps to Reproduce (for bugs)

Create proxy request or do POST request to Results API
Create silencing for just created check
Observer handler execution

Context
If this was fixed, proxy requests would be shifted to fully usable alternative to real Sensu Clients.
Your Environment

Sensu version used: 0.28
Operating System and version (e.g. Ubuntu 14.04): CentOS 7
Transport and runtime versions (e.g. RabbitMQ 3.6.2 on Erlang 18.2): RabbitMQ

Related to this issue, if I am not mistaken: Proxy checks cannot be issued currently through the API (they are not registered, /checks does not list them). I would love to have proxy-whatevers to be treated as close to standard checks/clients/etc. as possible in the future, as this would make Sensu much usable/user-friendly in my opinion.

@Hydrochoerus good point. The API should list them via /checks (after a restart), however, the API is not currently capably of issuing proxy check requests. I'll create an issue to track this and add to the 0.29 milestone.

@mcbsdEU see ^^, the API /request endpoint doesn't currently support publishing proxy check requests.

I have created https://github.com/sensu/sensu/issues/1597

@mcbsdEU I suspect that part of what you're experiencing here is that clients created by posting to /clients API are not getting per-client subscriptions added automatically, which makes it impossible to silence them individually. Silencing is expected to work for both real and proxy clients, so this seems like a bug.

@cwjohnston ah snap! :+1:

@cwjohnston: Indeed, thanks for opening separate thread for tracking this "bug".
I must say that all you guys are reacting very fast and to the point. Not seen often so keep going because you are making motto of Sensu real.

Sensu 0.28.3-1 includes this fix and the client in progress check execution fix.


Orchard.Projections: Adding the ability for Queries to filter on Draft content item version

The idea here is that you can build more complex user-interactions, e.g. a content approval process without giving users Dashboard access.
This actually requires a relatively simple set of changes:

Add the VersionFilter (IFilterProvider implementation), which uses a simple form that allows you to select the content version used for the current filter group (Published, Draft, Latest, All) from a drop-down list.
Modify ProjectionManager: During the evaluation of each filter group, it will also look for a filter of the type VersionFilter. If there is one (or in case there are more, the last one will be taken into account), then it will try to validate and use it for the content query. The default and fallback is still using the Published version.

The only thing I don't like about it (but didn't yet find a better solution) is that ProjectionManager needs to know about the existence of VersionFilter, but they exist in the same feature, so I don't think it's a deal breaker.
One of our clients is already running this change in Production.

Dayum, I just found #7921 that almost does exactly that, but a bit differently (the version is selected for the Query and applied to each filter group, but I can live with that).
I just need have Draft-only as an option for my happiness. :)

PR: https://github.com/OrchardCMS/Orchard/pull/8112


Fix gap between progress and header

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2408   👈

This comment was auto-generated by Graphite.


Question about center-ness branch in FCOS

Hi, thank you for your great work. I'm learning FCOS these days. I find some differences about position of center-ness between code and paper. In paper(https://arxiv.org/abs/1904.01355), the center-ness branch is put together with the classification branch.

But in the code, the center-ness and regression branches are put together.
https://github.com/pytorch/vision/blob/a1232c212d7cf84806189910ba83bc36bcea916c/torchvision/models/detection/fcos.py#L202-L233
Could you tell me why? thanks.

@zhiqwang @xiaohu2015 @jdsgomes Could you give a reply on this since you know the technique inside-out?

@WZMIAOMIAO Hi, you can read the updated paper (https://arxiv.org/pdf/2006.09214.pdf). The center-ness branch added on regression branch can get better result.

@WZMIAOMIAO Hi, you can read the updated paper (https://arxiv.org/pdf/2006.09214.pdf, page6 note). The center-ness branch added on regression branch can get better result.
This is different from our conference version which positions the
center-ness on the classification branch, but it has been shown that
positioning it on the regression branch can obtain better performance.

Wow, that is great, Thank you.

It is suggested to update the paper link in the description document.
https://github.com/pytorch/vision/blob/a1232c212d7cf84806189910ba83bc36bcea916c/torchvision/models/detection/fcos.py#L682

Yes that might be a good idea, thanks for flagging. We should probably highlight both papers. You want to bring a PR?

This is my honor.

@WZMIAOMIAO No, definitely ours for helping us improve the documentation.
Reopening the ticket until the PR lands. Feel free to tag me on the PR for reviews. Thanks a lot for the help!


Add Discord Link

Add Discord Link in the footer section.

https://discord.com/invite/sybYafYA
Also edit the GitHub URL to this repo URL.

Please assign this issue to me. I will make necessary changes as soon as possible.

hello @sunny0625 sir, I can make the required changes please assign this to me

@Srujitha-Raghava work on this issue!

@sunny0625 As the assignment of issues is based on a first-come, first-served basis, I wanted to highlight that I was the first to comment on this issue. I kindly request that you check this and reassign this issue to me.
I appreciate your consideration and look forward to contributing to the project.
Thank you!

okay sir @sunny0625 Ok can you assign this to me?

Thank you @jency1  for responding to this issue. As this program is open-source every contributor has the right to get the opportunity to contribute. As you have already solved previous issues.

@sunny0625 I've raised a PR,please review it sir!

@Srujitha-Raghava what about other pages ?

Oh sorry for that,I will add in them too

@sunny0625 #559 kindly,please check it sir

Thank you @jency1 for responding to this issue. As this program is open-source every contributor has the right to get the opportunity to contribute. As you have already solved previous issues.

Okay!


Merge Realm Swift source files

We currently support multiple Swift versions by having a copy of the root RealmSwift directory for each supported Swift version (e.g. RealmSwift-swift3.0) and at build time, run an Xcode script build phase to detect the Swift version in use for that project and establish a symbolic link from RealmSwift to the version-appropriate directory. This is very hacky and now that Swift supports compile-time version checks, we have a "better way".
Issues with the current approach:

We flatten the directories when installing via CocoaPods based on the xcode-select'd Xcode version, so changing Xcode versions after installing doesn't update the Swift version used.
Xcode doesn't handle symlinks well: compiler diagnostics (including SwiftLint violations) don't render in the source files because the real path is different than what Xcode points to.
It adds significant complexity to the project & build system:

Xcode build phases in a few places
CocoaPods link flattening step
build.sh set-swift-version
scripts/swift-version.sh
modifying git indexes to avoid committing symlink changes

Minor point: not scalable to non-Xcode build systems in the future (e.g. SwiftPM)

Solution: concatenate the Swift 2.2 & Swift 3.0 files with a single giant #if swift(<3.0) ... #else ... #endif in each file. For some files it may be appropriate to share more code.

Potential reasons not to do this:

We should investigate if combining the files causes Xcode to be (more) sluggish
???

Hmm...unlike with the other checks, it appears that inactive code is not actually parsed:
Like other build configurations, #if swift isn't line-based - it encloses whole statements or declarations. However, unlike the others, the compiler won't parse inactive branches guarded by #if swift or emit lex diagnostics, so syntactic differences for other Swift versions can be in the same file.

@austinzheng fantastic, that's great (unless I'm missing something)


Can set auto_connect from .env file

You can set the option auto_connect to true/false from the Laravel .env file with ADLDAP_AUTO_CONNECT=true

Thanks! :)


RobustnessVerificationTreeModelsCliqueMethod doesn't work for a Single Decision Tree

Describe the bug
RobustnessVerificationTreeModelsCliqueMethod does not work for ScikitlearnDecisionTreeClassifier. This is because get_trees() is not defined for this estimator as it already is a decision tree.
To Reproduce
Steps to reproduce the behavior:

Wrap a Scikitlearn Decision Tree Classifier using ScikitlearnDecisionTreeClassifier.
Create a RobustnessVerificationTreeModelsCliqueMethod using the above wrapped classifier
Call verify()

Expected behavior
The function outputs the verification metrics for the decision tree.
Possible Fix
I think we can just define get_trees() for the ScikitlearnDecisionTreeClassifier. As it isn't an ensemble of classifiers, it should be sufficient to use the following code.
def get_trees(self):
    """
    Get the decision trees.
    :return: A list of decision trees.
    """
    from art.metrics.verification_decisions_trees import Box, Tree

    trees = []
    box = Box()

    for i_class in range(self.model.n_classes_):
        class_label = i_class

        # pylint: disable=W0212
        trees.append(
            Tree(
                class_id=class_label,
                leaf_nodes=self._get_leaf_nodes(0, 0, class_label, box),
            )
        )

    return trees

I guess the algorithm is mainly intended for efficient ensemble verification.


[RFE] Add impersonation as a new flag and

Basically some people in support are using the tool to diagnose HCP issues on removing clusters. That was really helpful but looks like they have issues with the permissions in the platform.
So we need to add these things:

Support for impersonation in the termin8 CLI
Fallback the Kubeconfig to grab it from the default places once the KUBECONFIG env var is not set.

/assign jparrill


Build Docker image for tests without pulling from docker hub

Purpose

$subject

Codecov Report

Merging #325 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #325   +/-   ##
=========================================
  Coverage     78.65%   78.65%
  Complexity      691      691
=========================================
  Files            65       65
  Lines          3027     3027
  Branches        292      292
=========================================
  Hits           2381     2381
  Misses          506      506
  Partials        140      140

Continue to review full report at Codecov.

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


SDK 0.57.0 GA

Update dependency to Mesos 1.9.0 GA
SHM (#3123)
Quota (#3102)
Remove Launch Constrainer (#3176)
Remove Manual Plan Sync (#3177)

Closing this merge test branch as 0.57.0 was released.


[cppcheck] Adjust const parameters

Convert method signature parameters to const where it is possible.
These methods were found by cppcheck.

Some parameters that begin with r_ do not change within the methods. should they be renamed to p_?

Rebase necessary after being partially superseded by #59979.

Thanks!


feat: Token standard

Fixes #1743. Not to be merged in since it relies on non-standard nargo to compile because brillig exploded in size.
Needs to be compiled with:
noirup -b arv/no_brillig_unroll

TODO:

[ ] Extend the sim to make the test easier to read.

Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

We decided to get rid of storage.nr files and bring Storage declarations into the main.nr file - Leila updated the rest of the contract examples today


Use Different Precision

Add the ability to use different precision types: Float64, Float32

Needs AMG solver to support Float32 all through too

Should be possible now that we have a native AMG solver.

Works now


unified createRoutes() on frontend and server

createRoutes(store.getState) on server is now the same as in browser.

Thank you!


Resample portfolio data to consistent time-interval before charting

Continue from #165 (which attempts to solve #157)
This patch resamples all the data from the exchange before rendering it, so it has a consistent time-interval. This removes problems with dissimilar time-ranges for data.

This closes https://github.com/miguelmota/cointop/pull/159 as well, correct?

This closes #159 as well, correct?

Yes, this is more complete solution than 159.

Go ahead and merge pull request if you have the ability now @lyricnz


✨ Improve Design Implementation for Find in File

We need the Find and Replace bar to look closer to Xcode's.

Top: Xcode | Bottom: CodeEdit

Are there any standard input styles we can use for this or will we need to create this custom?

The one in CE right now is the default NSTextFinder, we'll need to create a custom one.

@thecoolwinter Is it in CE, CETV or STTextView? It seems like STTextView (prove me wrong) has this file for find/replace, meaning that we need to override this in base CE (again, i might be wrong).

That command sends a showFindPanel message down to the first active view that can respond to it. If you go into CE rn and press command F in the editor you'll get a find menu.
This issue is saying the UI part for entering text to find should be custom. Because that finder view needs to be installed on the STTextView, it has to be implemented in CETV where that view can be accessed.


Add more custom widgets blocks

Please add more custom widget blocks for use in the sidebar and footer. Thanks.

@C-Holzer How many additional custom widget blocks you need?
Cheers

Hi!
I'll add two more custom widget blocks in version 2.0 (the next version).
Cheers!


Add abuse

The<EMAIL_ADDRESS>contact address is a recognized channel for reporting spam, abusive email and abusive traffic originating from an organization.

Good point, thanks for the suggestion!


Adobe 6.5 audio component NPE

Required Information

[x] AEM Version, including Service Packs, Cumulative Fix Packs, etc: 6.5.3
[x] ACS AEM Commons Version: 4.3.0
[x] Reproducible on Latest? yes

Expected Behavior
Audio component /apps/acs-commons/components/content/audio is not rending the audio tag.
Actual Behavior
NPE occurs and page doesn't load.
Root cause looks to be /apps/acs-commons/components/content/audio/partials/analytics.jsp where XSSAPI slingXssAPI = slingRequest.adaptTo(XSSAPI.class); is returning null. So when is passed to the taglib - an NPE occurs.
This behavior was also seen here with no sufficiently simple resolution https://experienceleaguecommunities.adobe.com/t5/Adobe-Experience-Manager/XssApi-is-null-6-5/qaq-p/324249
Steps to Reproduce
Use AEM 6.5.3 and embed the audio component onto a page.

I cannot reproduce the issue with AEM 6.5.3. Also XSSAPI should be available on AEM 6.5.3 as well. You can check by accessing {{/system/console/components/com.adobe.granite.xss.impl.XSSAPIImpl}} whether the component is correctly started on your system and maybe also the reason why it isn't started.

I'll keep digging. One clarification - /apps/acs-commons/components/content/audio/partials/analytics.jsp  is using <%@ page import="org.apache.sling.xss.XSSAPI" %>. Not the granite version.
But I did go to
/system/console/components/org.apache.sling.xss.impl.XSSAPIImpl and did confirm status was active.
I did update partials/analytics.jsp and added the null check and confirmed the  slingRequest.adaptTo is the part that's failing me.
XSSAPI slingXssAPI = slingRequest.adaptTo(XSSAPI.class);
pageContext.setAttribute("slingXssAPI", slingXssAPI);
if (slingXssAPI==null) {
throw new IllegalArgumentException("Why is slingXssAPI null?");
}
My apps are currently deployed with the 6.4.X uber jar instead of the 6.5.3 uber jar. I'm hoping that is not the issue since I was hoping to upgrade without additionally performing a release at the same time.

Thanks for the additional info, indeed there is no adapter from SlingHttpServletRequest to org.apache.sling.xss.impl.XSSAPI.

Thanks for the quick fix! One question. Should the fix be :
XSSAPI slingXssAPI = sling.getService(XSSAPI.class);
I don't see a get() on the SlingScriptHelper interface. I updated my local copy of partials/analytics.jsp with
    XSSAPI slingXssAPI = sling.get(XSSAPI.class);

And then I see the following in may error logs:
An error occurred at line: 29 in the jsp file: /apps/acs-commons/components/content/audio/partials/analytics.jsp
The method get(Class<XSSAPI>) is undefined for the type SlingScriptHelper
26: %><%@taglib prefix="audio" uri="http://www.adobe.com/consulting/acs-aem-commons/audio" %><%
27: %><%@taglib prefix="dam" uri="http://www.adobe.com/consulting/acs-aem-commons/dam" %><%
28: %><%@taglib prefix="xss" uri="http://www.adobe.com/consulting/acs-aem-commons/xss/2.0" %><%
29:     XSSAPI slingXssAPI = sling.get(XSSAPI.class);
30:     pageContext.setAttribute("slingXssAPI", slingXssAPI);
31: %>
32: <c:set var="resourcePath">${xss:encodeForJSString(slingXssAPI, resource.resourceType)}</c:set>

Indeed, good catch @funkman. Will come up with a follow-up PR in a second.


Variable oauth storage location

I used to be able to store oauth files alongside config/cache in a folder of my choosing. It now appears that with --config-folder being depreciated, $GCALCLI_CONFIG only stores the .toml file in the folder of my choice. It does not, however, allow for storage of the oauth file in a location other than  ~/.local/share/gcalcli/oauth.
I previously used gcalcli to pull multiple calendars from different accounts, and without being able to set the location for the oauth storage, I'm only able to pull one.
Is there a command I'm missing that will allow the oauth storage location to be set variably?

Huh, that's an interesting use case...
For now, I guess it shouldn't be too hard to support an env variable, flag, or an option within the config file... which seems the most ergonomic for your use case?
Longer term, I'd imagine managing different auth accounts by name instead of twiddling files, something like the way gcloud auth works, and making the options select the account name instead of pointing to raw auth storage files.

I like your longer term suggestion, it seems the most streamlined and intuitive.
For the short term though, is there a reason that calling the $GCALCLI_CONFIG env variable can't also trigger storing the oauth file in that same specified location? To me, that makes the most sense- if I'm specifying a folder to store config, that's where I'd expect all things related to that config to reside. If that's not an option, I'd think utilizing an option in the config file would make the next most sense.

Yeah, I think I was coming to the same conclusion, that it might as well pick up oauth files in the same config dir if they exist.
The downside is just the complexity of long chains of fallbacks: already there's quite a series of legacy paths the file can exist at, and e.g. it's kinda hard to explain recommended usage in the help to make the mechanisms discoverable and comprensible for anyone who may need them. Especially with --config-folder vs $GCALCLI_CONFIG it gets messy because it can technically get recursive (with that path specifying a different --config-folder).
But for now at least the code is no worse than it was previously if it's just restoring some supported paths that already existed, so I'll work on restoring some mechanism along those lines.

K, are you able to test against the latest repo version that #806 fully solves your issue?

I checked out the latest commit and forced a reinstall using pipx install gcalcli. I'm trying to run the following command to init two calendars:
GCALCLI_CONFIG=~/.config/gcalcli/ gcalcli init
GCALCLI_CONFIG=~/.config/gcalcli-sports/ gcalcli init
The first command works fine, but when I run the second one, it's telling me that the credentials are already configured, meaning the oauth is stored separate from the config dirctory I specified.
I have a feeling I'm doing something wrong to trigger the oauth file being stored in the specified folder, since the oauth is still at ~/.local/share/gcalcli/oauth.

The oauth files aren't placed in config by default, just if you manually drop the files into config they should take precedence over global files.
Granted, nothing in the app explicitly tells you where to find the oauth files to move them, but I'm only intending this as a stopgap solution to unblock your case in the short term.

No dice- I moved the oauth file into ~/.config/gcalcli/, verified it's there, and then ran GCALCLI_CONFIG=~/.config/gcalcli/ gcalcli list, and was greeted by the Not Yet Authenticated message. I'm still showing as on commit:521bf2a and did another force install to ensure I'm working with the correct version.
Anything else I could be missing? I think I must be doing something wrong: gcalcli --version still shows 4.5.1, but I'm definitely trying to build/install out of the correct commit (I can see the 4.5.2 note in the changelog file.

Yeah, that just sounds like not having the repo version successfully installed. --version should say something like 4.5.2.dev1+g521bf2a.
What I usually do to run the repo version is to create a virtualenv, source the activate file, and then pip install .[vobject] into the virtualenv.
Anyway I'm pretty sure that mechanism works as intended if you just wait to use it in the release version. The only thing that's a little iffy still is discoverability, but I'm not sure how much effort I want to put into making this stopgap mechanism easy to use.

Thanks- I'll wait for the push to 4.5.2- I did skim the changes in the commit and saw all the work. Much appreciated!


Default to the current month

Just a little quality of life thing :)

I just added your change to pull request #9 I just submitted as I had refactored some of the code last night.


Development To Production Issue

I have an issue when building my app using electron-package with node-php-server. The app runs fine doing a npm start but when i build the app all of my css and js resources return 404 errors.
Any ideas?

If it's just your CSS & JS I would expect it may be the PHP server believes it's relative pathing is wrong.
i.e., /js/myfile.js vs ./js/myfile.js is resolving differently. So I'd echo getcwd() to verify where PHP thinks it is


Problem with model conversion

The model after the transformation began to work incorrectly. Can this be fixed somehow? Maybe there are more subtle settings when converting?
Whis my command/
ct2-transformers-converter --model mitchelldehaven/whisper-large-v2-ru --output_dir whisper-large-v2-ru-ct2 --quantization float16

Did you checked if that model works correctly before transformation?

Did you checked if that model works correctly before transformation?

yes, it worked fine in the usual whisper.

Do you mean that transcription is incorrect?
What if use compute_type=float32?

Вы хотите сказать, что транскрипция неверна? А если использовать compute_type=float32?

Yes, the transcription is incorrect, it turns out a mess of a bunch of words where the right word comes across a couple of times. All of this is printed in large sentences when everything is organized in a regular Whisper, just like in a regular large-v2 module.
Your suggestion didn't help either.

I am having the same problem. I have converted 4 models, and the transcribe results are all strange.
https://huggingface.co/arc-r/faster-whisper-large-v2-Ko
https://huggingface.co/arc-r/faster-whisper-large-v2-jp
https://huggingface.co/arc-r/faster-whisper-large-v2-mix-jp
https://huggingface.co/arc-r/faster-whisper-large-zh-cv11
The conversion method and other details are in the link above.

How did you execute the model before the conversion?
If you run the model with HF some default parameters are different. For example I think you have to disable timestamps with without_timestamps=True and maybe the previous context with condition_on_previous_text=False.
It depends how the models were fine-tuning. As far as I know most models are fined-tuned without timestamps.

How did you execute the model before the conversion?
If you run the model with HF some default parameters are different. For example I think you have to disable timestamps with without_timestamps=True and maybe the previous context with condition_on_previous_text=False.
It depends how the models were fine-tuning. As far as I know most models are fined-tuned without timestamps.

This explanation makes sense, thank you.


:lipstick: typo, grammar, and localhost fixes

Thanks for making the comparisons between webpack and browserify simple. This is only README updates.

Thank you, sir!


To use history.pause(), history.resume() in batch() cause vanishing histories

qDescribe the bug
To use history.pause(), history.resume() in batch() cause vanishing histories
To Reproduce
function updateRoomNumber() {
  history.pause();
  updateRoom(2, { number: 224 });
  updateRoom(3, { number: 666 });
  history.resume();
}

batch(() => {
  updatePresence({ selected: 2 }, { addToHistory: true });
  updateRoomNumber();
});

Expected behavior
Every process executed in batch callback can be undoable/redoable
Illustrations
If applicable, add screenshots or video recordings to help explain your problem.
Upload your file with a drag and drop on the text area.
Environment (please complete the following information):
<EMAIL_ADDRESS>Additional context
Add any other context about the problem here.

Hi @enk0de — thanks for opening this bug report. Just to make sure we correctly understand you... what does your expected vs actual undo stack look like in this example?
Also, have your tried upgrading to the latest version of Liveblocks? There have been a few small updates to the undo stack internals since 0.17.

Hi @nvie. first of all, i apologize for making confusion due to lack of explanation.
Before further explanation, I would like to inform you of changes to the issue contents. The version of @liveblocks/client that i am using is 1.7.1 not 0.17.1.
I am suffering 2 issues that i found.

History disappears when i use history.pause/resume in batch callback
History disappears intermittently

[1. History disappears when i use history.pause/resume in batch callback]

The code described below is like pseudocode, with details omitted to help understand the context.

Let's say we have two functions.
First one is
class CanvasService {
  private liveNodes: LiveMap<string, LiveNode>;

  ...

  public addNodes(
    nodes: Node[]
  ) {
    **this.room.history.pause();**
    nodes.forEach((node) => this.liveNodes.set(node.id, node));
    **this.room.history.resume();**
  }
}

Second one is
function addNodesAndDoSomething() {
  liveblocksService.batch(() => {
    canvasService.addNodes([~~~~]);
    // do something
  })
}

when i call addNodesAndDoSomething(), All history accumulated before calling this function will be lost.
[2. History disappears intermittently]
I didn't know exactly why or in what cases it happens. But I found a way to reproduce it to some extent.
we are managing selectedNodeIDs in LiveBlocks Presence. so, when user select a node, application will update presence with updatePresence() liveblocks api.
In the following way.
updatePresence({
  selectedNodeIDs
}, {
  addToHistory: true
});

and also we pass an object called { addToHistory: true } as the second argument to record selectedNodeIDs as history so that undo and redo can be performed.
At this time, if i call updatePresence({selectedNodeIDs}, {addToHistory:true}) twice with the exact same first argument value (selectedNodeIDs), suddenly history disappears. and undo/redo doesn't work.

All history accumulated before calling this function will be lost

Do you mean that the undo stack itself will be empty after calling addNodesAndDoSomething — i.e. canUndo becomes false? That should definitely not happen, and I would consider that a bug for sure.
However, if I try the following on an arbitrary room:
room.batch(() => {
  room.history.pause();
  /* mutate room here arbitrarily */
  room.history.resume();
});

…it seems to work as expected, and I don't see the history disappear. Can you share a bit more context that may be relevant for how your application is structured? Is there outer context maybe that also uses batches or that pauses history before reaching this snippet?
Regarding your second problem:

At this time, if i call updatePresence({selectedNodeIDs}, {addToHistory:true}) twice with the exact same first argument value (selectedNodeIDs), suddenly history disappears. and undo/redo doesn't work.

That's certainly not right either! I could not replicate this behavior locally either, no matter what I tried. Is this code running in a specific batch context, or after calling .pause()? Would love to see an exact replication, any help in the form of a sequence of function calls that triggers this case would help debug this.

I looked into this a bit deeper today, and have found a sequence of operations that may cause history loss. Maybe this is what's happening for you here? It could happen if multiple calls to .pause() would get made before .resume() is called. That bug is now fixed in 1.8.1.
@enk0de Would you mind upgrading to this version and see if this fixes you problem?

hi! i'm really impressed with your amazing support and willingness to solve problems. I don't think I've ever seen such a quick response and enthusiastic willingness to solve problems in the GitHub community.
Thank you so much for your quick response and subsequent release with the bug fix. I'm looking forward to trying out your 1.8.1 release!


Automated cherry pick of #1361: fix: cloud account syncstatus is not accurate

Cherry pick of #1361 on release/2.10.0.
#1361: fix: cloud account syncstatus is not accurate

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@a008678). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #1362   +/-   ##
================================================
  Coverage                  ?   7.75%
================================================
  Files                     ?     372
  Lines                     ?   58274
  Branches                  ?       0
================================================
  Hits                      ?    4518
  Misses                    ?   53352
  Partials                  ?     404

Flag
Coverage Δ

#aFlag
7.75% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/quotas.go
3.15% <ø> (ø)

pkg/compute/models/cloudsync.go
0% <0%> (ø)

pkg/cloudcommon/db/sharablebase.go
0% <0%> (ø)

pkg/compute/models/cloudproviders.go
1.2% <0%> (ø)

pkg/compute/models/cloudproviderregions.go
0.4% <0%> (ø)

pkg/compute/models/cloudaccounts.go
1.01% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm
/approve


Fix packages input

Specifying packages doesn't currently work. This fixes it.
Fixes #1

Good catch! 1 min, I'll test it and after i'll merge it


Automated cherry pick of #10985: fix: add tag for databricks vm

Cherry pick of #10985 on release/3.7.
#10985: fix: add tag for databricks vm

Codecov Report

Merging #10986 (ea3903d) into release/3.7 (0ff3997) will increase coverage by 5.20%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release/3.7   #10986       +/-   ##
================================================
+ Coverage         5.98%   11.19%    +5.20%
================================================
  Files              848      147      -701
  Lines           131795    16923   -114872
================================================
- Hits              7887     1894     -5993
+ Misses          123206    14836   -108370
+ Partials           702      193      -509

Flag
Coverage Δ

aFlag
11.19% <0.00%> (+5.20%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/apis/const.go
0.00% <0.00%> (ø)

pkg/apis/input.go
0.00% <ø> (ø)

pkg/apis/list.go
0.00% <ø> (ø)

pkg/baremetal/tasks/baseprepare.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/bm_register.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/ipmiprobe.go
0.00% <0.00%> (ø)

pkg/baremetal/tasks/stop.go
0.00% <0.00%> (ø)

pkg/cloudcommon/validators/validators.go
62.39% <0.00%> (-0.69%)
:arrow_down:

pkg/monitor/alerting/conditions/reducer.go
77.27% <0.00%> (-13.94%)
:arrow_down:

pkg/util/imagetools/imagetools.go
40.50% <0.00%> (-2.74%)
:arrow_down:

... and 718 more

Continue to review full report at Codecov.

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


add PATCH /users/:userId endpoint and logging endpoint

Closes

#520

PATCH /users/:username endpoint

Merge the profileDiffs to user document if this API is called. Only usable by super users.
Set profileDiffs approval field from "PENDING" to "APPROVED"
Logs the profile data change in logs of type "PROFILE_DIFF_APPROVED"

Structure of the log -
{
  type: "PROFILE_DIFF_APPROVED",
  timestamp: <timestamp>,
  meta: {
    approvedBy: <super_userId>,
    userId: <userId>,
  }
  body: {
    profileDiffId: <profileDiffId>,
    message: ""
  }
}

GET /logs/:type endpoint

Fetch logs with the given query fields

Example

localhost:3000/logs/ProfileChange?meta.username=pallab&meta.approvedBy=ankush
localhost:3000/logs/ProfileChange?meta.username=lakshay

Changes requested by Ankush:

Change username to userId (Username might be changeable in future)
Remove restriction of query-able fields being inside meta
Remove oldProfileData and newProfileData from logs and only store profileDiffId

API Contract is not updated for this. @pallabez


Model still runs on CPU even if I add gpus option

🐛 Bug
I'm trying to implemented and run new BERT-based model as always, used gpus option, but strangely my model is still running on CPU. I know this from 1.the training is too slow, 2.print(self.device) -> "cpu.", 3.The logs (right below). I never encountered this before so I'm confused. I'm using pytorch-lightning=0.9.0
GPU available: True, used: True
[2020-09-05 08:54:00,565][lightning][INFO] - GPU available: True, used: True
TPU available: False, using: 0 TPU cores
[2020-09-05 08:54:00,565][lightning][INFO] - TPU available: False, using: 0 TPU cores
CUDA_VISIBLE_DEVICES: [0]
[2020-09-05 08:54:00,566][lightning][INFO] - CUDA_VISIBLE_DEVICES: [0]

[GPU memory used, but GPU utility is zero]

I also attach a strange warning message I see here.
...\pytorch_lightning\utilities\distributed.py:37: UserWarning: Could not log
computational graph since the `model.example_input_array` attribute is not set or `input_array` was not given

The code for the model I initialize inside my LightningModule is here (ColBERT). Below is how I initialize my LightningModule. ColBERT.from_pretrained() initializes the model of the link. I print(self.device) at the end of __init__ and I see "cpu" as a result.
class ColBERTLightning(pl.LightningModule):
    def __init__(self, hparams):
        super().__init__()
        self.hparams = hparams
        # BERT-based sub-module initialized here
        model_params = hparams.model
        self.model = ColBERT.from_pretrained(
            model_params.base,
            query_maxlen=model_params.query_maxlen,
            doc_maxlen=model_params.doc_maxlen,
            dim=model_params.projection_dim,
            similarity_metric=model_params.similarity_metric,
        )
        self.labels = torch.zeros(
            hparams.train.batch_size, dtype=torch.long, device=self.device
        )
        print(self.device) # it prints "cpu" even when I use gpus=1

This is the code for trainer. I'm using hydra and DataModule. I'm using pandas inside DataModule to load data.
@hydra.main(config_path="conf", config_name="config")
def main(cfg: DictConfig) -> None:
    print(OmegaConf.to_yaml(cfg))
    hparams = cfg
    # if hparams.train.gpus is not None:
    #     hparams.train.gpus = str(hparams.train.gpus)

    # init model
    model = ColBERTLightning(hparams)

    # init data module
    data_dir = hparams.dataset.dir
    batch_size = hparams.train.batch_size
    dm = TripleTextDataModule(data_dir, batch_size=batch_size)
    # dm.setup("fit")

    # logger
    source_files_path = str(Path(hydra.utils.get_original_cwd()) / "**/*.py")
    ## TODO: Neptune or wandb?

    # # trainer
    trainer = Trainer(
        accumulate_grad_batches=hparams.train.accumulate_grad_batches,
        distributed_backend=hparams.train.distributed_backend,
        fast_dev_run=hparams.train.fast_dev_run,
        gpus=hparams.train.gpus,
        auto_select_gpus=True,
        gradient_clip_val=hparams.train.gradient_clip_val,
        max_steps=hparams.train.max_steps,
        benchmark=True,
        profiler=hparams.train.use_profiler,
        # profiler=AdvancedProfiler(),
        # sync_batchnorm=True,
        # log_gpu_memory="min_max",
    )

    # # fit
    trainer.fit(model, dm)

Environment
Two envs I've tested.
* CUDA:
        - GPU:
                - GeForce GTX 1080 Ti
                - GeForce GTX 1080 Ti
        - available:         True
        - version:           10.2
* Packages:
        - numpy:             1.18.1
        - pyTorch_debug:     False
        - pyTorch_version:   1.5.1
        - pytorch-lightning: 0.9.0
        - tensorboard:       2.2.0
        - tqdm:              4.48.2
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                -
        - processor:         x86_64
        - python:            3.7.6
        - version:           #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020

* CUDA:
        - GPU:
                - GeForce GTX 1070 Ti
        - available:         True
        - version:           10.2
* Packages:
        - numpy:             1.18.5
        - pyTorch_debug:     False
        - pyTorch_version:   1.6.0
        - pytorch-lightning: 0.9.0
        - tensorboard:       2.2.0
        - tqdm:              4.46.1
* System:
        - OS:                Windows
        - architecture:
                - 64bit
                - WindowsPE
        - processor:         AMD64 Family 23 Model 8 Stepping 2, AuthenticAMD
        - python:            3.7.7
        - version:           10.0.19041

You can ignore that warning about graph, in 0.9.1 it is gone.
If you print self.device in init, then of course it will show cpu because at the time the model is constructed, it has not yet been moved to GPU yet. This print statement should go into your training_step, for example.
Would it be possible for you to create a Google Colab to reproduce this. I don't really know how to approach this without seeing the rest of the code. Something is definitely running on your gpu, it shows a process and allocated memory. maybe you have a bottle neck and it's just spiking to 100 then going to 0 again.

Thanks. I'll be back soon with Colab.

https://colab.research.google.com/drive/1cyXGqnorxnGwNnM_-SF0tIRLU5QQofoZ#scrollTo=ykojvOS6rfH-
Here. Everything will be downloaded as you run the code.

Or you may try locally.
Download Code
git clone https://github.com/kyoungrok0517/sparse-neural-ranker

cd sparse-neural-ranker

pip install torch torchvision && pip install -e . && pip install -r requirements.txt

Download Data
mkdir -p data && cd data
wget https://storage.googleapis.com/kyoungrok-public/msmarco-passage-triple-text-sm/test.parquet
cp test.parquet train.parquet && cp test.parquet val.parquet

Run
python trainer.py dataset.dir="<DATA_DIR>" train.gpus=1

In your config, you have distributed_backend = None. This is fine, since None means PL will select the appropriate backend for you, depending if you have gpus or not. However!!!
print(type(hparams.train.distributed_backend))
# output: <class 'str'>

instead of proper None built in type.
Trainer does not throw an error when we select an invalid choice for backend. We should change that.
To solve your issue: convert to the real type at runtime or tell hydra the type somehow, not sure if that's possible.
When you do, you will get an error saying:
torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Input, output and indices must be on the current device

so somewhere in your code you have an input on the wrong device. move it/create it on the right device.
One other note:
I saw in your init you have
self.labels = torch.zeros(hparams.train.batch_size, dtype=torch.long)
# but it should be
self.register_buffer("labels", torch.zeros(hparams.train.batch_size, dtype=torch.long))

Great! Thanks for the support!

Ah one more thing. Is distributed_backend config important even if I don't use multi-gpu? I'm getting impression that somethings wrong with the latest pytorch-lightning on handling distributed training. I'm getting warning/errors related to distributed training even when I don't use it. The things get much wrong in Windows.

@kyoungrok0517
I removed the reduceop warnings #3555  on windows, since distributed training is not available anyway on this platform.
You won't see these anmyore :)

Great! Thanks for your effort 😃


Change metadata_id to UUID in solrDist

Summary: Fixes an error in SolrDistribute, where it will get multiple metadata_UUID, due to positional and keyword arguments
Related issue:
Suggested reviewer(s):
Reviewer checklist:

[ ] The headers of all files contain a reference to the repository license
[ ] 100% test coverage of new code - meaning:

[ ] The overall test coverage increased or remained the same as before
[ ] Every function is accompanied with a test suite
[ ] Tests are both positive (testing that the function work as intended with valid data) and negative (testing that the function behaves as expected with invalid data, e.g., that correct exceptions are thrown)
[ ] Functions with optional arguments have separate tests for all options

[ ] Examples are supported by doctests
[ ] All tests are passing
[ ] All names (e.g., files, classes, functions, variables) are explicit
[ ] Documentation (as docstrings) is complete and understandable

The checklist is based on the S-ENDA conventions and definition of done (see General Conventions). The above points are not necessarily relevant to all contributions. In that case, please add a short explanation to help the reviewer.

Relevant error:
 [2023-08-22 11:43:35,807]                 dmci.api.app:1414 ERROR    Exception on /v1/insert [POST]                             ││ Traceback (most recent call last):                                                                                ││   File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 2190, in wsgi_app                                           ││     response = self.full_dispatch_request()                                                                                ││   File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1486, in full_dispatch_request                              ││     rv = self.handle_user_exception(e)                                                                                ││   File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1484, in full_dispatch_request                              ││     rv = self.dispatch_request()                                                                                ││   File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1469, in dispatch_request                                   ││     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)                                                    ││   File "/usr/local/lib/python3.10/dist-packages/dmci/api/app.py", line 69, in post_insert                                       ││     msg, code = self._insert_update_method_post("insert", request)                                                              ││   File "/usr/local/lib/python3.10/dist-packages/dmci/api/app.py", line 157, in _insert_update_method_post                       ││     err = self._distributor_wrapper(worker)                                                                                ││   File "/usr/local/lib/python3.10/dist-packages/dmci/api/app.py", line 198, in _distributor_wrapper                             ││     status, valid, _, failed, skipped, failed_msg = worker.distribute()                                                         ││   File "/usr/local/lib/python3.10/dist-packages/dmci/api/worker.py", line 189, in distribute                                    ││     obj = self.CALL_MAP[dist](                                                                                ││   File "/usr/local/lib/python3.10/dist-packages/dmci/distributors/solr_dist.py", line 44, in __init__                           ││     super().__init__(cmd, xml_file, metadata_id, worker, **kwargs)                                                              ││ TypeError: Distributor.__init__() got multiple values for argument 'metadata_UUID'                                              ││                                                                                ```


feat(enhanced): use chunk integration to initalize federation runtime in runtime bootstrap

Description

This pull request enhances the way Module Federation initializes the federation runtime during bootstrap. It uses chunk integration to hoist the federation runtime code into the entry chunk(s) during the optimizeChunks stage, and instantiates the runtime during startup of the bundler runtime itself rather than depending on entrypoints to complete the runtime instantiation

The key changes include:

Using the HoistContainerReferencesPlugin to integrate the "federation-runtime" chunk into chunks that contain container entry modules. This hoists the runtime code into the entrypoints for early initialization.

Updating the ContainerPlugin and FederationInitModule to initialize federation during the optimizeChunks stage rather than later during attach.

Various fixes and improvements to the chunk integration logic to properly connect modules and merge runtimes.

Removing the unused "federation-runtime" chunk after integration to avoid duplicate runtime code generation.

This prefetches the runtime initialization earlier in the startup process to optimize the loading experience for applications using Module Federation. It also simplifies the overall initialization flow.

Types of changes

[x] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Checklist

[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[ ] I have updated the documentation.

need to add changeset


Feature/fix timezone bugspray

this is https://github.com/CodaProtocol/coda/pull/4948 but for the bugspray branch.

It works!
2020-05-29 03:52:43 UTC [Info] Successfully retrieved genesis ledger and genesis proof from "/tmp/s3_cache_dir"


cmd/test2json: introduce continuation flag for splited output events

test2json tool splits long lines into several with src/cmd/internal/test2json/test2json.go#outBuffer limit.
E.g. the output for the following program
package main

import (
	"testing"
)

func Test1(t *testing.T) {
	const expected = "{\\n  \"data\": [\\n    {\\n      \"data\": [\\n        \\n      ],\\n      \"event\": \"sign_up\",\\n      \"search\":{}\\n    },\\n    {\\n      \"data\": [\\n\\n      \\n      ],\\n      \"event\": \"subscribe\",\\n      \"search\": {}\\n    },\\n    {\\n      \"data\": [\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 1,\\n          \"group_value\": \"\",\\n          \"rate\": 0.2,\\n          \"total\": 5\\n        },\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 1,\\n          \"group_value\": \"green\",\\n          \"rate\": 0.2,\\n          \"total\": 5\\n        },\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 1,\\n          \"group_value\": \"orange\",\\n          \"rate\": 0.2,\\n          \"total\": 5\\n        },\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 2,\\n          \"group_value\": \"red\",\\n          \"rate\": 0.4,\\n          \"total\": 5\\n        }\\n      ],\\n      \"event\": \"pageview\",\\n      \"search\": {}\\n    }\\n  ],\\n  \"meta\": {\\n    \"shortlist\": true,\\n    \"source\": \"visitor_data\",\\n    \"total\": 4\\n  },\\n  \"search\": {}\\n}"
	t.Log(expected)
}

contains two Output events:
{"Time":"2019-12-09T19:27:08.985242+01:00","Action":"run","Test":"Test1"}
{"Time":"2019-12-09T19:27:08.986919+01:00","Action":"output","Test":"Test1","Output":"=== RUN   Test1\n"}
{"Time":"2019-12-09T19:27:08.987393+01:00","Action":"output","Test":"Test1","Output":"--- PASS: Test1 (0.00s)\n"}
{"Time":"2019-12-09T19:27:08.987414+01:00","Action":"output","Test":"Test1","Output":"    stepper_test.go:9: {\\n  \"data\": [\\n    {\\n      \"data\": [\\n        \\n      ],\\n      \"event\": \"sign_up\",\\n      \"search\":{}\\n    },\\n    {\\n      \"data\": [\\n\\n      \\n      ],\\n      \"event\": \"subscribe\",\\n      \"search\": {}\\n    },\\n    {\\n      \"data\": [\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 1,\\n          \"group_value\": \"\",\\n          \"rate\": 0.2,\\n          \"total\": 5\\n        },\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 1,\\n          \"group_value\": \"green\",\\n          \"rate\": 0.2,\\n          \"total\": 5\\n        },\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 1,\\n          \"group_value\": \"orange\",\\n          \"rate\": 0.2,\\n          \"total\": 5\\n        },\\n        {\\n          \"ads_stats\": [],\\n          \"count\": 2,\\n          \"group_value\": \"red\",\\n          \"rate\": 0.4,\\n          \"total\": 5\\n        }\\n      ],\\n      \"event\": \"pageview\",\\n      \"search\": {}\\n    }\\n  ],\\n  \"meta\": {\\n    \"shortlist\": true,\\n    \"source\": \"visitor_data\",\\n    \"total"}
{"Time":"2019-12-09T19:27:08.987484+01:00","Action":"output","Test":"Test1","Output":"\": 4\\n  },\\n  \"search\": {}\\n}\n"}
{"Time":"2019-12-09T19:27:08.987494+01:00","Action":"pass","Test":"Test1","Elapsed":0}
{"Time":"2019-12-09T19:27:08.987562+01:00","Action":"output","Output":"PASS\n"}
{"Time":"2019-12-09T19:27:08.98759+01:00","Action":"pass","Elapsed":0.341}

If an external tool wants to parse the output somehow, it has no chance to know that the second event is a continuation of the first one.
It would be nice to have a special event flag that could tell an external tool about it. The same Time or another identification flag for split events also could help.
The real usecase: https://youtrack.jetbrains.com/issue/GO-8141

/cc @rsc

anyway to workaround this issue in the meantime?

There is no need for a continuation flag: lines that are continued are already marked by not including a trailing \n in the output text.


Cannot find code when I copy them into the search bar

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

VS Code Version:
OS Version:

Steps to Reproduce:

open lu_su_enchantment_mission.lua
copy line 948 to 1220 into the search bar and it shows no result (it works when I copy them separately in group of 100 lines)
The search feature keeps saying invalid regular expression (was working fine about 1 hour ago)

also this when i copied into the global search feature

What are you trying to achieve by pasting 300 lines of code into the Find field?


Check integrity of fetched files.

If Request integrity property is set, use the correct crypto algorithm to verify.

Duplicatae of #92

Duplicatae of #92


Add support for linux

Add support for linux, most likely by prompting the users of the plugin to install imagemagick on their linux pc, then we can find the package from the plugin in the cmake build script.

Its incredibly dirty but it works...

Obtain the libimage_magick.so shared object. I cobbled together a modified copy of this package & filled out the cmakelist so it uses an already installed image magick installation configured for q8 non hdri https://pub.dev/packages/image_magick_q8_but_with_working_linux_this_time (that .so file if you just want it is available here
When loading the library, linux doesnt look in the directory your running in sometimes so i had to do DynamicLibrary.open('${Directory.current.absolute.path}/lib$libName.so') to explicitly specify where it is. See This example for how im loading it in (its dumb i know)
Using a dart server JIT with image_magick built in a docker image, see this dockerfile example

Hi @cyberpwnn , its been a while since I worked on the project.
If I understand correctly, you provided the imagemagick library as an .so shared object yourself.
Wouldn't it be easier if we just prompt the user (in the docs) to install imagemagick on his linux machine, then we can find it and depend on it from the cmake script?


OPSEXP-2466 Remove CI for 7.1 and 7.2

Ref: OPSEXP-2466

I created a task for enabling manual trigger for older versions: https://hyland.atlassian.net/browse/OPSEXP-2610


New SlugInput for Sanity v3

Sanity v3 does not allow async calls in the components' options anymore. This means we cannot prefetch the slug prefix outside the SlugInput component. In order to fix it for Route types, the logic was moved inside the custom component (#1634). However, this is getting pretty ugly and is not scalable. Also, local news logic is broken and the fix done for routes is useless for local news.
In order to fix it we can choose two approaches:

Extend the current component to deal with localNews logic (quicker fix, but no non generic and ugly code)
Build a fancy component that accepts prefix logic as option. (elegant solution but requires more refactoring). Looks like this library could be an option: https://github.com/hdoro/sanity-plugin-prefixed-slug, or at least fork it and adapt to our needs.

Hi @padms, left some minor comments =)

@fernandolucchesi  Fixed the types

@fernandolucchesi Fixed the types

Looks good! ✅


Add OpenAPI 3.1.0 support

TODO:

[x] Get tests passing again
[ ] Put back the special-case "Unset is None" code for query params
[ ] Double check all the removed test code—see if any of those tests should be replaced with newer syntax or if more tests can be removed
[ ] Make the templates output nicer code (probably) since my current edits are haphazard
[x] Get some people to test with real 3.0 AND 3.1 specs to make sure it's all working as intended

Hello,
I've tested on a swagger generated by the last version of FastAPI (0.104.0)
Generation fails on a custom header we have in each endpoints. If I remove it, the generated client is working fine.
The error is :
WARNING parsing GET /users/{userId} within user. Endpoint will not be generated.

Union[None, Unset, str] is not allowed in header

Parameter(name='XX-Act-As', param_in=<ParameterLocation.HEADER: 'header'>, description='This header allows a restricted list of admin user to impersonate a user.', required=False, deprecated=False, allowEmptyValue=False, style=None, explode=False, allowReserved=False, param_schema=Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=None, type=None, allOf=[], oneOf=[Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=None, type=<DataType.STRING: 'string'>, allOf=[], oneOf=[], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description=None, schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None), Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=None, type=<DataType.NULL: 'null'>, allOf=[], oneOf=[], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description=None, schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None)], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description='This header allows a restricted list of admin user to impersonate a user.', schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None), example=None, examples=None, content=None)

In fastAPI I declare the following Header in each endpoints (using a Depends) :
def get_current_user(
    x_act_as: Union[str, None] = Header(
        None,
        alias="XX-Act-As",
        description=(
            "This header allows a restricted list of admin user to impersonate "
            "a user."
        ),
    ),
    (...)
)

Which output the following Openapi.yaml :
(...)
get:
      operationId: get_user
      parameters:
      - description: Id of the user to fetch
        in: path
        name: userId
        required: true
        schema:
          description: Id of the user to fetch
          format: uuid
          type: string
      - description: This header allows a restricted list of admin user to impersonate
          a user.
        in: header
        name: XX-Act-As
        required: false
        schema:
          description: This header allows a restricted list of admin user to impersonate
            a user.
          oneOf:
          - type: string
          - type: 'null'
(...)

Thanks for reporting @frco9, this is exactly the kind of feedback I'm hoping to get before releasing this! I believe I fixed it in the latest commit

Indeed it's working better @dbanty. Everything else seems ok on our side. Will let you know if we have other bugs

Well we found another issue with const :
We had in our 3.0 openapi a field used as discriminator with type a Literal from an Enum
:
class DatasetDB(Dataset):
    dataset_type_code: Literal[DatasetTypeCode.TABLE] = Field(
        DatasetTypeCode.TABLE, description="Dataset's type. Set to Table"
    )
(...)

The diff openapi is :
(...)
        datasetTypeCode:
          default: table
          description: Dataset's type. Set to Table
-         enum:
-         - table
-         type: string
+         const: table
(...)

Which is changed to a const in the 3.1 version
While the changes for the generated client are :
- dataset_type_code: Union[Unset, DatasetDBDatasetTypeCode] = DatasetDBDatasetTypeCode.TABLE
+ dataset_type_code: Union[Unset, Any] = UNSET

I think proper output for client should be :
dataset_type_code: Union[Unset, Literal["table"] = "table"

Thanks !

I tested the branch locally on our schema and it does look like it works, but I noticed that its used attrs instead of dataclass. This has the side effect that pyrightt/pylance doesn't work correctly.

Is this a conscious choice? This milestone might be a good time to switch over to dataclasses.

@naddeoa I don't remember why attrs was originally picked. There has been a bit of discussion around this (for example https://github.com/openapi-generators/openapi-python-client/discussions/574), but it is pretty low on my priority list to change that. The amount of work it would take to validate the idea is probably better spent adding support for more OpenAPI features (like #801, which is probably easier to do with attrs than dataclass).

@dbanty Do you know why the variable names are prefixed with _ for the client classes? I know its a sort of python convention, but attrs apparently takes the stance that privacy doesn't exist in Python and they strip them out anyway. Plus, not all of the variables have the leading underscore (like token and prefix) but I don't see a pattern to explain the differences.
Pyright would actually work out with attrs (from my testing locally) if the names just didn't include the leading underscore on the classes that people interface with directly.

Do you know why the variable names are prefixed with _ for the client classes?

The properties of the class are prefixed to indicate that they are private and you shouldn't access them directly (because there are methods for that which do extra stuff).
Attrs correctly names the parameters in the constructor without that prefix because parameter names are not private.
For the client classes in particular, it might be better to use traditional Python classes instead of attrs classes. But again, not the highest priority.
I've never had luck with pyright, I always end up back with mypy when I try other type checkers 😅

For the client classes in particular, it might be better to use traditional Python classes instead of attrs classes. But again, not the highest priority.
I've never had luck with pyright, I always end up back with mypy when I try other type checkers 😅

I bring up pyright because the thing that drove me to this project was the goal of generating a "modern" client. Pyright/pylance seem to have all of the momentum and, from experience, they really do a much better job than mypy at so many issues, from generics to inference without type stubs, its been a real joy. I highly recommend. With the current state of the attr var names though, the auto generated stubs would generate errors for anyone using the "strict" pyright setting, which isn't a small number of people.
Do you think naming them without underscores, and sacrificing the thin veil of privacy that isn't really enforced anyway in Python, is a good trade off to support the strict pyright users? I lean towards yes, in the aim of generating a modern client. I can see some people disagreeing of course, but having the strictest type checkers be ok with the generated code seems like a tangible goal with lots of benefits.
Of course, its still light years better than the default openapi generator for Python, which I would honestly rather write a client from scratch than actually use nowadays.

@naddeoa I created #909 to discuss further and so if this is important to other folks they can upvote it 🙂


Export broken in 2.0.3

The export function in the file menu does nothing in the newest version for me. Same for Annotate, that only opens a small overlay saying "Annotate", but nothing else happens, no matter where I click.
Win 10 latest update, Nvidia RTX 2080Ti with Studio Driver

Hi,
Both the export and annotate functionality are still WIP for the new version, hopefully I can get time for implementing them within the next few weeks.
Darby

Oh, thanks for the clarification! I guess at least Annotate worked in a previous version, so I was wondering. Cheers & keep up the great work!

Hi, I've decided to limit the scope of DJV and not include export functionality with the new version. Sorry for any inconvenience this causes!


Compiling issue

Sorry, i know this is not a issue!
but you please can disponibilize the php_xcache.dll dll file to download? I can't compile this, :/
Its an error on assembly
PLeease

there is the new version
https://github.com/Tools2/Zend-Decoder/releases/tag/0.1


Add can-i-deploy to API and CLI tool

This PR adds the can-i-deploy to the API and CLI tools.
Since it's my first substantial change to pact-node, I'd like to highlight some discussion points:

Because the order of arguments to can-i-deploy matters, but the previous way of handing options off to PactUtil doesn't let you specify order of arguments (or even the same argument more than once), I've added a helper in CanDeploy to take the options object and convert it into an array of options. Possibly this helper should be in PactUtil instead? I'm torn - it's specific to can-i-deploy, but it's not really the responsibility of the CanDeploy object.

All the functions / classes here are named CanDeploy. I'm not sure if I should have used CanIDeploy instead?

The first commit on this branch also bumped the version number - but I wasn't sure if I should have removed the bump before making the PR?

We have a small challenge with the arguments to the CLI -  the broker binary CLI accepts can-i-deploy --pacticipant <p1> --pacticipant <p2> --version <v2> - ie, specifying pacticipants without a given version. However, because of the way the CLI library we're using for node works, we can't specify the same argument multiple times. I've changed the format to --pacticipants "<p1>,<p2>" --versions "<v1>,<v2>".  At the moment, I'm rejecting arguments where the lengths of the lists don't match - which enforces that all pacticipants must have a version supplied. Although this is recommended as good practice anyway, we may not want to enforce it. I don't like having a difference between what is possible to specify using the node cli and the binary cli, but also I want the node cli arguments to be easy to use correctly.

This PR doesn't add the documentation yet - I figured I'd write it after we discuss the above.

Comments and review very welcome!

I hear your pains/concerns Tim. I was going to add this feature in a while back but ran into the same inertia.
I'll take a look on Thursday when I'm not on client site.
Another consideration is #83 - is it worth doing or just exposing it out via binstubs (and therefore just providing a convenient installer for the CLI tools).
I still think there is value in exposing via a JS interface though.

Oh, I hadn’t seen that issue, thanks! It looks like it would largely obviate the need for pact-cli.js?
I did wonder if the JS api should ask for the json response from can-I-deploy, parse it and return?
Until I made this PR, I didn’t even realise that the cli existed and could be called from scripts in package.json (which is awesome). Is this documented somewhere?

Oh, I hadn’t seen that issue, thanks! It looks like it would largely obviate the need for pact-cli.js?

For me, yes. I don't see the need to wrap the Ruby CLI with a JS CLI.

I did wonder if the JS api should ask for the json response from can-I-deploy, parse it and return?

I think so, it enriches the interface significantly. I'd like to do the same with the provider verifier too if time permits.

Until I made this PR, I didn’t even realise that the cli existed and could be called from scripts in package.json (which is awesome). Is this documented somewhere?

There is a small section under usage but largely not visible.
I'll hopefully get to put some more thinking into this later in the week, but by and large I think we would like to see this in the library. The whole point of Pact Node is to simplify operations with the Pact CLI suite. If all it does is just package the binaries it's falling short of that goal.

Cool. I’m a little confused about the difference between pact-node and pact-js, too.

You're not the first to say this. Long term, they may merge.
But for now think of it this way:

pact-js: The client facing interface used in test suites. 9 times out of 10, it is the package you want to use.
pact-node: generic wrapper of the Pact CLI interfaces callable from JS (it started as just being an event emitter for the mock server but evolved over time). Think of it more as a "library".

On the packaging of the ruby libraries, it is really nice to be able to write scripts in package json that directly call the cli- but solving that other issue would mean this works without the wrapper.

Exactly. It also means when new features are added to the CLI they are easily added to this package.

Would be great to see this land as a standalone CLI binary for canideploy instead of having to bash hack the node_modules/ dir to find it.
About the confusion between pact-js and pact-node, I was under the impression that a more distinctive guideline would be that pact-js is for frontend libs where you don't require to have the pact mock service started by the test, where-as with pact-node you get that bundled in already and don't need to also worry about bringing it up.

I'd actually like to extend this issue and ask if it will be able to expose the can-i-deploy functionality as a library that I can call from my own Node.js tools/project ?

I merged it, fixed a few things and released it as version 6.21.0.  Cheers.


DNM: Stop hardcoding apt-mirror's IP

We will point to apt-mirror.sepia.ceph.com, which is
publicly-accessible.
Signed-off-by: Zack Cerza<EMAIL_ADDRESS>

Depends on https://github.com/ceph/ceph-cm-ansible/pull/175


Update msi-deployment.md

Design Change...
Microsoft Teams wide installer <IP_ADDRESS>70 icon is not appearing on Desktop as expected
https://dev.azure.com/Supportability/UC/_wiki/wikis/UC.wiki/611688/Microsoft-Teams-wide-installer-<IP_ADDRESS>70-icon-is-not-appearing-on-Desktop-as-expected

@dstrome PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


⚠ Mobitopup has degraded performance

In 8352dea, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3515 ms

Resolved: Mobitopup performance has improved in d0127df.


missed a case where nrandom=1 can cause error when run in parallel

I missed an if statement where if you have nrandom=1 the code does not create randoms, but then later attempts to comm.Bcast() this nonexistent data.  Adding a single if statement should fix this, I think.

closed by #18