File order dependent segmentation fault when parsing parameterized SV interfaces

Steps to reproduce the issue
I've provided a minimal working example in minpass.zip and a similar failing example in minfail.zip.
Tried on newest commit 1dbc7017
Simply running yosys if2.sv if1.sv main.sv causes a segmentation fault with a warning: Warning: Deep recursion in AST simplifier. Note that running
yosys if2.sv main.sv if1.sv intererstingly does not.
I also noticed that the tests in tests/svinterfaces fail with segmentation faults for me.
I originally started writing this error report with my current install (bfeba9ad) where I got the following error message instead: if1.sv:0: ERROR: Failed to detect width for identifier \ADDR_WIDTH!
Not sure if that is relevant.
Version info: Yosys 0.9+1706 (git sha1 1dbc7017, gcc 7.4.0-1ubuntu1~18.04.1 -fPIC -Os)
Expected behavior
File ordering should not cause a segmentation fault.
Actual behavior
File ordering can cause a segmentation fault.

Alright, I've explored a bit deeper and the crashes in the svinterface tests actually occurred in iverilog. These disappeared once I updated iverilog to a more recent version. The original problem still remains and I'm slowly picking at it.

Some further observations
My minimal example wasn't actually minimal - main.sv is not necessary in reproducing the bug.
yosys if1.sv if2.sv -T and
yosys if1.sv if2.sv -Q do not crash. They instead error out with the following message:
if2.sv:2: ERROR: Failed to detect width for identifier \ADDR_WIDTH!
Running
yosys -p "read_verilog -sv -dump_ast1 -dump_ast2 if1.sv ; read_verilog -sv -dump_ast1 -dump_ast2 if2.sv" >> dump1.txt 2>&1 crashes with a segmentation fault and the following dump:
dump1.txt
Instead running (same command but with -Q flag)
yosys -p "read_verilog -sv -dump_ast1 -dump_ast2 if1.sv ; read_verilog -sv -dump_ast1 -dump_ast2 if2.sv" -Q >> dump2.txt 2>&1 does not crash and provides the following dump: dump2.txt
In neither of these cases do we get output from the -dump_ast2 flag for the read_verilog -sv -dump_ast1 -dump_ast2 if2.sv section of the above commands.

I've dug a step deeper into the codebase and I think I've found the symptomatic line. On line 623 of frontend/ast/genrtlil.cc the detectSignWidthWorker function appears to keep recursing without ever finishing. This eventually causes the sigsegv.
The cycle seems to be cause by a loop in the pointer structure. I will admit I don't quite understand the larger scope of this section of code so I can't pinpoint the error, but I can describe the looping state:
In detectSignWidthWorker (dSWW):
this->type == AST_IDENTIFIER and (this->str == "\\ADDR_WIDTH")
this->id2ast->type == AST_LOCALPARAM and (this->id2ast->str == "" ) (shouldnt str be "AW"?)
this->id2ast->children[0] == this <<<
dsWW keeps calling id2ast->simplify, but id2ast->simplify calls dSWW on id2ast->children[0] which closes the loop.
In the end my gut feeling say that this is merely a symptom of an earlier error when constructing the AST data structure for if2. I find it especially peculiar that this only happens when the parameters in if1 and if2 have the same name. Is there some memory usage or symbol sharing process that gets confused?
I'm afraid I can't work more on this bug for now. Hopefully someone with a bit more insight into the AST frontend can guess what is going on.

I've been tracking a very similar problem, and think I found the solution. I will open a pull request soon, but as a stopgap for the time being, using read -sv instead of read_verilog -sv seems to work for some reason (I haven't looked into why).
The problem is a regression introduced in 0a1af434 (in the else block, when the cached representation is found, it should return new_modname instead of modname).

Hmm actually I'm not completely sure if that's a regression anymore, or what the actual problem is. Using read -sv instead of read_verilog -sv does seem to help though.

Thank you for your input! I tried it with read -sv and that did appear to change the behaviour somewhat, but in general the error persists. I'll spend some more time on this bug this weekend.

I haven't looked at the test case in detail, but perhaps this helps: the difference between read and read_verilog is that the former will not elaborate the design immediately (equivalent to the latter with the -defer option, which has this help text:
    -defer
        only read the abstract syntax tree and defer actual compilation
        to a later 'hierarchy' command. Useful in cases where the default
        parameters of modules yield invalid or not synthesizable

)

Alright!
I think I've managed to catch the trail of this particularily annoying bug. In the AST Preprocessor there's a shared namespace AST_INTERNAL with some global variables, of which the most interesting here is current_scope, a map of identifier names and pointers to the AstNode the identifier is referencing.
When AST::process is called on if1 (the first module parsed in this example) current_scope is empty, as expected.
However, when AST::process is called on if2 (second call to ::process) current_scope is already populated with one entry - the identifier ADDR_WIDTH pointing to an AST_PARAMETER node - the node with the parameter definition of ADDR_WIDTH in if1.
This observation falls in line with the idea that there is somehow 'leakage' between the generation of the two modules. The solution might be as simple as making sure to clear global state on calls to AST::process or the fact that current_scope isn't empty might be symptomatic of something larger. Making sure that the map is cleared on every run has seemingly made this bug disappear but I haven't got to test it thoroughly yet. I'll try to get a pull request through soon.
(P.s. @eddiehung,  That makes perfect sense with what I saw happening - the bug was simply being masked because of synthesis being deferred.)
(P.s.s @jjj11x hopefully this solves your bug as well. Do you have an open issue for it?)


ques: Are there any plans to add it to Nuxt Modules?

Context
Hi maintainer team, thank you for creating a very nice library.
Are there any plans to add this module as well?
If you plan to add it, I will create a PR (I want you to focus on developing Radix Vue, Shadcn-vue, etc.)
I am asking this question considering that there is a roadmap such as "We plan to add the necessary features after development is completed."
Note
radix-vue has already been added.
https://nuxt.com/modules/radix-vue

Hi @zernonia , I would be happy if you could reply when you have a time. 🙏

I don't fully understand what you're looking for, but we have shadcn-nuxt module, which automatically imports shadcn-vue components

I didn't explain enough, sorry...

Nuxt has an excellent CLI called Nuxt CLI (called Nuxi).
By using the Nuxi command, you can add modules as follows. Below is an example of adding Radix-vue Nuxt module.
npx nuxi module add radix-vue

By using the Nuxi command, installation and addition to nuxt.config will be completed automatically. It is possible to significantly reduce the installation steps for users.
You can also search for modules. (Below is an example of adding Radix-vue Nuxt module).
% npx nuxi@latest module search radix-vue
✔ Found 1 Nuxt module matching radix-vue for Nuxt 3.0.0

- Name               radix-vue
- Homepage           https://www.radix-vue.com/
- Compatibility      nuxt: ^3.0.0
- Repository         https://github.com/radix-vue/radix-vue
- Description        Vue port of Radix UI Primitives. An open-source UI component library for building high-quality, accessible design systems and web apps.
- Package            radix-vue
→ Install            npx nuxi module add radix-vue
- Stars              2.6K
- Monthly downloads  181.7K

The current documentation causes the installation to fail and this PR is incomplete as is.

radix-vue/shadcn-vue#493

This procedure will not work properly unless you add shadcn-nuxt to your Nuxt modules.

After running npx nuxi@latest module add shadcn-nuxt

Ah, I mistakenly thought it couldn't be installed because it didn't come up in the search. Thank you for teaching me. 🙏
% npx nuxi@latest module search shadcn-nuxt
ℹ No Nuxt modules found matching query shadcn-nuxt for Nuxt 3.0.0

Can I add module information to the Nuxt Modules repo so that it can be searched in the Nuxt CLI and Nuxt Modules page(https://nuxt.com/modules)?

Yes you may create a ticket on Nuxt Modules for that @shinGangan  😁

@zernonia

I see the question has been resolved right? Can we close this then? 😁

Yes, thank you very much for answering my question carefully.
Since the question has been resolved, there is no problem in closing this issue.


Can't use out-of-box because of MSBuild

Summary
In README.md, it's suggested to install with a plugin manager and answering y when prompt. However, this is likely to stock (at least) in Ubuntu 22.04 in WSL2 because omnisharp-roslyn has stopped shipping mono and MSBuild. Both methods for installing in Linux and WSL will fail.
Environment

Ubuntu 22.04 (WSL 2)
Vim 8.2
most recent omnisharp-vim: 3799c45

Method to work
Since I use WSL2 and readme points out that having a .NET in Windows and modifying g:OmniSharp_translate_cygwin_wsl will result in a better performance, let's focus on it!

Put in .vimrc:let g:OmniSharp_translate_cygwin_wsl = 1

Run :OmniSharpInstall
In Windows, install MSBuild by installing Build Tools for Visual Studio without any workload. (p.s this is suggested in issue of omnisharp-vscode

Althought I've solved the problem, I hope these can be done in the install script or by modifying readme.
What do you think?

Sorry I typed too fast and skipped the details.😢
Automatic installation
Using :OmniSharpInstall to install in a default manner, it installed a Linux version which requires mono and MSBuild.
Before, this worked since omnisharp-roslyn used to ship mono and MSBuild along with the program. But they stopped doing so since last year. So, the automatic method won't work in Linux now.
Linux installation
Hence, I turned into manual installation. But there's no indication regarding to mono nor MSBuild. As for omnisharp-roslyn, there's nothing wrote about MSBuild as well. I guess because they think their users are all on Visual Studio which bundles MSBuild.
WSL installation
Later, I see this

However, if you have the .NET Framework installed in Windows, you may have better results using the Windows binaries.

So, I turned into WSL installation.
In this section, we see

see OmniSharp-roslyn for requirements

However, they ask us to download a release version and don't tell us to install the missing MSBuild

Currently, I'm just setting this up. I will setup Unity later, but I haven't done doing it. Did you mean I need to install .NET eventually?

It seems that things are working, but my another plugin is too slow in directories not in Ubuntu but in Windows.
I'll mainly be using Visual Studio then😢

Currently, I'm just setting this up. I will setup Unity later, but I haven't done doing it. Did you mean I need to install .NET eventually?

This is the relevant part here. The big problem is that Unity still uses "old" .NET. It uses .NET Framework and not .NET Core (now just called dotnet, or .NET5/.NET6/.NET7).
In most cases these days, .NET is using the newer dotnet and when you install dotnet you get the msbuild you need along with it. To use OmniSharp-vim with dotnet, you currently have to tell it to use a net6 build, with let g:OmniSharp_server_use_net6 = 1. This will work on Windows, or in WSL, or on linux or mac.
To run older, .NET Framework projects, you install the .NET Framework on Windows and it also hopefully comes with its own msbuild and as long as you run omnisharp-roslyn in Windows everything works fine. To run .NET Framework projects in other operating systems you need mono. So omnisharp-roslyn used to ship with a cut-down version of mono that it used. However since omnisharp-roslyn has moved on from .NET Framework, and it is normal to use dotnet which has its own tooling included, omnisharp-roslyn no longer ships mono or msbuild.
When you try to run omnisharp-vim in wsl, you then need to make some decisions. If you want to use wsl but have the project still be a windows .NET Framework project that you can e.g. also develop in Visual Studio, that's what we created the g:OmniSharp_translate_cygwin_wsl option for. In that mode, you could run vim in wsl (where vim is a linux binary), and tell omnisharp-vim to run omnisharp-roslyn in Windows. Omnisharp-vim would translate all paths from wsl/linux (/home/...) to Windows ("C:...") and back. This worked well in cygwin and in WSL1 but doesn't work well in WSL2 unfortunately, see #706
From what you've said, it sounds like you're mostly interested in running .NET Framework, Unity projects in Windows. If I were you, I would do this from gvim, installed in Windows. WSL1 is also an option and as described in #706, there are possible workarounds to get WSL2 working.
As you can see, it's not an entirely simple ecosystem right now. It will be simpler when Unity moves to dotnet.

Sorry for the late reply and thanks for your explanation!
From those information, it seems that I need to install .NET Framework 4.7.1 and MSBuild right?
However, I'm still stocked both in WSL and Windows😭 Originally said "I've solved" was wrong😭
unity
In wiki, there's intruction regarding to generating .csproj files. However, the options aren't the same now. I'm on Unity version 2021.3.12f1. And this is what I did:

Go to Preferences -> External Tools
Set "External Script Editor" to "Visual Studio Code" because there's no button if "Open by file extension" is selectied.
Tick all the options under "Generate .csproj files for"
Click "Regenerate project files"

Another method I tried is this:

Go to Preferences -> External Tools
Set "External Script Editor" to "Visual Studio Code" because there's no button if "Open by file extension" is selectied.
Close Unity
Run the command wrote in wiki:"C:\Program Files\Unity\Hub\Editor\2021.3.12f1\Editor\Unity.exe" -batchmode -nographics -logFile - -executeMethod UnityEditor.SyncVS.SyncSolution -projectPath . -quit

Wait for the busy Unity to disappear in Windows Task Manager.

Vim in WSL
I installed mono-devel built for Focal(Ubuntu 20.04) but not my Jammy(Ubuntu 22.04) because they aren't updating.
I save Unity files in Windows and open Vim as a Linux binary with let g:OmniSharp_server_use_net6 = 0 and let g:OmniSharp_translate_cygwin_wsl not set.
It looks like it can understand process project files(since it didn't show error and it took awhile to load 63 projects, but I didn't take a look into the log either), but it considers using UnityEngine; as an unused statement and others like MonoBehaviour are missing their assemblies.
Vim in Windows
In Windows, both .NET Core and .NET Framework stucks.
.NET Core
I installed .NET 7 SDK and set let g:OmniSharp_server_use_net6 = 1.
This way, all projects are not able to load. Opening omnisharp's log, it says it can't find .NETFramework,Version=v4.7.1, which is kind of reasonable.
omnisharp_net7.log
.NET Framework
So, I uninstalled .NET 7 and installed .NET 4.7.1 Developer Pack.
Yet, it could't find MSBuild. I'm not sure what's the path I should set as FrameworkPathOverride. C:\Windows\Microsoft.NET\Framework64\v4.0.30319 wasn't working.
Hence, MSBuild was installed. This time, althought it found MSBuild without environment variable set, it said it could't find the current version of it in log and no projects were loaded.

What else would you suggest I can try? Truly thanks that you would read here.

@timsu92
vim/nvim inside wsl
In wsl install .Net 7 SDK and mono
Then in .zshrc or .bashrc or whatever shell u use
export MSBuildSDKsPath="/usr/lib/dotnet/sdk/7.0.107/Sdks"
export FrameworkPathOverride="/usr/lib/mono/4.5"

make sure to assign correct paths
Then in project root
dotnet new globaljson --sdk-version 7.0.107


improve Python checks: detect dead code

In Python, I would like to detect dead (unused) code pieces but currently they are not marked. Consider the following script:
#!/usr/bin/env python3

def unused():
    pass

def main():
    print('How to detect unused() is never called?')

main()

According to the README, makers provided by neomake as of this writing are: pep8, flake8, pyflakes, pylama, pylint, python. I tried them all in shell but none of them detected my unused function. Example:
$ flake8 dead.py
$

Maybe I'm missing something, but it seems these makers cannot detect dead code. However, the project vulture can do exactly this:
$ vulture dead.py
dead.py:4: Unused function 'unused'

Can we add vulture as a supported maker?

Can we add vulture as a supported maker?

Yes, why not?

OK, I made a pull request: https://github.com/neomake/neomake/pull/420 .
How to use vulture?

Install it and verify that you cal call it from the shell. Example:
$ vulture dead.py
dead.py:6: Unused function 'unused'

Then enable it in your init.vim file. Mine looks like this:

Plug 'neomake/neomake'
" {{{
    let g:neomake_python_enabled_makers = ['flake8', 'pep8', 'vulture']
    let g:neomake_python_flake8_maker = { 'args': ['--ignore=E501,E266'], }
    let g:neomake_python_pep8_maker = { 'args': ['--max-line-length=100', '--ignore=E266'], }

    autocmd! BufWritePost * Neomake
" }}}

#420 is merged, so I am closing this.
Thanks!
You might want to look at #596 probably for some improvements to the vulture maker.


Website should fail more gracefully

Following the instructions and running $ yarn on my system resulted in lots of errors. I am assuming there are some other dependancies I need installed. These should be documented, and the code should be able to deal without them if necessary.

Are you seeing errors when running the installation command $ yarn or when running the build / dev scripts? The latter will be related to missing font files, will try to resolve this soon.

Yes, on closer inspection it's having to do with the missing fonts...

Closing this as food for thought...


Atom 1.25 assigns JavaScript language to .jsx files

Description
Atom 1.25 looks to be defaulting the language of .jsx files to JavaScript if no other language package is installed that would otherwise overrule it.
This is causing prettydiff to recognize it as JavaScript, thus the beautification is different.  This is why the Travis build is failing (2/16/2018)
Steps to Reproduce

Download Atom Beta 1.25
Uninstall any language packages not included with the core download
Open a file with a .jsx extension
Observe selected grammar/language

Checklist
I have:

[ ] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[X] Reloaded (or restarted) Atom to ensure it is not a caching issue
[X] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[ ] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[ ] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

Looking through packages that make sense to add for proper jsx support.  Might have to adjust prettydiff as well.

Published to v0.32.0


Basic-2 exericse: learners got confused by what we mean with HASH

And tried with literal "HASH" instead of replacing by the commit hash.

This is now less critical as we have changed days 1 and 2 completely. Closing.


Missing CHOICE or SEQUENCE after decoding

When I decode my data I get all key and values correct but without CHOICE and SEQUENCE.
On versions 1.7.0 I get following decoded String
{
"asn": "CHOICE{ggsnPDPRecord: SEQUENCE{recordType: 0, servedIMSI:<PHONE_NUMBER>2042F1, ggsnAddress: CHOICE{iPBinaryAddress: CHOICE{iPBinV4Address: C0A8AC7D}}, chargingID:<PHONE_NUMBER>, sgsnAddress: SEQUENCE OF{CHOICE{iPBinaryAddress: CHOICE{iPBinV4Address: D94F8201}}}, accessPointNameNI: gprs.swisscom.ch, pdpType: 0120, listOfTrafficVolumes: .................
Now on versions 1.9.0 I get following decoded String;
{
"asn": "ggsnPDPRecord: {\n\t\trecordType: 0,\n\t\tservedImsi:<PHONE_NUMBER>2042F1,\n\t\tggsnAddress: iPBinaryAddress: iPBinV4Address: C0A8AC7D,\n\t\tchargingId:<PHONE_NUMBER>,\n\t\tsgsnAddress: {\n\t\t\tiPBinaryAddress: iPBinV4Address: D94F8201\n\t\t},\n\t\taccessPointNameNi: gprs.swisscom.ch,\n\t\tpdpType: 0120,\n\t\tlistOfTrafficVolumes: {\n\t\t\t{\n\t\t\t\tqosRequested: gsmQosInformation:..............
CHOICE and SEQUENCE are missing. Is there an additional step to have the  proper decode?
THX for help

when printing an ASN.1 value structure it is not common to print "CHOICE" or "SEQUENCE" therefore this was corrected in version 1.9.0.


Feature Request: onClose callback

There is currently an onOpen callback - it would be handy if there were an onClose callback as the buttons/components I have maintain state that I'd like to reset between open/close cycles.
How difficult would this be to implement?

I don't think that would be too difficult.
I can now understand a use case for an onClose callback and I received a similar suggestion in #24, so I'm considering building it out.
Thanks for the suggestion. :+1:

+1

+1

There should be an feature to know if swiper is open or not?
Cause if this is already opened then we should prevent our default click from row.
If this is open then on first click this swiper will close and on second click our default functionality should be worked.

Here's a very late update for everyone. I've implemented onClose in my branch dc-redux and it will be available once I release the next major version.

1

+1

+1

+1, any update on when this might be released?

+1

any progress?


Roll Flutter Engine from 06d0c08460e5 to 4129dc7bbd8d (1 revision)

https://github.com/flutter/engine/compare/06d0c08460e5...4129dc7bbd8d
2023-06-20<EMAIL_ADDRESS>Roll Skia from 0b26ffb4efe0 to 9f8b501ca68c (10 revisions) (flutter/engine#43012)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


PATH env being changed randomly

Gentoo Linux KDE5 desktop, atom v1.9.7.
I met a strange issue. atom sometimes reports that it cannot find some base comands.
for example,
Uncaught BufferedProcessError: Failed to spawn command find. Make sure find is installed and on your PATH
and basename,dirname,etc.
When restart atom,  the problem is gone.
Is it the PATH env problem?

Hello, and welcome to the atom core issues. Please fill out the issue template that was provided in the content when you created the issue, as it gives us much more information to go on.

Closing until the requested information is provided.  Thanks @hultberg.

Oh, sorry. This bug belongs to the package atom-gtags.
This package will change PATH env.


FOCUS Export inconsistant vcore information

🐛 Problem
In the Focus Export, where chargeDescription = "sql database singledb/elastic pool hyperscale - compute gen5"  the line item does not provide any indication of the number of vcores attributed to the resource.
in contrast where chargeDescription = "sql database single/elastic pool business critical - compute gen5" then column x_skudetails has a key value pair of "vcores":16.
it appears that the availability of this information is inconsistant based on the SQL tier provisioned in Azure.
👣 Repro steps
TODO: Add repro steps below:

Go to Cost Management and Billing
Export FOCUS 1.0

🤔 Expected
column x_skudetails has a key value pair representing the number of vcores. example: "vcores":16.
🙋♀ Ask for the community

We could use your help:

Please vote this issue up (👍) to prioritize it.
Leave comments to help us solidify the vision.

@arq-shadimalaeb This is controlled by the SQL team. Can you file a support request against SQL for this? The Cost Management team can't fix it and having your direct feedback to the SQL team should help prioritize it.

ok thanks


As a user, I would like the option to set user configurable preferences, for better customizability.

Simple config preferences load/write implemented

User setting file

#162
Log config & UI config


Backport fixes for PyPy (GH-5429)

Backported from #5429

Use _PyEval_GetAsyncGenFinalizer, _PyEval_GetAsyncGenFirstiter on PyPy instead of probing inside the PyThreadState struct

Require a nightly PyPy build for Py3.9 to support async iteration and finalisation.

Avoid PyIter_Next() and call tp_iternext() instead where possible because PyIter_Next() swallows StopIteration exceptions and thus looses the return value.

See https://foss.heptapod.net/pypy/pypy/-/issues/3280
See https://foss.heptapod.net/pypy/pypy/-/issues/3935

It seems skbuild is failing on macOS 2.7.
File "<path>/python2.7/site-packages/skbuild/constants.py", line 41, in _default_skbuild_plat_name
       major_macos, minor_macos = release.split(".")[:2]
   ValueError: need more than 1 value to unpack

This is the old scikit-build as required by line-profiler v3.1.0 (which tag? hmm, maybe the fix_310_wheel branch), which is the last version to support python2.7, in its requirements/build.txt and not the newer scikit-build-core.
They released 4 days ago, maybe something is broken? But when I look at that file line 41 is different and this code appears on line 66.  @henryiii any thoughts?

It's also an old scikit-build, 0.15, as 0.16 and 0.17 don't support 2.7.
How does release not have a .? macOS should always report at least the minor version.

There's no line profiler with that number on PyPI. I think they deleted that release? I'm going to guess it never had wheels. Maybe try again?
I can release fixed to 0.15 if I know that needs fixing.

There's no line profiler with that number on PyPI

I see line-proviler 3.1.0 here. It has wheels only for manylinux1 and manylinux2010.
But back to the problem at hand: at scikit-build version 1.5, consts.py:41 has this code:
release = os.environ.get("MACOSX_DEPLOYMENT_TARGET", release)

And indeed, in the CI actions file, there is
MACOSX_DEPLOYMENT_TARGET: "11"

On master it is "10.15"

This was changed in https://github.com/cython/cython/commit/ba82c22200d6f72f6e05e2ebebc39727892c4f09 for both 3.0.0b3 and 0.29.x. I will try 11.0

CI is passing now (there are some timeouts after 40 minutes).

I think we should probably allow settings like "11", I think that's supported when compiling; from (rather old) macOS source code, it looks like default values were injected if they were missing.
Not sure why 11 is being targeted, though, 10.14 is enough for full C++ support, otherwise 10.9 or 10.10 is fine. Seeing it set to 11 when moving to macOS 11 looks suspicious.

I used target 11 (ok, probably should have used 11.0) to support Arm64. Isn't that needed?

Oh, is it only setting 11 targeting ARM? Yes, 11 is the first supporting ARM, though IIRC it ignores a lower setting so that you can make Universal binaries that support 10.x too. Could be wrong there, but I know we don't have built in fuse support for cibuildwheel yet, so it has support something like this.
Is this distributing binaries or just for testing?

This is in the CI workflow, not the wheel build. The macOS CI build in 0.29.x has generally been unhappy for a while now, but 0.29.x is in boring legacy maintenance mode, so the macOS build setup isn't hugely important any more (to me, that is). If it's easy to fix, fine. If not, that's probably fine, too.

"11.0" should be just fine then. I'll see if I can match the behavior for single digit values better (more permissive or better error message, whichever is closer).

"11.0" should be just fine then.

Cool. That is what I did in this PR.

Does this need anything more?

Thank @mattip


Rename Subcollective to Relatedcollective

This changes SUB_COLLECTIVE to RELATED_COLLECTIVE through a migration script
Related to https://github.com/opencollective/opencollective/issues/3040

Please push directly to this repository next time so E2E tests get triggered.

We're still waiting for feedback on https://github.com/opencollective/opencollective/issues/3040 before we can merge

As per https://github.com/opencollective/opencollective/issues/3040#issuecomment-620533323, let's rather say "Connected collectives".

As per opencollective/opencollective#3040 (comment), let's rather say "Connected collectives".

Done. :smile:

Please push directly to this repository next time so E2E tests get triggered.

@znarf @Betree : I see that the end to end tests are only triggered on push. Just wondering why don't we enable it on pull requests as well? :thinking:

@SudharakaP our E2E CI is relying on a "Matching Branch" functionality that is only possible on push, not on PR events.

@znarf : Got it; so basically if I am understanding correctly, we need to create branches on the repo itself not on the fork correct? In other words clone, instead of forking. :smile:

@SudharakaP could you rebase this PR on master? I think E2e tests are not passing because you're on an older version of the API.

@SudharakaP could you rebase this PR on master? I think E2e tests are not passing because you're on an older version of the API.

Done. Hope that will solve the problem. :thinking:

Done. Hope that will solve the problem.

It did, thanks @SudharakaP :slightly_smiling_face:
Merging & deploying now!

Done. Hope that will solve the problem.

It did, thanks @SudharakaP slightly_smiling_face
Merging & deploying now!

You are welcome :+1:


Convert Enumerable(T) to Slice(T)?

What is the idiomatic way to produce a Slice(T) from an Enumerable(T)? (Alternatively, the best way to clear a Slice(T) and then copy the values from an Enumerable(T) to it.)

The idiomatic way is to use Array and Enumerable#to_a. Slice is closer to being low-level.
If you need a Slice, you can do:
enumerable = 1..10
ary = enumerable.to_a
slice = Slice.new(ary.to_unsafe, ary.size)

Isn't that a little inefficient though? You're creating a new array and copying the elements into it; then you're creating a slice and copying them into that.
Unless the slice simply indexes into the array, without copying?

How would you implement it? You can't know the size of the enumerable in advance. Well, you could ask it first, the allocate a Slice and assign to it, but you'll be iterating the enumerable twice (in the general case). So yes, that's another thing you can do, but it could be slower than the above answer.

The slice is a continuous portion of memory. An Enumerable is not required to be even stored in memory, since it could be generated on the fly. So you need to dump the enumerable in order to have a slice, unless, instead of any enumerable you have other kind of data structure.

Yes, but does the slice actually copy the array, in your example, or merely index into it? Are we performing one copy, or two?

The Slice is built from the array's buffer's pointer and it's size, no memory is allocated: http://crystal-lang.org/api/Slice.html#new(pointer%3APointer(T)%2Csize%3AInt)-class-method

So...a slice is essentially a pointer with bounds checking?

@stugol Exactly

Just triaging – can this be closed?

I'm closing this as https://github.com/crystal-lang/crystal/issues/2037#issuecomment-173290181 is the way to do it, but it's not very useful (array should be used instead).


[flink] Specify restart strategy for SinkSavepointITCase

Purpose
Flink 1.19 uses exponential delay as the default restart strategy. It will make SinkSavepointITCase prone to timeout.
This PR specifies restart strategy for SinkSavepointITCase to fix this issue.
Tests
No test is needed.
API and Format
No changes.
Documentation
Not needed.

+1


[WB-4335] Typing Artifacts Files

https://wandb.atlassian.net/browse/WB-4335
Description
Adds typing to wandb_artifacts.py, interface/artifacts.py and wandb_alerts.py
Testing
How was this PR tested?

getting all unit tests to pass and running regression

TODO: ArtifactManifest Entries are all messed up. Need to rethink the problem

I am running the regression test now to verify everything


SMA PDF plugin crashes when making extract on pdf whose source element has no template

Description
I have a pdf imported. When it opens and I tried to make extract, SMA crashes.
Steps to Reproduce
Tell us how to reproduce this issue.

Import pdf
Make sure element has no template (I checked with ctrl+shift+p)
Make extract
Crash

Fix:

use ctrl+shift+m
Apply any template
Extracts now work

Expected behavior
I can make extracts without having to do anything special
Environment (fill where applicable)

Version:  PDF Plugin: <IP_ADDRESS>, SMA: <IP_ADDRESS>1
Last version that did not exhibit the issue: not sure
SM Version: SM 18.04
OS:  Windows 10 64bit
OS Language: English, American

Moved to the appropriate repository.

I can't reproduce this, are you sure this is due to the template ? I extract from template-less PDF elements all the time in my collection.

I think this is actually due to concepts. When I import something, if pdf is not assigned a concept, it won't make extracts. Once I do assign it one, I have to restart. I'll show you sometime on vc that'll be easier


Docs/tezos

Reprocessed version of Tezos documentation with freshly added querying smart contract functionality

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (85da316) 99.99% compared to head (b31c98d) 99.99%.

:exclamation: Current head b31c98d differs from pull request most recent head cdd9860. Consider uploading reports for the commit cdd9860 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1438   +/-   ##
=======================================
  Coverage   99.99%   99.99%
=======================================
  Files         321      321
  Lines       23105    23105
=======================================
  Hits        23103    23103
  Misses          1        1
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[wxWidgets] Update to v<IP_ADDRESS>

Update wxWidgets from v3.2.1 to v<IP_ADDRESS>

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[X] The "supports" clause reflects platforms that may be fixed by this new version
[X] Any fixed CI baseline entries are removed from that file.
[X] Any patches that are no longer applied are deleted from the port's directory.
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

Please run command ./vcpkg x-add-version wxwidgets --overwrite-version and try again.

All features are tested successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static


Disallow overwriting identifiers in the scope

Currently the following is allowed:
fn main() {
    let x = 4;
    let x = 5;
}

To me this breaks the, immutable by default, ideal of Rust

How so?  You have a binding named 'x' that is 4, and you make a new binding (that happens to be called 'x' too) that is set to 5, it did not change the original x's value of 4, it is still 4, just shadowed at this point (but anything pointing to it after the second binding still gets the original value of 4).

Yes the original value is there and it is shadowed but it is for that reason that I don't think that this should be allowed (in the same context) since using x now has a different value

This is an established and commonly used pattern in the Rust ecosystem, particularly when changing the type of a bit of data:
let x = "5.3";
let x = x.parse::<f32>().unwrap();

Why is that good design for a type strict language?

There are already some clippy lints for this: shadow_reuse, shadow_same and shadow_unrelated.

It avoids needing to make a bunch of different names for the same thing. What are the concrete issues with this approach?

Also it makes it really clear at the second let x that you don't need the original x anymore. So there's some object lifetime information there that you'd otherwise need to encode with scopes or couldn't encode at all.

@sfackler Shadowing makes it possible to accidentally give two distinct values the same name, without realizing. I don't think it's common, but it has happened to me once or twice.

Since so many people think that this is a good thing I will close this proposal


Slight refactoring of diag galytska23/select_variables_for_tigramite.py for generality and portability

Description

@egalytska and myself are trying to refactor galytska23/select_variables_for_tigramite.py diagnostic so it is:

more readable

allows for more variables to be added and handled

Closes #3256

Link to documentation: to be added at final version run

Before you get started

[x] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[x] 🛠 Code is written according to the code quality guidelines
[ ] 🛠 Documentation is available
[ ] 🛠 Tests run successfully
[ ] 🛠 All checks below this pull request were successful

New or updated recipe/diagnostic

[ ] 🧪 Recipe runs successfully
[ ] 🧪 Recipe is well documented
[ ] 🧪 Figure(s) and data look as expected from literature
[ ] 🛠 Provenance information has been added

@egalytska I have slightly refactored the diag, and made some variable names changes (code variables, not actual analysis variables eg "key" -> "dataset" etc - so that the code reads better), so that the thing is more readable, also simplified some functionality, and, more importantly, I pulled all your references to specific variables out of the bellows of code, so that they can be set at a higher level. I have not tested it, but I don't expect it to fail, or to produce different results, since I've kept the functionality as it was before. Note the variables dictionaries at the very top - you can pull those out and make them recipe options now, so you allow contributors to add/remove variables etc. If you are happy with these changes, please take it from here and tune it more :+1:

excellent review work @egalytska :medal_military: Please commit the suggested changes straight to the branch here - me not having run the actual thing was not aware of the subtleties of previous implementation - this way we can still keep the higher degree of generality, and it also works (which is rather important :grin: ) :beer:
Also, I'll leave it up to you how to bring forth those variables and expose them to the API outside the code (if you think that's useful - I reckon so). Let me know if I can help in any way :+1:

hi @egalytska you got a bit of time operate the changes you requested - no worries for time, people are mostly on holidays around this time, will go on hols myself in a couple weeks :beach_umbrella:

Hi @valeriupredoi
I just came back from vacation myself. Planning to fix this next days.

Hi @valeriupredoi , I did several tests to check if the output is the same. All looks good. Should I now go for "Ready for review"?

Many thanks, Evgenia! I will, tomorrow - not too fussed about it since it's most probably Levante acting up, but a test won't hurt :+1:

Hi @valeriupredoi. I am approving this. Though there is an issue: for a few days this diagnostics is incredibly slow for me in Levante. And I am concerned whether its the fault of Levante, my diagnostics, or smth in ESMVAlTool? To be on a safe side, I tested my original diagnostics (before its improvements) and it is now also incredibly slow (which it was not before). So I wanted to ask whether you could do a test run (just with a few models for a short time, and without cvdp), so we could hopefully track down the reason.

Could this be related to the new Dask configuration? recipe_galytska23jgr was run successfully for the release of v2.9 and it took about 2h on a Levante compute node (see this table). Maybe this is one of the recipes for which the default configuration leads to longer runtimes?

OK my minitest is indeed taking for ages, bit it's the same with the latest main - the problem is the preprocessing and not the diagnostic (it didn't even reach diag running) - it seems almost 100% that @remi-kazeroni is correct about the new Dask+iris being the roadblock here, so this can be merged (I would literally eat my hat if the changes we made here did indeed slow down the show). @egalytska when you tested this PR and it ran fast enough for you, do you remember which esmvalcore/iris version did you use? At any rate, I am very happy with this PR (from a technical standpoint, no clue about the science, but that's Evgenia's land) :beer:

So my environment has  ESMValCore v2.9.0 and iris 3.6.0 and I did not update the environment between the "fast" runs and "slow" runs. I think the runs became this slow for me after I pulled the main branch into my local branch. Does it make sense?

Running the recipe with this branch leads to very similar runtime (Time for running the recipe was: 2:05:49.256957), so nothing to worry about. I agree with @valeriupredoi, it's good to see that there is no further performance decrease since v2.9.0 release.
I understand from @egalytska 's comments that the recipe is slower than what it used to be with earlier versions of the Core. But this is part of a larger issue related to the ongoing daskification that has some side-effects in terms of performance...
This PR is ready to be merged imo

brilliant, very many thanks @remi-kazeroni for spending time test it :beer: And many thanks to @egalytska for the work here too :beer:


Determine if/how ESP32 and Web BLE libraries handle packets larger than 512 bytes

BLE only natively supports packets as large as 512 bytes; NanoPB is calculating that the Blaster proto has a max size that exceeds 600 bytes (and I need to add support for independent RPMS for each motor, so it will get larger).
I need to look at the ESP32 library to see if it has any expected way to handle packets that are too large for one method; @ahalekelly can you check how your webBLE handles that?
If it's missing from either or they have incompatible mechanisms, we might need to implement our own version of that

Wow how did it get so big? Does it tell you the size of each field?


Question: mySQL reference

Refer to: https://github.com/bcgov/bcbb-gitops-docs/blob/main/docs/06-helm-chart.md
There is mention of mySQL on this page (and we migrated to postgres for the MFIN-Data-Catalogue implementation). "Noticably the MySQL spec required the following:"
Q: Is there anything related to postgres we need to mention? Can we genericize the content?

Hey @NicoledeGreef so these docs were some rough notes I had as I was doing the initial prototype.
MySQL is still supported by the Helm Chart but the default is now using CrunchyDB Postgres which is provided by the BCGov Platform team
I can update the notes though so it has this and other corrections :)

Resolved this in my updates notes :D


ECSTask - Cannot specify a VPC that is owned by another AWS account

Using ECSTask - If I leave VPC Id configuration out of the infra block, then the tasks will run in the default VPC.
However for a managed VPC - if I set that id, the agent reports the following botocore error:
botocore.errorfactory.InvalidParameterException:
An error occurred (InvalidParameterException) when calling the RunTask operation:
At least one security group must be supplied when specifying subnets that are owned by a different account.

There is no way to configure the secruity group/subnets currently in 2.4.0 - which was possible in prefect 1 through run_task_kwargs
Ideally, I'd like to use the existing VPC by configuring the security group and subnets.

cross-account permissions are generally difficult. I'm curious, why do you need to trigger a run on a different account? do you have an option to execute ECSTask using an IAM user from the same AWS account?
typically, I see AWS accounts being used to separate environments, so I'd expect you would have one account for production and perhaps another for development and the ECS tasks would be triggered by an agent running in the same account

I asked and looks like we'll add patches of run task kwargs allowing you to do that very similarly to 1.0

Just to check, is there a way we can detect the security groups when we inspect the VPC?

No, security groups are independent of VPCs and subnets, users would need to specify it on run_task_kwargs, or we could allow providing this in the same way as we do with launchType:
"networkConfiguration": {
      "awsvpcConfiguration": {
         "assignPublicIp": "string",
         "securityGroups": [ "string" ],
         "subnets": [ "string" ]
      }
   },

Having the ability to set run_task_kwargs would also allow for ephemeral storage on Fargate tasks.  https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-storage.html


Size & VirtualSize missing from distribution manifest config JSON

Since 1.10 and the migration to store local images & layers by content addressable digests, any images pushed to a private registry will no longer have the Size or VirtualSize fields in either the v1Compatability array (manifest schema 2.1) or the separate config JSON (manifest schema 2.2).
Presumably this is because the Size/VirtualSize is now stored on disk in a "size" file locally, instead of in the JSON for each layer. Was the removal of these fields an intended regression?

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

/cc @aaronlehmann @tonistiigi

Yes, we use locally calculated size because in some cases the graphdrivers do not produce same results for that field(and because IDs are checksums of content we can't have changing fields in there). Also, if we would just use a number in the config there would be no way to validate the correctness of it.

@tonistiigi Do you think this should be closed?

@LK4D4 Indeed


Site not loading

Describe the bug
I was going great with this sites for a couple of days but today suddenly in the middle of my coding lesson it started showing me loading symbol and it just continues to show it. And now it has been atleast 3 hours since it is showing me loading
Desktop

OS: Windows 10
-Browser: Chrome

Can you provide more information such as a screenshot of what you are seeing.  What challenge (include url) were you working on when this happened?  Does it happen on the main page or other lessons?

@RandellDawson I am also seeing this. It happens with the learn section of the website. Here is my console log GET https://www.freecodecamp.org/webpack-runtime-4cda38d3762cd23fb48d.js net::ERR_ABORTED 404

It happens with the learn section of the website.

@willmeck Can you answer the same questions I asked the OP?

Tried Edge which works fine, so far just experienced the problem on chrome

Thanks for reporting, chances are its a stale cache. While I am unable to reproduce this myseld, I just purged the file from our CDN.
Can you check again? If the same persists can you toggle the disable cache on Chrome and reload the page again? Like so:

Worked for me on Chrome now

Thanks, it should be a stale cache. Closing.


Update version to 5.5 RC1

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

I changed the URL to maintain the same pattern for RC files as before. I don't think I have been consistent in naming RC tarballs from the looks of it. But let's hope we can maintain this convention from now on.

git@github.com:vijaysm/moab-feedstock.git

@vijaysm, I just merged this but I'm seeing files that got created 16 hours ago:
https://anaconda.org/conda-forge/moab/files
Do you have any idea what happened there?  We might have to bump to build 1 to get new packges.

As near as I can tell, the notempest packages built successfully and got uploaded, perhaps because the feedstock didn't get rerendered properly.  I think we can see if we run into trouble during testing and bump the build number if we have to.

That is weird. Unsure how that happened. I saw that builds with TempestRemap and no MPI had issues, but other variants built fine yesterday. Still shouldn't have ended up creating partials. Yes let's bump the build number.

Okay, well, because I merged this PR before I noticed the problem, we're going to have to make a new PR to bump the build number.


Snap: improve interface management documentation

The current interface management documentation isn't as a how-to, and isn't clean, clear, or as simple as it could be.
This task is to improve this documentation to make it easier to understand, to make it task-oriented and to either remove any superfluous details, or move them to the explanation section:
How-to:
https://snapcraft.io/docs/interface-management
Explanation:
https://snapcraft.io/docs/interfaces
Background
Snaps use plugs and slots to allow access to system resources, but the terminology isn't easy to understand for a general desktop audience. This problem is repeated throughout the snap-related documentation.
Prerequisites
You will need some experience using snaps and working with connections and interfaces.
See also Contribute to our documentation.

Hi @degville — I might be ineterested in taking this on, but i have a couple of questions:

How much snap experience are we talking about here? I've read through the HT and Exp. — am I now sufficeintly informed?
Somewhat related, are you looking at the HT being fleshed out a bit here (i.e. more how to do...s) or is it just a cleaning job (removing the superfluous)?

Thanks

Hello @keith-taylor! Sorry for the long delay getting back to you. I've been away, but I should be a lot more responsive from now. And thanks so much for your interest in this task.

How much snap experience are we talking about here? I've read through the HT and Exp. — am I now sufficeintly informed?

I don't think you need a great deal of experience. I think part of the problem at the moment is that we're assuming too much of our readers and users, and it would actually be really helpful to look at the ideas behind interfaces from an outside perspective - what an interface is isn't immediately obvious, I think, and yet it's fundamental to the access system and confinement that snaps use.

Somewhat related, are you looking at the HT being fleshed out a bit here (i.e. more how to do...s) or is it just a cleaning job (removing the superfluous)?

I'd love to see this fleshed-out, but I wanted to leave the issue ambiguous to help encourage people without too much time. Ideally, it would be wonderful if there were more sensible examples of how to use interfaces (with perhaps a range of different types of snaps such as hardware accessing ones, audio ones, file ones). These are just off the top of my head - if you still want to take this one, just feel free to take it in whatever direction you think may be most useful to readers trying to understand these concepts, and how they may best use interfaces.

@keith-taylor are you still working on this? I'd like to pick it up if you can no longer do it?

I'm happy to let you take this @PhilStollery.

That's really kind of you @keith-taylor. I'll assign this task to you, @PhilStollery. But @keith-taylor, let me know what kind of task you're interested in working on, and we'll create one specifically.

And thanks to @PhilStollery for taking this on!

Thanks @degville for assigning this to me. Should I make a copy of the markdown and add it to this repo for development and reviewing? Or work directly in discourse? My preference would be GitHub.

Hello @PhilStollery. Very happy to do this - I prefer working in GitHub too. I've just imported those two docs with GH-65. Feel free to modify, add or edit whatever you think is necessary.


Difference between realtime res18 and non-realtime res18 model

Hi @ycszen , thank you for providing this great repo. I have a question about the difference between realtime res18 and non-realtime res18 model. As shown in the readme, realtime res18 has 74.8 mIoU, while non-realtime res18 has 76.2 mIoU. I didn't see any difference between these two models, so why is one of them realtime and the other is not?
I searched the issues, and found your answer to this one (https://github.com/ycszen/TorchSeg/issues/24), saying realtime res18 is doing whole evaluation while non-realtime res18 is doing sliding evaluation. This makes sense at first. But when I downloaded these two models, I found their sizes are different, one is 105M, the other is 108M. So the models are actually different, it is not just the evaluation strategy.
So I'm confused here. Could you help to clarify the difference between these two models? Thank you very much.

Real time model needs the resized images as inputs.


Cannot read property '1' of null

Hello, I'm using chartjs in an Electron application which uses color-convert. I get the following error on launch but I haven't figured out why. Was working fine on a previous computer but has been giving me issues since moving over to a new laptop.
Potentially could be associated with node-gyp issues I have also been getting since moving over.
Any help would be appreciated, thanks!

It's most likely another library older version that uses that old version. In my case for example it was<EMAIL_ADDRESS>Fixed after upgrading to 3.3.3.
To see what library versions are used and why, just run npm list.
I also saw this issue seemed to be created when adding custom stuff in Object.prototype.
Either way, it's fixed when upgrading.

Yep. Closing :)


Dispose observables on their parent context

Is your feature request related to a problem? Please describe.
observables where not disposed delegating the work to GC making the app slower howver since now we have a solution #661 it should be possible to do so

https://github.com/dotnet/reactive/issues/1280

Issue is deprioritized as no Assignee found and scheduled for auto-close if no activity in the next 60 days. Thanks a lot for your contribution.

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


uncaught TypeError: Cannot read properties of undefined (reading 'Markmap')

When my mind map grows to a certain extent, download the html, open it in the edge browser and display a blank, and the console displays an error. But the svg file is normal.

Here is the approximate content of the interface

net::ERR_CONNECTION_RESET

It's a network problem, please check your network.


Set TimePicker.Time seconds to zero when UseSeconds is False

What does the pull request do?
Addresses the most significant issue (breaking change) discussed in https://github.com/AvaloniaUI/Avalonia/issues/17024
What is the current behavior?
The seconds component of the Time property is always set to an uncontrolled value when UseSeconds is false.
What is the updated/expected behavior with this PR?
When UseSeconds is false, the Time property has its seconds component set to zero
How was the solution implemented (if it's not obvious)?
N/A
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes
N/A
Obsoletions / Deprecations
N/A
Fixed issues
Fixes part of #17024

Thank you, the change looks reasonable to me.
Can you please add a short unit test for this case?

I had a go at that, and my AV got upset, but I'll try again. May take a bit of time for me to work out how to test it sensibly.

Pushed a couple of simple tests: not sure if they are up to muster; obviously I'm happy to change anything with a bit of direction. Should the TimePickerPresenter have its own tests file?
I had a lot of trouble with the templating the TimePickerPresenter:

Added a couple of TemplatePart declarations to it that seemed to be missing (not sure if they're inherited from somewhere else?)
Changed the order that the ItemFormat and SelectedValue are assigned in InitPicker, as SelectedValue was crashing beforehand
I seemed to have to call pickerPresenter.ApplyTemplate(); inside the TimePicker template, but it still seemed to crash inside ApplyTemplate when I didn't (before the above fix was put in), so I'm just confused what's going on there

Note that the test explicitly invoke the AcceptBtn: the seconds property will be (59/60 times) non-zero before this is pressed. See discussion in #17024; I think this behaviour is the same as 11.1 anyway, so not a breaking change.

Looks like I've broken something, but no idea why (Appium makes my AV unhappy to didn't run those locally). Will take another look in a few hours/tomorrow.

Rebased against master and tests stopped failing; not sure those are related.

Rebased against master and tests stopped failing; not sure those are related.

They aren't related, these specific integration tests are unfortunately flaky, you can ignore them for now. I'm hoping #17259 will help them pass...

Your branch is write protected, can you please merge/rebase from master to trigger the CI again?


Add ability to set priority

Feature Description
Add the ability to set priority level in the elasticsearch.repo file created by the puppet module

Merged as of #666. Is in master and should be a part of next release.


YETUS-737. perms are wrong on user_params.txt

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/2/console in case of problems.

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/3/console in case of problems.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
16
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1
mvninstall
79
master passed

+1
javadoc
10
master passed

_ Patch Compile Tests _

+1
mvninstall
9
the patch passed

+1
hadolint
2
There were no new hadolint issues.

+1
shellcheck
0
There were no new shellcheck issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
javadoc
7
the patch passed

_ Other Tests _

+1
unit
8
precommit in the patch passed.

+1
asflicense
7
The patch does not generate ASF License warnings.

155

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/38

Optional Tests
dupname  asflicense  javac  javadoc  unit  hadolint  shellcheck

uname
Linux 654dfbd496e6 4.4.0-137-generic #163~14.04.1-Ubuntu SMP Mon Sep 24 17:14:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 3a14572

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

shellcheck
v0.4.6

Test Results
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/2/testReport/

Max. process+thread count
90 (vs. ulimit of 2000)

modules
C: precommit U: precommit

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/2/console

Powered by
Apache Yetus 0.9.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
798
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1
mvninstall
80
master passed

+1
javadoc
10
master passed

_ Patch Compile Tests _

+1
mvninstall
9
the patch passed

+1
hadolint
2
There were no new hadolint issues.

+1
shellcheck
0
There were no new shellcheck issues.

+1
shelldocs
2
There were no new shelldocs issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
javadoc
8
the patch passed

_ Other Tests _

+1
unit
8
precommit in the patch passed.

+1
asflicense
8
The patch does not generate ASF License warnings.

940

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/38

Optional Tests
dupname  asflicense  javac  javadoc  unit  hadolint  shellcheck  shelldocs

uname
Linux 104d51a8a908 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 3a14572

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

shellcheck
v0.4.6

Test Results
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/3/testReport/

Max. process+thread count
100 (vs. ulimit of 2000)

modules
C: precommit U: precommit

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/3/console

Powered by
Apache Yetus 0.9.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.

👍

It's not actually working though. :(
-rwxrwxrwx 1 jenkins root 1455 Jan  4 18:49 /testptch/user_params.txt
rm: cannot remove '/testptch/user_params.txt': Permission denied

So I guess I need to change the group too?

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/4/console in case of problems.

Is the docker mount ro?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
21
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1
mvninstall
77
master passed

+1
javadoc
10
master passed

_ Patch Compile Tests _

+1
mvninstall
8
the patch passed

+1
hadolint
2
There were no new hadolint issues.

+1
shellcheck
2
There were no new shellcheck issues.

+1
shelldocs
1
There were no new shelldocs issues.

+1
whitespace
1
The patch has no whitespace issues.

+1
javadoc
8
the patch passed

_ Other Tests _

+1
unit
7
precommit in the patch passed.

+1
asflicense
8
The patch does not generate ASF License warnings.

161

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/4/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/38

Optional Tests
dupname  asflicense  javac  javadoc  unit  hadolint  shellcheck  shelldocs

uname
Linux 0d6a30bfb022 4.4.0-137-generic #163~14.04.1-Ubuntu SMP Mon Sep 24 17:14:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 3a14572

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

shellcheck
v0.4.6

Test Results
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/4/testReport/

Max. process+thread count
89 (vs. ulimit of 2000)

modules
C: precommit U: precommit

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/4/console

Powered by
Apache Yetus 0.9.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.

Is the docker mount ro?

Nope. It's created in the docker build though. I wonder if I need to change the permissions on that dir?

Is /testptch writable by the user? It looks like it gets made by a mkdir -p in the dockerfile

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/5/console in case of problems.

Is /testptch writable by the user? It looks like it gets made by a mkdir -p in the dockerfile

It does.  I'm going to set the ownership of it and everything underneath it to the user.  There's not much reason not to that I can think of.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
15
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1
mvninstall
82
master passed

+1
javadoc
9
master passed

_ Patch Compile Tests _

+1
mvninstall
8
the patch passed

+1
hadolint
1
There were no new hadolint issues.

+1
shellcheck
0
There were no new shellcheck issues.

+1
shelldocs
1
There were no new shelldocs issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
javadoc
8
the patch passed

_ Other Tests _

+1
unit
7
precommit in the patch passed.

+1
asflicense
8
The patch does not generate ASF License warnings.

160

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/5/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/38

Optional Tests
dupname  asflicense  javac  javadoc  unit  hadolint  shellcheck  shelldocs

uname
Linux fecf7a67c3cb 4.4.0-137-generic #163~14.04.1-Ubuntu SMP Mon Sep 24 17:14:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 3a14572

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

shellcheck
v0.4.6

Test Results
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/5/testReport/

Max. process+thread count
90 (vs. ulimit of 2000)

modules
C: precommit U: precommit

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/5/console

Powered by
Apache Yetus 0.9.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.

Hooray! That seems to have worked.  Now let me clean it up...

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/6/console in case of problems.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
15
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-0
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1
mvninstall
81
master passed

+1
javadoc
10
master passed

_ Patch Compile Tests _

+1
mvninstall
9
the patch passed

+1
hadolint
2
There were no new hadolint issues.

+1
shellcheck
0
There were no new shellcheck issues.

+1
shelldocs
2
There were no new shelldocs issues.

+1
whitespace
0
The patch has no whitespace issues.

+1
javadoc
8
the patch passed

_ Other Tests _

+1
unit
8
precommit in the patch passed.

+1
asflicense
8
The patch does not generate ASF License warnings.

159

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/6/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/yetus/pull/38

Optional Tests
dupname  asflicense  javac  javadoc  unit  hadolint  shellcheck  shelldocs

uname
Linux 54ce0cbc0986 4.4.0-137-generic #163~14.04.1-Ubuntu SMP Mon Sep 24 17:14:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
precommit/src/main/shell/personality/yetus.sh

git revision
master / 3a14572

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

shellcheck
v0.4.6

Test Results
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/6/testReport/

Max. process+thread count
92 (vs. ulimit of 2000)

modules
C: precommit U: precommit

Console output
https://builds.apache.org/job/yetus-github-multibranch/job/PR-38/6/console

Powered by
Apache Yetus 0.9.0-SNAPSHOT http://yetus.apache.org

This message was automatically generated.


Introduce a feature-flag to enable/disable lua-based tracing.

This allows us to gradually roll out (or even roll back)
Lua-based tracing in case problems occur.
This should not be merged before we are sure that 2.9.2 is the right CLI version to target, but otherwise this PR can be reviewed already.
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.
[ ] Confirm the changelog has been updated if necessary.

I believe action rolls out new images per repository, so unless they roll back an image mid-rollout, a customer should not see their codeql version jumping back and forth.

If that's the case, that would simplify dealing with these types of PRs.  Do you have a source for this you could internally link me to?

Rebased on top of main to address a conflict.
I'd like to merge this now, as 2.9.2 is indeed the right release. Rolling this out will have to wait once the new CLI is in the toolcache, though.


how

My data is large and i needn't show these points over my polygonal line.
so i set point.show false. however, it can just set opacity:0 for circle label.
are there any other solutions?

I guess this is a mistake.

@kt3k  yes,i hadn't finished  just now.

Hi,
The issue queue is to be used for reporting defects and problems with C3.js, in addition to feature requests and ideas.
It is not a catch-all support forum.
For general support enquiries, please use the Google Group at https://groups.google.com/forum/#!forum/c3js.
All questions involving the interplay between C3.js and any other library (such as AngularJS) should be posted there first!
Thank you!

My data is large and i needn't show these points over my polygonal line.
so i set point.show false. however, it can just set opacity:0 for circle label.
are there any other solutions?

You can set the point-radius to 0.
point: { r: 0 }


Have Express set correct mime types

Express' Response#type-method will set the correct content type based on extension.
Among other things, this allows audio files to be played inline rather than prompting a download:

Fantastic!


Condenses partner header

Condenses partner header to be slightly smaller

#skip_new_tests
#trivial

:rocket: PR was released in v1.18.27 :rocket:


Improve ReActAgent and extract several modules from it

Description
About Exception Handling

Add a exception file _exception.py
Break down exceptions in model calling into different exception classes;
Allow raising runtimes errors to developers and handling response format errors by LLMs.

About Response Parsing

Abstract a parsing module

About ReActAgent

[WIP] decouple the operation involved in this agent
[WIP] adding format error handling in function calling

Others

fix bug in load_model_configs

Checklist
Please check the following items before code is ready to be reviewed.

[x]  Code has passed all tests
[x]  Docstrings have been added/updated in Google Style
[x]  Documentation has been updated
[x]  Code is ready for review

We might want to modify the usage of ServiceFactory in tests/service_factory_test.py, from get to add.
It goes same for the examples in which also used ReActAgent conversation_nl2sql.

We might want to modify the usage of ServiceFactory in tests/service_factory_test.py, from get to add. It goes same for the examples in which also used ReActAgent conversation_nl2sql.

Modified accordingly.


[Feature Request]: allow hiding the window temporarily

Hi, I'm comming over from rnvimr and since I like simplicity and don't need most of the features of it, I like this plugin a lot, but one feature I find missing.
There is no way to hide the ranger window, only to close it. This is often unwanted when, for example, I want to hop between files and have open multiple tabs in ranger, where I operate with the files. rnvimr has this as default behaviour, where to close it you have to explicitly execute :q in ranger.

Hey @JosefLitos, sounds like a cool feature, I will look into how rnvimr does it and if I can easily implement it, I will be happy to add it. I will leave this issue up so I can keep track.
Thanks.


Support for custom tables?

Just ran across this repo, and it looks great for a project I was starting on.  (I'm looking to track our platform usage to build a billing system.)
One question, I was thinking of putting these billable events in a custom table within the Log Workspace.
I read through the code, but I'm not seeing this explicitly supported, or I'm missing it.
Does the current client support custom tables, or would that be something to be added?

Oh, I see.  'logType' is the custom table name (suffixed with _CL).  Now that makes sense.

Hey @kirk-marple . I'm glad got it figured out.
Here's a blog post I made some years back that covers some additional background, in case that helps further: https://zimmergren.net/building-custom-data-collectors-for-azure-log-analytics/
All the best
Tobias


Pop window  issues

Version: 2.2.8 webview clicked pop-up link, no response.
Version: 2.2.6 Normal

Fixed.
Please try the new version 2.2.9


[bug] "Block header bits do not match target" error on blocks 481823 and 709631

How to reproduce:
scarb run integration_tests tests/data/light_481823.json
scarb run integration_tests tests/data/light_709631.json

How to troubleshoot:

Check if the calculated difficulty target matches the expected one (see expected field in the test data json)
If it's not the case then review the target calculation algorithm

See also:

https://learnmeabitcoin.com/technical/block/bits/
https://github.com/bitcoin/bitcoin/blob/f794a0d5f4041eb8beaff7a6f7f2867d9507dc58/src/pow.cpp

When the bug is fixed:

Add unit test that checks for that specific edge case
Remove failing integration test from ignored in the "integration_tests.sh"

@m-kus Can I work on this?

My PR #155 also seems to solve this problem

Fixed by #160


For grins: emacs-ycmd + company-ycmd slightly slower than vim's YouCompleteMe for C++

I and several others at my workplace have been using emacs-ycmd for a while on a large C++ project and everyone seems to be quite happy (including me), so thank you!
For grins, I notice that in a head-to-head, emacs vs. vim setting, a vim installation of YouCompleteMe feels about 50 msec faster to suggest completions for a large class in a large project than emacs installation of emacs-ycmd + company-ycmd.
This is using identical configuration: same terminal, terminal font, ycmd config, and writing the same code. The extra lag only seems to be noticeable when suggesting a large number of semantic completions (e.g., a std::vector):

This is with setting company-idle-delay to a low value (1 ms -- which I normally leave at 100 ms. Again, this is for grins). It's also with setting company-ycmd-request-sync-timeout to 0, which I've found to work best in this particular file I'm using for the comparison.
Has anyone explored this and come up with an explanation for why it's slower?

I don't know of anyone who's looked into it, but it wouldn't shock me if we're slower than we could be. Some quality time with the emacs profiler might turn something up, but I think a critical part of the work would involve de-conflating emacs-ycmd and company (though I suspect company is pretty quick).

Vim does not go through a layer of elisp interpreting, though 50ms sounds quite a bit. Font-locking in Emacs is really slow, works through regular expressions, I don't know how it works in Vim, but it might add up. Also, check how does it compare if you run Emacs in terminal vs in X window as well as if you run standalone process in terminal vs server and terminal client. I guess Emacs and Vim are a bit apples to oranges comparison so it isn't very strange there is difference in performance. However 50 ms is not something to really worry about. That time is not really noticeable for normal use. Your brain thinks at about 80ms so you are still thinking slower than that :-).


Document Functions (DataFrameReader class)

Add a function doc xml block to every public method
Copy the pyspark docs but adopt for .NET such as renaming functions

Hi @GoEddie I would like to help out with the documentation.

Great thanks @lexara-prime-ai  feel free to raise a PR, I am not going to be working on the DataFrameReader for a while

Ok, I'll start working on the documentation right away.


Frozen dataclass raise error with Protocol with read property

Environment data

Language Server version: Pylance v2021.9.2-pre.1
VSCode version: 1.60.0
OS and version: Windows_NT x64 10.22000.184.0
Python version (& distribution if applicable, e.g. Anaconda): Python 3.9.7

Expected behaviour
With a frozen dataclas as:
@dataclass(frozen=True)
class MyDataclass:
    name: str

If I design a Protocol using a property decorator (so read only):
class Named(Protocol):
    @property
    def name(self) -> str:
        ...

PyLance should act as mypy and not raise and error.
And if I use a Protocol with an attribut (so read-write):
class Named(Protocol):
    name: str

PyLance should act as mypy and raise an error.
Actual behaviour
PyLance raise an error on a frozen dataclass with a Protocol using property decorator.
PyLance do not raise an error on a frozen dataclass with a Protocol using attribut.
Code Snippet / Additional information
from __future__ import annotations

from collections.abc import Iterable
from typing import Protocol, TypeVar
from dataclasses import dataclass

class Named(Protocol):
    @property
    def name(self) -> str:
        ...

@dataclass(frozen=True)
class MyDataclass:
    name: str

T = TypeVar("T", bound=Named)

def get_config_from_name(name: str, configs: Iterable[T]) -> T:
    filtered_configs = filter(lambda config: config.name == name, configs)
    config = next(filtered_configs, None)

    if config is None:
        raise LookupError(f"Config doesn't exist for {name}")

    return config

configs = [
    MyDataclass(name="potato")
]
configs = get_config_from_name("potato", configs)  # PyLance Raise Error

Error From PyLance:
Argument of type "list[MyDataclass]" cannot be assigned to parameter "configs" of type "Iterable[T@get_config_from_name]" in function "get_config_from_name"
  TypeVar "_T_co@Iterable" is covariant
    Type "Named" cannot be assigned to type "MyDataclass"

The current behavior is intended.
A property object has semantics that are similar to an attribute, but they are not the same. For this reason, pyright (the type checker upon which pylance is built) does not consider an attribute to be interchangeable with a property. If your protocol specifies a property, a class that conforms to that protocol must also specify a property. If your protocol specifies an attribute, a class that conforms to that protocol must also specify an attribute.
Mypy is "looser" in this respect, but this can lead to type problems. We've chosen to be stricter in this regard.

Mypy is "looser" in this respect, but this can lead to type problems. We've chosen to be stricter in this regard.
Mypy is not exactly just looser.

It's just that a property in a protocol means a read-only attribute for Mypy, and a simple attribute means a read-writable attribute.
The advantage is to be able to specify whether an attribute is writable or not, regardless on whether or not it's a property or attribute.
This means that a frozen dataclass cannot be used with a writable attribute as it would raise an error and also that a function cannot modify a read-only attribute, which is an interesting concept.
To be fair, having a property in a Protocol as well as it's setter is equivalent to a simple attribute, so it is looser in this regards.
Using VSCode for coding and Mypy in the CI pipeline means that code should be compatible with both Pylance/Pyright and Mypy, but read-only protocol attributes with frozen dataclass is one thing that is impossible to reconcile between the two.
I understand the reasoning between keeping simple attributes and property separate, although I disagree. I personally think that it should simply be an implementation detail and using this notation to distinguish between read-only and read-writable attributes is a useful feature.

There are many differences between mypy and pyright. We try to maintain some level of compatibility where it makes sense, but 100% compatibility has never been a goal. I don't think it's feasible to expect that you could see the same type checking results between mypy and pyright.
In this particular case, pyright more thoroughly tracks whether class-scoped symbols are class or instance variables; mypy largely treats them the same. This allows pyright to avoid certain false positives and catch a number of runtime errors that mypy does not detect. But it also means that pyright needs to treat properties differently from attributes. When you access a property from a class, you get back a property object, whereas when you access an attribute from a class, you either get a runtime error or the value of the attribute depending on whether it's an instance or class variable.
I'll give you a sense for the types of errors that mypy does not catch because of this particular design choice. The following piece of code type checks without errors in mypy.
from typing import ClassVar, Protocol, Type

class FooProtocol(Protocol):
    bar1: ClassVar[int]
    bar2: int
    bar3: int

class Foo:
    bar1: ClassVar[int] = 0

    def __init__(self):
        self.bar2: int = 0

    @property
    def bar3(self) -> int:
        return 0

    @bar3.setter
    def bar3(self, val: int) -> None:
        pass

Foo.bar1
Foo.bar2  # pyright reports error, mypy does not, runtime error
Foo.bar3

f1: Type[FooProtocol] = Foo  # pyright reports error, mypy does not

f1.bar2 = 1  # shouldn't be allowed because bar2 is instance variable
f1.bar3 = 1  # shouldn't be allowed because bar3 is not a class property

f2: FooProtocol = Foo()  # pyright reports error, mypy does not

del f2.bar1  # shouldn't be allowed because bar1 is class variable, runtime error
del f2.bar2
del f2.bar3  # shouldn't be allowed because bar3 has no deleter, runtime error

I don't know that it's worth debating this particular design choice. My point is that if your expectation is that pyright (or pylance) will always produce the same type checking results as mypy, I think you're going to be disappointed. We are open to making changes to increase compatibility where it makes sense, but in cases where there are good reasons for the difference in behavior, we're going to be reluctant to make such a change.
If you want to get the same type checking results between VS Code and your CI pipeline, I suggest sticking with the same type checker in both cases. That means one of the following:

Use pylance only for language server features. Set typeCheckingMode to "off" so it emits no type errors. Then enable mypy within the Python extension so it is invoked on file save and its errors are reported in the editor.
Use pylance for type checking and use the CLI version of pyright in your CI pipeline. This is what my team does for our python code base, it it has worked great for us.

If you try either of these approaches, I'd be interested in hearing whether that meets your needs.

I understand more clearly why you say Mypy is very loose regarding Protocols. I would consider those bugs, almost. I do agree that Pyright being more severe in the case of ClassVar is a better approach.
I understand that a property will act different than a normal instance variable when targeting the class. However, it is very frequent to have a class switch from normal attribute to a property when more complex behaviors are added. This was the use-case for property in my mind: changing from attribute to functions without altering Interface. However, with the current Pyright implementation, this is not the case since property and instance variables do not share the same interface. This also makes protocol a lot less useful, since different implementation of the Protocol frequently implement the attribute differently: some with normal attribute, some with property when more complex behavior is needed. An interface is there to prevent breaking change in the future, but different behavior of property prevents that.
One solution that makes sense for me would be to make a normal attribute act the same as a property with setter and deletter on an instance, but be absent on a class. Now, the only difference between them would be with Type[Named] for example. I'm not sure how that could be perfectly solved, sadly. Honestly, I'm not sure you should be touching the property object of a Type[Named]. It seems to me that accessing/modifying a property of a class that is a Type of Protocol is a smell and should not be done, where as being able to specify whether an attribute should be allowed to be written or deleted seems a way more useful feature (to me). An other bonus feature of property are the pydoc that can be added to them and used by IDEs.
To recap, I think normal attributes should act exactly like a read-write-delete property and that property should not be used from a Type[NamedProtocol]. This adds useful features, without removing any real use-case (IMO).
I also don't expect Pyright to stay 100% compatible with Mypy. Then, it would have no reason to exist. Switching fully to Mypy or Pyright/Pylance would be the most logical step. Pylance is very well interated into VSCode and it would be a shame to remove it's type-checking abilities. And mypy for CI is a standard. I'll need to look into this to find the best solution.

I'll add to what @alex007sirois said in that this property vs. attribute problem keeps coming up for me and I'm not sure Pylance's behaviour is ideal. Pyright may be stricter than mypy - which I agree is a good thing, hence why I don't use mypy - but the reality is that the effect of the strictness doesn't match what I, as a human, expect.
I want to be able to express a protocol or abstract base class that allows implementations to provide either an attribute or a property. Maybe I'm just crazy, but this issue comes up all the time when I write Python. It's exacerbated when you take into account dataclasses, which I think are extremely useful, but give no choice of attribute vs. property. It seems like it is impossible to have a nice, safe, type checked solution with Pylance.
What's annoying is that not only does Pylance not recognise that an attribute implements a property interface, but it will give errors if you try to work around the issue. Whichever way you go about it, you get at least 1 error somewhere:
class B1(Protocol):
    foo: int

class I1(B1):
    # Error!
    # "foo" overrides symbol of same name in class "B1"
    #   "property" is incompatible with "int"
    @property
    def foo(self) -> int:
        return 42

class B2(Protocol):
    @property
    def foo(self) -> int:
        raise NotImplementedError()

class I2A(B2):
    def __init__(self) -> None:
        # Error!
        # Cannot assign member "foo" for type "I2A"
        #   Property "foo" has no defined setter
        self.foo = 42

@dataclass(frozen=True)
class I2B(B2):
    # Error!
    # "foo" incorrectly overrides property of same name in class "B2"
    foo: int

class B3(ABC):
    foo: int

class I3(B3):
    # Error!
    # "foo" overrides symbol of same name in class "B3"
    #   "property" is incompatible with "int"
    @property
    def foo(self) -> int:
        return 42

In my opinion, it would be nice if the above code with I2A and I2B were allowed. Maybe there is some technical difference between read-only properties and read-only attributes, but I'd argue in almost all use cases the code is OK.

It looks like you have enabled the strict-mode checks reportIncompatibleMethodOverride and reportIncompatibleVariableOverride. These are not enabled by default in basic type checking mode. They're intended for developers who want stricter checks for conditions that could lead to potential bugs and crashes. If you don't enable these strict-mode checks, you will see only one error in your code sample — specifically in the I2A class. That's clearly a type violation because foo is declared in the base class B2 as being a read-only property.
Mypy produces the same errors as pyright in your code sample.
PEP 544 allows a protocol class to specify a property (with or without a setter), and a class that implements an attribute of the same name should be considered compatible with that protocol. So the following type checks without error in both pyright and mypy.
class Proto1(Protocol):
    @property
    def writable(self) -> int:
        ...

    @writable.setter
    def writable(self, val: int) -> None:
        ...

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

class Class1:
    writable: int
    read_only: int

c1: Proto1 = Class1()

Note that this doesn't work if Class1 derives from Proto1. If Proto1 is included in the base class list for Class1, then the latter is now inheriting the implementation of the former and is subject to any "incompatible override" strict-mode rules that you have enabled.
In your example above, if you change I2B so it doesn't derive from the protocol class, you will not see any incompatible override error.
@dataclass(frozen=True)
class I2B:
    foo: int

i2b: B2 = I2B(2)


[ERROR]  Running on Bungee

If the server uses Bunge, the model will only work on the first server.
Is there any way to solve this problem?

What is your Minecraft version, bungee version and the Minecraft server versions?

Minecraft: 1.12.2
Bungee: lightfall
server: CatServer-1.12.2

DId you install the mod version or the plugin version?
Don't install both.
I tested it with the latest Bungee and Paper servers and it works for me.


add onLocalConnectionChanged, fixes #869

call onLocalConnectionChanged() from WorldEditor
remove promise from EditConnection
call onLCC from EditConnection
remove connection specific events from GraphStore

lgtm


Crash: Invalid type in JSON write (_SwiftValue)

I received some crashes for few users for 2 weeks now. The file where the crash occurs is: ExperimentClient.swift line 482
Here is the stacktrace:
NSInvalidArgumentException: Invalid type in JSON write (__SwiftValue)

0  CoreFoundation +0x9408          ___exceptionPreprocess
1  libobjc.A.dylib +0x15c24        _objc_exception_throw
2  Foundation +0x2c6a4             __writeJSONValue
3  Foundation +0xbb2e4             ____writeJSONObject_block_invoke
4  libswiftCore.dylib +0x2ae5b4    specialized _SwiftDeferredNSDictionary.enumerateKeysAndObjects(options:using:)
5  libswiftCore.dylib +0x9a190     @objc _SwiftDeferredNSDictionary.enumerateKeysAndObjects(options:using:)
6  Foundation +0x265e0             __writeJSONObject
7  Foundation +0xbb2e4             ____writeJSONObject_block_invoke
8  libswiftCore.dylib +0x2ae5b4    specialized _SwiftDeferredNSDictionary.enumerateKeysAndObjects(options:using:)
9  libswiftCore.dylib +0x9a190     @objc _SwiftDeferredNSDictionary.enumerateKeysAndObjects(options:using:)
10 Foundation +0x265e0             __writeJSONObject
11 Foundation +0x4d358             -[_NSJSONWriter dataWithRootObject:options:]
12 Foundation +0x4cdd0             +[NSJSONSerialization dataWithJSONObject:options:error:]
13 Shorts +0x811c60                specialized DefaultExperimentClient.doFetch(user:timeoutMillis:options:completion:) (ExperimentClient.swift:482:56)
14 Shorts +0x80bc20                specialized DefaultExperimentClient.doFetch(user:timeoutMillis:options:completion:) (<compiler-generated>)
15 Shorts +0x80b208                thunk for @escaping @callee_guaranteed @Sendable () -> ()
16 libdispatch.dylib +0x637a4      __dispatch_call_block_and_release
17 libdispatch.dylib +0x6477c      __dispatch_client_callout
18 libdispatch.dylib +0x3f6f8      __dispatch_lane_serial_drain$VARIANT$armv81
19 libdispatch.dylib +0x401ac      __dispatch_lane_invoke$VARIANT$armv81
20 libdispatch.dylib +0x49f10      __dispatch_workloop_worker_thread
21 libsystem_pthread.dylib +0x1bcc __pthread_wqthread
22 libsystem_pthread.dylib +0x171c _start_wqthread

Do you have an idea why I get it?

Hi @MathisDetourbet, many thanks for raising this issue. It seems that there is an error with the JSON serialization of the user object passed into doFetch. It would be useful for us to know what types are contained within this user object.

Thanks for your quick response. What is the best way to collect it? Since it happens to some users in production and I don't know how to reproduce the issue yet.

The best way may be to 1. manually inspect the code that calls doFetch and how the user object is constructed, 2. add logging of the user object upon error. If the SDK is configured to be in debug mode, you should also be able to see the user object from this line.


dynamic height update

Hi, love your work man :)
The problem is that the plugin is not updating when the inner height has changed, it updates on window resize (only?). Can You help me with this?

See version 0.8.0 and updated README for support


The process has no package identity - Error in XAML Islands

Describe the bug
After following exactly this tutorial:
https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/host-custom-control-with-xaml-islands
I get an error 'The process has no package identity. (0x80073D54)'.
This error occurs in the UWP App (Initialize()) that runs with the WPF app.
If I don't add the Microsoft.UI.XAML nuget to the solution, and use standard controls instead it works fine
Steps to reproduce the bug
Create a solution that uses XAML Islands and the Toolkit, as per the Microsoft tutorial above
Expected behavior
I expect the solution to run without issues
Screenshots

Version Info
2.6.0-prerelease.210113001

Windows app type:

UWP
Win32

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop

Xbox

Surface Hub

IoT

Additional context

Any update one this ? It seems that XMAL Islands is now completely broken

OK, seems like Im trying to setup XAML Islands in a WPF app that targets .net 5 - which Ive just read as being unsupported. I will therefore close this issue

Actually, Ive just tried with a WPF app that targets ,Net core 3.1, and the issue is still there

@Austin-Lamb and @JesseCol FYI

Adding @marb2000

@deanchalk can you create a app manifest in your WPF app? The toolchain requires a manifest to adding automatically some attributes.  If this doesn't work, you can follow this guideline:
https://techcommunity.microsoft.com/t5/windows-dev-appconsult/using-xaml-islands-on-windows-10-19h1-fixing-the-quot/ba-p/376330
Let me know of this helps.

Adding an app manifest or a packaging project didn't work, but thanks for the suggestion.
It seems like XAML islands are no longer something that works, as these are all new projects following a Microsoft tutorial - it doesn't get any simpler than that. I need to move onto something else, so ill try again after the next release to see if its been fixed


ui/theme-color: Cannot seem to change the colors in the theme settings

Lapce Version
Nightly - de965555
System information
Fedora 36
Describe the bug
Cannot seem to change the theme color in theme settings
Additional Information

Screenshot

Nothing happens after changing the lapce.border color.

Is this a bug or it is intended.

I was trying to change the black base color to something a little darker and noticed the value does not save when I change it.
My thinking is that its currently displaying the values, but saving or changing them is not yet implemented.
Very excited to use Lapce full time sooner or later, once a few more things are ironed out.

saving or changing them is not yet implemented.

it's implemented

What am I doing wrong? Here is a video of me trying to change the color.
You can see the value has not saved when I reopen the settings:

As the issue says, it's not working currently...

oh sorry when you said it is implemented I took that to mean that it should be working, now I fully understand, thank you.