[C# 8] Project-level nullability context seems to be ignored

Setting NullableContextOptions in the project file to enable doesn't seem to have any effect -- CS8632 is still being emitted when using nullable annotations.

C# extension version: 1.18.0-beta5
VS Code version:
1.30.2
61122f88f0bf01e2ac16bdb9e1bc4571755f5bd8
x64

dotnet --info output:
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview-010184
 Commit:    c57bde4593

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17763
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100-preview-010184\

Host (useful for support):
  Version: 3.0.0-preview-27324-5
  Commit:  63a01b08e5

.NET Core SDKs installed:
  2.2.100 [C:\Program Files\dotnet\sdk]
  3.0.100-preview-010184 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview-19075-0444 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview-27324-5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-preview-27325-3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

@rchande @akshita31 Same issue.  The only way to get it to work is with the pragma.


Suggest to add 'picture click to enlarge'

https://xaoxuu.com/wiki/stellar/tag-plugins/#支持-Fancybox-插件点击放大


Fix AttributeError while staff user does a mass update in some tickets using the Close (Send E-mail) action

See Issue: https://github.com/django-helpdesk/django-helpdesk/issues/539

Codecov Report

Merging #540 into master will increase coverage by 0.05%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master     #540      +/-   ##
==========================================
+ Coverage   63.46%   63.51%   +0.05%
==========================================
  Files          35       35
  Lines        3287     3292       +5
  Branches      499      499
==========================================
+ Hits         2086     2091       +5
  Misses       1064     1064
  Partials      137      137

Impacted Files
Coverage Δ

helpdesk/views/staff.py
41.55% <ø> (ø)
:arrow_up:

helpdesk/lib.py
74.07% <88.23%> (+0.99%)
:arrow_up:

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 1b00086...f5b9203. Read the comment docs.


csv parsing gets confused on first line commas

This csv file loads fine:
DecisionM,IntelligentM,freq,total
0, 5, 9, 20
0, 6, 21,33
0, 7, 35,65
0, 8, 35,83
0, 9, 14,41
0, 10, 10,26
1, 5, 11,20
1, 6, 12,33
1, 7, 30,65
1, 8, 48,83
1, 9, 27, 41
1, 10, 16, 26

In [11]: pandas.read_csv("speeddating.csv")
Out[11]:
    DecisionM  IntelligentM  freq  total
0           0             5     9     20
1           0             6    21     33
2           0             7    35     65
3           0             8    35     83
4           0             9    14     41
5           0            10    10     26
6           1             5    11     20
7           1             6    12     33
8           1             7    30     65
9           1             8    48     83
10          1             9    27     41
11          1            10    16     26

In [12]:

A small tweak causes the dataset to be silently corrupted:
DecisionM,IntelligentM,freq,total
0, 5, 9, 20,
0, 6, 21,33
0, 7, 35,65
0, 8, 35,83
0, 9, 14,41
0, 10, 10,26
1, 5, 11,20
1, 6, 12,33
1, 7, 30,65
1, 8, 48,83
1, 9, 27, 41
1, 10, 16, 26

In [10]: pandas.read_csv("speeddating.csv")
Out[10]:
   DecisionM  IntelligentM  freq  total
0          5             9    20    NaN
0          6            21    33    NaN
0          7            35    65    NaN
0          8            35    83    NaN
0          9            14    41    NaN
0         10            10    26    NaN
1          5            11    20    NaN
1          6            12    33    NaN
1          7            30    65    NaN
1          8            48    83    NaN
1          9            27    41    NaN
1         10            16    26    NaN

Notice how every column is shifted over by one. I'm confused about this in light of #9294: shouldn't it just die?
Putting the extra comma on the second row causes #9294 .
I'm on Pandas '0.15.2' on Python3 on ArchLinux.

It appears that if pandas encounters one more column in the first row than in the header, it assumes that the extra column should be used for the index. Thus fix here is to use the option index_col=False.

The first row is inspected to see if it matches the number of header rows. It not clear that its 'bad', so that is the spec ongoing.
In [12]: read_csv(StringIO(data),index_col=False)
Out[12]:
    DecisionM  IntelligentM  freq  total
0           0             5     9     20
1           0             6    21     33
2           0             7    35     65
3           0             8    35     83
4           0             9    14     41
5           0            10    10     26
6           1             5    11     20
7           1             6    12     33
8           1             7    30     65
9           1             8    48     83
10          1             9    27     41
11          1            10    16     26


Implementation of Map-Reduce Lab-1

Test: cd src/main then run make test

<EMAIL_ADDRESS>could you please take a look?

<EMAIL_ADDRESS>could you please take a look?


Implement EditHealthWorkerCommand

Implement EditHealthWorkerCommand for use in EditCommandParser

Initial portion of User Story #20

Implemented in PR #55


[BUG] protcol should not require parent to be @property

Description

The current implementation does not allow the parent attribute to be set, which means that a simple device that specifies self.parent = None fails to pass. I don't understand why parent should be implemented as an @property rather than a simple attribute. It's likely I'm missing details, review from @ksunden will be very important here.
While we're at it, why do we use Any here. Couldn't we say Optional[Readable]?
The hints dictionary is also currently implemented as an @property, we might want to change that as well.
Motivation and Context

I ran into this within https://github.com/bluesky/yaqc-bluesky/pull/59
How Has This Been Tested?

Tested locally, seems to behave the way I want.

The big reason for things to be properties rather than attributes is that properties are not writable.
Essentially the contract is that the user cannot change the value of parent (or hints for that matter).
As for the Optional[Any], My original plan was to do Optional[Readable], however e.g.  Flyable devices are not necessarily Readable (though many are)  Any was kind of a stand in... could probably be replaced with Optional[Union[Readable, Flyable]] (All Movables are Readable by inheritance/definition)

Might typing.Final be appropriate here? (https://www.python.org/dev/peps/pep-0591/) It's more for "do not override in subclass", but aside from @property I'm not sure there's a better option.

OK, I somewhat expected this answer. I understand that changing parent is an ugly thing to do. But from a pragmatic perspective we already have implementations that do self-assign parent. yaqc_bluesky.Base does this, ophyd.Component does this. Is the  small amount of  extra hostility towards existing implementations worth this small amount of extra assurance in object behavior?
Actually, why can't parent be dynamic? What breaks?
On the other hand, why is name OK to change, should that all so be an @property without a setter?
To be explicit, I'm fine with this behavior. It's not hard to implement at all. But it was surprising to me so I think it warrants some discussion.
I like the idea of Optional[Union[Readable, Flyable]]!
I don't see how typing.Final helps us here.

I don't really think Final has any applicability at the protocol level
After thinking a bit more, and running some tests, I remembered that instance attributes are difficult for static type checking in general... Actually the protocol defined as a @property doesn't say that the thing must not be writable, but rather that it is okay for it to be read only, that the only guarantee is that it is readable.
All of this only matters for static type checking, of course, as runtime checking purely checks hasattr: writability and signature/implementation do not matter at all for those runtime isinstance checks
This change would make it so that classes which implement things as properties are required to have a setter, which is not what we want

from typing import Protocol

class A(Protocol):

    @property
    def test(self) -> int:
        ...

class B:
    test = 0

class C:
   def __init__(self):
       self.test = 1
c: A = B()from typing import Protocol

class A(Protocol):

    @property
    def test(self) -> int:
        ...

class B:
    test = 0

class C:
   def __init__(self):
       self.test = 1
c: A = B()
d: A = C()

d: A = C()

This file type checks fine, the fact of it being a property in the protocol only increases flexibility for implementations (except, perhaps, as you seem to be running into, if you are trying to directly subclass the Protocol class, which I'm not sure is at all necessary, I actually think the right level of integration is tests which run mypy...

To put a bit more context, the last line of this fails:
from typing import Protocol

class A(Protocol):

    @property
    def test(self) -> int:
        ...

class B:
    test = 0

class C:
   def __init__(self):
       self.test = 1

class D(Protocol):
    test: int

class E:
    @property
    def test(self) -> int:
        return 4

c: A = B()
d: A = C()

e: D = B()
f: D = C()
g: D = E()

The error message is:
mypy_test.py:30: error: Incompatible types in assignment (expression has type "E", variable has type "D")
mypy_test.py:30: note: Protocol member D.test expected settable variable, got read-only attribute
Found 1 error in 1 file (checked 1 source file)

Thanks @ksunden, I learned something today!


More gen 23: Explicit reducers (remade)

This is against the new version of 22. Replaces https://github.com/keybase/client/pull/9589

@keybase/react-hackers this is ready


Support for docs.rs links

I'd like to turn this link:
/// [`Span`]: https://docs.rs/tracing-core/latest/tracing_core/span/index.html

into this one:
/// [`Span`]: tracing_code::span

I think this should be fairly easy to add: if the URL starts with https://docs.rs, strip the host and first 2 path segments, then treat it like a normal link.

Maybe a new option for this ? I can't think of some situation where one might want to link to docs.rs without having the linked crate as a dependency, but there might be one.
Maybe have the option to turn it off and have it on by default is better.

This should work now, and with lots of tests. :)


Please create a preview from animations. and the Screenshot image didn't loaded.

There was a bandwith problem. It is fixed.


⚠ Jenkins Plugins Artifactory has degraded performance

In d9705f6, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1295 ms

Resolved: Jenkins Plugins Artifactory performance has improved in d417966 after 12 minutes.


== opearators for List is broken.

When calling [true, false] == [true, false] yields  false, so as members of the equality were different, which isn't the case.
this is the Flutter doctor:
[√] Flutter (Channel master, v1.15.20-pre.20, on Microsoft Windows [Version 10.0.18362.295], locale en-US)
• Flutter version 1.15.20-pre.20 at E:\ActualPC\Flutter\flutter
• Framework revision 4049889d9e (9 hours ago), 2020-03-10 20:05:41 -0700
• Engine revision 0e2c8feeeb
• Dart version 2.8.0 (build 2.8.0-dev.12.0 9983424a3c)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users------\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 43.0.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] VS Code, 64-bit edition (version 1.39.2)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.7.1
[√] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

Does this solution work for you?

Thanks  @Zazo032 ,
@FabrizioG2000
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


Capistrano deploy, sporadic duplicate cronjob entries

Hello,
I am maintaining an application using whenever and, sometimes during deploy with capistrano, I end up with a crontab with duplicates entries, is this a known issue ? I found nothing on the tracker.
Here are the capistrano logs about update_crontab:
02:13 whenever:update_crontab
      01 /usr/local/rvm/bin/rvm 2.2.2@app do bundle exec whenever --update-crontab app --set environment=production --roles=worker
      01 *** schedule.rb, cron loaded
      01 [write] crontab file updated
    ✔ 01 app@xxx 1.295s

We are seeing this behavior occurring with every cap deploy.

So, on further investigation our problem was resolved by adding the application to the deploy.rb file (it was in there previously, but I had removed it since I thought it was superfluous) :smile:

Just want to confirm that I am also seeing this behaviour - had an application with duplicate entries in the crontab.  Re-deploying didn't fix this issue - the multiple entries stayed.  The only way to fix this was to manually remove the duplicate.

One way to fix this issue for re-deploys would be to modify https://github.com/javan/whenever/blob/master/lib/whenever/command_line.rb#updated_crontab such that multiple 'identifier blocks' can be found in the crontab and all removed together.

No "official" way to fix this ?

whenver uses an identifier to sync the crontab. that identifier is by default the :application setting. so be sure to have that set, as mentioned above. you can set a different identifier with set :whenever_identifier, "foo-bar".
beware: the moment you change the identifier, you'll end up with one duplicated crontab entry. the one with the old identifier and one with the new one.
this is how the defaults are set:
https://github.com/javan/whenever/blob/b205bcdea33629a2b902af4df2097d3a92ba21f9/lib/whenever/capistrano/v3/tasks/whenever.rake#L44-L55


models: convert to MD5 half floats at load time, remake of #953

models: convert to MD5 half floats at load time, remake of #953 by @slipher:

https://github.com/DaemonEngine/Daemon/pull/953

pls fix presubmit error on appveyor

pls fix presubmit error on appveyor

done


TODO: Cloud version of KVStoK

Implement an online version of KVStoK
Must be:

User identification
Option to encrypt data
Decentralized storage

IPFS

P2P storage

KVStoK Cloud will be another project.


C# FAQ link is broken

Customers are complaining that the link to C# FAQ is broken at https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/index
My question is, should we update the FwLink (or just the link) to go somewhere else? Or just remove that entry?
There is this link on the blogs site: https://blogs.msdn.microsoft.com/csharpfaq/ but it doesn't seem to be used recently.

/cc @BillWagner  @MadsTorgersen

That page clearly hasn't been used in quite a while.
There are a lot of possible locations:

Issues on the Roslyn Repo
Issues on the CSharpLang Repo
The Tour of C# has a lot of introductory information.
The C# tag on StackOverflow

We could add a FAQ page on docs, but I'd like to seed that with common questions that developers need answered. Any ideas on how to generate that?
Any of those could work.  @MadsTorgersen, what do you think?

Closing this one. No longer applicable and temporary hidden link was permanently removed.


Implementing multiple signatures

Is there a way to support multiple signatures without flattening the form? I have a use case where one party will fill out some fields and sign and a second party will fill the remaining fields and sign.
I'm using the final sample from this issue https://github.com/Hopding/pdf-lib/issues/112

The tl;dr is pdf-lib doesn't provide signature support. You can search some of the other issues to find more detail I've provided elsewhere.


Command to set a Geo location

This appears to be doable:

Android
iOS

Can you help with how the DSL should look like for this?
A
location: -82.411629 28.054553

B
location:
    lat: -82.411629
    long: 28.054553

Something else
?

Once we have a consensus on this, I can pick it up.

I would suggest we start with option B. We could add option A in addition to option B later on, but I think this is not super important.

I'll pick this up later today, if anyone is already working on this please update?

Added this command in latest release.


Refactor: Search.tsx ✨

Fixes Issue #1260
Changes proposed
Change 1: Created separate functions for rendering content and generating the page title.
// Previous Code:
const title = `LinksHub - ${router.asPath.charAt(1).toUpperCase()}${router.asPath.slice(2)}`;

// Refactored Code:
const generateTitle = () => {
  const capitalizedPath = router.asPath.charAt(1).toUpperCase() + router.asPath.slice(2);
  return `LinksHub - ${capitalizedPath}`;
};

Change 2: Removed direct access to router.asPath inside the title generation function.
In the refactored code, we have separated the logic for generating the title from the JSX rendering part. The title is now generated using the generateTitle() function, which encapsulates the process of capitalizing and formatting the path. This enhances code readability and maintainability.
Change 3: Improved conditional rendering of content based on the search results.
// Previous Code:
let content: JSX.Element[] | JSX.Element;
if (data.length > 0) {
  content = <CardsList cards={data} />;
} else {
  content = <ComingSoon />;
}

// Refactored Code:
const renderContent = () => {
  const data = filterSearch(query as string);
  return data.length > 0 ? <CardsList cards={data} /> : <ComingSoon />;
};

In the refactored code, we moved the conditional rendering logic into a separate function renderContent(). This function handles the conditional rendering of either <CardsList /> or <ComingSoon /> based on the data received from the filterSearch() function. This change simplifies the main JSX code and makes it easier to understand the content rendering logic.
Change 4: Moved the conditional content rendering to a function, renderContent(), for better code organization.
// Previous Code:
let content: JSX.Element[] | JSX.Element;
// Content assignment based on conditional logic...

// Refactored Code:
const renderContent = () => {
  // Content assignment based on conditional logic...
};

By moving the conditional rendering logic into a separate function, we improve code organization and make the component's structure cleaner. The main JSX part of the component is now more focused on rendering elements without the complexity of conditional checks.
Screenshots

Note to reviewers

Hey there @rupali-codes, @CBID2, @k-deepak04 👋🏻
Please make sure to review this PR.

I request to @rupali-codes ,please fix the deploy so we can proceed on merging my pull request

@rupali-codes I will make changes and update

deployment is failing plz check

@k-deepak04 ,ok

@k-deepak04 @rupali-codes  deployment fixed


SecuritySupportWithSecurityManagerTest fails with Java 19

On execute SecuritySupportWithSecurityManagerTest with Java 19, all tests of the class are failing with UnsupportedOperationException

Security-Manager is deprecated, starting with jdk 17, see https://openjdk.org/jeps/411 for details. Therefore, we will remove it

Fixed, Matrix build now with 17 & 20


[BUG] should be a different text

Describe the bug
On accounts we didn't yet received transactions appear the text: (No transactions made with Alby yet) but I think should be (No transactions received with this account yet). Why?

Because it's a receiving transaction and not made transaction
Because I could have received transaction with Alby on other accounts.

Steps To Reproduce

Select an account and click on Incoming tab

Expected behavior
See the message:
(No transactions received with this account yet)
Alby information
Alby: 1.28.1

Proposed wording is good. I think we will merge the tabs together pretty soon tough, not sure when exactly.

can I work on this if it is still needed?


Deploy to Bluemix failing on binding SSO service

Tried to deploy to my account in a space.  (this is attempt #2)
Error log attached.
Started by user pipeline
Building remotely on jenkins-deploy-slave-4a4f4571b1be (.*Deploy) in workspace /home/jenkins/workspace/cdb5e1ed-e7a4-8885-e80c-3b5d1fa01335/9ae6eded-052b-494e-b132-32dcfd11f503
Unable to access upstream artifacts area /jenkins/jobs/cdb5e1ed-e7a4-8885-e80c-3b5d1fa01335/jobs/9778a168-056f-43d5-99ec-cf41b82763ce/builds/2015-07-14_12-37-49/archive. Does source project archive artifacts?
Downloading artifacts ...
DOWNLOAD SUCCESSFUL
Total time: 1 seconds
[9ae6eded-052b-494e-b132-32dcfd11f503] $ /bin/bash /tmp/hudson9206519648023796782.sh

cat /etc/lsb-release /etc/os-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
NAME="Ubuntu"
VERSION="14.04.2 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.2 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cf --version
/usr/bin/cf-orig/cf version 6.7.0-IDS-2014-12-04T10:56:46+00:00
echo 'Target: https://api.ng.bluemix.net'
Target: https://api.ng.bluemix.net
source _deploy.sh
++ cf push simpleDataPipe2
Using manifest file /home/jenkins/workspace/cdb5e1ed-e7a4-8885-e80c-3b5d1fa01335/9ae6eded-052b-494e-b132-32dcfd11f503/manifest.yml

Creating app simpleDataPipe2 in org<EMAIL_ADDRESS>/ space SDP as<EMAIL_ADDRESS>OK
Using route simpleDataPipe2.mybluemix.net
Binding simpleDataPipe2.mybluemix.net to simpleDataPipe2...
OK
Uploading simpleDataPipe2...
Uploading app files from: /home/jenkins/workspace/cdb5e1ed-e7a4-8885-e80c-3b5d1fa01335/9ae6eded-052b-494e-b132-32dcfd11f503
Uploading 307.7K, 75 files
Done uploading
OK
Binding service pipes-cloudant-service to app simpleDataPipe2 in org<EMAIL_ADDRESS>/ space SDP as<EMAIL_ADDRESS>OK
Binding service pipes-dashdb-service to app simpleDataPipe2 in org<EMAIL_ADDRESS>/ space SDP as<EMAIL_ADDRESS>OK
Binding service pipes-dataworks-service to app simpleDataPipe2 in org<EMAIL_ADDRESS>/ space SDP as<EMAIL_ADDRESS>OK
Binding service pipes-sso-service to app simpleDataPipe2 in org<EMAIL_ADDRESS>/ space SDP as<EMAIL_ADDRESS>FAILED
Could not bind to service pipes-sso-service
Error: Server error, status code: 502, error code: 10001, message: Service broker error: {"description"=>"CTJSO0046E This application type could not be determined. Ensure that the application is staged or running and retry the operation."}
Build step 'Execute shell' marked build as failure
Finished: FAILURE

Error i get trying to bind SSO (it is in my BM with new Pipes app that can run)
Service broker error: {"description"=>"CTJSO0015E The service instance with ID "3f44a704-da24-480a-a0d6-87d33d433459" must be configured before the operation can be performed."}

This may be a limitation of SSO service. I suggest we remove the SSO reference until I get a chance to investigate

Temporarily removed SSO service binding in 7f89ff38cbb67d8f6ce8408c06b8d7f10d703817.

I suspect that this is a chicken-and-egg problem. The SSO service may need the app to be started to bind, and the app needs SSO to be bound in order to start.

@DTAIEB is this good to close?


⚠ Bofrost.lu has degraded performance

In 2f5ad5d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2349 ms

Resolved: Bofrost.lu performance has improved in d1356ab after 46 minutes.


Implement interface Node

Interface Node
IDL Definition

더보기
interface Node {
  // NodeType
  const unsigned short      ELEMENT_NODE       = 1;
  const unsigned short      ATTRIBUTE_NODE     = 2;
  const unsigned short      TEXT_NODE          = 3;
  const unsigned short      CDATA_SECTION_NODE = 4;
  const unsigned short      ENTITY_REFERENCE_NODE = 5;
  const unsigned short      ENTITY_NODE        = 6;
  const unsigned short      PROCESSING_INSTRUCTION_NODE = 7;
  const unsigned short      COMMENT_NODE       = 8;
  const unsigned short      DOCUMENT_NODE      = 9;
  const unsigned short      DOCUMENT_TYPE_NODE = 10;
  const unsigned short      DOCUMENT_FRAGMENT_NODE = 11;
  const unsigned short      NOTATION_NODE      = 12;

  readonly attribute  DOMString            nodeName;
           attribute  DOMString            nodeValue;
                                                 // raises(DOMException) on setting
                                                 // raises(DOMException) on retrieval
  readonly attribute  unsigned short       nodeType;
  readonly attribute  Node                 parentNode;
  readonly attribute  NodeList             childNodes;
  readonly attribute  Node                 firstChild;
  readonly attribute  Node                 lastChild;
  readonly attribute  Node                 previousSibling;
  readonly attribute  Node                 nextSibling;
  readonly attribute  NamedNodeMap         attributes;
  readonly attribute  Document             ownerDocument;
  Node                      insertBefore(in Node newChild,
                                         in Node refChild)
                                         raises(DOMException);
  Node                      replaceChild(in Node newChild,
                                         in Node oldChild)
                                         raises(DOMException);
  Node                      removeChild(in Node oldChild)
                                        raises(DOMException);
  Node                      appendChild(in Node newChild)
                                        raises(DOMException);
  boolean                   hasChildNodes();
  Node                      cloneNode(in boolean deep);
};

Definition group NodeType

[x] ELEMENT_NODE
[x] ATTRIBUTE_NODE
[x] TEXT_NODE
[x] CDATA_SECTION_NODE
[x] ENTITY_REFERENCE_NODE
[x] ENTITY_NODE
[x] PROCESSING_INSTRUCTION_NODE
[x] COMMENT_NODE
[x] DOCUMENT_NODE
[x] DOCUMENT_TYPE_NODE
[x] DOCUMENT_FRAGMENT_NODE
[x] NOTATION_NODE

Attributes

[x] nodeName
[x] nodeValue
[x] nodeType
[x] parentNode
[x] childNodes
[x] firstChild
[x] lastChild
[x] previousSibling
[x] nextSibling
[x] attributes
[x] ownerDocument

Methods

[ ] insertBefore(in Node newChild, in Node refChild)
[ ]  replaceChild(in Node newChild, in Node oldChild)
[ ] removeChild(in Node oldChild)
[ ] appendChild(in Node newChild)
[ ]  hasChildNodes()
[ ]  cloneNode(in boolean deep)

아직 메소드들이 구현되지 않음


approx_percentile_cont return wrong result when scan multi parquet files.

Describe the bug
I found in our env approx_percentile_cont return different result when running the same query.
❯ create external table line STORED AS PARQUET LOCATION '/Users/yangjiang/test-data/tpch-1g-oneFile' ;

❯  select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5 ;

❯ create external table order stored as parquet location '/Users/yangjiang/test-data/tpch-1g/orders';
0 rows in set. Query took 0.043 seconds.
❯   select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>5215187                                    |
| O             |<PHONE_NUMBER>8411513                                    |
| P             |<PHONE_NUMBER>0546615                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 0.719 seconds.
❯   select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5;

+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>8942824                                    |
| O             |<PHONE_NUMBER>5123492                                    |
| P             |<PHONE_NUMBER>115534                                     |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 0.684 seconds.
❯   select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5;

+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>8943877                                    |
| O             |<PHONE_NUMBER>9252067                                    |
| P             |<PHONE_NUMBER>5153142                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 0.595 seconds.
❯   select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5;

+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>0461476                                    |
| O             |<PHONE_NUMBER>8498186                                    |
| P             |<PHONE_NUMBER>2100857                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 0.705 seconds.
❯

 pwd
/Users/yangjiang/test-data/tpch-1g/orders
yangjiang@LM-SHC-15009782 orders % ll
total 123520
-rw-r--r--  1 yangjiang  110538165     0B May 10 11:58 _SUCCESS
-rw-r--r--  1 yangjiang  110538165    11M May 10 11:58 part-00000-e87df013-b3f8-493f-93c2-3da94f34e357-c000.snappy.parquet
-rw-r--r--  1 yangjiang  110538165    11M May 10 11:58 part-00001-e87df013-b3f8-493f-93c2-3da94f34e357-c000.snappy.parquet
-rw-r--r--  1 yangjiang  110538165    11M May 10 11:58 part-00002-e87df013-b3f8-493f-93c2-3da94f34e357-c000.snappy.parquet
-rw-r--r--  1 yangjiang  110538165    11M May 10 11:58 part-00003-e87df013-b3f8-493f-93c2-3da94f34e357-c000.snappy.parquet
-rw-r--r--  1 yangjiang  110538165    11M May 10 11:58 part-00004-e87df013-b3f8-493f-93c2-3da94f34e357-c000.snappy.parquet
yangjiang@LM-SHC-15009782 orders %

To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

Interesting when create table with the same data in one file the results are same.
pwd
/Users/yangjiang/test-data/tpch-1g-oneFile/orders
yangjiang@LM-SHC-15009782 orders % ll
total 104112
-rw-r--r--  1 yangjiang  110538165     0B Mar 24 16:13 _SUCCESS
-rw-r--r--  1 yangjiang  110538165    51M Mar 24 16:13 part-00000-0e58b960-37a0-44c9-8561-53f0c32cf038-c000.snappy.parquet

     Running `target/debug/datafusion-cli`
DataFusion CLI v10.0.0
❯ create external table order STORED AS PARQUET LOCATION '/Users/yangjiang/test-data/tpch-1g-oneFile/orders' ;
0 rows in set. Query took 0.007 seconds.
❯  select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>8702895                                    |
| O             |<PHONE_NUMBER>466576                                     |
| P             |<PHONE_NUMBER>8729443                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 1.190 seconds.
❯  select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>8702895                                    |
| O             |<PHONE_NUMBER>466576                                     |
| P             |<PHONE_NUMBER>8729443                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 1.127 seconds.
❯  select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>8702895                                    |
| O             |<PHONE_NUMBER>466576                                     |
| P             |<PHONE_NUMBER>8729443                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 1.128 seconds.
❯  select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+-------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5)) |
+---------------+-------------------------------------------------------+
| F             |<PHONE_NUMBER>8702895                                    |
| O             |<PHONE_NUMBER>466576                                     |
| P             |<PHONE_NUMBER>8729443                                    |
+---------------+-------------------------------------------------------+
3 rows in set. Query took 1.123 seconds.
❯

@alamb @andygrove  PTAL

and i repalaced 'approx_percentile_cont' with 'sum' and 'count(distinct)' , it works well.

approx_distinct also works well 🤔

cc @domodwyer  and @realno  who did some work in this area

I wonder if this is something to do with serialisation/deserialisation of the TDigest state:
https://github.com/apache/arrow-datafusion/blob/929eb6d860fb60ba994b24397ad3c3eb7d839cdf/datafusion/physical-expr/src/aggregate/tdigest.rs#L577-L670
This is used when merging batches (Accumulator::merge_batch):
https://github.com/apache/arrow-datafusion/blob/929eb6d860fb60ba994b24397ad3c3eb7d839cdf/datafusion/physical-expr/src/aggregate/approx_percentile_cont.rs#L410
I know some changes were made to the approx_percentile_cont to support other parameters, perhaps some aren't carried over? I can take a look if this doesn't ring a bell with anyone :+1:

I wonder if this could be related to "floating point error" error accumulation -- namely that floating point operations are approximations and can produce different values if executed in different order.
Given operations like repartitoning and thread ordering, I don't think there is any guarantee that a particular operator will see the same data in the same order if the same query is run more than once 🤔

I have found after implement https://github.com/apache/arrow-datafusion/pull/3146#issue-1338872329
select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5, 100000) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+---------------------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5),Int64(100000)) |
+---------------+---------------------------------------------------------------------+
| F             |<PHONE_NUMBER>6666665                                                  |
| O             |<PHONE_NUMBER>1111112                                                  |
| P             | 181459.53                                                           |
+---------------+---------------------------------------------------------------------+
3 rows in set. Query took 2.573 seconds.
❯ select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5, 100000) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+---------------------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5),Int64(100000)) |
+---------------+---------------------------------------------------------------------+
| F             |<PHONE_NUMBER>6666665                                                  |
| O             |<PHONE_NUMBER>1111112                                                  |
| P             | 181459.53                                                           |
+---------------+---------------------------------------------------------------------+
3 rows in set. Query took 2.497 seconds.
❯ select o_orderstatus, approx_percentile_cont(o_totalprice, 0.5, 100000) from order group by o_orderstatus  order by 1 limit 5 ;
+---------------+---------------------------------------------------------------------+
| o_orderstatus | APPROXPERCENTILECONT(order.o_totalprice,Float64(0.5),Int64(100000)) |
+---------------+---------------------------------------------------------------------+
| F             |<PHONE_NUMBER>6666665                                                  |
| O             |<PHONE_NUMBER>1111112                                                  |
| P             | 181459.53                                                           |
+---------------+---------------------------------------------------------------------+
3 rows in set. Query took 2.633 seconds.

it not change when centroids numbers are 100000🤔

Given operations like repartitoning and thread ordering, I don't think there is any guarantee that a particular operator will see the same data in the same order if the same query is run more than once

Agree! this only happen in multi files which includes different partition finish order.  I think T-digest merge in final aggregation  is like "floating point error" different input order return different result.


Boss Battle Illusion ability Bug

players who have zorua or zoroark are reporting they are unable to join /boss battle, and it shows 0.00 damage dealt before instantly closing the battle
To Reproduce
Steps to reproduce the behavior:

have an illusion pokemon on your team
join /boss battle with it as your lead
illusion bugs out the fight

Expected behavior
finishes the battle and says you dealt 0.00 damage total to the boss
EpicArman
Additional context
haven't had the issue affect me but a couple players have complained about it in chat and they all are using zorua or zoroark on there team

forwarded to  internal tracker sicne it produces NPEs in console


Web example: ADSR

Checklist:

[x] I have read contributing.md.

About:
Not sure is it awesome or not 😋
But let's add it maybe.

ty :)


Dev postgresql microsoft.d bfor postgre sql 2022 03 08 preview

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[x] PowerShell
[x] CLI
[x] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

For Python breaking change, we need sign off from Python team. BigCat20196 (Jiefeng Chen) could do it.

/azp run

/azp run

@ambrahma - This is a huge refactoring combined with adding a new API version. That makes it nearly impossible to review, since we have no way of knowing what's changed, what's new, what's removed, etc. This is why we ask teams do refactoring in separate PRs before or after creating new API version PRs.
This PR apparently moves the existing specs contained in these 10 files (across 16 existing API versions):
postgresql.json
PrivateEndpointConnections.json
PrivateLinkResources.json
DataEncryptionKeys.json
Databases.json
PrivateDnsZone.json
IntelligentPerformance.json
QueryPerformanceInsights.json
Migrations.json
getCachedServerName.json
ServerSecurityAlertPolicies.json
PerformanceRecommendations.json
to these 15 files in the new API version (2022-03-08-preview):
Administrators.json
Backups.json
CachedServerName.json
Capabilities.json
CheckNameAvailability.json
Configuration.json
Database.json
Databases.json
FirewallRules.json
FlexibleServers.json
Operations.json
postgresql.json
PrivateDnsZone.json
ServerStartStopRestart.json
VirtualNetwork.json
I'm trying to figure out how to do ARM review. We need some help here:

Which API version(s) is 2022-03-08-preview replacing?
Which files have the new APIs?
Which existing APIs are changed?

Which files were they in before this PR?
Which files within this PR are they in?

Are any APIs removed?
How do the specs in the existing files map to the new ones? Only 2 files have the same name before and after, a couple others are similar.

@ambrahma - This is a huge refactoring combined with adding a new API version. That makes it nearly impossible to review, since we have no way of knowing what's changed, what's new, what's removed, etc. This is why we ask teams do refactoring in separate PRs before or after creating new API version PRs.
This PR apparently moves the existing specs contained in these 10 files (across 16 existing API versions):
postgresql.json PrivateEndpointConnections.json PrivateLinkResources.json DataEncryptionKeys.json Databases.json PrivateDnsZone.json IntelligentPerformance.json QueryPerformanceInsights.json Migrations.json getCachedServerName.json ServerSecurityAlertPolicies.json PerformanceRecommendations.json
to these 15 files in the new API version (2022-03-08-preview):
Administrators.json Backups.json CachedServerName.json Capabilities.json CheckNameAvailability.json Configuration.json Database.json Databases.json FirewallRules.json FlexibleServers.json Operations.json postgresql.json PrivateDnsZone.json ServerStartStopRestart.json VirtualNetwork.json
I'm trying to figure out how to do ARM review. We need some help here:

Which API version(s) is 2022-03-08-preview replacing?
Which files have the new APIs?
Which existing APIs are changed?

Which files were they in before this PR?
Which files within this PR are they in?

Are any APIs removed?
How do the specs in the existing files map to the new ones? Only 2 files have the same name before and after, a couple others are similar.

@mentat9 thank you sharing the problem you are facing with this review. Sorry I didn't realize that the refactoring alongwith the new api changes would result into this confusion.
Here are the required details you requested:

2022-03-08-preview version is the new api version we want to introduce for public preview. This is based out of the version 2022-01-20-preview version. However, there were some changes made in 2022-03-08-previewpreview version for getCachedServerName.json which I have included in this new version too.
Administrators.json is the only new api introduced here.
capabilities api in Capabilities.json was updated to have more properties introduced in the response. This api was initially in postgresql.json
FlexibleServers.json file have some new examples added for Create and Update which involves some new properties to be updated. This api was earlier in postgresql.json.
Existing apis are not removed in this PR.
postgresql.json (from 2022-01-20-preview) was split into following files:
Backups.json
Capabilities.json
CheckNameAvailability.json
Configuration.json
FirewallRules.json
FlexibleServers.json
Operations.json
ServerStartStopRestart.json
VirtualNetwork.json

Databases.json (from 2022-01-20-preview) is now Database.json (Sorry about this change as it was throwing LintDiff error after adding type object for some existing definitions for Database and DatabaseProperties.)
PrivateDnsZone.json (from 2022-01-20-preview) is mapped to PrivateDnsZone.json.
getCachedServerName.json (from 2022-03-08-privatepreview) is mapped to CachedServerName.json
Let me know if you need any other information from my end.

/azp run

@ambrahma - while you're in refactoring mode, I'd suggest you to take full advantage of common-types and not declare those yourself, that's also going to be quite helpful for reducing the amount of stuff you have that really could need reviewing, or ways you could accidentally deviate from the RPC. I'll add more detailed feedback if I have it.

Done requested changes

🕐

Done requested changes

@BigCat20196 can you please help review this PR for Python breaking change issue?

Hi @ambrahma I found there is breakingchange, you need start breakingchange review follow this.

Hi @ambrahma, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

Looks to me like one of the breaking change errors is caused by an actual bugfix in PrivateDnsZone.json - the old definition of CloudError (used as the error response) looks wrong to me. It would have had an extra 'error' wrapper around the error response:
    "CloudError": {
      "type": "object",
      "x-ms-external": true,
      "properties": {
        "error": {
          "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse"
        }
      },
      "description": "An error response from the Batch service."

@TimLovellSmith I mean need to involve breaking change reviewer into this big PR. Now there are already 20+ errors.
@ambrahma Could you create a new intake to involve them following this

Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.

@TimLovellSmith I mean need to involve breaking change reviewer into this big PR. Now there are already 20+ errors. @ambrahma Could you create a new intake to involve them following this

Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.

Initiated new breaking change request here https://msazure.visualstudio.com/One/_workitems/edit/15853327. Please get this approved at the earliest as this has been triggered without any actual breaking change

Hi @ambrahma I found there is breakingchange, you need start breakingchange review follow this.

Hi @ambrahma, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

Triggered this Braking change template for review https://msazure.visualstudio.com/One/_workitems/edit/15853327

@ambrahma you can reach out breaking change reviewer by email<EMAIL_ADDRESS>if urgent


[bug] hash mismatch of downloaded file on v0.3.0/nsis_semvercompare.dll

Describe the bug
I've installed tauri-cli from the latest git cargo install tauri-cli --git https://github.com/tauri-apps/tauri and it fails to validate a file it downloads during the build:
…
 Downloading https://github.com/tauri-apps/nsis-semvercompare/releases/download/v0.3.0/nsis_semvercompare.dll
        Info validating hash
       Error failed to bundle project: hash mismatch of downloaded file

Reproduction
cargo tauri build
…
        Warn NSIS directory is missing some files. Recreating it.
        Info Verifying NSIS package
 Downloading https://sourceforge.net/projects/nsis/files/NSIS%203/3.08/nsis-3.08.zip/download
        Info validating hash
        Info extracting NSIS
 Downloading https://github.com/tauri-apps/binary-releases/releases/download/nsis-plugins-v0/NScurl-1.2022.6.7.zip
        Info extracting NSIS NScurl plugin
 Downloading https://github.com/tauri-apps/binary-releases/releases/download/nsis-plugins-v0/NSIS-ApplicationID.zip
        Info extracting NSIS ApplicationID plugin
 Downloading https://github.com/tauri-apps/binary-releases/releases/download/nsis-plugins-v0/NsProcess.zip
        Info extracting NSIS NsProcess plugin
 Downloading https://github.com/tauri-apps/nsis-semvercompare/releases/download/v0.3.0/nsis_semvercompare.dll
        Info validating hash
       Error failed to bundle project: hash mismatch of downloaded file

Expected behavior
The same command works with 2.0.0-alpha.1
Platform and versions
Environment
› OS: Windows 10.0.19044 X64
› Webview2: 109.0.1518.61
› MSVC:
- Visual Studio Community 2019
› Node.js: Not installed!
› npm: Not installed!
› pnpm: Not installed!
› yarn: Not installed!
› rustup: 1.25.1
› rustc: 1.66.1
› cargo: 1.66.1
› Rust toolchain: stable-x86_64-pc-windows-msvc
Packages
WARNING: no lock files found, defaulting to npm
› @tauri-apps/cli [NPM]: 1.2.3
› @tauri-apps/api [NPM]: Not installed!
› tauri [RUST]: 1.2.3,
› tauri-build [RUST]: 1.2.1,
› tao [RUST]: 0.15.6,
› wry [RUST]: 0.23.4,
Stack trace
No response
Additional context
No response

this will be fixed by #6120

for now you can install the cli from this commit 4892637f83b0f64822a5d304e8786a4c92a8957d


npm install error

Hi
I'm trying to install FoundationPress, done all the steps and installed all required things for this to work
Current working with node v.4.2.0 but have also tried other versions like v.4.4.3 and other older versions.
My problem starts when i try to run npm install
This is the error I get:

<EMAIL_ADDRESS>postinstall C:\wamp64\www\wordpress_tutorial\wordpress\wp-content\themes\FoundationPress
bower install && gulp build

'bower' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v4.2.0
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: bower install && gulp build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'bower install && gulp build'.
npm ERR! This is most likely a problem with the foundationpress package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     bower install && gulp build
npm ERR! You can get their info via:
npm ERR!     npm owner ls foundationpress
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\wamp64\www\wordpress_tutorial\wordpress\wp-content\themes\FoundationPress\npm-debug.log
Appreciate the help
Thanks

npm install -g bower
http://bower.io/#install-bower

Is that really necessary? Because the point of moving to npm run (in https://github.com/olefredrik/FoundationPress/commit/85e631db7a7b9ded92a37caf48f38407ab0ed513) was to remove the need for global dependencies of (amongst others) bower.
Or is it a Windows thing, that demands a global version of bower? On OS X at least, I don't have to install it globally and there are arguments made for the move to local dependencies and not using the -g option in articles like  this, this and this.

@Aetles I am totally with you on local vs. global. I just thought that certain dependencies had to be installed globally, but that's probably not so much the case anymore.
So if bower doesn't need to be installed globally, then his problem is that it's not installed locally because it's not being recognized in the path. @bragith run npm install again and see if any errors occur before the one you posted.

Yeah, I can't speak for Windows (maybe there are more hurdles there to keep it local) but the intention of that commit (https://github.com/olefredrik/FoundationPress/commit/85e631db7a7b9ded92a37caf48f38407ab0ed513) was to make bower local, as the title was removed global dependency of bower and grunt and for me at least I don't need it global.

@Aetles I think I found out the reason it is not working. If it's not installed globally, you have to run the bower command instead as ./node_modules/.bin/bower to use the local version. If you want to run the local bower with only the bower command then you have to add this to package.json:
{
    ...
    "scripts": {
        "bower": "bower"
    }
}

Adding that to our package.json should tell it to look locally for bower when the command is run.
Source: http://www.sitepoint.com/solve-global-npm-module-dependency-problem/ (See section "The Solution")

It would be interesting to hear if that would solve the issue that OP had.
But it is already working for me without that addition to package.json. I've done a couple of installs recently (of my fork) where node was the only thing I needed to install before running npm install.

Hi all. Sorry for my absence in recent weeks. Have been busy with duties on other projects. I'm super interested in finding a solution to any installation problems that people experience.
I have two macbooks with OSX and Node v.4.x installed, and the only think I have to do is running npm install and I'm good to go.
I estimate as much as 70-80% of the issues registered on this repo are related to error messages during installation.

In the past I had loads of installation issues, but things have settled down, my problems boiled down to PATH issues and permission issues. I think the frustrating thing is when something works one day then without an obvious reason it doesn't work the next, for instance I have been using npm run watch on one site for weeks then yesterday I got an error with that and now have to use sudo npm run watch, must be permissions related but I can't track it down. I don't think any of the problems are caused by foundationpress, its just the various versions and ways of installing npm and the locations you use. For me switching to home-brew has made things much better

I guess if I had kept reading the article I linked I would have read this:

For example, you shouldn’t necessarily tie your app to Gulp, so you could create scripts that run Gulp, but do not mention Gulp:

{
    ...
    "scripts": {
        "build": "gulp build-prod",
        "develop": "gulp build-dev"
    }
}

So ya it looks like as long you mention bower in the scripts it will run the local version, and you don't need to have a script "bower": "bower". @Aetles touched on this already, but I misunderstood what she meant. My apologies @Aetles.
So surely something have went wrong during the install of node_modules for @bragith.

No problem :)
A general advice for troubleshooting these issues is to remove the node_modules folder entirely and run npm install again, that has been useful for me before, when stuck in "dependency hell".


The Import Solutions link navigates to a 404

The Import Solutions link navigates to a 404 Page Not Found page.

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

ID: d8d70291-28f8-f1d2-35d5-ccce1e24d089
Version Independent ID: cf1d66c6-aa7e-03ab-3955-d6f41f45a870
Content: Browse the metadata for your organization (Microsoft Dataverse) - Power Apps
Content Source: powerapps-docs/developer/data-platform/browse-your-metadata.md
Service: powerapps
GitHub Login: @phecke
Microsoft Alias: pehecke

@CalvinQuark I am not seeing that broken link in the article now. Perhaps someone else already removed it. Thanks


Training code release

I was really impressed by your research. Thank you for sharing such valuable work.
I was wondering if you have any plans to release the training code? It would be greatly appreciated.
Thank you!

The release of our open-source training code is on our agenda. We appreciate your patience and encourage you to stay tuned for updates.

Thank you so much for your response. I'm eagerly looking forward to the release of the training code.

Hi! Great work! I wonder if there is any planned date for releasing the training code?

Thanks for your interest in our work. We do have a plan to release training code in the future. However, the schedule is not clear yet. Please stay tuned for future updates.

Thank you for response! Looking forward to the code release!


Adds municipal holidays for Porto and Lisboa.

Ext list doesn't seem that common to me, so I only added to the city holidays the ones I think are more common pseudo-holidays

Hi @thylux thank you for your contribution.
In order to have it received, you should integrate it with unit tests to cover all your new holiday declarations.
Pls refer to library documentation for further details.
Thx, best regards

I've added the list of holidays for the 18 portuguese districts ... https://github.com/dr-prodigy/python-holidays/pull/753

@Nalguedo thanks, I completely forgot about this PR.
Given yours is more complete, I'll close this one.


Support for alternative templating engines

Could Helm support other templating engines?
After all, the goal is to convert a tree of data into a text.
The templating engine currently used is very verbose and lacks features present in other engines.
For instance, Freemarker - I could write the same template using way less constructs and around 30 % less lines.
Thanks for consideration.

@OndraZizka This is something that gets raised every now and again.
Here is some feedback:

In Helm v2 (previous release) there was the ability to add engines to Helm. Yet, no one used it or added any new engines as far as we know. This capability was removed in Helm v3. Some details about it mentioned in #5826.
Post Rendering was added in Helm v3 where rendered manifests could be manipulated, just before installing using tools like kustomize for example. Details of feature in #7260 and implementation in #7259.
Pluggable template engines was a feature raised in #6184. It was closed waiting on a HIP.

The recommendation here is if you want to pursue this feature then to submit a Helm Improvement Proposal (HIP) so that the community can discuss the feasibility of this feature and if accepted get it on the next Helm major release backlog: https://github.com/helm/community/blob/master/hips/hip-0001.md

@hickeyma, thanks for the links. I used Helm circa 2.5 years ago and I was not aware of the feature.
I will check the HIP process and try to find time to submit one.

I see https://github.com/hairyhenderson/gomplate as a susceptible templating engine for the helm template


Some items are on hundreds of works, breaking the requests API

These items and presumably more are on many works:
i18489102 - 289 works
i18489096 - 249 works
i18489126 - 245 works
The requests API only looks at the first 100 results when querying /works for a set of item identifiers: https://github.com/wellcomecollection/catalogue-api/blob/main/requests/src/main/scala/weco/api/requests/services/ItemLookup.scala#L124
This means that if a user has these items on hold, then they won't be able to see their requests, as the above linked method will fail. We should fix this: the obvious approach is to introduce paginated queries.

the obvious approach is to introduce paginated queries

Not sure about “obvious”; it's definitely one approach, but potentially runs up dozens of redundant requests (I think there's an item on thousands of works). There are other approaches we could consider also:

Make separate queries for each of the identifiers, or progressively cut the number of identifiers you query
e.g. on query 1 I fetch item.identifiers=A,B,C,D. I find A and B and see totalResults is > 100, so on the next query I fetch item.identifiers=C,D. Repeat until an identifier can't be found.

Start storing the work ID somewhere, so the requests API just looks up a list of N work IDs, as we've discussed previously.

Don't think we really have the resource to do option 2 - option 1 is a nice optimisation, let's do that


Add tweet's username and URL

Consider this scenario:
Sometime people may want to search for tweets by hashtag, and then do some analysis to the owner of these tweets, this feature helps people identify the owners.
Thanks.

Great idea, thanks for your attention ^^


Cannot decompile JEO bytecode listings: Classfile does not start with magic bytes

Consider this JEO bytecode listings:
// class version 55.0 (55)
// access flags 0x21
public class org/eolang/jeo/MethodByte {
  // compiled from: MethodByte.java
  // access flags 0x1
  // access flags 0x1
  public <init>()V
   L0
    LINENUMBER 3 L0
    ALOAD 0
    INVOKESPECIAL java/lang/Object.<init> ()V
    RETURN
    MAXSTACK = 1
    MAXLOCALS = 1
  // access flags 0x9
  public static main([Ljava/lang/String;)V
   L0
    LINENUMBER 5 L0
    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
    INVOKESTATIC org/eolang/jeo/MethodByte.method ()B
    INVOKEVIRTUAL java/io/PrintStream.println (I)V
   L1
    LINENUMBER 6 L1
    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
    LDC "passed"
    INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
   L2
    LINENUMBER 7 L2
    RETURN
    MAXSTACK = 2
    MAXLOCALS = 1
  // access flags 0x8
  static method()B
   L0
    LINENUMBER 9 L0
    BIPUSH 52
    IRETURN
    MAXSTACK = 1
    MAXLOCALS = 0
}

Then, I've tried to decompile this listing using com.strobel.decompiler.Decompiler and krak2. Both of them complain about the magic bytes:
java.lang.IllegalStateException: Wrong magic number: 791617635

	at com.strobel.assembler.metadata.ClassFileReader.readClass(ClassFileReader.java:566)
	at com.strobel.assembler.metadata.MetadataSystem.resolveType(MetadataSystem.java:129)
	at com.strobel.assembler.metadata.MetadataSystem.lookupTypeCore(MetadataSystem.java:86)
	at com.strobel.assembler.metadata.MetadataResolver.lookupType(MetadataResolver.java:46)
	at com.strobel.decompiler.Decompiler.decompile(Decompiler.java:49)
	at com.strobel.decompiler.Decompiler.decompile(Decompiler.java:26)
	at org.eolang.jeo.representation.BytecodeListingTest.convertsToPrettyString(BytecodeListingTest.java:95)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

Internally, it checks magic bytes:
public static TypeDefinition readClass(final int options, final IMetadataResolver resolver, final Buffer b) {
        final long magic = b.readInt() & 0xFFFFFFFFL;

        if (magic != MAGIC) {
            throw new IllegalStateException("Wrong magic number: " + magic);
        }
        ...

and krak2:
$ krak2 dis MethodByte.class --out MethodByte.j

disassemble MethodByte.class
Parse error in MethodByte.class: Classfile does not start with magic bytes. Are you sure you passed in a classfile?
Error: Finished with 1 errors

It seems that bytecode produced by JEO is not correct, as we can't decompile it back.

@volodya-lombrozo WDYT?

@h1alexbel Could you please add a bit of context? Where and how exactly did you get MethodByte.class?
Also could your run the following command:
 xxd -l4 MethodByte.class

It should print the following:
00000000: cafe babe                                ....

If it's different, the MethodByte.class was somehow corrupted.

@volodya-lombrozo I used decompiled listing, produced by org.eolang.jeo.representation.BytecodeListing. Input was a compiled java class MethodByte:
package org.eolang.jeo;

public class MethodByte {
    public MethodByte() {
    }

    public static void main(String[] var0) {
        System.out.println(method());
        System.out.println("passed");
    }

    static byte method() {
        return 52;
    }
}

BytecodeListing transforms this class file into this:
// class version 55.0 (55)
// access flags 0x21
public class org/eolang/jeo/MethodByte {
  // compiled from: MethodByte.java
  // access flags 0x1
  // access flags 0x1
  public <init>()V
   L0
    LINENUMBER 3 L0
    ALOAD 0
    INVOKESPECIAL java/lang/Object.<init> ()V
    RETURN
    MAXSTACK = 1
    MAXLOCALS = 1
  // access flags 0x9
  public static main([Ljava/lang/String;)V
   L0
    LINENUMBER 5 L0
    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
    INVOKESTATIC org/eolang/jeo/MethodByte.method ()B
    INVOKEVIRTUAL java/io/PrintStream.println (I)V
   L1
    LINENUMBER 6 L1
    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
    LDC "passed"
    INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
   L2
    LINENUMBER 7 L2
    RETURN
    MAXSTACK = 2
    MAXLOCALS = 1
  // access flags 0x8
  static method()B
   L0
    LINENUMBER 9 L0
    BIPUSH 52
    IRETURN
    MAXSTACK = 1
    MAXLOCALS = 0
}

and then, I tried to decompile that listing and got an error:
Parse error in MethodByte.class: Classfile does not start with magic bytes. Are you sure you passed in a classfile?

@h1alexbel Could you please add a bit of context? Where and how exactly did you get MethodByte.class? Also could your run the following command:
 xxd -l4 MethodByte.class

It should print the following:
00000000: cafe babe                                ....

If it's different, the MethodByte.class was somehow corrupted.

@volodya-lombrozo I've got:
00000000: 2f2f 2063                                // c

Investigating how MethodByte is corrupted..

@h1alexbel We should obtain the bytecode not from the output of BytecodeListing (as it isn't reliable) but directly from the bytes. We can retrieve the bytecode bytes as follows:
https://github.com/objectionary/jeo-maven-plugin/blob/fea4f7b6261bbf74e74e26a70435efffe21141f8/src/main/java/org/eolang/jeo/representation/BytecodeRepresentation.java#L118
Most probably, you will change this line to something like:
new JavaListing(this.input.value()).toString()

@volodya-lombrozo got it!


cmd/compile: Wrong line number in stack trace in this particular panic (from Go stdlib)

go version:
go version devel +4971493b0e14 Tue Oct 01 23:44:20 2013 -0400 darwin/amd64

the code:
https://gist.github.com/mitchellh/3883097d9d57fccbfb88

(the code actually works fine on play.golang.org, I'm not sure what changed in Go 1.2
but on 1.2 this panics)

The panic looks like this. If you look, the line number of `net.(*TCPConn).Close` is on
line 1 in dial.go. Is this working as intended? It made debugging this trickier.

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x35077]

goroutine 1 [running]:
runtime.panic(0x74e40, 0x114e19)
    /Users/mitchellh/go/src/pkg/runtime/panic.c:266 +0xb6
net.(*TCPConn).Close(0x0, 0x7b6a0, 0x117228)
    /Users/mitchellh/go/src/pkg/net/dial.go:1 +0x17
main.main()
    /tmp/test/test.go:10 +0x41
exit status 2

it would be better to say <unknown> or <generated> than to say dial.go:1.

1.9 compiler does that:
goroutine 1 [running]:
net.(*TCPConn).Close(0x0, 0xc42004df70, 0x48a224)
	<autogenerated>:1 +0x5
main.main()
	test.go:10 +0x2a

So this issue is fixed. Closing.


Cross-platform Pipenv.lock?

I am creating a cross-platform Python app.
While trying to build the app on Windows and Linux I noticed that Pipenv.lock is platform-specific.
For example, I create a project on Windows and add pytest, it has colorama with "markers": "sys_platform == 'win32'" in the lock file. But when modifying the lock file on Linux, such as adding a new lib (pipenv install hello-world), this dependency will disappear.
diff ../py-win/Pipfile.lock Pipfile.lock
4c4
<             "sha256": "828b8ad012f4c8773e6e61e3ac2be0ffcd7540fd7ed175a8355676c8e31c4d3d"
---
>             "sha256": "c4a1bdfad8e2d208344003d9c704432100fbcb9bd87f713178895637222767a4"
33c33
<         "colorama": {
---
>         "hello-world": {
35,36c35
<                 "sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d",
<                 "sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"
---
>                 "sha256:f236ab36224613dff8db190dc4a02b3787c3d19e95f7e0876e3098966118bc1e"
38,39c37,38
<             "markers": "sys_platform == 'win32'",
<             "version": "==0.4.1"
---
>             "index": "pypi",
>             "version": "==0.2"

Here is the full output on both systems: https://gist.github.com/AlexP11223/6457fd4c98272c526c855c63088c00d4
Is it supposed to work like that? If yes, what is the best way to handle that for cross-platform apps? Is there any better solution than just committing lock files for all platforms to the Git repo (such as Pipenv-win.lock, Pipenv-linux.lock) and renaming one of them to Pipenv.lock when building?
Pipenv version: '2018.11.26'
Pipenv location: 'C:\\Users\\user\\AppData\\Roaming\\Python\\Python37\\site-packages\\pipenv'
Python location: 'c:\\python37\\python.exe'
Python installations found:

3.7.3: C:\Python37\python.exe

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.7.3',
 'os_name': 'nt',
 'platform_machine': 'AMD64',
 'platform_python_implementation': 'CPython',
 'platform_release': '10',
 'platform_system': 'Windows',
 'platform_version': '10.0.17763',
 'python_full_version': '3.7.3',
 'python_version': '3.7',
 'sys_platform': 'win32'}

Pipenv version: '2018.11.26'
Pipenv location: '/home/alex/.local/lib/python3.7/site-packages/pipenv'
Python location: '/usr/bin/python3'
Python installations found:

3.7.3: /usr/bin/python3.7
3.7.3: /usr/bin/python3.7m
2.7.16: /usr/bin/python

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.7.3',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '5.0.0-21-generic',
 'platform_system': 'Linux',
 'platform_version': '#22+system76-Ubuntu SMP Tue Jul 16 19:57:52 UTC 2019',
 'python_full_version': '3.7.3',
 'python_version': '3.7',
 'sys_platform': 'linux'}

use --keep-outdated to keep the unneeded dependencies on a platform.

it doesn't seem to work
alex@pop-os:~/py1$ pipenv install --keep-outdated
Creating a virtualenv for this project…
Pipfile: /home/alex/py1/Pipfile
Using /usr/bin/python3.7 (3.7.3) to create virtualenv…
⠋ Creating virtual environment...

⠙ Creating virtual environment...

⠴ Creating virtual environment...Using base prefix '/usr'
New python executable in /home/alex/.local/share/virtualenvs/py1-MRCLG4IM/bin/python3.7
Also creating executable in /home/alex/.local/share/virtualenvs/py1-MRCLG4IM/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
Running virtualenv with interpreter /usr/bin/python3.7

✔ Successfully created virtual environment!
Virtualenv location: /home/alex/.local/share/virtualenvs/py1-MRCLG4IM
Installing dependencies from Pipfile.lock (1c4d3d)…
Ignoring colorama: markers 'sys_platform == "win32"' don't match your environment
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
alex@pop-os:~/py1$ pipenv install --keep-outdated hello-world
Installing hello-world…
Adding hello-world to Pipfile's [packages]…
✔ Installation Succeeded
Pipfile.lock (2767a4) out of date, updating to (1c4d3d)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
✔ Success!
Updated Pipfile.lock (2767a4)!
Installing dependencies from Pipfile.lock (2767a4)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

alex@pop-os:~/py1$ diff ../py-win/Pipfile.lock Pipfile.lock
4c4
<             "sha256": "828b8ad012f4c8773e6e61e3ac2be0ffcd7540fd7ed175a8355676c8e31c4d3d"
---
>             "sha256": "c4a1bdfad8e2d208344003d9c704432100fbcb9bd87f713178895637222767a4"
33c33
<         "colorama": {
---
>         "hello-world": {
35,36c35
<                 "sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d",
<                 "sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"
---
>                 "sha256:f236ab36224613dff8db190dc4a02b3787c3d19e95f7e0876e3098966118bc1e"
38,39c37,38
<             "markers": "sys_platform == 'win32'",
<             "version": "==0.4.1"
---
>             "index": "pypi",
>             "version": "==0.2"

What's the simplest way to install it?

@AlexP11223 If you are on mac: brew install pipenv --HEAD
Otherwise: pip install --user -e git+https://github.com/pypa/pipenv.git@master

Looks like it works in master:
alex@pop-os:~/py2$ python3 -m pipenv install --keep-outdated
Creating a virtualenv for this project…
Pipfile: /home/alex/py2/Pipfile
Using /usr/bin/python3.7m (3.7.3) to create virtualenv…
⠙ Creating virtual environment...Using base prefix '/usr'
New python executable in /home/alex/.local/share/virtualenvs/py2-5HLUPQ8M/bin/python3.7m
Also creating executable in /home/alex/.local/share/virtualenvs/py2-5HLUPQ8M/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
Running virtualenv with interpreter /usr/bin/python3.7m

✔ Successfully created virtual environment!
Virtualenv location: /home/alex/.local/share/virtualenvs/py2-5HLUPQ8M
Installing dependencies from Pipfile.lock (1c4d3d)…
Ignoring colorama: markers 'sys_platform == "win32"' don't match your environment
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 13/13 — 00:00:11
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
alex@pop-os:~/py2$ python3 -m pipenv install --keep-outdated hello-world
Installing hello-world…
Adding hello-world to Pipfile's [packages]…
✔ Installation Succeeded
Pipfile.lock (1c4d3d) out of date, updating to (2767a4)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Building requirements...
Resolving dependencies...
✔ Success!
Updated Pipfile.lock (2767a4)!
Installing dependencies from Pipfile.lock (2767a4)…
Ignoring colorama: markers 'sys_platform == "win32"' don't match your environment
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 14/14 — 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
alex@pop-os:~/py2$ python3 -m pipenv --version
pipenv, version 2018.11.27.dev0

alex@pop-os:~/py2$ diff ../py-win/Pipfile.lock Pipfile.lock
4c4
<             "sha256": "828b8ad012f4c8773e6e61e3ac2be0ffcd7540fd7ed175a8355676c8e31c4d3d"
---
>             "sha256": "c4a1bdfad8e2d208344003d9c704432100fbcb9bd87f713178895637222767a4"
39a40,46
>         },
>         "hello-world": {
>             "hashes": [
>                 "sha256:f236ab36224613dff8db190dc4a02b3787c3d19e95f7e0876e3098966118bc1e"
>             ],
>             "index": "pypi",
>             "version": "==0.2"

btw looks like Poetry handles it better by default, it doesn't remove dependencies for other platforms https://gist.github.com/AlexP11223/afbe247175efdcc897930d8c6ab04184
Maybe pipenv should consider this too?

@AlexP11223 --keep-outdated does the trick, as said above

I mean that it should be the default behavior (otherwise someone will forget to add it sooner or later), not hidden under some switch with an unrelated name (which probably does more than just keeping dependencies marked as for other platforms).

Platform dependent Pipenv.lock problem popped up, again with colorama. See

https://github.com/gruns/icecream/pull/40

For anyone that may have initially thought to use --keep-outdated as I did and doing a pipenv install --dev --keep-outdated pytest this will not reinstall and capture the pytest dependancies for that platform. Instead, you can used it with the lock command and get all the platform specific dependancies for your whole project:
pipenv lock --keep-outdated
Probably most people read it that way to begin with, but not I, for whatever reason.
Maybe worth scanning your the diff of your Pipfile.lock though, to make sure no unexpected versions get changed or removed.

@jamesstidard Sorry, but it is not clear for me how to handle cross-platform dependencies. Let me introduce my case.

I installed project dependencies on Ubuntu (pipenv install).
Copied Pipfile and Pipfile.lock to MacOS.
Ran pipenv install on MacOS. Result:  "ERROR: No matching distribution found for tflite-runtime==2.8.0"
Deleted Pipfile.lock.
Ran pipenv install on MacOS. Result: success.
Copied Pipfile and Pipfile.lock back to Ubuntu.
Ran pipenv install on Ubuntu. Result:  "ERROR: No matching distribution found for tflite-runtime==2.5.0"

So, I concluded that I need different dependency trees for different platform. By the way, I checked sys_platform option according to PEP 509 and haven't found workaround. Anyway I tried this:
8. Run pipenv lock --keep-outdated as you recommended.
9. Run pipenv install. Result:  "ERROR: No matching distribution found for tflite-runtime==2.5.0"
Am I doing something wrong or it is another case?

@RomanSteinberg Looks like you're doing the right steps. The only thing I can thing is: are you running pipenv lock --keep-outdated on the platform you are wanting to also support? seems like, from your description, you maybe did:

ubuntu $ pipenv install x
ubuntu $ pipenv lock --keep-outdated

macOS $ pipenv sync

Instead of:

ubuntu $ pipenv install x

macOS $ pipenv lock --keep-outdated
macOS $ pipenv sync

Otherwise, I'm not sure, looks like you're doing the same steps as me. Sorry.

Using your recipe I failed again. :(

EDIT: on rereading, both your ubuntu and macOS are failing with the same missing dependency, so this is maybe unrelated to it being a platform specific dependency and maybe a problem with the package itself.

As far as I understand, this package has different versions for different platforms. May be it is maintainers problem but it becomes mine. So, I should store Pipfile.lock for each platform separately.


2.12 release

I'd guess you'd need a 2.12 version of https://github.com/Verizon/sbt-rig beforehand, I'm hitting
[warn]  Note: Unresolved dependencies path:
[warn]          org.scalatest:scalatest_2.12:2.2.6 ((verizon.build.common) RigPlugin.scala#L79)
[warn]            +- io.verizon.knobs:knobs_2.12:3.11.0-SNAPSHOT
[warn]          org.scalacheck:scalacheck_2.12:1.12.5 ((verizon.build.common) RigPlugin.scala#L79)
[warn]            +- io.verizon.knobs:knobs_2.12:3.11.0-SNAPSHOT
[warn]          org.scoverage:scalac-scoverage-runtime_2.12:1.1.1 ((scoverage.ScoverageSbtPlugin) ScoverageSbtPlugin.scala#L30)
[warn]            +- io.verizon.knobs:knobs_2.12:3.11.0-SNAPSHOT
[warn]          org.scoverage:scalac-scoverage-plugin_2.12:1.1.1 ((scoverage.ScoverageSbtPlugin) ScoverageSbtPlugin.scala#L30)
[warn]            +- io.verizon.knobs:knobs_2.12:3.11.0-SNAPSHOT

@reactormonk yeah we have not even looked 2.12 yet. It's not the rig plugin itself that needs upgrading (that's an SBT thing), rather, it just needs to know how to support 2.12... should be an easy fix if you want to give it a go?

From what I see, I'd have to up a few versions, since there are no 2.12 releases of these - should I do that globally, or figure out how to do that for 2.12 only?

@reactormonk Presumably it would have to be conditionally, just like we load the scalatest / scalacheck stuff already. Likewise with the compiler flags - we are specialized per scala version.


feat(CSI-268): support NFS target IPs override via API secret

TL;DR
Added support for NFS target IPs in cloud deployments where setting Group IP addresses is not possible.
What changed?

Updated NFS.md documentation to include information about Weka cluster preparation for NFS access and the new nfsTargetIps parameter.
Modified csi-wekafs-api-secret.yaml to include the nfsTargetIps field in the API secret.
Updated apiclient.go to include NfsTargetIPs in the Credentials struct.
Modified interfacegroup.go to use the provided NFS target IPs when available.
Updated wekafs.go to parse and handle the new nfsTargetIps parameter from secrets.

How to test?

Deploy the Weka CSI Plugin with NFS failback.
Configure the nfsTargetIps parameter in the API secret with a comma-separated list of NFS target IP addresses.
Create and mount a PVC volume using the Weka CSI Plugin.
Verify that the NFS connection is established using one of the provided target IPs.

Why make this change?
This change enables the Weka CSI Plugin to work in cloud deployments where setting Group IP addresses for NFS access is not feasible. By allowing users to specify NFS target IPs directly, it provides a workaround for environments where setting up floating IPs (Group IP addresses) is not available, ensuring broader compatibility and easier deployment in various cloud scenarios.

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

#340
#343  👈
#341
dev

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

Join @sergeyberezansky and the rest of your teammates on  Graphite

Merge activity

Sep 27, 8:57 AM EDT: @sergeyberezansky started a stack merge that includes this pull request via Graphite.


[bug] cursor out of window error

|| Error executing Lua callback: ...e/nvim/site/pack/packer/opt/treesj/lua/treesj/format.lua:67: Cursor position outside buffer
|| stack traceback:
|| 	[C]: in function 'nvim_win_set_cursor'
|| 	...e/nvim/site/pack/packer/opt/treesj/lua/treesj/format.lua:67: in function '_format'
|| 	...are/nvim/site/pack/packer/opt/treesj/lua/treesj/init.lua:20: in function <...are/nvim/site/pack/packer/opt/treesj/lua/treesj/init.lua:19>

I am woking on adding support for C++, and encountered the above trace with the config:
treesj.setup({
    langs = {
        cpp = {
            compound_statement = treesj_utils.set_preset_for_list({
                both = {
                    separator = ';',
                    last_separator = true,
                    no_format_with = {}
                }
            })
        },
    },
})

in the code segment:
  if (true) {
     ^^^^^ cursor anywhere before `{`
    int a = 10;
    int b = 15;
  }

using the TSJSplit. The entire document is messed up after this crash as well.
TSJJoin in the same case, gives the error: Cannot join node longer .....
otherwise, it works as expected:
  if (true) {
              ^ cursor at or after `{`
    int a = 10;
    int b = 15;
  }

---

  if (true) { int a = 10; int b = 15; }

For reference, the entire block { .... } is the TS node compound_statement.
NOTE:
I know this use case does not make sense because why would you put different statements on the same line, but its just something I encountered while playing around. This is a bug though, and might be encountered elsewhere, because this config is 'correct'.

I can't reproduce this bug. Maybe you're calling plugin when this fragment inside another node and the error happen on it?
Nevertheless, I will look for the error. Thanks for helpings.
https://user-images.githubusercontent.com/46977173/203769307-648bde07-87fc-4296-a44b-aadbd24455ec.mov

Hey! I cannot reproduce the bug either anymore, it might be I was on an older version of plugin or something. But you have given me a workable idea:
Is it possible to only affect the compound_statements inside an if_statement, not in general?
Because this config (as can be seen in your comment), will change the entire function if im outside an if_statement because it is a compound_statement.

I found a case, why error presented:
( code from luajit-remake )
static void NO_RETURN HandleMetatableSlowPath(TValue tvIndex, TValue base, TValue metamethod) {
  while (true) {
    // Calling plugin ':TSJSplit' when cursor at 'likely' { row 9, col 13 }.
    // The 'if_statement' NOT configured with "{ target_nodes = { 'compound_statement' } }".
    // TreeSJ continue search for suitable node up and found 'compound_statement' at line(row) 2.
    // 'compound_statement' is already splitted. Repeated split (without "split = { recursive = true }")
    // is joining all nested multiline node to one line.
    if (likely(metamethod.Is<tHeapEntity>())) {
      HeapEntityType mmType = metamethod.GetHeapEntityType();
      if (mmType == HeapEntityType::Function) {
        MakeCall(metamethod.As<tFunction>(), base, tvIndex,
                 GlobalGetMetamethodCallContinuation);
      } else if (mmType == HeapEntityType::Table) {
        assert(tvIndex.Is<tString>());
        HeapPtr<HeapString> index = tvIndex.As<tString>();
        HeapPtr<TableObject> tableObj = metamethod.As<tTable>();
        GetByIdICInfo icInfo;
        TableObject::PrepareGetById(
            tableObj, UserHeapPointer<HeapString>{index}, icInfo /*out*/);
        TValue result = TableObject::GetById(tableObj, index, icInfo);
        if (likely(!icInfo.m_mayHaveMetatable || !result.Is<tNil>())) {
          Return(result);
        }
        EnterSlowPath<CheckMetatableSlowPath>(tableObj);
      }
    }
  }
}

When trying 'split' already split block, sticky-cursor work wrong. I'll think, how correctly handle this. At the moment, I just hide error with safe calling.

Is it possible to only affect the compound_statements inside an if_statement, not in general?

Not sure what I correctly understood your question, but '{ target_nodes = { ... } }' just for it.

Some nodes can be seen to have names as well in TS Playground, can these names/titles be supported in TreesJ, not just the name of the node?

Hmm, you mean like it configured in javascript for try_statement what contains few statement_block in catch_clause and finaly_clause?

Some nodes can be seen to have names as well in TS Playground, can these names/titles be supported in TreesJ, not just the name of the node?

Hmm, you mean like it configured in javascript for try_statement what contains few statement_block in catch_clause and finaly_clause?

Like in this setup, can the red highlighted condition and consequence and alternative be added as nodes to the config? EG:
javascript = {

-- is this possible?
    condition = { --[[ ]] },
    consequence = { --[[ ]] },
    alternative = { --[[ ]] },

-- instead of this
    statement_block = { -- [[ ]] },
    parenthesized_expression = { --[[ ]] },
    else_clause = { -- [[ ]] }
}

this way, only say condition node for if_statement will be effect, not any other parenthesized_expression nodes in the program.

Is it possible to only affect the compound_statements inside an if_statement, not in general?

Not sure what I correctly understood your question, but '{ target_nodes = { ... } }' just for it.

this is related to the above as well.
Basically, the problem im facing is:
https://user-images.githubusercontent.com/16427330/204075925-a5ab1f26-6692-41bc-b6d1-e5adc271b51d.mov
IE: with the config:
cpp = {
            compound_statement = treesj_utils.set_preset_for_list({
                both = {
                    separator = ';',
                    last_separator = true,
                    no_format_with = {}
                }
            }),
            if_statement = { target_nodes = { 'compound_statement' }}
}

Split/Join work perfectly when on/inside the if_statement.
But Split when outside the if_statement, but still inside the function body (which itself is a compound_statement), will destroy the formatting of the function body, and also place the cursor at a seemingly weird position. Join in this case makes the function body in one line.
I hope to achieve the behavior where, if_statement still works the same as above,
but calling Split/Join has no effect when outside if_statement.
This can be made possible, as I mention in the previous reply:

If we can just add configs for consequence which is specific, but no need for compound_statement which is general.

It cannot detect 'if_statement' outside 'if_statement'. And I don't understand for why it can be need? :-) Here, plugin found a compound_statement of function because it is the closest suitable node. See 'How it works' in readme.
You can strongly restrict split/join 'compound_statement' if it contains 'if_statement':
local cpp = {
  compound_statement = u.set_preset_for_list({
    both = {
      separator = ';',
      last_separator = true,
      no_format_with = { 'if_statement' },
    },
  }),
  if_statement = { target_nodes = { 'compound_statement' } },
}

In my plan, implement functionality, when it will be able to configure same node the different depending on the context. Maybe it will solve it task.

It cannot detect 'if_statement' outside 'if_statement'. And I don't understand for why it can be need? :-) Here, plugin found a compound_statement of function because it is the closest suitable node. See 'How it works' in readme.
You can strongly restrict split/join 'compound_statement' if it contains 'if_statement':
local cpp = {
  compound_statement = u.set_preset_for_list({
    both = {
      separator = ';',
      last_separator = true,
      no_format_with = { 'if_statement' },
    },
  }),
  if_statement = { target_nodes = { 'compound_statement' } },
}

I see, should have studied the README.md more :'). Thank you!
Although, Ive seen to be a better/more general config:
local cpp = {
  compound_statement = u.set_preset_for_statement({
    both = {
      separator = ';',
      last_separator = true,
      no_format_with = { 'compound_statement' },
    },
  }),
  if_statement = { target_nodes = { 'compound_statement' } },
}

In my plan, implement functionality, when it will be able to configure same node the different depending on the context. Maybe it will solve it task.

YES! this would definitely give more control to the user as well as the plugin itself! I vote its a good feature to add.
Ill go update the overall config ive found to be generally useful for Cpp / Python in PRs!

Keeping issue open till original error is resolved.

YES! this would definitely give more control to the user as well as the plugin itself! I vote its a good feature to add. Ill go update the overall config ive found to be generally useful for Cpp / Python in PRs!

Excellent! Please, add tests in a PR according to 'tests/README.md'

Fixed in #18


OpenStack Foundation renamed

It's now the Open Infrastructure Foundation.

Thanks for the clarification, we'll fix it asap.

The foundation has been renamed in the file, thanks!