dns/ddclient/dyndns2: fix the ovh-dyndns as reported in opnsense#3679

This commit fixes the update process for ovh-dyndns - part of the https://github.com/opnsense/plugins/issues/3679

Seeing how finicky dyndns is I would be afraid of adding it unconditionally - what if some provider will get tripped just by a presence of system parameter, regardless of its value? Would be better to add and assign system if it's configured in the UI, but I didn't look into it so much.

Merged, thanks!


[camera][google_maps_flutter][path_provider] prepare for TestDefaultBinaryMessengerBinding.instance becoming non-nullable

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

For https://github.com/flutter/flutter/pull/116937


Refactor neighbors-based metrics to use NeighborsResults

Refactor neighbors-based metrics to use NeighborsResults, making it simpler for users as there is no confusion over passing distances or connectivities. Also reduces overhead of converting back and forth between sparse and dense representations of the neighbor results.
Compute umap-based connectivities in this package instead of scanpy, and make the implementation more efficient
Remove unnecessary vmap in pcr regression
Update notebooks
Drop usage of private scanpy functions. Scanpy can likely be dropped as a dependency in a future release if pca with implicit centering for sparse matrices makes it into sklearn
Bump to 0.5.0

Fixes #109 as lisi always uses the dense (indices, distances) representation for neighbors. The issue arose when the approximate neighbors method gave a distance of zero to non-self cells.

@jan-engelmann  thanks! I will make a release soon


segments as unordered_map and centroidsAsPointCloud within radius

As discussed in #12, this is to make the filtering of duplicates more efficient. Using the unordered_map is indeed much quicker.

This is sooo much quicker that it will get merged right away! :)


Download

Hi, download seems not working now, can you please update script?

The updated script has already been published , click on Check for Updates button and it will be updated

Working! Thank you!


Troubleshooting No Sound without HDMI (headless) -- Hint: check using 'aplay -l'

I was chasing the no sound issue on a RPi 3B.  Initially, with the HDMI monitor connected, I configured /etc/default/raspotify with: OPTIONS="--device hw:0,1" (as in the instructions and another issue) and this appeared to work well.  On reboot without HDMI, no audio.
What I realized is that these IDs change whether HDMI is connected at boot or not.  The trick is to boot the pi in the configuration you plan to use it, then run the command aplay -l to figure out what card and device is assigned to the headphone jack.  In my case it was actually 0,0:
     $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 7/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7

So my configuration worked with OPTIONS="--device hw:0,0"

I am trying to use raspotify with a Focusrite 2i2. It is listing the device as a Subdevice. Have you seen anything like this before? I tried changing my OPTIONS="--device hw:1,0" (see screenshot below). I have also updated the alsa configuration in /usr/share/alsa/alsa.conf to read defaults.ctl.card 0 and defaults.pcm.card 0. Please let me know what you think! Thanks.

Here is the output of the journal command:
raspi_error.txt


FreeRADIUS: "EAP Check TLS Common-Name" Option does not work

Version 	24.7.10_2
Plugin os-freeradius 1.9.26
(I am new user to this specific plugin, I don't know if this error existed in other versions)
Reproduce

Prerequisite: existing and working freeradius EAP TLS config using ca/server/user certs generated via system/trust
Go to /ui/freeradius/eap/index
Enable "Check TLS Common-Name" Option
Click Save
Optional: Test with Radius User configured as EAP TLS, Connection is always accepted no matter if cn matches username
ssh into opnsense shell
vi into /usr/local/etc/raddb/mods-enabled/eap
find line 329 commented out        #        check_cert_cn = %{User-Name}
Toggle/Save "Check TLS Common-Name" Option
Reload /usr/local/etc/raddb/mods-enabled/eap, no effect, line 329 stays commented out

Expected behavior
Option works as expected, GUI toggle reflects in Config File

https://github.com/opnsense/plugins/blob/master/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap#L724-L728
Which loads a new site with:
        # Check the client certificate common name against the supplied User-Name
        #
        if (&User-Name == &TLS-Client-Cert-Common-Name || &User-Name == "host/%{TLS-Client-Cert-Common-Name}") {
                update config {
                        &Auth-Type := Accept
                }
        }
        else {
                update config {
                        &Auth-Type := Reject
                }
        }

Thank you for pointing out how this actually works, the commented out line in config was a red herring to a configuration problem on my side. Solved.


Picked Origin for me.

Are you sure you have the mod installed on the client? You won't get the selection screen if you don't.


How check user role

How check user role in blade template?

First get the logged in user object:
<?php $user = TCG\Voyager\Models\User::find(Auth::user()->id); ?>

Then use it
@if($user->hasRole('admin'))
 ...
@endif

It's works, thank's.


Rowan Updating Rowan

So far it has been difficult to update Rowan using Rowan. It all depends upon what you are doing, but making changes to the run-time environment for Rowan while Rowan is running is problematic since Rowan needs to have a consistent running environment to complete it's job. there are two areas that cause problems:

changes/removal to extension methods in non-Rowan classes
changes/removing behavior used by method that are active on the stack
Rowan can get most of the job done but if the wrong method is changed/removed at a critical point in the process,  kaboom...

The solution seems to be simple ... isolate the Rowan run-time environment from change while while Rowan is being installed ...
My initial thoughts are along the lines of:

when updating Rowan with Rowan, remove all of the classes from the symbol dictionaries in which they reside and turn all extension methods in non-Rowan classes into session methods
In GemStone, "removing all  of the classes from the symbol dictionaries" can be achieved by simple removing the symbol dictionaries from the  symbol list and putting new ones in it's place ... If Rowan religiously uses the single class Rowan to look up classes then this trick of removing all the symbol dictionaries will effectively isolate the run-time Rowan from the installation Rowan ...

In effect an update of Rowan becomes remove Rowan from system and then install new version of Rowan with fresh versions of all classes ... which leads to the final problem of migrating the instances of the isolated classes to the new versions of those classes ...
So it boils down to :

[ ] isolate Rowan run-time when Rowan is updating Rowan

[ ] replace Rowan symbol dictionary in symbol list with an empty dictionary, after grabbing reference to Rowan (from which all other classes are referenced)
[ ] override all non-Rowan extension methods by converting them all to session methods. Then the underlying methods can be replaced without impacting the runtime.

[ ] arrange to migrate the instances of classes (mainly loaded things) that might be legitimately held onto by users ...

[ ] all Rowan classes do not need to be isolated while Rowan is updating Rowan ... The set of critical classes is probably pretty small and are not likely to be classes that should be held onto by users

As preparation for this it seems like it might be a good idea to install Rowan into it's own GemStone user (RowanUser) this has an advantage of it's own that can arrange to make public only those classes that need to be made public ... and perhaps that will be only the Rowan class ... then what happens in Rowan stays in Rowan ...
As of b4ecccd, I've come up with a simpler solution ... I've implemented SymbolDictionary>>_rowanCloneSymbolDictionaryNamed:symbolList: which clones a SymbolDictionary, producing a new symbol dictionary with copies of each of the classes in the original symbol dictionary: including methods, class instance variable and class variable state (passing simple test at the moment)... the copied classes are not in the class history of the original classes and the new symbol dictionary is not intended to be installed in a symbol list.
I have moved all of the classes used during the atomic load of Rowan into a separate symbol dictionary, so that I can clone the RowanLoad symbol dictionary and use the cloned classes to run updates without worrying about having the atomic load of the loader itself interfered with if/when key methods required the the atomic load are changed ...
I expect to invoke the clone technique only when the loader detects that modifications are being made to the loader itself ...
The real test for this will be to add an instance variable to the RwGsPatchSet, since it is the class that is the main driver of the atomic load ...

The Rowan loader can help with solving the problem of isolation ... before initiating the actual load process the loader knows which methods are going to be affected by the load as well as which classes will be affected by the load ... it is at this point that a decision can be made as to which strategy should be used for load ... we could even have a list of protected classes that when changed in any way would trigger the run-time clone process...

... actually the best solution seems to be to install the currently loaded Rowan into a shadow symbolList and use this shadow Rowan to install Rowan ... then if there are migrations needed, they will happen on the installed set of classes ... this approach should be used for bootstrapping Rowan -- the .gs installation is done into the shadow symbolList and the installation is done into the permanent location ...

I've added two branches (issue_test_0 and issue_test_1) where instance variables and a new method were added to RwGsPatchSet, duplicating a load scenario that I had run into a month or so ago see commits on the patch branch. And Rowan is able to update itself loading across instance variable additiona/removal as well as patch method addition/removal by alternating loads of each of those branches ... so the primary set of use case are covered (modulo any bugs, of course).

Re-opening ... RwGsSymbolDictionaryRegistry is tightly coupled to the Loader classes, however, it has live instances that are operated on by loader classes, so copying the class wont' help survive over rough patches  .... it will be necessary to double dispatch the methods in RwGsSymbolDictionaryRegistry to call class-side(?) methods of a class or instance that can be "copied" as part of the RowanLoad symbol dictionary clone ...

Moved all of the RwGsSymbolDictionaryRegistry behavior to RwGsSymbolDictionaryRegistry_Implementation ... tests are up to snuff again ... so will wait and see what other potential load issues crawls out of the woodwork


Update/Add Intel oneAPI HPC Toolkit

Tool name
Intel OneAPI HPC Toolkit Support
Tool license
freeware (no license files required) -- based on EULA
Add or update?

[X] Add
[ ] Update

Desired version
whatever is latest
Approximate size
No response
Brief description of tool
Intel oneAPI HPC Toolkit provides free intel C/C++ and Fortran compilers as well as an implementation of MPI.
URL for tool's homepage
https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html#gs.8h6xqw
Provide a basic test case to validate the tool's functionality.
No response
Virtual environments affected

[ ] Ubuntu 16.04
[ ] Ubuntu 18.04
[X] Ubuntu 20.04
[X] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016
[ ] Windows Server 2019

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

Hello, @gzagaris
Sorry, due to maintenance concerns, we'd rather not to add this tool to the images. Please install it on runtime - https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html


Remove legacy welcome page code

This iteration I'll be removing code for the old style welcome page. It is currently available via the hidden legacy_welcomePage setting of workbench.startupEditor, but based on no feedback seeking options for enabling it I think it is safe to remove entirely.

Assigning bug label for verification. Things to verify: if you open some welcome pages in a version that supports legacy_welcomePage, then upgrade to a version that does not support, is the failover process smooth?


Please fix the release version of 0.7.9

After install this version, I've got 2 errors totally.

Icon module not found issue.
assets/icons/align-left.png ...

List Tool Button not found issue
text-list-button.tsx not found from tool-set.tsx

I have resolved this with following.
Copy the files (assets and text-list-button.tsx) from 0.7.1 version to 0.7.9
So you have to fix this version with containing those file.
Thanks.

hi @LOMFM , I've checked the new release , It work as expected and there is no error. I think it's related to npm cache of your system. both 2 files you mention are no longer needed in the package.

Icons and assets folder are removed and replaced with base64 images (check here).
text-list-button is renamed with list-button, tool-set is not using text-list-button as you may see in here


Laravel 5.8 support

I need this package in a project I'm working on.
Since there's no (yet) support for Laravel 5.8 I decided to make one :)
In this PR I've just bumped package versions. This (+simple fix in a test case) was enough to make the tests pass.
I have to admit that I didn't test this on a real Laravel installation.

merge? <3
or is this not sufficient?

Please merge

@mpociot fixed in 8abfc2a

@mpociot hope you had a great vacation! Just going to ping you on this to merge when you get a chance.


Uncomplete merge fix

Fixing an uncomplete merge in docs
What kind of change does this PR introduce?

Does this PR introduce a breaking change?

Codecov Report

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

@@           Coverage Diff           @@
##           master     #325   +/-   ##
=======================================
  Coverage   87.31%   87.31%
=======================================
  Files          82       82
  Lines         607      607
  Branches      137      137
=======================================
  Hits          530      530
  Misses         77       77

Continue to review full report at Codecov.

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

Glad to help, was only just reading the docs :)

Thanks a lot for contributing!
Based on our community guidelines, every person who has a PR of any kind merged is offered an invitation to the Reakit organization.
Should you accept, you'll get write access to the main repository and a fancy Reakit logo on your GitHub profile. You'll be able to label and close issues, create new branches etc. Make sure to read our contribution and community guidelines, which explains all of this in more detail.
If you have any questions, let me know!


fix pod disruption budget

Checks

[X] I have checked for existing issues.
[X] This report is about the Openmetadata Helm Chart.
[ ] This report is about the Openmetadata Dependencies Helm Chart.

Description
pod disruption budget can only have either maxUnavailable or minAvailable because minAvailable and maxUnavailable are mutually exclusive, it's basically in the K8s docs
Steps to reproduce
just enable podDisruptionBudget in helm values file and you will see the error
Chart Version
1.3.1
App Version
1.3.1
Kubernetes Version
1.25
Helm Version
3.12.0
Relevant Logs
Failed sync attempt to: one or more objects failed to apply, reason: PodDisruptionBudget.policy "openmetadata-poddisruptionbudget" is invalid: spec: Invalid value: policy.PodDisruptionBudgetSpec{MinAvailable:(*intstr.IntOrString)(0xc046c6f5e0), Selector:(*v1.LabelSelector)(0xc046c6f600), MaxUnavailable:(*intstr.IntOrString)(0xc046c6f5c0)}: minAvailable and maxUnavailable cannot be both set .

Custom Helm Values
podDisruptionBudget:
    enabled: true
    config:
      maxUnavailable: "1"
      minAvailable: "1"

Have you joined Openmetadata Slack community?
Yes

Hey @aakashg7  - Thanks for raising this issue. Would you like to contribute here ?

Hey @aakashg7  - As per the official documentation of Kubernetes PodDisruptionBudget, minAvailable and maxUnavailable values are mutually exclusive!

You can specify only one of maxUnavailable and minAvailable in a single PodDisruptionBudget.

Ref - https://kubernetes.io/docs/tasks/run-application/configure-pdb/
Closing this issue!


Add .buggerc support

Maybe consider having some sort of defaults-file (home directory or in project) that can be used to shorten the command being run or alter the defaults. E.g. making --watch default or by default starting without a break point.

Wouldn't an alias be just as good? The amount of options is rather minimal?

Yeah, this was created when it had many more option (multiple ports, support for require hooks for coffee-script entry scripts etc.).


add sesar things script

Example thing rows:

All in all, this looks really great! Nice work @SeanSCao! The only suggestion I have offhand is that I think you want to include the IGSN: prefix in the identifier for the things. That's the way it is done now, and will be helpful to keep doing so, as we also deal with ark: prefixes, and it's good to keep the two separate.

Yes, all identifiers should be absolute, which means the scheme part must be present. The scheme is generally lower case,  technically it is case insensitive, but within a system should be consistent. DataCite indicates the proper form for an IGSN identifier is to use lower case igsn: for the scheme and we should follow that practice.


readOnly

In our page there are several rateYou items. This works perfect.
When one of them should be readonly all rateYo are readonly.
It should be adjustable by each rateYo and not for all.

Hi, you might be paying wrong options, can you share with me the code?
On Dec 17, 2017 05:31, "Forumhulp.com"<EMAIL_ADDRESS>wrote:

In our page there are several rateYou items. This works perfect.
When one of them should be readonly all rateYo are readonly.
It should be adjustable by each rateYo and not for all.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prrashi/rateYo/issues/48, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABIp0v8yTLdcbpAGEjfAanIhvRK1LB3eks5tBFnIgaJpZM4REf3Z
.

Found the problem already, convert the setting to a boolean and then it works.
Issue closed


Clean-up warning due to unused generic type parameter

With the latest version of ClickHouse.jl, we get some ugly warnings due to unused type variables. Could those be removed? Should be a rather easy fix.
 ClickHouse [82f2e89e-b495-11e9-1d9d-fb40d7cf2130]
│  WARNING: method definition for write_col_data at /home/rino/.julia/packages/ClickHouse/j7XeK/src/columns/Nullable.jl:92 declares type variable T but does not use it.
│  WARNING: method definition for insert at /home/rino/.julia/packages/ClickHouse/j7XeK/src/Query.jl:80 declares type variable T but does not use it.
└

Thanks.

I don't really use Julia anymore and the other maintainer, @waralex, hasn't had any activity on GitHub for about a year. I'm still happy to review PRs though.

Fixed in #35


Refer to the actual locator input instead of companion object

The error provided is not useful as it doesn't provide the actual value provided to the factory method.

Codecov Report

Merging #32 into master will not change coverage.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master      #32   +/-   ##
=========================================
  Coverage     28.52%   28.52%
  Complexity       42       42
=========================================
  Files            26       26
  Lines           880      880
  Branches         96       96
=========================================
  Hits            251      251
  Misses          621      621
  Partials          8        8

Impacted Files
Coverage Δ
Complexity Δ

...re/src/main/kotlin/com/pusher/platform/Instance.kt
43.18% <0%> (ø)
5 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Do you have plans for desktop_drag?

Are there plans for implementing desktop dragging of content outside of the window?
Scenario:  I have an app that I need to be able to drag text from the Flutter desktop app to another desktop application that is a drop target; the drop target is a text field in a browser window.
Other drag scenarios could be images as well as text.
I'm doing this in a C# WPF app that I use every day that I'm converting to Flutter.  This is the last feature I've not been able to figure out how to do.
Thank you and have a great day, Karl

Sorry, there is no plan to implement which drag view from flutter to another application.
And Sorry again, We do not accept requests for new plugins from the community at now. If you need a flutter function or some features, please go to the flutter/flutter to submit a request.


C++ inference code for getting inference on the created Engine file for CenterPose

@Arun-George-Zachariah
Hi Arun
My intention is to use C++ for getting inference on the Engine file.
I was wondering that instead of
# Inference with generated TensorRT engine
!tao deploy centerpose inference -e $SPECS_DIR/infer.yaml \
                              inference.trt_engine=$RESULTS_DIR/gen_trt_engine/centerpose_model.engine \
                              results_dir=$RESULTS_DIR/

for centerpose ipynb you may also have a C++ script?
Also, could you please point me to pieces of code that are used for this command?
I can't use TAO on our Jetson and need to use C++.
Thanks for any help
P.S.
When I look at the centerpose.ipynb there is no python code if I look at the tao_pytorch_backend/nvidia_tao_pytorch/cv/centerpose/scripts/inference.py
    elif model_path.endswith('.engine'):
        raise NotImplementedError("TensorRT inference is supported through tao-deploy. "
                                  "Please use tao-deploy to generate TensorRT enigne and run inference.")

I see there is no code for getting an inference while I have access to an Engine file.
I am converting the onnx to engine on my end using our company C++ code.
However, I need to know what is the C++ code for getting inference once I have the Engine file.
We cannot use NVIDIA tao on our backend that we use in NVIDIA Jetson Xavier NX

Hi Mona. You can check out the Isaac ROS inference pipeline for C++ files.
Also, NotImplementedError is because TensorRT engine generation and inference is supported with TAO-Deploy.


Build failed on create-react-app@1 because the published package is not ES5 compliant

When I am importing p-defer in create-react-app@1 (with react-scripts@1.1.4), then run npm run build. I got the following error "Failed to minify the code from this file: p-defer/index.js:2".
The primary reason is because index.js is not ES5-compliant (use of arrow functions). If I modify two "arrow functions" into traditional one, it will pass create-react-app build.
'use strict';
module.exports = function () {
	const ret = {};

	ret.promise = new Promise(function (resolve, reject) {
		ret.resolve = resolve;
		ret.reject = reject;
	});

	return ret;
};

On the other side, create-react-app@2 changed the behavior and it will start building ES6+ files under /node_modules/. So it do not repro in create-react-app@2. But unfortunately, create-react-app@2 was just released in October 1st 2018. I bet there are lots of projects still running under create-react-app@1 and will keep it that way for another 1-2 years.
I am unsure if p-defer should be ES5 or ES6 compliant by default. NPM don't have a strict guideline. So I will leave it open for the contributors to decide how to resolve this issue.
Error from npm run build of react-scripts:
> react-scripts build

Creating an optimized production build...
Failed to compile.

Failed to minify the code from this file:

        ./node_modules/p-defer/index.js:2

Read more here: http://bit.ly/2tRViJ9

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I'm not going to change how I do modules just because of CRA v1. Now that CRA v2 is out, this is a non-issue, so closing this.


Copy / Paste Terminal Content : Ability to use Cmd-C / Cmd-V

OK j'ouvre une issue pour pouvoir faire Cmd-C Cmd-V à la place du clic prolongé pour
2- is it possible to copy paste easier ?
Originally posted by @isontheline in https://github.com/isontheline/pro.webssh.net/discussions/455#discussioncomment-1647039

I can confirm, that an easier way to copy stuff from the terminal would be great. ☺

Will be done by choosing xterm.js as rendering engine instead of hterm

A TestFlight release will be available in a few hours : ability to select / copy / paste from terminal easier (macOS only)

Cannot confirm that the beta works in macOS, but in iOS select and copy is no longer possible at all. Thus this update would break the „Select“ functionality on iPads/iPhones.

@AInteriorB Yes "Copy" on iOS support is tracked here : https://github.com/isontheline/pro.webssh.net/issues/150#issuecomment-1021656119
Should be available soon.
Sorry for the trouble.

iOS text selection improvement will be tracked on #536


[QA] Emote loop has a gap in sound when restarting

Explorer Alpha build versions:

v0.21.0

Issue Description:
When playing an emote with a loop sound in the current client, there is a noticeable gap when the music stops and starts again.
STR:

Launch the explorer.
Play an emote with a loop sound.
Observe the gap in the sound when the music stops and starts again.

Emote URN:
https://decentraland.org/marketplace/contracts/0x77a00c121f25d2bdaa8494448ee98d67a0b40497/items/1
Current behavior:
https://github.com/user-attachments/assets/b2a6fdb6-349d-4c6b-90c6-68f852149942

@Ludmilafantaniella can you add evidence of current expected behavior?


Running LspStop in neovim does not supress warnings.

After a fresh install of the latest version via Mason.nvim The out of the box no no config harperLS does not stop running / displaying hints when I run :LspDisable in nvim. I may be missing something but since harper is a language server I would expect this command to work.

This is a duplicate of #139. Please refer there for updates on this.


Feature Request: Add support for cargo-machete

Hello 👋
Thanks a lot for this awesome librairy and VSCode extension 😊
Would you be open to adding an integration with cargo machete to highlight unused dependencies in toml files?
Downsides:

cargo machete is faillible and has known false positive that can't and won't be fixed. (EG dependencies only used in macros)
=> I think upside of compilation time of not compiling unused deps is worth it.
It might slow down the execution of the extension
=> I think upside of compilation time of not compiling unused deps is worth it.
This project is called Even Better Toml and not Even Better Cargo.toml, this integration might be too rust specifics.

FAQ:

Why cargo machete and not cargo udeps?
Speed :rocket: udeps requires compiling the crate which takes some time and can become cubersome when saving cargo.toml files.
Why integrate it within Even Better Toml and not a custom extension?
Unused dependencies is very small problem and I'm not sure it would be worth the investment to create a extension just for that.
Activate it by default or not?
I think it should be activated by default as developers might not be aware that rustc doesn't warn on unused dependencies (specially since it does so much other things)

Hello

Would you be open to adding an integration with cargo machete to highlight unused dependencies in toml files?

In short, no. Long version, the project currently lacks active maintainers so there wouldn't be anything happening in terms of implementing this.
Another thing is, taplo is a schema linter, it auto-completes and provides highlight towards configuration issues based on the provided schema only.
Implementing separate tool would require re-working how taplo sources and presents information.

Closing since I think it's out of scope for the project


Failure when executing Pod I/O Stress with some VOLUME_MOUNT_PATH input values

What happened:
Experiencing the following helper Pod failures when executing Pod I/O Stress Experiment.
kubectl logs -f pod-io-stress-helper-cwiejs -n <namespace>
W0809 11:12:08.662327   18897 client_config.go:541] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2021-08-09T11:12:08Z" level=info msg="Helper Name: stress-chaos"
time="2021-08-09T11:12:08Z" level=info msg="[PreReq]: Getting the ENV variables"
time="2021-08-09T11:12:08Z" level=info msg="container ID of nginx container, containerID: ac65d9cb42b1c6a911b9b6240d5d140de66501784d35aac30f0afcd37cb528bb"
time="2021-08-09T11:12:08Z" level=info msg="[Info]: Container ID=ac65d9cb42b1c6a911b9b6240d5d140de66501784d35aac30f0afcd37cb528bb has process PID=22936"
time="2021-08-09T11:12:08Z" level=info msg="[Info]: Details of Stressor:" hdd-bytes="50%" Timeout=330 Volume Mount Path=/tmp/sample io=4 hdd=4
time="2021-08-09T11:12:08Z" level=info msg="[Info]: starting process: pause nsutil -t 22936 -p -- stress-ng --timeout 330s --io 4 --hdd 4 --hdd-bytes 50% --temp-path /tmp/sample"
time="2021-08-09T11:12:08Z" level=info msg="[Info]: Sending signal to resume the stress process"
time="2021-08-09T11:12:09Z" level=info msg="[Wait]: Waiting for chaos completion"
time="2021-08-09T11:12:09Z" level=fatal msg="helper pod failed, err: error process exited accidentally%!(EXTRA *exec.ExitError=exit status 1)"

The same command when executed manually inside the Pod container (NGINX in this case) works fine. Please find the attached screenshots to observe the mentioned scenario.

Please see the use sample ChaosEngine.
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
  name: nginx-chaos
  namespace: <namespace>
spec:
  # It can be active/stop
  engineState: 'active'
  appinfo:
    appns: '<namespace>'
    applabel: 'app=nginx'
    appkind: 'deployment'
  chaosServiceAccount: pod-io-stress-sa
  experiments:
    - name: pod-io-stress
      spec:
        components:
          env:
            # set chaos duration (in sec) as desired
            - name: TOTAL_CHAOS_DURATION
              value: '330'

            ## specify the size as percentage of free space on the file system
            - name: FILESYSTEM_UTILIZATION_PERCENTAGE
              value: '50'

             ## provide the cluster runtime
            - name: CONTAINER_RUNTIME
              value: 'containerd'

            # provide the socket file path
            - name: SOCKET_PATH
              value: '/run/containerd/containerd.sock'

             ## percentage of total pods to target
            - name: PODS_AFFECTED_PERC
              value: '100'

            - name: VOLUME_MOUNT_PATH
              value: '/tmp/sample'

Same behavior for me only works running stress-ng directly in the pod, it seems to be a bug in Pod I/O Stress code

I have the same issue here. But I think they won't be able to fix this by using pure golang.
Check out the issue here.
So I have to replace the nsutil with nsexec, which is a tool from the chaos-mesh team. Then build my own go-runner image.
Finally, I got this experiment to work.


[Ubuntu] Set user-related environmental variables and PATH via post deployment script

Description
It turned out that we can't use the $BASH_ENV variable because the values from it can't be overridden by workflow's env block.
This PR introduces another approach in which we set the appropriate variables during the machine provisioning process via a post-generation script.
Related issue:
https://github.com/actions/virtual-environments/issues/2954
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

What about changes from #2826 ?
Right now on my system I get:
/home/ubuntu/$HOME/.config/configstore
/etc/environment contains XDG_CONFIG_HOME=$HOME/.config
Was the rollback intentional ?

@EmFl yes it was because $BASH_ENV causes some issues since updated PATH is not propagated to other shells like pwsh.
Please consider running post-deployment scripts on your system — this one substitutes the values in /etc/environment with the actual username https://github.com/actions/virtual-environments/blob/main/images/linux/post-generation/environment-variables.sh


Batch Processing NIfTI Data with DentalSegmentator: Import, Segment, and Export

Dear Developers,
Thank you for providing such a perfect extension package! I still have the following questions to consult with you:
Currently, I have a series of NIfTI format data, approximately 300 files, that I would like to process in batch as follows:

Import the NIfTI data.
Run DentalSegmentator to obtain the following five segmentations: "Maxilla & Upper Skull," "Mandible," "Upper Teeth," "Lower Teeth," and "Mandibular canal."
Merge the above segmentations and export them in NIfTI and .obj format.

I am curious about how to specifically implement the above steps using your code. Additionally, can the involved steps, such as "import slicer," only be run in the Python environment built into the Slicer software, or can they be executed in other IDEs like VS Code? If so, which libraries need to be installed?
Looking forward to your reply!
Best regards,
Bill-Yang，
<EMAIL_ADDRESS>

Hi @Bill-Yang-1,
To do batch processing, you can instantiate the widget in your code and use it as a component as used in the integration test https://github.com/gaudot/SlicerDentalSegmentator/blob/main/DentalSegmentator/Testing/IntegrationTestCase.py#L31
Your code would look something like this :
# Create the widget
widget = SegmentationWidget()

# Set export formats
selectedFormats = ExportFormat.OBJ | ExportFormat.NIFTI

# Iterate over the files
for f in input_files:
  # Set output folder for input file
  folderPath = ...

  # Load file
  node = slicer.util.loadVolume(f)

  # Set widget input and launch process
  widget.inputSelector.setCurrentNode(node)
  widget.logic.waitForSegmentationFinished()
  slicer.app.processEvents()

  segmentationNode = list(slicer.mrmlScene.GetNodesByClass("vtkMRMLSegmentationNode"))[0]
  # Export segmentation
  exportSegmentation(segmentationNode, folderPath, selectedFormats)

  # Cleanup scene for next batch
  slicer.mrmlScene.RemoveNode(segmentationNode)
  slicer.mrmlScene.RemoveNode(node )

You will probably have to add some logic to handle possible failure cases.
You can also hook the progress information display to a print function (you can have a look at https://github.com/gaudot/SlicerDentalSegmentator/blob/main/DentalSegmentator/DentalSegmentatorLib/SegmentationWidget.py#L570 for the associated logic)
Best,
Thibault

Thank you very much for your quick response. Here is the code I wrote in the Windows environment based on your provided example:
import slicer
from DentalSegmentatorLib import PythonDependencyChecker, SegmentationWidget, ExportFormat
import unittest
from pathlib import Path
import qt
import os
import sys

def load_nii_file(filepath):
    return slicer.util.loadVolume(filepath)

def single_segmentation(filepath):
    print(f'cur_file = {filepath}')

    outputpath = filepath[:filepath.rfind('\\')]
    outputfolder = os.path.join(outputpath, 'segmentation')
    os.makedirs(outputfolder, exist_ok=True)

    widget = SegmentationWidget()
    selectedFormats = ExportFormat.OBJ | ExportFormat.NIFTI

    node = load_nii_file(filepath)

    widget.inputSelector.setCurrentNode(node)
    widget.applyButton.clicked()
    widget.logic.waitForSegmentationFinished()
    slicer.app.processEvents()

    segmentationNode = list(slicer.mrmlScene.GetNodesByClass("vtkMRMLSegmentationNode"))[0]

    segmentation = segmentationNode.GetSegmentation()
    labels = ["Maxilla & Upper Skull", "Mandible", "Upper Teeth", "Lower Teeth", "Mandibular canal"]
    segmentIds = [f"Segment_{i + 1}" for i in range(len(labels))]

    for segmentId, label in zip(segmentIds, labels):
        segment = segmentation.GetSegment(segmentId)
        if segment is None:
            continue
        segment.SetName(label)
        singleSegmentationNode = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLSegmentationNode")
        singleSegmentationNode.SetName(label)
        singleSegmentationNode.GetSegmentation().AddSegment(segment)
        widget.exportSegmentation(singleSegmentationNode, outputfolder, selectedFormats)
        slicer.mrmlScene.RemoveNode(singleSegmentationNode)

    widget.exportSegmentation(segmentationNode, outputfolder, selectedFormats)

    slicer.mrmlScene.RemoveNode(segmentationNode)
    slicer.mrmlScene.RemoveNode(node)
    # print('finished!')

def batch_segmentation(filepath):
    for dirname in os.listdir(filepath):
        pre_filepath = os.path.join(filepath, dirname, 'pre', 'pre_ct.nii.gz')
        single_segmentation(pre_filepath)
        post_filepath = os.path.join(filepath, dirname, 'post', 'post_ct.nii.gz')
        single_segmentation(post_filepath)

filepath = r'F:\3D2CT\datasets\LUCY_CT'
batch_segmentation(filepath)

However, when I run the above code in Slicer's built-in Python console, I encounter the following error:
Failed to load the segmentation.
Check the inference folder content C:\Users\Yangjw\AppData\Local\Temp\Slicer-gcrSYo\output
Failed to load the segmentation.
Check the inference folder content C:\Users\Yangjw\AppData\Local\Temp\Slicer-RmBuWm\output

How can I resolve this issue? Looking forward to your response. Thank you!
Best regards,
Bill-Yang，
<EMAIL_ADDRESS>

@Bill-Yang-1 this error occurs when the segmentation failed on the NNUNet side.
It happens when the inference has finished and indicates that no NIFTI was generated in the output folder set-up by the SlicerNNUNet module.
You should check if you have any information in the progress information and also check if launching the segmentation from the UI on these cases works for you.
To connect the information signals you can connect the following :
widget.logic.progressInfo.connect(<your function>)
widget.logic.errorOccured.connect(<your function>)
widget.logic.inferenceFinished.connect(<your function>)

Note also that you don't need to manually rename the segments. This is already done by the module in the _loadSegmentationResults method which triggers the error.

 I met a smiliar issue and solved it by changing gpu to cpu. I was wondering if you could check this and see if this helps. Thank you.


How should I launch the tool?

When using the WEF command, I can't seem to find it.

Try Running out which network interface you are using by running the following command in your terminal  nmcli device status  or ip link show
Look for the interface that has an IP address and is listed as "UP."
then run   wef -i wlan0  this might be different because ur interface might be different  Example : wlan0, wlan1,eth0 ,eth1,
Example If ur interface is eth0 then run wef -i eth0


First class support for spawning structures of multiple entities that can be linked together.

Objective

Adds first class support for structures of entities/components via 'blueprints' (name subject to change)
Allows spawning 'blueprints' in a way that is consistent with spawning bundles or components.

Solution

Uses a trait EntityBlueprint that can be implemented for any given struct.
struct can be used to hold spawning parameters, or settings for the blueprint
implementing EntityBlueprint requires defining fn build(self, entity: &mut EntityCommands) which is where the structure of the entity and its relations are built.
Added a function spawn_blueprint into the impl Commands that accepts a EntityBlueprint, similar to spawning a bundle or component.

Notes
All of this is very rudimentary and is mainly intended to be a starting point for discussion about not only the method of implementation, but the necessity for one.

Initial discussion of the idea on Discord. This is quite contentious, and we want to have a clear vision for how this fits in with scenes (both on-disk and at compile time).

@rhedgeco, I've started exploring this idea in my Bevy Widget exploration: https://github.com/Weibye/bevy-prot-widgets/pull/17
If you take a look at the PR you can see how this can look like a bit fleshed out, but I think I need to get more complicated examples and structures in place before we can really see the implications on whether this is a good design.

Backlog cleanup: closing due to WIP status and inactivity. Also more recent/current changes such as bsn and required components muddy the waters further here.


Thrown out tossup/bonus needs rework

MODAQ was designed for handling thrown out tossups in the old way, which was that a replacement question would be read at the end. Most tournaments now have a packet of replacement questions, which means that throwing out a question should instead prompt for a replacement question, and then that question is tracked separately.
This needs a lot of design work.

So the flow should look something like this:

User clicks on the X or the menu button to throw out a question
A dialog appears asking the user how they would like to replace the question:

Go to the next available question
Insert a replacement question

There is a button for loading the packet, and a spinner for which question to pick from the packet

One challenge here is handling the case where one team negs on a question, and then a replacement is read. You have to keep both questions around, but MODAQ currently assumes that there is one tossup per question. We have to change the internal state to indicate when a question is just a replacement, which will make the logic more complicated.


Improve anti flicker heuristic

The outline is pretty dumb and simply requests updates when the code changes... That can cause nervous flicker. We should (a) increate the debounce rate and (b) have some kind of heuristics that delays updating the tree when the number of symbols changes drastically from the number of lines.

Would it be possible to let extensions decide when outline view should be refreshed?
For our code outline view in Ionide we refresh the tree only after we got event that current file got parsed (and typechecked) by F# Language Services. And parsing file request are throttled (i.e we send the parse request after user stopped writing for X ms [depending on file size])
I think any baked in heuristics may have assumptions that may not work fine for different language services, and it would be best to delegate refresh control to language specific extensions.

That's always hard because the model is provider based. Tho, a provider can always delay things (be artificially slow). Today, we debounce a little which gives your extension enough time to enqueue parsing. The request for the outline can then be waiting for that request (e.g. the version property of document might come handy here)

I’m not too familiar with a details as I haven’t looked at this part of code base but there are couple of providers that expose refresh event as part of their API - CodeLens and TreeView from top of my head.
And yes, maybe debuncing will work for some cases, but in principle I believe that language extensions/servers has best, most accurate information to decide when refresh should happen.

CodeLens and TreeView from top of my head.

Right, we have it for the CodeLensProvider but it purpose isn't to signal that specific code lenses have changed but to signal that it when from disabled to enabled. The model is still a pull model (which it is whenever something is call XYZProvider) and the idea is that the UI defines the rate at which it asks instead of the other way around. Also, language providers aren't just used by the UI but also by API commands which makes adding state to them harder.

And yes, maybe debuncing will work for some cases, but in principle I believe that language extensions/servers has best, most accurate information to decide when refresh should happen.

 There is not just advantages to that model because extensions can overwhelm the UI with that approach easily and it asks extensions to listen, e.g listen to document changes et al.

most accurate information to decide when refresh should happen

I'd say outline is a simple case because it is driven by the fact that the document changed. We also make sure to send the document change event first and then we ask for things like IntelliSense, code actions, outline etc and that gives extensions a way to pipeline and enqueue requests.

Leaving the heuristic like it is for now and awaiting more feedback


Seamless project reload still pops up the reload dialog

With the latest CPS bits and with the HandlesOwnReload capability added, if I change the project file on disk, the tree updates immediately but I still see the dialog asking me to reload the project.

When I was playing around with this, it's because something is marking the project as dirty - hence the prompt, because we think there's unsaved changes.

This doesn't seem to happen anymore.


MANIFEST.in: Add test.py to sdist

Coverage remained the same at 92.079% when pulling be2ea483d847831d4cd5d11ca6f31e806dde5a37 on jayvdb:patch-1 into b8be7d69119dcceb9a3e0ce64a509415737190ac on un33k:master.

Coverage remained the same at 92.079% when pulling be2ea483d847831d4cd5d11ca6f31e806dde5a37 on jayvdb:patch-1 into b8be7d69119dcceb9a3e0ce64a509415737190ac on un33k:master.

Usure why you want the test file in the final package?

See my explanation at https://github.com/thumbor/thumbor/pull/1179 .
The sdist is the source distribution.
It is the wheel which shouldnt include the extra unnecessary stuff.

Thanks.

Packaging update submitted https://build.opensuse.org/request/show/688522


[vim9script] Regression after fixing constructor argument type checking bug

Steps to reproduce
Patch 9.0.1724 (“vim9class constructor argument type checking bug”) has introduced a regression in one of my Vim 9 libraries. I have a test suite that caught that, but I was able to nail down the issue to the following self-contained script:
vim9script

def ListifyKeys(keys: any): list<list<string>>
  if type(keys) == v:t_string
    return [[keys]]
  endif
  return keys
enddef

class Rel
  this.keys: list<list<string>>

  def new(keys: any)
    const keys_: list<list<string>> = ListifyKeys(keys)
  enddef
endclass

def Test()
  var R = Rel.new('A')
enddef

Test()

This fails with E1013: Argument 1: type mismatch, expected list<list<string>> but got string.
Interestingly, if the this.keys attribute is removed, no error occurs.
Edit: no error occurs if R is created outside the function, either.
Expected behaviour
I would expect the script above to run without errors. That was the case before patch 9.0.1724.
Version of Vim
9.0.1899
Environment
macOS 13.5.1
Apple Terminal
xterm-256color
zsh 5.9
Logs and stack traces
No response

ping @h-east

Hi,
On Sat, Sep 16, 2023 at 1:30 AM Lifepillar @.***>
wrote:

Steps to reproduce
Patch 9.0.1724 (“vim9class constructor argument type checking bug”) has
introduced a regression in one of my Vim 9 libraries. I have a test suite
that caught that
https://github.com/lifepillar/vim-devel/blob/main/start/librelalg/test/test_librelalg.vim,
but I was able to nail down the issue to the following self-contained
script:
vim9script
def ListifyKeys(keys: any): list<list>
if type(keys) == v:t_string
return [[keys]]
endif
return keysenddef
class Rel
this.keys: list<list>
def new(keys: any)
const keys_: list<list> = ListifyKeys(keys)
enddef
endclass
def Test()
var R = Rel.new('A')enddef
Test()
This fails with E1013: Argument 1: type mismatch, expected
list<list> but got string.
Interestingly, if the this.keys attribute is removed, no error occurs.
Expected behaviour
I would expect the script above to run without errors. That was the case
before patch 9.0.1724.
The code currently checks for the type of arguments to the new()
constructor, even if the argument
name does not start with "this".  In the above example, if you rename the
"keys" argument to the
new() function, then you will not see this issue.

The following patch is needed to address this:
diff --git a/src/vim9instr.c b/src/vim9instr.c
index ccec0bcc3..7af478f71 100644
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -1838,9 +1838,13 @@ generate_CALL(
{
class_T *clp = mtype->tt_class;
char_u  *aname = ((char_u **)ufunc->uf_args.ga_data)[i];

              ocmember_T *m = object_member_lookup(clp, aname, 0,

NULL);

              if (m != NULL)

                  expected = m->ocm_type;

              if (STRNCMP(aname, "this.", 5) == 0)

              {

                  aname += 5;

                  ocmember_T *m = object_member_lookup(clp, aname, 0,

NULL);

                  if (m != NULL)

                      expected = m->ocm_type;

              }
          }
      }
      else if (ufunc->uf_va_type == NULL

Some of the existing tests need to be adjusted for this change.
Regards,
Yegappan

Hi, Rough investigation and test code creation has been completed.
Please wait a few hours as I will issue a PR.
By the way, even in the case of object member, aname does not include "this.".

The code currently checks for the type of arguments to the new() constructor, even if the argument name does not start with "this".  In the above example, if you rename the "keys" argument to the new() function, then you will not see this issue.

Right, that works. I also confirm that the proposed patch fixes the issue. Thanks a lot!

so, do we need to fix it or are you fine with the current behaviour?

With Yegappan's patch, it looks like the following tests and existing tests are not passing.
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index 1796f5f72..5b32a2337 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -766,6 +766,27 @@ def Test_class_new_with_object_member()
       Check()
   END
   v9.CheckSourceFailure(lines, 'E1013:')
+
+  lines =<< trim END
+      vim9script
+
+      class C
+        this.str: string
+        def new(str: any)
+        enddef
+      endclass
+
+      def Check()
+        try
+          var c = C.new(1)
+        catch
+          assert_report($'Unexpected exception was caught: {v:exception}')
+        endtry
+      enddef
+
+      Check()
+  END
+  v9.CheckSourceSuccess(lines)
 enddef

 def Test_class_object_member_inits()

$ make test_vim9_class
Found errors in Test_class_new_with_object_member():
command line..script /home/h_east/samba/github/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_class_new_with_object_member[51]..<SNR>9_CheckSourceFailure[4]..script :source buffer=123[18]..function <SNR>133_Check line 4: Unexpected exception was caught: Vim:E1012: Type mismatch; expected string but got number
command line..script /home/h_east/samba/github/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_class_new_with_object_member[51]..<SNR>9_CheckSourceFailure line 4: ['vim9script', '', 'class C', '  this.str: string', '  this.num: number', '  def new(this.str, this.num)', '  enddef', 'endclass', '', 'def Check()', '  try', '    var c = C.new(1, 2)', '  catch', '    assert_report($''Unexpected exception was caught: {v:exception}'')', '  endtry', 'enddef', '', 'Check()']: Expected 'E1013:' but got '[unknown]': ['vim9script', '', 'class C', '  this.str: string', '  this.num: number', '  def new(this.str, this.num)', '  enddef', 'endclass', '', 'def Check()', '  try', '    var c = C.new(1, 2)', '  catch', '    assert_report($''Unexpected exception was caught: {v:exception}'')', '  endtry', 'enddef', '', 'Check()']
command line..script /home/h_east/samba/github/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_class_new_with_object_member[73]..<SNR>9_CheckSourceFailure[4]..script :source buffer=124[18]..function <SNR>134_Check line 4: Unexpected exception was caught: Vim:E1012: Type mismatch; expected number but got string
command line..script /home/h_east/samba/github/vim/src/testdir/runtest.vim[601]..function RunTheTest[54]..Test_class_new_with_object_member[73]..<SNR>9_CheckSourceFailure line 4: ['vim9script', '', 'class C', '  this.str: string', '  this.num: number', '  def newVals(this.str, this.num)', '  enddef', 'endclass', '', 'def Check()', '  try', '    var c = C.newVals(''dogs'', ''apes'')', '  catch', '    assert_report($''Unexpected exception was caught: {v:exception}'')', '  endtry', 'enddef', '', 'Check()']: Expected 'E1013:' but got '[unknown]': ['vim9script', '', 'class C', '  this.str: string', '  this.num: number', '  def newVals(this.str, this.num)', '  enddef', 'endclass', '', 'def Check()', '  try', '    var c = C.newVals(''dogs'', ''apes'')', '  catch', '    assert_report($''Unexpected exception was caught: {v:exception}'')', '  endtry', 'enddef', '', 'Check()']
make[1]: *** [Makefile:70: test_vim9_class] Error 1
make[1]: Leaving directory '/home/h_east/samba/github/vim/src/testdir'
make: *** [Makefile:2253: test_vim9_class] Error 2

Something has to be fixed. There is currently different behavior between :def and script level. And depending on the type specified for the new(arg: some_type) it works or doesn't work. See test below. IIUC, with Yegappan's patch things work as documented, for example :hellp vim9-simple-class shows this.lnum = lnum in the constructor.
vim9script

class A
    this.val1: number = 1
    this.valstring: string

    def new(val1: any)      # <<<<< Change type to string and things work.
        this.valstring = val1
    enddef
endclass

var o1 = A.new('bar')       # <<<<< This works.
echo o1.valstring

def F()
    var o = A.new('baz')    # <<<<< This fails compilation.
    echo o.valstring
enddef

F()

@errael
Thanks for the advice.
I see the fix points of the patch.

PR modification has been completed.
Ready to review.


[Enhancement] Way to setup config from stdin and/or file

As an improvement to integrate with the Slurm charms, we need to have a way to set multiple configurations using either input or a file. This should make it really easy to bulk-modify a lot of settings without having to call snap set slurm for each one of the modified setting.

I'm going to close this one out. We discussed over Mattermost that snap set ... enables us to set multiple configs at once so that we don't have to call snap set slurm ... one-by-one for each configuration we want to update:
$ snap set slurm config.value1=... config.value2=... config.value3=... ...

I think it could potentially be an interesting discussion for us to add the ability to export your configuration from one snap to and import into another, but I think the charmed operators and snap get -d enable us to do this pretty easily right now for our needs, so I think this discussion should happen later down the line and potentially in a separate issue.


[EventRequest] Table 18 Customer - OnShowContactBeforeOpenPage

Please add a new event publisher to the procedure ShowContact like so:
    procedure ShowContact()
    .
    .
    .
            Cont.FilterGroup(2);
            Cont.SetRange("Company No.", ContBusRel."Contact No.");
            if Cont.IsEmpty then begin
                Cont.SetRange("Company No.");
                Cont.SetRange("No.", ContBusRel."Contact No.");
            end;
            // >> Start new publisher call
            OnShowContactBeforeOpenPage(Rec, Cont, ContBusRel);
            // << End new publisher call
            PAGE.Run(PAGE::"Contact List", Cont);
        end;
    end

New integration event:
    [IntegrationEvent(false,false)]
    local procedure OnShowContactBeforeOpenPage(var Rec: Record Customer; var Cont: Record Contact; ContBusRel: Record "Contact Business Relation")
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Refactor tag validation code.

This commit splits tag validation into separate methods for handling tag keys
and values, since keys and values may need different restrictions on their input
Strings.  There should be no change in behavior.
/cc @dinooliva

Codecov Report

Merging #514 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #514      +/-   ##
============================================
+ Coverage     91.22%   91.22%   +<.01%
- Complexity      584      587       +3
============================================
  Files           112      112
  Lines          2347     2348       +1
  Branches        207      207
============================================
+ Hits           2141     2142       +1
  Misses          152      152
  Partials         54       54

Impacted Files
Coverage Δ
Complexity Δ

...c/main/java/io/opencensus/internal/StringUtil.java
93.75% <ø> (-0.37%)
11 <0> (-3)

core/src/main/java/io/opencensus/tags/TagKey.java
100% <100%> (ø)
4 <3> (+3)
:arrow_up:

...c/main/java/io/opencensus/tags/TagValueString.java
100% <100%> (ø)
5 <4> (+3)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks!

do tag values need to be constrained to ascii? I understand it is easier to
validate, but this won't suit chinese values for example


README says filtering is supported, but I don't see where

The Data section of README.md says "Client-side filtering and pagination is built in".   I see the pagination, but no signs of filters. Can you point me to how I might enable filtering?  Or perhaps more likely the README needs to be edited?
Thanks for the nice package.

Good point.  Filtering in the sense you are thinking of is not supported (meaning, there is no built-in UI to filter).  This is unfortunate, and I have thought about including a UI to do this, but at the moment I can't think of a way to do this without making some heavy assumptions.
The way I currently achieve this is by creating my own UI, either inside the table with header or cell renders, or outside the table, that filters my raw data before passing it to the table.  In a nutshell, I simply use a text box that filters my data using https://github.com/kentcdodds/match-sorter as I type. Nothing crazy
If you're looking for a more out-of-the-box solution, maybe we can discuss it and come up with something simple that would work easily for everyone.
Regardless of what we do, I would accept a PR to remove filtering and from the README for now until we actually support it out of the box. :)

Fixed by replacing filtering with sorting :)


Fixes #106 - Updates tests

Hey @ajsampang67, @allen-ziegenfus, I've updated the hook tests from https://github.com/liferay/liferay-themes-sdk/pull/105 and resent here to see if CI is happier now.
@ajsampang67, I've reworded your commit to match our contributing guidelines.
I'm not sure why we used to have a *.xml.processed file. Based on the tests, I'd assume at some point we were later moving the processed file back to the default one... @pat270 or @natecavanaugh might remember better... 🤔

I'm merging for now. I plan to review https://github.com/liferay/liferay-themes-sdk/pull/96 and then cut the rc.1 release with all the pending fixes including this one. Most likely tomorrow :)
Thanks!


Naming consistency: getForeignKey vs getForeignKeyName

Laravel Version: 5.4.15
PHP Version: 7.0.8

Description:
294c006288ee182eeddf3c6deb23a35032a9219d renamed getForeignKey, a public method on HasOneOrMany relations, to getForeignKeyName. Eloquent\Model still has a getForeignKey method. Should one or both of these methods be renamed for consistency?

That's a method on a Relation while the other is on a Model class, I don't think we should care about unifying names between two different classes, more over that would be a breaking change that'll require very caution upgrade steps.
Closing this since it's not a bug, however feel free to open that on laravel/internals as it's the place we keep suggestions and feature requests.


replace dockerfile ENTRYPOINT by CMD

Hello,
This commit just replaces ENTRYPOINT by CMD in the Dockerfile in order to be able to overwrite it if needed.

Thanks for this. I was able to test out overriding the command like so:
docker run --rm -it mendhak/http-https-echo sh
docker run --rm -it mendhak/http-https-echo ash
docker run --rm -it mendhak/http-https-echo node --version

And the normal container running works too. 👍

Latest version of the image is up on Dockerhub.

yes, it's very convenient, especially if you have to wait for another container in a docker-compose (for example)
Thanks for the merge ! ;)


Added I18n translations for pt-PT locale

Can you add it here instead?
https://github.com/sferik/rails_admin/wiki/Translations
Thanks a lot for sharing!


Wrong description for action get-password

Expected behavior
A general description and comments regarding the action get-password.
Actual behavior

The description of set-password instead get-password.

Good catch! Thanks for reporting that, @goulinkh! https://github.com/canonical/postgresql-k8s-operator/pull/605 is fixing it.

Revisions 344 and 345 contain the fix.


REL: set version to 1.8.0.dev0

Don't merge until 1.7.0 release notes update has been finalized/merged & we have branched maintenance/1.7.x.

Ok, release notes merged and I've pushed the maintenance branch.
The Windows-specific CI failures are strange, but I'm going to merge this regardless since this shouldn't really have platform-specific deleterious effects...
2021-05-27T05:14:06.5886344Z   Building wheel for scipy (PEP 517): finished with status 'done'
2021-05-27T05:14:06.7072155Z   Created wheel for scipy: filename=scipy-1.8.0.dev0_.1833e8e-cp37-cp37m-win_amd64.whl size=33611782 sha256=bbba0c4d4a641099d939f5e63c93204a0057b4025b6da4b30725286551f55e43
2021-05-27T05:14:06.7073711Z   Stored in directory: C:\Users\VSSADM~1\AppData\Local\Temp\pip-ephem-wheel-cache-emd5u_2j\wheels\ab\d6\d3\43d300a6071326ace16aad002d166549bd5ba4bd8647fcad25
2021-05-27T05:14:06.7196184Z   WARNING: Built wheel for scipy is invalid: Metadata 1.2 mandates PEP 440 version, but '1.8.0.dev0-.1833e8e' is not
2021-05-27T05:14:06.7197962Z Failed to build scipy
2021-05-27T05:14:06.7201492Z ERROR: Failed to build one or more wheels
2021-05-27T05:14:06.7349162Z Exception information:

cc @rgommers for that issue maybe

I'll look into it, '1.8.0.dev0-.1833e8e' is indeed not a valid version string. I have an idea about what caused it.

Isn't it because there is no other commit on the branch, so the increment number is empty?

Actually caused because there is no tag for v1.7.0:
out = _minimal_ext_cmd(['git', 'rev-list', 'HEAD', prev_version_tag,
                        '--count'])
# fatal: bad revision '^v1.7.0'

Actually caused because there is no tag for v1.7.0:
out = _minimal_ext_cmd(['git', 'rev-list', 'HEAD', prev_version_tag,
                        '--count'])
# fatal: bad revision '^v1.7.0'

So out=b'' in this case.


asset.maxAge not applied with fallthrough: true

https://github.com/unjs/nitro/blob/b0f08c1c3b1b9e530c0ff9731aba399fd8ada0c3/src/nitro.ts#L85-L95
Looks like when fallthrough: true, a publicAsset's maxAge property is not applied, so no cache-control headers are added.
Is there a way to go around this. I need fallthrough: true because I want to server the /public dir at / base. But imagine i want a route rule too apply to all the public assets at /**, (but not the cases which fallthrough to a lower handlet). Is this not possible right now?

As I can see, it uses defu to apply defaults to provided routeRules. You can still pass in your own routeRules with the required headers. See: https://nitro.unjs.io/guide/routing#route-rules

please provide a minimal reproduction 🙏🏼

I think the easiest way is to explicitly add routeRules entries for asset path cache headers.  (nitro cannot safely assume to apply headers to paths that can fallback to other handlers)


Better solution for i18n docs

Since the docs are not English only anymore we should come up with a better way of handling this, the way it is now is far from ideal.

I prefer vuepress, but it is not stable enough.

@Thomaash   I made a security upgradeand a server upgrade, can you update the new Chinese address?
new link

Hi @aimeiyijia,
please, don't pollute issues with unrelated comments. It makes it difficult to track what has been done already and what still has to be done. If you have something new, open a new issue.
Thanks.


Allow hosting startup failures to be detected somehow

Duplicate of https://github.com/aspnet/Hosting/issues/1151.
This has already been fixed for generic host (Start just throws). I doubt we'll make the breaking change required to web host, but for 3.0 we're rebuilding web host on top of generic host so it would inherit this change.


Enable to fix nodes

The linting check is currently failing. The unit tests and coverage check also need to pass.

The linting check is currently failing. The unit tests and coverage check also need to pass.

Probably because you must fix at least one node..

I fixed the linting check, but there are failing unit tests.

I merged https://github.com/JeffLIrion/python-graphslam/pull/25/files instead.


Perform MD5 checksum of binaries within Dockerfiles

What do you all think of performing checksum from within the Dockerfiles?
One of the common issues we have is people not downloading the tar.gz correctly, and then attempting a manual docker build.
Most sets of Dockerfiles already come with the MD5 anyways. So we could potentially have this as a common practice.

Sounds good to me.

I don't have anything against it although I cannot confirm that experience. For Oracle Database they always use buildDockerImage.sh, probably because I force them to as I also print out docker info, etc. :) But by all means, fine by me.

We use sha256 for the JDK rather than MD5 but I guess you meant "perform a checksum" in general rather than "using MD5!" in particular.
If so.. sounds like a good idea.

I am all for it!